diff --git a/.dependency-cruiser.cjs b/.dependency-cruiser.cjs
new file mode 100644
index 00000000000..25f7b64ce85
--- /dev/null
+++ b/.dependency-cruiser.cjs
@@ -0,0 +1,384 @@
+/** @type {import('dependency-cruiser').IConfiguration} */
+module.exports = {
+ forbidden: [
+ {
+ name: 'no-circular-at-runtime',
+ severity: 'warn',
+ comment:
+ 'This dependency is part of a circular relationship. You might want to revise ' +
+ 'your solution (i.e. use dependency inversion, make sure the modules have a single responsibility) ',
+ from: {},
+ to: {
+ circular: true,
+ viaOnly: {
+ dependencyTypesNot: [
+ 'type-only'
+ ]
+ }
+ }
+ },
+ {
+ name: 'no-orphans',
+ comment:
+ "This is an orphan module - it's likely not used (anymore?). Either use it or " +
+ "remove it. If it's logical this module is an orphan (i.e. it's a config file), " +
+ "add an exception for it in your dependency-cruiser configuration. By default " +
+ "this rule does not scrutinize dot-files (e.g. .eslintrc.js), TypeScript declaration " +
+ "files (.d.ts), tsconfig.json and some of the babel and webpack configs.",
+ severity: 'warn',
+ from: {
+ orphan: true,
+ pathNot: [
+ '(^|/)[.][^/]+[.](?:js|cjs|mjs|ts|cts|mts|json)$', // dot files
+ '[.]d[.]ts$', // TypeScript declaration files
+ '(^|/)tsconfig[.]json$', // TypeScript config
+ '(^|/)(?:babel|webpack)[.]config[.](?:js|cjs|mjs|ts|cts|mts|json)$' // other configs
+ ]
+ },
+ to: {},
+ },
+ {
+ name: 'no-deprecated-core',
+ comment:
+ 'A module depends on a node core module that has been deprecated. Find an alternative - these are ' +
+ "bound to exist - node doesn't deprecate lightly.",
+ severity: 'warn',
+ from: {},
+ to: {
+ dependencyTypes: [
+ 'core'
+ ],
+ path: [
+ '^v8/tools/codemap$',
+ '^v8/tools/consarray$',
+ '^v8/tools/csvparser$',
+ '^v8/tools/logreader$',
+ '^v8/tools/profile_view$',
+ '^v8/tools/profile$',
+ '^v8/tools/SourceMap$',
+ '^v8/tools/splaytree$',
+ '^v8/tools/tickprocessor-driver$',
+ '^v8/tools/tickprocessor$',
+ '^node-inspect/lib/_inspect$',
+ '^node-inspect/lib/internal/inspect_client$',
+ '^node-inspect/lib/internal/inspect_repl$',
+ '^async_hooks$',
+ '^punycode$',
+ '^domain$',
+ '^constants$',
+ '^sys$',
+ '^_linklist$',
+ '^_stream_wrap$'
+ ],
+ }
+ },
+ {
+ name: 'not-to-deprecated',
+ comment:
+ 'This module uses a (version of an) npm module that has been deprecated. Either upgrade to a later ' +
+ 'version of that module, or find an alternative. Deprecated modules are a security risk.',
+ severity: 'warn',
+ from: {},
+ to: {
+ dependencyTypes: [
+ 'deprecated'
+ ]
+ }
+ },
+ {
+ name: 'no-non-package-json',
+ severity: 'error',
+ comment:
+ "This module depends on an npm package that isn't in the 'dependencies' section of your package.json. " +
+ "That's problematic as the package either (1) won't be available on live (2 - worse) will be " +
+ "available on live with an non-guaranteed version. Fix it by adding the package to the dependencies " +
+ "in your package.json.",
+ from: {},
+ to: {
+ dependencyTypes: [
+ 'npm-no-pkg',
+ 'npm-unknown'
+ ]
+ }
+ },
+ {
+ name: 'not-to-unresolvable',
+ comment:
+ "This module depends on a module that cannot be found ('resolved to disk'). If it's an npm " +
+ 'module: add it to your package.json. In all other cases you likely already know what to do.',
+ severity: 'error',
+ from: {},
+ to: {
+ couldNotResolve: true
+ }
+ },
+ {
+ name: 'no-duplicate-dep-types',
+ comment:
+ "Likely this module depends on an external ('npm') package that occurs more than once " +
+ "in your package.json i.e. bot as a devDependencies and in dependencies. This will cause " +
+ "maintenance problems later on.",
+ severity: 'warn',
+ from: {},
+ to: {
+ moreThanOneDependencyType: true,
+ // as it's pretty common to have a type import be a type only import
+ // _and_ (e.g.) a devDependency - don't consider type-only dependency
+ // types for this rule
+ dependencyTypesNot: ["type-only"]
+ }
+ },
+
+ /* rules you might want to tweak for your specific situation: */
+
+ {
+ name: 'not-to-spec',
+ comment:
+ 'This module depends on a spec (test) file. The sole responsibility of a spec file is to test code. ' +
+ "If there's something in a spec that's of use to other modules, it doesn't have that single " +
+ 'responsibility anymore. Factor it out into (e.g.) a separate utility/ helper or a mock.',
+ severity: 'error',
+ from: {},
+ to: {
+ path: '[.](?:spec|test)[.](?:js|mjs|cjs|jsx|ts|mts|cts|tsx)$'
+ }
+ },
+ {
+ name: 'not-to-dev-dep',
+ severity: 'error',
+ comment:
+ "This module depends on an npm package from the 'devDependencies' section of your " +
+ 'package.json. It looks like something that ships to production, though. To prevent problems ' +
+ "with npm packages that aren't there on production declare it (only!) in the 'dependencies'" +
+ 'section of your package.json. If this module is development only - add it to the ' +
+ 'from.pathNot re of the not-to-dev-dep rule in the dependency-cruiser configuration',
+ from: {
+ path: '^(src)',
+ pathNot: [
+ '[.](?:spec|test|setup|script)[.](?:js|mjs|cjs|jsx|ts|mts|cts|tsx)$',
+ 'src/test'
+ ]
+ },
+ to: {
+ dependencyTypes: [
+ 'npm-dev',
+ ],
+ // type only dependencies are not a problem as they don't end up in the
+ // production code or are ignored by the runtime.
+ dependencyTypesNot: [
+ 'type-only'
+ ],
+ pathNot: [
+ 'node_modules/@types/'
+ ]
+ }
+ },
+ {
+ name: 'optional-deps-used',
+ severity: 'info',
+ comment:
+ "This module depends on an npm package that is declared as an optional dependency " +
+ "in your package.json. As this makes sense in limited situations only, it's flagged here. " +
+ "If you're using an optional dependency here by design - add an exception to your" +
+ "dependency-cruiser configuration.",
+ from: {},
+ to: {
+ dependencyTypes: [
+ 'npm-optional'
+ ]
+ }
+ },
+ {
+ name: 'peer-deps-used',
+ comment:
+ "This module depends on an npm package that is declared as a peer dependency " +
+ "in your package.json. This makes sense if your package is e.g. a plugin, but in " +
+ "other cases - maybe not so much. If the use of a peer dependency is intentional " +
+ "add an exception to your dependency-cruiser configuration.",
+ severity: 'warn',
+ from: {},
+ to: {
+ dependencyTypes: [
+ 'npm-peer'
+ ]
+ }
+ }
+ ],
+ options: {
+
+ /* Which modules not to follow further when encountered */
+ doNotFollow: {
+ /* path: an array of regular expressions in strings to match against */
+ path: ['node_modules']
+ },
+
+ /* Which modules to exclude */
+ // exclude : {
+ // /* path: an array of regular expressions in strings to match against */
+ // path: '',
+ // },
+
+ /* Which modules to exclusively include (array of regular expressions in strings)
+ dependency-cruiser will skip everything not matching this pattern
+ */
+ // includeOnly : [''],
+
+ /* List of module systems to cruise.
+ When left out dependency-cruiser will fall back to the list of _all_
+ module systems it knows of. It's the default because it's the safe option
+ It might come at a performance penalty, though.
+ moduleSystems: ['amd', 'cjs', 'es6', 'tsd']
+
+ As in practice only commonjs ('cjs') and ecmascript modules ('es6')
+ are widely used, you can limit the moduleSystems to those.
+ */
+
+ // moduleSystems: ['cjs', 'es6'],
+
+ /* prefix for links in html and svg output (e.g. 'https://github.com/you/yourrepo/blob/main/'
+ to open it on your online repo or `vscode://file/${process.cwd()}/` to
+ open it in visual studio code),
+ */
+ // prefix: `vscode://file/${process.cwd()}/`,
+
+ /* false (the default): ignore dependencies that only exist before typescript-to-javascript compilation
+ true: also detect dependencies that only exist before typescript-to-javascript compilation
+ "specify": for each dependency identify whether it only exists before compilation or also after
+ */
+ // tsPreCompilationDeps: false,
+
+ /* list of extensions to scan that aren't javascript or compile-to-javascript.
+ Empty by default. Only put extensions in here that you want to take into
+ account that are _not_ parsable.
+ */
+ // extraExtensionsToScan: [".json", ".jpg", ".png", ".svg", ".webp"],
+
+ /* if true combines the package.jsons found from the module up to the base
+ folder the cruise is initiated from. Useful for how (some) mono-repos
+ manage dependencies & dependency definitions.
+ */
+ // combinedDependencies: false,
+
+ /* if true leave symlinks untouched, otherwise use the realpath */
+ // preserveSymlinks: false,
+
+ /* TypeScript project file ('tsconfig.json') to use for
+ (1) compilation and
+ (2) resolution (e.g. with the paths property)
+
+ The (optional) fileName attribute specifies which file to take (relative to
+ dependency-cruiser's current working directory). When not provided
+ defaults to './tsconfig.json'.
+ */
+ tsConfig: {
+ fileName: 'tsconfig.json'
+ },
+
+ /* Webpack configuration to use to get resolve options from.
+
+ The (optional) fileName attribute specifies which file to take (relative
+ to dependency-cruiser's current working directory. When not provided defaults
+ to './webpack.conf.js'.
+
+ The (optional) `env` and `arguments` attributes contain the parameters
+ to be passed if your webpack config is a function and takes them (see
+ webpack documentation for details)
+ */
+ // webpackConfig: {
+ // fileName: 'webpack.config.js',
+ // env: {},
+ // arguments: {}
+ // },
+
+ /* Babel config ('.babelrc', '.babelrc.json', '.babelrc.json5', ...) to use
+ for compilation
+ */
+ // babelConfig: {
+ // fileName: '.babelrc',
+ // },
+
+ /* List of strings you have in use in addition to cjs/ es6 requires
+ & imports to declare module dependencies. Use this e.g. if you've
+ re-declared require, use a require-wrapper or use window.require as
+ a hack.
+ */
+ // exoticRequireStrings: [],
+
+ /* options to pass on to enhanced-resolve, the package dependency-cruiser
+ uses to resolve module references to disk. The values below should be
+ suitable for most situations
+
+ If you use webpack: you can also set these in webpack.conf.js. The set
+ there will override the ones specified here.
+ */
+ enhancedResolveOptions: {
+ /* What to consider as an 'exports' field in package.jsons */
+ exportsFields: ["exports"],
+ /* List of conditions to check for in the exports field.
+ Only works when the 'exportsFields' array is non-empty.
+ */
+ conditionNames: ["import", "require", "node", "default", "types"],
+ /*
+ The extensions, by default are the same as the ones dependency-cruiser
+ can access (run `npx depcruise --info` to see which ones that are in
+ _your_ environment). If that list is larger than you need you can pass
+ the extensions you actually use (e.g. [".js", ".jsx"]). This can speed
+ up module resolution, which is the most expensive step.
+ */
+ // extensions: [".js", ".jsx", ".ts", ".tsx", ".d.ts"],
+ /* What to consider a 'main' field in package.json */
+ mainFields: ["module", "main", "types", "typings"],
+ /*
+ A list of alias fields in package.jsons
+ See [this specification](https://github.com/defunctzombie/package-browser-field-spec) and
+ the webpack [resolve.alias](https://webpack.js.org/configuration/resolve/#resolvealiasfields)
+ documentation
+
+ Defaults to an empty array (= don't use alias fields).
+ */
+ // aliasFields: ["browser"],
+ },
+ reporterOptions: {
+ dot: {
+ /* pattern of modules that can be consolidated in the detailed
+ graphical dependency graph. The default pattern in this configuration
+ collapses everything in node_modules to one folder deep so you see
+ the external modules, but their innards.
+ */
+ collapsePattern: 'node_modules/(?:@[^/]+/[^/]+|[^/]+)',
+
+ /* Options to tweak the appearance of your graph.See
+ https://github.com/sverweij/dependency-cruiser/blob/main/doc/options-reference.md#reporteroptions
+ for details and some examples. If you don't specify a theme
+ dependency-cruiser falls back to a built-in one.
+ */
+ // theme: {
+ // graph: {
+ // /* splines: "ortho" gives straight lines, but is slow on big graphs
+ // splines: "true" gives bezier curves (fast, not as nice as ortho)
+ // */
+ // splines: "true"
+ // },
+ // }
+ },
+ archi: {
+ /* pattern of modules that can be consolidated in the high level
+ graphical dependency graph. If you use the high level graphical
+ dependency graph reporter (`archi`) you probably want to tweak
+ this collapsePattern to your situation.
+ */
+ collapsePattern: '^(?:packages|src|lib(s?)|app(s?)|bin|test(s?)|spec(s?))/[^/]+|node_modules/(?:@[^/]+/[^/]+|[^/]+)',
+
+ /* Options to tweak the appearance of your graph. If you don't specify a
+ theme for 'archi' dependency-cruiser will use the one specified in the
+ dot section above and otherwise use the default one.
+ */
+ // theme: { },
+ },
+ "text": {
+ "highlightFocused": true
+ },
+ }
+ }
+};
+// generated: dependency-cruiser@16.3.3 on 2024-06-13T23:26:36.169Z
diff --git a/.env b/.env
index 86feafaa143..6ac42ba97b4 100644
--- a/.env
+++ b/.env
@@ -1,2 +1,3 @@
VITE_BYPASS_LOGIN=0
-VITE_BYPASS_TUTORIAL=0
\ No newline at end of file
+VITE_BYPASS_TUTORIAL=0
+VITE_SERVER_URL=http://localhost:8001
\ No newline at end of file
diff --git a/.env.beta b/.env.beta
new file mode 100644
index 00000000000..8d1e93b3277
--- /dev/null
+++ b/.env.beta
@@ -0,0 +1,3 @@
+VITE_BYPASS_LOGIN=0
+VITE_BYPASS_TUTORIAL=0
+VITE_SERVER_URL=https://api.beta.pokerogue.net
\ No newline at end of file
diff --git a/.env.development b/.env.development
index 88dcdce619c..e9180f0875d 100644
--- a/.env.development
+++ b/.env.development
@@ -1,2 +1,3 @@
VITE_BYPASS_LOGIN=1
-VITE_BYPASS_TUTORIAL=0
\ No newline at end of file
+VITE_BYPASS_TUTORIAL=0
+VITE_SERVER_URL=http://localhost:8001
\ No newline at end of file
diff --git a/.env.production b/.env.production
new file mode 100644
index 00000000000..74818d41a12
--- /dev/null
+++ b/.env.production
@@ -0,0 +1,3 @@
+VITE_BYPASS_LOGIN=0
+VITE_BYPASS_TUTORIAL=0
+VITE_SERVER_URL=https://api.pokerogue.net
\ No newline at end of file
diff --git a/.github/workflows/deploy-beta.yml b/.github/workflows/deploy-beta.yml
new file mode 100644
index 00000000000..d954d9bb865
--- /dev/null
+++ b/.github/workflows/deploy-beta.yml
@@ -0,0 +1,33 @@
+name: Deploy Beta
+
+on:
+ push: {}
+ pull_request: {}
+
+jobs:
+ deploy:
+ if: github.repository == 'pagefaultgames/pokerogue'
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version: "20"
+ - name: Install dependencies
+ run: npm ci
+ - name: Build
+ run: npm run build:beta
+ env:
+ NODE_ENV: production
+ - name: Set up SSH
+ if: github.event_name == 'push' && github.ref_name == github.event.repository.default_branch
+ run: |
+ mkdir ~/.ssh
+ echo "${{ secrets.BETA_SSH_PUBLIC_KEY }}" > ~/.ssh/id_ed25519.pub
+ echo "${{ secrets.BETA_SSH_PRIVATE_KEY }}" > ~/.ssh/id_ed25519
+ chmod 600 ~/.ssh/*
+ ssh-keyscan -H ${{ secrets.BETA_SSH_HOST }} >> ~/.ssh/known_hosts
+ - name: Deploy build on server
+ if: github.event_name == 'push' && github.ref_name == github.event.repository.default_branch
+ run: |
+ rsync --del --no-times --checksum -vrm dist/* ${{ secrets.BETA_SSH_USER }}@${{ secrets.BETA_SSH_HOST }}:${{ secrets.BETA_DESTINATION_DIR }}
\ No newline at end of file
diff --git a/.github/workflows/github-pages.yml b/.github/workflows/github-pages.yml
index aa63792bbea..ce52e8d9772 100644
--- a/.github/workflows/github-pages.yml
+++ b/.github/workflows/github-pages.yml
@@ -47,7 +47,6 @@ jobs:
run: |
cd pokerogue_docs
npm ci
- npm install typedoc --save-dev
- name: Generate Typedoc docs
working-directory: ${{env.api-dir}}
diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml
new file mode 100644
index 00000000000..c1c32a95cd6
--- /dev/null
+++ b/.github/workflows/tests.yml
@@ -0,0 +1,31 @@
+name: Tests
+
+on:
+ # Trigger the workflow on push or pull request,
+ # but only for the main branch
+ push:
+ branches:
+ - main # Trigger on push events to the main branch
+ pull_request:
+ branches:
+ - main # Trigger on pull request events targeting the main branch
+
+jobs:
+ run-tests: # Define a job named "run-tests"
+ name: Run tests # Human-readable name for the job
+ runs-on: ubuntu-latest # Specify the latest Ubuntu runner for the job
+
+ steps:
+ - name: Check out Git repository # Step to check out the repository
+ uses: actions/checkout@v4 # Use the checkout action version 4
+
+ - name: Set up Node.js # Step to set up Node.js environment
+ uses: actions/setup-node@v4 # Use the setup-node action version 4
+ with:
+ node-version: 20 # Specify Node.js version 20
+
+ - name: Install Node.js dependencies # Step to install Node.js dependencies
+ run: npm ci # Use 'npm ci' to install dependencies
+
+ - name: tests # Step to run tests
+ run: npm run test:silent
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index 1b1bc0743c3..0ae49fe9e1c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -34,7 +34,9 @@ src/data/battle-anim-data.ts
src/overrides.ts
coverage
+/.vs
# Local Documentation
/typedoc
+/dependency-graph.svg
\ No newline at end of file
diff --git a/README.md b/README.md
index 9e88163f2d7..d1b46e630bf 100644
--- a/README.md
+++ b/README.md
@@ -46,8 +46,15 @@ Check out [Github Issues](https://github.com/pagefaultgames/pokerogue/issues) to
- Keisuke Ito
- Arata Iiyoshi
- Atsuhiro Ishizuna
+ - Pokémon HeartGold/SoulSilver
- Pokémon Black/White 2
- - Firel (Custom Metropolis and Laboratory biome music)
+ - Pokémon X/Y
+ - Pokémon Omega Ruby/Alpha Sapphire
+ - Pokémon Sun/Moon
+ - Pokémon Ultra Sun/Ultra Moon
+ - Pokémon Sword/Shield
+ - Pokémon Scarlet/Violet
+ - Firel (Custom Laboratory, Metropolis, Seabed, and Space biome music)
- Lmz (Custom Jungle biome music)
### 🎵 Sound Effects
diff --git a/dependency-graph.js b/dependency-graph.js
new file mode 100644
index 00000000000..627aa3dcf13
--- /dev/null
+++ b/dependency-graph.js
@@ -0,0 +1,13 @@
+import { Graphviz } from "@hpcc-js/wasm/graphviz";
+
+const graphviz = await Graphviz.load();
+
+const inputFile = [];
+for await (const chunk of process.stdin) {
+ inputFile.push(chunk);
+}
+
+const file = Buffer.concat(inputFile).toString("utf-8");
+
+const svg = graphviz.dot(file, "svg");
+process.stdout.write(svg);
\ No newline at end of file
diff --git a/index.css b/index.css
index 9ca2cd60dff..30e7c63d954 100644
--- a/index.css
+++ b/index.css
@@ -31,6 +31,11 @@ body {
transform-origin: top !important;
}
+/* Need adjust input font-size */
+input {
+ font-size: 3.2rem;
+}
+
#touchControls:not(.visible) {
display: none;
}
@@ -146,13 +151,13 @@ body {
margin-left: 10%;
}
-#touchControls:not([data-ui-mode='STARTER_SELECT']):not([data-ui-mode='SETTINGS']):not([data-ui-mode='SETTINGS_ACCESSIBILITY']):not([data-ui-mode='SETTINGS_GAMEPAD']):not([data-ui-mode='SETTINGS_KEYBOARD']) #apad .apadRectBtnContainer > .apadSqBtn,
-#touchControls:not([data-ui-mode='STARTER_SELECT']):not([data-ui-mode='SETTINGS']):not([data-ui-mode='SETTINGS_ACCESSIBILITY']):not([data-ui-mode='SETTINGS_GAMEPAD']):not([data-ui-mode='SETTINGS_KEYBOARD']) #apad .apadSqBtnContainer
+#touchControls:not([data-ui-mode='STARTER_SELECT']):not([data-ui-mode='SETTINGS']):not([data-ui-mode='SETTINGS_DISPLAY']):not([data-ui-mode='SETTINGS_AUDIO']):not([data-ui-mode='SETTINGS_GAMEPAD']):not([data-ui-mode='SETTINGS_KEYBOARD']) #apad .apadRectBtnContainer > .apadSqBtn:not(.apadBattle),
+#touchControls:not([data-ui-mode='STARTER_SELECT']):not([data-ui-mode='SETTINGS']):not([data-ui-mode='SETTINGS_DISPLAY']):not([data-ui-mode='SETTINGS_AUDIO']):not([data-ui-mode='SETTINGS_GAMEPAD']):not([data-ui-mode='SETTINGS_KEYBOARD']) #apad .apadSqBtnContainer > .apadSqBtn:not(.apadBattle)
{
display: none;
}
-#touchControls:not([data-ui-mode='COMMAND']):not([data-ui-mode='FIGHT']):not([data-ui-mode='BALL']):not([data-ui-mode='TARGET_SELECT']) #apad .apadBattle {
+#touchControls:not([data-ui-mode='COMMAND']):not([data-ui-mode='FIGHT']):not([data-ui-mode='BALL']):not([data-ui-mode='TARGET_SELECT']):not([data-ui-mode='MODIFIER_SELECT']) #apad .apadBattle {
display: none;
}
@@ -243,4 +248,4 @@ input:-internal-autofill-selected {
-webkit-animation: blink normal 4s infinite ease-in-out; /* Webkit */
-ms-animation: blink normal 4s infinite ease-in-out; /* IE */
animation: blink normal 4s infinite ease-in-out; /* Opera and prob css3 final iteration */
-}
\ No newline at end of file
+}
diff --git a/index.html b/index.html
index b2e8bf3ec0f..3722bdd3422 100644
--- a/index.html
+++ b/index.html
@@ -4,12 +4,24 @@
PokéRogue
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/package-lock.json b/package-lock.json
index 8c625694f02..638a173d7e2 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -8,8 +8,11 @@
"name": "pokemon-rogue-battle",
"version": "1.0.4",
"dependencies": {
+ "@hpcc-js/wasm": "^2.16.2",
"@material/material-color-utilities": "^0.2.7",
+ "@types/jsdom": "^21.1.7",
"crypto-js": "^4.2.0",
+ "dependency-cruiser": "^16.3.3",
"i18next": "^23.11.1",
"i18next-browser-languagedetector": "^7.2.1",
"i18next-korean-postposition-processor": "^1.0.0",
@@ -37,6 +40,7 @@
"typescript-eslint": "^7.10.0",
"vite": "^4.5.0",
"vite-plugin-fs": "^0.4.4",
+ "vite-tsconfig-paths": "^4.3.2",
"vitest": "^1.4.0",
"vitest-canvas-mock": "^0.3.3"
},
@@ -814,6 +818,17 @@
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
}
},
+ "node_modules/@hpcc-js/wasm": {
+ "version": "2.16.2",
+ "resolved": "https://registry.npmjs.org/@hpcc-js/wasm/-/wasm-2.16.2.tgz",
+ "integrity": "sha512-THiidUMYR8/cIfFT3MVcWuRE7bQKh295nrFBxGvUNc4Nq8e2uU1LtiplHs7AUkJ0GxgvZoR+8TQ1/E3Qb/uE2g==",
+ "dependencies": {
+ "yargs": "17.7.2"
+ },
+ "bin": {
+ "dot-wasm": "bin/dot-wasm.js"
+ }
+ },
"node_modules/@humanwhocodes/config-array": {
"version": "0.11.14",
"resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz",
@@ -1176,6 +1191,16 @@
"integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==",
"dev": true
},
+ "node_modules/@types/jsdom": {
+ "version": "21.1.7",
+ "resolved": "https://registry.npmjs.org/@types/jsdom/-/jsdom-21.1.7.tgz",
+ "integrity": "sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA==",
+ "dependencies": {
+ "@types/node": "*",
+ "@types/tough-cookie": "*",
+ "parse5": "^7.0.0"
+ }
+ },
"node_modules/@types/json5": {
"version": "0.0.29",
"resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz",
@@ -1186,11 +1211,15 @@
"version": "20.12.13",
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.13.tgz",
"integrity": "sha512-gBGeanV41c1L171rR7wjbMiEpEI/l5XFQdLLfhr/REwpgDy/4U8y89+i8kRiLzDyZdOkXh+cRaTetUnCYutoXA==",
- "dev": true,
"dependencies": {
"undici-types": "~5.26.4"
}
},
+ "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=="
+ },
"node_modules/@typescript-eslint/eslint-plugin": {
"version": "7.10.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.10.0.tgz",
@@ -1602,7 +1631,6 @@
"version": "8.11.3",
"resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz",
"integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==",
- "dev": true,
"bin": {
"acorn": "bin/acorn"
},
@@ -1614,16 +1642,30 @@
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
"integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
- "dev": true,
"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=="
+ },
+ "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==",
+ "dependencies": {
+ "acorn": "^8.11.0"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
"node_modules/acorn-walk": {
"version": "8.3.2",
"resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz",
"integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==",
- "dev": true,
"engines": {
"node": ">=0.4.0"
}
@@ -1660,7 +1702,6 @@
"version": "5.0.1",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
"integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
- "dev": true,
"engines": {
"node": ">=8"
}
@@ -2021,6 +2062,19 @@
"node": ">=4"
}
},
+ "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==",
+ "dependencies": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.1",
+ "wrap-ansi": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
"node_modules/co": {
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
@@ -2070,6 +2124,14 @@
"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==",
+ "engines": {
+ "node": ">=18"
+ }
+ },
"node_modules/concat-map": {
"version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
@@ -2363,6 +2425,155 @@
"node": ">= 0.8"
}
},
+ "node_modules/dependency-cruiser": {
+ "version": "16.3.3",
+ "resolved": "https://registry.npmjs.org/dependency-cruiser/-/dependency-cruiser-16.3.3.tgz",
+ "integrity": "sha512-+YHPbd6RqM1nLUUbRVkbYO6mVeeq+VEL+bBkR+KFkYVU20vs1D0TalZ9z/hDLxiYiYCSTctUaoWWaUrRc1I+mw==",
+ "dependencies": {
+ "acorn": "8.11.3",
+ "acorn-jsx": "5.3.2",
+ "acorn-jsx-walk": "2.0.0",
+ "acorn-loose": "8.4.0",
+ "acorn-walk": "8.3.2",
+ "ajv": "8.16.0",
+ "chalk": "5.3.0",
+ "commander": "12.1.0",
+ "enhanced-resolve": "5.17.0",
+ "figures": "6.1.0",
+ "ignore": "5.3.1",
+ "indent-string": "5.0.0",
+ "interpret": "^3.1.1",
+ "is-installed-globally": "1.0.0",
+ "json5": "2.2.3",
+ "lodash": "4.17.21",
+ "memoize": "10.0.0",
+ "picomatch": "4.0.2",
+ "prompts": "2.4.2",
+ "rechoir": "^0.8.0",
+ "safe-regex": "2.1.1",
+ "semver": "^7.6.2",
+ "semver-try-require": "7.0.0",
+ "teamcity-service-messages": "0.1.14",
+ "tsconfig-paths-webpack-plugin": "4.1.0",
+ "watskeburt": "4.0.2",
+ "wrap-ansi": "9.0.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/dependency-cruiser/node_modules/ajv": {
+ "version": "8.16.0",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.16.0.tgz",
+ "integrity": "sha512-F0twR8U1ZU67JIEtekUcLkXkoO5mMMmgGD8sK/xUFzJ805jxHQl92hImFAqqXMyMYjSPOyUPAwHYhB72g5sTXw==",
+ "dependencies": {
+ "fast-deep-equal": "^3.1.3",
+ "json-schema-traverse": "^1.0.0",
+ "require-from-string": "^2.0.2",
+ "uri-js": "^4.4.1"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/dependency-cruiser/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==",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-regex?sponsor=1"
+ }
+ },
+ "node_modules/dependency-cruiser/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==",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/dependency-cruiser/node_modules/chalk": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz",
+ "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==",
+ "engines": {
+ "node": "^12.17.0 || ^14.13 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/dependency-cruiser/node_modules/emoji-regex": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz",
+ "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw=="
+ },
+ "node_modules/dependency-cruiser/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=="
+ },
+ "node_modules/dependency-cruiser/node_modules/string-width": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.1.0.tgz",
+ "integrity": "sha512-SEIJCWiX7Kg4c129n48aDRwLbFb2LJmXXFrWBG4NGaRtMQ3myKPKbwrD1BKqQn74oCoNMBVrfDEr5M9YxCsrkw==",
+ "dependencies": {
+ "emoji-regex": "^10.3.0",
+ "get-east-asian-width": "^1.0.0",
+ "strip-ansi": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/dependency-cruiser/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==",
+ "dependencies": {
+ "ansi-regex": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/strip-ansi?sponsor=1"
+ }
+ },
+ "node_modules/dependency-cruiser/node_modules/wrap-ansi": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz",
+ "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==",
+ "dependencies": {
+ "ansi-styles": "^6.2.1",
+ "string-width": "^7.0.0",
+ "strip-ansi": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
"node_modules/destroy": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
@@ -2418,6 +2629,11 @@
"integrity": "sha512-LRMMrM9ITOvue0PoBrvNIraVmuDbJV5QC9ierz/z5VilMdPOVMjOtpICNld3PuXuTZ3CHH/UPxX9gHhAPwi+0Q==",
"dev": true
},
+ "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=="
+ },
"node_modules/encodeurl": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
@@ -2427,11 +2643,22 @@
"node": ">= 0.8"
}
},
+ "node_modules/enhanced-resolve": {
+ "version": "5.17.0",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.0.tgz",
+ "integrity": "sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==",
+ "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,
"engines": {
"node": ">=0.12"
},
@@ -2611,7 +2838,6 @@
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz",
"integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==",
- "dev": true,
"engines": {
"node": ">=6"
}
@@ -3026,8 +3252,7 @@
"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
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
},
"node_modules/fast-defer": {
"version": "1.1.8",
@@ -3084,6 +3309,20 @@
"reusify": "^1.0.4"
}
},
+ "node_modules/figures": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/figures/-/figures-6.1.0.tgz",
+ "integrity": "sha512-d+l3qxjSesT4V7v2fh+QnmFnUWv9lSpjarhShNTgBOfA0ttejbQUAlHLitbjkoRiDulW0OPoQPYIGhIC8ohejg==",
+ "dependencies": {
+ "is-unicode-supported": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/file-entry-cache": {
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
@@ -3260,6 +3499,25 @@
"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==",
+ "engines": {
+ "node": "6.* || 8.* || >= 10.*"
+ }
+ },
+ "node_modules/get-east-asian-width": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz",
+ "integrity": "sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/get-func-name": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz",
@@ -3348,6 +3606,20 @@
"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==",
+ "dependencies": {
+ "ini": "4.1.1"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/globals": {
"version": "11.12.0",
"resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
@@ -3393,6 +3665,12 @@
"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
+ },
"node_modules/gopd": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz",
@@ -3404,6 +3682,11 @@
"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=="
+ },
"node_modules/graphemer": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz",
@@ -3640,7 +3923,6 @@
"version": "5.3.1",
"resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
"integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==",
- "dev": true,
"engines": {
"node": ">= 4"
}
@@ -3670,6 +3952,17 @@
"node": ">=0.8.19"
}
},
+ "node_modules/indent-string": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-5.0.0.tgz",
+ "integrity": "sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/inflation": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/inflation/-/inflation-2.1.0.tgz",
@@ -3696,6 +3989,14 @@
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
"dev": true
},
+ "node_modules/ini": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.1.tgz",
+ "integrity": "sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==",
+ "engines": {
+ "node": "^14.17.0 || ^16.13.0 || >=18.0.0"
+ }
+ },
"node_modules/internal-slot": {
"version": "1.0.7",
"resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz",
@@ -3710,6 +4011,14 @@
"node": ">= 0.4"
}
},
+ "node_modules/interpret": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz",
+ "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==",
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
"node_modules/is-array-buffer": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz",
@@ -3770,7 +4079,6 @@
"version": "2.13.1",
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz",
"integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==",
- "dev": true,
"dependencies": {
"hasown": "^2.0.0"
},
@@ -3817,6 +4125,14 @@
"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==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/is-generator-function": {
"version": "1.0.10",
"resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz",
@@ -3844,6 +4160,32 @@
"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==",
+ "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==",
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/is-negative-zero": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz",
@@ -3983,6 +4325,17 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/is-unicode-supported": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.0.0.tgz",
+ "integrity": "sha512-FRdAyx5lusK1iHG0TWpVtk9+1i+GjrzRffhDg4ovQ7mcidMQ6mj+MhKPmvh7Xwyv5gIS06ns49CA7Sqg7lC22Q==",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/is-weakref": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz",
@@ -4254,7 +4607,6 @@
"version": "2.2.3",
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
"integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
- "dev": true,
"bin": {
"json5": "lib/cli.js"
},
@@ -4297,6 +4649,14 @@
"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==",
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/koa": {
"version": "2.15.3",
"resolved": "https://registry.npmjs.org/koa/-/koa-2.15.3.tgz",
@@ -4555,6 +4915,11 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "node_modules/lodash": {
+ "version": "4.17.21",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
+ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
+ },
"node_modules/lodash.merge": {
"version": "4.6.2",
"resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
@@ -4641,6 +5006,20 @@
"node": ">= 0.6"
}
},
+ "node_modules/memoize": {
+ "version": "10.0.0",
+ "resolved": "https://registry.npmjs.org/memoize/-/memoize-10.0.0.tgz",
+ "integrity": "sha512-H6cBLgsi6vMWOcCpvVCdFFnl3kerEXbrYh9q+lY6VXvQSmM6CkmV08VOwT+WE2tzIEqRPFfAq3fm4v/UIW6mSA==",
+ "dependencies": {
+ "mimic-function": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/memoize?sponsor=1"
+ }
+ },
"node_modules/merge-stream": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
@@ -4711,6 +5090,17 @@
"url": "https://github.com/sponsors/sindresorhus"
}
},
+ "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==",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/minimatch": {
"version": "3.1.2",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
@@ -4727,7 +5117,6 @@
"version": "1.2.8",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
"integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
- "dev": true,
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -5064,7 +5453,6 @@
"version": "7.1.2",
"resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz",
"integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==",
- "dev": true,
"dependencies": {
"entities": "^4.4.0"
},
@@ -5111,8 +5499,7 @@
"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
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw=="
},
"node_modules/path-to-regexp": {
"version": "6.2.2",
@@ -5200,7 +5587,6 @@
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz",
"integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==",
- "dev": true,
"engines": {
"node": ">=12"
},
@@ -5307,6 +5693,18 @@
"url": "https://github.com/chalk/ansi-styles?sponsor=1"
}
},
+ "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==",
+ "dependencies": {
+ "kleur": "^3.0.3",
+ "sisteransi": "^1.0.5"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
"node_modules/proxy-from-env": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz",
@@ -5323,7 +5721,6 @@
"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"
}
@@ -5427,11 +5824,30 @@
"integrity": "sha512-wRiUsea88TjKDc4FBEn+sLvIDesp6brMbGWnJGjew2waAc9evdhja/2LvePc898HJbHw0L+MTWy7NhpnELAvLQ==",
"dev": true
},
+ "node_modules/rechoir": {
+ "version": "0.8.0",
+ "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz",
+ "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==",
+ "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=="
},
+ "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==",
+ "bin": {
+ "regexp-tree": "bin/regexp-tree"
+ }
+ },
"node_modules/regexp.prototype.flags": {
"version": "1.5.2",
"resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz",
@@ -5450,6 +5866,22 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "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==",
+ "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==",
+ "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",
@@ -5460,7 +5892,6 @@
"version": "1.22.8",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
"integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
- "dev": true,
"dependencies": {
"is-core-module": "^2.13.0",
"path-parse": "^1.0.7",
@@ -5590,6 +6021,14 @@
}
]
},
+ "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==",
+ "dependencies": {
+ "regexp-tree": "~0.1.1"
+ }
+ },
"node_modules/safe-regex-test": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz",
@@ -5626,13 +6065,9 @@
}
},
"node_modules/semver": {
- "version": "7.6.0",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
- "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
- "dev": true,
- "dependencies": {
- "lru-cache": "^6.0.0"
- },
+ "version": "7.6.2",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
+ "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
"bin": {
"semver": "bin/semver.js"
},
@@ -5640,24 +6075,17 @@
"node": ">=10"
}
},
- "node_modules/semver/node_modules/lru-cache": {
- "version": "6.0.0",
- "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
- "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
- "dev": true,
+ "node_modules/semver-try-require": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/semver-try-require/-/semver-try-require-7.0.0.tgz",
+ "integrity": "sha512-LI7GzDuAZmNKOY0/LY4nB3ifh6kYMvBimFTHVpA6wNEl3gw59QrLbTAnJb7vQzPd1qXPz+BtKJZaYORXWMerrA==",
"dependencies": {
- "yallist": "^4.0.0"
+ "semver": "^7.6.0"
},
"engines": {
- "node": ">=10"
+ "node": "^18.17||>=20"
}
},
- "node_modules/semver/node_modules/yallist": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
- "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
- "dev": true
- },
"node_modules/set-function-length": {
"version": "1.2.2",
"resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
@@ -5764,6 +6192,11 @@
"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=="
+ },
"node_modules/slash": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
@@ -5803,6 +6236,19 @@
"integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==",
"dev": true
},
+ "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==",
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
"node_modules/string.prototype.trim": {
"version": "1.2.9",
"resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz",
@@ -5856,7 +6302,6 @@
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
"integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
- "dev": true,
"dependencies": {
"ansi-regex": "^5.0.1"
},
@@ -5868,7 +6313,6 @@
"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,
"engines": {
"node": ">=4"
}
@@ -5931,7 +6375,6 @@
"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,
"engines": {
"node": ">= 0.4"
},
@@ -5945,6 +6388,19 @@
"integrity": "sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==",
"dev": true
},
+ "node_modules/tapable": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz",
+ "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==",
+ "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=="
+ },
"node_modules/test-exclude": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
@@ -6051,6 +6507,26 @@
"typescript": ">=4.2.0"
}
},
+ "node_modules/tsconfck": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.0.tgz",
+ "integrity": "sha512-CMjc5zMnyAjcS9sPLytrbFmj89st2g+JYtY/c02ug4Q+CZaAtCgbyviI0n1YvjZE/pzoc6FbNsINS13DOL1B9w==",
+ "dev": true,
+ "bin": {
+ "tsconfck": "bin/tsconfck.js"
+ },
+ "engines": {
+ "node": "^18 || >=20"
+ },
+ "peerDependencies": {
+ "typescript": "^5.0.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
"node_modules/tsconfig-paths": {
"version": "3.15.0",
"resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz",
@@ -6063,6 +6539,96 @@
"strip-bom": "^3.0.0"
}
},
+ "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==",
+ "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/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/tsconfig-paths-webpack-plugin/node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "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/tsconfig-paths-webpack-plugin/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==",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/tsconfig-paths-webpack-plugin/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=="
+ },
+ "node_modules/tsconfig-paths-webpack-plugin/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==",
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/tsconfig-paths-webpack-plugin/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==",
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "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==",
+ "dependencies": {
+ "json5": "^2.2.2",
+ "minimist": "^1.2.6",
+ "strip-bom": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
"node_modules/tsconfig-paths/node_modules/json5": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz",
@@ -6311,8 +6877,7 @@
"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
+ "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA=="
},
"node_modules/universalify": {
"version": "0.2.0",
@@ -6366,7 +6931,6 @@
"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"
}
@@ -6962,6 +7526,25 @@
"node": ">=14"
}
},
+ "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,
+ "dependencies": {
+ "debug": "^4.1.1",
+ "globrex": "^0.1.2",
+ "tsconfck": "^3.0.3"
+ },
+ "peerDependencies": {
+ "vite": "*"
+ },
+ "peerDependenciesMeta": {
+ "vite": {
+ "optional": true
+ }
+ }
+ },
"node_modules/vitest": {
"version": "1.5.2",
"resolved": "https://registry.npmjs.org/vitest/-/vitest-1.5.2.tgz",
@@ -7603,6 +8186,17 @@
"node": ">=18"
}
},
+ "node_modules/watskeburt": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/watskeburt/-/watskeburt-4.0.2.tgz",
+ "integrity": "sha512-w7X8AGrBZExP5/3e3c1X/CUY8Yod/aiAazQCvrg7n8Un6piD+NFFK926G15zRq4+wu0XAEWpSsZ4C+fEfVOCYw==",
+ "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",
@@ -7718,6 +8312,52 @@
"node": ">=0.10.0"
}
},
+ "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==",
+ "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/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==",
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/wrap-ansi/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==",
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/wrap-ansi/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=="
+ },
"node_modules/wrappy": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
@@ -7725,9 +8365,9 @@
"dev": true
},
"node_modules/ws": {
- "version": "8.16.0",
- "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz",
- "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==",
+ "version": "8.17.1",
+ "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz",
+ "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==",
"dev": true,
"engines": {
"node": ">=10.0.0"
@@ -7760,12 +8400,45 @@
"integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
"dev": true
},
+ "node_modules/y18n": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
+ "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
},
+ "node_modules/yargs": {
+ "version": "17.7.2",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
+ "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
+ "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==",
+ "engines": {
+ "node": ">=12"
+ }
+ },
"node_modules/ylru": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/ylru/-/ylru-1.4.0.tgz",
diff --git a/package.json b/package.json
index 2e87525aeaf..160ca965bc8 100644
--- a/package.json
+++ b/package.json
@@ -7,13 +7,17 @@
"start": "vite",
"start:dev": "vite --mode development",
"build": "vite build",
+ "build:beta": "vite build --mode beta",
"preview": "vite preview",
"test": "vitest run",
"test:cov": "vitest run --coverage",
"test:watch": "vitest watch --coverage",
+ "test:silent": "vitest run --silent",
"eslint": "eslint --fix .",
"eslint-ci": "eslint .",
- "docs": "typedoc"
+ "docs": "typedoc",
+ "depcruise": "depcruise src",
+ "depcruise:graph": "depcruise src --output-type dot | node dependency-graph.js > dependency-graph.svg"
},
"devDependencies": {
"@eslint/js": "^9.3.0",
@@ -35,12 +39,16 @@
"typescript-eslint": "^7.10.0",
"vite": "^4.5.0",
"vite-plugin-fs": "^0.4.4",
+ "vite-tsconfig-paths": "^4.3.2",
"vitest": "^1.4.0",
"vitest-canvas-mock": "^0.3.3"
},
"dependencies": {
+ "@hpcc-js/wasm": "^2.16.2",
"@material/material-color-utilities": "^0.2.7",
+ "@types/jsdom": "^21.1.7",
"crypto-js": "^4.2.0",
+ "dependency-cruiser": "^16.3.3",
"i18next": "^23.11.1",
"i18next-browser-languagedetector": "^7.2.1",
"i18next-korean-postposition-processor": "^1.0.0",
@@ -52,7 +60,9 @@
"node": ">=20.0.0"
},
"imports": {
+ "#enums/*": "./enums/*",
"#app": "./src/main.js",
- "#app/*": "./src/*"
+ "#app/*": "./src/*",
+ "#test/*": "./src/test/*"
}
}
diff --git a/public/audio/bgm/abyss.mp3 b/public/audio/bgm/abyss.mp3
index 3347d89d7e5..08882ac7e09 100644
Binary files a/public/audio/bgm/abyss.mp3 and b/public/audio/bgm/abyss.mp3 differ
diff --git a/public/audio/bgm/badlands.mp3 b/public/audio/bgm/badlands.mp3
index 40b3cf94156..386cf09c6a3 100644
Binary files a/public/audio/bgm/badlands.mp3 and b/public/audio/bgm/badlands.mp3 differ
diff --git a/public/audio/bgm/battle_alola_champion.mp3 b/public/audio/bgm/battle_alola_champion.mp3
new file mode 100644
index 00000000000..9fdefa52414
Binary files /dev/null and b/public/audio/bgm/battle_alola_champion.mp3 differ
diff --git a/public/audio/bgm/battle_alola_elite.mp3 b/public/audio/bgm/battle_alola_elite.mp3
new file mode 100644
index 00000000000..2d595c25f1e
Binary files /dev/null and b/public/audio/bgm/battle_alola_elite.mp3 differ
diff --git a/public/audio/bgm/battle_aqua_magma_boss.mp3 b/public/audio/bgm/battle_aqua_magma_boss.mp3
new file mode 100644
index 00000000000..1bee013e5c5
Binary files /dev/null and b/public/audio/bgm/battle_aqua_magma_boss.mp3 differ
diff --git a/public/audio/bgm/battle_aqua_magma_grunt.mp3 b/public/audio/bgm/battle_aqua_magma_grunt.mp3
new file mode 100644
index 00000000000..019d7d40e35
Binary files /dev/null and b/public/audio/bgm/battle_aqua_magma_grunt.mp3 differ
diff --git a/public/audio/bgm/battle_bb_elite.mp3 b/public/audio/bgm/battle_bb_elite.mp3
new file mode 100644
index 00000000000..64420ab3b96
Binary files /dev/null and b/public/audio/bgm/battle_bb_elite.mp3 differ
diff --git a/public/audio/bgm/battle_champion_alder.mp3 b/public/audio/bgm/battle_champion_alder.mp3
index 8b58b5ad6de..001d442c461 100644
Binary files a/public/audio/bgm/battle_champion_alder.mp3 and b/public/audio/bgm/battle_champion_alder.mp3 differ
diff --git a/public/audio/bgm/battle_champion_geeta.mp3 b/public/audio/bgm/battle_champion_geeta.mp3
new file mode 100644
index 00000000000..4deb395e1d1
Binary files /dev/null and b/public/audio/bgm/battle_champion_geeta.mp3 differ
diff --git a/public/audio/bgm/battle_champion_iris.mp3 b/public/audio/bgm/battle_champion_iris.mp3
index 7583574e8e0..e412925cebc 100644
Binary files a/public/audio/bgm/battle_champion_iris.mp3 and b/public/audio/bgm/battle_champion_iris.mp3 differ
diff --git a/public/audio/bgm/battle_champion_kieran.mp3 b/public/audio/bgm/battle_champion_kieran.mp3
new file mode 100644
index 00000000000..d6896e401a3
Binary files /dev/null and b/public/audio/bgm/battle_champion_kieran.mp3 differ
diff --git a/public/audio/bgm/battle_champion_nemona.mp3 b/public/audio/bgm/battle_champion_nemona.mp3
new file mode 100644
index 00000000000..9174fca4284
Binary files /dev/null and b/public/audio/bgm/battle_champion_nemona.mp3 differ
diff --git a/public/audio/bgm/battle_elite.mp3 b/public/audio/bgm/battle_elite.mp3
deleted file mode 100644
index cab27a0de59..00000000000
Binary files a/public/audio/bgm/battle_elite.mp3 and /dev/null differ
diff --git a/public/audio/bgm/battle_final.mp3 b/public/audio/bgm/battle_final.mp3
index 6f5cb5d1265..31a79f5eaee 100644
Binary files a/public/audio/bgm/battle_final.mp3 and b/public/audio/bgm/battle_final.mp3 differ
diff --git a/public/audio/bgm/battle_final_encounter.mp3 b/public/audio/bgm/battle_final_encounter.mp3
index 818e84cc264..a0fe790e433 100644
Binary files a/public/audio/bgm/battle_final_encounter.mp3 and b/public/audio/bgm/battle_final_encounter.mp3 differ
diff --git a/public/audio/bgm/battle_flare_boss.mp3 b/public/audio/bgm/battle_flare_boss.mp3
new file mode 100644
index 00000000000..fd2e2a544d9
Binary files /dev/null and b/public/audio/bgm/battle_flare_boss.mp3 differ
diff --git a/public/audio/bgm/battle_flare_grunt.mp3 b/public/audio/bgm/battle_flare_grunt.mp3
new file mode 100644
index 00000000000..7e2805f8675
Binary files /dev/null and b/public/audio/bgm/battle_flare_grunt.mp3 differ
diff --git a/public/audio/bgm/battle_galactic_boss.mp3 b/public/audio/bgm/battle_galactic_boss.mp3
new file mode 100644
index 00000000000..3d6c624130e
Binary files /dev/null and b/public/audio/bgm/battle_galactic_boss.mp3 differ
diff --git a/public/audio/bgm/battle_galactic_grunt.mp3 b/public/audio/bgm/battle_galactic_grunt.mp3
new file mode 100644
index 00000000000..17d8295c50c
Binary files /dev/null and b/public/audio/bgm/battle_galactic_grunt.mp3 differ
diff --git a/public/audio/bgm/battle_galar_champion.mp3 b/public/audio/bgm/battle_galar_champion.mp3
new file mode 100644
index 00000000000..01e089de9d2
Binary files /dev/null and b/public/audio/bgm/battle_galar_champion.mp3 differ
diff --git a/public/audio/bgm/battle_galar_elite.mp3 b/public/audio/bgm/battle_galar_elite.mp3
new file mode 100644
index 00000000000..5074172310d
Binary files /dev/null and b/public/audio/bgm/battle_galar_elite.mp3 differ
diff --git a/public/audio/bgm/battle_galar_gym.mp3 b/public/audio/bgm/battle_galar_gym.mp3
new file mode 100644
index 00000000000..539b389bb3a
Binary files /dev/null and b/public/audio/bgm/battle_galar_gym.mp3 differ
diff --git a/public/audio/bgm/battle_hoenn_champion.mp3 b/public/audio/bgm/battle_hoenn_champion.mp3
index 0fd09d5f4cd..37fd25b6a7b 100644
Binary files a/public/audio/bgm/battle_hoenn_champion.mp3 and b/public/audio/bgm/battle_hoenn_champion.mp3 differ
diff --git a/public/audio/bgm/battle_hoenn_elite.mp3 b/public/audio/bgm/battle_hoenn_elite.mp3
new file mode 100644
index 00000000000..798d8c34241
Binary files /dev/null and b/public/audio/bgm/battle_hoenn_elite.mp3 differ
diff --git a/public/audio/bgm/battle_hoenn_gym.mp3 b/public/audio/bgm/battle_hoenn_gym.mp3
index 9bf06628c6a..02b36ebefea 100644
Binary files a/public/audio/bgm/battle_hoenn_gym.mp3 and b/public/audio/bgm/battle_hoenn_gym.mp3 differ
diff --git a/public/audio/bgm/battle_johto_champion.mp3 b/public/audio/bgm/battle_johto_champion.mp3
index 47c4af88e23..dcc64a13502 100644
Binary files a/public/audio/bgm/battle_johto_champion.mp3 and b/public/audio/bgm/battle_johto_champion.mp3 differ
diff --git a/public/audio/bgm/battle_johto_gym.mp3 b/public/audio/bgm/battle_johto_gym.mp3
index 3cb7e075428..6b9a51b5401 100644
Binary files a/public/audio/bgm/battle_johto_gym.mp3 and b/public/audio/bgm/battle_johto_gym.mp3 differ
diff --git a/public/audio/bgm/battle_kalos_champion.mp3 b/public/audio/bgm/battle_kalos_champion.mp3
new file mode 100644
index 00000000000..eab36818e27
Binary files /dev/null and b/public/audio/bgm/battle_kalos_champion.mp3 differ
diff --git a/public/audio/bgm/battle_kalos_elite.mp3 b/public/audio/bgm/battle_kalos_elite.mp3
new file mode 100644
index 00000000000..3c4d2dfed02
Binary files /dev/null and b/public/audio/bgm/battle_kalos_elite.mp3 differ
diff --git a/public/audio/bgm/battle_kalos_gym.mp3 b/public/audio/bgm/battle_kalos_gym.mp3
new file mode 100644
index 00000000000..46c3fd04eb7
Binary files /dev/null and b/public/audio/bgm/battle_kalos_gym.mp3 differ
diff --git a/public/audio/bgm/battle_kanto_champion.mp3 b/public/audio/bgm/battle_kanto_champion.mp3
index c084453287c..a98c3a3c0da 100644
Binary files a/public/audio/bgm/battle_kanto_champion.mp3 and b/public/audio/bgm/battle_kanto_champion.mp3 differ
diff --git a/public/audio/bgm/battle_kanto_gym.mp3 b/public/audio/bgm/battle_kanto_gym.mp3
index 3d9a9c30e19..82c705fc05a 100644
Binary files a/public/audio/bgm/battle_kanto_gym.mp3 and b/public/audio/bgm/battle_kanto_gym.mp3 differ
diff --git a/public/audio/bgm/battle_legendary_arceus.mp3 b/public/audio/bgm/battle_legendary_arceus.mp3
new file mode 100644
index 00000000000..ee060912ddf
Binary files /dev/null and b/public/audio/bgm/battle_legendary_arceus.mp3 differ
diff --git a/public/audio/bgm/battle_legendary_birds_galar.mp3 b/public/audio/bgm/battle_legendary_birds_galar.mp3
new file mode 100644
index 00000000000..807a38fe095
Binary files /dev/null and b/public/audio/bgm/battle_legendary_birds_galar.mp3 differ
diff --git a/public/audio/bgm/battle_legendary_calyrex.mp3 b/public/audio/bgm/battle_legendary_calyrex.mp3
new file mode 100644
index 00000000000..7fd44b5e9c6
Binary files /dev/null and b/public/audio/bgm/battle_legendary_calyrex.mp3 differ
diff --git a/public/audio/bgm/battle_legendary_deoxys.mp3 b/public/audio/bgm/battle_legendary_deoxys.mp3
new file mode 100644
index 00000000000..351b4bb02b4
Binary files /dev/null and b/public/audio/bgm/battle_legendary_deoxys.mp3 differ
diff --git a/public/audio/bgm/battle_legendary_dia_pal.mp3 b/public/audio/bgm/battle_legendary_dia_pal.mp3
new file mode 100644
index 00000000000..4cb361933fc
Binary files /dev/null and b/public/audio/bgm/battle_legendary_dia_pal.mp3 differ
diff --git a/public/audio/bgm/battle_legendary_dusk_dawn.mp3 b/public/audio/bgm/battle_legendary_dusk_dawn.mp3
new file mode 100644
index 00000000000..b7340af5d4b
Binary files /dev/null and b/public/audio/bgm/battle_legendary_dusk_dawn.mp3 differ
diff --git a/public/audio/bgm/battle_legendary_entei.mp3 b/public/audio/bgm/battle_legendary_entei.mp3
new file mode 100644
index 00000000000..993a513689e
Binary files /dev/null and b/public/audio/bgm/battle_legendary_entei.mp3 differ
diff --git a/public/audio/bgm/battle_legendary_giratina.mp3 b/public/audio/bgm/battle_legendary_giratina.mp3
new file mode 100644
index 00000000000..5b9894fc346
Binary files /dev/null and b/public/audio/bgm/battle_legendary_giratina.mp3 differ
diff --git a/public/audio/bgm/battle_legendary_glas_spec.mp3 b/public/audio/bgm/battle_legendary_glas_spec.mp3
new file mode 100644
index 00000000000..a11e9c0dc1b
Binary files /dev/null and b/public/audio/bgm/battle_legendary_glas_spec.mp3 differ
diff --git a/public/audio/bgm/battle_legendary_gro_kyo.mp3 b/public/audio/bgm/battle_legendary_gro_kyo.mp3
new file mode 100644
index 00000000000..49ecc6b0496
Binary files /dev/null and b/public/audio/bgm/battle_legendary_gro_kyo.mp3 differ
diff --git a/public/audio/bgm/battle_legendary_ho_oh.mp3 b/public/audio/bgm/battle_legendary_ho_oh.mp3
new file mode 100644
index 00000000000..ae41e2196be
Binary files /dev/null and b/public/audio/bgm/battle_legendary_ho_oh.mp3 differ
diff --git a/public/audio/bgm/battle_legendary_kanto.mp3 b/public/audio/bgm/battle_legendary_kanto.mp3
new file mode 100644
index 00000000000..aa7cfdec1c5
Binary files /dev/null and b/public/audio/bgm/battle_legendary_kanto.mp3 differ
diff --git a/public/audio/bgm/battle_legendary_kor_mir.mp3 b/public/audio/bgm/battle_legendary_kor_mir.mp3
new file mode 100644
index 00000000000..4b18a94d423
Binary files /dev/null and b/public/audio/bgm/battle_legendary_kor_mir.mp3 differ
diff --git a/public/audio/bgm/battle_legendary_kyurem.mp3 b/public/audio/bgm/battle_legendary_kyurem.mp3
index f2a325d427c..d7ad9630031 100644
Binary files a/public/audio/bgm/battle_legendary_kyurem.mp3 and b/public/audio/bgm/battle_legendary_kyurem.mp3 differ
diff --git a/public/audio/bgm/battle_legendary_lake_trio.mp3 b/public/audio/bgm/battle_legendary_lake_trio.mp3
new file mode 100644
index 00000000000..dddcc34712f
Binary files /dev/null and b/public/audio/bgm/battle_legendary_lake_trio.mp3 differ
diff --git a/public/audio/bgm/battle_legendary_loyal_three.mp3 b/public/audio/bgm/battle_legendary_loyal_three.mp3
new file mode 100644
index 00000000000..d37930b33bf
Binary files /dev/null and b/public/audio/bgm/battle_legendary_loyal_three.mp3 differ
diff --git a/public/audio/bgm/battle_legendary_lugia.mp3 b/public/audio/bgm/battle_legendary_lugia.mp3
new file mode 100644
index 00000000000..a68f3df6557
Binary files /dev/null and b/public/audio/bgm/battle_legendary_lugia.mp3 differ
diff --git a/public/audio/bgm/battle_legendary_ogerpon.mp3 b/public/audio/bgm/battle_legendary_ogerpon.mp3
new file mode 100644
index 00000000000..0e26dafb5aa
Binary files /dev/null and b/public/audio/bgm/battle_legendary_ogerpon.mp3 differ
diff --git a/public/audio/bgm/battle_legendary_pecharunt.mp3 b/public/audio/bgm/battle_legendary_pecharunt.mp3
new file mode 100644
index 00000000000..21383c2ea0e
Binary files /dev/null and b/public/audio/bgm/battle_legendary_pecharunt.mp3 differ
diff --git a/public/audio/bgm/battle_legendary_raikou.mp3 b/public/audio/bgm/battle_legendary_raikou.mp3
new file mode 100644
index 00000000000..e89ac31d678
Binary files /dev/null and b/public/audio/bgm/battle_legendary_raikou.mp3 differ
diff --git a/public/audio/bgm/battle_legendary_rayquaza.mp3 b/public/audio/bgm/battle_legendary_rayquaza.mp3
new file mode 100644
index 00000000000..3747edef71b
Binary files /dev/null and b/public/audio/bgm/battle_legendary_rayquaza.mp3 differ
diff --git a/public/audio/bgm/battle_legendary_regis.mp3 b/public/audio/bgm/battle_legendary_regis.mp3
deleted file mode 100644
index 227d544d91b..00000000000
Binary files a/public/audio/bgm/battle_legendary_regis.mp3 and /dev/null differ
diff --git a/public/audio/bgm/battle_legendary_regis_g5.mp3 b/public/audio/bgm/battle_legendary_regis_g5.mp3
new file mode 100644
index 00000000000..f7b18dc9170
Binary files /dev/null and b/public/audio/bgm/battle_legendary_regis_g5.mp3 differ
diff --git a/public/audio/bgm/battle_legendary_regis_g6.mp3 b/public/audio/bgm/battle_legendary_regis_g6.mp3
new file mode 100644
index 00000000000..c87d61d0b79
Binary files /dev/null and b/public/audio/bgm/battle_legendary_regis_g6.mp3 differ
diff --git a/public/audio/bgm/battle_legendary_res_zek.mp3 b/public/audio/bgm/battle_legendary_res_zek.mp3
index 4df08c10df8..5e26b7822ff 100644
Binary files a/public/audio/bgm/battle_legendary_res_zek.mp3 and b/public/audio/bgm/battle_legendary_res_zek.mp3 differ
diff --git a/public/audio/bgm/battle_legendary_ruinous.mp3 b/public/audio/bgm/battle_legendary_ruinous.mp3
new file mode 100644
index 00000000000..804b0f39a6f
Binary files /dev/null and b/public/audio/bgm/battle_legendary_ruinous.mp3 differ
diff --git a/public/audio/bgm/battle_legendary_sinnoh.mp3 b/public/audio/bgm/battle_legendary_sinnoh.mp3
new file mode 100644
index 00000000000..6345689ebb3
Binary files /dev/null and b/public/audio/bgm/battle_legendary_sinnoh.mp3 differ
diff --git a/public/audio/bgm/battle_legendary_sol_lun.mp3 b/public/audio/bgm/battle_legendary_sol_lun.mp3
new file mode 100644
index 00000000000..9793c1b6560
Binary files /dev/null and b/public/audio/bgm/battle_legendary_sol_lun.mp3 differ
diff --git a/public/audio/bgm/battle_legendary_suicune.mp3 b/public/audio/bgm/battle_legendary_suicune.mp3
new file mode 100644
index 00000000000..4df599bbbc1
Binary files /dev/null and b/public/audio/bgm/battle_legendary_suicune.mp3 differ
diff --git a/public/audio/bgm/battle_legendary_tapu.mp3 b/public/audio/bgm/battle_legendary_tapu.mp3
new file mode 100644
index 00000000000..7536065ddfb
Binary files /dev/null and b/public/audio/bgm/battle_legendary_tapu.mp3 differ
diff --git a/public/audio/bgm/battle_legendary_terapagos.mp3 b/public/audio/bgm/battle_legendary_terapagos.mp3
new file mode 100644
index 00000000000..3cfea347224
Binary files /dev/null and b/public/audio/bgm/battle_legendary_terapagos.mp3 differ
diff --git a/public/audio/bgm/battle_legendary_ub.mp3 b/public/audio/bgm/battle_legendary_ub.mp3
new file mode 100644
index 00000000000..3aefc713441
Binary files /dev/null and b/public/audio/bgm/battle_legendary_ub.mp3 differ
diff --git a/public/audio/bgm/battle_legendary_ultra_nec.mp3 b/public/audio/bgm/battle_legendary_ultra_nec.mp3
new file mode 100644
index 00000000000..e24c93cd4c2
Binary files /dev/null and b/public/audio/bgm/battle_legendary_ultra_nec.mp3 differ
diff --git a/public/audio/bgm/battle_legendary_unova.mp3 b/public/audio/bgm/battle_legendary_unova.mp3
index e4977d5b3b3..3bae8a6a49f 100644
Binary files a/public/audio/bgm/battle_legendary_unova.mp3 and b/public/audio/bgm/battle_legendary_unova.mp3 differ
diff --git a/public/audio/bgm/battle_legendary_xern_yvel.mp3 b/public/audio/bgm/battle_legendary_xern_yvel.mp3
new file mode 100644
index 00000000000..2487f60b28b
Binary files /dev/null and b/public/audio/bgm/battle_legendary_xern_yvel.mp3 differ
diff --git a/public/audio/bgm/battle_legendary_zac_zam.mp3 b/public/audio/bgm/battle_legendary_zac_zam.mp3
new file mode 100644
index 00000000000..5a8b8471c5b
Binary files /dev/null and b/public/audio/bgm/battle_legendary_zac_zam.mp3 differ
diff --git a/public/audio/bgm/battle_paldea_elite.mp3 b/public/audio/bgm/battle_paldea_elite.mp3
new file mode 100644
index 00000000000..f3a71ee8340
Binary files /dev/null and b/public/audio/bgm/battle_paldea_elite.mp3 differ
diff --git a/public/audio/bgm/battle_paldea_gym.mp3 b/public/audio/bgm/battle_paldea_gym.mp3
new file mode 100644
index 00000000000..2cef63209fb
Binary files /dev/null and b/public/audio/bgm/battle_paldea_gym.mp3 differ
diff --git a/public/audio/bgm/battle_plasma_boss.mp3 b/public/audio/bgm/battle_plasma_boss.mp3
new file mode 100644
index 00000000000..124b8f4a230
Binary files /dev/null and b/public/audio/bgm/battle_plasma_boss.mp3 differ
diff --git a/public/audio/bgm/battle_plasma_grunt.mp3 b/public/audio/bgm/battle_plasma_grunt.mp3
new file mode 100644
index 00000000000..7d1bf710bc5
Binary files /dev/null and b/public/audio/bgm/battle_plasma_grunt.mp3 differ
diff --git a/public/audio/bgm/battle_rival.mp3 b/public/audio/bgm/battle_rival.mp3
index 3ccf4898491..82ff586576a 100644
Binary files a/public/audio/bgm/battle_rival.mp3 and b/public/audio/bgm/battle_rival.mp3 differ
diff --git a/public/audio/bgm/battle_rival_2.mp3 b/public/audio/bgm/battle_rival_2.mp3
index 3f19f990dce..7f063ed5fd0 100644
Binary files a/public/audio/bgm/battle_rival_2.mp3 and b/public/audio/bgm/battle_rival_2.mp3 differ
diff --git a/public/audio/bgm/battle_rival_3.mp3 b/public/audio/bgm/battle_rival_3.mp3
index f6254c24cf4..911438b4f83 100644
Binary files a/public/audio/bgm/battle_rival_3.mp3 and b/public/audio/bgm/battle_rival_3.mp3 differ
diff --git a/public/audio/bgm/battle_rocket_boss.mp3 b/public/audio/bgm/battle_rocket_boss.mp3
new file mode 100644
index 00000000000..757eaa38c70
Binary files /dev/null and b/public/audio/bgm/battle_rocket_boss.mp3 differ
diff --git a/public/audio/bgm/battle_rocket_grunt.mp3 b/public/audio/bgm/battle_rocket_grunt.mp3
new file mode 100644
index 00000000000..e8f5faf86d7
Binary files /dev/null and b/public/audio/bgm/battle_rocket_grunt.mp3 differ
diff --git a/public/audio/bgm/battle_sinnoh_champion.mp3 b/public/audio/bgm/battle_sinnoh_champion.mp3
index e6240c5a02a..a662ca20cbb 100644
Binary files a/public/audio/bgm/battle_sinnoh_champion.mp3 and b/public/audio/bgm/battle_sinnoh_champion.mp3 differ
diff --git a/public/audio/bgm/battle_sinnoh_gym.mp3 b/public/audio/bgm/battle_sinnoh_gym.mp3
index 3bf7e96f77f..280c33a09e5 100644
Binary files a/public/audio/bgm/battle_sinnoh_gym.mp3 and b/public/audio/bgm/battle_sinnoh_gym.mp3 differ
diff --git a/public/audio/bgm/battle_trainer.mp3 b/public/audio/bgm/battle_trainer.mp3
index 1155d72a53c..d90c7bd845f 100644
Binary files a/public/audio/bgm/battle_trainer.mp3 and b/public/audio/bgm/battle_trainer.mp3 differ
diff --git a/public/audio/bgm/battle_unova_elite.mp3 b/public/audio/bgm/battle_unova_elite.mp3
new file mode 100644
index 00000000000..8c150acb9e3
Binary files /dev/null and b/public/audio/bgm/battle_unova_elite.mp3 differ
diff --git a/public/audio/bgm/battle_unova_gym.mp3 b/public/audio/bgm/battle_unova_gym.mp3
index 3995e675bfe..46a4600bbca 100644
Binary files a/public/audio/bgm/battle_unova_gym.mp3 and b/public/audio/bgm/battle_unova_gym.mp3 differ
diff --git a/public/audio/bgm/battle_wild.mp3 b/public/audio/bgm/battle_wild.mp3
index 98f7fe20150..f8d484ab51e 100644
Binary files a/public/audio/bgm/battle_wild.mp3 and b/public/audio/bgm/battle_wild.mp3 differ
diff --git a/public/audio/bgm/battle_wild_strong.mp3 b/public/audio/bgm/battle_wild_strong.mp3
index 166ac3825c5..cf02ef8d1d5 100644
Binary files a/public/audio/bgm/battle_wild_strong.mp3 and b/public/audio/bgm/battle_wild_strong.mp3 differ
diff --git a/public/audio/bgm/beach.mp3 b/public/audio/bgm/beach.mp3
index a22386a9dc3..af0486a0c78 100644
Binary files a/public/audio/bgm/beach.mp3 and b/public/audio/bgm/beach.mp3 differ
diff --git a/public/audio/bgm/bw/evolution.mp3 b/public/audio/bgm/bw/evolution.mp3
index 0d7ae190bda..ecfd085da26 100644
Binary files a/public/audio/bgm/bw/evolution.mp3 and b/public/audio/bgm/bw/evolution.mp3 differ
diff --git a/public/audio/bgm/bw/evolution_fanfare.mp3 b/public/audio/bgm/bw/evolution_fanfare.mp3
index cb394470f1f..6f554a4189e 100644
Binary files a/public/audio/bgm/bw/evolution_fanfare.mp3 and b/public/audio/bgm/bw/evolution_fanfare.mp3 differ
diff --git a/public/audio/bgm/bw/heal.mp3 b/public/audio/bgm/bw/heal.mp3
index 22b2d9fb8a3..9300bf35099 100644
Binary files a/public/audio/bgm/bw/heal.mp3 and b/public/audio/bgm/bw/heal.mp3 differ
diff --git a/public/audio/bgm/bw/item_fanfare.mp3 b/public/audio/bgm/bw/item_fanfare.mp3
index 336a12dc1a6..7f128ff1c22 100644
Binary files a/public/audio/bgm/bw/item_fanfare.mp3 and b/public/audio/bgm/bw/item_fanfare.mp3 differ
diff --git a/public/audio/bgm/bw/level_up_fanfare.mp3 b/public/audio/bgm/bw/level_up_fanfare.mp3
index 3e4bdbdc947..9501092f9dd 100644
Binary files a/public/audio/bgm/bw/level_up_fanfare.mp3 and b/public/audio/bgm/bw/level_up_fanfare.mp3 differ
diff --git a/public/audio/bgm/bw/minor_fanfare.mp3 b/public/audio/bgm/bw/minor_fanfare.mp3
index 464a579a38f..2e6104022f1 100644
Binary files a/public/audio/bgm/bw/minor_fanfare.mp3 and b/public/audio/bgm/bw/minor_fanfare.mp3 differ
diff --git a/public/audio/bgm/bw/victory_champion.mp3 b/public/audio/bgm/bw/victory_champion.mp3
index 2f6e6096bcb..3711aadcc53 100644
Binary files a/public/audio/bgm/bw/victory_champion.mp3 and b/public/audio/bgm/bw/victory_champion.mp3 differ
diff --git a/public/audio/bgm/bw/victory_gym.mp3 b/public/audio/bgm/bw/victory_gym.mp3
index 5968b154ed6..9b93a90dd5d 100644
Binary files a/public/audio/bgm/bw/victory_gym.mp3 and b/public/audio/bgm/bw/victory_gym.mp3 differ
diff --git a/public/audio/bgm/bw/victory_team_plasma.mp3 b/public/audio/bgm/bw/victory_team_plasma.mp3
new file mode 100644
index 00000000000..1f2c6229f5d
Binary files /dev/null and b/public/audio/bgm/bw/victory_team_plasma.mp3 differ
diff --git a/public/audio/bgm/bw/victory_trainer.mp3 b/public/audio/bgm/bw/victory_trainer.mp3
index c8ab465a7b9..f5adb6deacc 100644
Binary files a/public/audio/bgm/bw/victory_trainer.mp3 and b/public/audio/bgm/bw/victory_trainer.mp3 differ
diff --git a/public/audio/bgm/cave.mp3 b/public/audio/bgm/cave.mp3
index f27d110d341..59f4063867c 100644
Binary files a/public/audio/bgm/cave.mp3 and b/public/audio/bgm/cave.mp3 differ
diff --git a/public/audio/bgm/construction_site.mp3 b/public/audio/bgm/construction_site.mp3
index 841f623a2d5..a5c5f5b1879 100644
Binary files a/public/audio/bgm/construction_site.mp3 and b/public/audio/bgm/construction_site.mp3 differ
diff --git a/public/audio/bgm/desert.mp3 b/public/audio/bgm/desert.mp3
index 546cc0c3377..febbacc0100 100644
Binary files a/public/audio/bgm/desert.mp3 and b/public/audio/bgm/desert.mp3 differ
diff --git a/public/audio/bgm/dojo.mp3 b/public/audio/bgm/dojo.mp3
index cb4a67b831c..d8621b5b7fc 100644
Binary files a/public/audio/bgm/dojo.mp3 and b/public/audio/bgm/dojo.mp3 differ
diff --git a/public/audio/bgm/encounter_ace_trainer.mp3 b/public/audio/bgm/encounter_ace_trainer.mp3
index 835d7fbb56d..ea507898900 100644
Binary files a/public/audio/bgm/encounter_ace_trainer.mp3 and b/public/audio/bgm/encounter_ace_trainer.mp3 differ
diff --git a/public/audio/bgm/encounter_backpacker.mp3 b/public/audio/bgm/encounter_backpacker.mp3
index c1e3d7f0ad5..1b95c48c1f8 100644
Binary files a/public/audio/bgm/encounter_backpacker.mp3 and b/public/audio/bgm/encounter_backpacker.mp3 differ
diff --git a/public/audio/bgm/encounter_clerk.mp3 b/public/audio/bgm/encounter_clerk.mp3
index 8542a641edc..8e1a45f43d2 100644
Binary files a/public/audio/bgm/encounter_clerk.mp3 and b/public/audio/bgm/encounter_clerk.mp3 differ
diff --git a/public/audio/bgm/encounter_cyclist.mp3 b/public/audio/bgm/encounter_cyclist.mp3
index 3603947d999..dda81f48b71 100644
Binary files a/public/audio/bgm/encounter_cyclist.mp3 and b/public/audio/bgm/encounter_cyclist.mp3 differ
diff --git a/public/audio/bgm/encounter_final.mp3 b/public/audio/bgm/encounter_final.mp3
index 34e37132e90..ea47aa4bea4 100644
Binary files a/public/audio/bgm/encounter_final.mp3 and b/public/audio/bgm/encounter_final.mp3 differ
diff --git a/public/audio/bgm/encounter_lass.mp3 b/public/audio/bgm/encounter_lass.mp3
index 2f8be45c5ea..31ea20e3c02 100644
Binary files a/public/audio/bgm/encounter_lass.mp3 and b/public/audio/bgm/encounter_lass.mp3 differ
diff --git a/public/audio/bgm/encounter_parasol_lady.mp3 b/public/audio/bgm/encounter_parasol_lady.mp3
index 1eb632a403c..1fca7bae31a 100644
Binary files a/public/audio/bgm/encounter_parasol_lady.mp3 and b/public/audio/bgm/encounter_parasol_lady.mp3 differ
diff --git a/public/audio/bgm/encounter_plasma_grunt.mp3 b/public/audio/bgm/encounter_plasma_grunt.mp3
new file mode 100644
index 00000000000..53e73cc0106
Binary files /dev/null and b/public/audio/bgm/encounter_plasma_grunt.mp3 differ
diff --git a/public/audio/bgm/encounter_pokefan.mp3 b/public/audio/bgm/encounter_pokefan.mp3
index 9c8f60aac0f..cc3fafb158b 100644
Binary files a/public/audio/bgm/encounter_pokefan.mp3 and b/public/audio/bgm/encounter_pokefan.mp3 differ
diff --git a/public/audio/bgm/encounter_psychic.mp3 b/public/audio/bgm/encounter_psychic.mp3
index 75a2808569b..111e41833a2 100644
Binary files a/public/audio/bgm/encounter_psychic.mp3 and b/public/audio/bgm/encounter_psychic.mp3 differ
diff --git a/public/audio/bgm/encounter_rich.mp3 b/public/audio/bgm/encounter_rich.mp3
index cca97e6188e..2df9dfcceab 100644
Binary files a/public/audio/bgm/encounter_rich.mp3 and b/public/audio/bgm/encounter_rich.mp3 differ
diff --git a/public/audio/bgm/encounter_rival.mp3 b/public/audio/bgm/encounter_rival.mp3
index 613c1b552cf..b814879b70e 100644
Binary files a/public/audio/bgm/encounter_rival.mp3 and b/public/audio/bgm/encounter_rival.mp3 differ
diff --git a/public/audio/bgm/encounter_roughneck.mp3 b/public/audio/bgm/encounter_roughneck.mp3
index 9e239191133..630e1d0263d 100644
Binary files a/public/audio/bgm/encounter_roughneck.mp3 and b/public/audio/bgm/encounter_roughneck.mp3 differ
diff --git a/public/audio/bgm/encounter_scientist.mp3 b/public/audio/bgm/encounter_scientist.mp3
index 8cb180cd6ab..a2d2ce7754d 100644
Binary files a/public/audio/bgm/encounter_scientist.mp3 and b/public/audio/bgm/encounter_scientist.mp3 differ
diff --git a/public/audio/bgm/encounter_twins.mp3 b/public/audio/bgm/encounter_twins.mp3
index cb6b0ef8a26..8564a101dbe 100644
Binary files a/public/audio/bgm/encounter_twins.mp3 and b/public/audio/bgm/encounter_twins.mp3 differ
diff --git a/public/audio/bgm/encounter_youngster.mp3 b/public/audio/bgm/encounter_youngster.mp3
index 33e900b28d0..8ad8bd158e9 100644
Binary files a/public/audio/bgm/encounter_youngster.mp3 and b/public/audio/bgm/encounter_youngster.mp3 differ
diff --git a/public/audio/bgm/end.mp3 b/public/audio/bgm/end.mp3
index 83b1273627a..c37973fd9cc 100644
Binary files a/public/audio/bgm/end.mp3 and b/public/audio/bgm/end.mp3 differ
diff --git a/public/audio/bgm/end_summit.mp3 b/public/audio/bgm/end_summit.mp3
index 840d888bdd5..413fb4af384 100644
Binary files a/public/audio/bgm/end_summit.mp3 and b/public/audio/bgm/end_summit.mp3 differ
diff --git a/public/audio/bgm/factory.mp3 b/public/audio/bgm/factory.mp3
index 78f21dc44d6..72304168306 100644
Binary files a/public/audio/bgm/factory.mp3 and b/public/audio/bgm/factory.mp3 differ
diff --git a/public/audio/bgm/fairy_cave.mp3 b/public/audio/bgm/fairy_cave.mp3
index 5de3f702b21..4e1c9ea0eb4 100644
Binary files a/public/audio/bgm/fairy_cave.mp3 and b/public/audio/bgm/fairy_cave.mp3 differ
diff --git a/public/audio/bgm/forest.mp3 b/public/audio/bgm/forest.mp3
index 0f5af3b56f3..a1d9ecb4b28 100644
Binary files a/public/audio/bgm/forest.mp3 and b/public/audio/bgm/forest.mp3 differ
diff --git a/public/audio/bgm/grass.mp3 b/public/audio/bgm/grass.mp3
index f9555ec2a7d..898da6d42c5 100644
Binary files a/public/audio/bgm/grass.mp3 and b/public/audio/bgm/grass.mp3 differ
diff --git a/public/audio/bgm/graveyard.mp3 b/public/audio/bgm/graveyard.mp3
index 343ad3eda98..48092fa3ec2 100644
Binary files a/public/audio/bgm/graveyard.mp3 and b/public/audio/bgm/graveyard.mp3 differ
diff --git a/public/audio/bgm/heal.mp3 b/public/audio/bgm/heal.mp3
index 22b2d9fb8a3..9300bf35099 100644
Binary files a/public/audio/bgm/heal.mp3 and b/public/audio/bgm/heal.mp3 differ
diff --git a/public/audio/bgm/ice_cave.mp3 b/public/audio/bgm/ice_cave.mp3
index bc23973b9ee..5d1b9e9e354 100644
Binary files a/public/audio/bgm/ice_cave.mp3 and b/public/audio/bgm/ice_cave.mp3 differ
diff --git a/public/audio/bgm/island.mp3 b/public/audio/bgm/island.mp3
index 08aecab84a9..27d5ff64562 100644
Binary files a/public/audio/bgm/island.mp3 and b/public/audio/bgm/island.mp3 differ
diff --git a/public/audio/bgm/jungle.mp3 b/public/audio/bgm/jungle.mp3
index 5db42ba8d0d..3a21c9bdb41 100644
Binary files a/public/audio/bgm/jungle.mp3 and b/public/audio/bgm/jungle.mp3 differ
diff --git a/public/audio/bgm/laboratory.mp3 b/public/audio/bgm/laboratory.mp3
index 38b2b71b62a..e2b617e590a 100644
Binary files a/public/audio/bgm/laboratory.mp3 and b/public/audio/bgm/laboratory.mp3 differ
diff --git a/public/audio/bgm/lake.mp3 b/public/audio/bgm/lake.mp3
index e93228ba565..c61fef15e42 100644
Binary files a/public/audio/bgm/lake.mp3 and b/public/audio/bgm/lake.mp3 differ
diff --git a/public/audio/bgm/meadow.mp3 b/public/audio/bgm/meadow.mp3
index 5990f79e5da..1c9b6c47325 100644
Binary files a/public/audio/bgm/meadow.mp3 and b/public/audio/bgm/meadow.mp3 differ
diff --git a/public/audio/bgm/menu.mp3 b/public/audio/bgm/menu.mp3
index a57ba45bd14..286e986d570 100644
Binary files a/public/audio/bgm/menu.mp3 and b/public/audio/bgm/menu.mp3 differ
diff --git a/public/audio/bgm/metropolis.mp3 b/public/audio/bgm/metropolis.mp3
index ff67771bdb9..98c2eb396b6 100644
Binary files a/public/audio/bgm/metropolis.mp3 and b/public/audio/bgm/metropolis.mp3 differ
diff --git a/public/audio/bgm/mountain.mp3 b/public/audio/bgm/mountain.mp3
index d71cd687057..e4ca51cf4fd 100644
Binary files a/public/audio/bgm/mountain.mp3 and b/public/audio/bgm/mountain.mp3 differ
diff --git a/public/audio/bgm/plains.mp3 b/public/audio/bgm/plains.mp3
index 3deb8f4b27d..6c7a008bce6 100644
Binary files a/public/audio/bgm/plains.mp3 and b/public/audio/bgm/plains.mp3 differ
diff --git a/public/audio/bgm/power_plant.mp3 b/public/audio/bgm/power_plant.mp3
index a7ab54305c2..9813ad40a11 100644
Binary files a/public/audio/bgm/power_plant.mp3 and b/public/audio/bgm/power_plant.mp3 differ
diff --git a/public/audio/bgm/rse/evolution.mp3 b/public/audio/bgm/rse/evolution.mp3
index 5f1b739f14f..a74cbedb594 100644
Binary files a/public/audio/bgm/rse/evolution.mp3 and b/public/audio/bgm/rse/evolution.mp3 differ
diff --git a/public/audio/bgm/rse/evolution_fanfare.mp3 b/public/audio/bgm/rse/evolution_fanfare.mp3
index 165d1d2d8eb..8acfb2f3a95 100644
Binary files a/public/audio/bgm/rse/evolution_fanfare.mp3 and b/public/audio/bgm/rse/evolution_fanfare.mp3 differ
diff --git a/public/audio/bgm/rse/level_up_fanfare.mp3 b/public/audio/bgm/rse/level_up_fanfare.mp3
index bc85163c15e..78aea15156d 100644
Binary files a/public/audio/bgm/rse/level_up_fanfare.mp3 and b/public/audio/bgm/rse/level_up_fanfare.mp3 differ
diff --git a/public/audio/bgm/rse/victory.mp3 b/public/audio/bgm/rse/victory.mp3
index 871889af615..7bf1d7a5282 100644
Binary files a/public/audio/bgm/rse/victory.mp3 and b/public/audio/bgm/rse/victory.mp3 differ
diff --git a/public/audio/bgm/ruins.mp3 b/public/audio/bgm/ruins.mp3
index 096161d8bef..62f31893423 100644
Binary files a/public/audio/bgm/ruins.mp3 and b/public/audio/bgm/ruins.mp3 differ
diff --git a/public/audio/bgm/sea.mp3 b/public/audio/bgm/sea.mp3
index 0bf44bcc3e4..8bdaaa696f1 100644
Binary files a/public/audio/bgm/sea.mp3 and b/public/audio/bgm/sea.mp3 differ
diff --git a/public/audio/bgm/seabed.mp3 b/public/audio/bgm/seabed.mp3
index afa282cb4db..d0c405b4e1d 100644
Binary files a/public/audio/bgm/seabed.mp3 and b/public/audio/bgm/seabed.mp3 differ
diff --git a/public/audio/bgm/slum.mp3 b/public/audio/bgm/slum.mp3
index 2df06608e64..1315c7838fc 100644
Binary files a/public/audio/bgm/slum.mp3 and b/public/audio/bgm/slum.mp3 differ
diff --git a/public/audio/bgm/snowy_forest.mp3 b/public/audio/bgm/snowy_forest.mp3
index c0e94538910..1469ef56bde 100644
Binary files a/public/audio/bgm/snowy_forest.mp3 and b/public/audio/bgm/snowy_forest.mp3 differ
diff --git a/public/audio/bgm/space.mp3 b/public/audio/bgm/space.mp3
index 9585351c9af..87a53fb84ff 100644
Binary files a/public/audio/bgm/space.mp3 and b/public/audio/bgm/space.mp3 differ
diff --git a/public/audio/bgm/swamp.mp3 b/public/audio/bgm/swamp.mp3
index e92045d18d2..eb42c8a7a46 100644
Binary files a/public/audio/bgm/swamp.mp3 and b/public/audio/bgm/swamp.mp3 differ
diff --git a/public/audio/bgm/tall_grass.mp3 b/public/audio/bgm/tall_grass.mp3
index 68c587547cf..ba2200b64fc 100644
Binary files a/public/audio/bgm/tall_grass.mp3 and b/public/audio/bgm/tall_grass.mp3 differ
diff --git a/public/audio/bgm/temple.mp3 b/public/audio/bgm/temple.mp3
index 810b9f97311..81fa4416575 100644
Binary files a/public/audio/bgm/temple.mp3 and b/public/audio/bgm/temple.mp3 differ
diff --git a/public/audio/bgm/title.mp3 b/public/audio/bgm/title.mp3
index 373b56e3acd..86d4be0da35 100644
Binary files a/public/audio/bgm/title.mp3 and b/public/audio/bgm/title.mp3 differ
diff --git a/public/audio/bgm/town.mp3 b/public/audio/bgm/town.mp3
index dd8d3fa6666..fb197ade121 100644
Binary files a/public/audio/bgm/town.mp3 and b/public/audio/bgm/town.mp3 differ
diff --git a/public/audio/bgm/volcano.mp3 b/public/audio/bgm/volcano.mp3
index 8e5a6ff8d95..093bb86813b 100644
Binary files a/public/audio/bgm/volcano.mp3 and b/public/audio/bgm/volcano.mp3 differ
diff --git a/public/audio/bgm/wasteland.mp3 b/public/audio/bgm/wasteland.mp3
index ee068ac2eac..646cbd89a1f 100644
Binary files a/public/audio/bgm/wasteland.mp3 and b/public/audio/bgm/wasteland.mp3 differ
diff --git a/public/audio/cry/875-noice.m4a b/public/audio/cry/875-no-ice.m4a
similarity index 100%
rename from public/audio/cry/875-noice.m4a
rename to public/audio/cry/875-no-ice.m4a
diff --git a/public/exp-sprites.json b/public/exp-sprites.json
index 16c4a726390..d514814d3f6 100644
--- a/public/exp-sprites.json
+++ b/public/exp-sprites.json
@@ -29,8 +29,8 @@
"15-mega",
"150-mega",
"150-mega",
- "150-mega",
- "150-mega",
+ "150-mega-x",
+ "150-mega-y",
"18-mega",
"18-mega",
"181-mega",
@@ -127,8 +127,8 @@
"384-mega",
"4052",
"4052",
- "4053",
- "4053",
+ "2053",
+ "2053",
"4077",
"4077",
"4078",
@@ -185,8 +185,8 @@
"531-mega",
"6-mega",
"6-mega",
- "6-mega",
- "6-mega",
+ "6-mega-x",
+ "6-mega-y",
"6058",
"6058",
"6059",
@@ -621,7 +621,7 @@
"777",
"778-busted",
"778-busted",
- "778",
+ "778-disguised",
"778",
"779",
"779",
@@ -1161,8 +1161,8 @@
"15b-mega",
"150b-mega",
"150b-mega",
- "150b-mega",
- "150b-mega",
+ "150b-mega-x",
+ "150b-mega-y",
"18b-mega",
"18b-mega",
"181b-mega",
@@ -1259,8 +1259,8 @@
"384b-mega",
"4052b",
"4052b",
- "4053b",
- "4053b",
+ "2053b",
+ "2053b",
"4077b",
"4077b",
"4078b",
@@ -1317,8 +1317,8 @@
"531b-mega",
"6b-mega",
"6b-mega",
- "6b-mega",
- "6b-mega",
+ "6b-mega-x",
+ "6b-mega-y",
"6058b",
"6058b",
"6059b",
@@ -1753,7 +1753,7 @@
"777b",
"778b-busted",
"778b-busted",
- "778b",
+ "778b-disguised",
"778b",
"779b",
"779b",
@@ -2295,8 +2295,8 @@
"15sb-mega",
"150sb-mega",
"150sb-mega",
- "150sb-mega",
- "150sb-mega",
+ "150sb-mega-x",
+ "150sb-mega-y",
"18sb-mega",
"18sb-mega",
"181sb-mega",
@@ -2393,8 +2393,8 @@
"384sb-mega",
"4052sb",
"4052sb",
- "4053sb",
- "4053sb",
+ "2053sb",
+ "2053sb",
"4077sb",
"4077sb",
"4078sb",
@@ -2451,8 +2451,8 @@
"531sb-mega",
"6sb-mega",
"6sb-mega",
- "6sb-mega",
- "6sb-mega",
+ "6sb-mega-x",
+ "6sb-mega-y",
"6058sb",
"6058sb",
"6059sb",
@@ -2885,7 +2885,7 @@
"777sb",
"778sb-busted",
"778sb-busted",
- "778sb",
+ "778sb-disguised",
"778sb",
"779sb",
"779sb",
@@ -3432,8 +3432,8 @@
"15s-mega",
"150s-mega",
"150s-mega",
- "150s-mega",
- "150s-mega",
+ "150s-mega-x",
+ "150s-mega-y",
"18s-mega",
"18s-mega",
"181s-mega",
@@ -3530,8 +3530,8 @@
"384s-mega",
"4052s",
"4052s",
- "4053s",
- "4053s",
+ "2053s",
+ "2053s",
"4077s",
"4077s",
"4078s",
@@ -3588,8 +3588,8 @@
"531s-mega",
"6s-mega",
"6s-mega",
- "6s-mega",
- "6s-mega",
+ "6s-mega-x",
+ "6s-mega-y",
"6058s",
"6058s",
"6059s",
@@ -4024,7 +4024,7 @@
"777s",
"778s-busted",
"778s-busted",
- "778s",
+ "778s-disguised",
"778s",
"779s",
"779s",
diff --git a/public/fonts/PokePT_Wansung.ttf b/public/fonts/PokePT_Wansung.ttf
index a4eca3d3242..cd846107db4 100644
Binary files a/public/fonts/PokePT_Wansung.ttf and b/public/fonts/PokePT_Wansung.ttf differ
diff --git a/public/fonts/unifont-15.1.05.otf b/public/fonts/unifont-15.1.05.otf
new file mode 100644
index 00000000000..3d0dcd3c1a0
Binary files /dev/null and b/public/fonts/unifont-15.1.05.otf differ
diff --git a/public/images/arenas/plains_bg.png b/public/images/arenas/plains_bg.png
index 9455b223318..7815fd8843f 100644
Binary files a/public/images/arenas/plains_bg.png and b/public/images/arenas/plains_bg.png differ
diff --git a/public/images/events/pride-update.png b/public/images/events/pride-update.png
new file mode 100644
index 00000000000..face6df1790
Binary files /dev/null and b/public/images/events/pride-update.png differ
diff --git a/public/images/items.json b/public/images/items.json
index dc05a39354d..33dcf8f5e9a 100644
--- a/public/images/items.json
+++ b/public/images/items.json
@@ -4,8 +4,8 @@
"image": "items.png",
"format": "RGBA8888",
"size": {
- "w": 399,
- "h": 399
+ "w": 415,
+ "h": 415
},
"scale": 1,
"frames": [
@@ -556,7 +556,7 @@
}
},
{
- "filename": "lure",
+ "filename": "legend_plate",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -564,20 +564,20 @@
"h": 32
},
"spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 17,
- "h": 24
+ "x": 3,
+ "y": 6,
+ "w": 25,
+ "h": 20
},
"frame": {
"x": 382,
"y": 0,
- "w": 17,
- "h": 24
+ "w": 25,
+ "h": 20
}
},
{
- "filename": "catching_charm",
+ "filename": "blank_plate",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -585,15 +585,15 @@
"h": 32
},
"spriteSourceSize": {
- "x": 5,
+ "x": 4,
"y": 4,
- "w": 21,
+ "w": 24,
"h": 24
},
"frame": {
"x": 0,
"y": 212,
- "w": 21,
+ "w": 24,
"h": 24
}
},
@@ -619,7 +619,7 @@
}
},
{
- "filename": "focus_band",
+ "filename": "draco_plate",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -640,7 +640,7 @@
}
},
{
- "filename": "golden_punch",
+ "filename": "dread_plate",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -661,7 +661,7 @@
}
},
{
- "filename": "gracidea",
+ "filename": "earth_plate",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -682,7 +682,7 @@
}
},
{
- "filename": "grip_claw",
+ "filename": "fist_plate",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -703,7 +703,7 @@
}
},
{
- "filename": "lucky_punch",
+ "filename": "flame_plate",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -724,7 +724,7 @@
}
},
{
- "filename": "coupon",
+ "filename": "focus_band",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -733,19 +733,19 @@
},
"spriteSourceSize": {
"x": 4,
- "y": 7,
- "w": 23,
- "h": 19
+ "y": 4,
+ "w": 24,
+ "h": 24
},
"frame": {
"x": 0,
"y": 380,
- "w": 23,
- "h": 19
+ "w": 24,
+ "h": 24
}
},
{
- "filename": "golden_mystic_ticket",
+ "filename": "relic_gold",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -753,16 +753,16 @@
"h": 32
},
"spriteSourceSize": {
- "x": 4,
- "y": 7,
- "w": 23,
- "h": 19
+ "x": 9,
+ "y": 11,
+ "w": 15,
+ "h": 11
},
"frame": {
- "x": 23,
- "y": 380,
- "w": 23,
- "h": 19
+ "x": 0,
+ "y": 404,
+ "w": 15,
+ "h": 11
}
},
{
@@ -787,7 +787,7 @@
}
},
{
- "filename": "lucky_punch_great",
+ "filename": "golden_punch",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -808,7 +808,7 @@
}
},
{
- "filename": "lucky_punch_master",
+ "filename": "gracidea",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -829,7 +829,7 @@
}
},
{
- "filename": "kings_rock",
+ "filename": "catching_charm",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -839,18 +839,18 @@
"spriteSourceSize": {
"x": 5,
"y": 4,
- "w": 23,
+ "w": 21,
"h": 24
},
"frame": {
"x": 115,
"y": 26,
- "w": 23,
+ "w": 21,
"h": 24
}
},
{
- "filename": "lucky_punch_ultra",
+ "filename": "grip_claw",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -864,222 +864,12 @@
"h": 24
},
"frame": {
- "x": 138,
+ "x": 136,
"y": 22,
"w": 24,
"h": 24
}
},
- {
- "filename": "lustrous_globe",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 4,
- "w": 24,
- "h": 24
- },
- "frame": {
- "x": 162,
- "y": 21,
- "w": 24,
- "h": 24
- }
- },
- {
- "filename": "muscle_band",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 4,
- "w": 24,
- "h": 24
- },
- "frame": {
- "x": 186,
- "y": 21,
- "w": 24,
- "h": 24
- }
- },
- {
- "filename": "salac_berry",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 4,
- "w": 24,
- "h": 24
- },
- "frame": {
- "x": 210,
- "y": 21,
- "w": 24,
- "h": 24
- }
- },
- {
- "filename": "scanner",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 4,
- "w": 24,
- "h": 24
- },
- "frame": {
- "x": 234,
- "y": 21,
- "w": 24,
- "h": 24
- }
- },
- {
- "filename": "silk_scarf",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 4,
- "w": 24,
- "h": 24
- },
- "frame": {
- "x": 258,
- "y": 21,
- "w": 24,
- "h": 24
- }
- },
- {
- "filename": "sun_stone",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 4,
- "w": 24,
- "h": 24
- },
- "frame": {
- "x": 282,
- "y": 21,
- "w": 24,
- "h": 24
- }
- },
- {
- "filename": "clefairy_doll",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 5,
- "w": 24,
- "h": 23
- },
- "frame": {
- "x": 306,
- "y": 21,
- "w": 24,
- "h": 23
- }
- },
- {
- "filename": "coin_case",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 5,
- "w": 24,
- "h": 23
- },
- "frame": {
- "x": 330,
- "y": 20,
- "w": 24,
- "h": 23
- }
- },
- {
- "filename": "expert_belt",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 4,
- "w": 24,
- "h": 23
- },
- "frame": {
- "x": 354,
- "y": 20,
- "w": 24,
- "h": 23
- }
- },
- {
- "filename": "oval_charm",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 4,
- "w": 21,
- "h": 24
- },
- "frame": {
- "x": 378,
- "y": 24,
- "w": 21,
- "h": 24
- }
- },
{
"filename": "carbos",
"rotated": false,
@@ -1101,174 +891,6 @@
"h": 24
}
},
- {
- "filename": "max_revive",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 4,
- "w": 22,
- "h": 24
- },
- "frame": {
- "x": 21,
- "y": 200,
- "w": 22,
- "h": 24
- }
- },
- {
- "filename": "red_orb",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 4,
- "w": 20,
- "h": 24
- },
- "frame": {
- "x": 24,
- "y": 224,
- "w": 20,
- "h": 24
- }
- },
- {
- "filename": "reveal_glass",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 4,
- "w": 23,
- "h": 24
- },
- "frame": {
- "x": 24,
- "y": 248,
- "w": 23,
- "h": 24
- }
- },
- {
- "filename": "berry_pouch",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 5,
- "w": 23,
- "h": 23
- },
- "frame": {
- "x": 24,
- "y": 272,
- "w": 23,
- "h": 23
- }
- },
- {
- "filename": "dynamax_band",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 4,
- "w": 23,
- "h": 23
- },
- "frame": {
- "x": 24,
- "y": 295,
- "w": 23,
- "h": 23
- }
- },
- {
- "filename": "griseous_core",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 23,
- "h": 23
- },
- "frame": {
- "x": 24,
- "y": 318,
- "w": 23,
- "h": 23
- }
- },
- {
- "filename": "hearthflame_mask",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 4,
- "w": 24,
- "h": 23
- },
- "frame": {
- "x": 24,
- "y": 341,
- "w": 24,
- "h": 23
- }
- },
- {
- "filename": "mega_bracelet",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 8,
- "w": 20,
- "h": 16
- },
- "frame": {
- "x": 24,
- "y": 364,
- "w": 20,
- "h": 16
- }
- },
{
"filename": "elixir",
"rotated": false,
@@ -1354,7 +976,7 @@
}
},
{
- "filename": "shiny_charm",
+ "filename": "icicle_plate",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1362,20 +984,20 @@
"h": 32
},
"spriteSourceSize": {
- "x": 6,
+ "x": 4,
"y": 4,
- "w": 21,
+ "w": 24,
"h": 24
},
"frame": {
"x": 40,
"y": 176,
- "w": 21,
+ "w": 24,
"h": 24
}
},
{
- "filename": "max_elixir",
+ "filename": "insect_plate",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1383,20 +1005,20 @@
"h": 32
},
"spriteSourceSize": {
- "x": 7,
+ "x": 4,
"y": 4,
- "w": 18,
+ "w": 24,
"h": 24
},
"frame": {
- "x": 43,
+ "x": 24,
"y": 200,
- "w": 18,
+ "w": 24,
"h": 24
}
},
{
- "filename": "max_ether",
+ "filename": "iron_plate",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1404,18 +1026,165 @@
"h": 32
},
"spriteSourceSize": {
- "x": 7,
+ "x": 4,
"y": 4,
- "w": 18,
+ "w": 24,
"h": 24
},
"frame": {
- "x": 44,
+ "x": 24,
"y": 224,
- "w": 18,
+ "w": 24,
"h": 24
}
},
+ {
+ "filename": "lucky_punch",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 4,
+ "w": 24,
+ "h": 24
+ },
+ "frame": {
+ "x": 24,
+ "y": 248,
+ "w": 24,
+ "h": 24
+ }
+ },
+ {
+ "filename": "lucky_punch_great",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 4,
+ "w": 24,
+ "h": 24
+ },
+ "frame": {
+ "x": 24,
+ "y": 272,
+ "w": 24,
+ "h": 24
+ }
+ },
+ {
+ "filename": "lucky_punch_master",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 4,
+ "w": 24,
+ "h": 24
+ },
+ "frame": {
+ "x": 24,
+ "y": 296,
+ "w": 24,
+ "h": 24
+ }
+ },
+ {
+ "filename": "lucky_punch_ultra",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 4,
+ "w": 24,
+ "h": 24
+ },
+ "frame": {
+ "x": 24,
+ "y": 320,
+ "w": 24,
+ "h": 24
+ }
+ },
+ {
+ "filename": "lustrous_globe",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 4,
+ "w": 24,
+ "h": 24
+ },
+ "frame": {
+ "x": 24,
+ "y": 344,
+ "w": 24,
+ "h": 24
+ }
+ },
+ {
+ "filename": "meadow_plate",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 4,
+ "w": 24,
+ "h": 24
+ },
+ "frame": {
+ "x": 24,
+ "y": 368,
+ "w": 24,
+ "h": 24
+ }
+ },
+ {
+ "filename": "clefairy_doll",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 24,
+ "h": 23
+ },
+ "frame": {
+ "x": 24,
+ "y": 392,
+ "w": 24,
+ "h": 23
+ }
+ },
{
"filename": "hp_up",
"rotated": false,
@@ -1431,8 +1200,8 @@
"h": 24
},
"frame": {
- "x": 47,
- "y": 248,
+ "x": 48,
+ "y": 200,
"w": 16,
"h": 24
}
@@ -1452,56 +1221,14 @@
"h": 24
},
"frame": {
- "x": 47,
- "y": 272,
+ "x": 48,
+ "y": 224,
"w": 16,
"h": 24
}
},
{
- "filename": "max_lure",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 17,
- "h": 24
- },
- "frame": {
- "x": 47,
- "y": 296,
- "w": 17,
- "h": 24
- }
- },
- {
- "filename": "adamant_crystal",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 6,
- "w": 23,
- "h": 21
- },
- "frame": {
- "x": 47,
- "y": 320,
- "w": 23,
- "h": 21
- }
- },
- {
- "filename": "black_belt",
+ "filename": "kings_rock",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1511,13 +1238,139 @@
"spriteSourceSize": {
"x": 5,
"y": 4,
- "w": 22,
+ "w": 23,
+ "h": 24
+ },
+ "frame": {
+ "x": 48,
+ "y": 248,
+ "w": 23,
+ "h": 24
+ }
+ },
+ {
+ "filename": "mind_plate",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 4,
+ "w": 24,
+ "h": 24
+ },
+ "frame": {
+ "x": 48,
+ "y": 272,
+ "w": 24,
+ "h": 24
+ }
+ },
+ {
+ "filename": "muscle_band",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 4,
+ "w": 24,
+ "h": 24
+ },
+ "frame": {
+ "x": 48,
+ "y": 296,
+ "w": 24,
+ "h": 24
+ }
+ },
+ {
+ "filename": "pixie_plate",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 4,
+ "w": 24,
+ "h": 24
+ },
+ "frame": {
+ "x": 48,
+ "y": 320,
+ "w": 24,
+ "h": 24
+ }
+ },
+ {
+ "filename": "salac_berry",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 4,
+ "w": 24,
+ "h": 24
+ },
+ "frame": {
+ "x": 48,
+ "y": 344,
+ "w": 24,
+ "h": 24
+ }
+ },
+ {
+ "filename": "scanner",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 4,
+ "w": 24,
+ "h": 24
+ },
+ "frame": {
+ "x": 48,
+ "y": 368,
+ "w": 24,
+ "h": 24
+ }
+ },
+ {
+ "filename": "coin_case",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 24,
"h": 23
},
"frame": {
"x": 48,
- "y": 341,
- "w": 22,
+ "y": 392,
+ "w": 24,
"h": 23
}
},
@@ -1536,14 +1389,14 @@
"h": 14
},
"frame": {
- "x": 44,
- "y": 364,
+ "x": 136,
+ "y": 46,
"w": 24,
"h": 14
}
},
{
- "filename": "amulet_coin",
+ "filename": "lure",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1551,20 +1404,20 @@
"h": 32
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
- "w": 23,
- "h": 21
+ "x": 8,
+ "y": 4,
+ "w": 17,
+ "h": 24
},
"frame": {
- "x": 46,
- "y": 378,
- "w": 23,
- "h": 21
+ "x": 160,
+ "y": 22,
+ "w": 17,
+ "h": 24
}
},
{
- "filename": "choice_specs",
+ "filename": "silk_scarf",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1573,15 +1426,225 @@
},
"spriteSourceSize": {
"x": 4,
- "y": 8,
+ "y": 4,
"w": 24,
- "h": 18
+ "h": 24
},
"frame": {
- "x": 138,
- "y": 46,
+ "x": 177,
+ "y": 21,
"w": 24,
- "h": 18
+ "h": 24
+ }
+ },
+ {
+ "filename": "sky_plate",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 4,
+ "w": 24,
+ "h": 24
+ },
+ "frame": {
+ "x": 201,
+ "y": 21,
+ "w": 24,
+ "h": 24
+ }
+ },
+ {
+ "filename": "splash_plate",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 4,
+ "w": 24,
+ "h": 24
+ },
+ "frame": {
+ "x": 225,
+ "y": 21,
+ "w": 24,
+ "h": 24
+ }
+ },
+ {
+ "filename": "spooky_plate",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 4,
+ "w": 24,
+ "h": 24
+ },
+ "frame": {
+ "x": 249,
+ "y": 21,
+ "w": 24,
+ "h": 24
+ }
+ },
+ {
+ "filename": "stone_plate",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 4,
+ "w": 24,
+ "h": 24
+ },
+ "frame": {
+ "x": 273,
+ "y": 21,
+ "w": 24,
+ "h": 24
+ }
+ },
+ {
+ "filename": "sun_stone",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 4,
+ "w": 24,
+ "h": 24
+ },
+ "frame": {
+ "x": 297,
+ "y": 21,
+ "w": 24,
+ "h": 24
+ }
+ },
+ {
+ "filename": "max_elixir",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 4,
+ "w": 18,
+ "h": 24
+ },
+ "frame": {
+ "x": 321,
+ "y": 21,
+ "w": 18,
+ "h": 24
+ }
+ },
+ {
+ "filename": "toxic_plate",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 4,
+ "w": 24,
+ "h": 24
+ },
+ "frame": {
+ "x": 339,
+ "y": 20,
+ "w": 24,
+ "h": 24
+ }
+ },
+ {
+ "filename": "zap_plate",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 4,
+ "w": 24,
+ "h": 24
+ },
+ "frame": {
+ "x": 363,
+ "y": 20,
+ "w": 24,
+ "h": 24
+ }
+ },
+ {
+ "filename": "max_revive",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 4,
+ "w": 22,
+ "h": 24
+ },
+ "frame": {
+ "x": 387,
+ "y": 20,
+ "w": 22,
+ "h": 24
+ }
+ },
+ {
+ "filename": "adamant_crystal",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 6,
+ "w": 23,
+ "h": 21
+ },
+ "frame": {
+ "x": 160,
+ "y": 46,
+ "w": 23,
+ "h": 21
}
},
{
@@ -1599,7 +1662,7 @@
"h": 22
},
"frame": {
- "x": 162,
+ "x": 183,
"y": 45,
"w": 24,
"h": 22
@@ -1620,12 +1683,54 @@
"h": 22
},
"frame": {
- "x": 186,
+ "x": 207,
"y": 45,
"w": 24,
"h": 22
}
},
+ {
+ "filename": "expert_belt",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 4,
+ "w": 24,
+ "h": 23
+ },
+ "frame": {
+ "x": 231,
+ "y": 45,
+ "w": 24,
+ "h": 23
+ }
+ },
+ {
+ "filename": "hearthflame_mask",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 4,
+ "w": 24,
+ "h": 23
+ },
+ "frame": {
+ "x": 255,
+ "y": 45,
+ "w": 24,
+ "h": 23
+ }
+ },
{
"filename": "leppa_berry",
"rotated": false,
@@ -1641,7 +1746,7 @@
"h": 23
},
"frame": {
- "x": 210,
+ "x": 279,
"y": 45,
"w": 24,
"h": 23
@@ -1662,12 +1767,54 @@
"h": 23
},
"frame": {
- "x": 234,
+ "x": 303,
"y": 45,
"w": 24,
"h": 23
}
},
+ {
+ "filename": "berry_pouch",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 23,
+ "h": 23
+ },
+ "frame": {
+ "x": 327,
+ "y": 45,
+ "w": 23,
+ "h": 23
+ }
+ },
+ {
+ "filename": "reveal_glass",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 4,
+ "w": 23,
+ "h": 24
+ },
+ "frame": {
+ "x": 350,
+ "y": 44,
+ "w": 23,
+ "h": 24
+ }
+ },
{
"filename": "twisted_spoon",
"rotated": false,
@@ -1683,54 +1830,54 @@
"h": 23
},
"frame": {
- "x": 258,
- "y": 45,
- "w": 24,
- "h": 23
- }
- },
- {
- "filename": "peat_block",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 5,
- "w": 24,
- "h": 22
- },
- "frame": {
- "x": 282,
- "y": 45,
- "w": 24,
- "h": 22
- }
- },
- {
- "filename": "rare_candy",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 5,
- "w": 23,
- "h": 23
- },
- "frame": {
- "x": 306,
+ "x": 373,
"y": 44,
- "w": 23,
+ "w": 24,
"h": 23
}
},
+ {
+ "filename": "max_ether",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 4,
+ "w": 18,
+ "h": 24
+ },
+ "frame": {
+ "x": 397,
+ "y": 44,
+ "w": 18,
+ "h": 24
+ }
+ },
+ {
+ "filename": "choice_specs",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 8,
+ "w": 24,
+ "h": 18
+ },
+ "frame": {
+ "x": 373,
+ "y": 67,
+ "w": 24,
+ "h": 18
+ }
+ },
{
"filename": "max_potion",
"rotated": false,
@@ -1746,201 +1893,12 @@
"h": 24
},
"frame": {
- "x": 61,
- "y": 176,
+ "x": 397,
+ "y": 68,
"w": 18,
"h": 24
}
},
- {
- "filename": "super_lure",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 17,
- "h": 24
- },
- "frame": {
- "x": 61,
- "y": 200,
- "w": 17,
- "h": 24
- }
- },
- {
- "filename": "max_repel",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 16,
- "h": 24
- },
- "frame": {
- "x": 62,
- "y": 224,
- "w": 16,
- "h": 24
- }
- },
- {
- "filename": "pp_max",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 16,
- "h": 24
- },
- "frame": {
- "x": 63,
- "y": 248,
- "w": 16,
- "h": 24
- }
- },
- {
- "filename": "pp_up",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 16,
- "h": 24
- },
- "frame": {
- "x": 63,
- "y": 272,
- "w": 16,
- "h": 24
- }
- },
- {
- "filename": "protein",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 16,
- "h": 24
- },
- "frame": {
- "x": 64,
- "y": 296,
- "w": 16,
- "h": 24
- }
- },
- {
- "filename": "repel",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 16,
- "h": 24
- },
- "frame": {
- "x": 70,
- "y": 320,
- "w": 16,
- "h": 24
- }
- },
- {
- "filename": "apicot_berry",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 6,
- "w": 19,
- "h": 20
- },
- "frame": {
- "x": 70,
- "y": 344,
- "w": 19,
- "h": 20
- }
- },
- {
- "filename": "bug_tera_shard",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 4,
- "w": 22,
- "h": 23
- },
- "frame": {
- "x": 69,
- "y": 364,
- "w": 22,
- "h": 23
- }
- },
- {
- "filename": "relic_gold",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 11,
- "w": 15,
- "h": 11
- },
- "frame": {
- "x": 69,
- "y": 387,
- "w": 15,
- "h": 11
- }
- },
{
"filename": "dragon_scale",
"rotated": false,
@@ -1956,8 +1914,8 @@
"h": 18
},
"frame": {
- "x": 330,
- "y": 43,
+ "x": 67,
+ "y": 50,
"w": 24,
"h": 18
}
@@ -1976,132 +1934,6 @@
"w": 24,
"h": 20
},
- "frame": {
- "x": 354,
- "y": 43,
- "w": 24,
- "h": 20
- }
- },
- {
- "filename": "dragon_fang",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 21,
- "h": 23
- },
- "frame": {
- "x": 378,
- "y": 48,
- "w": 21,
- "h": 23
- }
- },
- {
- "filename": "rusted_shield",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 6,
- "w": 24,
- "h": 20
- },
- "frame": {
- "x": 329,
- "y": 61,
- "w": 24,
- "h": 20
- }
- },
- {
- "filename": "sacred_ash",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 7,
- "w": 24,
- "h": 20
- },
- "frame": {
- "x": 353,
- "y": 63,
- "w": 24,
- "h": 20
- }
- },
- {
- "filename": "dark_tera_shard",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 4,
- "w": 22,
- "h": 23
- },
- "frame": {
- "x": 377,
- "y": 71,
- "w": 22,
- "h": 23
- }
- },
- {
- "filename": "shadow_reins_of_unity",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 7,
- "w": 24,
- "h": 20
- },
- "frame": {
- "x": 67,
- "y": 50,
- "w": 24,
- "h": 20
- }
- },
- {
- "filename": "soft_sand",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 7,
- "w": 24,
- "h": 20
- },
"frame": {
"x": 91,
"y": 50,
@@ -2110,7 +1942,49 @@
}
},
{
- "filename": "auspicious_armor",
+ "filename": "dragon_fang",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 21,
+ "h": 23
+ },
+ "frame": {
+ "x": 115,
+ "y": 50,
+ "w": 21,
+ "h": 23
+ }
+ },
+ {
+ "filename": "metal_powder",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 6,
+ "w": 24,
+ "h": 20
+ },
+ "frame": {
+ "x": 136,
+ "y": 60,
+ "w": 24,
+ "h": 20
+ }
+ },
+ {
+ "filename": "peat_block",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2120,18 +1994,39 @@
"spriteSourceSize": {
"x": 4,
"y": 5,
- "w": 23,
- "h": 21
+ "w": 24,
+ "h": 22
},
"frame": {
- "x": 115,
- "y": 50,
- "w": 23,
- "h": 21
+ "x": 160,
+ "y": 67,
+ "w": 24,
+ "h": 22
}
},
{
- "filename": "binding_band",
+ "filename": "dynamax_band",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 4,
+ "w": 23,
+ "h": 23
+ },
+ "frame": {
+ "x": 184,
+ "y": 67,
+ "w": 23,
+ "h": 23
+ }
+ },
+ {
+ "filename": "griseous_core",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2140,99 +2035,15 @@
},
"spriteSourceSize": {
"x": 5,
- "y": 6,
+ "y": 5,
"w": 23,
- "h": 20
- },
- "frame": {
- "x": 138,
- "y": 64,
- "w": 23,
- "h": 20
- }
- },
- {
- "filename": "black_glasses",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 8,
- "w": 23,
- "h": 17
- },
- "frame": {
- "x": 161,
- "y": 67,
- "w": 23,
- "h": 17
- }
- },
- {
- "filename": "burn_drive",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 8,
- "w": 23,
- "h": 17
- },
- "frame": {
- "x": 184,
- "y": 67,
- "w": 23,
- "h": 17
- }
- },
- {
- "filename": "chill_drive",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 8,
- "w": 23,
- "h": 17
+ "h": 23
},
"frame": {
"x": 207,
- "y": 68,
+ "y": 67,
"w": 23,
- "h": 17
- }
- },
- {
- "filename": "douse_drive",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 8,
- "w": 23,
- "h": 17
- },
- "frame": {
- "x": 230,
- "y": 68,
- "w": 23,
- "h": 17
+ "h": 23
}
},
{
@@ -2250,14 +2061,14 @@
"h": 22
},
"frame": {
- "x": 253,
+ "x": 230,
"y": 68,
"w": 23,
"h": 22
}
},
{
- "filename": "berry_pot",
+ "filename": "rare_candy",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2265,16 +2076,16 @@
"h": 32
},
"spriteSourceSize": {
- "x": 7,
+ "x": 4,
"y": 5,
- "w": 18,
- "h": 22
+ "w": 23,
+ "h": 23
},
"frame": {
- "x": 276,
+ "x": 253,
"y": 68,
- "w": 18,
- "h": 22
+ "w": 23,
+ "h": 23
}
},
{
@@ -2292,75 +2103,12 @@
"h": 23
},
"frame": {
- "x": 294,
- "y": 67,
+ "x": 276,
+ "y": 68,
"w": 23,
"h": 23
}
},
- {
- "filename": "revive",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 8,
- "w": 12,
- "h": 17
- },
- "frame": {
- "x": 317,
- "y": 67,
- "w": 12,
- "h": 17
- }
- },
- {
- "filename": "moon_stone",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 6,
- "w": 23,
- "h": 21
- },
- "frame": {
- "x": 60,
- "y": 70,
- "w": 23,
- "h": 21
- }
- },
- {
- "filename": "n_lunarizer",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 6,
- "w": 23,
- "h": 21
- },
- "frame": {
- "x": 83,
- "y": 70,
- "w": 23,
- "h": 21
- }
- },
{
"filename": "stick",
"rotated": false,
@@ -2376,12 +2124,96 @@
"h": 23
},
"frame": {
- "x": 57,
- "y": 91,
+ "x": 299,
+ "y": 68,
"w": 23,
"h": 23
}
},
+ {
+ "filename": "black_belt",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 4,
+ "w": 22,
+ "h": 23
+ },
+ "frame": {
+ "x": 322,
+ "y": 68,
+ "w": 22,
+ "h": 23
+ }
+ },
+ {
+ "filename": "bug_tera_shard",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 4,
+ "w": 22,
+ "h": 23
+ },
+ "frame": {
+ "x": 344,
+ "y": 68,
+ "w": 22,
+ "h": 23
+ }
+ },
+ {
+ "filename": "quick_powder",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 6,
+ "w": 24,
+ "h": 20
+ },
+ "frame": {
+ "x": 60,
+ "y": 68,
+ "w": 24,
+ "h": 20
+ }
+ },
+ {
+ "filename": "dark_tera_shard",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 4,
+ "w": 22,
+ "h": 23
+ },
+ "frame": {
+ "x": 57,
+ "y": 88,
+ "w": 22,
+ "h": 23
+ }
+ },
{
"filename": "dragon_tera_shard",
"rotated": false,
@@ -2397,8 +2229,8 @@
"h": 23
},
"frame": {
- "x": 80,
- "y": 91,
+ "x": 57,
+ "y": 111,
"w": 22,
"h": 23
}
@@ -2419,13 +2251,13 @@
},
"frame": {
"x": 57,
- "y": 114,
+ "y": 134,
"w": 22,
"h": 23
}
},
{
- "filename": "super_repel",
+ "filename": "rusted_shield",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2433,16 +2265,16 @@
"h": 32
},
"spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 16,
- "h": 24
+ "x": 4,
+ "y": 6,
+ "w": 24,
+ "h": 20
},
"frame": {
- "x": 57,
- "y": 137,
- "w": 16,
- "h": 24
+ "x": 84,
+ "y": 70,
+ "w": 24,
+ "h": 20
}
},
{
@@ -2461,7 +2293,7 @@
},
"frame": {
"x": 79,
- "y": 114,
+ "y": 90,
"w": 22,
"h": 23
}
@@ -2481,14 +2313,14 @@
"h": 23
},
"frame": {
- "x": 73,
- "y": 137,
+ "x": 79,
+ "y": 113,
"w": 22,
"h": 23
}
},
{
- "filename": "candy_overlay",
+ "filename": "amulet_coin",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2496,41 +2328,20 @@
"h": 32
},
"spriteSourceSize": {
- "x": 8,
- "y": 12,
- "w": 16,
- "h": 15
- },
- "frame": {
- "x": 63,
- "y": 161,
- "w": 16,
- "h": 15
- }
- },
- {
- "filename": "unknown",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 16,
- "h": 24
+ "x": 6,
+ "y": 5,
+ "w": 23,
+ "h": 21
},
"frame": {
"x": 79,
- "y": 160,
- "w": 16,
- "h": 24
+ "y": 136,
+ "w": 23,
+ "h": 21
}
},
{
- "filename": "n_solarizer",
+ "filename": "coupon",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2539,36 +2350,15 @@
},
"spriteSourceSize": {
"x": 4,
- "y": 6,
+ "y": 7,
"w": 23,
- "h": 21
+ "h": 19
},
"frame": {
- "x": 106,
- "y": 71,
+ "x": 63,
+ "y": 157,
"w": 23,
- "h": 21
- }
- },
- {
- "filename": "rusted_sword",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 5,
- "w": 23,
- "h": 22
- },
- "frame": {
- "x": 102,
- "y": 92,
- "w": 23,
- "h": 22
+ "h": 19
}
},
{
@@ -2586,8 +2376,8 @@
"h": 23
},
"frame": {
- "x": 101,
- "y": 114,
+ "x": 64,
+ "y": 176,
"w": 22,
"h": 23
}
@@ -2607,8 +2397,8 @@
"h": 23
},
"frame": {
- "x": 95,
- "y": 137,
+ "x": 64,
+ "y": 199,
"w": 22,
"h": 23
}
@@ -2628,14 +2418,14 @@
"h": 23
},
"frame": {
- "x": 95,
- "y": 160,
+ "x": 64,
+ "y": 222,
"w": 22,
"h": 23
}
},
{
- "filename": "abomasite",
+ "filename": "max_lure",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2644,40 +2434,19 @@
},
"spriteSourceSize": {
"x": 8,
- "y": 8,
- "w": 16,
- "h": 16
- },
- "frame": {
- "x": 79,
- "y": 184,
- "w": 16,
- "h": 16
- }
- },
- {
- "filename": "focus_sash",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
"y": 4,
- "w": 22,
- "h": 23
+ "w": 17,
+ "h": 24
},
"frame": {
- "x": 78,
- "y": 200,
- "w": 22,
- "h": 23
+ "x": 86,
+ "y": 157,
+ "w": 17,
+ "h": 24
}
},
{
- "filename": "ghost_tera_shard",
+ "filename": "oval_charm",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2687,18 +2456,39 @@
"spriteSourceSize": {
"x": 6,
"y": 4,
- "w": 22,
- "h": 23
+ "w": 21,
+ "h": 24
},
"frame": {
- "x": 78,
- "y": 223,
- "w": 22,
- "h": 23
+ "x": 86,
+ "y": 181,
+ "w": 21,
+ "h": 24
}
},
{
- "filename": "shock_drive",
+ "filename": "shiny_charm",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 4,
+ "w": 21,
+ "h": 24
+ },
+ "frame": {
+ "x": 86,
+ "y": 205,
+ "w": 21,
+ "h": 24
+ }
+ },
+ {
+ "filename": "auspicious_armor",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2707,204 +2497,15 @@
},
"spriteSourceSize": {
"x": 4,
- "y": 8,
+ "y": 5,
"w": 23,
- "h": 17
- },
- "frame": {
- "x": 95,
- "y": 183,
- "w": 23,
- "h": 17
- }
- },
- {
- "filename": "grass_tera_shard",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 4,
- "w": 22,
- "h": 23
- },
- "frame": {
- "x": 79,
- "y": 246,
- "w": 22,
- "h": 23
- }
- },
- {
- "filename": "ground_tera_shard",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 4,
- "w": 22,
- "h": 23
- },
- "frame": {
- "x": 79,
- "y": 269,
- "w": 22,
- "h": 23
- }
- },
- {
- "filename": "ice_tera_shard",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 4,
- "w": 22,
- "h": 23
- },
- "frame": {
- "x": 100,
- "y": 200,
- "w": 22,
- "h": 23
- }
- },
- {
- "filename": "never_melt_ice",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 23
- },
- "frame": {
- "x": 100,
- "y": 223,
- "w": 22,
- "h": 23
- }
- },
- {
- "filename": "lansat_berry",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 4,
- "w": 21,
- "h": 23
- },
- "frame": {
- "x": 101,
- "y": 246,
- "w": 21,
- "h": 23
- }
- },
- {
- "filename": "leaf_stone",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 21,
- "h": 23
- },
- "frame": {
- "x": 101,
- "y": 269,
- "w": 21,
- "h": 23
- }
- },
- {
- "filename": "normal_tera_shard",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 4,
- "w": 22,
- "h": 23
- },
- "frame": {
- "x": 80,
- "y": 292,
- "w": 22,
- "h": 23
- }
- },
- {
- "filename": "mystic_water",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 5,
- "w": 20,
- "h": 23
- },
- "frame": {
- "x": 102,
- "y": 292,
- "w": 20,
- "h": 23
- }
- },
- {
- "filename": "petaya_berry",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 23
+ "h": 21
},
"frame": {
"x": 86,
- "y": 315,
- "w": 22,
- "h": 23
+ "y": 229,
+ "w": 23,
+ "h": 21
}
},
{
@@ -2921,393 +2522,57 @@
"w": 15,
"h": 23
},
+ "frame": {
+ "x": 71,
+ "y": 245,
+ "w": 15,
+ "h": 23
+ }
+ },
+ {
+ "filename": "binding_band",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 6,
+ "w": 23,
+ "h": 20
+ },
+ "frame": {
+ "x": 86,
+ "y": 250,
+ "w": 23,
+ "h": 20
+ }
+ },
+ {
+ "filename": "sacred_ash",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 7,
+ "w": 24,
+ "h": 20
+ },
"frame": {
"x": 108,
- "y": 315,
- "w": 15,
- "h": 23
+ "y": 73,
+ "w": 24,
+ "h": 20
}
},
{
- "filename": "poison_tera_shard",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 4,
- "w": 22,
- "h": 23
- },
- "frame": {
- "x": 89,
- "y": 338,
- "w": 22,
- "h": 23
- }
- },
- {
- "filename": "psychic_tera_shard",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 4,
- "w": 22,
- "h": 23
- },
- "frame": {
- "x": 91,
- "y": 361,
- "w": 22,
- "h": 23
- }
- },
- {
- "filename": "hyper_potion",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 5,
- "w": 17,
- "h": 23
- },
- "frame": {
- "x": 111,
- "y": 338,
- "w": 17,
- "h": 23
- }
- },
- {
- "filename": "potion",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 5,
- "w": 17,
- "h": 23
- },
- "frame": {
- "x": 113,
- "y": 361,
- "w": 17,
- "h": 23
- }
- },
- {
- "filename": "prism_scale",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 8,
- "w": 15,
- "h": 15
- },
- "frame": {
- "x": 91,
- "y": 384,
- "w": 15,
- "h": 15
- }
- },
- {
- "filename": "zinc",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 16,
- "h": 24
- },
- "frame": {
- "x": 117,
- "y": 137,
- "w": 16,
- "h": 24
- }
- },
- {
- "filename": "charcoal",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 117,
- "y": 161,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "wise_glasses",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 8,
- "w": 23,
- "h": 17
- },
- "frame": {
- "x": 118,
- "y": 183,
- "w": 23,
- "h": 17
- }
- },
- {
- "filename": "reaper_cloth",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 23
- },
- "frame": {
- "x": 122,
- "y": 200,
- "w": 22,
- "h": 23
- }
- },
- {
- "filename": "rock_tera_shard",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 4,
- "w": 22,
- "h": 23
- },
- "frame": {
- "x": 122,
- "y": 223,
- "w": 22,
- "h": 23
- }
- },
- {
- "filename": "steel_tera_shard",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 4,
- "w": 22,
- "h": 23
- },
- "frame": {
- "x": 122,
- "y": 246,
- "w": 22,
- "h": 23
- }
- },
- {
- "filename": "stellar_tera_shard",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 4,
- "w": 22,
- "h": 23
- },
- "frame": {
- "x": 122,
- "y": 269,
- "w": 22,
- "h": 23
- }
- },
- {
- "filename": "water_tera_shard",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 4,
- "w": 22,
- "h": 23
- },
- "frame": {
- "x": 122,
- "y": 292,
- "w": 22,
- "h": 23
- }
- },
- {
- "filename": "sharp_beak",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 21,
- "h": 23
- },
- "frame": {
- "x": 123,
- "y": 315,
- "w": 21,
- "h": 23
- }
- },
- {
- "filename": "sachet",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 4,
- "w": 18,
- "h": 23
- },
- "frame": {
- "x": 128,
- "y": 338,
- "w": 18,
- "h": 23
- }
- },
- {
- "filename": "super_potion",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 5,
- "w": 17,
- "h": 23
- },
- "frame": {
- "x": 130,
- "y": 361,
- "w": 17,
- "h": 23
- }
- },
- {
- "filename": "whipped_dream",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 4,
- "w": 21,
- "h": 23
- },
- "frame": {
- "x": 123,
- "y": 114,
- "w": 21,
- "h": 23
- }
- },
- {
- "filename": "dire_hit",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 125,
- "y": 92,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "wide_lens",
+ "filename": "focus_sash",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -3321,14 +2586,14 @@
"h": 23
},
"frame": {
- "x": 147,
- "y": 84,
+ "x": 101,
+ "y": 93,
"w": 22,
"h": 23
}
},
{
- "filename": "dna_splicers",
+ "filename": "deep_sea_scale",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -3337,57 +2602,15 @@
},
"spriteSourceSize": {
"x": 5,
- "y": 5,
+ "y": 6,
"w": 22,
- "h": 22
+ "h": 20
},
"frame": {
- "x": 169,
- "y": 84,
+ "x": 101,
+ "y": 116,
"w": 22,
- "h": 22
- }
- },
- {
- "filename": "leftovers",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 5,
- "w": 15,
- "h": 22
- },
- "frame": {
- "x": 191,
- "y": 84,
- "w": 15,
- "h": 22
- }
- },
- {
- "filename": "wellspring_mask",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 5,
- "w": 23,
- "h": 21
- },
- "frame": {
- "x": 206,
- "y": 85,
- "w": 23,
- "h": 21
+ "h": 20
}
},
{
@@ -3405,12 +2628,516 @@
"h": 21
},
"frame": {
- "x": 229,
- "y": 85,
+ "x": 102,
+ "y": 136,
"w": 22,
"h": 21
}
},
+ {
+ "filename": "red_orb",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 4,
+ "w": 20,
+ "h": 24
+ },
+ "frame": {
+ "x": 103,
+ "y": 157,
+ "w": 20,
+ "h": 24
+ }
+ },
+ {
+ "filename": "max_repel",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 4,
+ "w": 16,
+ "h": 24
+ },
+ "frame": {
+ "x": 107,
+ "y": 181,
+ "w": 16,
+ "h": 24
+ }
+ },
+ {
+ "filename": "pp_max",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 4,
+ "w": 16,
+ "h": 24
+ },
+ "frame": {
+ "x": 107,
+ "y": 205,
+ "w": 16,
+ "h": 24
+ }
+ },
+ {
+ "filename": "pp_up",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 4,
+ "w": 16,
+ "h": 24
+ },
+ "frame": {
+ "x": 109,
+ "y": 229,
+ "w": 16,
+ "h": 24
+ }
+ },
+ {
+ "filename": "apicot_berry",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 6,
+ "w": 19,
+ "h": 20
+ },
+ "frame": {
+ "x": 109,
+ "y": 253,
+ "w": 19,
+ "h": 20
+ }
+ },
+ {
+ "filename": "protein",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 4,
+ "w": 16,
+ "h": 24
+ },
+ "frame": {
+ "x": 123,
+ "y": 93,
+ "w": 16,
+ "h": 24
+ }
+ },
+ {
+ "filename": "lansat_berry",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 4,
+ "w": 21,
+ "h": 23
+ },
+ "frame": {
+ "x": 139,
+ "y": 80,
+ "w": 21,
+ "h": 23
+ }
+ },
+ {
+ "filename": "shadow_reins_of_unity",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 7,
+ "w": 24,
+ "h": 20
+ },
+ "frame": {
+ "x": 160,
+ "y": 89,
+ "w": 24,
+ "h": 20
+ }
+ },
+ {
+ "filename": "soft_sand",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 7,
+ "w": 24,
+ "h": 20
+ },
+ "frame": {
+ "x": 184,
+ "y": 90,
+ "w": 24,
+ "h": 20
+ }
+ },
+ {
+ "filename": "moon_stone",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 6,
+ "w": 23,
+ "h": 21
+ },
+ "frame": {
+ "x": 208,
+ "y": 90,
+ "w": 23,
+ "h": 21
+ }
+ },
+ {
+ "filename": "blank_memory",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 231,
+ "y": 90,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "n_lunarizer",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 6,
+ "w": 23,
+ "h": 21
+ },
+ "frame": {
+ "x": 253,
+ "y": 91,
+ "w": 23,
+ "h": 21
+ }
+ },
+ {
+ "filename": "n_solarizer",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 6,
+ "w": 23,
+ "h": 21
+ },
+ "frame": {
+ "x": 276,
+ "y": 91,
+ "w": 23,
+ "h": 21
+ }
+ },
+ {
+ "filename": "rusted_sword",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 23,
+ "h": 22
+ },
+ "frame": {
+ "x": 299,
+ "y": 91,
+ "w": 23,
+ "h": 22
+ }
+ },
+ {
+ "filename": "bug_memory",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 322,
+ "y": 91,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "charcoal",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 344,
+ "y": 91,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "dusk_stone",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 6,
+ "w": 21,
+ "h": 21
+ },
+ "frame": {
+ "x": 139,
+ "y": 103,
+ "w": 21,
+ "h": 21
+ }
+ },
+ {
+ "filename": "mystery_egg",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 8,
+ "w": 16,
+ "h": 18
+ },
+ "frame": {
+ "x": 123,
+ "y": 117,
+ "w": 16,
+ "h": 18
+ }
+ },
+ {
+ "filename": "black_glasses",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 8,
+ "w": 23,
+ "h": 17
+ },
+ "frame": {
+ "x": 160,
+ "y": 109,
+ "w": 23,
+ "h": 17
+ }
+ },
+ {
+ "filename": "burn_drive",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 8,
+ "w": 23,
+ "h": 17
+ },
+ "frame": {
+ "x": 183,
+ "y": 110,
+ "w": 23,
+ "h": 17
+ }
+ },
+ {
+ "filename": "ghost_tera_shard",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 4,
+ "w": 22,
+ "h": 23
+ },
+ "frame": {
+ "x": 366,
+ "y": 85,
+ "w": 22,
+ "h": 23
+ }
+ },
+ {
+ "filename": "chill_drive",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 8,
+ "w": 23,
+ "h": 17
+ },
+ "frame": {
+ "x": 206,
+ "y": 111,
+ "w": 23,
+ "h": 17
+ }
+ },
+ {
+ "filename": "douse_drive",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 8,
+ "w": 23,
+ "h": 17
+ },
+ "frame": {
+ "x": 229,
+ "y": 112,
+ "w": 23,
+ "h": 17
+ }
+ },
+ {
+ "filename": "golden_mystic_ticket",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 7,
+ "w": 23,
+ "h": 19
+ },
+ "frame": {
+ "x": 252,
+ "y": 112,
+ "w": 23,
+ "h": 19
+ }
+ },
{
"filename": "mystic_ticket",
"rotated": false,
@@ -3426,8 +3153,8 @@
"h": 19
},
"frame": {
- "x": 251,
- "y": 90,
+ "x": 275,
+ "y": 112,
"w": 23,
"h": 19
}
@@ -3447,14 +3174,56 @@
"h": 19
},
"frame": {
- "x": 274,
- "y": 90,
+ "x": 298,
+ "y": 113,
"w": 23,
"h": 19
}
},
{
- "filename": "big_nugget",
+ "filename": "reviver_seed",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 8,
+ "w": 23,
+ "h": 20
+ },
+ "frame": {
+ "x": 321,
+ "y": 113,
+ "w": 23,
+ "h": 20
+ }
+ },
+ {
+ "filename": "dark_memory",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 344,
+ "y": 113,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "grass_tera_shard",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -3463,17 +3232,374 @@
},
"spriteSourceSize": {
"x": 6,
- "y": 6,
+ "y": 4,
+ "w": 22,
+ "h": 23
+ },
+ "frame": {
+ "x": 366,
+ "y": 108,
+ "w": 22,
+ "h": 23
+ }
+ },
+ {
+ "filename": "berry_pot",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 5,
+ "w": 18,
+ "h": 22
+ },
+ "frame": {
+ "x": 124,
+ "y": 135,
+ "w": 18,
+ "h": 22
+ }
+ },
+ {
+ "filename": "ground_tera_shard",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 4,
+ "w": 22,
+ "h": 23
+ },
+ "frame": {
+ "x": 123,
+ "y": 157,
+ "w": 22,
+ "h": 23
+ }
+ },
+ {
+ "filename": "ice_tera_shard",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 4,
+ "w": 22,
+ "h": 23
+ },
+ "frame": {
+ "x": 123,
+ "y": 180,
+ "w": 22,
+ "h": 23
+ }
+ },
+ {
+ "filename": "never_melt_ice",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 22,
+ "h": 23
+ },
+ "frame": {
+ "x": 123,
+ "y": 203,
+ "w": 22,
+ "h": 23
+ }
+ },
+ {
+ "filename": "leaf_stone",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 21,
+ "h": 23
+ },
+ "frame": {
+ "x": 125,
+ "y": 226,
+ "w": 21,
+ "h": 23
+ }
+ },
+ {
+ "filename": "mystic_water",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 5,
"w": 20,
+ "h": 23
+ },
+ "frame": {
+ "x": 128,
+ "y": 249,
+ "w": 20,
+ "h": 23
+ }
+ },
+ {
+ "filename": "normal_tera_shard",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 4,
+ "w": 22,
+ "h": 23
+ },
+ "frame": {
+ "x": 388,
+ "y": 92,
+ "w": 22,
+ "h": 23
+ }
+ },
+ {
+ "filename": "blunder_policy",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 6,
+ "w": 22,
+ "h": 19
+ },
+ "frame": {
+ "x": 388,
+ "y": 115,
+ "w": 22,
+ "h": 19
+ }
+ },
+ {
+ "filename": "sachet",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 4,
+ "w": 18,
+ "h": 23
+ },
+ "frame": {
+ "x": 142,
+ "y": 124,
+ "w": 18,
+ "h": 23
+ }
+ },
+ {
+ "filename": "wellspring_mask",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 23,
+ "h": 21
+ },
+ "frame": {
+ "x": 160,
+ "y": 126,
+ "w": 23,
+ "h": 21
+ }
+ },
+ {
+ "filename": "shell_bell",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 7,
+ "w": 23,
"h": 20
},
"frame": {
- "x": 297,
- "y": 90,
- "w": 20,
+ "x": 183,
+ "y": 127,
+ "w": 23,
"h": 20
}
},
+ {
+ "filename": "relic_crown",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 7,
+ "w": 23,
+ "h": 18
+ },
+ "frame": {
+ "x": 206,
+ "y": 128,
+ "w": 23,
+ "h": 18
+ }
+ },
+ {
+ "filename": "shock_drive",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 8,
+ "w": 23,
+ "h": 17
+ },
+ "frame": {
+ "x": 229,
+ "y": 129,
+ "w": 23,
+ "h": 17
+ }
+ },
+ {
+ "filename": "wise_glasses",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 8,
+ "w": 23,
+ "h": 17
+ },
+ "frame": {
+ "x": 252,
+ "y": 131,
+ "w": 23,
+ "h": 17
+ }
+ },
+ {
+ "filename": "dire_hit",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 275,
+ "y": 131,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "dna_splicers",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 297,
+ "y": 132,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "dragon_memory",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 319,
+ "y": 133,
+ "w": 22,
+ "h": 22
+ }
+ },
{
"filename": "electirizer",
"rotated": false,
@@ -3489,12 +3615,264 @@
"h": 22
},
"frame": {
- "x": 317,
- "y": 84,
+ "x": 341,
+ "y": 135,
"w": 22,
"h": 22
}
},
+ {
+ "filename": "petaya_berry",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 22,
+ "h": 23
+ },
+ "frame": {
+ "x": 145,
+ "y": 147,
+ "w": 22,
+ "h": 23
+ }
+ },
+ {
+ "filename": "poison_tera_shard",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 4,
+ "w": 22,
+ "h": 23
+ },
+ "frame": {
+ "x": 167,
+ "y": 147,
+ "w": 22,
+ "h": 23
+ }
+ },
+ {
+ "filename": "psychic_tera_shard",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 4,
+ "w": 22,
+ "h": 23
+ },
+ "frame": {
+ "x": 145,
+ "y": 170,
+ "w": 22,
+ "h": 23
+ }
+ },
+ {
+ "filename": "reaper_cloth",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 22,
+ "h": 23
+ },
+ "frame": {
+ "x": 145,
+ "y": 193,
+ "w": 22,
+ "h": 23
+ }
+ },
+ {
+ "filename": "rock_tera_shard",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 4,
+ "w": 22,
+ "h": 23
+ },
+ "frame": {
+ "x": 167,
+ "y": 170,
+ "w": 22,
+ "h": 23
+ }
+ },
+ {
+ "filename": "steel_tera_shard",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 4,
+ "w": 22,
+ "h": 23
+ },
+ "frame": {
+ "x": 167,
+ "y": 193,
+ "w": 22,
+ "h": 23
+ }
+ },
+ {
+ "filename": "super_lure",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 4,
+ "w": 17,
+ "h": 24
+ },
+ "frame": {
+ "x": 189,
+ "y": 147,
+ "w": 17,
+ "h": 24
+ }
+ },
+ {
+ "filename": "stellar_tera_shard",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 4,
+ "w": 22,
+ "h": 23
+ },
+ "frame": {
+ "x": 206,
+ "y": 146,
+ "w": 22,
+ "h": 23
+ }
+ },
+ {
+ "filename": "water_tera_shard",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 4,
+ "w": 22,
+ "h": 23
+ },
+ "frame": {
+ "x": 228,
+ "y": 146,
+ "w": 22,
+ "h": 23
+ }
+ },
+ {
+ "filename": "electric_memory",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 250,
+ "y": 148,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "hyper_potion",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 5,
+ "w": 17,
+ "h": 23
+ },
+ "frame": {
+ "x": 189,
+ "y": 171,
+ "w": 17,
+ "h": 23
+ }
+ },
+ {
+ "filename": "wide_lens",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 4,
+ "w": 22,
+ "h": 23
+ },
+ "frame": {
+ "x": 206,
+ "y": 169,
+ "w": 22,
+ "h": 23
+ }
+ },
{
"filename": "enigma_berry",
"rotated": false,
@@ -3510,8 +3888,134 @@
"h": 22
},
"frame": {
- "x": 133,
- "y": 137,
+ "x": 228,
+ "y": 169,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "fairy_memory",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 250,
+ "y": 170,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "fighting_memory",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 272,
+ "y": 153,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "fire_memory",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 294,
+ "y": 154,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "dubious_disc",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 7,
+ "w": 22,
+ "h": 19
+ },
+ "frame": {
+ "x": 272,
+ "y": 175,
+ "w": 22,
+ "h": 19
+ }
+ },
+ {
+ "filename": "fairy_feather",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 7,
+ "w": 22,
+ "h": 20
+ },
+ "frame": {
+ "x": 294,
+ "y": 176,
+ "w": 22,
+ "h": 20
+ }
+ },
+ {
+ "filename": "flying_memory",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 316,
+ "y": 155,
"w": 22,
"h": 22
}
@@ -3531,14 +4035,14 @@
"h": 22
},
"frame": {
- "x": 139,
- "y": 159,
+ "x": 316,
+ "y": 177,
"w": 22,
"h": 22
}
},
{
- "filename": "blunder_policy",
+ "filename": "ghost_memory",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -3547,15 +4051,78 @@
},
"spriteSourceSize": {
"x": 5,
- "y": 6,
+ "y": 5,
"w": 22,
- "h": 19
+ "h": 22
},
"frame": {
- "x": 141,
- "y": 181,
+ "x": 338,
+ "y": 157,
"w": 22,
- "h": 19
+ "h": 22
+ }
+ },
+ {
+ "filename": "grass_memory",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 338,
+ "y": 179,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "ground_memory",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 189,
+ "y": 194,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "potion",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 5,
+ "w": 17,
+ "h": 23
+ },
+ "frame": {
+ "x": 211,
+ "y": 192,
+ "w": 17,
+ "h": 23
}
},
{
@@ -3573,8 +4140,29 @@
"h": 22
},
"frame": {
- "x": 144,
- "y": 200,
+ "x": 228,
+ "y": 191,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "ice_memory",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 250,
+ "y": 192,
"w": 22,
"h": 22
}
@@ -3594,159 +4182,12 @@
"h": 22
},
"frame": {
- "x": 144,
- "y": 222,
+ "x": 272,
+ "y": 194,
"w": 22,
"h": 22
}
},
- {
- "filename": "magmarizer",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 144,
- "y": 244,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "memory_bug",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 144,
- "y": 266,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "memory_dark",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 144,
- "y": 288,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "memory_dragon",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 144,
- "y": 310,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "hard_meteorite",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 20,
- "h": 22
- },
- "frame": {
- "x": 146,
- "y": 332,
- "w": 20,
- "h": 22
- }
- },
- {
- "filename": "lock_capsule",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 19,
- "h": 22
- },
- "frame": {
- "x": 147,
- "y": 354,
- "w": 19,
- "h": 22
- }
- },
- {
- "filename": "deep_sea_scale",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 6,
- "w": 22,
- "h": 20
- },
- "frame": {
- "x": 147,
- "y": 107,
- "w": 22,
- "h": 20
- }
- },
{
"filename": "liechi_berry",
"rotated": false,
@@ -3762,14 +4203,14 @@
"h": 21
},
"frame": {
- "x": 169,
- "y": 106,
+ "x": 294,
+ "y": 196,
"w": 22,
"h": 21
}
},
{
- "filename": "memory_electric",
+ "filename": "magmarizer",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -3783,495 +4224,12 @@
"h": 22
},
"frame": {
- "x": 191,
- "y": 106,
+ "x": 316,
+ "y": 199,
"w": 22,
"h": 22
}
},
- {
- "filename": "memory_fairy",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 213,
- "y": 106,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "mystery_egg",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 8,
- "w": 16,
- "h": 18
- },
- "frame": {
- "x": 235,
- "y": 106,
- "w": 16,
- "h": 18
- }
- },
- {
- "filename": "relic_crown",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 7,
- "w": 23,
- "h": 18
- },
- "frame": {
- "x": 251,
- "y": 109,
- "w": 23,
- "h": 18
- }
- },
- {
- "filename": "reviver_seed",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 8,
- "w": 23,
- "h": 20
- },
- "frame": {
- "x": 274,
- "y": 109,
- "w": 23,
- "h": 20
- }
- },
- {
- "filename": "blue_orb",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 6,
- "w": 20,
- "h": 20
- },
- "frame": {
- "x": 297,
- "y": 110,
- "w": 20,
- "h": 20
- }
- },
- {
- "filename": "memory_fighting",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 317,
- "y": 106,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "memory_fire",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 155,
- "y": 127,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "memory_flying",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 339,
- "y": 83,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "memory_ghost",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 339,
- "y": 105,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "absolite",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 8,
- "w": 16,
- "h": 16
- },
- "frame": {
- "x": 361,
- "y": 83,
- "w": 16,
- "h": 16
- }
- },
- {
- "filename": "memory_grass",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 377,
- "y": 94,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "aerodactylite",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 8,
- "w": 16,
- "h": 16
- },
- "frame": {
- "x": 361,
- "y": 99,
- "w": 16,
- "h": 16
- }
- },
- {
- "filename": "aggronite",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 8,
- "w": 16,
- "h": 16
- },
- "frame": {
- "x": 361,
- "y": 115,
- "w": 16,
- "h": 16
- }
- },
- {
- "filename": "memory_ground",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 377,
- "y": 116,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "memory_ice",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 177,
- "y": 128,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "memory_normal",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 199,
- "y": 128,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "tm_normal",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 199,
- "y": 128,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "memory_poison",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 221,
- "y": 128,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "memory_psychic",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 243,
- "y": 127,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "shell_bell",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 7,
- "w": 23,
- "h": 20
- },
- "frame": {
- "x": 265,
- "y": 129,
- "w": 23,
- "h": 20
- }
- },
- {
- "filename": "dubious_disc",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 7,
- "w": 22,
- "h": 19
- },
- "frame": {
- "x": 288,
- "y": 130,
- "w": 22,
- "h": 19
- }
- },
- {
- "filename": "big_mushroom",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 6,
- "w": 19,
- "h": 19
- },
- "frame": {
- "x": 147,
- "y": 376,
- "w": 19,
- "h": 19
- }
- },
- {
- "filename": "fairy_feather",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 7,
- "w": 22,
- "h": 20
- },
- "frame": {
- "x": 339,
- "y": 127,
- "w": 22,
- "h": 20
- }
- },
{
"filename": "malicious_armor",
"rotated": false,
@@ -4287,117 +4245,12 @@
"h": 20
},
"frame": {
- "x": 317,
- "y": 128,
+ "x": 338,
+ "y": 201,
"w": 22,
"h": 20
}
},
- {
- "filename": "alakazite",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 8,
- "w": 16,
- "h": 16
- },
- "frame": {
- "x": 361,
- "y": 131,
- "w": 16,
- "h": 16
- }
- },
- {
- "filename": "memory_rock",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 377,
- "y": 138,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "altarianite",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 8,
- "w": 16,
- "h": 16
- },
- "frame": {
- "x": 161,
- "y": 149,
- "w": 16,
- "h": 16
- }
- },
- {
- "filename": "memory_steel",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 177,
- "y": 150,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "memory_water",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 199,
- "y": 150,
- "w": 22,
- "h": 22
- }
- },
{
"filename": "mini_black_hole",
"rotated": false,
@@ -4413,8 +4266,29 @@
"h": 22
},
"frame": {
- "x": 221,
- "y": 150,
+ "x": 146,
+ "y": 216,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "poison_memory",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 168,
+ "y": 216,
"w": 22,
"h": 22
}
@@ -4434,8 +4308,71 @@
"h": 22
},
"frame": {
- "x": 243,
- "y": 149,
+ "x": 190,
+ "y": 216,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "repel",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 4,
+ "w": 16,
+ "h": 24
+ },
+ "frame": {
+ "x": 212,
+ "y": 215,
+ "w": 16,
+ "h": 24
+ }
+ },
+ {
+ "filename": "psychic_memory",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 228,
+ "y": 213,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "rock_memory",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 250,
+ "y": 214,
"w": 22,
"h": 22
}
@@ -4455,8 +4392,8 @@
"h": 22
},
"frame": {
- "x": 265,
- "y": 149,
+ "x": 272,
+ "y": 216,
"w": 22,
"h": 22
}
@@ -4476,75 +4413,12 @@
"h": 22
},
"frame": {
- "x": 287,
- "y": 149,
+ "x": 294,
+ "y": 217,
"w": 22,
"h": 22
}
},
- {
- "filename": "ampharosite",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 8,
- "w": 16,
- "h": 16
- },
- "frame": {
- "x": 161,
- "y": 165,
- "w": 16,
- "h": 16
- }
- },
- {
- "filename": "lum_berry",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 7,
- "w": 20,
- "h": 19
- },
- "frame": {
- "x": 163,
- "y": 181,
- "w": 20,
- "h": 19
- }
- },
- {
- "filename": "metal_coat",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 5,
- "w": 19,
- "h": 22
- },
- "frame": {
- "x": 166,
- "y": 200,
- "w": 19,
- "h": 22
- }
- },
{
"filename": "shed_shell",
"rotated": false,
@@ -4560,8 +4434,8 @@
"h": 22
},
"frame": {
- "x": 166,
- "y": 222,
+ "x": 316,
+ "y": 221,
"w": 22,
"h": 22
}
@@ -4581,14 +4455,35 @@
"h": 22
},
"frame": {
- "x": 166,
- "y": 244,
+ "x": 338,
+ "y": 221,
"w": 22,
"h": 22
}
},
{
- "filename": "thunder_stone",
+ "filename": "sharp_beak",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 21,
+ "h": 23
+ },
+ "frame": {
+ "x": 148,
+ "y": 238,
+ "w": 21,
+ "h": 23
+ }
+ },
+ {
+ "filename": "steel_memory",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -4602,14 +4497,77 @@
"h": 22
},
"frame": {
- "x": 166,
- "y": 266,
+ "x": 169,
+ "y": 238,
"w": 22,
"h": 22
}
},
{
- "filename": "tm_bug",
+ "filename": "whipped_dream",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 4,
+ "w": 21,
+ "h": 23
+ },
+ "frame": {
+ "x": 191,
+ "y": 238,
+ "w": 21,
+ "h": 23
+ }
+ },
+ {
+ "filename": "hard_meteorite",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 5,
+ "w": 20,
+ "h": 22
+ },
+ "frame": {
+ "x": 212,
+ "y": 239,
+ "w": 20,
+ "h": 22
+ }
+ },
+ {
+ "filename": "super_potion",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 5,
+ "w": 17,
+ "h": 23
+ },
+ "frame": {
+ "x": 232,
+ "y": 235,
+ "w": 17,
+ "h": 23
+ }
+ },
+ {
+ "filename": "thick_club",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -4623,71 +4581,8 @@
"h": 22
},
"frame": {
- "x": 166,
- "y": 288,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "tm_dark",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 166,
- "y": 310,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "tm_dragon",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 166,
- "y": 332,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "tm_electric",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 166,
- "y": 354,
+ "x": 249,
+ "y": 236,
"w": 22,
"h": 22
}
@@ -4707,474 +4602,12 @@
"h": 21
},
"frame": {
- "x": 166,
- "y": 376,
+ "x": 271,
+ "y": 238,
"w": 22,
"h": 21
}
},
- {
- "filename": "tm_fairy",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 183,
- "y": 172,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "tm_fighting",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 205,
- "y": 172,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "metronome",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 17,
- "h": 22
- },
- "frame": {
- "x": 227,
- "y": 172,
- "w": 17,
- "h": 22
- }
- },
- {
- "filename": "tm_fire",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 244,
- "y": 171,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "tm_flying",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 266,
- "y": 171,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "tm_ghost",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 288,
- "y": 171,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "tm_grass",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 185,
- "y": 194,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "tm_ground",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 207,
- "y": 194,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "tm_ice",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 188,
- "y": 216,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "tm_poison",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 188,
- "y": 238,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "tm_psychic",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 188,
- "y": 260,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "tm_rock",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 188,
- "y": 282,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "tm_steel",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 188,
- "y": 304,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "tm_water",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 188,
- "y": 326,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "water_stone",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 188,
- "y": 348,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "x_accuracy",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 188,
- "y": 370,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "sitrus_berry",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 5,
- "w": 20,
- "h": 22
- },
- "frame": {
- "x": 210,
- "y": 216,
- "w": 20,
- "h": 22
- }
- },
- {
- "filename": "x_attack",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 210,
- "y": 238,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "x_defense",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 210,
- "y": 260,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "x_sp_atk",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 210,
- "y": 282,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "x_sp_def",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 210,
- "y": 304,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "x_speed",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 210,
- "y": 326,
- "w": 22,
- "h": 22
- }
- },
{
"filename": "syrupy_apple",
"rotated": false,
@@ -5190,8 +4623,8 @@
"h": 21
},
"frame": {
- "x": 210,
- "y": 348,
+ "x": 293,
+ "y": 239,
"w": 22,
"h": 21
}
@@ -5211,14 +4644,14 @@
"h": 21
},
"frame": {
- "x": 210,
- "y": 369,
+ "x": 315,
+ "y": 243,
"w": 22,
"h": 21
}
},
{
- "filename": "soothe_bell",
+ "filename": "thunder_stone",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -5226,41 +4659,20 @@
"h": 32
},
"spriteSourceSize": {
- "x": 8,
+ "x": 5,
"y": 5,
- "w": 17,
+ "w": 22,
"h": 22
},
"frame": {
- "x": 229,
- "y": 194,
- "w": 17,
+ "x": 337,
+ "y": 243,
+ "w": 22,
"h": 22
}
},
{
- "filename": "dusk_stone",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 6,
- "w": 21,
- "h": 21
- },
- "frame": {
- "x": 246,
- "y": 193,
- "w": 21,
- "h": 21
- }
- },
- {
- "filename": "poison_barb",
+ "filename": "masterpiece_teacup",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -5269,57 +4681,15 @@
},
"spriteSourceSize": {
"x": 5,
- "y": 6,
+ "y": 7,
"w": 21,
- "h": 21
+ "h": 18
},
"frame": {
- "x": 267,
- "y": 193,
+ "x": 148,
+ "y": 261,
"w": 21,
- "h": 21
- }
- },
- {
- "filename": "shiny_stone",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 6,
- "w": 21,
- "h": 21
- },
- "frame": {
- "x": 288,
- "y": 193,
- "w": 21,
- "h": 21
- }
- },
- {
- "filename": "dawn_stone",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 6,
- "w": 20,
- "h": 21
- },
- "frame": {
- "x": 230,
- "y": 216,
- "w": 20,
- "h": 21
+ "h": 18
}
},
{
@@ -5337,14 +4707,14 @@
"h": 20
},
"frame": {
- "x": 250,
- "y": 214,
+ "x": 169,
+ "y": 260,
"w": 22,
"h": 20
}
},
{
- "filename": "upgrade",
+ "filename": "tm_bug",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -5353,40 +4723,19 @@
},
"spriteSourceSize": {
"x": 5,
- "y": 7,
+ "y": 5,
"w": 22,
- "h": 19
+ "h": 22
},
"frame": {
- "x": 272,
- "y": 214,
+ "x": 191,
+ "y": 261,
"w": 22,
- "h": 19
+ "h": 22
}
},
{
- "filename": "quick_claw",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 6,
- "w": 19,
- "h": 21
- },
- "frame": {
- "x": 232,
- "y": 237,
- "w": 19,
- "h": 21
- }
- },
- {
- "filename": "spell_tag",
+ "filename": "lock_capsule",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -5395,19 +4744,19 @@
},
"spriteSourceSize": {
"x": 7,
- "y": 6,
+ "y": 5,
"w": 19,
- "h": 21
+ "h": 22
},
"frame": {
- "x": 232,
- "y": 258,
+ "x": 213,
+ "y": 261,
"w": 19,
- "h": 21
+ "h": 22
}
},
{
- "filename": "zoom_lens",
+ "filename": "tm_dark",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -5416,19 +4765,166 @@
},
"spriteSourceSize": {
"x": 5,
- "y": 6,
- "w": 21,
- "h": 21
+ "y": 5,
+ "w": 22,
+ "h": 22
},
"frame": {
"x": 232,
- "y": 279,
- "w": 21,
- "h": 21
+ "y": 258,
+ "w": 22,
+ "h": 22
}
},
{
- "filename": "gb",
+ "filename": "metronome",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 5,
+ "w": 17,
+ "h": 22
+ },
+ "frame": {
+ "x": 254,
+ "y": 258,
+ "w": 17,
+ "h": 22
+ }
+ },
+ {
+ "filename": "tm_dragon",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 271,
+ "y": 259,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "tm_electric",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 293,
+ "y": 260,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "tm_fairy",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 315,
+ "y": 264,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "tm_fighting",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 337,
+ "y": 265,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "tm_fire",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 366,
+ "y": 131,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "tm_flying",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 388,
+ "y": 134,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "big_nugget",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -5442,71 +4938,8 @@
"h": 20
},
"frame": {
- "x": 232,
- "y": 300,
- "w": 20,
- "h": 20
- }
- },
- {
- "filename": "magnet",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 6,
- "w": 20,
- "h": 20
- },
- "frame": {
- "x": 232,
- "y": 320,
- "w": 20,
- "h": 20
- }
- },
- {
- "filename": "mb",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 6,
- "w": 20,
- "h": 20
- },
- "frame": {
- "x": 232,
- "y": 340,
- "w": 20,
- "h": 20
- }
- },
- {
- "filename": "pb",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 6,
- "w": 20,
- "h": 20
- },
- "frame": {
- "x": 232,
- "y": 360,
+ "x": 128,
+ "y": 272,
"w": 20,
"h": 20
}
@@ -5526,14 +4959,14 @@
"h": 19
},
"frame": {
- "x": 232,
- "y": 380,
+ "x": 148,
+ "y": 279,
"w": 21,
"h": 19
}
},
{
- "filename": "pb_gold",
+ "filename": "tm_ghost",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -5541,20 +4974,608 @@
"h": 32
},
"spriteSourceSize": {
- "x": 6,
- "y": 6,
- "w": 20,
- "h": 20
+ "x": 5,
+ "y": 5,
+ "w": 22,
+ "h": 22
},
"frame": {
- "x": 251,
- "y": 234,
- "w": 20,
- "h": 20
+ "x": 169,
+ "y": 280,
+ "w": 22,
+ "h": 22
}
},
{
- "filename": "rb",
+ "filename": "tm_grass",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 191,
+ "y": 283,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "metal_coat",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 5,
+ "w": 19,
+ "h": 22
+ },
+ "frame": {
+ "x": 213,
+ "y": 283,
+ "w": 19,
+ "h": 22
+ }
+ },
+ {
+ "filename": "tm_ground",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 232,
+ "y": 280,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "soothe_bell",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 5,
+ "w": 17,
+ "h": 22
+ },
+ "frame": {
+ "x": 254,
+ "y": 280,
+ "w": 17,
+ "h": 22
+ }
+ },
+ {
+ "filename": "tm_ice",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 271,
+ "y": 281,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "tm_normal",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 293,
+ "y": 282,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "tm_poison",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 315,
+ "y": 286,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "tm_psychic",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 337,
+ "y": 287,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "tm_rock",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 72,
+ "y": 270,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "tm_steel",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 72,
+ "y": 292,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "tm_water",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 72,
+ "y": 314,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "water_memory",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 72,
+ "y": 336,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "water_stone",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 72,
+ "y": 358,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "x_accuracy",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 72,
+ "y": 380,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "leftovers",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 5,
+ "w": 15,
+ "h": 22
+ },
+ "frame": {
+ "x": 94,
+ "y": 270,
+ "w": 15,
+ "h": 22
+ }
+ },
+ {
+ "filename": "big_mushroom",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 6,
+ "w": 19,
+ "h": 19
+ },
+ "frame": {
+ "x": 109,
+ "y": 273,
+ "w": 19,
+ "h": 19
+ }
+ },
+ {
+ "filename": "x_attack",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 94,
+ "y": 292,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "x_defense",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 116,
+ "y": 292,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "x_sp_atk",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 94,
+ "y": 314,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "x_sp_def",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 94,
+ "y": 336,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "x_speed",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 5,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 116,
+ "y": 314,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "poison_barb",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 6,
+ "w": 21,
+ "h": 21
+ },
+ "frame": {
+ "x": 94,
+ "y": 358,
+ "w": 21,
+ "h": 21
+ }
+ },
+ {
+ "filename": "shiny_stone",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 6,
+ "w": 21,
+ "h": 21
+ },
+ "frame": {
+ "x": 116,
+ "y": 336,
+ "w": 21,
+ "h": 21
+ }
+ },
+ {
+ "filename": "sitrus_berry",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 5,
+ "w": 20,
+ "h": 22
+ },
+ "frame": {
+ "x": 94,
+ "y": 379,
+ "w": 20,
+ "h": 22
+ }
+ },
+ {
+ "filename": "zoom_lens",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 6,
+ "w": 21,
+ "h": 21
+ },
+ "frame": {
+ "x": 138,
+ "y": 298,
+ "w": 21,
+ "h": 21
+ }
+ },
+ {
+ "filename": "sharp_meteorite",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 8,
+ "w": 21,
+ "h": 18
+ },
+ "frame": {
+ "x": 138,
+ "y": 319,
+ "w": 21,
+ "h": 18
+ }
+ },
+ {
+ "filename": "upgrade",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 7,
+ "w": 22,
+ "h": 19
+ },
+ "frame": {
+ "x": 137,
+ "y": 337,
+ "w": 22,
+ "h": 19
+ }
+ },
+ {
+ "filename": "dawn_stone",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 6,
+ "w": 20,
+ "h": 21
+ },
+ "frame": {
+ "x": 159,
+ "y": 302,
+ "w": 20,
+ "h": 21
+ }
+ },
+ {
+ "filename": "blue_orb",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -5568,54 +5589,12 @@
"h": 20
},
"frame": {
- "x": 251,
- "y": 254,
+ "x": 159,
+ "y": 323,
"w": 20,
"h": 20
}
},
- {
- "filename": "candy_jar",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 6,
- "w": 19,
- "h": 20
- },
- "frame": {
- "x": 294,
- "y": 214,
- "w": 19,
- "h": 20
- }
- },
- {
- "filename": "hard_stone",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 6,
- "w": 19,
- "h": 20
- },
- "frame": {
- "x": 253,
- "y": 274,
- "w": 19,
- "h": 20
- }
- },
{
"filename": "everstone",
"rotated": false,
@@ -5631,14 +5610,245 @@
"h": 17
},
"frame": {
- "x": 253,
- "y": 294,
+ "x": 159,
+ "y": 343,
"w": 20,
"h": 17
}
},
{
- "filename": "smooth_meteorite",
+ "filename": "revive",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 12,
+ "h": 17
+ },
+ "frame": {
+ "x": 179,
+ "y": 302,
+ "w": 12,
+ "h": 17
+ }
+ },
+ {
+ "filename": "super_repel",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 4,
+ "w": 16,
+ "h": 24
+ },
+ "frame": {
+ "x": 179,
+ "y": 319,
+ "w": 16,
+ "h": 24
+ }
+ },
+ {
+ "filename": "candy",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 11,
+ "w": 18,
+ "h": 18
+ },
+ "frame": {
+ "x": 179,
+ "y": 343,
+ "w": 18,
+ "h": 18
+ }
+ },
+ {
+ "filename": "unknown",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 4,
+ "w": 16,
+ "h": 24
+ },
+ "frame": {
+ "x": 360,
+ "y": 157,
+ "w": 16,
+ "h": 24
+ }
+ },
+ {
+ "filename": "zinc",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 4,
+ "w": 16,
+ "h": 24
+ },
+ "frame": {
+ "x": 360,
+ "y": 181,
+ "w": 16,
+ "h": 24
+ }
+ },
+ {
+ "filename": "quick_claw",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 6,
+ "w": 19,
+ "h": 21
+ },
+ "frame": {
+ "x": 360,
+ "y": 205,
+ "w": 19,
+ "h": 21
+ }
+ },
+ {
+ "filename": "candy_jar",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 6,
+ "w": 19,
+ "h": 20
+ },
+ "frame": {
+ "x": 360,
+ "y": 226,
+ "w": 19,
+ "h": 20
+ }
+ },
+ {
+ "filename": "gb",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 6,
+ "w": 20,
+ "h": 20
+ },
+ "frame": {
+ "x": 359,
+ "y": 246,
+ "w": 20,
+ "h": 20
+ }
+ },
+ {
+ "filename": "magnet",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 6,
+ "w": 20,
+ "h": 20
+ },
+ "frame": {
+ "x": 359,
+ "y": 266,
+ "w": 20,
+ "h": 20
+ }
+ },
+ {
+ "filename": "mb",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 6,
+ "w": 20,
+ "h": 20
+ },
+ "frame": {
+ "x": 359,
+ "y": 286,
+ "w": 20,
+ "h": 20
+ }
+ },
+ {
+ "filename": "pb",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 6,
+ "w": 20,
+ "h": 20
+ },
+ "frame": {
+ "x": 376,
+ "y": 156,
+ "w": 20,
+ "h": 20
+ }
+ },
+ {
+ "filename": "spell_tag",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -5648,18 +5858,18 @@
"spriteSourceSize": {
"x": 7,
"y": 6,
- "w": 20,
- "h": 20
+ "w": 19,
+ "h": 21
},
"frame": {
- "x": 252,
- "y": 311,
- "w": 20,
- "h": 20
+ "x": 396,
+ "y": 156,
+ "w": 19,
+ "h": 21
}
},
{
- "filename": "strange_ball",
+ "filename": "pb_gold",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -5673,14 +5883,14 @@
"h": 20
},
"frame": {
- "x": 252,
- "y": 331,
+ "x": 376,
+ "y": 176,
"w": 20,
"h": 20
}
},
{
- "filename": "ub",
+ "filename": "hard_stone",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -5690,13 +5900,34 @@
"spriteSourceSize": {
"x": 6,
"y": 6,
- "w": 20,
+ "w": 19,
"h": 20
},
"frame": {
- "x": 252,
- "y": 351,
- "w": 20,
+ "x": 396,
+ "y": 177,
+ "w": 19,
+ "h": 20
+ }
+ },
+ {
+ "filename": "golden_egg",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 6,
+ "w": 17,
+ "h": 20
+ },
+ "frame": {
+ "x": 379,
+ "y": 196,
+ "w": 17,
"h": 20
}
},
@@ -5715,14 +5946,14 @@
"h": 19
},
"frame": {
- "x": 253,
- "y": 371,
+ "x": 396,
+ "y": 197,
"w": 19,
"h": 19
}
},
{
- "filename": "masterpiece_teacup",
+ "filename": "rb",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -5730,20 +5961,41 @@
"h": 32
},
"spriteSourceSize": {
- "x": 5,
- "y": 7,
- "w": 21,
- "h": 18
+ "x": 6,
+ "y": 6,
+ "w": 20,
+ "h": 20
},
"frame": {
- "x": 339,
- "y": 147,
- "w": 21,
- "h": 18
+ "x": 379,
+ "y": 216,
+ "w": 20,
+ "h": 20
}
},
{
- "filename": "golden_egg",
+ "filename": "abomasite",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 8,
+ "w": 16,
+ "h": 16
+ },
+ "frame": {
+ "x": 399,
+ "y": 216,
+ "w": 16,
+ "h": 16
+ }
+ },
+ {
+ "filename": "smooth_meteorite",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -5753,18 +6005,60 @@
"spriteSourceSize": {
"x": 7,
"y": 6,
- "w": 17,
+ "w": 20,
"h": 20
},
"frame": {
- "x": 360,
- "y": 147,
- "w": 17,
+ "x": 379,
+ "y": 236,
+ "w": 20,
"h": 20
}
},
{
- "filename": "sharp_meteorite",
+ "filename": "absolite",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 8,
+ "w": 16,
+ "h": 16
+ },
+ "frame": {
+ "x": 399,
+ "y": 232,
+ "w": 16,
+ "h": 16
+ }
+ },
+ {
+ "filename": "aerodactylite",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 8,
+ "w": 16,
+ "h": 16
+ },
+ "frame": {
+ "x": 399,
+ "y": 248,
+ "w": 16,
+ "h": 16
+ }
+ },
+ {
+ "filename": "strange_ball",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -5773,15 +6067,78 @@
},
"spriteSourceSize": {
"x": 6,
- "y": 8,
- "w": 21,
- "h": 18
+ "y": 6,
+ "w": 20,
+ "h": 20
},
"frame": {
- "x": 377,
- "y": 160,
- "w": 21,
- "h": 18
+ "x": 379,
+ "y": 256,
+ "w": 20,
+ "h": 20
+ }
+ },
+ {
+ "filename": "aggronite",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 8,
+ "w": 16,
+ "h": 16
+ },
+ "frame": {
+ "x": 399,
+ "y": 264,
+ "w": 16,
+ "h": 16
+ }
+ },
+ {
+ "filename": "ub",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 6,
+ "w": 20,
+ "h": 20
+ },
+ "frame": {
+ "x": 379,
+ "y": 276,
+ "w": 20,
+ "h": 20
+ }
+ },
+ {
+ "filename": "alakazite",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 8,
+ "w": 16,
+ "h": 16
+ },
+ "frame": {
+ "x": 399,
+ "y": 280,
+ "w": 16,
+ "h": 16
}
},
{
@@ -5799,12 +6156,117 @@
"h": 18
},
"frame": {
- "x": 272,
- "y": 233,
+ "x": 379,
+ "y": 296,
"w": 21,
"h": 18
}
},
+ {
+ "filename": "eviolite",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 8,
+ "w": 15,
+ "h": 15
+ },
+ "frame": {
+ "x": 400,
+ "y": 296,
+ "w": 15,
+ "h": 15
+ }
+ },
+ {
+ "filename": "prism_scale",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 8,
+ "w": 15,
+ "h": 15
+ },
+ "frame": {
+ "x": 400,
+ "y": 311,
+ "w": 15,
+ "h": 15
+ }
+ },
+ {
+ "filename": "lum_berry",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 7,
+ "w": 20,
+ "h": 19
+ },
+ "frame": {
+ "x": 359,
+ "y": 306,
+ "w": 20,
+ "h": 19
+ }
+ },
+ {
+ "filename": "mega_bracelet",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 8,
+ "w": 20,
+ "h": 16
+ },
+ "frame": {
+ "x": 379,
+ "y": 314,
+ "w": 20,
+ "h": 16
+ }
+ },
+ {
+ "filename": "altarianite",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 8,
+ "w": 16,
+ "h": 16
+ },
+ "frame": {
+ "x": 399,
+ "y": 326,
+ "w": 16,
+ "h": 16
+ }
+ },
{
"filename": "razor_claw",
"rotated": false,
@@ -5820,12 +6282,75 @@
"h": 19
},
"frame": {
- "x": 271,
- "y": 251,
+ "x": 195,
+ "y": 305,
"w": 20,
"h": 19
}
},
+ {
+ "filename": "oval_stone",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 7,
+ "w": 18,
+ "h": 19
+ },
+ "frame": {
+ "x": 195,
+ "y": 324,
+ "w": 18,
+ "h": 19
+ }
+ },
+ {
+ "filename": "lucky_egg",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 6,
+ "w": 17,
+ "h": 20
+ },
+ "frame": {
+ "x": 215,
+ "y": 305,
+ "w": 17,
+ "h": 20
+ }
+ },
+ {
+ "filename": "razor_fang",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 6,
+ "w": 18,
+ "h": 20
+ },
+ "frame": {
+ "x": 232,
+ "y": 302,
+ "w": 18,
+ "h": 20
+ }
+ },
{
"filename": "wl_ability_urge",
"rotated": false,
@@ -5841,8 +6366,8 @@
"h": 18
},
"frame": {
- "x": 293,
- "y": 234,
+ "x": 250,
+ "y": 302,
"w": 20,
"h": 18
}
@@ -5862,33 +6387,12 @@
"h": 18
},
"frame": {
- "x": 291,
- "y": 252,
+ "x": 270,
+ "y": 303,
"w": 20,
"h": 18
}
},
- {
- "filename": "razor_fang",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 6,
- "w": 18,
- "h": 20
- },
- "frame": {
- "x": 272,
- "y": 270,
- "w": 18,
- "h": 20
- }
- },
{
"filename": "wl_awakening",
"rotated": false,
@@ -5904,33 +6408,12 @@
"h": 18
},
"frame": {
- "x": 290,
- "y": 270,
+ "x": 213,
+ "y": 325,
"w": 20,
"h": 18
}
},
- {
- "filename": "lucky_egg",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 6,
- "w": 17,
- "h": 20
- },
- "frame": {
- "x": 273,
- "y": 290,
- "w": 17,
- "h": 20
- }
- },
{
"filename": "wl_burn_heal",
"rotated": false,
@@ -5946,92 +6429,8 @@
"h": 18
},
"frame": {
- "x": 290,
- "y": 288,
- "w": 20,
- "h": 18
- }
- },
- {
- "filename": "wl_custom_spliced",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 8,
- "w": 20,
- "h": 18
- },
- "frame": {
- "x": 290,
- "y": 306,
- "w": 20,
- "h": 18
- }
- },
- {
- "filename": "oval_stone",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 7,
- "w": 18,
- "h": 19
- },
- "frame": {
- "x": 272,
- "y": 311,
- "w": 18,
- "h": 19
- }
- },
- {
- "filename": "candy",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 11,
- "w": 18,
- "h": 18
- },
- "frame": {
- "x": 272,
- "y": 330,
- "w": 18,
- "h": 18
- }
- },
- {
- "filename": "wl_custom_thief",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 8,
- "w": 20,
- "h": 18
- },
- "frame": {
- "x": 290,
- "y": 324,
+ "x": 197,
+ "y": 343,
"w": 20,
"h": 18
}
@@ -6051,12 +6450,96 @@
"h": 18
},
"frame": {
- "x": 272,
- "y": 348,
+ "x": 217,
+ "y": 343,
"w": 18,
"h": 18
}
},
+ {
+ "filename": "wl_custom_spliced",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 8,
+ "w": 20,
+ "h": 18
+ },
+ "frame": {
+ "x": 290,
+ "y": 304,
+ "w": 20,
+ "h": 18
+ }
+ },
+ {
+ "filename": "flame_orb",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 7,
+ "w": 18,
+ "h": 18
+ },
+ "frame": {
+ "x": 233,
+ "y": 322,
+ "w": 18,
+ "h": 18
+ }
+ },
+ {
+ "filename": "light_ball",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 7,
+ "w": 18,
+ "h": 18
+ },
+ "frame": {
+ "x": 251,
+ "y": 320,
+ "w": 18,
+ "h": 18
+ }
+ },
+ {
+ "filename": "wl_custom_thief",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 8,
+ "w": 20,
+ "h": 18
+ },
+ "frame": {
+ "x": 269,
+ "y": 321,
+ "w": 20,
+ "h": 18
+ }
+ },
{
"filename": "wl_elixir",
"rotated": false,
@@ -6072,8 +6555,8 @@
"h": 18
},
"frame": {
- "x": 290,
- "y": 342,
+ "x": 289,
+ "y": 322,
"w": 20,
"h": 18
}
@@ -6093,12 +6576,33 @@
"h": 18
},
"frame": {
- "x": 272,
- "y": 366,
+ "x": 235,
+ "y": 340,
"w": 18,
"h": 18
}
},
+ {
+ "filename": "ampharosite",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 8,
+ "w": 16,
+ "h": 16
+ },
+ "frame": {
+ "x": 253,
+ "y": 338,
+ "w": 16,
+ "h": 16
+ }
+ },
{
"filename": "wl_ether",
"rotated": false,
@@ -6114,8 +6618,8 @@
"h": 18
},
"frame": {
- "x": 290,
- "y": 360,
+ "x": 269,
+ "y": 339,
"w": 20,
"h": 18
}
@@ -6135,8 +6639,8 @@
"h": 18
},
"frame": {
- "x": 290,
- "y": 378,
+ "x": 289,
+ "y": 340,
"w": 20,
"h": 18
}
@@ -6156,8 +6660,8 @@
"h": 18
},
"frame": {
- "x": 311,
- "y": 252,
+ "x": 310,
+ "y": 308,
"w": 20,
"h": 18
}
@@ -6177,8 +6681,8 @@
"h": 18
},
"frame": {
- "x": 310,
- "y": 270,
+ "x": 309,
+ "y": 326,
"w": 20,
"h": 18
}
@@ -6198,8 +6702,8 @@
"h": 18
},
"frame": {
- "x": 310,
- "y": 288,
+ "x": 309,
+ "y": 344,
"w": 20,
"h": 18
}
@@ -6219,8 +6723,8 @@
"h": 18
},
"frame": {
- "x": 310,
- "y": 306,
+ "x": 330,
+ "y": 309,
"w": 20,
"h": 18
}
@@ -6240,8 +6744,8 @@
"h": 18
},
"frame": {
- "x": 310,
- "y": 324,
+ "x": 329,
+ "y": 327,
"w": 20,
"h": 18
}
@@ -6261,12 +6765,33 @@
"h": 18
},
"frame": {
- "x": 310,
- "y": 342,
+ "x": 329,
+ "y": 345,
"w": 20,
"h": 18
}
},
+ {
+ "filename": "audinite",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 8,
+ "w": 16,
+ "h": 16
+ },
+ "frame": {
+ "x": 253,
+ "y": 354,
+ "w": 16,
+ "h": 16
+ }
+ },
{
"filename": "wl_max_elixir",
"rotated": false,
@@ -6282,8 +6807,8 @@
"h": 18
},
"frame": {
- "x": 310,
- "y": 360,
+ "x": 269,
+ "y": 357,
"w": 20,
"h": 18
}
@@ -6303,8 +6828,8 @@
"h": 18
},
"frame": {
- "x": 310,
- "y": 378,
+ "x": 289,
+ "y": 358,
"w": 20,
"h": 18
}
@@ -6325,7 +6850,7 @@
},
"frame": {
"x": 309,
- "y": 193,
+ "y": 362,
"w": 20,
"h": 18
}
@@ -6345,12 +6870,54 @@
"h": 18
},
"frame": {
- "x": 313,
- "y": 211,
+ "x": 329,
+ "y": 363,
"w": 20,
"h": 18
}
},
+ {
+ "filename": "toxic_orb",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 7,
+ "w": 18,
+ "h": 18
+ },
+ "frame": {
+ "x": 235,
+ "y": 358,
+ "w": 18,
+ "h": 18
+ }
+ },
+ {
+ "filename": "banettite",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 8,
+ "w": 16,
+ "h": 16
+ },
+ "frame": {
+ "x": 253,
+ "y": 370,
+ "w": 16,
+ "h": 16
+ }
+ },
{
"filename": "wl_paralyze_heal",
"rotated": false,
@@ -6366,8 +6933,8 @@
"h": 18
},
"frame": {
- "x": 313,
- "y": 229,
+ "x": 269,
+ "y": 375,
"w": 20,
"h": 18
}
@@ -6387,8 +6954,8 @@
"h": 18
},
"frame": {
- "x": 309,
- "y": 149,
+ "x": 289,
+ "y": 376,
"w": 20,
"h": 18
}
@@ -6408,8 +6975,8 @@
"h": 18
},
"frame": {
- "x": 310,
- "y": 167,
+ "x": 309,
+ "y": 380,
"w": 20,
"h": 18
}
@@ -6429,8 +6996,8 @@
"h": 18
},
"frame": {
- "x": 330,
- "y": 165,
+ "x": 329,
+ "y": 381,
"w": 20,
"h": 18
}
@@ -6450,8 +7017,8 @@
"h": 18
},
"frame": {
- "x": 350,
- "y": 167,
+ "x": 116,
+ "y": 357,
"w": 20,
"h": 18
}
@@ -6471,54 +7038,12 @@
"h": 16
},
"frame": {
- "x": 333,
- "y": 183,
+ "x": 115,
+ "y": 375,
"w": 17,
"h": 16
}
},
- {
- "filename": "audinite",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 8,
- "w": 16,
- "h": 16
- },
- "frame": {
- "x": 350,
- "y": 185,
- "w": 16,
- "h": 16
- }
- },
- {
- "filename": "banettite",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 8,
- "w": 16,
- "h": 16
- },
- "frame": {
- "x": 333,
- "y": 199,
- "w": 16,
- "h": 16
- }
- },
{
"filename": "beedrillite",
"rotated": false,
@@ -6534,8 +7059,8 @@
"h": 16
},
"frame": {
- "x": 333,
- "y": 215,
+ "x": 114,
+ "y": 391,
"w": 16,
"h": 16
}
@@ -6555,8 +7080,8 @@
"h": 16
},
"frame": {
- "x": 333,
- "y": 231,
+ "x": 130,
+ "y": 399,
"w": 16,
"h": 16
}
@@ -6576,8 +7101,8 @@
"h": 16
},
"frame": {
- "x": 349,
- "y": 201,
+ "x": 146,
+ "y": 399,
"w": 16,
"h": 16
}
@@ -6597,8 +7122,8 @@
"h": 16
},
"frame": {
- "x": 349,
- "y": 217,
+ "x": 162,
+ "y": 399,
"w": 16,
"h": 16
}
@@ -6618,8 +7143,8 @@
"h": 16
},
"frame": {
- "x": 349,
- "y": 233,
+ "x": 178,
+ "y": 399,
"w": 16,
"h": 16
}
@@ -6639,8 +7164,8 @@
"h": 16
},
"frame": {
- "x": 331,
- "y": 247,
+ "x": 194,
+ "y": 399,
"w": 16,
"h": 16
}
@@ -6660,8 +7185,8 @@
"h": 16
},
"frame": {
- "x": 347,
- "y": 249,
+ "x": 210,
+ "y": 399,
"w": 16,
"h": 16
}
@@ -6681,8 +7206,8 @@
"h": 16
},
"frame": {
- "x": 331,
- "y": 263,
+ "x": 226,
+ "y": 399,
"w": 16,
"h": 16
}
@@ -6702,8 +7227,8 @@
"h": 16
},
"frame": {
- "x": 330,
- "y": 279,
+ "x": 242,
+ "y": 399,
"w": 16,
"h": 16
}
@@ -6723,8 +7248,8 @@
"h": 16
},
"frame": {
- "x": 330,
- "y": 295,
+ "x": 258,
+ "y": 399,
"w": 16,
"h": 16
}
@@ -6744,8 +7269,8 @@
"h": 16
},
"frame": {
- "x": 330,
- "y": 311,
+ "x": 274,
+ "y": 399,
"w": 16,
"h": 16
}
@@ -6765,8 +7290,8 @@
"h": 16
},
"frame": {
- "x": 330,
- "y": 327,
+ "x": 290,
+ "y": 399,
"w": 16,
"h": 16
}
@@ -6786,8 +7311,8 @@
"h": 16
},
"frame": {
- "x": 330,
- "y": 343,
+ "x": 306,
+ "y": 399,
"w": 16,
"h": 16
}
@@ -6807,8 +7332,8 @@
"h": 16
},
"frame": {
- "x": 330,
- "y": 359,
+ "x": 322,
+ "y": 399,
"w": 16,
"h": 16
}
@@ -6828,8 +7353,8 @@
"h": 16
},
"frame": {
- "x": 330,
- "y": 375,
+ "x": 338,
+ "y": 399,
"w": 16,
"h": 16
}
@@ -6849,12 +7374,33 @@
"h": 16
},
"frame": {
- "x": 347,
- "y": 265,
+ "x": 132,
+ "y": 375,
"w": 16,
"h": 16
}
},
+ {
+ "filename": "candy_overlay",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 32,
+ "h": 32
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 12,
+ "w": 16,
+ "h": 15
+ },
+ "frame": {
+ "x": 136,
+ "y": 360,
+ "w": 16,
+ "h": 15
+ }
+ },
{
"filename": "latiasite",
"rotated": false,
@@ -6870,8 +7416,8 @@
"h": 16
},
"frame": {
- "x": 346,
- "y": 281,
+ "x": 152,
+ "y": 360,
"w": 16,
"h": 16
}
@@ -6891,8 +7437,8 @@
"h": 16
},
"frame": {
- "x": 346,
- "y": 297,
+ "x": 148,
+ "y": 376,
"w": 16,
"h": 16
}
@@ -6912,8 +7458,8 @@
"h": 16
},
"frame": {
- "x": 346,
- "y": 313,
+ "x": 168,
+ "y": 361,
"w": 16,
"h": 16
}
@@ -6933,8 +7479,8 @@
"h": 16
},
"frame": {
- "x": 346,
- "y": 329,
+ "x": 184,
+ "y": 361,
"w": 16,
"h": 16
}
@@ -6954,8 +7500,8 @@
"h": 16
},
"frame": {
- "x": 346,
- "y": 345,
+ "x": 200,
+ "y": 361,
"w": 16,
"h": 16
}
@@ -6975,7 +7521,7 @@
"h": 16
},
"frame": {
- "x": 346,
+ "x": 216,
"y": 361,
"w": 16,
"h": 16
@@ -6996,7 +7542,7 @@
"h": 16
},
"frame": {
- "x": 346,
+ "x": 164,
"y": 377,
"w": 16,
"h": 16
@@ -7017,8 +7563,8 @@
"h": 16
},
"frame": {
- "x": 366,
- "y": 185,
+ "x": 180,
+ "y": 377,
"w": 16,
"h": 16
}
@@ -7038,8 +7584,8 @@
"h": 16
},
"frame": {
- "x": 365,
- "y": 201,
+ "x": 196,
+ "y": 377,
"w": 16,
"h": 16
}
@@ -7059,8 +7605,8 @@
"h": 16
},
"frame": {
- "x": 365,
- "y": 217,
+ "x": 212,
+ "y": 377,
"w": 16,
"h": 16
}
@@ -7080,8 +7626,8 @@
"h": 16
},
"frame": {
- "x": 365,
- "y": 233,
+ "x": 228,
+ "y": 377,
"w": 16,
"h": 16
}
@@ -7101,8 +7647,8 @@
"h": 16
},
"frame": {
- "x": 363,
- "y": 249,
+ "x": 349,
+ "y": 327,
"w": 16,
"h": 16
}
@@ -7122,8 +7668,8 @@
"h": 16
},
"frame": {
- "x": 363,
- "y": 265,
+ "x": 349,
+ "y": 343,
"w": 16,
"h": 16
}
@@ -7143,8 +7689,8 @@
"h": 16
},
"frame": {
- "x": 362,
- "y": 281,
+ "x": 349,
+ "y": 359,
"w": 16,
"h": 16
}
@@ -7164,8 +7710,8 @@
"h": 16
},
"frame": {
- "x": 362,
- "y": 297,
+ "x": 349,
+ "y": 375,
"w": 16,
"h": 16
}
@@ -7185,8 +7731,8 @@
"h": 16
},
"frame": {
- "x": 362,
- "y": 313,
+ "x": 354,
+ "y": 391,
"w": 16,
"h": 16
}
@@ -7206,8 +7752,8 @@
"h": 16
},
"frame": {
- "x": 362,
- "y": 329,
+ "x": 365,
+ "y": 330,
"w": 16,
"h": 16
}
@@ -7227,8 +7773,8 @@
"h": 16
},
"frame": {
- "x": 362,
- "y": 345,
+ "x": 381,
+ "y": 330,
"w": 16,
"h": 16
}
@@ -7248,8 +7794,8 @@
"h": 16
},
"frame": {
- "x": 362,
- "y": 361,
+ "x": 365,
+ "y": 346,
"w": 16,
"h": 16
}
@@ -7269,8 +7815,8 @@
"h": 16
},
"frame": {
- "x": 362,
- "y": 377,
+ "x": 365,
+ "y": 362,
"w": 16,
"h": 16
}
@@ -7290,8 +7836,8 @@
"h": 16
},
"frame": {
- "x": 382,
- "y": 178,
+ "x": 381,
+ "y": 346,
"w": 16,
"h": 16
}
@@ -7311,8 +7857,8 @@
"h": 16
},
"frame": {
- "x": 382,
- "y": 194,
+ "x": 381,
+ "y": 362,
"w": 16,
"h": 16
}
@@ -7332,8 +7878,8 @@
"h": 16
},
"frame": {
- "x": 381,
- "y": 210,
+ "x": 397,
+ "y": 342,
"w": 16,
"h": 16
}
@@ -7353,8 +7899,8 @@
"h": 16
},
"frame": {
- "x": 381,
- "y": 226,
+ "x": 397,
+ "y": 358,
"w": 16,
"h": 16
}
@@ -7374,8 +7920,8 @@
"h": 16
},
"frame": {
- "x": 381,
- "y": 242,
+ "x": 397,
+ "y": 374,
"w": 16,
"h": 16
}
@@ -7395,60 +7941,18 @@
"h": 16
},
"frame": {
- "x": 379,
- "y": 258,
+ "x": 370,
+ "y": 378,
"w": 16,
"h": 16
}
- },
- {
- "filename": "toxic_orb",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 7,
- "w": 18,
- "h": 18
- },
- "frame": {
- "x": 379,
- "y": 274,
- "w": 18,
- "h": 18
- }
- },
- {
- "filename": "flame_orb",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 32,
- "h": 32
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 7,
- "w": 18,
- "h": 18
- },
- "frame": {
- "x": 379,
- "y": 292,
- "w": 18,
- "h": 18
- }
- }
+ }
]
}
],
"meta": {
"app": "https://www.codeandweb.com/texturepacker",
"version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:5676fc2ef4e2b6e18c96ca3c80e7521d:a6286201546cef975121cad6b35c7005:110e074689c9edd2c54833ce2e4d9270$"
+ "smartupdate": "$TexturePacker:SmartUpdate:60db8f4653a650759cd9189e91c38a40:439307cbef9c000f6c45603b2d82d107:110e074689c9edd2c54833ce2e4d9270$"
}
}
diff --git a/public/images/items.png b/public/images/items.png
index d19bb003b93..6d9434d0454 100644
Binary files a/public/images/items.png and b/public/images/items.png differ
diff --git a/public/images/items/blank_memory.png b/public/images/items/blank_memory.png
new file mode 100644
index 00000000000..ddc22d1d4ab
Binary files /dev/null and b/public/images/items/blank_memory.png differ
diff --git a/public/images/items/blank_plate.png b/public/images/items/blank_plate.png
new file mode 100644
index 00000000000..ec82203340c
Binary files /dev/null and b/public/images/items/blank_plate.png differ
diff --git a/public/images/items/memory_bug.png b/public/images/items/bug_memory.png
similarity index 100%
rename from public/images/items/memory_bug.png
rename to public/images/items/bug_memory.png
diff --git a/public/images/items/memory_dark.png b/public/images/items/dark_memory.png
similarity index 100%
rename from public/images/items/memory_dark.png
rename to public/images/items/dark_memory.png
diff --git a/public/images/items/draco_plate.png b/public/images/items/draco_plate.png
new file mode 100644
index 00000000000..b25df530171
Binary files /dev/null and b/public/images/items/draco_plate.png differ
diff --git a/public/images/items/memory_dragon.png b/public/images/items/dragon_memory.png
similarity index 100%
rename from public/images/items/memory_dragon.png
rename to public/images/items/dragon_memory.png
diff --git a/public/images/items/dread_plate.png b/public/images/items/dread_plate.png
new file mode 100644
index 00000000000..4cdbb76f180
Binary files /dev/null and b/public/images/items/dread_plate.png differ
diff --git a/public/images/items/earth_plate.png b/public/images/items/earth_plate.png
new file mode 100644
index 00000000000..d40da06f6b6
Binary files /dev/null and b/public/images/items/earth_plate.png differ
diff --git a/public/images/items/memory_electric.png b/public/images/items/electric_memory.png
similarity index 100%
rename from public/images/items/memory_electric.png
rename to public/images/items/electric_memory.png
diff --git a/public/images/items/eviolite.png b/public/images/items/eviolite.png
new file mode 100644
index 00000000000..8eb195ece2a
Binary files /dev/null and b/public/images/items/eviolite.png differ
diff --git a/public/images/items/memory_fairy.png b/public/images/items/fairy_memory.png
similarity index 100%
rename from public/images/items/memory_fairy.png
rename to public/images/items/fairy_memory.png
diff --git a/public/images/items/memory_fighting.png b/public/images/items/fighting_memory.png
similarity index 100%
rename from public/images/items/memory_fighting.png
rename to public/images/items/fighting_memory.png
diff --git a/public/images/items/memory_fire.png b/public/images/items/fire_memory.png
similarity index 100%
rename from public/images/items/memory_fire.png
rename to public/images/items/fire_memory.png
diff --git a/public/images/items/fist_plate.png b/public/images/items/fist_plate.png
new file mode 100644
index 00000000000..6892d821da6
Binary files /dev/null and b/public/images/items/fist_plate.png differ
diff --git a/public/images/items/flame_plate.png b/public/images/items/flame_plate.png
new file mode 100644
index 00000000000..26a56f18462
Binary files /dev/null and b/public/images/items/flame_plate.png differ
diff --git a/public/images/items/memory_flying.png b/public/images/items/flying_memory.png
similarity index 100%
rename from public/images/items/memory_flying.png
rename to public/images/items/flying_memory.png
diff --git a/public/images/items/memory_ghost.png b/public/images/items/ghost_memory.png
similarity index 100%
rename from public/images/items/memory_ghost.png
rename to public/images/items/ghost_memory.png
diff --git a/public/images/items/memory_grass.png b/public/images/items/grass_memory.png
similarity index 100%
rename from public/images/items/memory_grass.png
rename to public/images/items/grass_memory.png
diff --git a/public/images/items/memory_ground.png b/public/images/items/ground_memory.png
similarity index 100%
rename from public/images/items/memory_ground.png
rename to public/images/items/ground_memory.png
diff --git a/public/images/items/memory_ice.png b/public/images/items/ice_memory.png
similarity index 100%
rename from public/images/items/memory_ice.png
rename to public/images/items/ice_memory.png
diff --git a/public/images/items/icicle_plate.png b/public/images/items/icicle_plate.png
new file mode 100644
index 00000000000..67b5138e3e6
Binary files /dev/null and b/public/images/items/icicle_plate.png differ
diff --git a/public/images/items/insect_plate.png b/public/images/items/insect_plate.png
new file mode 100644
index 00000000000..75b44640a1b
Binary files /dev/null and b/public/images/items/insect_plate.png differ
diff --git a/public/images/items/iron_plate.png b/public/images/items/iron_plate.png
new file mode 100644
index 00000000000..ee892755660
Binary files /dev/null and b/public/images/items/iron_plate.png differ
diff --git a/public/images/items/legend_plate.png b/public/images/items/legend_plate.png
new file mode 100644
index 00000000000..5b8681ebfe7
Binary files /dev/null and b/public/images/items/legend_plate.png differ
diff --git a/public/images/items/light_ball.png b/public/images/items/light_ball.png
new file mode 100644
index 00000000000..cd421446608
Binary files /dev/null and b/public/images/items/light_ball.png differ
diff --git a/public/images/items/meadow_plate.png b/public/images/items/meadow_plate.png
new file mode 100644
index 00000000000..a687cb7920d
Binary files /dev/null and b/public/images/items/meadow_plate.png differ
diff --git a/public/images/items/memory_normal.png b/public/images/items/memory_normal.png
deleted file mode 100644
index ab6e5e82729..00000000000
Binary files a/public/images/items/memory_normal.png and /dev/null differ
diff --git a/public/images/items/metal_powder.png b/public/images/items/metal_powder.png
new file mode 100644
index 00000000000..11c3a39314c
Binary files /dev/null and b/public/images/items/metal_powder.png differ
diff --git a/public/images/items/mind_plate.png b/public/images/items/mind_plate.png
new file mode 100644
index 00000000000..04001796831
Binary files /dev/null and b/public/images/items/mind_plate.png differ
diff --git a/public/images/items/pixie_plate.png b/public/images/items/pixie_plate.png
new file mode 100644
index 00000000000..dcc829c107f
Binary files /dev/null and b/public/images/items/pixie_plate.png differ
diff --git a/public/images/items/memory_poison.png b/public/images/items/poison_memory.png
similarity index 100%
rename from public/images/items/memory_poison.png
rename to public/images/items/poison_memory.png
diff --git a/public/images/items/memory_psychic.png b/public/images/items/psychic_memory.png
similarity index 100%
rename from public/images/items/memory_psychic.png
rename to public/images/items/psychic_memory.png
diff --git a/public/images/items/quick_powder.png b/public/images/items/quick_powder.png
new file mode 100644
index 00000000000..c73ec09eb05
Binary files /dev/null and b/public/images/items/quick_powder.png differ
diff --git a/public/images/items/memory_rock.png b/public/images/items/rock_memory.png
similarity index 100%
rename from public/images/items/memory_rock.png
rename to public/images/items/rock_memory.png
diff --git a/public/images/items/sky_plate.png b/public/images/items/sky_plate.png
new file mode 100644
index 00000000000..1fed973142b
Binary files /dev/null and b/public/images/items/sky_plate.png differ
diff --git a/public/images/items/splash_plate.png b/public/images/items/splash_plate.png
new file mode 100644
index 00000000000..a832f3dbf8a
Binary files /dev/null and b/public/images/items/splash_plate.png differ
diff --git a/public/images/items/spooky_plate.png b/public/images/items/spooky_plate.png
new file mode 100644
index 00000000000..b5794713d0d
Binary files /dev/null and b/public/images/items/spooky_plate.png differ
diff --git a/public/images/items/memory_steel.png b/public/images/items/steel_memory.png
similarity index 100%
rename from public/images/items/memory_steel.png
rename to public/images/items/steel_memory.png
diff --git a/public/images/items/stone_plate.png b/public/images/items/stone_plate.png
new file mode 100644
index 00000000000..44653583e60
Binary files /dev/null and b/public/images/items/stone_plate.png differ
diff --git a/public/images/items/thick_club.png b/public/images/items/thick_club.png
new file mode 100644
index 00000000000..a4459aa7701
Binary files /dev/null and b/public/images/items/thick_club.png differ
diff --git a/public/images/items/toxic_plate.png b/public/images/items/toxic_plate.png
new file mode 100644
index 00000000000..8538e9fce2a
Binary files /dev/null and b/public/images/items/toxic_plate.png differ
diff --git a/public/images/items/memory_water.png b/public/images/items/water_memory.png
similarity index 100%
rename from public/images/items/memory_water.png
rename to public/images/items/water_memory.png
diff --git a/public/images/items/zap_plate.png b/public/images/items/zap_plate.png
new file mode 100644
index 00000000000..e582b41937f
Binary files /dev/null and b/public/images/items/zap_plate.png differ
diff --git a/public/images/pokemon/133-partner.json b/public/images/pokemon/133-partner.json
new file mode 100644
index 00000000000..f53a88c52a5
--- /dev/null
+++ b/public/images/pokemon/133-partner.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "133-partner.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 245,
+ "h": 245
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 3,
+ "w": 35,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 35,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 3,
+ "w": 35,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 35,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 35,
+ "h": 44
+ },
+ "frame": {
+ "x": 35,
+ "y": 0,
+ "w": 35,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 35,
+ "h": 44
+ },
+ "frame": {
+ "x": 35,
+ "y": 0,
+ "w": 35,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 35,
+ "h": 44
+ },
+ "frame": {
+ "x": 70,
+ "y": 0,
+ "w": 35,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 35,
+ "h": 44
+ },
+ "frame": {
+ "x": 70,
+ "y": 0,
+ "w": 35,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 3,
+ "w": 35,
+ "h": 44
+ },
+ "frame": {
+ "x": 105,
+ "y": 0,
+ "w": 35,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 3,
+ "w": 35,
+ "h": 44
+ },
+ "frame": {
+ "x": 105,
+ "y": 0,
+ "w": 35,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 2,
+ "w": 44,
+ "h": 45
+ },
+ "frame": {
+ "x": 140,
+ "y": 0,
+ "w": 44,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 2,
+ "w": 44,
+ "h": 45
+ },
+ "frame": {
+ "x": 140,
+ "y": 0,
+ "w": 44,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 2,
+ "w": 44,
+ "h": 45
+ },
+ "frame": {
+ "x": 140,
+ "y": 0,
+ "w": 44,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 2,
+ "w": 44,
+ "h": 45
+ },
+ "frame": {
+ "x": 140,
+ "y": 0,
+ "w": 44,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 2,
+ "w": 44,
+ "h": 45
+ },
+ "frame": {
+ "x": 140,
+ "y": 0,
+ "w": 44,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 2,
+ "w": 45,
+ "h": 45
+ },
+ "frame": {
+ "x": 184,
+ "y": 0,
+ "w": 45,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 2,
+ "w": 45,
+ "h": 45
+ },
+ "frame": {
+ "x": 184,
+ "y": 0,
+ "w": 45,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 2,
+ "w": 45,
+ "h": 45
+ },
+ "frame": {
+ "x": 184,
+ "y": 0,
+ "w": 45,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 2,
+ "w": 45,
+ "h": 45
+ },
+ "frame": {
+ "x": 184,
+ "y": 0,
+ "w": 45,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 2,
+ "w": 45,
+ "h": 45
+ },
+ "frame": {
+ "x": 184,
+ "y": 0,
+ "w": 45,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 2,
+ "w": 45,
+ "h": 45
+ },
+ "frame": {
+ "x": 184,
+ "y": 0,
+ "w": 45,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 2,
+ "w": 45,
+ "h": 45
+ },
+ "frame": {
+ "x": 184,
+ "y": 0,
+ "w": 45,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 2,
+ "w": 45,
+ "h": 45
+ },
+ "frame": {
+ "x": 184,
+ "y": 0,
+ "w": 45,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 2,
+ "w": 45,
+ "h": 45
+ },
+ "frame": {
+ "x": 184,
+ "y": 0,
+ "w": 45,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 2,
+ "w": 45,
+ "h": 45
+ },
+ "frame": {
+ "x": 184,
+ "y": 0,
+ "w": 45,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 2,
+ "w": 36,
+ "h": 45
+ },
+ "frame": {
+ "x": 0,
+ "y": 44,
+ "w": 36,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 34,
+ "h": 45
+ },
+ "frame": {
+ "x": 36,
+ "y": 44,
+ "w": 34,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 2,
+ "w": 44,
+ "h": 45
+ },
+ "frame": {
+ "x": 70,
+ "y": 44,
+ "w": 44,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 2,
+ "w": 44,
+ "h": 45
+ },
+ "frame": {
+ "x": 70,
+ "y": 44,
+ "w": 44,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 114,
+ "y": 45,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 114,
+ "y": 45,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 114,
+ "y": 45,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 114,
+ "y": 45,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 114,
+ "y": 45,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 156,
+ "y": 45,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 156,
+ "y": 45,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 156,
+ "y": 45,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 156,
+ "y": 45,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 156,
+ "y": 45,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 156,
+ "y": 45,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 156,
+ "y": 45,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 156,
+ "y": 45,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 156,
+ "y": 45,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 156,
+ "y": 45,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 199,
+ "y": 45,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 199,
+ "y": 45,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 199,
+ "y": 45,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 199,
+ "y": 45,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 199,
+ "y": 45,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 36,
+ "h": 46
+ },
+ "frame": {
+ "x": 0,
+ "y": 89,
+ "w": 36,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 36,
+ "y": 89,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 80,
+ "y": 91,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 80,
+ "y": 91,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 163,
+ "y": 91,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 163,
+ "y": 91,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 163,
+ "y": 91,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 163,
+ "y": 91,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 163,
+ "y": 91,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 163,
+ "y": 91,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 163,
+ "y": 91,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 163,
+ "y": 91,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 163,
+ "y": 91,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 163,
+ "y": 91,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 204,
+ "y": 91,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 204,
+ "y": 91,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 204,
+ "y": 91,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 204,
+ "y": 91,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 204,
+ "y": 91,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 204,
+ "y": 91,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 204,
+ "y": 91,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 204,
+ "y": 91,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 204,
+ "y": 91,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 204,
+ "y": 91,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 135,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 135,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 135,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 135,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 135,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 135,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 135,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 135,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 135,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 135,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 38,
+ "h": 47
+ },
+ "frame": {
+ "x": 42,
+ "y": 135,
+ "w": 38,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 38,
+ "h": 47
+ },
+ "frame": {
+ "x": 42,
+ "y": 135,
+ "w": 38,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 80,
+ "y": 137,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 80,
+ "y": 137,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 80,
+ "y": 137,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 80,
+ "y": 137,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 80,
+ "y": 137,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 80,
+ "y": 137,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 80,
+ "y": 137,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 80,
+ "y": 137,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 80,
+ "y": 137,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 80,
+ "y": 137,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 122,
+ "y": 138,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 122,
+ "y": 138,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 122,
+ "y": 138,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 122,
+ "y": 138,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 122,
+ "y": 138,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 38,
+ "h": 47
+ },
+ "frame": {
+ "x": 164,
+ "y": 138,
+ "w": 38,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 38,
+ "h": 47
+ },
+ "frame": {
+ "x": 164,
+ "y": 138,
+ "w": 38,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 202,
+ "y": 138,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 182,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 182,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 44,
+ "h": 47
+ },
+ "frame": {
+ "x": 42,
+ "y": 184,
+ "w": 44,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 44,
+ "h": 47
+ },
+ "frame": {
+ "x": 42,
+ "y": 184,
+ "w": 44,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 44,
+ "h": 47
+ },
+ "frame": {
+ "x": 86,
+ "y": 185,
+ "w": 44,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 130,
+ "y": 185,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 130,
+ "y": 185,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 172,
+ "y": 185,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 172,
+ "y": 185,
+ "w": 41,
+ "h": 47
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:a12f810e0c533df6c81afe00a33144eb:fd50f6a2654aabba8f54e3bb2ba922b1:4e938f9dc8bce1cd7822677c800d242b$"
+ }
+}
diff --git a/public/images/pokemon/133-partner.png b/public/images/pokemon/133-partner.png
new file mode 100644
index 00000000000..b8b1c2a4070
Binary files /dev/null and b/public/images/pokemon/133-partner.png differ
diff --git a/public/images/pokemon/196.json b/public/images/pokemon/196.json
index 855bc9b1dc2..5059f85e2d0 100644
--- a/public/images/pokemon/196.json
+++ b/public/images/pokemon/196.json
@@ -4,122 +4,206 @@
"image": "196.png",
"format": "RGBA8888",
"size": {
- "w": 376,
- "h": 376
+ "w": 386,
+ "h": 386
},
"scale": 1,
"frames": [
{
- "filename": "0010.png",
+ "filename": "0007.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
"x": 0,
- "y": 5,
- "w": 59,
- "h": 53
+ "y": 10,
+ "w": 63,
+ "h": 48
},
"frame": {
- "x": 0,
- "y": 0,
- "w": 59,
- "h": 53
+ "x": 1,
+ "y": 1,
+ "w": 63,
+ "h": 48
}
},
{
- "filename": "0031.png",
+ "filename": "0018.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
"x": 0,
- "y": 5,
- "w": 59,
- "h": 53
+ "y": 10,
+ "w": 63,
+ "h": 48
},
"frame": {
- "x": 0,
- "y": 0,
- "w": 59,
- "h": 53
+ "x": 1,
+ "y": 1,
+ "w": 63,
+ "h": 48
}
},
{
- "filename": "0032.png",
+ "filename": "0039.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
"x": 0,
- "y": 5,
- "w": 59,
- "h": 53
+ "y": 10,
+ "w": 63,
+ "h": 48
},
"frame": {
- "x": 0,
- "y": 0,
- "w": 59,
- "h": 53
+ "x": 66,
+ "y": 1,
+ "w": 63,
+ "h": 48
}
},
{
- "filename": "0053.png",
+ "filename": "0061.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
"x": 0,
- "y": 5,
- "w": 59,
- "h": 53
+ "y": 10,
+ "w": 63,
+ "h": 48
},
"frame": {
- "x": 0,
- "y": 0,
- "w": 59,
- "h": 53
+ "x": 131,
+ "y": 1,
+ "w": 63,
+ "h": 48
}
},
{
- "filename": "0054.png",
+ "filename": "0006.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
"x": 0,
- "y": 5,
- "w": 59,
- "h": 53
+ "y": 8,
+ "w": 62,
+ "h": 50
},
"frame": {
- "x": 0,
- "y": 0,
- "w": 59,
- "h": 53
+ "x": 196,
+ "y": 1,
+ "w": 62,
+ "h": 50
}
},
{
- "filename": "0140.png",
+ "filename": "0017.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
"w": 62,
+ "h": 50
+ },
+ "frame": {
+ "x": 196,
+ "y": 1,
+ "w": 62,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 62,
+ "h": 50
+ },
+ "frame": {
+ "x": 196,
+ "y": 1,
+ "w": 62,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 62,
+ "h": 50
+ },
+ "frame": {
+ "x": 260,
+ "y": 1,
+ "w": 62,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 62,
+ "h": 50
+ },
+ "frame": {
+ "x": 260,
+ "y": 1,
+ "w": 62,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
@@ -129,8 +213,8 @@
"h": 53
},
"frame": {
- "x": 0,
- "y": 0,
+ "x": 324,
+ "y": 1,
"w": 59,
"h": 53
}
@@ -140,7 +224,7 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
@@ -150,18 +234,123 @@
"h": 53
},
"frame": {
+ "x": 324,
+ "y": 1,
+ "w": 59,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
"x": 0,
+ "y": 5,
+ "w": 59,
+ "h": 53
+ },
+ "frame": {
+ "x": 324,
+ "y": 1,
+ "w": 59,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 62,
+ "h": 50
+ },
+ "frame": {
+ "x": 1,
+ "y": 51,
+ "w": 62,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 62,
+ "h": 50
+ },
+ "frame": {
+ "x": 65,
+ "y": 51,
+ "w": 62,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 62,
+ "h": 50
+ },
+ "frame": {
+ "x": 129,
+ "y": 51,
+ "w": 62,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 59,
+ "h": 53
+ },
+ "frame": {
+ "x": 193,
"y": 53,
"w": 59,
"h": 53
}
},
{
- "filename": "0017.png",
+ "filename": "0030.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
@@ -171,7 +360,7 @@
"h": 53
},
"frame": {
- "x": 0,
+ "x": 193,
"y": 53,
"w": 59,
"h": 53
@@ -182,7 +371,7 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
@@ -192,1774 +381,52 @@
"h": 53
},
"frame": {
- "x": 0,
+ "x": 254,
"y": 53,
"w": 59,
"h": 53
}
},
- {
- "filename": "0039.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 59,
- "h": 53
- },
- "frame": {
- "x": 0,
- "y": 53,
- "w": 59,
- "h": 53
- }
- },
- {
- "filename": "0060.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 59,
- "h": 53
- },
- "frame": {
- "x": 0,
- "y": 53,
- "w": 59,
- "h": 53
- }
- },
- {
- "filename": "0146.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 59,
- "h": 53
- },
- "frame": {
- "x": 0,
- "y": 53,
- "w": 59,
- "h": 53
- }
- },
- {
- "filename": "0147.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 59,
- "h": 53
- },
- "frame": {
- "x": 0,
- "y": 53,
- "w": 59,
- "h": 53
- }
- },
- {
- "filename": "0075.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 59,
- "h": 53
- },
- "frame": {
- "x": 59,
- "y": 0,
- "w": 59,
- "h": 53
- }
- },
- {
- "filename": "0081.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 59,
- "h": 53
- },
- "frame": {
- "x": 0,
- "y": 106,
- "w": 59,
- "h": 53
- }
- },
- {
- "filename": "0082.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 59,
- "h": 53
- },
- "frame": {
- "x": 0,
- "y": 106,
- "w": 59,
- "h": 53
- }
- },
- {
- "filename": "0118.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 59,
- "h": 53
- },
- "frame": {
- "x": 59,
- "y": 53,
- "w": 59,
- "h": 53
- }
- },
- {
- "filename": "0119.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 59,
- "h": 53
- },
- "frame": {
- "x": 59,
- "y": 53,
- "w": 59,
- "h": 53
- }
- },
- {
- "filename": "0125.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 59,
- "h": 53
- },
- "frame": {
- "x": 118,
- "y": 0,
- "w": 59,
- "h": 53
- }
- },
- {
- "filename": "0011.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 9,
- "w": 62,
- "h": 49
- },
- "frame": {
- "x": 177,
- "y": 0,
- "w": 62,
- "h": 49
- }
- },
- {
- "filename": "0012.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 9,
- "w": 62,
- "h": 49
- },
- "frame": {
- "x": 177,
- "y": 0,
- "w": 62,
- "h": 49
- }
- },
- {
- "filename": "0033.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 9,
- "w": 62,
- "h": 49
- },
- "frame": {
- "x": 177,
- "y": 0,
- "w": 62,
- "h": 49
- }
- },
- {
- "filename": "0034.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 9,
- "w": 62,
- "h": 49
- },
- "frame": {
- "x": 177,
- "y": 0,
- "w": 62,
- "h": 49
- }
- },
- {
- "filename": "0055.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 9,
- "w": 62,
- "h": 49
- },
- "frame": {
- "x": 177,
- "y": 0,
- "w": 62,
- "h": 49
- }
- },
- {
- "filename": "0141.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 9,
- "w": 62,
- "h": 49
- },
- "frame": {
- "x": 177,
- "y": 0,
- "w": 62,
- "h": 49
- }
- },
- {
- "filename": "0142.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 9,
- "w": 62,
- "h": 49
- },
- "frame": {
- "x": 177,
- "y": 0,
- "w": 62,
- "h": 49
- }
- },
- {
- "filename": "0015.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 9,
- "w": 62,
- "h": 49
- },
- "frame": {
- "x": 239,
- "y": 0,
- "w": 62,
- "h": 49
- }
- },
- {
- "filename": "0036.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 9,
- "w": 62,
- "h": 49
- },
- "frame": {
- "x": 239,
- "y": 0,
- "w": 62,
- "h": 49
- }
- },
- {
- "filename": "0037.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 9,
- "w": 62,
- "h": 49
- },
- "frame": {
- "x": 239,
- "y": 0,
- "w": 62,
- "h": 49
- }
- },
- {
- "filename": "0058.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 9,
- "w": 62,
- "h": 49
- },
- "frame": {
- "x": 239,
- "y": 0,
- "w": 62,
- "h": 49
- }
- },
- {
- "filename": "0059.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 9,
- "w": 62,
- "h": 49
- },
- "frame": {
- "x": 239,
- "y": 0,
- "w": 62,
- "h": 49
- }
- },
- {
- "filename": "0145.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 9,
- "w": 62,
- "h": 49
- },
- "frame": {
- "x": 239,
- "y": 0,
- "w": 62,
- "h": 49
- }
- },
- {
- "filename": "0076.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 9,
- "w": 62,
- "h": 49
- },
- "frame": {
- "x": 301,
- "y": 0,
- "w": 62,
- "h": 49
- }
- },
- {
- "filename": "0077.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 9,
- "w": 62,
- "h": 49
- },
- "frame": {
- "x": 301,
- "y": 0,
- "w": 62,
- "h": 49
- }
- },
- {
- "filename": "0120.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 9,
- "w": 62,
- "h": 49
- },
- "frame": {
- "x": 301,
- "y": 0,
- "w": 62,
- "h": 49
- }
- },
- {
- "filename": "0008.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 0,
- "y": 159,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0009.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 0,
- "y": 159,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0030.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 0,
- "y": 159,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0051.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 0,
- "y": 159,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0052.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 0,
- "y": 159,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0138.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 0,
- "y": 159,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0139.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 0,
- "y": 159,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0018.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 0,
- "y": 215,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0019.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 0,
- "y": 215,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0040.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 0,
- "y": 215,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0061.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 0,
- "y": 215,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0062.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 0,
- "y": 215,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0148.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 0,
- "y": 215,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0149.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 0,
- "y": 215,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0073.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 0,
- "y": 271,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0074.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 0,
- "y": 271,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0080.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 9,
- "w": 62,
- "h": 49
- },
- "frame": {
- "x": 59,
- "y": 106,
- "w": 62,
- "h": 49
- }
- },
- {
- "filename": "0123.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 9,
- "w": 62,
- "h": 49
- },
- "frame": {
- "x": 118,
- "y": 53,
- "w": 62,
- "h": 49
- }
- },
- {
- "filename": "0124.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 9,
- "w": 62,
- "h": 49
- },
- "frame": {
- "x": 118,
- "y": 53,
- "w": 62,
- "h": 49
- }
- },
- {
- "filename": "0013.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 11,
- "w": 62,
- "h": 47
- },
- "frame": {
- "x": 180,
- "y": 49,
- "w": 62,
- "h": 47
- }
- },
- {
- "filename": "0014.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 11,
- "w": 62,
- "h": 47
- },
- "frame": {
- "x": 180,
- "y": 49,
- "w": 62,
- "h": 47
- }
- },
- {
- "filename": "0035.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 11,
- "w": 62,
- "h": 47
- },
- "frame": {
- "x": 180,
- "y": 49,
- "w": 62,
- "h": 47
- }
- },
- {
- "filename": "0056.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 11,
- "w": 62,
- "h": 47
- },
- "frame": {
- "x": 180,
- "y": 49,
- "w": 62,
- "h": 47
- }
- },
- {
- "filename": "0057.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 11,
- "w": 62,
- "h": 47
- },
- "frame": {
- "x": 180,
- "y": 49,
- "w": 62,
- "h": 47
- }
- },
- {
- "filename": "0143.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 11,
- "w": 62,
- "h": 47
- },
- "frame": {
- "x": 180,
- "y": 49,
- "w": 62,
- "h": 47
- }
- },
- {
- "filename": "0144.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 11,
- "w": 62,
- "h": 47
- },
- "frame": {
- "x": 180,
- "y": 49,
- "w": 62,
- "h": 47
- }
- },
- {
- "filename": "0078.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 11,
- "w": 62,
- "h": 47
- },
- "frame": {
- "x": 242,
- "y": 49,
- "w": 62,
- "h": 47
- }
- },
- {
- "filename": "0079.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 11,
- "w": 62,
- "h": 47
- },
- "frame": {
- "x": 242,
- "y": 49,
- "w": 62,
- "h": 47
- }
- },
- {
- "filename": "0121.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 11,
- "w": 62,
- "h": 47
- },
- "frame": {
- "x": 304,
- "y": 49,
- "w": 62,
- "h": 47
- }
- },
- {
- "filename": "0122.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 11,
- "w": 62,
- "h": 47
- },
- "frame": {
- "x": 304,
- "y": 49,
- "w": 62,
- "h": 47
- }
- },
- {
- "filename": "0083.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 121,
- "y": 102,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0084.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 121,
- "y": 102,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0091.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 58
- },
- "frame": {
- "x": 53,
- "y": 159,
- "w": 43,
- "h": 58
- }
- },
- {
- "filename": "0092.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 58
- },
- "frame": {
- "x": 53,
- "y": 159,
- "w": 43,
- "h": 58
- }
- },
- {
- "filename": "0093.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 44,
- "h": 58
- },
- "frame": {
- "x": 53,
- "y": 217,
- "w": 44,
- "h": 58
- }
- },
- {
- "filename": "0094.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 44,
- "h": 58
- },
- "frame": {
- "x": 53,
- "y": 217,
- "w": 44,
- "h": 58
- }
- },
- {
- "filename": "0005.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 45,
- "h": 55
- },
- "frame": {
- "x": 53,
- "y": 275,
- "w": 45,
- "h": 55
- }
- },
- {
- "filename": "0026.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 45,
- "h": 55
- },
- "frame": {
- "x": 53,
- "y": 275,
- "w": 45,
- "h": 55
- }
- },
- {
- "filename": "0027.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 45,
- "h": 55
- },
- "frame": {
- "x": 53,
- "y": 275,
- "w": 45,
- "h": 55
- }
- },
- {
- "filename": "0048.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 45,
- "h": 55
- },
- "frame": {
- "x": 53,
- "y": 275,
- "w": 45,
- "h": 55
- }
- },
- {
- "filename": "0049.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 45,
- "h": 55
- },
- "frame": {
- "x": 53,
- "y": 275,
- "w": 45,
- "h": 55
- }
- },
- {
- "filename": "0135.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 45,
- "h": 55
- },
- "frame": {
- "x": 53,
- "y": 275,
- "w": 45,
- "h": 55
- }
- },
- {
- "filename": "0116.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 96,
- "y": 158,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0117.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 96,
- "y": 158,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0126.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 97,
- "y": 214,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0127.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 97,
- "y": 214,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0006.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 49,
- "h": 55
- },
- "frame": {
- "x": 98,
- "y": 270,
- "w": 49,
- "h": 55
- }
- },
- {
- "filename": "0007.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 49,
- "h": 55
- },
- "frame": {
- "x": 98,
- "y": 270,
- "w": 49,
- "h": 55
- }
- },
- {
- "filename": "0028.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 49,
- "h": 55
- },
- "frame": {
- "x": 98,
- "y": 270,
- "w": 49,
- "h": 55
- }
- },
- {
- "filename": "0029.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 49,
- "h": 55
- },
- "frame": {
- "x": 98,
- "y": 270,
- "w": 49,
- "h": 55
- }
- },
- {
- "filename": "0050.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 49,
- "h": 55
- },
- "frame": {
- "x": 98,
- "y": 270,
- "w": 49,
- "h": 55
- }
- },
- {
- "filename": "0136.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 49,
- "h": 55
- },
- "frame": {
- "x": 98,
- "y": 270,
- "w": 49,
- "h": 55
- }
- },
- {
- "filename": "0137.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 49,
- "h": 55
- },
- "frame": {
- "x": 98,
- "y": 270,
- "w": 49,
- "h": 55
- }
- },
- {
- "filename": "0090.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 43,
- "h": 56
- },
- "frame": {
- "x": 149,
- "y": 158,
- "w": 43,
- "h": 56
- }
- },
- {
- "filename": "0095.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 58
- },
- "frame": {
- "x": 150,
- "y": 214,
- "w": 45,
- "h": 58
- }
- },
- {
- "filename": "0020.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 49,
- "h": 55
- },
- "frame": {
- "x": 147,
- "y": 272,
- "w": 49,
- "h": 55
- }
- },
{
"filename": "0041.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
"x": 0,
- "y": 3,
- "w": 49,
- "h": 55
+ "y": 5,
+ "w": 59,
+ "h": 53
},
"frame": {
- "x": 147,
- "y": 272,
- "w": 49,
- "h": 55
+ "x": 315,
+ "y": 56,
+ "w": 59,
+ "h": 53
}
},
{
- "filename": "0042.png",
+ "filename": "0059.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
"x": 0,
- "y": 3,
- "w": 49,
- "h": 55
+ "y": 5,
+ "w": 59,
+ "h": 53
},
"frame": {
- "x": 147,
- "y": 272,
- "w": 49,
- "h": 55
+ "x": 1,
+ "y": 103,
+ "w": 59,
+ "h": 53
}
},
{
@@ -1967,713 +434,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
"x": 0,
- "y": 3,
- "w": 49,
- "h": 55
+ "y": 5,
+ "w": 59,
+ "h": 53
},
"frame": {
- "x": 147,
- "y": 272,
- "w": 49,
- "h": 55
- }
- },
- {
- "filename": "0064.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 49,
- "h": 55
- },
- "frame": {
- "x": 147,
- "y": 272,
- "w": 49,
- "h": 55
- }
- },
- {
- "filename": "0128.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 49,
- "h": 55
- },
- "frame": {
- "x": 147,
- "y": 272,
- "w": 49,
- "h": 55
- }
- },
- {
- "filename": "0129.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 49,
- "h": 55
- },
- "frame": {
- "x": 147,
- "y": 272,
- "w": 49,
- "h": 55
- }
- },
- {
- "filename": "0150.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 49,
- "h": 55
- },
- "frame": {
- "x": 147,
- "y": 272,
- "w": 49,
- "h": 55
- }
- },
- {
- "filename": "0106.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 43,
- "h": 56
- },
- "frame": {
- "x": 174,
- "y": 102,
- "w": 43,
- "h": 56
- }
- },
- {
- "filename": "0107.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 43,
- "h": 56
- },
- "frame": {
- "x": 174,
- "y": 102,
- "w": 43,
- "h": 56
- }
- },
- {
- "filename": "0071.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 49,
- "h": 55
- },
- "frame": {
- "x": 217,
- "y": 96,
- "w": 49,
- "h": 55
- }
- },
- {
- "filename": "0072.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 49,
- "h": 55
- },
- "frame": {
- "x": 217,
- "y": 96,
- "w": 49,
- "h": 55
- }
- },
- {
- "filename": "0085.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 49,
- "h": 55
- },
- "frame": {
- "x": 266,
- "y": 96,
- "w": 49,
- "h": 55
- }
- },
- {
- "filename": "0115.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 49,
- "h": 55
- },
- "frame": {
- "x": 315,
- "y": 96,
- "w": 49,
- "h": 55
- }
- },
- {
- "filename": "0021.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 45,
- "h": 55
- },
- "frame": {
- "x": 192,
- "y": 158,
- "w": 45,
- "h": 55
- }
- },
- {
- "filename": "0022.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 45,
- "h": 55
- },
- "frame": {
- "x": 192,
- "y": 158,
- "w": 45,
- "h": 55
- }
- },
- {
- "filename": "0043.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 45,
- "h": 55
- },
- "frame": {
- "x": 192,
- "y": 158,
- "w": 45,
- "h": 55
- }
- },
- {
- "filename": "0044.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 45,
- "h": 55
- },
- "frame": {
- "x": 192,
- "y": 158,
- "w": 45,
- "h": 55
- }
- },
- {
- "filename": "0065.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 45,
- "h": 55
- },
- "frame": {
- "x": 192,
- "y": 158,
- "w": 45,
- "h": 55
- }
- },
- {
- "filename": "0130.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 45,
- "h": 55
- },
- "frame": {
- "x": 192,
- "y": 158,
- "w": 45,
- "h": 55
- }
- },
- {
- "filename": "0151.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 45,
- "h": 55
- },
- "frame": {
- "x": 192,
- "y": 158,
- "w": 45,
- "h": 55
- }
- },
- {
- "filename": "0152.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 45,
- "h": 55
- },
- "frame": {
- "x": 192,
- "y": 158,
- "w": 45,
- "h": 55
- }
- },
- {
- "filename": "0096.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 58
- },
- "frame": {
- "x": 195,
- "y": 213,
- "w": 45,
- "h": 58
- }
- },
- {
- "filename": "0097.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 58
- },
- "frame": {
- "x": 195,
- "y": 213,
- "w": 45,
- "h": 58
- }
- },
- {
- "filename": "0098.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 58
- },
- "frame": {
- "x": 196,
- "y": 271,
- "w": 45,
- "h": 58
- }
- },
- {
- "filename": "0099.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 58
- },
- "frame": {
- "x": 196,
- "y": 271,
- "w": 45,
- "h": 58
- }
- },
- {
- "filename": "0100.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 58
- },
- "frame": {
- "x": 237,
- "y": 151,
- "w": 45,
- "h": 58
- }
- },
- {
- "filename": "0101.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 58
- },
- "frame": {
- "x": 282,
- "y": 151,
- "w": 45,
- "h": 58
- }
- },
- {
- "filename": "0102.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 58
- },
- "frame": {
- "x": 282,
- "y": 151,
- "w": 45,
- "h": 58
- }
- },
- {
- "filename": "0103.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 44,
- "h": 58
- },
- "frame": {
- "x": 240,
- "y": 209,
- "w": 44,
- "h": 58
- }
- },
- {
- "filename": "0104.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 44,
- "h": 58
- },
- "frame": {
- "x": 240,
- "y": 209,
- "w": 44,
- "h": 58
- }
- },
- {
- "filename": "0105.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 58
- },
- "frame": {
- "x": 284,
- "y": 209,
- "w": 43,
- "h": 58
- }
- },
- {
- "filename": "0070.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 45,
- "h": 55
- },
- "frame": {
- "x": 241,
- "y": 267,
- "w": 45,
- "h": 55
- }
- },
- {
- "filename": "0086.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 45,
- "h": 55
- },
- "frame": {
- "x": 286,
- "y": 267,
- "w": 45,
- "h": 55
- }
- },
- {
- "filename": "0087.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 45,
- "h": 55
- },
- "frame": {
- "x": 286,
- "y": 267,
- "w": 45,
- "h": 55
- }
- },
- {
- "filename": "0113.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 45,
- "h": 55
- },
- "frame": {
- "x": 327,
- "y": 151,
- "w": 45,
- "h": 55
- }
- },
- {
- "filename": "0114.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 45,
- "h": 55
- },
- "frame": {
- "x": 327,
- "y": 151,
- "w": 45,
- "h": 55
+ "x": 62,
+ "y": 103,
+ "w": 59,
+ "h": 53
}
},
{
@@ -2681,7 +455,7 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
@@ -2691,18 +465,18 @@
"h": 54
},
"frame": {
- "x": 327,
- "y": 206,
+ "x": 123,
+ "y": 103,
"w": 42,
"h": 54
}
},
{
- "filename": "0002.png",
+ "filename": "0012.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
@@ -2712,8 +486,8 @@
"h": 54
},
"frame": {
- "x": 327,
- "y": 206,
+ "x": 123,
+ "y": 103,
"w": 42,
"h": 54
}
@@ -2723,7 +497,7 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
@@ -2733,18 +507,18 @@
"h": 54
},
"frame": {
- "x": 327,
- "y": 206,
+ "x": 123,
+ "y": 103,
"w": 42,
"h": 54
}
},
{
- "filename": "0024.png",
+ "filename": "0002.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
@@ -2754,8 +528,134 @@
"h": 54
},
"frame": {
- "x": 327,
- "y": 206,
+ "x": 167,
+ "y": 108,
+ "w": 42,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 42,
+ "h": 54
+ },
+ "frame": {
+ "x": 167,
+ "y": 108,
+ "w": 42,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 42,
+ "h": 54
+ },
+ "frame": {
+ "x": 211,
+ "y": 108,
+ "w": 42,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 42,
+ "h": 54
+ },
+ "frame": {
+ "x": 255,
+ "y": 108,
+ "w": 42,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 42,
+ "h": 54
+ },
+ "frame": {
+ "x": 255,
+ "y": 108,
+ "w": 42,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 42,
+ "h": 54
+ },
+ "frame": {
+ "x": 255,
+ "y": 108,
+ "w": 42,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 42,
+ "h": 54
+ },
+ "frame": {
+ "x": 299,
+ "y": 111,
"w": 42,
"h": 54
}
@@ -2765,104 +665,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
"x": 0,
- "y": 4,
+ "y": 1,
"w": 42,
- "h": 54
+ "h": 57
},
"frame": {
- "x": 327,
- "y": 206,
+ "x": 343,
+ "y": 111,
"w": 42,
- "h": 54
- }
- },
- {
- "filename": "0066.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 4,
- "w": 42,
- "h": 54
- },
- "frame": {
- "x": 327,
- "y": 206,
- "w": 42,
- "h": 54
- }
- },
- {
- "filename": "0067.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 4,
- "w": 42,
- "h": 54
- },
- "frame": {
- "x": 327,
- "y": 206,
- "w": 42,
- "h": 54
- }
- },
- {
- "filename": "0131.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 4,
- "w": 42,
- "h": 54
- },
- "frame": {
- "x": 327,
- "y": 206,
- "w": 42,
- "h": 54
- }
- },
- {
- "filename": "0132.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 4,
- "w": 42,
- "h": 54
- },
- "frame": {
- "x": 327,
- "y": 206,
- "w": 42,
- "h": 54
+ "h": 57
}
},
{
@@ -2870,41 +686,209 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
"x": 0,
- "y": 4,
- "w": 42,
- "h": 54
+ "y": 3,
+ "w": 45,
+ "h": 55
},
"frame": {
- "x": 331,
- "y": 260,
- "w": 42,
- "h": 54
+ "x": 1,
+ "y": 158,
+ "w": 45,
+ "h": 55
}
},
{
- "filename": "0004.png",
+ "filename": "0024.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
"x": 0,
- "y": 4,
- "w": 42,
- "h": 54
+ "y": 3,
+ "w": 45,
+ "h": 55
},
"frame": {
- "x": 331,
- "y": 260,
- "w": 42,
- "h": 54
+ "x": 1,
+ "y": 158,
+ "w": 45,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 49,
+ "h": 55
+ },
+ "frame": {
+ "x": 48,
+ "y": 158,
+ "w": 49,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 49,
+ "h": 55
+ },
+ "frame": {
+ "x": 48,
+ "y": 158,
+ "w": 49,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 49,
+ "h": 55
+ },
+ "frame": {
+ "x": 48,
+ "y": 158,
+ "w": 49,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 45,
+ "h": 55
+ },
+ "frame": {
+ "x": 99,
+ "y": 159,
+ "w": 45,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 45,
+ "h": 55
+ },
+ "frame": {
+ "x": 99,
+ "y": 159,
+ "w": 45,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 45,
+ "h": 55
+ },
+ "frame": {
+ "x": 99,
+ "y": 159,
+ "w": 45,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 45,
+ "h": 55
+ },
+ "frame": {
+ "x": 99,
+ "y": 159,
+ "w": 45,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 49,
+ "h": 55
+ },
+ "frame": {
+ "x": 146,
+ "y": 164,
+ "w": 49,
+ "h": 55
}
},
{
@@ -2912,20 +896,83 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
"x": 0,
- "y": 4,
- "w": 42,
- "h": 54
+ "y": 3,
+ "w": 49,
+ "h": 55
},
"frame": {
- "x": 331,
- "y": 260,
- "w": 42,
- "h": 54
+ "x": 146,
+ "y": 164,
+ "w": 49,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 45,
+ "h": 55
+ },
+ "frame": {
+ "x": 197,
+ "y": 164,
+ "w": 45,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 49,
+ "h": 55
+ },
+ "frame": {
+ "x": 244,
+ "y": 164,
+ "w": 49,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 45,
+ "h": 55
+ },
+ "frame": {
+ "x": 295,
+ "y": 167,
+ "w": 45,
+ "h": 55
}
},
{
@@ -2933,20 +980,251 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
"x": 0,
- "y": 4,
- "w": 42,
- "h": 54
+ "y": 0,
+ "w": 43,
+ "h": 58
},
"frame": {
- "x": 331,
- "y": 260,
- "w": 42,
- "h": 54
+ "x": 342,
+ "y": 170,
+ "w": 43,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 49,
+ "h": 55
+ },
+ "frame": {
+ "x": 1,
+ "y": 215,
+ "w": 49,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 49,
+ "h": 55
+ },
+ "frame": {
+ "x": 52,
+ "y": 216,
+ "w": 49,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 49,
+ "h": 55
+ },
+ "frame": {
+ "x": 103,
+ "y": 221,
+ "w": 49,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 53,
+ "h": 56
+ },
+ "frame": {
+ "x": 154,
+ "y": 221,
+ "w": 53,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 53,
+ "h": 56
+ },
+ "frame": {
+ "x": 154,
+ "y": 221,
+ "w": 53,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 53,
+ "h": 56
+ },
+ "frame": {
+ "x": 154,
+ "y": 221,
+ "w": 53,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 53,
+ "h": 56
+ },
+ "frame": {
+ "x": 209,
+ "y": 221,
+ "w": 53,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 53,
+ "h": 56
+ },
+ "frame": {
+ "x": 209,
+ "y": 221,
+ "w": 53,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 53,
+ "h": 56
+ },
+ "frame": {
+ "x": 209,
+ "y": 221,
+ "w": 53,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 53,
+ "h": 56
+ },
+ "frame": {
+ "x": 264,
+ "y": 224,
+ "w": 53,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 53,
+ "h": 56
+ },
+ "frame": {
+ "x": 319,
+ "y": 230,
+ "w": 53,
+ "h": 56
}
},
{
@@ -2954,251 +1232,146 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
"x": 0,
- "y": 4,
- "w": 42,
- "h": 54
+ "y": 0,
+ "w": 44,
+ "h": 58
},
"frame": {
- "x": 331,
- "y": 260,
- "w": 42,
- "h": 54
+ "x": 1,
+ "y": 272,
+ "w": 44,
+ "h": 58
}
},
{
- "filename": "0133.png",
+ "filename": "0048.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
"x": 0,
- "y": 4,
- "w": 42,
- "h": 54
+ "y": 0,
+ "w": 45,
+ "h": 58
},
"frame": {
- "x": 331,
- "y": 260,
- "w": 42,
- "h": 54
+ "x": 47,
+ "y": 273,
+ "w": 45,
+ "h": 58
}
},
{
- "filename": "0134.png",
+ "filename": "0049.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
"x": 0,
- "y": 4,
- "w": 42,
- "h": 54
+ "y": 0,
+ "w": 45,
+ "h": 58
},
"frame": {
- "x": 331,
- "y": 260,
- "w": 42,
- "h": 54
+ "x": 94,
+ "y": 278,
+ "w": 45,
+ "h": 58
}
},
{
- "filename": "0068.png",
+ "filename": "0050.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
"x": 0,
- "y": 4,
- "w": 42,
- "h": 54
+ "y": 0,
+ "w": 46,
+ "h": 58
},
"frame": {
- "x": 331,
- "y": 314,
- "w": 42,
- "h": 54
+ "x": 141,
+ "y": 279,
+ "w": 46,
+ "h": 58
}
},
{
- "filename": "0069.png",
+ "filename": "0051.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
"x": 0,
- "y": 4,
- "w": 42,
- "h": 54
+ "y": 0,
+ "w": 45,
+ "h": 58
},
"frame": {
- "x": 331,
- "y": 314,
- "w": 42,
- "h": 54
+ "x": 189,
+ "y": 279,
+ "w": 45,
+ "h": 58
}
},
{
- "filename": "0088.png",
+ "filename": "0052.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
"x": 0,
- "y": 4,
- "w": 42,
- "h": 54
+ "y": 0,
+ "w": 44,
+ "h": 58
},
"frame": {
- "x": 241,
- "y": 322,
- "w": 42,
- "h": 54
+ "x": 236,
+ "y": 282,
+ "w": 44,
+ "h": 58
}
},
{
- "filename": "0089.png",
+ "filename": "0053.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
"x": 0,
- "y": 4,
- "w": 42,
- "h": 54
- },
- "frame": {
- "x": 241,
- "y": 322,
- "w": 42,
- "h": 54
- }
- },
- {
- "filename": "0108.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
+ "y": 0,
+ "w": 43,
"h": 58
},
- "spriteSourceSize": {
- "x": 0,
- "y": 4,
- "w": 42,
- "h": 54
- },
"frame": {
- "x": 241,
- "y": 322,
- "w": 42,
- "h": 54
- }
- },
- {
- "filename": "0109.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
+ "x": 282,
+ "y": 288,
+ "w": 43,
"h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 4,
- "w": 42,
- "h": 54
- },
- "frame": {
- "x": 241,
- "y": 322,
- "w": 42,
- "h": 54
- }
- },
- {
- "filename": "0110.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 4,
- "w": 42,
- "h": 54
- },
- "frame": {
- "x": 241,
- "y": 322,
- "w": 42,
- "h": 54
- }
- },
- {
- "filename": "0111.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 4,
- "w": 42,
- "h": 54
- },
- "frame": {
- "x": 283,
- "y": 322,
- "w": 42,
- "h": 54
- }
- },
- {
- "filename": "0112.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 4,
- "w": 42,
- "h": 54
- },
- "frame": {
- "x": 283,
- "y": 322,
- "w": 42,
- "h": 54
}
}
]
@@ -3207,6 +1380,6 @@
"meta": {
"app": "https://www.codeandweb.com/texturepacker",
"version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:8035313afb7abed8b9f404fc150b5ea6:228857b9794392478592ec3b8c178953:fb684cbb576f205e45dc62e63d92a744$"
+ "smartupdate": "$TexturePacker:SmartUpdate:b40733fff3c9e56156288de85200b9b2:255376a3a047a525a42dff59155c43ba:fb684cbb576f205e45dc62e63d92a744$"
}
}
diff --git a/public/images/pokemon/196.png b/public/images/pokemon/196.png
index 435f9e9a73b..7b1890777bd 100644
Binary files a/public/images/pokemon/196.png and b/public/images/pokemon/196.png differ
diff --git a/public/images/pokemon/228.png b/public/images/pokemon/228.png
index f79f1e3e7e4..c601cc4058d 100644
Binary files a/public/images/pokemon/228.png and b/public/images/pokemon/228.png differ
diff --git a/public/images/pokemon/229-mega.png b/public/images/pokemon/229-mega.png
index ef5bc2c7d5a..ebcda7bf90a 100644
Binary files a/public/images/pokemon/229-mega.png and b/public/images/pokemon/229-mega.png differ
diff --git a/public/images/pokemon/229.png b/public/images/pokemon/229.png
index 76455fbcd19..270f36e64eb 100644
Binary files a/public/images/pokemon/229.png and b/public/images/pokemon/229.png differ
diff --git a/public/images/pokemon/232.png b/public/images/pokemon/232.png
index 2b30277dcb4..ac7ae0eb5ae 100644
Binary files a/public/images/pokemon/232.png and b/public/images/pokemon/232.png differ
diff --git a/public/images/pokemon/25-partner.json b/public/images/pokemon/25-partner.json
new file mode 100644
index 00000000000..cce520937e9
--- /dev/null
+++ b/public/images/pokemon/25-partner.json
@@ -0,0 +1,2456 @@
+{
+ "textures": [
+ {
+ "image": "25-partner.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 315,
+ "h": 315
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 46,
+ "h": 46
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 46,
+ "h": 46
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 50,
+ "h": 43
+ },
+ "frame": {
+ "x": 0,
+ "y": 46,
+ "w": 50,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 50,
+ "h": 43
+ },
+ "frame": {
+ "x": 0,
+ "y": 46,
+ "w": 50,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 50,
+ "h": 43
+ },
+ "frame": {
+ "x": 46,
+ "y": 0,
+ "w": 50,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 50,
+ "h": 43
+ },
+ "frame": {
+ "x": 46,
+ "y": 0,
+ "w": 50,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 45,
+ "h": 46
+ },
+ "frame": {
+ "x": 50,
+ "y": 43,
+ "w": 45,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 45,
+ "h": 46
+ },
+ "frame": {
+ "x": 50,
+ "y": 43,
+ "w": 45,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 45,
+ "h": 46
+ },
+ "frame": {
+ "x": 50,
+ "y": 43,
+ "w": 45,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 95,
+ "y": 43,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 95,
+ "y": 43,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 49,
+ "h": 43
+ },
+ "frame": {
+ "x": 96,
+ "y": 0,
+ "w": 49,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 49,
+ "h": 43
+ },
+ "frame": {
+ "x": 96,
+ "y": 0,
+ "w": 49,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 138,
+ "y": 43,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 138,
+ "y": 43,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 49,
+ "h": 43
+ },
+ "frame": {
+ "x": 145,
+ "y": 0,
+ "w": 49,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 49,
+ "h": 43
+ },
+ "frame": {
+ "x": 145,
+ "y": 0,
+ "w": 49,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 181,
+ "y": 43,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 181,
+ "y": 43,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 49,
+ "h": 43
+ },
+ "frame": {
+ "x": 194,
+ "y": 0,
+ "w": 49,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 49,
+ "h": 43
+ },
+ "frame": {
+ "x": 194,
+ "y": 0,
+ "w": 49,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 224,
+ "y": 43,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 224,
+ "y": 43,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 48,
+ "h": 43
+ },
+ "frame": {
+ "x": 243,
+ "y": 0,
+ "w": 48,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 48,
+ "h": 43
+ },
+ "frame": {
+ "x": 243,
+ "y": 0,
+ "w": 48,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 267,
+ "y": 43,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 267,
+ "y": 43,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 49,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 89,
+ "w": 49,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 49,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 89,
+ "w": 49,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 49,
+ "h": 44
+ },
+ "frame": {
+ "x": 49,
+ "y": 89,
+ "w": 49,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 49,
+ "h": 44
+ },
+ "frame": {
+ "x": 49,
+ "y": 89,
+ "w": 49,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 98,
+ "y": 89,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 98,
+ "y": 89,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 0,
+ "y": 133,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 0,
+ "y": 133,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 0,
+ "y": 133,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 0,
+ "y": 133,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 43,
+ "y": 133,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 43,
+ "y": 133,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 141,
+ "y": 89,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 141,
+ "y": 89,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 184,
+ "y": 89,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 184,
+ "y": 89,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 226,
+ "y": 89,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 226,
+ "y": 89,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 268,
+ "y": 89,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 268,
+ "y": 89,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 49,
+ "h": 44
+ },
+ "frame": {
+ "x": 86,
+ "y": 135,
+ "w": 49,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 49,
+ "h": 44
+ },
+ "frame": {
+ "x": 86,
+ "y": 135,
+ "w": 49,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 49,
+ "h": 44
+ },
+ "frame": {
+ "x": 135,
+ "y": 135,
+ "w": 49,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 49,
+ "h": 44
+ },
+ "frame": {
+ "x": 135,
+ "y": 135,
+ "w": 49,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 184,
+ "y": 135,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 184,
+ "y": 135,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 226,
+ "y": 135,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 226,
+ "y": 135,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 267,
+ "y": 135,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 267,
+ "y": 135,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 267,
+ "y": 135,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 267,
+ "y": 135,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 48,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 179,
+ "w": 48,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 48,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 179,
+ "w": 48,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 47,
+ "h": 44
+ },
+ "frame": {
+ "x": 48,
+ "y": 179,
+ "w": 47,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 47,
+ "h": 44
+ },
+ "frame": {
+ "x": 48,
+ "y": 179,
+ "w": 47,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 95,
+ "y": 179,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 95,
+ "y": 179,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 47,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 223,
+ "w": 47,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 47,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 223,
+ "w": 47,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 47,
+ "y": 223,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 47,
+ "y": 223,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 47,
+ "y": 223,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 47,
+ "y": 223,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 47,
+ "y": 223,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 47,
+ "y": 223,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 47,
+ "y": 223,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 47,
+ "y": 223,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 47,
+ "y": 223,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 47,
+ "y": 223,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 47,
+ "y": 223,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 47,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 267,
+ "w": 47,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 47,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 267,
+ "w": 47,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 47,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 267,
+ "w": 47,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 47,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 267,
+ "w": 47,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 136,
+ "y": 179,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 136,
+ "y": 179,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 136,
+ "y": 179,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 136,
+ "y": 179,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 48,
+ "h": 43
+ },
+ "frame": {
+ "x": 177,
+ "y": 181,
+ "w": 48,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 48,
+ "h": 43
+ },
+ "frame": {
+ "x": 177,
+ "y": 181,
+ "w": 48,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 225,
+ "y": 181,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 225,
+ "y": 181,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 225,
+ "y": 181,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 225,
+ "y": 181,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 177,
+ "y": 224,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 177,
+ "y": 224,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 177,
+ "y": 224,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 177,
+ "y": 224,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 46,
+ "h": 44
+ },
+ "frame": {
+ "x": 88,
+ "y": 225,
+ "w": 46,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 46,
+ "h": 44
+ },
+ "frame": {
+ "x": 88,
+ "y": 225,
+ "w": 46,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 134,
+ "y": 225,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 134,
+ "y": 225,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 48,
+ "h": 43
+ },
+ "frame": {
+ "x": 47,
+ "y": 269,
+ "w": 48,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 48,
+ "h": 43
+ },
+ "frame": {
+ "x": 47,
+ "y": 269,
+ "w": 48,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 48,
+ "h": 43
+ },
+ "frame": {
+ "x": 218,
+ "y": 227,
+ "w": 48,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 48,
+ "h": 43
+ },
+ "frame": {
+ "x": 218,
+ "y": 227,
+ "w": 48,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 46,
+ "h": 44
+ },
+ "frame": {
+ "x": 266,
+ "y": 181,
+ "w": 46,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 46,
+ "h": 44
+ },
+ "frame": {
+ "x": 266,
+ "y": 181,
+ "w": 46,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 46,
+ "h": 44
+ },
+ "frame": {
+ "x": 266,
+ "y": 225,
+ "w": 46,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 46,
+ "h": 44
+ },
+ "frame": {
+ "x": 266,
+ "y": 225,
+ "w": 46,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 47,
+ "h": 43
+ },
+ "frame": {
+ "x": 266,
+ "y": 269,
+ "w": 47,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 47,
+ "h": 43
+ },
+ "frame": {
+ "x": 266,
+ "y": 269,
+ "w": 47,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 45,
+ "h": 44
+ },
+ "frame": {
+ "x": 175,
+ "y": 270,
+ "w": 45,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 45,
+ "h": 44
+ },
+ "frame": {
+ "x": 175,
+ "y": 270,
+ "w": 45,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 45,
+ "h": 44
+ },
+ "frame": {
+ "x": 220,
+ "y": 270,
+ "w": 45,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 45,
+ "h": 44
+ },
+ "frame": {
+ "x": 220,
+ "y": 270,
+ "w": 45,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 45,
+ "h": 44
+ },
+ "frame": {
+ "x": 95,
+ "y": 271,
+ "w": 45,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 45,
+ "h": 44
+ },
+ "frame": {
+ "x": 95,
+ "y": 271,
+ "w": 45,
+ "h": 44
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:6dc7963b6e2b4f0a9df10c958d473654:b388b88edf60945ac1b6cf301ebd3094:d7d9e845c71962a58076b5efe962284e$"
+ }
+}
diff --git a/public/images/pokemon/25-partner.png b/public/images/pokemon/25-partner.png
new file mode 100644
index 00000000000..7b1104a3a55
Binary files /dev/null and b/public/images/pokemon/25-partner.png differ
diff --git a/public/images/pokemon/357.png b/public/images/pokemon/357.png
index af82dcf794b..ce003f24c41 100644
Binary files a/public/images/pokemon/357.png and b/public/images/pokemon/357.png differ
diff --git a/public/images/pokemon/401.png b/public/images/pokemon/401.png
index 1c6539ede05..fa3dd915202 100644
Binary files a/public/images/pokemon/401.png and b/public/images/pokemon/401.png differ
diff --git a/public/images/pokemon/402.png b/public/images/pokemon/402.png
index 5ab784e805d..a7808e446a6 100644
Binary files a/public/images/pokemon/402.png and b/public/images/pokemon/402.png differ
diff --git a/public/images/pokemon/431.json b/public/images/pokemon/431.json
index 532fee12a28..53197576127 100644
--- a/public/images/pokemon/431.json
+++ b/public/images/pokemon/431.json
@@ -4,1206 +4,51 @@
"image": "431.png",
"format": "RGBA8888",
"size": {
- "w": 428,
- "h": 428
+ "w": 417,
+ "h": 417
},
"scale": 1,
"frames": [
{
- "filename": "0011.png",
+ "filename": "0072.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
- "y": 7,
- "w": 54,
- "h": 48
+ "y": 10,
+ "w": 72,
+ "h": 57
},
"frame": {
- "x": 0,
- "y": 0,
- "w": 54,
- "h": 48
- }
- },
- {
- "filename": "0055.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 7,
- "w": 54,
- "h": 48
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 54,
- "h": 48
- }
- },
- {
- "filename": "0012.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 7,
- "w": 54,
- "h": 48
- },
- "frame": {
- "x": 54,
- "y": 0,
- "w": 54,
- "h": 48
- }
- },
- {
- "filename": "0056.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 7,
- "w": 54,
- "h": 48
- },
- "frame": {
- "x": 54,
- "y": 0,
- "w": 54,
- "h": 48
- }
- },
- {
- "filename": "0033.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 7,
- "w": 54,
- "h": 48
- },
- "frame": {
- "x": 108,
- "y": 0,
- "w": 54,
- "h": 48
- }
- },
- {
- "filename": "0077.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 7,
- "w": 54,
- "h": 48
- },
- "frame": {
- "x": 108,
- "y": 0,
- "w": 54,
- "h": 48
- }
- },
- {
- "filename": "0034.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 7,
- "w": 54,
- "h": 48
- },
- "frame": {
- "x": 162,
- "y": 0,
- "w": 54,
- "h": 48
- }
- },
- {
- "filename": "0078.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 7,
- "w": 54,
- "h": 48
- },
- "frame": {
- "x": 162,
- "y": 0,
- "w": 54,
- "h": 48
- }
- },
- {
- "filename": "0009.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 55,
- "h": 50
- },
- "frame": {
- "x": 216,
- "y": 0,
- "w": 55,
- "h": 50
- }
- },
- {
- "filename": "0053.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 55,
- "h": 50
- },
- "frame": {
- "x": 216,
- "y": 0,
- "w": 55,
- "h": 50
- }
- },
- {
- "filename": "0010.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 55,
- "h": 50
- },
- "frame": {
- "x": 271,
- "y": 0,
- "w": 55,
- "h": 50
- }
- },
- {
- "filename": "0054.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 55,
- "h": 50
- },
- "frame": {
- "x": 271,
- "y": 0,
- "w": 55,
- "h": 50
- }
- },
- {
- "filename": "0013.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 55,
- "h": 50
- },
- "frame": {
- "x": 326,
- "y": 0,
- "w": 55,
- "h": 50
- }
- },
- {
- "filename": "0057.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 55,
- "h": 50
- },
- "frame": {
- "x": 326,
- "y": 0,
- "w": 55,
- "h": 50
- }
- },
- {
- "filename": "0103.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 4,
- "w": 46,
- "h": 51
- },
- "frame": {
- "x": 381,
- "y": 0,
- "w": 46,
- "h": 51
- }
- },
- {
- "filename": "0104.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 4,
- "w": 46,
- "h": 51
- },
- "frame": {
- "x": 381,
- "y": 0,
- "w": 46,
- "h": 51
- }
- },
- {
- "filename": "0014.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 55,
- "h": 50
- },
- "frame": {
- "x": 0,
- "y": 48,
- "w": 55,
- "h": 50
- }
- },
- {
- "filename": "0058.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 55,
- "h": 50
- },
- "frame": {
- "x": 0,
- "y": 48,
- "w": 55,
- "h": 50
- }
- },
- {
- "filename": "0031.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 55,
- "h": 50
- },
- "frame": {
- "x": 55,
- "y": 48,
- "w": 55,
- "h": 50
- }
- },
- {
- "filename": "0075.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 55,
- "h": 50
- },
- "frame": {
- "x": 55,
- "y": 48,
- "w": 55,
- "h": 50
- }
- },
- {
- "filename": "0032.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 55,
- "h": 50
- },
- "frame": {
- "x": 110,
- "y": 48,
- "w": 55,
- "h": 50
- }
- },
- {
- "filename": "0076.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 55,
- "h": 50
- },
- "frame": {
- "x": 110,
- "y": 48,
- "w": 55,
- "h": 50
- }
- },
- {
- "filename": "0035.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 55,
- "h": 50
- },
- "frame": {
- "x": 165,
- "y": 50,
- "w": 55,
- "h": 50
- }
- },
- {
- "filename": "0079.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 55,
- "h": 50
- },
- "frame": {
- "x": 165,
- "y": 50,
- "w": 55,
- "h": 50
- }
- },
- {
- "filename": "0036.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 55,
- "h": 50
- },
- "frame": {
- "x": 220,
- "y": 50,
- "w": 55,
- "h": 50
- }
- },
- {
- "filename": "0080.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 55,
- "h": 50
- },
- "frame": {
- "x": 220,
- "y": 50,
- "w": 55,
- "h": 50
- }
- },
- {
- "filename": "0007.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 55,
- "h": 52
- },
- "frame": {
- "x": 275,
- "y": 50,
- "w": 55,
- "h": 52
- }
- },
- {
- "filename": "0051.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 55,
- "h": 52
- },
- "frame": {
- "x": 275,
- "y": 50,
- "w": 55,
- "h": 52
- }
- },
- {
- "filename": "0125.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 51,
- "h": 52
- },
- "frame": {
- "x": 330,
- "y": 50,
- "w": 51,
- "h": 52
- }
- },
- {
- "filename": "0126.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 51,
- "h": 52
- },
- "frame": {
- "x": 330,
- "y": 50,
- "w": 51,
- "h": 52
- }
- },
- {
- "filename": "0008.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 55,
- "h": 52
- },
- "frame": {
- "x": 0,
- "y": 98,
- "w": 55,
- "h": 52
- }
- },
- {
- "filename": "0052.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 55,
- "h": 52
- },
- "frame": {
- "x": 0,
- "y": 98,
- "w": 55,
- "h": 52
- }
- },
- {
- "filename": "0015.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 55,
- "h": 52
- },
- "frame": {
- "x": 55,
- "y": 98,
- "w": 55,
- "h": 52
- }
- },
- {
- "filename": "0059.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 55,
- "h": 52
- },
- "frame": {
- "x": 55,
- "y": 98,
- "w": 55,
- "h": 52
- }
- },
- {
- "filename": "0016.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 55,
- "h": 52
- },
- "frame": {
- "x": 110,
- "y": 98,
- "w": 55,
- "h": 52
- }
- },
- {
- "filename": "0060.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 55,
- "h": 52
- },
- "frame": {
- "x": 110,
- "y": 98,
- "w": 55,
- "h": 52
- }
- },
- {
- "filename": "0029.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 55,
- "h": 52
- },
- "frame": {
- "x": 165,
- "y": 100,
- "w": 55,
- "h": 52
- }
- },
- {
- "filename": "0073.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 55,
- "h": 52
- },
- "frame": {
- "x": 165,
- "y": 100,
- "w": 55,
- "h": 52
- }
- },
- {
- "filename": "0030.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 55,
- "h": 52
- },
- "frame": {
- "x": 220,
- "y": 100,
- "w": 55,
- "h": 52
- }
- },
- {
- "filename": "0074.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 55,
- "h": 52
- },
- "frame": {
- "x": 220,
- "y": 100,
- "w": 55,
- "h": 52
- }
- },
- {
- "filename": "0037.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 55,
- "h": 52
- },
- "frame": {
- "x": 275,
- "y": 102,
- "w": 55,
- "h": 52
- }
- },
- {
- "filename": "0081.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 55,
- "h": 52
- },
- "frame": {
- "x": 275,
- "y": 102,
- "w": 55,
- "h": 52
- }
- },
- {
- "filename": "0038.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 55,
- "h": 52
- },
- "frame": {
- "x": 330,
- "y": 102,
- "w": 55,
- "h": 52
- }
- },
- {
- "filename": "0082.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 55,
- "h": 52
- },
- "frame": {
- "x": 330,
- "y": 102,
- "w": 55,
- "h": 52
- }
- },
- {
- "filename": "0127.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 53
- },
- "frame": {
- "x": 0,
- "y": 150,
- "w": 53,
- "h": 53
- }
- },
- {
- "filename": "0128.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 53
- },
- "frame": {
- "x": 0,
- "y": 150,
- "w": 53,
- "h": 53
- }
- },
- {
- "filename": "0005.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
+ "x": 1,
"y": 1,
- "w": 56,
- "h": 54
- },
- "frame": {
- "x": 53,
- "y": 150,
- "w": 56,
- "h": 54
+ "w": 72,
+ "h": 57
}
},
{
- "filename": "0049.png",
+ "filename": "0070.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
- "y": 1,
- "w": 56,
- "h": 54
+ "y": 6,
+ "w": 66,
+ "h": 61
},
"frame": {
- "x": 53,
- "y": 150,
- "w": 56,
- "h": 54
- }
- },
- {
- "filename": "0006.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 56,
- "h": 54
- },
- "frame": {
- "x": 109,
- "y": 150,
- "w": 56,
- "h": 54
- }
- },
- {
- "filename": "0050.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 56,
- "h": 54
- },
- "frame": {
- "x": 109,
- "y": 150,
- "w": 56,
- "h": 54
- }
- },
- {
- "filename": "0017.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 56,
- "h": 54
- },
- "frame": {
- "x": 165,
- "y": 152,
- "w": 56,
- "h": 54
- }
- },
- {
- "filename": "0061.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 56,
- "h": 54
- },
- "frame": {
- "x": 165,
- "y": 152,
- "w": 56,
- "h": 54
- }
- },
- {
- "filename": "0105.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 48,
- "h": 54
- },
- "frame": {
- "x": 221,
- "y": 152,
- "w": 48,
- "h": 54
- }
- },
- {
- "filename": "0106.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 48,
- "h": 54
- },
- "frame": {
- "x": 221,
- "y": 152,
- "w": 48,
- "h": 54
- }
- },
- {
- "filename": "0018.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 56,
- "h": 54
- },
- "frame": {
- "x": 269,
- "y": 154,
- "w": 56,
- "h": 54
- }
- },
- {
- "filename": "0062.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 56,
- "h": 54
- },
- "frame": {
- "x": 269,
- "y": 154,
- "w": 56,
- "h": 54
- }
- },
- {
- "filename": "0027.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 56,
- "h": 54
- },
- "frame": {
- "x": 325,
- "y": 154,
- "w": 56,
- "h": 54
+ "x": 1,
+ "y": 60,
+ "w": 66,
+ "h": 61
}
},
{
@@ -1212,229 +57,229 @@
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
- "y": 1,
- "w": 56,
- "h": 54
+ "y": 6,
+ "w": 66,
+ "h": 61
},
"frame": {
- "x": 325,
- "y": 154,
- "w": 56,
- "h": 54
+ "x": 1,
+ "y": 60,
+ "w": 66,
+ "h": 61
}
},
{
- "filename": "0028.png",
+ "filename": "0073.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
- "y": 1,
- "w": 56,
- "h": 54
+ "y": 5,
+ "w": 63,
+ "h": 62
},
"frame": {
- "x": 0,
- "y": 204,
- "w": 56,
- "h": 54
+ "x": 1,
+ "y": 123,
+ "w": 63,
+ "h": 62
}
},
{
- "filename": "0072.png",
+ "filename": "0074.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
- "y": 1,
- "w": 56,
- "h": 54
+ "y": 5,
+ "w": 63,
+ "h": 62
},
"frame": {
- "x": 0,
- "y": 204,
- "w": 56,
- "h": 54
+ "x": 1,
+ "y": 123,
+ "w": 63,
+ "h": 62
}
},
{
- "filename": "0039.png",
+ "filename": "0088.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 56,
- "h": 54
- },
- "frame": {
- "x": 56,
- "y": 204,
- "w": 56,
- "h": 54
- }
- },
- {
- "filename": "0083.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 56,
- "h": 54
- },
- "frame": {
- "x": 56,
- "y": 204,
- "w": 56,
- "h": 54
- }
- },
- {
- "filename": "0101.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
"y": 0,
- "w": 48,
- "h": 55
+ "w": 58,
+ "h": 67
},
"frame": {
- "x": 112,
- "y": 204,
- "w": 48,
- "h": 55
+ "x": 1,
+ "y": 187,
+ "w": 58,
+ "h": 67
}
},
{
- "filename": "0102.png",
+ "filename": "0089.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
"y": 0,
- "w": 48,
- "h": 55
+ "w": 58,
+ "h": 67
},
"frame": {
- "x": 112,
- "y": 204,
- "w": 48,
- "h": 55
+ "x": 1,
+ "y": 187,
+ "w": 58,
+ "h": 67
}
},
{
- "filename": "0040.png",
+ "filename": "0087.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
+ "y": 2,
+ "w": 58,
+ "h": 65
+ },
+ "frame": {
+ "x": 1,
+ "y": 256,
+ "w": 58,
+ "h": 65
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 55,
+ "h": 65
+ },
+ "frame": {
+ "x": 1,
+ "y": 323,
+ "w": 55,
+ "h": 65
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 62,
+ "h": 61
+ },
+ "frame": {
+ "x": 75,
"y": 1,
- "w": 56,
- "h": 54
- },
- "frame": {
- "x": 160,
- "y": 206,
- "w": 56,
- "h": 54
+ "w": 62,
+ "h": 61
}
},
{
- "filename": "0084.png",
+ "filename": "0085.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
+ "y": 5,
+ "w": 57,
+ "h": 62
+ },
+ "frame": {
+ "x": 139,
"y": 1,
- "w": 56,
- "h": 54
- },
- "frame": {
- "x": 160,
- "y": 206,
- "w": 56,
- "h": 54
+ "w": 57,
+ "h": 62
}
},
{
- "filename": "0107.png",
+ "filename": "0086.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
- "y": 0,
- "w": 51,
- "h": 55
+ "y": 5,
+ "w": 57,
+ "h": 62
},
"frame": {
- "x": 216,
- "y": 206,
- "w": 51,
- "h": 55
+ "x": 139,
+ "y": 1,
+ "w": 57,
+ "h": 62
}
},
{
- "filename": "0108.png",
+ "filename": "0075.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
- "y": 0,
- "w": 51,
- "h": 55
+ "y": 5,
+ "w": 54,
+ "h": 62
},
"frame": {
- "x": 216,
- "y": 206,
- "w": 51,
- "h": 55
+ "x": 198,
+ "y": 1,
+ "w": 54,
+ "h": 62
}
},
{
@@ -1443,19 +288,1006 @@
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
- "y": 0,
+ "y": 8,
"w": 56,
- "h": 55
+ "h": 59
},
"frame": {
- "x": 267,
- "y": 208,
+ "x": 254,
+ "y": 1,
"w": 56,
- "h": 55
+ "h": 59
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 254,
+ "y": 1,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 254,
+ "y": 1,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 254,
+ "y": 1,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 254,
+ "y": 1,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 254,
+ "y": 1,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 254,
+ "y": 1,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 254,
+ "y": 1,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 254,
+ "y": 1,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 254,
+ "y": 1,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 254,
+ "y": 1,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 254,
+ "y": 1,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 254,
+ "y": 1,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 312,
+ "y": 1,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 312,
+ "y": 1,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 15,
+ "w": 46,
+ "h": 52
+ },
+ "frame": {
+ "x": 370,
+ "y": 1,
+ "w": 46,
+ "h": 52
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 69,
+ "y": 64,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 69,
+ "y": 64,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 66,
+ "y": 125,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 66,
+ "y": 125,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 127,
+ "y": 65,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 127,
+ "y": 65,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 185,
+ "y": 65,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 185,
+ "y": 65,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 124,
+ "y": 126,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 124,
+ "y": 126,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 124,
+ "y": 126,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 124,
+ "y": 126,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 182,
+ "y": 126,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 182,
+ "y": 126,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 182,
+ "y": 126,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 5,
+ "w": 53,
+ "h": 62
+ },
+ "frame": {
+ "x": 243,
+ "y": 65,
+ "w": 53,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 5,
+ "w": 53,
+ "h": 62
+ },
+ "frame": {
+ "x": 243,
+ "y": 65,
+ "w": 53,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 298,
+ "y": 62,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 56,
+ "h": 57
+ },
+ "frame": {
+ "x": 240,
+ "y": 129,
+ "w": 56,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 56,
+ "h": 57
+ },
+ "frame": {
+ "x": 240,
+ "y": 129,
+ "w": 56,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 56,
+ "h": 57
+ },
+ "frame": {
+ "x": 298,
+ "y": 123,
+ "w": 56,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 56,
+ "h": 57
+ },
+ "frame": {
+ "x": 298,
+ "y": 123,
+ "w": 56,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 9,
+ "w": 48,
+ "h": 58
+ },
+ "frame": {
+ "x": 356,
+ "y": 62,
+ "w": 48,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 9,
+ "w": 48,
+ "h": 58
+ },
+ "frame": {
+ "x": 356,
+ "y": 62,
+ "w": 48,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 9,
+ "w": 51,
+ "h": 58
+ },
+ "frame": {
+ "x": 356,
+ "y": 122,
+ "w": 51,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 9,
+ "w": 52,
+ "h": 58
+ },
+ "frame": {
+ "x": 61,
+ "y": 187,
+ "w": 52,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 9,
+ "w": 55,
+ "h": 58
+ },
+ "frame": {
+ "x": 61,
+ "y": 247,
+ "w": 55,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 9,
+ "w": 55,
+ "h": 58
+ },
+ "frame": {
+ "x": 61,
+ "y": 247,
+ "w": 55,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 56,
+ "h": 57
+ },
+ "frame": {
+ "x": 115,
+ "y": 187,
+ "w": 56,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 56,
+ "h": 57
+ },
+ "frame": {
+ "x": 115,
+ "y": 187,
+ "w": 56,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 56,
+ "h": 57
+ },
+ "frame": {
+ "x": 173,
+ "y": 187,
+ "w": 56,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 56,
+ "h": 57
+ },
+ "frame": {
+ "x": 173,
+ "y": 187,
+ "w": 56,
+ "h": 57
}
},
{
@@ -1464,101 +1296,248 @@
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
- "y": 0,
+ "y": 10,
+ "w": 56,
+ "h": 57
+ },
+ "frame": {
+ "x": 118,
+ "y": 246,
+ "w": 56,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 56,
+ "h": 57
+ },
+ "frame": {
+ "x": 118,
+ "y": 246,
+ "w": 56,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 56,
+ "h": 57
+ },
+ "frame": {
+ "x": 176,
+ "y": 246,
+ "w": 56,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 56,
+ "h": 57
+ },
+ "frame": {
+ "x": 176,
+ "y": 246,
+ "w": 56,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 11,
+ "w": 53,
+ "h": 56
+ },
+ "frame": {
+ "x": 231,
+ "y": 188,
+ "w": 53,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
"w": 56,
"h": 55
},
"frame": {
- "x": 267,
- "y": 208,
+ "x": 234,
+ "y": 246,
"w": 56,
"h": 55
}
},
{
- "filename": "0022.png",
+ "filename": "0039.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
- "y": 0,
+ "y": 12,
"w": 56,
"h": 55
},
"frame": {
- "x": 267,
- "y": 208,
+ "x": 234,
+ "y": 246,
"w": 56,
"h": 55
}
},
{
- "filename": "0023.png",
+ "filename": "0007.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
- "y": 0,
- "w": 56,
- "h": 55
+ "y": 14,
+ "w": 55,
+ "h": 53
},
"frame": {
- "x": 267,
- "y": 208,
- "w": 56,
- "h": 55
+ "x": 61,
+ "y": 307,
+ "w": 55,
+ "h": 53
}
},
{
- "filename": "0043.png",
+ "filename": "0040.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
- "y": 0,
- "w": 56,
- "h": 55
+ "y": 14,
+ "w": 55,
+ "h": 53
},
"frame": {
- "x": 267,
- "y": 208,
- "w": 56,
- "h": 55
+ "x": 61,
+ "y": 307,
+ "w": 55,
+ "h": 53
}
},
{
- "filename": "0044.png",
+ "filename": "0094.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
- "y": 0,
+ "y": 13,
+ "w": 51,
+ "h": 54
+ },
+ "frame": {
+ "x": 58,
+ "y": 362,
+ "w": 51,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 13,
+ "w": 51,
+ "h": 54
+ },
+ "frame": {
+ "x": 58,
+ "y": 362,
+ "w": 51,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
"w": 56,
"h": 55
},
"frame": {
- "x": 267,
- "y": 208,
+ "x": 118,
+ "y": 305,
"w": 56,
"h": 55
}
@@ -1569,502 +1548,124 @@
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
- "y": 0,
+ "y": 12,
"w": 56,
"h": 55
},
"frame": {
- "x": 267,
- "y": 208,
+ "x": 118,
+ "y": 305,
"w": 56,
"h": 55
}
},
{
- "filename": "0065.png",
+ "filename": "0022.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
- "y": 0,
+ "y": 12,
"w": 56,
"h": 55
},
"frame": {
- "x": 267,
- "y": 208,
+ "x": 176,
+ "y": 305,
"w": 56,
"h": 55
}
},
{
- "filename": "0066.png",
+ "filename": "0055.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
- "y": 0,
+ "y": 12,
"w": 56,
"h": 55
},
"frame": {
- "x": 267,
- "y": 208,
+ "x": 176,
+ "y": 305,
"w": 56,
"h": 55
}
},
{
- "filename": "0067.png",
+ "filename": "0023.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
- "y": 0,
+ "y": 12,
"w": 56,
"h": 55
},
"frame": {
- "x": 267,
- "y": 208,
+ "x": 234,
+ "y": 303,
"w": 56,
"h": 55
}
},
{
- "filename": "0087.png",
+ "filename": "0056.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
- "y": 0,
+ "y": 12,
"w": 56,
"h": 55
},
"frame": {
- "x": 267,
- "y": 208,
+ "x": 234,
+ "y": 303,
"w": 56,
"h": 55
}
},
{
- "filename": "0088.png",
+ "filename": "0008.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
- "y": 0,
- "w": 56,
- "h": 55
+ "y": 14,
+ "w": 55,
+ "h": 53
},
"frame": {
- "x": 267,
- "y": 208,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0089.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 267,
- "y": 208,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0090.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 267,
- "y": 208,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 323,
- "y": 208,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0024.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 323,
- "y": 208,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0046.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 323,
- "y": 208,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0068.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 323,
- "y": 208,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 0,
- "y": 258,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0047.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 0,
- "y": 258,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 56,
- "y": 258,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0048.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 56,
- "y": 258,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0019.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 112,
- "y": 260,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0020.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 112,
- "y": 260,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0063.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 112,
- "y": 260,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0064.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 112,
- "y": 260,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0025.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 168,
- "y": 261,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0069.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 168,
- "y": 261,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0026.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 224,
- "y": 263,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0070.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 224,
- "y": 263,
- "w": 56,
- "h": 55
+ "x": 111,
+ "y": 362,
+ "w": 55,
+ "h": 53
}
},
{
@@ -2073,711 +1674,438 @@
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
- "y": 0,
+ "y": 14,
+ "w": 55,
+ "h": 53
+ },
+ "frame": {
+ "x": 111,
+ "y": 362,
+ "w": 55,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 55,
+ "h": 53
+ },
+ "frame": {
+ "x": 168,
+ "y": 362,
+ "w": 55,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 55,
+ "h": 53
+ },
+ "frame": {
+ "x": 168,
+ "y": 362,
+ "w": 55,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
"w": 56,
"h": 55
},
"frame": {
- "x": 280,
- "y": 263,
+ "x": 286,
+ "y": 188,
"w": 56,
"h": 55
}
},
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 56,
+ "h": 55
+ },
+ "frame": {
+ "x": 286,
+ "y": 188,
+ "w": 56,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 56,
+ "h": 55
+ },
+ "frame": {
+ "x": 344,
+ "y": 182,
+ "w": 56,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 56,
+ "h": 55
+ },
+ "frame": {
+ "x": 344,
+ "y": 182,
+ "w": 56,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 55,
+ "h": 53
+ },
+ "frame": {
+ "x": 292,
+ "y": 245,
+ "w": 55,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 55,
+ "h": 53
+ },
+ "frame": {
+ "x": 292,
+ "y": 245,
+ "w": 55,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 55,
+ "h": 53
+ },
+ "frame": {
+ "x": 292,
+ "y": 300,
+ "w": 55,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 55,
+ "h": 53
+ },
+ "frame": {
+ "x": 292,
+ "y": 300,
+ "w": 55,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 55,
+ "h": 53
+ },
+ "frame": {
+ "x": 349,
+ "y": 239,
+ "w": 55,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 55,
+ "h": 53
+ },
+ "frame": {
+ "x": 349,
+ "y": 239,
+ "w": 55,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 16,
+ "w": 54,
+ "h": 51
+ },
+ "frame": {
+ "x": 349,
+ "y": 294,
+ "w": 54,
+ "h": 51
+ }
+ },
{
"filename": "0042.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
- "y": 0,
- "w": 56,
+ "y": 16,
+ "w": 54,
+ "h": 51
+ },
+ "frame": {
+ "x": 349,
+ "y": 294,
+ "w": 54,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 16,
+ "w": 53,
+ "h": 51
+ },
+ "frame": {
+ "x": 349,
+ "y": 347,
+ "w": 53,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 16,
+ "w": 53,
+ "h": 51
+ },
+ "frame": {
+ "x": 349,
+ "y": 347,
+ "w": 53,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 16,
+ "w": 53,
+ "h": 51
+ },
+ "frame": {
+ "x": 225,
+ "y": 362,
+ "w": 53,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 16,
+ "w": 53,
+ "h": 51
+ },
+ "frame": {
+ "x": 225,
+ "y": 362,
+ "w": 53,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 48,
"h": 55
},
"frame": {
"x": 280,
- "y": 263,
- "w": 56,
+ "y": 360,
+ "w": 48,
"h": 55
}
},
{
- "filename": "0085.png",
+ "filename": "0080.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
- "y": 0,
- "w": 56,
+ "y": 12,
+ "w": 48,
"h": 55
},
"frame": {
"x": 280,
- "y": 263,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0086.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 280,
- "y": 263,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0091.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 61,
- "h": 55
- },
- "frame": {
- "x": 336,
- "y": 263,
- "w": 61,
- "h": 55
- }
- },
- {
- "filename": "0092.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 61,
- "h": 55
- },
- "frame": {
- "x": 336,
- "y": 263,
- "w": 61,
- "h": 55
- }
- },
- {
- "filename": "0093.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 65,
- "h": 55
- },
- "frame": {
- "x": 0,
- "y": 313,
- "w": 65,
- "h": 55
- }
- },
- {
- "filename": "0094.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 65,
- "h": 55
- },
- "frame": {
- "x": 0,
- "y": 313,
- "w": 65,
- "h": 55
- }
- },
- {
- "filename": "0095.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 72,
- "h": 55
- },
- "frame": {
- "x": 65,
- "y": 315,
- "w": 72,
- "h": 55
- }
- },
- {
- "filename": "0096.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 72,
- "h": 55
- },
- "frame": {
- "x": 65,
- "y": 315,
- "w": 72,
- "h": 55
- }
- },
- {
- "filename": "0097.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 62,
- "h": 55
- },
- "frame": {
- "x": 137,
- "y": 316,
- "w": 62,
- "h": 55
- }
- },
- {
- "filename": "0098.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 62,
- "h": 55
- },
- "frame": {
- "x": 137,
- "y": 316,
- "w": 62,
- "h": 55
- }
- },
- {
- "filename": "0099.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 54,
- "h": 55
- },
- "frame": {
- "x": 199,
- "y": 318,
- "w": 54,
- "h": 55
- }
- },
- {
- "filename": "0100.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 54,
- "h": 55
- },
- "frame": {
- "x": 199,
- "y": 318,
- "w": 54,
- "h": 55
- }
- },
- {
- "filename": "0109.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 253,
- "y": 318,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0110.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 253,
- "y": 318,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0111.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 253,
- "y": 318,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0112.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 253,
- "y": 318,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0113.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 57,
- "h": 55
- },
- "frame": {
- "x": 309,
- "y": 318,
- "w": 57,
- "h": 55
- }
- },
- {
- "filename": "0114.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 57,
- "h": 55
- },
- "frame": {
- "x": 309,
- "y": 318,
- "w": 57,
- "h": 55
- }
- },
- {
- "filename": "0115.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 58,
- "h": 55
- },
- "frame": {
- "x": 366,
- "y": 318,
- "w": 58,
- "h": 55
- }
- },
- {
- "filename": "0116.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 58,
- "h": 55
- },
- "frame": {
- "x": 366,
- "y": 318,
- "w": 58,
- "h": 55
- }
- },
- {
- "filename": "0117.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 58,
- "h": 55
- },
- "frame": {
- "x": 0,
- "y": 368,
- "w": 58,
- "h": 55
- }
- },
- {
- "filename": "0118.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 58,
- "h": 55
- },
- "frame": {
- "x": 0,
- "y": 368,
- "w": 58,
- "h": 55
- }
- },
- {
- "filename": "0119.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 58,
- "y": 370,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0120.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 58,
- "y": 370,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0121.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 54,
- "h": 55
- },
- "frame": {
- "x": 114,
- "y": 371,
- "w": 54,
- "h": 55
- }
- },
- {
- "filename": "0122.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 54,
- "h": 55
- },
- "frame": {
- "x": 114,
- "y": 371,
- "w": 54,
- "h": 55
- }
- },
- {
- "filename": "0123.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 53,
- "h": 55
- },
- "frame": {
- "x": 168,
- "y": 373,
- "w": 53,
- "h": 55
- }
- },
- {
- "filename": "0124.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 53,
- "h": 55
- },
- "frame": {
- "x": 168,
- "y": 373,
- "w": 53,
- "h": 55
- }
- },
- {
- "filename": "0129.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 55,
- "h": 55
- },
- "frame": {
- "x": 221,
- "y": 373,
- "w": 55,
- "h": 55
- }
- },
- {
- "filename": "0130.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 55,
- "h": 55
- },
- "frame": {
- "x": 221,
- "y": 373,
- "w": 55,
- "h": 55
- }
- },
- {
- "filename": "0131.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 276,
- "y": 373,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0132.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 276,
- "y": 373,
- "w": 56,
+ "y": 360,
+ "w": 48,
"h": 55
}
}
@@ -2787,6 +2115,6 @@
"meta": {
"app": "https://www.codeandweb.com/texturepacker",
"version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:a9e29c91fa37ffaea686ff7357e6ad1e:1cbeeb823df6c103f770105557067022:7586c0ba0fc3c95eb3d51f575fb44867$"
+ "smartupdate": "$TexturePacker:SmartUpdate:d8465d4aec9ba28092cd923067d60408:7d16f4c01fa5addbf3868ea484affc7a:7586c0ba0fc3c95eb3d51f575fb44867$"
}
}
diff --git a/public/images/pokemon/431.png b/public/images/pokemon/431.png
index 45fca814c3f..e56ee99b0a2 100644
Binary files a/public/images/pokemon/431.png and b/public/images/pokemon/431.png differ
diff --git a/public/images/pokemon/531-mega.png b/public/images/pokemon/531-mega.png
index 8c5d26fec58..4e692979402 100644
Binary files a/public/images/pokemon/531-mega.png and b/public/images/pokemon/531-mega.png differ
diff --git a/public/images/pokemon/678ms.json b/public/images/pokemon/678ms.json
deleted file mode 100644
index 0fac19c59c4..00000000000
--- a/public/images/pokemon/678ms.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "textures": [
- {
- "image": "678ms.png",
- "format": "RGBA8888",
- "size": {
- "w": 56,
- "h": 56
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 45,
- "h": 56
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 56
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 56
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:935ddcd2ff1f413e94967151e2f4cc6d:bdb048fb547d7ebb9a83d391e8f1c9ba:81f219fee9493a3658266d8c5e858b9e$"
- }
-}
diff --git a/public/images/pokemon/678ms.png b/public/images/pokemon/678ms.png
deleted file mode 100644
index d2b6f348a0b..00000000000
Binary files a/public/images/pokemon/678ms.png and /dev/null differ
diff --git a/public/images/pokemon/678msb.json b/public/images/pokemon/678msb.json
deleted file mode 100644
index 78125f1c5ee..00000000000
--- a/public/images/pokemon/678msb.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "textures": [
- {
- "image": "678msb.png",
- "format": "RGBA8888",
- "size": {
- "w": 55,
- "h": 55
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 46,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 46,
- "h": 55
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 46,
- "h": 55
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:979291307687f1a4af47bc4d29542ccf:f61247ececc23f282bb95c5bfe49e179:bbcc2663448733722c64bc1ebafbf9c6$"
- }
-}
diff --git a/public/images/pokemon/678msb.png b/public/images/pokemon/678msb.png
deleted file mode 100644
index c32e3064451..00000000000
Binary files a/public/images/pokemon/678msb.png and /dev/null differ
diff --git a/public/images/pokemon/772.png b/public/images/pokemon/772.png
index 814bd920a83..a32fd5c1b72 100644
Binary files a/public/images/pokemon/772.png and b/public/images/pokemon/772.png differ
diff --git a/public/images/pokemon/773-bug.png b/public/images/pokemon/773-bug.png
index e8a1bacd127..e513daee557 100644
Binary files a/public/images/pokemon/773-bug.png and b/public/images/pokemon/773-bug.png differ
diff --git a/public/images/pokemon/773-dark.png b/public/images/pokemon/773-dark.png
index 786bfee1ae0..3e79d88e660 100644
Binary files a/public/images/pokemon/773-dark.png and b/public/images/pokemon/773-dark.png differ
diff --git a/public/images/pokemon/773-dragon.png b/public/images/pokemon/773-dragon.png
index 4135cbbd53b..50f7b63ec7e 100644
Binary files a/public/images/pokemon/773-dragon.png and b/public/images/pokemon/773-dragon.png differ
diff --git a/public/images/pokemon/773-electric.png b/public/images/pokemon/773-electric.png
index 08985796317..b70187b987f 100644
Binary files a/public/images/pokemon/773-electric.png and b/public/images/pokemon/773-electric.png differ
diff --git a/public/images/pokemon/773-fairy.png b/public/images/pokemon/773-fairy.png
index 0e7540183c7..989ff6ebcd4 100644
Binary files a/public/images/pokemon/773-fairy.png and b/public/images/pokemon/773-fairy.png differ
diff --git a/public/images/pokemon/773-fighting.png b/public/images/pokemon/773-fighting.png
index 2d9c795bf52..0258f0819ac 100644
Binary files a/public/images/pokemon/773-fighting.png and b/public/images/pokemon/773-fighting.png differ
diff --git a/public/images/pokemon/773-fire.png b/public/images/pokemon/773-fire.png
index 5df9a9e25f8..62ca174eaba 100644
Binary files a/public/images/pokemon/773-fire.png and b/public/images/pokemon/773-fire.png differ
diff --git a/public/images/pokemon/773-flying.png b/public/images/pokemon/773-flying.png
index 08a57fcd134..ecb565e65ca 100644
Binary files a/public/images/pokemon/773-flying.png and b/public/images/pokemon/773-flying.png differ
diff --git a/public/images/pokemon/773-ghost.png b/public/images/pokemon/773-ghost.png
index a408430ad9b..2cb5eb4a44d 100644
Binary files a/public/images/pokemon/773-ghost.png and b/public/images/pokemon/773-ghost.png differ
diff --git a/public/images/pokemon/773-grass.png b/public/images/pokemon/773-grass.png
index 94ba43fd4ea..3fc2d1e9141 100644
Binary files a/public/images/pokemon/773-grass.png and b/public/images/pokemon/773-grass.png differ
diff --git a/public/images/pokemon/773-ground.png b/public/images/pokemon/773-ground.png
index 5433893a9e5..08ece537554 100644
Binary files a/public/images/pokemon/773-ground.png and b/public/images/pokemon/773-ground.png differ
diff --git a/public/images/pokemon/773-ice.png b/public/images/pokemon/773-ice.png
index d1dbb7e08e7..ce324ad45e2 100644
Binary files a/public/images/pokemon/773-ice.png and b/public/images/pokemon/773-ice.png differ
diff --git a/public/images/pokemon/773-poison.png b/public/images/pokemon/773-poison.png
index 1ce49efce95..3a847058d90 100644
Binary files a/public/images/pokemon/773-poison.png and b/public/images/pokemon/773-poison.png differ
diff --git a/public/images/pokemon/773-psychic.png b/public/images/pokemon/773-psychic.png
index d9350d9a444..e77a373f347 100644
Binary files a/public/images/pokemon/773-psychic.png and b/public/images/pokemon/773-psychic.png differ
diff --git a/public/images/pokemon/773-rock.png b/public/images/pokemon/773-rock.png
index cd2ffee22ef..292e2cc5d17 100644
Binary files a/public/images/pokemon/773-rock.png and b/public/images/pokemon/773-rock.png differ
diff --git a/public/images/pokemon/773-steel.png b/public/images/pokemon/773-steel.png
index 1e5a41864f6..759ef8f0f48 100644
Binary files a/public/images/pokemon/773-steel.png and b/public/images/pokemon/773-steel.png differ
diff --git a/public/images/pokemon/773-water.png b/public/images/pokemon/773-water.png
index 517411408e0..3dfcfcf10a8 100644
Binary files a/public/images/pokemon/773-water.png and b/public/images/pokemon/773-water.png differ
diff --git a/public/images/pokemon/773.png b/public/images/pokemon/773.png
index 99435cee64f..9735e24134d 100644
Binary files a/public/images/pokemon/773.png and b/public/images/pokemon/773.png differ
diff --git a/public/images/pokemon/777.png b/public/images/pokemon/777.png
index 794b375c864..074df4db673 100644
Binary files a/public/images/pokemon/777.png and b/public/images/pokemon/777.png differ
diff --git a/public/images/pokemon/778-busted.png b/public/images/pokemon/778-busted.png
index 689da764398..dbc478381cd 100644
Binary files a/public/images/pokemon/778-busted.png and b/public/images/pokemon/778-busted.png differ
diff --git a/public/images/pokemon/778-disguised.json b/public/images/pokemon/778-disguised.json
new file mode 100644
index 00000000000..fb56a6612d0
--- /dev/null
+++ b/public/images/pokemon/778-disguised.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "778-disguised.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 48,
+ "h": 48
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 39,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 48
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 48
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:c13d880c9906d17e8ee238b7751a6fbd:140b587e03b31b77ad53703267fcf452:92ecadef6e0cb53020b8cd41fbeaf2cd$"
+ }
+}
diff --git a/public/images/pokemon/778.png b/public/images/pokemon/778-disguised.png
similarity index 100%
rename from public/images/pokemon/778.png
rename to public/images/pokemon/778-disguised.png
diff --git a/public/images/pokemon/778.json b/public/images/pokemon/778.json
deleted file mode 100644
index fb77b7834af..00000000000
--- a/public/images/pokemon/778.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "textures": [
- {
- "image": "778.png",
- "format": "RGBA8888",
- "size": {
- "w": 48,
- "h": 48
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 39,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 48
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 48
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:c13d880c9906d17e8ee238b7751a6fbd:140b587e03b31b77ad53703267fcf452:92ecadef6e0cb53020b8cd41fbeaf2cd$"
- }
-}
diff --git a/public/images/pokemon/818-gigantamax.png b/public/images/pokemon/818-gigantamax.png
index 112b980645f..c103073e4cf 100644
Binary files a/public/images/pokemon/818-gigantamax.png and b/public/images/pokemon/818-gigantamax.png differ
diff --git a/public/images/pokemon/876-female.png b/public/images/pokemon/876-female.png
index 5fdeaab2193..db4d869c148 100644
Binary files a/public/images/pokemon/876-female.png and b/public/images/pokemon/876-female.png differ
diff --git a/public/images/pokemon/876.png b/public/images/pokemon/876.png
index d2d4d05d652..a204d67325b 100644
Binary files a/public/images/pokemon/876.png and b/public/images/pokemon/876.png differ
diff --git a/public/images/pokemon/896.png b/public/images/pokemon/896.png
index 081435b7942..1b64f2641a3 100644
Binary files a/public/images/pokemon/896.png and b/public/images/pokemon/896.png differ
diff --git a/public/images/pokemon/898-ice.png b/public/images/pokemon/898-ice.png
index 7542313f156..3723a78f33a 100644
Binary files a/public/images/pokemon/898-ice.png and b/public/images/pokemon/898-ice.png differ
diff --git a/public/images/pokemon/898.png b/public/images/pokemon/898.png
index 284902eba5f..d20e1f937e1 100644
Binary files a/public/images/pokemon/898.png and b/public/images/pokemon/898.png differ
diff --git a/public/images/pokemon/974.png b/public/images/pokemon/974.png
index 19a04e1458a..8ba1bb8fc21 100644
Binary files a/public/images/pokemon/974.png and b/public/images/pokemon/974.png differ
diff --git a/public/images/pokemon/975.png b/public/images/pokemon/975.png
index 36e84f453d0..7f9ad12e49d 100644
Binary files a/public/images/pokemon/975.png and b/public/images/pokemon/975.png differ
diff --git a/public/images/pokemon/back/133-partner.json b/public/images/pokemon/back/133-partner.json
new file mode 100644
index 00000000000..e5fe317d53d
--- /dev/null
+++ b/public/images/pokemon/back/133-partner.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "133-partner.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 245,
+ "h": 245
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 4,
+ "w": 36,
+ "h": 45
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 36,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 45,
+ "h": 47
+ },
+ "frame": {
+ "x": 36,
+ "y": 0,
+ "w": 45,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 45,
+ "h": 47
+ },
+ "frame": {
+ "x": 36,
+ "y": 0,
+ "w": 45,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 45,
+ "h": 47
+ },
+ "frame": {
+ "x": 36,
+ "y": 0,
+ "w": 45,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 45,
+ "h": 47
+ },
+ "frame": {
+ "x": 36,
+ "y": 0,
+ "w": 45,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 45,
+ "h": 47
+ },
+ "frame": {
+ "x": 36,
+ "y": 0,
+ "w": 45,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 2,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 81,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 2,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 81,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 2,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 117,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 2,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 117,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 44,
+ "h": 47
+ },
+ "frame": {
+ "x": 153,
+ "y": 0,
+ "w": 44,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 45,
+ "h": 47
+ },
+ "frame": {
+ "x": 197,
+ "y": 0,
+ "w": 45,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 45,
+ "h": 47
+ },
+ "frame": {
+ "x": 197,
+ "y": 0,
+ "w": 45,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 1,
+ "w": 36,
+ "h": 48
+ },
+ "frame": {
+ "x": 0,
+ "y": 45,
+ "w": 36,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 1,
+ "w": 36,
+ "h": 48
+ },
+ "frame": {
+ "x": 0,
+ "y": 45,
+ "w": 36,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 44,
+ "h": 47
+ },
+ "frame": {
+ "x": 36,
+ "y": 47,
+ "w": 44,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 44,
+ "h": 47
+ },
+ "frame": {
+ "x": 36,
+ "y": 47,
+ "w": 44,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 48
+ },
+ "frame": {
+ "x": 80,
+ "y": 47,
+ "w": 38,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 48
+ },
+ "frame": {
+ "x": 80,
+ "y": 47,
+ "w": 38,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 48
+ },
+ "frame": {
+ "x": 80,
+ "y": 47,
+ "w": 38,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 48
+ },
+ "frame": {
+ "x": 80,
+ "y": 47,
+ "w": 38,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 48
+ },
+ "frame": {
+ "x": 80,
+ "y": 47,
+ "w": 38,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 48
+ },
+ "frame": {
+ "x": 80,
+ "y": 47,
+ "w": 38,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 48
+ },
+ "frame": {
+ "x": 80,
+ "y": 47,
+ "w": 38,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 48
+ },
+ "frame": {
+ "x": 80,
+ "y": 47,
+ "w": 38,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 48
+ },
+ "frame": {
+ "x": 80,
+ "y": 47,
+ "w": 38,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 48
+ },
+ "frame": {
+ "x": 80,
+ "y": 47,
+ "w": 38,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 48
+ },
+ "frame": {
+ "x": 80,
+ "y": 47,
+ "w": 38,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 48
+ },
+ "frame": {
+ "x": 80,
+ "y": 47,
+ "w": 38,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 48
+ },
+ "frame": {
+ "x": 80,
+ "y": 47,
+ "w": 38,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 48
+ },
+ "frame": {
+ "x": 80,
+ "y": 47,
+ "w": 38,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 46,
+ "h": 48
+ },
+ "frame": {
+ "x": 118,
+ "y": 47,
+ "w": 46,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 46,
+ "h": 48
+ },
+ "frame": {
+ "x": 118,
+ "y": 47,
+ "w": 46,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 46,
+ "h": 48
+ },
+ "frame": {
+ "x": 118,
+ "y": 47,
+ "w": 46,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 46,
+ "h": 48
+ },
+ "frame": {
+ "x": 118,
+ "y": 47,
+ "w": 46,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 46,
+ "h": 48
+ },
+ "frame": {
+ "x": 118,
+ "y": 47,
+ "w": 46,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 46,
+ "h": 48
+ },
+ "frame": {
+ "x": 118,
+ "y": 47,
+ "w": 46,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 46,
+ "h": 48
+ },
+ "frame": {
+ "x": 118,
+ "y": 47,
+ "w": 46,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 46,
+ "h": 48
+ },
+ "frame": {
+ "x": 118,
+ "y": 47,
+ "w": 46,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 46,
+ "h": 48
+ },
+ "frame": {
+ "x": 118,
+ "y": 47,
+ "w": 46,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 46,
+ "h": 48
+ },
+ "frame": {
+ "x": 118,
+ "y": 47,
+ "w": 46,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 45,
+ "h": 48
+ },
+ "frame": {
+ "x": 164,
+ "y": 47,
+ "w": 45,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 45,
+ "h": 48
+ },
+ "frame": {
+ "x": 164,
+ "y": 47,
+ "w": 45,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 45,
+ "h": 48
+ },
+ "frame": {
+ "x": 164,
+ "y": 47,
+ "w": 45,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 45,
+ "h": 48
+ },
+ "frame": {
+ "x": 164,
+ "y": 47,
+ "w": 45,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 45,
+ "h": 48
+ },
+ "frame": {
+ "x": 164,
+ "y": 47,
+ "w": 45,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 45,
+ "h": 48
+ },
+ "frame": {
+ "x": 164,
+ "y": 47,
+ "w": 45,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 45,
+ "h": 48
+ },
+ "frame": {
+ "x": 164,
+ "y": 47,
+ "w": 45,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 45,
+ "h": 48
+ },
+ "frame": {
+ "x": 164,
+ "y": 47,
+ "w": 45,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 45,
+ "h": 48
+ },
+ "frame": {
+ "x": 164,
+ "y": 47,
+ "w": 45,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 45,
+ "h": 48
+ },
+ "frame": {
+ "x": 164,
+ "y": 47,
+ "w": 45,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 1,
+ "w": 36,
+ "h": 48
+ },
+ "frame": {
+ "x": 209,
+ "y": 47,
+ "w": 36,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 1,
+ "w": 36,
+ "h": 48
+ },
+ "frame": {
+ "x": 209,
+ "y": 47,
+ "w": 36,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 45,
+ "h": 48
+ },
+ "frame": {
+ "x": 0,
+ "y": 94,
+ "w": 45,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 45,
+ "h": 48
+ },
+ "frame": {
+ "x": 0,
+ "y": 94,
+ "w": 45,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 45,
+ "h": 48
+ },
+ "frame": {
+ "x": 0,
+ "y": 94,
+ "w": 45,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 45,
+ "h": 48
+ },
+ "frame": {
+ "x": 0,
+ "y": 94,
+ "w": 45,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 45,
+ "h": 48
+ },
+ "frame": {
+ "x": 0,
+ "y": 94,
+ "w": 45,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 1,
+ "w": 37,
+ "h": 48
+ },
+ "frame": {
+ "x": 45,
+ "y": 95,
+ "w": 37,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 43,
+ "h": 48
+ },
+ "frame": {
+ "x": 82,
+ "y": 95,
+ "w": 43,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 43,
+ "h": 48
+ },
+ "frame": {
+ "x": 82,
+ "y": 95,
+ "w": 43,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 43,
+ "h": 48
+ },
+ "frame": {
+ "x": 125,
+ "y": 95,
+ "w": 43,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 0,
+ "w": 40,
+ "h": 49
+ },
+ "frame": {
+ "x": 168,
+ "y": 95,
+ "w": 40,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 0,
+ "w": 40,
+ "h": 49
+ },
+ "frame": {
+ "x": 168,
+ "y": 95,
+ "w": 40,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 0,
+ "w": 40,
+ "h": 49
+ },
+ "frame": {
+ "x": 168,
+ "y": 95,
+ "w": 40,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 0,
+ "w": 40,
+ "h": 49
+ },
+ "frame": {
+ "x": 168,
+ "y": 95,
+ "w": 40,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 0,
+ "w": 40,
+ "h": 49
+ },
+ "frame": {
+ "x": 168,
+ "y": 95,
+ "w": 40,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 0,
+ "w": 40,
+ "h": 49
+ },
+ "frame": {
+ "x": 168,
+ "y": 95,
+ "w": 40,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 0,
+ "w": 40,
+ "h": 49
+ },
+ "frame": {
+ "x": 168,
+ "y": 95,
+ "w": 40,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 0,
+ "w": 40,
+ "h": 49
+ },
+ "frame": {
+ "x": 168,
+ "y": 95,
+ "w": 40,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 0,
+ "w": 40,
+ "h": 49
+ },
+ "frame": {
+ "x": 168,
+ "y": 95,
+ "w": 40,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 0,
+ "w": 40,
+ "h": 49
+ },
+ "frame": {
+ "x": 168,
+ "y": 95,
+ "w": 40,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 0,
+ "w": 37,
+ "h": 49
+ },
+ "frame": {
+ "x": 208,
+ "y": 95,
+ "w": 37,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 142,
+ "w": 42,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 142,
+ "w": 42,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 142,
+ "w": 42,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 142,
+ "w": 42,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 142,
+ "w": 42,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 44,
+ "h": 49
+ },
+ "frame": {
+ "x": 42,
+ "y": 143,
+ "w": 44,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 44,
+ "h": 49
+ },
+ "frame": {
+ "x": 42,
+ "y": 143,
+ "w": 44,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 44,
+ "h": 49
+ },
+ "frame": {
+ "x": 42,
+ "y": 143,
+ "w": 44,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 44,
+ "h": 49
+ },
+ "frame": {
+ "x": 42,
+ "y": 143,
+ "w": 44,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 44,
+ "h": 49
+ },
+ "frame": {
+ "x": 42,
+ "y": 143,
+ "w": 44,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 44,
+ "h": 49
+ },
+ "frame": {
+ "x": 42,
+ "y": 143,
+ "w": 44,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 44,
+ "h": 49
+ },
+ "frame": {
+ "x": 42,
+ "y": 143,
+ "w": 44,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 44,
+ "h": 49
+ },
+ "frame": {
+ "x": 42,
+ "y": 143,
+ "w": 44,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 44,
+ "h": 49
+ },
+ "frame": {
+ "x": 42,
+ "y": 143,
+ "w": 44,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 44,
+ "h": 49
+ },
+ "frame": {
+ "x": 42,
+ "y": 143,
+ "w": 44,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 43,
+ "h": 49
+ },
+ "frame": {
+ "x": 86,
+ "y": 143,
+ "w": 43,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 43,
+ "h": 49
+ },
+ "frame": {
+ "x": 86,
+ "y": 143,
+ "w": 43,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 43,
+ "h": 49
+ },
+ "frame": {
+ "x": 86,
+ "y": 143,
+ "w": 43,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 43,
+ "h": 49
+ },
+ "frame": {
+ "x": 86,
+ "y": 143,
+ "w": 43,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 43,
+ "h": 49
+ },
+ "frame": {
+ "x": 86,
+ "y": 143,
+ "w": 43,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 43,
+ "h": 49
+ },
+ "frame": {
+ "x": 86,
+ "y": 143,
+ "w": 43,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 43,
+ "h": 49
+ },
+ "frame": {
+ "x": 86,
+ "y": 143,
+ "w": 43,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 43,
+ "h": 49
+ },
+ "frame": {
+ "x": 86,
+ "y": 143,
+ "w": 43,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 43,
+ "h": 49
+ },
+ "frame": {
+ "x": 86,
+ "y": 143,
+ "w": 43,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 43,
+ "h": 49
+ },
+ "frame": {
+ "x": 86,
+ "y": 143,
+ "w": 43,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 49
+ },
+ "frame": {
+ "x": 129,
+ "y": 143,
+ "w": 38,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 49
+ },
+ "frame": {
+ "x": 129,
+ "y": 143,
+ "w": 38,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 49
+ },
+ "frame": {
+ "x": 129,
+ "y": 143,
+ "w": 38,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 49
+ },
+ "frame": {
+ "x": 129,
+ "y": 143,
+ "w": 38,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 49
+ },
+ "frame": {
+ "x": 129,
+ "y": 143,
+ "w": 38,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 49
+ },
+ "frame": {
+ "x": 129,
+ "y": 143,
+ "w": 38,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 49
+ },
+ "frame": {
+ "x": 129,
+ "y": 143,
+ "w": 38,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 49
+ },
+ "frame": {
+ "x": 129,
+ "y": 143,
+ "w": 38,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 49
+ },
+ "frame": {
+ "x": 129,
+ "y": 143,
+ "w": 38,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 49
+ },
+ "frame": {
+ "x": 129,
+ "y": 143,
+ "w": 38,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 49
+ },
+ "frame": {
+ "x": 167,
+ "y": 144,
+ "w": 41,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 49
+ },
+ "frame": {
+ "x": 167,
+ "y": 144,
+ "w": 41,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 49
+ },
+ "frame": {
+ "x": 167,
+ "y": 144,
+ "w": 41,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 49
+ },
+ "frame": {
+ "x": 167,
+ "y": 144,
+ "w": 41,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 49
+ },
+ "frame": {
+ "x": 167,
+ "y": 144,
+ "w": 41,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 49
+ },
+ "frame": {
+ "x": 167,
+ "y": 144,
+ "w": 41,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 49
+ },
+ "frame": {
+ "x": 167,
+ "y": 144,
+ "w": 41,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 49
+ },
+ "frame": {
+ "x": 167,
+ "y": 144,
+ "w": 41,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 49
+ },
+ "frame": {
+ "x": 167,
+ "y": 144,
+ "w": 41,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 49
+ },
+ "frame": {
+ "x": 167,
+ "y": 144,
+ "w": 41,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 0,
+ "w": 37,
+ "h": 49
+ },
+ "frame": {
+ "x": 208,
+ "y": 144,
+ "w": 37,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 0,
+ "w": 37,
+ "h": 49
+ },
+ "frame": {
+ "x": 208,
+ "y": 144,
+ "w": 37,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 191,
+ "w": 42,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 191,
+ "w": 42,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 191,
+ "w": 42,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 191,
+ "w": 42,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 191,
+ "w": 42,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 0,
+ "w": 38,
+ "h": 49
+ },
+ "frame": {
+ "x": 42,
+ "y": 192,
+ "w": 38,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 0,
+ "w": 38,
+ "h": 49
+ },
+ "frame": {
+ "x": 42,
+ "y": 192,
+ "w": 38,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 0,
+ "w": 40,
+ "h": 49
+ },
+ "frame": {
+ "x": 80,
+ "y": 192,
+ "w": 40,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 49
+ },
+ "frame": {
+ "x": 120,
+ "y": 192,
+ "w": 41,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 49
+ },
+ "frame": {
+ "x": 120,
+ "y": 192,
+ "w": 41,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 49
+ },
+ "frame": {
+ "x": 161,
+ "y": 193,
+ "w": 41,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 49
+ },
+ "frame": {
+ "x": 161,
+ "y": 193,
+ "w": 41,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 0,
+ "w": 39,
+ "h": 49
+ },
+ "frame": {
+ "x": 202,
+ "y": 193,
+ "w": 39,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 0,
+ "w": 39,
+ "h": 49
+ },
+ "frame": {
+ "x": 202,
+ "y": 193,
+ "w": 39,
+ "h": 49
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:17629ce8c8a380688fdc9acf34c5cbbb:944bb4be78739c5b736be4525f997374:4e938f9dc8bce1cd7822677c800d242b$"
+ }
+}
diff --git a/public/images/pokemon/back/133-partner.png b/public/images/pokemon/back/133-partner.png
new file mode 100644
index 00000000000..6cc7446032f
Binary files /dev/null and b/public/images/pokemon/back/133-partner.png differ
diff --git a/public/images/pokemon/back/228.png b/public/images/pokemon/back/228.png
index fca74a25472..e723a44c31e 100644
Binary files a/public/images/pokemon/back/228.png and b/public/images/pokemon/back/228.png differ
diff --git a/public/images/pokemon/back/229-mega.png b/public/images/pokemon/back/229-mega.png
index 80a521f705d..6e09a3ae218 100644
Binary files a/public/images/pokemon/back/229-mega.png and b/public/images/pokemon/back/229-mega.png differ
diff --git a/public/images/pokemon/back/229.png b/public/images/pokemon/back/229.png
index d759847786d..6cdef1e4d79 100644
Binary files a/public/images/pokemon/back/229.png and b/public/images/pokemon/back/229.png differ
diff --git a/public/images/pokemon/back/232.png b/public/images/pokemon/back/232.png
index 74f194c60b1..ba0db3a1c36 100644
Binary files a/public/images/pokemon/back/232.png and b/public/images/pokemon/back/232.png differ
diff --git a/public/images/pokemon/back/25-partner.json b/public/images/pokemon/back/25-partner.json
new file mode 100644
index 00000000000..3776dc1bbca
--- /dev/null
+++ b/public/images/pokemon/back/25-partner.json
@@ -0,0 +1,2456 @@
+{
+ "textures": [
+ {
+ "image": "25-partner.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 302,
+ "h": 302
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 47,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 47,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 47,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 41,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 41,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 94,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 94,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 39,
+ "y": 47,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 39,
+ "y": 47,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 39,
+ "y": 47,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 39,
+ "y": 47,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 39,
+ "y": 47,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 39,
+ "y": 47,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 39,
+ "y": 47,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 39,
+ "y": 47,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 39,
+ "y": 47,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 39,
+ "y": 47,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 39,
+ "y": 47,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 39,
+ "y": 47,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 39,
+ "y": 47,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 78,
+ "y": 0,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 78,
+ "y": 0,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 0,
+ "y": 141,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 0,
+ "y": 141,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 37,
+ "y": 94,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 37,
+ "y": 94,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 115,
+ "y": 0,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 115,
+ "y": 0,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 0,
+ "y": 187,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 0,
+ "y": 187,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 37,
+ "y": 141,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 37,
+ "y": 141,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 233,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 233,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 152,
+ "y": 0,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 152,
+ "y": 0,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 189,
+ "y": 0,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 189,
+ "y": 0,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 226,
+ "y": 0,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 226,
+ "y": 0,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 4,
+ "w": 39,
+ "h": 43
+ },
+ "frame": {
+ "x": 263,
+ "y": 0,
+ "w": 39,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 4,
+ "w": 39,
+ "h": 43
+ },
+ "frame": {
+ "x": 263,
+ "y": 0,
+ "w": 39,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 4,
+ "w": 39,
+ "h": 43
+ },
+ "frame": {
+ "x": 263,
+ "y": 43,
+ "w": 39,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 4,
+ "w": 39,
+ "h": 43
+ },
+ "frame": {
+ "x": 263,
+ "y": 43,
+ "w": 39,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 36,
+ "h": 46
+ },
+ "frame": {
+ "x": 37,
+ "y": 188,
+ "w": 36,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 36,
+ "h": 46
+ },
+ "frame": {
+ "x": 37,
+ "y": 188,
+ "w": 36,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 36,
+ "y": 234,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 36,
+ "y": 234,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 75,
+ "y": 47,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 75,
+ "y": 47,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 73,
+ "y": 94,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 73,
+ "y": 94,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 73,
+ "y": 141,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 73,
+ "y": 141,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 73,
+ "y": 188,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 73,
+ "y": 188,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 2,
+ "w": 38,
+ "h": 45
+ },
+ "frame": {
+ "x": 111,
+ "y": 46,
+ "w": 38,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 2,
+ "w": 38,
+ "h": 45
+ },
+ "frame": {
+ "x": 111,
+ "y": 46,
+ "w": 38,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 4,
+ "w": 39,
+ "h": 43
+ },
+ "frame": {
+ "x": 149,
+ "y": 46,
+ "w": 39,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 4,
+ "w": 39,
+ "h": 43
+ },
+ "frame": {
+ "x": 149,
+ "y": 46,
+ "w": 39,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 4,
+ "w": 39,
+ "h": 43
+ },
+ "frame": {
+ "x": 188,
+ "y": 46,
+ "w": 39,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 4,
+ "w": 39,
+ "h": 43
+ },
+ "frame": {
+ "x": 188,
+ "y": 46,
+ "w": 39,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 227,
+ "y": 46,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 227,
+ "y": 46,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 4,
+ "w": 39,
+ "h": 43
+ },
+ "frame": {
+ "x": 263,
+ "y": 86,
+ "w": 39,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 4,
+ "w": 39,
+ "h": 43
+ },
+ "frame": {
+ "x": 263,
+ "y": 86,
+ "w": 39,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 36,
+ "h": 46
+ },
+ "frame": {
+ "x": 73,
+ "y": 235,
+ "w": 36,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 36,
+ "h": 46
+ },
+ "frame": {
+ "x": 73,
+ "y": 235,
+ "w": 36,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 109,
+ "y": 94,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 109,
+ "y": 94,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 109,
+ "y": 141,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 109,
+ "y": 141,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 36,
+ "h": 46
+ },
+ "frame": {
+ "x": 109,
+ "y": 188,
+ "w": 36,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 36,
+ "h": 46
+ },
+ "frame": {
+ "x": 109,
+ "y": 188,
+ "w": 36,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 2,
+ "w": 36,
+ "h": 45
+ },
+ "frame": {
+ "x": 109,
+ "y": 234,
+ "w": 36,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 2,
+ "w": 36,
+ "h": 45
+ },
+ "frame": {
+ "x": 109,
+ "y": 234,
+ "w": 36,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 3,
+ "w": 37,
+ "h": 44
+ },
+ "frame": {
+ "x": 145,
+ "y": 91,
+ "w": 37,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 3,
+ "w": 37,
+ "h": 44
+ },
+ "frame": {
+ "x": 145,
+ "y": 91,
+ "w": 37,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 4,
+ "w": 38,
+ "h": 43
+ },
+ "frame": {
+ "x": 145,
+ "y": 135,
+ "w": 38,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 4,
+ "w": 38,
+ "h": 43
+ },
+ "frame": {
+ "x": 145,
+ "y": 135,
+ "w": 38,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 4,
+ "w": 38,
+ "h": 43
+ },
+ "frame": {
+ "x": 145,
+ "y": 178,
+ "w": 38,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 4,
+ "w": 38,
+ "h": 43
+ },
+ "frame": {
+ "x": 145,
+ "y": 178,
+ "w": 38,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 4,
+ "w": 38,
+ "h": 43
+ },
+ "frame": {
+ "x": 145,
+ "y": 221,
+ "w": 38,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 4,
+ "w": 38,
+ "h": 43
+ },
+ "frame": {
+ "x": 145,
+ "y": 221,
+ "w": 38,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 7,
+ "w": 40,
+ "h": 40
+ },
+ "frame": {
+ "x": 182,
+ "y": 89,
+ "w": 40,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 7,
+ "w": 40,
+ "h": 40
+ },
+ "frame": {
+ "x": 182,
+ "y": 89,
+ "w": 40,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 41,
+ "h": 35
+ },
+ "frame": {
+ "x": 222,
+ "y": 93,
+ "w": 41,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 41,
+ "h": 35
+ },
+ "frame": {
+ "x": 222,
+ "y": 93,
+ "w": 41,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 4,
+ "w": 37,
+ "h": 43
+ },
+ "frame": {
+ "x": 183,
+ "y": 129,
+ "w": 37,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 4,
+ "w": 37,
+ "h": 43
+ },
+ "frame": {
+ "x": 183,
+ "y": 129,
+ "w": 37,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 4,
+ "w": 37,
+ "h": 43
+ },
+ "frame": {
+ "x": 183,
+ "y": 172,
+ "w": 37,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 4,
+ "w": 37,
+ "h": 43
+ },
+ "frame": {
+ "x": 183,
+ "y": 172,
+ "w": 37,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 7,
+ "w": 40,
+ "h": 40
+ },
+ "frame": {
+ "x": 183,
+ "y": 215,
+ "w": 40,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 7,
+ "w": 40,
+ "h": 40
+ },
+ "frame": {
+ "x": 183,
+ "y": 215,
+ "w": 40,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 12,
+ "w": 40,
+ "h": 35
+ },
+ "frame": {
+ "x": 145,
+ "y": 264,
+ "w": 40,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 12,
+ "w": 40,
+ "h": 35
+ },
+ "frame": {
+ "x": 145,
+ "y": 264,
+ "w": 40,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 7,
+ "w": 39,
+ "h": 40
+ },
+ "frame": {
+ "x": 185,
+ "y": 255,
+ "w": 39,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 7,
+ "w": 39,
+ "h": 40
+ },
+ "frame": {
+ "x": 185,
+ "y": 255,
+ "w": 39,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 13,
+ "w": 41,
+ "h": 34
+ },
+ "frame": {
+ "x": 222,
+ "y": 128,
+ "w": 41,
+ "h": 34
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 13,
+ "w": 41,
+ "h": 34
+ },
+ "frame": {
+ "x": 222,
+ "y": 128,
+ "w": 41,
+ "h": 34
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 7,
+ "w": 39,
+ "h": 40
+ },
+ "frame": {
+ "x": 263,
+ "y": 129,
+ "w": 39,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 7,
+ "w": 39,
+ "h": 40
+ },
+ "frame": {
+ "x": 263,
+ "y": 129,
+ "w": 39,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 7,
+ "w": 40,
+ "h": 40
+ },
+ "frame": {
+ "x": 220,
+ "y": 162,
+ "w": 40,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 7,
+ "w": 40,
+ "h": 40
+ },
+ "frame": {
+ "x": 220,
+ "y": 162,
+ "w": 40,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 7,
+ "w": 40,
+ "h": 40
+ },
+ "frame": {
+ "x": 260,
+ "y": 169,
+ "w": 40,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 7,
+ "w": 40,
+ "h": 40
+ },
+ "frame": {
+ "x": 260,
+ "y": 169,
+ "w": 40,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 7,
+ "w": 38,
+ "h": 40
+ },
+ "frame": {
+ "x": 223,
+ "y": 209,
+ "w": 38,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 7,
+ "w": 38,
+ "h": 40
+ },
+ "frame": {
+ "x": 223,
+ "y": 209,
+ "w": 38,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 7,
+ "w": 38,
+ "h": 40
+ },
+ "frame": {
+ "x": 261,
+ "y": 209,
+ "w": 38,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 7,
+ "w": 38,
+ "h": 40
+ },
+ "frame": {
+ "x": 261,
+ "y": 209,
+ "w": 38,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 8,
+ "w": 39,
+ "h": 39
+ },
+ "frame": {
+ "x": 224,
+ "y": 249,
+ "w": 39,
+ "h": 39
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 8,
+ "w": 39,
+ "h": 39
+ },
+ "frame": {
+ "x": 224,
+ "y": 249,
+ "w": 39,
+ "h": 39
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 12,
+ "w": 39,
+ "h": 35
+ },
+ "frame": {
+ "x": 263,
+ "y": 249,
+ "w": 39,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 12,
+ "w": 39,
+ "h": 35
+ },
+ "frame": {
+ "x": 263,
+ "y": 249,
+ "w": 39,
+ "h": 35
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:cfdc5980d26f5e9ff2936babc0854215:6c08d027c2bbef936a8cbfa5e456edbf:d7d9e845c71962a58076b5efe962284e$"
+ }
+}
diff --git a/public/images/pokemon/back/25-partner.png b/public/images/pokemon/back/25-partner.png
new file mode 100644
index 00000000000..8085a963e28
Binary files /dev/null and b/public/images/pokemon/back/25-partner.png differ
diff --git a/public/images/pokemon/back/357.png b/public/images/pokemon/back/357.png
index c828fdc1b46..4c832d552a9 100644
Binary files a/public/images/pokemon/back/357.png and b/public/images/pokemon/back/357.png differ
diff --git a/public/images/pokemon/back/401.png b/public/images/pokemon/back/401.png
index 40fbdd0fff3..61baacef0b6 100644
Binary files a/public/images/pokemon/back/401.png and b/public/images/pokemon/back/401.png differ
diff --git a/public/images/pokemon/back/402.png b/public/images/pokemon/back/402.png
index bb7f05a7627..68d74ba524d 100644
Binary files a/public/images/pokemon/back/402.png and b/public/images/pokemon/back/402.png differ
diff --git a/public/images/pokemon/back/431.json b/public/images/pokemon/back/431.json
index 41b5acaa48c..298dfa78b58 100644
--- a/public/images/pokemon/back/431.json
+++ b/public/images/pokemon/back/431.json
@@ -4,954 +4,114 @@
"image": "431.png",
"format": "RGBA8888",
"size": {
- "w": 425,
- "h": 425
+ "w": 442,
+ "h": 442
},
"scale": 1,
"frames": [
{
- "filename": "0103.png",
+ "filename": "0079.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
"x": 0,
- "y": 6,
- "w": 71,
+ "y": 11,
+ "w": 70,
"h": 53
},
"frame": {
- "x": 0,
- "y": 0,
- "w": 71,
+ "x": 1,
+ "y": 1,
+ "w": 70,
"h": 53
}
},
{
- "filename": "0104.png",
+ "filename": "0080.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 0,
- "y": 6,
- "w": 71,
- "h": 53
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 71,
- "h": 53
- }
- },
- {
- "filename": "0105.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
+ "x": 1,
+ "y": 11,
"w": 69,
"h": 53
},
"frame": {
- "x": 0,
- "y": 53,
+ "x": 1,
+ "y": 56,
"w": 69,
"h": 53
}
},
{
- "filename": "0106.png",
+ "filename": "0081.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 69,
- "h": 53
- },
- "frame": {
- "x": 0,
- "y": 53,
- "w": 69,
- "h": 53
- }
- },
- {
- "filename": "0107.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 5,
- "w": 65,
- "h": 54
- },
- "frame": {
- "x": 0,
- "y": 106,
- "w": 65,
- "h": 54
- }
- },
- {
- "filename": "0108.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 5,
- "w": 65,
- "h": 54
- },
- "frame": {
- "x": 0,
- "y": 106,
- "w": 65,
- "h": 54
- }
- },
- {
- "filename": "0101.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
"x": 5,
- "y": 7,
+ "y": 10,
+ "w": 65,
+ "h": 54
+ },
+ "frame": {
+ "x": 1,
+ "y": 111,
+ "w": 65,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 12,
"w": 66,
"h": 52
},
"frame": {
- "x": 71,
- "y": 0,
+ "x": 73,
+ "y": 1,
"w": 66,
"h": 52
}
},
- {
- "filename": "0102.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 7,
- "w": 66,
- "h": 52
- },
- "frame": {
- "x": 71,
- "y": 0,
- "w": 66,
- "h": 52
- }
- },
- {
- "filename": "0125.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 6,
- "w": 64,
- "h": 53
- },
- "frame": {
- "x": 0,
- "y": 160,
- "w": 64,
- "h": 53
- }
- },
- {
- "filename": "0126.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 6,
- "w": 64,
- "h": 53
- },
- "frame": {
- "x": 0,
- "y": 160,
- "w": 64,
- "h": 53
- }
- },
- {
- "filename": "0127.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 6,
- "w": 63,
- "h": 53
- },
- "frame": {
- "x": 0,
- "y": 213,
- "w": 63,
- "h": 53
- }
- },
- {
- "filename": "0128.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 6,
- "w": 63,
- "h": 53
- },
- "frame": {
- "x": 0,
- "y": 213,
- "w": 63,
- "h": 53
- }
- },
- {
- "filename": "0129.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 5,
- "w": 61,
- "h": 54
- },
- "frame": {
- "x": 0,
- "y": 266,
- "w": 61,
- "h": 54
- }
- },
- {
- "filename": "0130.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 5,
- "w": 61,
- "h": 54
- },
- "frame": {
- "x": 0,
- "y": 266,
- "w": 61,
- "h": 54
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 60,
- "h": 54
- },
- "frame": {
- "x": 0,
- "y": 320,
- "w": 60,
- "h": 54
- }
- },
- {
- "filename": "0047.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 60,
- "h": 54
- },
- "frame": {
- "x": 0,
- "y": 320,
- "w": 60,
- "h": 54
- }
- },
- {
- "filename": "0011.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 14,
- "y": 8,
- "w": 57,
- "h": 51
- },
- "frame": {
- "x": 0,
- "y": 374,
- "w": 57,
- "h": 51
- }
- },
- {
- "filename": "0055.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 14,
- "y": 8,
- "w": 57,
- "h": 51
- },
- "frame": {
- "x": 0,
- "y": 374,
- "w": 57,
- "h": 51
- }
- },
- {
- "filename": "0123.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 7,
- "w": 61,
- "h": 52
- },
- "frame": {
- "x": 137,
- "y": 0,
- "w": 61,
- "h": 52
- }
- },
- {
- "filename": "0124.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 7,
- "w": 61,
- "h": 52
- },
- "frame": {
- "x": 137,
- "y": 0,
- "w": 61,
- "h": 52
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 60,
- "h": 54
- },
- "frame": {
- "x": 198,
- "y": 0,
- "w": 60,
- "h": 54
- }
- },
- {
- "filename": "0048.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 60,
- "h": 54
- },
- "frame": {
- "x": 198,
- "y": 0,
- "w": 60,
- "h": 54
- }
- },
- {
- "filename": "0019.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 60,
- "h": 54
- },
- "frame": {
- "x": 258,
- "y": 0,
- "w": 60,
- "h": 54
- }
- },
- {
- "filename": "0020.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 60,
- "h": 54
- },
- "frame": {
- "x": 258,
- "y": 0,
- "w": 60,
- "h": 54
- }
- },
- {
- "filename": "0063.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 60,
- "h": 54
- },
- "frame": {
- "x": 258,
- "y": 0,
- "w": 60,
- "h": 54
- }
- },
- {
- "filename": "0064.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 60,
- "h": 54
- },
- "frame": {
- "x": 258,
- "y": 0,
- "w": 60,
- "h": 54
- }
- },
- {
- "filename": "0025.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 60,
- "h": 54
- },
- "frame": {
- "x": 318,
- "y": 0,
- "w": 60,
- "h": 54
- }
- },
- {
- "filename": "0069.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 60,
- "h": 54
- },
- "frame": {
- "x": 318,
- "y": 0,
- "w": 60,
- "h": 54
- }
- },
- {
- "filename": "0093.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 24,
- "y": 3,
- "w": 47,
- "h": 56
- },
- "frame": {
- "x": 378,
- "y": 0,
- "w": 47,
- "h": 56
- }
- },
- {
- "filename": "0094.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 24,
- "y": 3,
- "w": 47,
- "h": 56
- },
- "frame": {
- "x": 378,
- "y": 0,
- "w": 47,
- "h": 56
- }
- },
- {
- "filename": "0012.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 14,
- "y": 8,
- "w": 57,
- "h": 51
- },
- "frame": {
- "x": 57,
- "y": 374,
- "w": 57,
- "h": 51
- }
- },
- {
- "filename": "0056.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 14,
- "y": 8,
- "w": 57,
- "h": 51
- },
- "frame": {
- "x": 57,
- "y": 374,
- "w": 57,
- "h": 51
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
- },
- "frame": {
- "x": 60,
- "y": 320,
- "w": 59,
- "h": 54
- }
- },
- {
- "filename": "0021.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
- },
- "frame": {
- "x": 60,
- "y": 320,
- "w": 59,
- "h": 54
- }
- },
- {
- "filename": "0022.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
- },
- "frame": {
- "x": 60,
- "y": 320,
- "w": 59,
- "h": 54
- }
- },
- {
- "filename": "0023.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
- },
- "frame": {
- "x": 60,
- "y": 320,
- "w": 59,
- "h": 54
- }
- },
- {
- "filename": "0043.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
- },
- "frame": {
- "x": 60,
- "y": 320,
- "w": 59,
- "h": 54
- }
- },
- {
- "filename": "0044.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
- },
- "frame": {
- "x": 60,
- "y": 320,
- "w": 59,
- "h": 54
- }
- },
- {
- "filename": "0045.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
- },
- "frame": {
- "x": 60,
- "y": 320,
- "w": 59,
- "h": 54
- }
- },
- {
- "filename": "0065.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
- },
- "frame": {
- "x": 60,
- "y": 320,
- "w": 59,
- "h": 54
- }
- },
- {
- "filename": "0066.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
- },
- "frame": {
- "x": 60,
- "y": 320,
- "w": 59,
- "h": 54
- }
- },
- {
- "filename": "0067.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
- },
- "frame": {
- "x": 60,
- "y": 320,
- "w": 59,
- "h": 54
- }
- },
- {
- "filename": "0087.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
- },
- "frame": {
- "x": 60,
- "y": 320,
- "w": 59,
- "h": 54
- }
- },
- {
- "filename": "0088.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
- },
- "frame": {
- "x": 60,
- "y": 320,
- "w": 59,
- "h": 54
- }
- },
{
"filename": "0089.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
+ "x": 6,
+ "y": 11,
+ "w": 64,
+ "h": 53
},
"frame": {
- "x": 60,
- "y": 320,
- "w": 59,
- "h": 54
+ "x": 1,
+ "y": 167,
+ "w": 64,
+ "h": 53
}
},
{
@@ -960,522 +120,18 @@
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
- },
- "frame": {
- "x": 60,
- "y": 320,
- "w": 59,
- "h": 54
- }
- },
- {
- "filename": "0131.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
- },
- "frame": {
- "x": 60,
- "y": 320,
- "w": 59,
- "h": 54
- }
- },
- {
- "filename": "0132.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
- },
- "frame": {
- "x": 60,
- "y": 320,
- "w": 59,
- "h": 54
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
- },
- "frame": {
- "x": 61,
- "y": 266,
- "w": 59,
- "h": 54
- }
- },
- {
- "filename": "0024.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
- },
- "frame": {
- "x": 61,
- "y": 266,
- "w": 59,
- "h": 54
- }
- },
- {
- "filename": "0046.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
- },
- "frame": {
- "x": 61,
- "y": 266,
- "w": 59,
- "h": 54
- }
- },
- {
- "filename": "0068.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
- },
- "frame": {
- "x": 61,
- "y": 266,
- "w": 59,
- "h": 54
- }
- },
- {
- "filename": "0031.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 8,
- "w": 57,
- "h": 51
- },
- "frame": {
- "x": 114,
- "y": 374,
- "w": 57,
- "h": 51
- }
- },
- {
- "filename": "0075.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 8,
- "w": 57,
- "h": 51
- },
- "frame": {
- "x": 114,
- "y": 374,
- "w": 57,
- "h": 51
- }
- },
- {
- "filename": "0005.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 6,
- "w": 59,
+ "x": 7,
+ "y": 11,
+ "w": 63,
"h": 53
},
"frame": {
- "x": 63,
- "y": 213,
- "w": 59,
- "h": 53
- }
- },
- {
- "filename": "0049.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 6,
- "w": 59,
- "h": 53
- },
- "frame": {
- "x": 63,
- "y": 213,
- "w": 59,
- "h": 53
- }
- },
- {
- "filename": "0006.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 6,
- "w": 59,
- "h": 53
- },
- "frame": {
- "x": 64,
- "y": 160,
- "w": 59,
- "h": 53
- }
- },
- {
- "filename": "0050.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 6,
- "w": 59,
- "h": 53
- },
- "frame": {
- "x": 64,
- "y": 160,
- "w": 59,
- "h": 53
- }
- },
- {
- "filename": "0026.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 60,
- "h": 54
- },
- "frame": {
- "x": 65,
- "y": 106,
- "w": 60,
- "h": 54
- }
- },
- {
- "filename": "0070.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 60,
- "h": 54
- },
- "frame": {
- "x": 65,
- "y": 106,
- "w": 60,
- "h": 54
- }
- },
- {
- "filename": "0041.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 60,
- "h": 54
- },
- "frame": {
- "x": 71,
- "y": 52,
- "w": 60,
- "h": 54
- }
- },
- {
- "filename": "0042.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 60,
- "h": 54
- },
- "frame": {
- "x": 71,
- "y": 52,
- "w": 60,
- "h": 54
- }
- },
- {
- "filename": "0085.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 60,
- "h": 54
- },
- "frame": {
- "x": 71,
- "y": 52,
- "w": 60,
- "h": 54
- }
- },
- {
- "filename": "0086.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 60,
- "h": 54
- },
- "frame": {
- "x": 71,
- "y": 52,
- "w": 60,
- "h": 54
- }
- },
- {
- "filename": "0109.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
- },
- "frame": {
- "x": 131,
- "y": 52,
- "w": 59,
- "h": 54
- }
- },
- {
- "filename": "0110.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
- },
- "frame": {
- "x": 131,
- "y": 52,
- "w": 59,
- "h": 54
- }
- },
- {
- "filename": "0111.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
- },
- "frame": {
- "x": 131,
- "y": 52,
- "w": 59,
- "h": 54
- }
- },
- {
- "filename": "0112.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
- },
- "frame": {
- "x": 131,
- "y": 52,
- "w": 59,
- "h": 54
- }
- },
- {
- "filename": "0017.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 6,
- "w": 59,
- "h": 53
- },
- "frame": {
- "x": 125,
- "y": 106,
- "w": 59,
- "h": 53
- }
- },
- {
- "filename": "0061.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 6,
- "w": 59,
- "h": 53
- },
- "frame": {
- "x": 125,
- "y": 106,
- "w": 59,
+ "x": 1,
+ "y": 222,
+ "w": 63,
"h": 53
}
},
@@ -1485,166 +141,292 @@
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 19,
- "y": 5,
- "w": 52,
+ "x": 9,
+ "y": 10,
+ "w": 61,
"h": 54
},
"frame": {
- "x": 119,
- "y": 320,
- "w": 52,
+ "x": 1,
+ "y": 277,
+ "w": 61,
"h": 54
}
},
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 9,
+ "w": 59,
+ "h": 55
+ },
+ "frame": {
+ "x": 1,
+ "y": 333,
+ "w": 59,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 9,
+ "w": 59,
+ "h": 55
+ },
+ "frame": {
+ "x": 1,
+ "y": 333,
+ "w": 59,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 9,
+ "w": 59,
+ "h": 55
+ },
+ "frame": {
+ "x": 1,
+ "y": 333,
+ "w": 59,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 9,
+ "w": 59,
+ "h": 55
+ },
+ "frame": {
+ "x": 1,
+ "y": 333,
+ "w": 59,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 9,
+ "w": 59,
+ "h": 55
+ },
+ "frame": {
+ "x": 1,
+ "y": 333,
+ "w": 59,
+ "h": 55
+ }
+ },
{
"filename": "0092.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 19,
- "y": 5,
- "w": 52,
- "h": 54
+ "x": 11,
+ "y": 9,
+ "w": 59,
+ "h": 55
},
"frame": {
- "x": 119,
- "y": 320,
- "w": 52,
- "h": 54
+ "x": 1,
+ "y": 333,
+ "w": 59,
+ "h": 55
}
},
{
- "filename": "0113.png",
+ "filename": "0010.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 5,
- "w": 56,
- "h": 54
- },
- "frame": {
- "x": 120,
- "y": 266,
- "w": 56,
- "h": 54
- }
- },
- {
- "filename": "0114.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 5,
- "w": 56,
- "h": 54
- },
- "frame": {
- "x": 120,
- "y": 266,
- "w": 56,
- "h": 54
- }
- },
- {
- "filename": "0007.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
"x": 13,
- "y": 6,
- "w": 58,
- "h": 53
+ "y": 13,
+ "w": 57,
+ "h": 51
},
"frame": {
- "x": 122,
- "y": 213,
- "w": 58,
- "h": 53
+ "x": 1,
+ "y": 390,
+ "w": 57,
+ "h": 51
}
},
{
- "filename": "0051.png",
+ "filename": "0045.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
"x": 13,
- "y": 6,
- "w": 58,
- "h": 53
+ "y": 13,
+ "w": 57,
+ "h": 51
},
"frame": {
- "x": 122,
- "y": 213,
- "w": 58,
- "h": 53
+ "x": 1,
+ "y": 390,
+ "w": 57,
+ "h": 51
}
},
{
- "filename": "0008.png",
+ "filename": "0088.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 13,
- "y": 6,
- "w": 58,
+ "x": 9,
+ "y": 11,
+ "w": 61,
"h": 53
},
"frame": {
- "x": 123,
- "y": 160,
- "w": 58,
+ "x": 141,
+ "y": 1,
+ "w": 61,
"h": 53
}
},
{
- "filename": "0052.png",
+ "filename": "0002.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 13,
- "y": 6,
- "w": 58,
- "h": 53
+ "x": 11,
+ "y": 9,
+ "w": 59,
+ "h": 55
},
"frame": {
- "x": 123,
- "y": 160,
- "w": 58,
- "h": 53
+ "x": 204,
+ "y": 1,
+ "w": 59,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 9,
+ "w": 59,
+ "h": 55
+ },
+ "frame": {
+ "x": 204,
+ "y": 1,
+ "w": 59,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 9,
+ "w": 59,
+ "h": 55
+ },
+ "frame": {
+ "x": 265,
+ "y": 1,
+ "w": 59,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 9,
+ "w": 59,
+ "h": 55
+ },
+ "frame": {
+ "x": 265,
+ "y": 1,
+ "w": 59,
+ "h": 55
}
},
{
@@ -1653,81 +435,270 @@
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 12,
- "y": 6,
+ "x": 11,
+ "y": 9,
"w": 59,
- "h": 53
+ "h": 55
},
"frame": {
- "x": 190,
- "y": 54,
+ "x": 326,
+ "y": 1,
"w": 59,
- "h": 53
+ "h": 55
}
},
{
- "filename": "0062.png",
+ "filename": "0053.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 12,
- "y": 6,
+ "x": 11,
+ "y": 9,
"w": 59,
- "h": 53
+ "h": 55
},
"frame": {
- "x": 190,
- "y": 54,
+ "x": 326,
+ "y": 1,
"w": 59,
- "h": 53
+ "h": 55
}
},
{
- "filename": "0015.png",
+ "filename": "0011.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
"x": 13,
- "y": 6,
- "w": 58,
- "h": 53
+ "y": 13,
+ "w": 57,
+ "h": 51
},
"frame": {
- "x": 249,
- "y": 54,
- "w": 58,
- "h": 53
+ "x": 60,
+ "y": 390,
+ "w": 57,
+ "h": 51
}
},
{
- "filename": "0059.png",
+ "filename": "0046.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
"x": 13,
- "y": 6,
- "w": 58,
+ "y": 13,
+ "w": 57,
+ "h": 51
+ },
+ "frame": {
+ "x": 60,
+ "y": 390,
+ "w": 57,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 9,
+ "w": 59,
+ "h": 55
+ },
+ "frame": {
+ "x": 62,
+ "y": 333,
+ "w": 59,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 9,
+ "w": 59,
+ "h": 55
+ },
+ "frame": {
+ "x": 62,
+ "y": 333,
+ "w": 59,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 13,
+ "w": 57,
+ "h": 51
+ },
+ "frame": {
+ "x": 119,
+ "y": 390,
+ "w": 57,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 13,
+ "w": 57,
+ "h": 51
+ },
+ "frame": {
+ "x": 119,
+ "y": 390,
+ "w": 57,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 2,
+ "w": 52,
+ "h": 62
+ },
+ "frame": {
+ "x": 387,
+ "y": 1,
+ "w": 52,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 11,
+ "w": 59,
"h": 53
},
"frame": {
- "x": 249,
- "y": 54,
- "w": 58,
+ "x": 73,
+ "y": 55,
+ "w": 59,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 11,
+ "w": 59,
+ "h": 53
+ },
+ "frame": {
+ "x": 73,
+ "y": 55,
+ "w": 59,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 11,
+ "w": 59,
+ "h": 53
+ },
+ "frame": {
+ "x": 134,
+ "y": 56,
+ "w": 59,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 11,
+ "w": 59,
+ "h": 53
+ },
+ "frame": {
+ "x": 134,
+ "y": 56,
+ "w": 59,
"h": 53
}
},
@@ -1737,145 +708,145 @@
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 13,
- "y": 6,
- "w": 58,
+ "x": 11,
+ "y": 11,
+ "w": 59,
"h": 53
},
"frame": {
- "x": 307,
- "y": 54,
- "w": 58,
+ "x": 195,
+ "y": 58,
+ "w": 59,
"h": 53
}
},
{
- "filename": "0060.png",
+ "filename": "0051.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 13,
- "y": 6,
- "w": 58,
+ "x": 11,
+ "y": 11,
+ "w": 59,
"h": 53
},
"frame": {
- "x": 307,
- "y": 54,
- "w": 58,
+ "x": 195,
+ "y": 58,
+ "w": 59,
"h": 53
}
},
{
- "filename": "0009.png",
+ "filename": "0017.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 13,
- "y": 7,
- "w": 58,
- "h": 52
+ "x": 11,
+ "y": 11,
+ "w": 59,
+ "h": 53
},
"frame": {
- "x": 184,
- "y": 107,
- "w": 58,
- "h": 52
+ "x": 256,
+ "y": 58,
+ "w": 59,
+ "h": 53
}
},
{
- "filename": "0053.png",
+ "filename": "0052.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 13,
- "y": 7,
- "w": 58,
- "h": 52
+ "x": 11,
+ "y": 11,
+ "w": 59,
+ "h": 53
},
"frame": {
- "x": 184,
- "y": 107,
- "w": 58,
- "h": 52
+ "x": 256,
+ "y": 58,
+ "w": 59,
+ "h": 53
}
},
{
- "filename": "0010.png",
+ "filename": "0021.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 13,
- "y": 7,
- "w": 58,
- "h": 52
+ "x": 11,
+ "y": 9,
+ "w": 59,
+ "h": 55
},
"frame": {
- "x": 242,
- "y": 107,
- "w": 58,
- "h": 52
+ "x": 317,
+ "y": 58,
+ "w": 59,
+ "h": 55
}
},
{
- "filename": "0054.png",
+ "filename": "0056.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 13,
- "y": 7,
- "w": 58,
- "h": 52
+ "x": 11,
+ "y": 9,
+ "w": 59,
+ "h": 55
},
"frame": {
- "x": 242,
- "y": 107,
- "w": 58,
- "h": 52
+ "x": 317,
+ "y": 58,
+ "w": 59,
+ "h": 55
}
},
{
- "filename": "0013.png",
+ "filename": "0022.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 13,
- "y": 7,
- "w": 58,
- "h": 52
+ "x": 11,
+ "y": 11,
+ "w": 59,
+ "h": 53
},
"frame": {
- "x": 300,
- "y": 107,
- "w": 58,
- "h": 52
+ "x": 378,
+ "y": 65,
+ "w": 59,
+ "h": 53
}
},
{
@@ -1884,40 +855,40 @@
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 13,
- "y": 7,
- "w": 58,
- "h": 52
+ "x": 11,
+ "y": 11,
+ "w": 59,
+ "h": 53
},
"frame": {
- "x": 300,
- "y": 107,
- "w": 58,
- "h": 52
+ "x": 378,
+ "y": 65,
+ "w": 59,
+ "h": 53
}
},
{
- "filename": "0014.png",
+ "filename": "0023.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 13,
- "y": 7,
- "w": 58,
- "h": 52
+ "x": 11,
+ "y": 11,
+ "w": 59,
+ "h": 53
},
"frame": {
- "x": 181,
- "y": 159,
- "w": 58,
- "h": 52
+ "x": 72,
+ "y": 110,
+ "w": 59,
+ "h": 53
}
},
{
@@ -1926,40 +897,103 @@
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 13,
- "y": 7,
- "w": 58,
- "h": 52
+ "x": 11,
+ "y": 11,
+ "w": 59,
+ "h": 53
},
"frame": {
- "x": 181,
- "y": 159,
- "w": 58,
- "h": 52
+ "x": 72,
+ "y": 110,
+ "w": 59,
+ "h": 53
}
},
{
- "filename": "0027.png",
+ "filename": "0034.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 12,
- "y": 7,
- "w": 58,
- "h": 52
+ "x": 11,
+ "y": 11,
+ "w": 59,
+ "h": 53
},
"frame": {
- "x": 239,
- "y": 159,
- "w": 58,
- "h": 52
+ "x": 133,
+ "y": 111,
+ "w": 59,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 11,
+ "w": 59,
+ "h": 53
+ },
+ "frame": {
+ "x": 133,
+ "y": 111,
+ "w": 59,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 11,
+ "w": 59,
+ "h": 53
+ },
+ "frame": {
+ "x": 194,
+ "y": 113,
+ "w": 59,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 11,
+ "w": 59,
+ "h": 53
+ },
+ "frame": {
+ "x": 194,
+ "y": 113,
+ "w": 59,
+ "h": 53
}
},
{
@@ -1968,334 +1002,19 @@
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 12,
- "y": 7,
- "w": 58,
- "h": 52
+ "x": 11,
+ "y": 9,
+ "w": 59,
+ "h": 55
},
"frame": {
- "x": 239,
- "y": 159,
- "w": 58,
- "h": 52
- }
- },
- {
- "filename": "0028.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 7,
- "w": 58,
- "h": 52
- },
- "frame": {
- "x": 297,
- "y": 159,
- "w": 58,
- "h": 52
- }
- },
- {
- "filename": "0072.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 7,
- "w": 58,
- "h": 52
- },
- "frame": {
- "x": 297,
- "y": 159,
- "w": 58,
- "h": 52
- }
- },
- {
- "filename": "0039.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 7,
- "w": 58,
- "h": 52
- },
- "frame": {
- "x": 365,
- "y": 56,
- "w": 58,
- "h": 52
- }
- },
- {
- "filename": "0083.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 7,
- "w": 58,
- "h": 52
- },
- "frame": {
- "x": 365,
- "y": 56,
- "w": 58,
- "h": 52
- }
- },
- {
- "filename": "0040.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 7,
- "w": 58,
- "h": 52
- },
- "frame": {
- "x": 358,
- "y": 108,
- "w": 58,
- "h": 52
- }
- },
- {
- "filename": "0084.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 7,
- "w": 58,
- "h": 52
- },
- "frame": {
- "x": 358,
- "y": 108,
- "w": 58,
- "h": 52
- }
- },
- {
- "filename": "0029.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 7,
- "w": 57,
- "h": 52
- },
- "frame": {
- "x": 355,
- "y": 160,
- "w": 57,
- "h": 52
- }
- },
- {
- "filename": "0073.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 7,
- "w": 57,
- "h": 52
- },
- "frame": {
- "x": 355,
- "y": 160,
- "w": 57,
- "h": 52
- }
- },
- {
- "filename": "0117.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 23,
- "y": 0,
- "w": 48,
- "h": 59
- },
- "frame": {
- "x": 171,
- "y": 320,
- "w": 48,
- "h": 59
- }
- },
- {
- "filename": "0118.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 23,
- "y": 0,
- "w": 48,
- "h": 59
- },
- "frame": {
- "x": 171,
- "y": 320,
- "w": 48,
- "h": 59
- }
- },
- {
- "filename": "0030.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 7,
- "w": 57,
- "h": 52
- },
- "frame": {
- "x": 181,
- "y": 211,
- "w": 57,
- "h": 52
- }
- },
- {
- "filename": "0074.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 7,
- "w": 57,
- "h": 52
- },
- "frame": {
- "x": 181,
- "y": 211,
- "w": 57,
- "h": 52
- }
- },
- {
- "filename": "0037.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 7,
- "w": 57,
- "h": 52
- },
- "frame": {
- "x": 238,
- "y": 211,
- "w": 57,
- "h": 52
- }
- },
- {
- "filename": "0081.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 7,
- "w": 57,
- "h": 52
- },
- "frame": {
- "x": 238,
- "y": 211,
- "w": 57,
- "h": 52
- }
- },
- {
- "filename": "0038.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 7,
- "w": 57,
- "h": 52
- },
- "frame": {
- "x": 295,
- "y": 211,
- "w": 57,
- "h": 52
+ "x": 255,
+ "y": 113,
+ "w": 59,
+ "h": 55
}
},
{
@@ -2304,18 +1023,270 @@
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 13,
- "y": 7,
- "w": 57,
+ "x": 11,
+ "y": 9,
+ "w": 59,
+ "h": 55
+ },
+ "frame": {
+ "x": 316,
+ "y": 115,
+ "w": 59,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 11,
+ "w": 58,
+ "h": 53
+ },
+ "frame": {
+ "x": 377,
+ "y": 120,
+ "w": 58,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 11,
+ "w": 58,
+ "h": 53
+ },
+ "frame": {
+ "x": 377,
+ "y": 120,
+ "w": 58,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 11,
+ "w": 58,
+ "h": 53
+ },
+ "frame": {
+ "x": 68,
+ "y": 165,
+ "w": 58,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 11,
+ "w": 58,
+ "h": 53
+ },
+ "frame": {
+ "x": 68,
+ "y": 165,
+ "w": 58,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 11,
+ "w": 58,
+ "h": 53
+ },
+ "frame": {
+ "x": 128,
+ "y": 166,
+ "w": 58,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 11,
+ "w": 58,
+ "h": 53
+ },
+ "frame": {
+ "x": 128,
+ "y": 166,
+ "w": 58,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 11,
+ "w": 58,
+ "h": 53
+ },
+ "frame": {
+ "x": 188,
+ "y": 168,
+ "w": 58,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 11,
+ "w": 58,
+ "h": 53
+ },
+ "frame": {
+ "x": 188,
+ "y": 168,
+ "w": 58,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 12,
+ "w": 58,
"h": 52
},
"frame": {
- "x": 295,
- "y": 211,
- "w": 57,
+ "x": 248,
+ "y": 170,
+ "w": 58,
+ "h": 52
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 12,
+ "w": 58,
+ "h": 52
+ },
+ "frame": {
+ "x": 248,
+ "y": 170,
+ "w": 58,
+ "h": 52
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 12,
+ "w": 58,
+ "h": 52
+ },
+ "frame": {
+ "x": 308,
+ "y": 172,
+ "w": 58,
+ "h": 52
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 12,
+ "w": 58,
+ "h": 52
+ },
+ "frame": {
+ "x": 308,
+ "y": 172,
+ "w": 58,
"h": 52
}
},
@@ -2325,375 +1296,39 @@
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 13,
- "y": 8,
- "w": 57,
- "h": 51
- },
- "frame": {
- "x": 352,
- "y": 212,
- "w": 57,
- "h": 51
- }
- },
- {
- "filename": "0076.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 8,
- "w": 57,
- "h": 51
- },
- "frame": {
- "x": 352,
- "y": 212,
- "w": 57,
- "h": 51
- }
- },
- {
- "filename": "0115.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 19,
- "y": 2,
- "w": 52,
- "h": 57
- },
- "frame": {
- "x": 180,
- "y": 263,
- "w": 52,
- "h": 57
- }
- },
- {
- "filename": "0116.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 19,
- "y": 2,
- "w": 52,
- "h": 57
- },
- "frame": {
- "x": 180,
- "y": 263,
- "w": 52,
- "h": 57
- }
- },
- {
- "filename": "0099.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 14,
- "y": 7,
- "w": 57,
+ "x": 12,
+ "y": 12,
+ "w": 58,
"h": 52
},
"frame": {
- "x": 232,
- "y": 263,
- "w": 57,
+ "x": 368,
+ "y": 175,
+ "w": 58,
"h": 52
}
},
{
- "filename": "0100.png",
+ "filename": "0067.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 14,
- "y": 7,
- "w": 57,
+ "x": 12,
+ "y": 12,
+ "w": 58,
"h": 52
},
"frame": {
- "x": 232,
- "y": 263,
- "w": 57,
- "h": 52
- }
- },
- {
- "filename": "0035.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 8,
- "w": 57,
- "h": 51
- },
- "frame": {
- "x": 289,
- "y": 263,
- "w": 57,
- "h": 51
- }
- },
- {
- "filename": "0079.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 8,
- "w": 57,
- "h": 51
- },
- "frame": {
- "x": 289,
- "y": 263,
- "w": 57,
- "h": 51
- }
- },
- {
- "filename": "0036.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 8,
- "w": 57,
- "h": 51
- },
- "frame": {
- "x": 346,
- "y": 263,
- "w": 57,
- "h": 51
- }
- },
- {
- "filename": "0080.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 8,
- "w": 57,
- "h": 51
- },
- "frame": {
- "x": 346,
- "y": 263,
- "w": 57,
- "h": 51
- }
- },
- {
- "filename": "0095.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 27,
- "y": 2,
- "w": 45,
- "h": 57
- },
- "frame": {
- "x": 219,
- "y": 320,
- "w": 45,
- "h": 57
- }
- },
- {
- "filename": "0096.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 27,
- "y": 2,
- "w": 45,
- "h": 57
- },
- "frame": {
- "x": 219,
- "y": 320,
- "w": 45,
- "h": 57
- }
- },
- {
- "filename": "0097.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 23,
- "y": 3,
- "w": 48,
- "h": 56
- },
- "frame": {
- "x": 264,
- "y": 315,
- "w": 48,
- "h": 56
- }
- },
- {
- "filename": "0098.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 23,
- "y": 3,
- "w": 48,
- "h": 56
- },
- "frame": {
- "x": 264,
- "y": 315,
- "w": 48,
- "h": 56
- }
- },
- {
- "filename": "0119.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 3,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 312,
- "y": 314,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0120.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 3,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 312,
- "y": 314,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0121.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 14,
- "y": 7,
- "w": 56,
- "h": 52
- },
- "frame": {
- "x": 365,
- "y": 314,
- "w": 56,
- "h": 52
- }
- },
- {
- "filename": "0122.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 14,
- "y": 7,
- "w": 56,
- "h": 52
- },
- "frame": {
- "x": 365,
- "y": 314,
- "w": 56,
+ "x": 368,
+ "y": 175,
+ "w": 58,
"h": 52
}
},
@@ -2703,19 +1338,40 @@
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 14,
- "y": 9,
- "w": 56,
- "h": 50
+ "x": 12,
+ "y": 12,
+ "w": 58,
+ "h": 52
},
"frame": {
- "x": 365,
- "y": 366,
- "w": 56,
- "h": 50
+ "x": 67,
+ "y": 220,
+ "w": 58,
+ "h": 52
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 12,
+ "w": 58,
+ "h": 52
+ },
+ "frame": {
+ "x": 67,
+ "y": 220,
+ "w": 58,
+ "h": 52
}
},
{
@@ -2724,62 +1380,566 @@
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 7,
+ "w": 57,
+ "h": 57
+ },
+ "frame": {
+ "x": 66,
+ "y": 274,
+ "w": 57,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 12,
+ "w": 57,
+ "h": 52
+ },
+ "frame": {
+ "x": 127,
+ "y": 221,
+ "w": 57,
+ "h": 52
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 12,
+ "w": 57,
+ "h": 52
+ },
+ "frame": {
+ "x": 127,
+ "y": 221,
+ "w": 57,
+ "h": 52
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 7,
+ "w": 57,
+ "h": 57
+ },
+ "frame": {
+ "x": 125,
+ "y": 275,
+ "w": 57,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 12,
+ "w": 57,
+ "h": 52
+ },
+ "frame": {
+ "x": 123,
+ "y": 334,
+ "w": 57,
+ "h": 52
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 12,
+ "w": 57,
+ "h": 52
+ },
+ "frame": {
+ "x": 123,
+ "y": 334,
+ "w": 57,
+ "h": 52
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 12,
+ "w": 57,
+ "h": 52
+ },
+ "frame": {
+ "x": 186,
+ "y": 223,
+ "w": 57,
+ "h": 52
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 12,
+ "w": 57,
+ "h": 52
+ },
+ "frame": {
+ "x": 186,
+ "y": 223,
+ "w": 57,
+ "h": 52
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
},
"spriteSourceSize": {
"x": 14,
- "y": 9,
+ "y": 6,
+ "w": 56,
+ "h": 58
+ },
+ "frame": {
+ "x": 184,
+ "y": 277,
+ "w": 56,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 12,
+ "w": 57,
+ "h": 52
+ },
+ "frame": {
+ "x": 245,
+ "y": 224,
+ "w": 57,
+ "h": 52
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 12,
+ "w": 57,
+ "h": 52
+ },
+ "frame": {
+ "x": 245,
+ "y": 224,
+ "w": 57,
+ "h": 52
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 3,
+ "w": 52,
+ "h": 61
+ },
+ "frame": {
+ "x": 242,
+ "y": 278,
+ "w": 52,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 13,
+ "w": 57,
+ "h": 51
+ },
+ "frame": {
+ "x": 182,
+ "y": 337,
+ "w": 57,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 13,
+ "w": 57,
+ "h": 51
+ },
+ "frame": {
+ "x": 182,
+ "y": 337,
+ "w": 57,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 13,
+ "w": 57,
+ "h": 51
+ },
+ "frame": {
+ "x": 178,
+ "y": 390,
+ "w": 57,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 13,
+ "w": 57,
+ "h": 51
+ },
+ "frame": {
+ "x": 178,
+ "y": 390,
+ "w": 57,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 13,
+ "w": 57,
+ "h": 51
+ },
+ "frame": {
+ "x": 237,
+ "y": 390,
+ "w": 57,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 13,
+ "w": 57,
+ "h": 51
+ },
+ "frame": {
+ "x": 237,
+ "y": 390,
+ "w": 57,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 14,
"w": 56,
"h": 50
},
"frame": {
- "x": 365,
- "y": 366,
+ "x": 304,
+ "y": 226,
"w": 56,
"h": 50
}
},
{
- "filename": "0034.png",
+ "filename": "0063.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 14,
- "y": 9,
+ "x": 13,
+ "y": 14,
"w": 56,
"h": 50
},
"frame": {
- "x": 264,
- "y": 371,
+ "x": 304,
+ "y": 226,
"w": 56,
"h": 50
}
},
{
- "filename": "0078.png",
+ "filename": "0073.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 14,
- "y": 9,
+ "x": 19,
+ "y": 6,
+ "w": 51,
+ "h": 58
+ },
+ "frame": {
+ "x": 296,
+ "y": 278,
+ "w": 51,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 14,
"w": 56,
"h": 50
},
"frame": {
- "x": 264,
- "y": 371,
+ "x": 362,
+ "y": 229,
"w": 56,
"h": 50
}
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 14,
+ "w": 56,
+ "h": 50
+ },
+ "frame": {
+ "x": 362,
+ "y": 229,
+ "w": 56,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 22,
+ "y": 5,
+ "w": 48,
+ "h": 59
+ },
+ "frame": {
+ "x": 349,
+ "y": 281,
+ "w": 48,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 23,
+ "y": 0,
+ "w": 47,
+ "h": 64
+ },
+ "frame": {
+ "x": 296,
+ "y": 338,
+ "w": 47,
+ "h": 64
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 23,
+ "y": 5,
+ "w": 47,
+ "h": 59
+ },
+ "frame": {
+ "x": 345,
+ "y": 342,
+ "w": 47,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 27,
+ "y": 7,
+ "w": 45,
+ "h": 57
+ },
+ "frame": {
+ "x": 394,
+ "y": 342,
+ "w": 45,
+ "h": 57
+ }
}
]
}
@@ -2787,6 +1947,6 @@
"meta": {
"app": "https://www.codeandweb.com/texturepacker",
"version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:d859178994686d479f3197554b49a5d0:4865cb1c68e23bfe2c333b4936466c12:7586c0ba0fc3c95eb3d51f575fb44867$"
+ "smartupdate": "$TexturePacker:SmartUpdate:58e51c630d2f71df7e68c399b2be62b4:05493809e98cbba93f8bf51723c495a4:7586c0ba0fc3c95eb3d51f575fb44867$"
}
}
diff --git a/public/images/pokemon/back/431.png b/public/images/pokemon/back/431.png
index b727d199975..f67604890f0 100644
Binary files a/public/images/pokemon/back/431.png and b/public/images/pokemon/back/431.png differ
diff --git a/public/images/pokemon/back/772.png b/public/images/pokemon/back/772.png
index e7c81f5e367..eb4e5e9b8b1 100644
Binary files a/public/images/pokemon/back/772.png and b/public/images/pokemon/back/772.png differ
diff --git a/public/images/pokemon/back/773-bug.png b/public/images/pokemon/back/773-bug.png
index 33eeced3fe6..8c7278b743f 100644
Binary files a/public/images/pokemon/back/773-bug.png and b/public/images/pokemon/back/773-bug.png differ
diff --git a/public/images/pokemon/back/773-dark.png b/public/images/pokemon/back/773-dark.png
index 2ed910d3347..bd872066110 100644
Binary files a/public/images/pokemon/back/773-dark.png and b/public/images/pokemon/back/773-dark.png differ
diff --git a/public/images/pokemon/back/773-dragon.png b/public/images/pokemon/back/773-dragon.png
index f098a7b972b..554ce6fbdc8 100644
Binary files a/public/images/pokemon/back/773-dragon.png and b/public/images/pokemon/back/773-dragon.png differ
diff --git a/public/images/pokemon/back/773-electric.png b/public/images/pokemon/back/773-electric.png
index 752a84ab161..0f36dc51b8a 100644
Binary files a/public/images/pokemon/back/773-electric.png and b/public/images/pokemon/back/773-electric.png differ
diff --git a/public/images/pokemon/back/773-fairy.png b/public/images/pokemon/back/773-fairy.png
index 030db85e584..70a61741005 100644
Binary files a/public/images/pokemon/back/773-fairy.png and b/public/images/pokemon/back/773-fairy.png differ
diff --git a/public/images/pokemon/back/773-fighting.png b/public/images/pokemon/back/773-fighting.png
index ef4b19beb73..4762f086f97 100644
Binary files a/public/images/pokemon/back/773-fighting.png and b/public/images/pokemon/back/773-fighting.png differ
diff --git a/public/images/pokemon/back/773-fire.png b/public/images/pokemon/back/773-fire.png
index 44007da1b7f..f695290d96a 100644
Binary files a/public/images/pokemon/back/773-fire.png and b/public/images/pokemon/back/773-fire.png differ
diff --git a/public/images/pokemon/back/773-flying.png b/public/images/pokemon/back/773-flying.png
index 8cdcbd10e27..d5a780d5ef2 100644
Binary files a/public/images/pokemon/back/773-flying.png and b/public/images/pokemon/back/773-flying.png differ
diff --git a/public/images/pokemon/back/773-ghost.png b/public/images/pokemon/back/773-ghost.png
index cbe084397c9..aad344a9fc1 100644
Binary files a/public/images/pokemon/back/773-ghost.png and b/public/images/pokemon/back/773-ghost.png differ
diff --git a/public/images/pokemon/back/773-grass.png b/public/images/pokemon/back/773-grass.png
index c1dd8c3c9cc..36e938e5df0 100644
Binary files a/public/images/pokemon/back/773-grass.png and b/public/images/pokemon/back/773-grass.png differ
diff --git a/public/images/pokemon/back/773-ground.png b/public/images/pokemon/back/773-ground.png
index cc16b52a7ab..caad391ce30 100644
Binary files a/public/images/pokemon/back/773-ground.png and b/public/images/pokemon/back/773-ground.png differ
diff --git a/public/images/pokemon/back/773-ice.png b/public/images/pokemon/back/773-ice.png
index ade0820f4f7..89dd181f02f 100644
Binary files a/public/images/pokemon/back/773-ice.png and b/public/images/pokemon/back/773-ice.png differ
diff --git a/public/images/pokemon/back/773-poison.png b/public/images/pokemon/back/773-poison.png
index 5a82a59a0d9..861526dfed4 100644
Binary files a/public/images/pokemon/back/773-poison.png and b/public/images/pokemon/back/773-poison.png differ
diff --git a/public/images/pokemon/back/773-psychic.png b/public/images/pokemon/back/773-psychic.png
index e56e4261897..a2da865fbf2 100644
Binary files a/public/images/pokemon/back/773-psychic.png and b/public/images/pokemon/back/773-psychic.png differ
diff --git a/public/images/pokemon/back/773-rock.png b/public/images/pokemon/back/773-rock.png
index b301dd6eb29..080f749350b 100644
Binary files a/public/images/pokemon/back/773-rock.png and b/public/images/pokemon/back/773-rock.png differ
diff --git a/public/images/pokemon/back/773-steel.png b/public/images/pokemon/back/773-steel.png
index 8e5a37035d3..1ffa4d750d0 100644
Binary files a/public/images/pokemon/back/773-steel.png and b/public/images/pokemon/back/773-steel.png differ
diff --git a/public/images/pokemon/back/773-water.png b/public/images/pokemon/back/773-water.png
index 8ba057d3e1f..bb53bcb91e8 100644
Binary files a/public/images/pokemon/back/773-water.png and b/public/images/pokemon/back/773-water.png differ
diff --git a/public/images/pokemon/back/773.png b/public/images/pokemon/back/773.png
index 3db65f3d293..42a69116b27 100644
Binary files a/public/images/pokemon/back/773.png and b/public/images/pokemon/back/773.png differ
diff --git a/public/images/pokemon/back/778-disguised.json b/public/images/pokemon/back/778-disguised.json
new file mode 100644
index 00000000000..a5818c08d03
--- /dev/null
+++ b/public/images/pokemon/back/778-disguised.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "778-disguised.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 51,
+ "h": 51
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 37,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 37,
+ "h": 51
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 37,
+ "h": 51
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:e2642c2f9c23ad6986cf4f0f3f0a8dfa:f945ce480a17e93d547e7fa9525e78dd:92ecadef6e0cb53020b8cd41fbeaf2cd$"
+ }
+}
diff --git a/public/images/pokemon/back/778.png b/public/images/pokemon/back/778-disguised.png
similarity index 100%
rename from public/images/pokemon/back/778.png
rename to public/images/pokemon/back/778-disguised.png
diff --git a/public/images/pokemon/back/778.json b/public/images/pokemon/back/778.json
deleted file mode 100644
index 7e7176217f0..00000000000
--- a/public/images/pokemon/back/778.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "textures": [
- {
- "image": "778.png",
- "format": "RGBA8888",
- "size": {
- "w": 51,
- "h": 51
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 37,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 37,
- "h": 51
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 37,
- "h": 51
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:e2642c2f9c23ad6986cf4f0f3f0a8dfa:f945ce480a17e93d547e7fa9525e78dd:92ecadef6e0cb53020b8cd41fbeaf2cd$"
- }
-}
diff --git a/public/images/pokemon/back/818-gigantamax.png b/public/images/pokemon/back/818-gigantamax.png
index 03c0a153cc5..93dc06b038c 100644
Binary files a/public/images/pokemon/back/818-gigantamax.png and b/public/images/pokemon/back/818-gigantamax.png differ
diff --git a/public/images/pokemon/back/876-female.png b/public/images/pokemon/back/876-female.png
index 45bd431d06e..29e7d4a2afd 100644
Binary files a/public/images/pokemon/back/876-female.png and b/public/images/pokemon/back/876-female.png differ
diff --git a/public/images/pokemon/back/876.png b/public/images/pokemon/back/876.png
index f185dcfa42c..1ba33ec5516 100644
Binary files a/public/images/pokemon/back/876.png and b/public/images/pokemon/back/876.png differ
diff --git a/public/images/pokemon/back/896.png b/public/images/pokemon/back/896.png
index 270ee31b713..243e9a4cfde 100644
Binary files a/public/images/pokemon/back/896.png and b/public/images/pokemon/back/896.png differ
diff --git a/public/images/pokemon/back/898-ice.png b/public/images/pokemon/back/898-ice.png
index 0436a6ee042..ca5b032669e 100644
Binary files a/public/images/pokemon/back/898-ice.png and b/public/images/pokemon/back/898-ice.png differ
diff --git a/public/images/pokemon/back/898.png b/public/images/pokemon/back/898.png
index 2a3b4e4b9c9..f99aa938ea2 100644
Binary files a/public/images/pokemon/back/898.png and b/public/images/pokemon/back/898.png differ
diff --git a/public/images/pokemon/back/974.png b/public/images/pokemon/back/974.png
index de2cab07bc7..76d87de26e0 100644
Binary files a/public/images/pokemon/back/974.png and b/public/images/pokemon/back/974.png differ
diff --git a/public/images/pokemon/back/975.png b/public/images/pokemon/back/975.png
index 9db09fe5885..c7cd7b92e70 100644
Binary files a/public/images/pokemon/back/975.png and b/public/images/pokemon/back/975.png differ
diff --git a/public/images/pokemon/back/female/229.png b/public/images/pokemon/back/female/229.png
index 50e4a6a6b1e..76be7104638 100644
Binary files a/public/images/pokemon/back/female/229.png and b/public/images/pokemon/back/female/229.png differ
diff --git a/public/images/pokemon/back/female/232.png b/public/images/pokemon/back/female/232.png
index 969275cc452..1b467668241 100644
Binary files a/public/images/pokemon/back/female/232.png and b/public/images/pokemon/back/female/232.png differ
diff --git a/public/images/pokemon/back/female/25-partner.json b/public/images/pokemon/back/female/25-partner.json
new file mode 100644
index 00000000000..8f72e804e93
--- /dev/null
+++ b/public/images/pokemon/back/female/25-partner.json
@@ -0,0 +1,2456 @@
+{
+ "textures": [
+ {
+ "image": "25-partner.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 309,
+ "h": 309
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 40,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 47,
+ "w": 40,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 40,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 47,
+ "w": 40,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 40,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 47,
+ "w": 40,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 38,
+ "h": 47
+ },
+ "frame": {
+ "x": 41,
+ "y": 0,
+ "w": 38,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 38,
+ "h": 47
+ },
+ "frame": {
+ "x": 41,
+ "y": 0,
+ "w": 38,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 38,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 94,
+ "w": 38,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 38,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 94,
+ "w": 38,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 40,
+ "y": 47,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 40,
+ "y": 47,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 40,
+ "y": 47,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 40,
+ "y": 47,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 40,
+ "y": 47,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 40,
+ "y": 47,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 40,
+ "y": 47,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 40,
+ "y": 47,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 40,
+ "y": 47,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 40,
+ "y": 47,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 40,
+ "y": 47,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 40,
+ "y": 47,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 40,
+ "y": 47,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 38,
+ "h": 46
+ },
+ "frame": {
+ "x": 79,
+ "y": 0,
+ "w": 38,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 38,
+ "h": 46
+ },
+ "frame": {
+ "x": 79,
+ "y": 0,
+ "w": 38,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 38,
+ "h": 46
+ },
+ "frame": {
+ "x": 0,
+ "y": 141,
+ "w": 38,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 38,
+ "h": 46
+ },
+ "frame": {
+ "x": 0,
+ "y": 141,
+ "w": 38,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 38,
+ "y": 94,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 38,
+ "y": 94,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 38,
+ "h": 46
+ },
+ "frame": {
+ "x": 117,
+ "y": 0,
+ "w": 38,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 38,
+ "h": 46
+ },
+ "frame": {
+ "x": 117,
+ "y": 0,
+ "w": 38,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 38,
+ "h": 46
+ },
+ "frame": {
+ "x": 0,
+ "y": 187,
+ "w": 38,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 38,
+ "h": 46
+ },
+ "frame": {
+ "x": 0,
+ "y": 187,
+ "w": 38,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 38,
+ "y": 141,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 38,
+ "y": 141,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 233,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 233,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 38,
+ "h": 46
+ },
+ "frame": {
+ "x": 155,
+ "y": 0,
+ "w": 38,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 38,
+ "h": 46
+ },
+ "frame": {
+ "x": 155,
+ "y": 0,
+ "w": 38,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 38,
+ "h": 46
+ },
+ "frame": {
+ "x": 193,
+ "y": 0,
+ "w": 38,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 38,
+ "h": 46
+ },
+ "frame": {
+ "x": 193,
+ "y": 0,
+ "w": 38,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 38,
+ "h": 46
+ },
+ "frame": {
+ "x": 231,
+ "y": 0,
+ "w": 38,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 38,
+ "h": 46
+ },
+ "frame": {
+ "x": 231,
+ "y": 0,
+ "w": 38,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 40,
+ "h": 43
+ },
+ "frame": {
+ "x": 269,
+ "y": 0,
+ "w": 40,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 40,
+ "h": 43
+ },
+ "frame": {
+ "x": 269,
+ "y": 0,
+ "w": 40,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 40,
+ "h": 43
+ },
+ "frame": {
+ "x": 269,
+ "y": 43,
+ "w": 40,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 40,
+ "h": 43
+ },
+ "frame": {
+ "x": 269,
+ "y": 43,
+ "w": 40,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 38,
+ "y": 188,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 38,
+ "y": 188,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 38,
+ "h": 46
+ },
+ "frame": {
+ "x": 37,
+ "y": 234,
+ "w": 38,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 38,
+ "h": 46
+ },
+ "frame": {
+ "x": 37,
+ "y": 234,
+ "w": 38,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 75,
+ "y": 94,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 75,
+ "y": 94,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 75,
+ "y": 141,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 75,
+ "y": 141,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 77,
+ "y": 47,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 77,
+ "y": 47,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 75,
+ "y": 188,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 75,
+ "y": 188,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 39,
+ "h": 45
+ },
+ "frame": {
+ "x": 114,
+ "y": 46,
+ "w": 39,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 39,
+ "h": 45
+ },
+ "frame": {
+ "x": 114,
+ "y": 46,
+ "w": 39,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 40,
+ "h": 43
+ },
+ "frame": {
+ "x": 153,
+ "y": 46,
+ "w": 40,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 40,
+ "h": 43
+ },
+ "frame": {
+ "x": 153,
+ "y": 46,
+ "w": 40,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 40,
+ "h": 43
+ },
+ "frame": {
+ "x": 193,
+ "y": 46,
+ "w": 40,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 40,
+ "h": 43
+ },
+ "frame": {
+ "x": 193,
+ "y": 46,
+ "w": 40,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 75,
+ "y": 235,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 75,
+ "y": 235,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 112,
+ "y": 94,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 112,
+ "y": 94,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 112,
+ "y": 141,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 112,
+ "y": 141,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 112,
+ "y": 188,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 112,
+ "y": 188,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 112,
+ "y": 234,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 112,
+ "y": 234,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 2,
+ "w": 37,
+ "h": 45
+ },
+ "frame": {
+ "x": 149,
+ "y": 91,
+ "w": 37,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 2,
+ "w": 37,
+ "h": 45
+ },
+ "frame": {
+ "x": 149,
+ "y": 91,
+ "w": 37,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 40,
+ "h": 43
+ },
+ "frame": {
+ "x": 186,
+ "y": 89,
+ "w": 40,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 40,
+ "h": 43
+ },
+ "frame": {
+ "x": 186,
+ "y": 89,
+ "w": 40,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 38,
+ "h": 44
+ },
+ "frame": {
+ "x": 149,
+ "y": 136,
+ "w": 38,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 38,
+ "h": 44
+ },
+ "frame": {
+ "x": 149,
+ "y": 136,
+ "w": 38,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 4,
+ "w": 39,
+ "h": 43
+ },
+ "frame": {
+ "x": 149,
+ "y": 180,
+ "w": 39,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 4,
+ "w": 39,
+ "h": 43
+ },
+ "frame": {
+ "x": 149,
+ "y": 180,
+ "w": 39,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 4,
+ "w": 39,
+ "h": 43
+ },
+ "frame": {
+ "x": 149,
+ "y": 223,
+ "w": 39,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 4,
+ "w": 39,
+ "h": 43
+ },
+ "frame": {
+ "x": 149,
+ "y": 223,
+ "w": 39,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 4,
+ "w": 39,
+ "h": 43
+ },
+ "frame": {
+ "x": 149,
+ "y": 266,
+ "w": 39,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 4,
+ "w": 39,
+ "h": 43
+ },
+ "frame": {
+ "x": 149,
+ "y": 266,
+ "w": 39,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 4,
+ "w": 38,
+ "h": 43
+ },
+ "frame": {
+ "x": 187,
+ "y": 132,
+ "w": 38,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 4,
+ "w": 38,
+ "h": 43
+ },
+ "frame": {
+ "x": 187,
+ "y": 132,
+ "w": 38,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 4,
+ "w": 38,
+ "h": 43
+ },
+ "frame": {
+ "x": 188,
+ "y": 175,
+ "w": 38,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 4,
+ "w": 38,
+ "h": 43
+ },
+ "frame": {
+ "x": 188,
+ "y": 175,
+ "w": 38,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 7,
+ "w": 41,
+ "h": 40
+ },
+ "frame": {
+ "x": 188,
+ "y": 218,
+ "w": 41,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 7,
+ "w": 41,
+ "h": 40
+ },
+ "frame": {
+ "x": 188,
+ "y": 218,
+ "w": 41,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 7,
+ "w": 41,
+ "h": 40
+ },
+ "frame": {
+ "x": 188,
+ "y": 258,
+ "w": 41,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 7,
+ "w": 41,
+ "h": 40
+ },
+ "frame": {
+ "x": 188,
+ "y": 258,
+ "w": 41,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 7,
+ "w": 40,
+ "h": 40
+ },
+ "frame": {
+ "x": 226,
+ "y": 89,
+ "w": 40,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 7,
+ "w": 40,
+ "h": 40
+ },
+ "frame": {
+ "x": 226,
+ "y": 89,
+ "w": 40,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 7,
+ "w": 41,
+ "h": 40
+ },
+ "frame": {
+ "x": 266,
+ "y": 86,
+ "w": 41,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 7,
+ "w": 41,
+ "h": 40
+ },
+ "frame": {
+ "x": 266,
+ "y": 86,
+ "w": 41,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 41,
+ "h": 35
+ },
+ "frame": {
+ "x": 266,
+ "y": 126,
+ "w": 41,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 41,
+ "h": 35
+ },
+ "frame": {
+ "x": 266,
+ "y": 126,
+ "w": 41,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 7,
+ "w": 40,
+ "h": 40
+ },
+ "frame": {
+ "x": 226,
+ "y": 129,
+ "w": 40,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 7,
+ "w": 40,
+ "h": 40
+ },
+ "frame": {
+ "x": 226,
+ "y": 129,
+ "w": 40,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 7,
+ "w": 41,
+ "h": 40
+ },
+ "frame": {
+ "x": 226,
+ "y": 169,
+ "w": 41,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 7,
+ "w": 41,
+ "h": 40
+ },
+ "frame": {
+ "x": 226,
+ "y": 169,
+ "w": 41,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 7,
+ "w": 39,
+ "h": 40
+ },
+ "frame": {
+ "x": 267,
+ "y": 161,
+ "w": 39,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 7,
+ "w": 39,
+ "h": 40
+ },
+ "frame": {
+ "x": 267,
+ "y": 161,
+ "w": 39,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 7,
+ "w": 39,
+ "h": 40
+ },
+ "frame": {
+ "x": 229,
+ "y": 209,
+ "w": 39,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 7,
+ "w": 39,
+ "h": 40
+ },
+ "frame": {
+ "x": 229,
+ "y": 209,
+ "w": 39,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 41,
+ "h": 35
+ },
+ "frame": {
+ "x": 268,
+ "y": 201,
+ "w": 41,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 41,
+ "h": 35
+ },
+ "frame": {
+ "x": 268,
+ "y": 201,
+ "w": 41,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 13,
+ "w": 41,
+ "h": 34
+ },
+ "frame": {
+ "x": 268,
+ "y": 236,
+ "w": 41,
+ "h": 34
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 13,
+ "w": 41,
+ "h": 34
+ },
+ "frame": {
+ "x": 268,
+ "y": 236,
+ "w": 41,
+ "h": 34
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 8,
+ "w": 40,
+ "h": 39
+ },
+ "frame": {
+ "x": 229,
+ "y": 270,
+ "w": 40,
+ "h": 39
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 8,
+ "w": 40,
+ "h": 39
+ },
+ "frame": {
+ "x": 229,
+ "y": 270,
+ "w": 40,
+ "h": 39
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 12,
+ "w": 40,
+ "h": 35
+ },
+ "frame": {
+ "x": 269,
+ "y": 270,
+ "w": 40,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 12,
+ "w": 40,
+ "h": 35
+ },
+ "frame": {
+ "x": 269,
+ "y": 270,
+ "w": 40,
+ "h": 35
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:d372b1d86228d032e58b8f44f5ba88b7:831f141a266f419c1af619c4e93c6c16:d7d9e845c71962a58076b5efe962284e$"
+ }
+}
diff --git a/public/images/pokemon/back/female/25-partner.png b/public/images/pokemon/back/female/25-partner.png
new file mode 100644
index 00000000000..97ceaa8bb2f
Binary files /dev/null and b/public/images/pokemon/back/female/25-partner.png differ
diff --git a/public/images/pokemon/back/female/401.png b/public/images/pokemon/back/female/401.png
index 641af5384ba..2b0206a6707 100644
Binary files a/public/images/pokemon/back/female/401.png and b/public/images/pokemon/back/female/401.png differ
diff --git a/public/images/pokemon/back/female/402.png b/public/images/pokemon/back/female/402.png
index d6bd4d89ae4..bc8ca92ea94 100644
Binary files a/public/images/pokemon/back/female/402.png and b/public/images/pokemon/back/female/402.png differ
diff --git a/public/images/pokemon/back/shiny/133-partner.json b/public/images/pokemon/back/shiny/133-partner.json
new file mode 100644
index 00000000000..dc90bd7b683
--- /dev/null
+++ b/public/images/pokemon/back/shiny/133-partner.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "133-partner.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 245,
+ "h": 245
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 4,
+ "w": 36,
+ "h": 45
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 36,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 45,
+ "h": 47
+ },
+ "frame": {
+ "x": 36,
+ "y": 0,
+ "w": 45,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 45,
+ "h": 47
+ },
+ "frame": {
+ "x": 36,
+ "y": 0,
+ "w": 45,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 45,
+ "h": 47
+ },
+ "frame": {
+ "x": 36,
+ "y": 0,
+ "w": 45,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 45,
+ "h": 47
+ },
+ "frame": {
+ "x": 36,
+ "y": 0,
+ "w": 45,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 45,
+ "h": 47
+ },
+ "frame": {
+ "x": 36,
+ "y": 0,
+ "w": 45,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 2,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 81,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 2,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 81,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 2,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 117,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 2,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 117,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 44,
+ "h": 47
+ },
+ "frame": {
+ "x": 153,
+ "y": 0,
+ "w": 44,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 45,
+ "h": 47
+ },
+ "frame": {
+ "x": 197,
+ "y": 0,
+ "w": 45,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 45,
+ "h": 47
+ },
+ "frame": {
+ "x": 197,
+ "y": 0,
+ "w": 45,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 1,
+ "w": 36,
+ "h": 48
+ },
+ "frame": {
+ "x": 0,
+ "y": 45,
+ "w": 36,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 1,
+ "w": 36,
+ "h": 48
+ },
+ "frame": {
+ "x": 0,
+ "y": 45,
+ "w": 36,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 44,
+ "h": 47
+ },
+ "frame": {
+ "x": 36,
+ "y": 47,
+ "w": 44,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 44,
+ "h": 47
+ },
+ "frame": {
+ "x": 36,
+ "y": 47,
+ "w": 44,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 48
+ },
+ "frame": {
+ "x": 80,
+ "y": 47,
+ "w": 38,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 48
+ },
+ "frame": {
+ "x": 80,
+ "y": 47,
+ "w": 38,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 48
+ },
+ "frame": {
+ "x": 80,
+ "y": 47,
+ "w": 38,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 48
+ },
+ "frame": {
+ "x": 80,
+ "y": 47,
+ "w": 38,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 48
+ },
+ "frame": {
+ "x": 80,
+ "y": 47,
+ "w": 38,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 48
+ },
+ "frame": {
+ "x": 80,
+ "y": 47,
+ "w": 38,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 48
+ },
+ "frame": {
+ "x": 80,
+ "y": 47,
+ "w": 38,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 48
+ },
+ "frame": {
+ "x": 80,
+ "y": 47,
+ "w": 38,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 48
+ },
+ "frame": {
+ "x": 80,
+ "y": 47,
+ "w": 38,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 48
+ },
+ "frame": {
+ "x": 80,
+ "y": 47,
+ "w": 38,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 48
+ },
+ "frame": {
+ "x": 80,
+ "y": 47,
+ "w": 38,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 48
+ },
+ "frame": {
+ "x": 80,
+ "y": 47,
+ "w": 38,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 48
+ },
+ "frame": {
+ "x": 80,
+ "y": 47,
+ "w": 38,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 48
+ },
+ "frame": {
+ "x": 80,
+ "y": 47,
+ "w": 38,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 46,
+ "h": 48
+ },
+ "frame": {
+ "x": 118,
+ "y": 47,
+ "w": 46,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 46,
+ "h": 48
+ },
+ "frame": {
+ "x": 118,
+ "y": 47,
+ "w": 46,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 46,
+ "h": 48
+ },
+ "frame": {
+ "x": 118,
+ "y": 47,
+ "w": 46,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 46,
+ "h": 48
+ },
+ "frame": {
+ "x": 118,
+ "y": 47,
+ "w": 46,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 46,
+ "h": 48
+ },
+ "frame": {
+ "x": 118,
+ "y": 47,
+ "w": 46,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 46,
+ "h": 48
+ },
+ "frame": {
+ "x": 118,
+ "y": 47,
+ "w": 46,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 46,
+ "h": 48
+ },
+ "frame": {
+ "x": 118,
+ "y": 47,
+ "w": 46,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 46,
+ "h": 48
+ },
+ "frame": {
+ "x": 118,
+ "y": 47,
+ "w": 46,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 46,
+ "h": 48
+ },
+ "frame": {
+ "x": 118,
+ "y": 47,
+ "w": 46,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 46,
+ "h": 48
+ },
+ "frame": {
+ "x": 118,
+ "y": 47,
+ "w": 46,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 45,
+ "h": 48
+ },
+ "frame": {
+ "x": 164,
+ "y": 47,
+ "w": 45,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 45,
+ "h": 48
+ },
+ "frame": {
+ "x": 164,
+ "y": 47,
+ "w": 45,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 45,
+ "h": 48
+ },
+ "frame": {
+ "x": 164,
+ "y": 47,
+ "w": 45,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 45,
+ "h": 48
+ },
+ "frame": {
+ "x": 164,
+ "y": 47,
+ "w": 45,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 45,
+ "h": 48
+ },
+ "frame": {
+ "x": 164,
+ "y": 47,
+ "w": 45,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 45,
+ "h": 48
+ },
+ "frame": {
+ "x": 164,
+ "y": 47,
+ "w": 45,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 45,
+ "h": 48
+ },
+ "frame": {
+ "x": 164,
+ "y": 47,
+ "w": 45,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 45,
+ "h": 48
+ },
+ "frame": {
+ "x": 164,
+ "y": 47,
+ "w": 45,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 45,
+ "h": 48
+ },
+ "frame": {
+ "x": 164,
+ "y": 47,
+ "w": 45,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 45,
+ "h": 48
+ },
+ "frame": {
+ "x": 164,
+ "y": 47,
+ "w": 45,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 1,
+ "w": 36,
+ "h": 48
+ },
+ "frame": {
+ "x": 209,
+ "y": 47,
+ "w": 36,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 1,
+ "w": 36,
+ "h": 48
+ },
+ "frame": {
+ "x": 209,
+ "y": 47,
+ "w": 36,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 45,
+ "h": 48
+ },
+ "frame": {
+ "x": 0,
+ "y": 94,
+ "w": 45,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 45,
+ "h": 48
+ },
+ "frame": {
+ "x": 0,
+ "y": 94,
+ "w": 45,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 45,
+ "h": 48
+ },
+ "frame": {
+ "x": 0,
+ "y": 94,
+ "w": 45,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 45,
+ "h": 48
+ },
+ "frame": {
+ "x": 0,
+ "y": 94,
+ "w": 45,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 45,
+ "h": 48
+ },
+ "frame": {
+ "x": 0,
+ "y": 94,
+ "w": 45,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 1,
+ "w": 37,
+ "h": 48
+ },
+ "frame": {
+ "x": 45,
+ "y": 95,
+ "w": 37,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 43,
+ "h": 48
+ },
+ "frame": {
+ "x": 82,
+ "y": 95,
+ "w": 43,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 43,
+ "h": 48
+ },
+ "frame": {
+ "x": 82,
+ "y": 95,
+ "w": 43,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 43,
+ "h": 48
+ },
+ "frame": {
+ "x": 125,
+ "y": 95,
+ "w": 43,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 0,
+ "w": 40,
+ "h": 49
+ },
+ "frame": {
+ "x": 168,
+ "y": 95,
+ "w": 40,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 0,
+ "w": 40,
+ "h": 49
+ },
+ "frame": {
+ "x": 168,
+ "y": 95,
+ "w": 40,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 0,
+ "w": 40,
+ "h": 49
+ },
+ "frame": {
+ "x": 168,
+ "y": 95,
+ "w": 40,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 0,
+ "w": 40,
+ "h": 49
+ },
+ "frame": {
+ "x": 168,
+ "y": 95,
+ "w": 40,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 0,
+ "w": 40,
+ "h": 49
+ },
+ "frame": {
+ "x": 168,
+ "y": 95,
+ "w": 40,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 0,
+ "w": 40,
+ "h": 49
+ },
+ "frame": {
+ "x": 168,
+ "y": 95,
+ "w": 40,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 0,
+ "w": 40,
+ "h": 49
+ },
+ "frame": {
+ "x": 168,
+ "y": 95,
+ "w": 40,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 0,
+ "w": 40,
+ "h": 49
+ },
+ "frame": {
+ "x": 168,
+ "y": 95,
+ "w": 40,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 0,
+ "w": 40,
+ "h": 49
+ },
+ "frame": {
+ "x": 168,
+ "y": 95,
+ "w": 40,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 0,
+ "w": 40,
+ "h": 49
+ },
+ "frame": {
+ "x": 168,
+ "y": 95,
+ "w": 40,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 0,
+ "w": 37,
+ "h": 49
+ },
+ "frame": {
+ "x": 208,
+ "y": 95,
+ "w": 37,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 142,
+ "w": 42,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 142,
+ "w": 42,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 142,
+ "w": 42,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 142,
+ "w": 42,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 142,
+ "w": 42,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 44,
+ "h": 49
+ },
+ "frame": {
+ "x": 42,
+ "y": 143,
+ "w": 44,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 44,
+ "h": 49
+ },
+ "frame": {
+ "x": 42,
+ "y": 143,
+ "w": 44,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 44,
+ "h": 49
+ },
+ "frame": {
+ "x": 42,
+ "y": 143,
+ "w": 44,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 44,
+ "h": 49
+ },
+ "frame": {
+ "x": 42,
+ "y": 143,
+ "w": 44,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 44,
+ "h": 49
+ },
+ "frame": {
+ "x": 42,
+ "y": 143,
+ "w": 44,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 44,
+ "h": 49
+ },
+ "frame": {
+ "x": 42,
+ "y": 143,
+ "w": 44,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 44,
+ "h": 49
+ },
+ "frame": {
+ "x": 42,
+ "y": 143,
+ "w": 44,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 44,
+ "h": 49
+ },
+ "frame": {
+ "x": 42,
+ "y": 143,
+ "w": 44,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 44,
+ "h": 49
+ },
+ "frame": {
+ "x": 42,
+ "y": 143,
+ "w": 44,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 44,
+ "h": 49
+ },
+ "frame": {
+ "x": 42,
+ "y": 143,
+ "w": 44,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 43,
+ "h": 49
+ },
+ "frame": {
+ "x": 86,
+ "y": 143,
+ "w": 43,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 43,
+ "h": 49
+ },
+ "frame": {
+ "x": 86,
+ "y": 143,
+ "w": 43,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 43,
+ "h": 49
+ },
+ "frame": {
+ "x": 86,
+ "y": 143,
+ "w": 43,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 43,
+ "h": 49
+ },
+ "frame": {
+ "x": 86,
+ "y": 143,
+ "w": 43,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 43,
+ "h": 49
+ },
+ "frame": {
+ "x": 86,
+ "y": 143,
+ "w": 43,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 43,
+ "h": 49
+ },
+ "frame": {
+ "x": 86,
+ "y": 143,
+ "w": 43,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 43,
+ "h": 49
+ },
+ "frame": {
+ "x": 86,
+ "y": 143,
+ "w": 43,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 43,
+ "h": 49
+ },
+ "frame": {
+ "x": 86,
+ "y": 143,
+ "w": 43,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 43,
+ "h": 49
+ },
+ "frame": {
+ "x": 86,
+ "y": 143,
+ "w": 43,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 43,
+ "h": 49
+ },
+ "frame": {
+ "x": 86,
+ "y": 143,
+ "w": 43,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 49
+ },
+ "frame": {
+ "x": 129,
+ "y": 143,
+ "w": 38,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 49
+ },
+ "frame": {
+ "x": 129,
+ "y": 143,
+ "w": 38,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 49
+ },
+ "frame": {
+ "x": 129,
+ "y": 143,
+ "w": 38,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 49
+ },
+ "frame": {
+ "x": 129,
+ "y": 143,
+ "w": 38,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 49
+ },
+ "frame": {
+ "x": 129,
+ "y": 143,
+ "w": 38,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 49
+ },
+ "frame": {
+ "x": 129,
+ "y": 143,
+ "w": 38,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 49
+ },
+ "frame": {
+ "x": 129,
+ "y": 143,
+ "w": 38,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 49
+ },
+ "frame": {
+ "x": 129,
+ "y": 143,
+ "w": 38,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 49
+ },
+ "frame": {
+ "x": 129,
+ "y": 143,
+ "w": 38,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 38,
+ "h": 49
+ },
+ "frame": {
+ "x": 129,
+ "y": 143,
+ "w": 38,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 49
+ },
+ "frame": {
+ "x": 167,
+ "y": 144,
+ "w": 41,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 49
+ },
+ "frame": {
+ "x": 167,
+ "y": 144,
+ "w": 41,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 49
+ },
+ "frame": {
+ "x": 167,
+ "y": 144,
+ "w": 41,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 49
+ },
+ "frame": {
+ "x": 167,
+ "y": 144,
+ "w": 41,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 49
+ },
+ "frame": {
+ "x": 167,
+ "y": 144,
+ "w": 41,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 49
+ },
+ "frame": {
+ "x": 167,
+ "y": 144,
+ "w": 41,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 49
+ },
+ "frame": {
+ "x": 167,
+ "y": 144,
+ "w": 41,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 49
+ },
+ "frame": {
+ "x": 167,
+ "y": 144,
+ "w": 41,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 49
+ },
+ "frame": {
+ "x": 167,
+ "y": 144,
+ "w": 41,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 49
+ },
+ "frame": {
+ "x": 167,
+ "y": 144,
+ "w": 41,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 0,
+ "w": 37,
+ "h": 49
+ },
+ "frame": {
+ "x": 208,
+ "y": 144,
+ "w": 37,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 0,
+ "w": 37,
+ "h": 49
+ },
+ "frame": {
+ "x": 208,
+ "y": 144,
+ "w": 37,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 191,
+ "w": 42,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 191,
+ "w": 42,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 191,
+ "w": 42,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 191,
+ "w": 42,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 191,
+ "w": 42,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 0,
+ "w": 38,
+ "h": 49
+ },
+ "frame": {
+ "x": 42,
+ "y": 192,
+ "w": 38,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 0,
+ "w": 38,
+ "h": 49
+ },
+ "frame": {
+ "x": 42,
+ "y": 192,
+ "w": 38,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 0,
+ "w": 40,
+ "h": 49
+ },
+ "frame": {
+ "x": 80,
+ "y": 192,
+ "w": 40,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 49
+ },
+ "frame": {
+ "x": 120,
+ "y": 192,
+ "w": 41,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 49
+ },
+ "frame": {
+ "x": 120,
+ "y": 192,
+ "w": 41,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 49
+ },
+ "frame": {
+ "x": 161,
+ "y": 193,
+ "w": 41,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 49
+ },
+ "frame": {
+ "x": 161,
+ "y": 193,
+ "w": 41,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 0,
+ "w": 39,
+ "h": 49
+ },
+ "frame": {
+ "x": 202,
+ "y": 193,
+ "w": 39,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 0,
+ "w": 39,
+ "h": 49
+ },
+ "frame": {
+ "x": 202,
+ "y": 193,
+ "w": 39,
+ "h": 49
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:5e94f60a2f7a7dc3f5d699bd3107f486:44eae6b3793ef296999ef086d542c6a4:4e938f9dc8bce1cd7822677c800d242b$"
+ }
+}
diff --git a/public/images/pokemon/back/shiny/133-partner.png b/public/images/pokemon/back/shiny/133-partner.png
new file mode 100644
index 00000000000..a1f95b24496
Binary files /dev/null and b/public/images/pokemon/back/shiny/133-partner.png differ
diff --git a/public/images/pokemon/back/shiny/25-partner.json b/public/images/pokemon/back/shiny/25-partner.json
new file mode 100644
index 00000000000..d9f755885d2
--- /dev/null
+++ b/public/images/pokemon/back/shiny/25-partner.json
@@ -0,0 +1,2456 @@
+{
+ "textures": [
+ {
+ "image": "25-partner.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 302,
+ "h": 302
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 47,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 47,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 47,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 41,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 41,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 94,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 94,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 39,
+ "y": 47,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 39,
+ "y": 47,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 39,
+ "y": 47,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 39,
+ "y": 47,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 39,
+ "y": 47,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 39,
+ "y": 47,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 39,
+ "y": 47,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 39,
+ "y": 47,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 39,
+ "y": 47,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 39,
+ "y": 47,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 39,
+ "y": 47,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 39,
+ "y": 47,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 39,
+ "y": 47,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 78,
+ "y": 0,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 78,
+ "y": 0,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 0,
+ "y": 141,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 0,
+ "y": 141,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 37,
+ "y": 94,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 37,
+ "y": 94,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 115,
+ "y": 0,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 115,
+ "y": 0,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 0,
+ "y": 187,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 0,
+ "y": 187,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 37,
+ "y": 141,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 37,
+ "y": 141,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 233,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 233,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 152,
+ "y": 0,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 152,
+ "y": 0,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 189,
+ "y": 0,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 189,
+ "y": 0,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 226,
+ "y": 0,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 226,
+ "y": 0,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 4,
+ "w": 39,
+ "h": 43
+ },
+ "frame": {
+ "x": 263,
+ "y": 0,
+ "w": 39,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 4,
+ "w": 39,
+ "h": 43
+ },
+ "frame": {
+ "x": 263,
+ "y": 0,
+ "w": 39,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 4,
+ "w": 39,
+ "h": 43
+ },
+ "frame": {
+ "x": 263,
+ "y": 43,
+ "w": 39,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 4,
+ "w": 39,
+ "h": 43
+ },
+ "frame": {
+ "x": 263,
+ "y": 43,
+ "w": 39,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 36,
+ "h": 46
+ },
+ "frame": {
+ "x": 37,
+ "y": 188,
+ "w": 36,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 36,
+ "h": 46
+ },
+ "frame": {
+ "x": 37,
+ "y": 188,
+ "w": 36,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 36,
+ "y": 234,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 36,
+ "y": 234,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 75,
+ "y": 47,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 75,
+ "y": 47,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 73,
+ "y": 94,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 73,
+ "y": 94,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 73,
+ "y": 141,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 73,
+ "y": 141,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 73,
+ "y": 188,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 73,
+ "y": 188,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 2,
+ "w": 38,
+ "h": 45
+ },
+ "frame": {
+ "x": 111,
+ "y": 46,
+ "w": 38,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 2,
+ "w": 38,
+ "h": 45
+ },
+ "frame": {
+ "x": 111,
+ "y": 46,
+ "w": 38,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 4,
+ "w": 39,
+ "h": 43
+ },
+ "frame": {
+ "x": 149,
+ "y": 46,
+ "w": 39,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 4,
+ "w": 39,
+ "h": 43
+ },
+ "frame": {
+ "x": 149,
+ "y": 46,
+ "w": 39,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 4,
+ "w": 39,
+ "h": 43
+ },
+ "frame": {
+ "x": 188,
+ "y": 46,
+ "w": 39,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 4,
+ "w": 39,
+ "h": 43
+ },
+ "frame": {
+ "x": 188,
+ "y": 46,
+ "w": 39,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 227,
+ "y": 46,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 227,
+ "y": 46,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 4,
+ "w": 39,
+ "h": 43
+ },
+ "frame": {
+ "x": 263,
+ "y": 86,
+ "w": 39,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 4,
+ "w": 39,
+ "h": 43
+ },
+ "frame": {
+ "x": 263,
+ "y": 86,
+ "w": 39,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 36,
+ "h": 46
+ },
+ "frame": {
+ "x": 73,
+ "y": 235,
+ "w": 36,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 36,
+ "h": 46
+ },
+ "frame": {
+ "x": 73,
+ "y": 235,
+ "w": 36,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 109,
+ "y": 94,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 109,
+ "y": 94,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 109,
+ "y": 141,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 36,
+ "h": 47
+ },
+ "frame": {
+ "x": 109,
+ "y": 141,
+ "w": 36,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 36,
+ "h": 46
+ },
+ "frame": {
+ "x": 109,
+ "y": 188,
+ "w": 36,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 36,
+ "h": 46
+ },
+ "frame": {
+ "x": 109,
+ "y": 188,
+ "w": 36,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 2,
+ "w": 36,
+ "h": 45
+ },
+ "frame": {
+ "x": 109,
+ "y": 234,
+ "w": 36,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 2,
+ "w": 36,
+ "h": 45
+ },
+ "frame": {
+ "x": 109,
+ "y": 234,
+ "w": 36,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 3,
+ "w": 37,
+ "h": 44
+ },
+ "frame": {
+ "x": 145,
+ "y": 91,
+ "w": 37,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 3,
+ "w": 37,
+ "h": 44
+ },
+ "frame": {
+ "x": 145,
+ "y": 91,
+ "w": 37,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 4,
+ "w": 38,
+ "h": 43
+ },
+ "frame": {
+ "x": 145,
+ "y": 135,
+ "w": 38,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 4,
+ "w": 38,
+ "h": 43
+ },
+ "frame": {
+ "x": 145,
+ "y": 135,
+ "w": 38,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 4,
+ "w": 38,
+ "h": 43
+ },
+ "frame": {
+ "x": 145,
+ "y": 178,
+ "w": 38,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 4,
+ "w": 38,
+ "h": 43
+ },
+ "frame": {
+ "x": 145,
+ "y": 178,
+ "w": 38,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 4,
+ "w": 38,
+ "h": 43
+ },
+ "frame": {
+ "x": 145,
+ "y": 221,
+ "w": 38,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 4,
+ "w": 38,
+ "h": 43
+ },
+ "frame": {
+ "x": 145,
+ "y": 221,
+ "w": 38,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 7,
+ "w": 40,
+ "h": 40
+ },
+ "frame": {
+ "x": 182,
+ "y": 89,
+ "w": 40,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 7,
+ "w": 40,
+ "h": 40
+ },
+ "frame": {
+ "x": 182,
+ "y": 89,
+ "w": 40,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 41,
+ "h": 35
+ },
+ "frame": {
+ "x": 222,
+ "y": 93,
+ "w": 41,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 41,
+ "h": 35
+ },
+ "frame": {
+ "x": 222,
+ "y": 93,
+ "w": 41,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 4,
+ "w": 37,
+ "h": 43
+ },
+ "frame": {
+ "x": 183,
+ "y": 129,
+ "w": 37,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 4,
+ "w": 37,
+ "h": 43
+ },
+ "frame": {
+ "x": 183,
+ "y": 129,
+ "w": 37,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 4,
+ "w": 37,
+ "h": 43
+ },
+ "frame": {
+ "x": 183,
+ "y": 172,
+ "w": 37,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 4,
+ "w": 37,
+ "h": 43
+ },
+ "frame": {
+ "x": 183,
+ "y": 172,
+ "w": 37,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 7,
+ "w": 40,
+ "h": 40
+ },
+ "frame": {
+ "x": 183,
+ "y": 215,
+ "w": 40,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 7,
+ "w": 40,
+ "h": 40
+ },
+ "frame": {
+ "x": 183,
+ "y": 215,
+ "w": 40,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 12,
+ "w": 40,
+ "h": 35
+ },
+ "frame": {
+ "x": 145,
+ "y": 264,
+ "w": 40,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 12,
+ "w": 40,
+ "h": 35
+ },
+ "frame": {
+ "x": 145,
+ "y": 264,
+ "w": 40,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 7,
+ "w": 39,
+ "h": 40
+ },
+ "frame": {
+ "x": 185,
+ "y": 255,
+ "w": 39,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 7,
+ "w": 39,
+ "h": 40
+ },
+ "frame": {
+ "x": 185,
+ "y": 255,
+ "w": 39,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 13,
+ "w": 41,
+ "h": 34
+ },
+ "frame": {
+ "x": 222,
+ "y": 128,
+ "w": 41,
+ "h": 34
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 13,
+ "w": 41,
+ "h": 34
+ },
+ "frame": {
+ "x": 222,
+ "y": 128,
+ "w": 41,
+ "h": 34
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 7,
+ "w": 39,
+ "h": 40
+ },
+ "frame": {
+ "x": 263,
+ "y": 129,
+ "w": 39,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 7,
+ "w": 39,
+ "h": 40
+ },
+ "frame": {
+ "x": 263,
+ "y": 129,
+ "w": 39,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 7,
+ "w": 40,
+ "h": 40
+ },
+ "frame": {
+ "x": 220,
+ "y": 162,
+ "w": 40,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 7,
+ "w": 40,
+ "h": 40
+ },
+ "frame": {
+ "x": 220,
+ "y": 162,
+ "w": 40,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 7,
+ "w": 40,
+ "h": 40
+ },
+ "frame": {
+ "x": 260,
+ "y": 169,
+ "w": 40,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 7,
+ "w": 40,
+ "h": 40
+ },
+ "frame": {
+ "x": 260,
+ "y": 169,
+ "w": 40,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 7,
+ "w": 38,
+ "h": 40
+ },
+ "frame": {
+ "x": 223,
+ "y": 209,
+ "w": 38,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 7,
+ "w": 38,
+ "h": 40
+ },
+ "frame": {
+ "x": 223,
+ "y": 209,
+ "w": 38,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 7,
+ "w": 38,
+ "h": 40
+ },
+ "frame": {
+ "x": 261,
+ "y": 209,
+ "w": 38,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 7,
+ "w": 38,
+ "h": 40
+ },
+ "frame": {
+ "x": 261,
+ "y": 209,
+ "w": 38,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 8,
+ "w": 39,
+ "h": 39
+ },
+ "frame": {
+ "x": 224,
+ "y": 249,
+ "w": 39,
+ "h": 39
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 8,
+ "w": 39,
+ "h": 39
+ },
+ "frame": {
+ "x": 224,
+ "y": 249,
+ "w": 39,
+ "h": 39
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 12,
+ "w": 39,
+ "h": 35
+ },
+ "frame": {
+ "x": 263,
+ "y": 249,
+ "w": 39,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 12,
+ "w": 39,
+ "h": 35
+ },
+ "frame": {
+ "x": 263,
+ "y": 249,
+ "w": 39,
+ "h": 35
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:11d6f26f5786e76420a96085163ce189:617f0fbd4eb98368acc7dc3c1484aeb6:d7d9e845c71962a58076b5efe962284e$"
+ }
+}
diff --git a/public/images/pokemon/back/shiny/25-partner.png b/public/images/pokemon/back/shiny/25-partner.png
new file mode 100644
index 00000000000..f4fb2eab219
Binary files /dev/null and b/public/images/pokemon/back/shiny/25-partner.png differ
diff --git a/public/images/pokemon/back/shiny/357.png b/public/images/pokemon/back/shiny/357.png
index 0a2b28ab571..da2497041e4 100644
Binary files a/public/images/pokemon/back/shiny/357.png and b/public/images/pokemon/back/shiny/357.png differ
diff --git a/public/images/pokemon/back/shiny/431.json b/public/images/pokemon/back/shiny/431.json
index 93318f104cd..dc406e42b59 100644
--- a/public/images/pokemon/back/shiny/431.json
+++ b/public/images/pokemon/back/shiny/431.json
@@ -4,954 +4,114 @@
"image": "431.png",
"format": "RGBA8888",
"size": {
- "w": 425,
- "h": 425
+ "w": 442,
+ "h": 442
},
"scale": 1,
"frames": [
{
- "filename": "0103.png",
+ "filename": "0079.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
"x": 0,
- "y": 6,
- "w": 71,
+ "y": 11,
+ "w": 70,
"h": 53
},
"frame": {
- "x": 0,
- "y": 0,
- "w": 71,
+ "x": 1,
+ "y": 1,
+ "w": 70,
"h": 53
}
},
{
- "filename": "0104.png",
+ "filename": "0080.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 0,
- "y": 6,
- "w": 71,
- "h": 53
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 71,
- "h": 53
- }
- },
- {
- "filename": "0105.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
+ "x": 1,
+ "y": 11,
"w": 69,
"h": 53
},
"frame": {
- "x": 0,
- "y": 53,
+ "x": 1,
+ "y": 56,
"w": 69,
"h": 53
}
},
{
- "filename": "0106.png",
+ "filename": "0081.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 69,
- "h": 53
- },
- "frame": {
- "x": 0,
- "y": 53,
- "w": 69,
- "h": 53
- }
- },
- {
- "filename": "0107.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 5,
- "w": 65,
- "h": 54
- },
- "frame": {
- "x": 0,
- "y": 106,
- "w": 65,
- "h": 54
- }
- },
- {
- "filename": "0108.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 5,
- "w": 65,
- "h": 54
- },
- "frame": {
- "x": 0,
- "y": 106,
- "w": 65,
- "h": 54
- }
- },
- {
- "filename": "0101.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
"x": 5,
- "y": 7,
+ "y": 10,
+ "w": 65,
+ "h": 54
+ },
+ "frame": {
+ "x": 1,
+ "y": 111,
+ "w": 65,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 12,
"w": 66,
"h": 52
},
"frame": {
- "x": 71,
- "y": 0,
+ "x": 73,
+ "y": 1,
"w": 66,
"h": 52
}
},
- {
- "filename": "0102.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 7,
- "w": 66,
- "h": 52
- },
- "frame": {
- "x": 71,
- "y": 0,
- "w": 66,
- "h": 52
- }
- },
- {
- "filename": "0125.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 6,
- "w": 64,
- "h": 53
- },
- "frame": {
- "x": 0,
- "y": 160,
- "w": 64,
- "h": 53
- }
- },
- {
- "filename": "0126.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 6,
- "w": 64,
- "h": 53
- },
- "frame": {
- "x": 0,
- "y": 160,
- "w": 64,
- "h": 53
- }
- },
- {
- "filename": "0127.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 6,
- "w": 63,
- "h": 53
- },
- "frame": {
- "x": 0,
- "y": 213,
- "w": 63,
- "h": 53
- }
- },
- {
- "filename": "0128.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 6,
- "w": 63,
- "h": 53
- },
- "frame": {
- "x": 0,
- "y": 213,
- "w": 63,
- "h": 53
- }
- },
- {
- "filename": "0129.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 5,
- "w": 61,
- "h": 54
- },
- "frame": {
- "x": 0,
- "y": 266,
- "w": 61,
- "h": 54
- }
- },
- {
- "filename": "0130.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 5,
- "w": 61,
- "h": 54
- },
- "frame": {
- "x": 0,
- "y": 266,
- "w": 61,
- "h": 54
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 60,
- "h": 54
- },
- "frame": {
- "x": 0,
- "y": 320,
- "w": 60,
- "h": 54
- }
- },
- {
- "filename": "0047.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 60,
- "h": 54
- },
- "frame": {
- "x": 0,
- "y": 320,
- "w": 60,
- "h": 54
- }
- },
- {
- "filename": "0011.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 14,
- "y": 8,
- "w": 57,
- "h": 51
- },
- "frame": {
- "x": 0,
- "y": 374,
- "w": 57,
- "h": 51
- }
- },
- {
- "filename": "0055.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 14,
- "y": 8,
- "w": 57,
- "h": 51
- },
- "frame": {
- "x": 0,
- "y": 374,
- "w": 57,
- "h": 51
- }
- },
- {
- "filename": "0123.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 7,
- "w": 61,
- "h": 52
- },
- "frame": {
- "x": 137,
- "y": 0,
- "w": 61,
- "h": 52
- }
- },
- {
- "filename": "0124.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 7,
- "w": 61,
- "h": 52
- },
- "frame": {
- "x": 137,
- "y": 0,
- "w": 61,
- "h": 52
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 60,
- "h": 54
- },
- "frame": {
- "x": 198,
- "y": 0,
- "w": 60,
- "h": 54
- }
- },
- {
- "filename": "0048.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 60,
- "h": 54
- },
- "frame": {
- "x": 198,
- "y": 0,
- "w": 60,
- "h": 54
- }
- },
- {
- "filename": "0019.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 60,
- "h": 54
- },
- "frame": {
- "x": 258,
- "y": 0,
- "w": 60,
- "h": 54
- }
- },
- {
- "filename": "0020.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 60,
- "h": 54
- },
- "frame": {
- "x": 258,
- "y": 0,
- "w": 60,
- "h": 54
- }
- },
- {
- "filename": "0063.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 60,
- "h": 54
- },
- "frame": {
- "x": 258,
- "y": 0,
- "w": 60,
- "h": 54
- }
- },
- {
- "filename": "0064.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 60,
- "h": 54
- },
- "frame": {
- "x": 258,
- "y": 0,
- "w": 60,
- "h": 54
- }
- },
- {
- "filename": "0025.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 60,
- "h": 54
- },
- "frame": {
- "x": 318,
- "y": 0,
- "w": 60,
- "h": 54
- }
- },
- {
- "filename": "0069.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 60,
- "h": 54
- },
- "frame": {
- "x": 318,
- "y": 0,
- "w": 60,
- "h": 54
- }
- },
- {
- "filename": "0093.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 24,
- "y": 3,
- "w": 47,
- "h": 56
- },
- "frame": {
- "x": 378,
- "y": 0,
- "w": 47,
- "h": 56
- }
- },
- {
- "filename": "0094.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 24,
- "y": 3,
- "w": 47,
- "h": 56
- },
- "frame": {
- "x": 378,
- "y": 0,
- "w": 47,
- "h": 56
- }
- },
- {
- "filename": "0012.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 14,
- "y": 8,
- "w": 57,
- "h": 51
- },
- "frame": {
- "x": 57,
- "y": 374,
- "w": 57,
- "h": 51
- }
- },
- {
- "filename": "0056.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 14,
- "y": 8,
- "w": 57,
- "h": 51
- },
- "frame": {
- "x": 57,
- "y": 374,
- "w": 57,
- "h": 51
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
- },
- "frame": {
- "x": 60,
- "y": 320,
- "w": 59,
- "h": 54
- }
- },
- {
- "filename": "0021.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
- },
- "frame": {
- "x": 60,
- "y": 320,
- "w": 59,
- "h": 54
- }
- },
- {
- "filename": "0022.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
- },
- "frame": {
- "x": 60,
- "y": 320,
- "w": 59,
- "h": 54
- }
- },
- {
- "filename": "0023.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
- },
- "frame": {
- "x": 60,
- "y": 320,
- "w": 59,
- "h": 54
- }
- },
- {
- "filename": "0043.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
- },
- "frame": {
- "x": 60,
- "y": 320,
- "w": 59,
- "h": 54
- }
- },
- {
- "filename": "0044.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
- },
- "frame": {
- "x": 60,
- "y": 320,
- "w": 59,
- "h": 54
- }
- },
- {
- "filename": "0045.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
- },
- "frame": {
- "x": 60,
- "y": 320,
- "w": 59,
- "h": 54
- }
- },
- {
- "filename": "0065.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
- },
- "frame": {
- "x": 60,
- "y": 320,
- "w": 59,
- "h": 54
- }
- },
- {
- "filename": "0066.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
- },
- "frame": {
- "x": 60,
- "y": 320,
- "w": 59,
- "h": 54
- }
- },
- {
- "filename": "0067.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
- },
- "frame": {
- "x": 60,
- "y": 320,
- "w": 59,
- "h": 54
- }
- },
- {
- "filename": "0087.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
- },
- "frame": {
- "x": 60,
- "y": 320,
- "w": 59,
- "h": 54
- }
- },
- {
- "filename": "0088.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
- },
- "frame": {
- "x": 60,
- "y": 320,
- "w": 59,
- "h": 54
- }
- },
{
"filename": "0089.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
+ "x": 6,
+ "y": 11,
+ "w": 64,
+ "h": 53
},
"frame": {
- "x": 60,
- "y": 320,
- "w": 59,
- "h": 54
+ "x": 1,
+ "y": 167,
+ "w": 64,
+ "h": 53
}
},
{
@@ -960,522 +120,18 @@
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
- },
- "frame": {
- "x": 60,
- "y": 320,
- "w": 59,
- "h": 54
- }
- },
- {
- "filename": "0131.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
- },
- "frame": {
- "x": 60,
- "y": 320,
- "w": 59,
- "h": 54
- }
- },
- {
- "filename": "0132.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
- },
- "frame": {
- "x": 60,
- "y": 320,
- "w": 59,
- "h": 54
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
- },
- "frame": {
- "x": 61,
- "y": 266,
- "w": 59,
- "h": 54
- }
- },
- {
- "filename": "0024.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
- },
- "frame": {
- "x": 61,
- "y": 266,
- "w": 59,
- "h": 54
- }
- },
- {
- "filename": "0046.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
- },
- "frame": {
- "x": 61,
- "y": 266,
- "w": 59,
- "h": 54
- }
- },
- {
- "filename": "0068.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
- },
- "frame": {
- "x": 61,
- "y": 266,
- "w": 59,
- "h": 54
- }
- },
- {
- "filename": "0031.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 8,
- "w": 57,
- "h": 51
- },
- "frame": {
- "x": 114,
- "y": 374,
- "w": 57,
- "h": 51
- }
- },
- {
- "filename": "0075.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 8,
- "w": 57,
- "h": 51
- },
- "frame": {
- "x": 114,
- "y": 374,
- "w": 57,
- "h": 51
- }
- },
- {
- "filename": "0005.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 6,
- "w": 59,
+ "x": 7,
+ "y": 11,
+ "w": 63,
"h": 53
},
"frame": {
- "x": 63,
- "y": 213,
- "w": 59,
- "h": 53
- }
- },
- {
- "filename": "0049.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 6,
- "w": 59,
- "h": 53
- },
- "frame": {
- "x": 63,
- "y": 213,
- "w": 59,
- "h": 53
- }
- },
- {
- "filename": "0006.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 6,
- "w": 59,
- "h": 53
- },
- "frame": {
- "x": 64,
- "y": 160,
- "w": 59,
- "h": 53
- }
- },
- {
- "filename": "0050.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 6,
- "w": 59,
- "h": 53
- },
- "frame": {
- "x": 64,
- "y": 160,
- "w": 59,
- "h": 53
- }
- },
- {
- "filename": "0026.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 60,
- "h": 54
- },
- "frame": {
- "x": 65,
- "y": 106,
- "w": 60,
- "h": 54
- }
- },
- {
- "filename": "0070.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 60,
- "h": 54
- },
- "frame": {
- "x": 65,
- "y": 106,
- "w": 60,
- "h": 54
- }
- },
- {
- "filename": "0041.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 60,
- "h": 54
- },
- "frame": {
- "x": 71,
- "y": 52,
- "w": 60,
- "h": 54
- }
- },
- {
- "filename": "0042.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 60,
- "h": 54
- },
- "frame": {
- "x": 71,
- "y": 52,
- "w": 60,
- "h": 54
- }
- },
- {
- "filename": "0085.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 60,
- "h": 54
- },
- "frame": {
- "x": 71,
- "y": 52,
- "w": 60,
- "h": 54
- }
- },
- {
- "filename": "0086.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 60,
- "h": 54
- },
- "frame": {
- "x": 71,
- "y": 52,
- "w": 60,
- "h": 54
- }
- },
- {
- "filename": "0109.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
- },
- "frame": {
- "x": 131,
- "y": 52,
- "w": 59,
- "h": 54
- }
- },
- {
- "filename": "0110.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
- },
- "frame": {
- "x": 131,
- "y": 52,
- "w": 59,
- "h": 54
- }
- },
- {
- "filename": "0111.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
- },
- "frame": {
- "x": 131,
- "y": 52,
- "w": 59,
- "h": 54
- }
- },
- {
- "filename": "0112.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 59,
- "h": 54
- },
- "frame": {
- "x": 131,
- "y": 52,
- "w": 59,
- "h": 54
- }
- },
- {
- "filename": "0017.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 6,
- "w": 59,
- "h": 53
- },
- "frame": {
- "x": 125,
- "y": 106,
- "w": 59,
- "h": 53
- }
- },
- {
- "filename": "0061.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 6,
- "w": 59,
- "h": 53
- },
- "frame": {
- "x": 125,
- "y": 106,
- "w": 59,
+ "x": 1,
+ "y": 222,
+ "w": 63,
"h": 53
}
},
@@ -1485,166 +141,292 @@
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 19,
- "y": 5,
- "w": 52,
+ "x": 9,
+ "y": 10,
+ "w": 61,
"h": 54
},
"frame": {
- "x": 119,
- "y": 320,
- "w": 52,
+ "x": 1,
+ "y": 277,
+ "w": 61,
"h": 54
}
},
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 9,
+ "w": 59,
+ "h": 55
+ },
+ "frame": {
+ "x": 1,
+ "y": 333,
+ "w": 59,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 9,
+ "w": 59,
+ "h": 55
+ },
+ "frame": {
+ "x": 1,
+ "y": 333,
+ "w": 59,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 9,
+ "w": 59,
+ "h": 55
+ },
+ "frame": {
+ "x": 1,
+ "y": 333,
+ "w": 59,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 9,
+ "w": 59,
+ "h": 55
+ },
+ "frame": {
+ "x": 1,
+ "y": 333,
+ "w": 59,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 9,
+ "w": 59,
+ "h": 55
+ },
+ "frame": {
+ "x": 1,
+ "y": 333,
+ "w": 59,
+ "h": 55
+ }
+ },
{
"filename": "0092.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 19,
- "y": 5,
- "w": 52,
- "h": 54
+ "x": 11,
+ "y": 9,
+ "w": 59,
+ "h": 55
},
"frame": {
- "x": 119,
- "y": 320,
- "w": 52,
- "h": 54
+ "x": 1,
+ "y": 333,
+ "w": 59,
+ "h": 55
}
},
{
- "filename": "0113.png",
+ "filename": "0010.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 5,
- "w": 56,
- "h": 54
- },
- "frame": {
- "x": 120,
- "y": 266,
- "w": 56,
- "h": 54
- }
- },
- {
- "filename": "0114.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 5,
- "w": 56,
- "h": 54
- },
- "frame": {
- "x": 120,
- "y": 266,
- "w": 56,
- "h": 54
- }
- },
- {
- "filename": "0007.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
"x": 13,
- "y": 6,
- "w": 58,
- "h": 53
+ "y": 13,
+ "w": 57,
+ "h": 51
},
"frame": {
- "x": 122,
- "y": 213,
- "w": 58,
- "h": 53
+ "x": 1,
+ "y": 390,
+ "w": 57,
+ "h": 51
}
},
{
- "filename": "0051.png",
+ "filename": "0045.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
"x": 13,
- "y": 6,
- "w": 58,
- "h": 53
+ "y": 13,
+ "w": 57,
+ "h": 51
},
"frame": {
- "x": 122,
- "y": 213,
- "w": 58,
- "h": 53
+ "x": 1,
+ "y": 390,
+ "w": 57,
+ "h": 51
}
},
{
- "filename": "0008.png",
+ "filename": "0088.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 13,
- "y": 6,
- "w": 58,
+ "x": 9,
+ "y": 11,
+ "w": 61,
"h": 53
},
"frame": {
- "x": 123,
- "y": 160,
- "w": 58,
+ "x": 141,
+ "y": 1,
+ "w": 61,
"h": 53
}
},
{
- "filename": "0052.png",
+ "filename": "0002.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 13,
- "y": 6,
- "w": 58,
- "h": 53
+ "x": 11,
+ "y": 9,
+ "w": 59,
+ "h": 55
},
"frame": {
- "x": 123,
- "y": 160,
- "w": 58,
- "h": 53
+ "x": 204,
+ "y": 1,
+ "w": 59,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 9,
+ "w": 59,
+ "h": 55
+ },
+ "frame": {
+ "x": 204,
+ "y": 1,
+ "w": 59,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 9,
+ "w": 59,
+ "h": 55
+ },
+ "frame": {
+ "x": 265,
+ "y": 1,
+ "w": 59,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 9,
+ "w": 59,
+ "h": 55
+ },
+ "frame": {
+ "x": 265,
+ "y": 1,
+ "w": 59,
+ "h": 55
}
},
{
@@ -1653,81 +435,270 @@
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 12,
- "y": 6,
+ "x": 11,
+ "y": 9,
"w": 59,
- "h": 53
+ "h": 55
},
"frame": {
- "x": 190,
- "y": 54,
+ "x": 326,
+ "y": 1,
"w": 59,
- "h": 53
+ "h": 55
}
},
{
- "filename": "0062.png",
+ "filename": "0053.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 12,
- "y": 6,
+ "x": 11,
+ "y": 9,
"w": 59,
- "h": 53
+ "h": 55
},
"frame": {
- "x": 190,
- "y": 54,
+ "x": 326,
+ "y": 1,
"w": 59,
- "h": 53
+ "h": 55
}
},
{
- "filename": "0015.png",
+ "filename": "0011.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
"x": 13,
- "y": 6,
- "w": 58,
- "h": 53
+ "y": 13,
+ "w": 57,
+ "h": 51
},
"frame": {
- "x": 249,
- "y": 54,
- "w": 58,
- "h": 53
+ "x": 60,
+ "y": 390,
+ "w": 57,
+ "h": 51
}
},
{
- "filename": "0059.png",
+ "filename": "0046.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
"x": 13,
- "y": 6,
- "w": 58,
+ "y": 13,
+ "w": 57,
+ "h": 51
+ },
+ "frame": {
+ "x": 60,
+ "y": 390,
+ "w": 57,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 9,
+ "w": 59,
+ "h": 55
+ },
+ "frame": {
+ "x": 62,
+ "y": 333,
+ "w": 59,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 9,
+ "w": 59,
+ "h": 55
+ },
+ "frame": {
+ "x": 62,
+ "y": 333,
+ "w": 59,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 13,
+ "w": 57,
+ "h": 51
+ },
+ "frame": {
+ "x": 119,
+ "y": 390,
+ "w": 57,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 13,
+ "w": 57,
+ "h": 51
+ },
+ "frame": {
+ "x": 119,
+ "y": 390,
+ "w": 57,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 2,
+ "w": 52,
+ "h": 62
+ },
+ "frame": {
+ "x": 387,
+ "y": 1,
+ "w": 52,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 11,
+ "w": 59,
"h": 53
},
"frame": {
- "x": 249,
- "y": 54,
- "w": 58,
+ "x": 73,
+ "y": 55,
+ "w": 59,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 11,
+ "w": 59,
+ "h": 53
+ },
+ "frame": {
+ "x": 73,
+ "y": 55,
+ "w": 59,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 11,
+ "w": 59,
+ "h": 53
+ },
+ "frame": {
+ "x": 134,
+ "y": 56,
+ "w": 59,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 11,
+ "w": 59,
+ "h": 53
+ },
+ "frame": {
+ "x": 134,
+ "y": 56,
+ "w": 59,
"h": 53
}
},
@@ -1737,145 +708,145 @@
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 13,
- "y": 6,
- "w": 58,
+ "x": 11,
+ "y": 11,
+ "w": 59,
"h": 53
},
"frame": {
- "x": 307,
- "y": 54,
- "w": 58,
+ "x": 195,
+ "y": 58,
+ "w": 59,
"h": 53
}
},
{
- "filename": "0060.png",
+ "filename": "0051.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 13,
- "y": 6,
- "w": 58,
+ "x": 11,
+ "y": 11,
+ "w": 59,
"h": 53
},
"frame": {
- "x": 307,
- "y": 54,
- "w": 58,
+ "x": 195,
+ "y": 58,
+ "w": 59,
"h": 53
}
},
{
- "filename": "0009.png",
+ "filename": "0017.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 13,
- "y": 7,
- "w": 58,
- "h": 52
+ "x": 11,
+ "y": 11,
+ "w": 59,
+ "h": 53
},
"frame": {
- "x": 184,
- "y": 107,
- "w": 58,
- "h": 52
+ "x": 256,
+ "y": 58,
+ "w": 59,
+ "h": 53
}
},
{
- "filename": "0053.png",
+ "filename": "0052.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 13,
- "y": 7,
- "w": 58,
- "h": 52
+ "x": 11,
+ "y": 11,
+ "w": 59,
+ "h": 53
},
"frame": {
- "x": 184,
- "y": 107,
- "w": 58,
- "h": 52
+ "x": 256,
+ "y": 58,
+ "w": 59,
+ "h": 53
}
},
{
- "filename": "0010.png",
+ "filename": "0021.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 13,
- "y": 7,
- "w": 58,
- "h": 52
+ "x": 11,
+ "y": 9,
+ "w": 59,
+ "h": 55
},
"frame": {
- "x": 242,
- "y": 107,
- "w": 58,
- "h": 52
+ "x": 317,
+ "y": 58,
+ "w": 59,
+ "h": 55
}
},
{
- "filename": "0054.png",
+ "filename": "0056.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 13,
- "y": 7,
- "w": 58,
- "h": 52
+ "x": 11,
+ "y": 9,
+ "w": 59,
+ "h": 55
},
"frame": {
- "x": 242,
- "y": 107,
- "w": 58,
- "h": 52
+ "x": 317,
+ "y": 58,
+ "w": 59,
+ "h": 55
}
},
{
- "filename": "0013.png",
+ "filename": "0022.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 13,
- "y": 7,
- "w": 58,
- "h": 52
+ "x": 11,
+ "y": 11,
+ "w": 59,
+ "h": 53
},
"frame": {
- "x": 300,
- "y": 107,
- "w": 58,
- "h": 52
+ "x": 378,
+ "y": 65,
+ "w": 59,
+ "h": 53
}
},
{
@@ -1884,40 +855,40 @@
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 13,
- "y": 7,
- "w": 58,
- "h": 52
+ "x": 11,
+ "y": 11,
+ "w": 59,
+ "h": 53
},
"frame": {
- "x": 300,
- "y": 107,
- "w": 58,
- "h": 52
+ "x": 378,
+ "y": 65,
+ "w": 59,
+ "h": 53
}
},
{
- "filename": "0014.png",
+ "filename": "0023.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 13,
- "y": 7,
- "w": 58,
- "h": 52
+ "x": 11,
+ "y": 11,
+ "w": 59,
+ "h": 53
},
"frame": {
- "x": 181,
- "y": 159,
- "w": 58,
- "h": 52
+ "x": 72,
+ "y": 110,
+ "w": 59,
+ "h": 53
}
},
{
@@ -1926,40 +897,103 @@
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 13,
- "y": 7,
- "w": 58,
- "h": 52
+ "x": 11,
+ "y": 11,
+ "w": 59,
+ "h": 53
},
"frame": {
- "x": 181,
- "y": 159,
- "w": 58,
- "h": 52
+ "x": 72,
+ "y": 110,
+ "w": 59,
+ "h": 53
}
},
{
- "filename": "0027.png",
+ "filename": "0034.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 12,
- "y": 7,
- "w": 58,
- "h": 52
+ "x": 11,
+ "y": 11,
+ "w": 59,
+ "h": 53
},
"frame": {
- "x": 239,
- "y": 159,
- "w": 58,
- "h": 52
+ "x": 133,
+ "y": 111,
+ "w": 59,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 11,
+ "w": 59,
+ "h": 53
+ },
+ "frame": {
+ "x": 133,
+ "y": 111,
+ "w": 59,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 11,
+ "w": 59,
+ "h": 53
+ },
+ "frame": {
+ "x": 194,
+ "y": 113,
+ "w": 59,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 11,
+ "w": 59,
+ "h": 53
+ },
+ "frame": {
+ "x": 194,
+ "y": 113,
+ "w": 59,
+ "h": 53
}
},
{
@@ -1968,334 +1002,19 @@
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 12,
- "y": 7,
- "w": 58,
- "h": 52
+ "x": 11,
+ "y": 9,
+ "w": 59,
+ "h": 55
},
"frame": {
- "x": 239,
- "y": 159,
- "w": 58,
- "h": 52
- }
- },
- {
- "filename": "0028.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 7,
- "w": 58,
- "h": 52
- },
- "frame": {
- "x": 297,
- "y": 159,
- "w": 58,
- "h": 52
- }
- },
- {
- "filename": "0072.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 7,
- "w": 58,
- "h": 52
- },
- "frame": {
- "x": 297,
- "y": 159,
- "w": 58,
- "h": 52
- }
- },
- {
- "filename": "0039.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 7,
- "w": 58,
- "h": 52
- },
- "frame": {
- "x": 365,
- "y": 56,
- "w": 58,
- "h": 52
- }
- },
- {
- "filename": "0083.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 7,
- "w": 58,
- "h": 52
- },
- "frame": {
- "x": 365,
- "y": 56,
- "w": 58,
- "h": 52
- }
- },
- {
- "filename": "0040.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 7,
- "w": 58,
- "h": 52
- },
- "frame": {
- "x": 358,
- "y": 108,
- "w": 58,
- "h": 52
- }
- },
- {
- "filename": "0084.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 7,
- "w": 58,
- "h": 52
- },
- "frame": {
- "x": 358,
- "y": 108,
- "w": 58,
- "h": 52
- }
- },
- {
- "filename": "0029.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 7,
- "w": 57,
- "h": 52
- },
- "frame": {
- "x": 355,
- "y": 160,
- "w": 57,
- "h": 52
- }
- },
- {
- "filename": "0073.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 7,
- "w": 57,
- "h": 52
- },
- "frame": {
- "x": 355,
- "y": 160,
- "w": 57,
- "h": 52
- }
- },
- {
- "filename": "0117.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 23,
- "y": 0,
- "w": 48,
- "h": 59
- },
- "frame": {
- "x": 171,
- "y": 320,
- "w": 48,
- "h": 59
- }
- },
- {
- "filename": "0118.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 23,
- "y": 0,
- "w": 48,
- "h": 59
- },
- "frame": {
- "x": 171,
- "y": 320,
- "w": 48,
- "h": 59
- }
- },
- {
- "filename": "0030.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 7,
- "w": 57,
- "h": 52
- },
- "frame": {
- "x": 181,
- "y": 211,
- "w": 57,
- "h": 52
- }
- },
- {
- "filename": "0074.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 7,
- "w": 57,
- "h": 52
- },
- "frame": {
- "x": 181,
- "y": 211,
- "w": 57,
- "h": 52
- }
- },
- {
- "filename": "0037.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 7,
- "w": 57,
- "h": 52
- },
- "frame": {
- "x": 238,
- "y": 211,
- "w": 57,
- "h": 52
- }
- },
- {
- "filename": "0081.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 7,
- "w": 57,
- "h": 52
- },
- "frame": {
- "x": 238,
- "y": 211,
- "w": 57,
- "h": 52
- }
- },
- {
- "filename": "0038.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 7,
- "w": 57,
- "h": 52
- },
- "frame": {
- "x": 295,
- "y": 211,
- "w": 57,
- "h": 52
+ "x": 255,
+ "y": 113,
+ "w": 59,
+ "h": 55
}
},
{
@@ -2304,18 +1023,270 @@
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 13,
- "y": 7,
- "w": 57,
+ "x": 11,
+ "y": 9,
+ "w": 59,
+ "h": 55
+ },
+ "frame": {
+ "x": 316,
+ "y": 115,
+ "w": 59,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 11,
+ "w": 58,
+ "h": 53
+ },
+ "frame": {
+ "x": 377,
+ "y": 120,
+ "w": 58,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 11,
+ "w": 58,
+ "h": 53
+ },
+ "frame": {
+ "x": 377,
+ "y": 120,
+ "w": 58,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 11,
+ "w": 58,
+ "h": 53
+ },
+ "frame": {
+ "x": 68,
+ "y": 165,
+ "w": 58,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 11,
+ "w": 58,
+ "h": 53
+ },
+ "frame": {
+ "x": 68,
+ "y": 165,
+ "w": 58,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 11,
+ "w": 58,
+ "h": 53
+ },
+ "frame": {
+ "x": 128,
+ "y": 166,
+ "w": 58,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 11,
+ "w": 58,
+ "h": 53
+ },
+ "frame": {
+ "x": 128,
+ "y": 166,
+ "w": 58,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 11,
+ "w": 58,
+ "h": 53
+ },
+ "frame": {
+ "x": 188,
+ "y": 168,
+ "w": 58,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 11,
+ "w": 58,
+ "h": 53
+ },
+ "frame": {
+ "x": 188,
+ "y": 168,
+ "w": 58,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 12,
+ "w": 58,
"h": 52
},
"frame": {
- "x": 295,
- "y": 211,
- "w": 57,
+ "x": 248,
+ "y": 170,
+ "w": 58,
+ "h": 52
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 12,
+ "w": 58,
+ "h": 52
+ },
+ "frame": {
+ "x": 248,
+ "y": 170,
+ "w": 58,
+ "h": 52
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 12,
+ "w": 58,
+ "h": 52
+ },
+ "frame": {
+ "x": 308,
+ "y": 172,
+ "w": 58,
+ "h": 52
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 12,
+ "w": 58,
+ "h": 52
+ },
+ "frame": {
+ "x": 308,
+ "y": 172,
+ "w": 58,
"h": 52
}
},
@@ -2325,375 +1296,39 @@
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 13,
- "y": 8,
- "w": 57,
- "h": 51
- },
- "frame": {
- "x": 352,
- "y": 212,
- "w": 57,
- "h": 51
- }
- },
- {
- "filename": "0076.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 8,
- "w": 57,
- "h": 51
- },
- "frame": {
- "x": 352,
- "y": 212,
- "w": 57,
- "h": 51
- }
- },
- {
- "filename": "0115.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 19,
- "y": 2,
- "w": 52,
- "h": 57
- },
- "frame": {
- "x": 180,
- "y": 263,
- "w": 52,
- "h": 57
- }
- },
- {
- "filename": "0116.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 19,
- "y": 2,
- "w": 52,
- "h": 57
- },
- "frame": {
- "x": 180,
- "y": 263,
- "w": 52,
- "h": 57
- }
- },
- {
- "filename": "0099.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 14,
- "y": 7,
- "w": 57,
+ "x": 12,
+ "y": 12,
+ "w": 58,
"h": 52
},
"frame": {
- "x": 232,
- "y": 263,
- "w": 57,
+ "x": 368,
+ "y": 175,
+ "w": 58,
"h": 52
}
},
{
- "filename": "0100.png",
+ "filename": "0067.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 14,
- "y": 7,
- "w": 57,
+ "x": 12,
+ "y": 12,
+ "w": 58,
"h": 52
},
"frame": {
- "x": 232,
- "y": 263,
- "w": 57,
- "h": 52
- }
- },
- {
- "filename": "0035.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 8,
- "w": 57,
- "h": 51
- },
- "frame": {
- "x": 289,
- "y": 263,
- "w": 57,
- "h": 51
- }
- },
- {
- "filename": "0079.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 8,
- "w": 57,
- "h": 51
- },
- "frame": {
- "x": 289,
- "y": 263,
- "w": 57,
- "h": 51
- }
- },
- {
- "filename": "0036.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 8,
- "w": 57,
- "h": 51
- },
- "frame": {
- "x": 346,
- "y": 263,
- "w": 57,
- "h": 51
- }
- },
- {
- "filename": "0080.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 8,
- "w": 57,
- "h": 51
- },
- "frame": {
- "x": 346,
- "y": 263,
- "w": 57,
- "h": 51
- }
- },
- {
- "filename": "0095.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 27,
- "y": 2,
- "w": 45,
- "h": 57
- },
- "frame": {
- "x": 219,
- "y": 320,
- "w": 45,
- "h": 57
- }
- },
- {
- "filename": "0096.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 27,
- "y": 2,
- "w": 45,
- "h": 57
- },
- "frame": {
- "x": 219,
- "y": 320,
- "w": 45,
- "h": 57
- }
- },
- {
- "filename": "0097.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 23,
- "y": 3,
- "w": 48,
- "h": 56
- },
- "frame": {
- "x": 264,
- "y": 315,
- "w": 48,
- "h": 56
- }
- },
- {
- "filename": "0098.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 23,
- "y": 3,
- "w": 48,
- "h": 56
- },
- "frame": {
- "x": 264,
- "y": 315,
- "w": 48,
- "h": 56
- }
- },
- {
- "filename": "0119.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 3,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 312,
- "y": 314,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0120.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 3,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 312,
- "y": 314,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0121.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 14,
- "y": 7,
- "w": 56,
- "h": 52
- },
- "frame": {
- "x": 365,
- "y": 314,
- "w": 56,
- "h": 52
- }
- },
- {
- "filename": "0122.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 59
- },
- "spriteSourceSize": {
- "x": 14,
- "y": 7,
- "w": 56,
- "h": 52
- },
- "frame": {
- "x": 365,
- "y": 314,
- "w": 56,
+ "x": 368,
+ "y": 175,
+ "w": 58,
"h": 52
}
},
@@ -2703,19 +1338,40 @@
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 14,
- "y": 9,
- "w": 56,
- "h": 50
+ "x": 12,
+ "y": 12,
+ "w": 58,
+ "h": 52
},
"frame": {
- "x": 365,
- "y": 366,
- "w": 56,
- "h": 50
+ "x": 67,
+ "y": 220,
+ "w": 58,
+ "h": 52
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 12,
+ "w": 58,
+ "h": 52
+ },
+ "frame": {
+ "x": 67,
+ "y": 220,
+ "w": 58,
+ "h": 52
}
},
{
@@ -2724,62 +1380,566 @@
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 7,
+ "w": 57,
+ "h": 57
+ },
+ "frame": {
+ "x": 66,
+ "y": 274,
+ "w": 57,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 12,
+ "w": 57,
+ "h": 52
+ },
+ "frame": {
+ "x": 127,
+ "y": 221,
+ "w": 57,
+ "h": 52
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 12,
+ "w": 57,
+ "h": 52
+ },
+ "frame": {
+ "x": 127,
+ "y": 221,
+ "w": 57,
+ "h": 52
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 7,
+ "w": 57,
+ "h": 57
+ },
+ "frame": {
+ "x": 125,
+ "y": 275,
+ "w": 57,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 12,
+ "w": 57,
+ "h": 52
+ },
+ "frame": {
+ "x": 123,
+ "y": 334,
+ "w": 57,
+ "h": 52
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 12,
+ "w": 57,
+ "h": 52
+ },
+ "frame": {
+ "x": 123,
+ "y": 334,
+ "w": 57,
+ "h": 52
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 12,
+ "w": 57,
+ "h": 52
+ },
+ "frame": {
+ "x": 186,
+ "y": 223,
+ "w": 57,
+ "h": 52
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 12,
+ "w": 57,
+ "h": 52
+ },
+ "frame": {
+ "x": 186,
+ "y": 223,
+ "w": 57,
+ "h": 52
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
},
"spriteSourceSize": {
"x": 14,
- "y": 9,
+ "y": 6,
+ "w": 56,
+ "h": 58
+ },
+ "frame": {
+ "x": 184,
+ "y": 277,
+ "w": 56,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 12,
+ "w": 57,
+ "h": 52
+ },
+ "frame": {
+ "x": 245,
+ "y": 224,
+ "w": 57,
+ "h": 52
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 12,
+ "w": 57,
+ "h": 52
+ },
+ "frame": {
+ "x": 245,
+ "y": 224,
+ "w": 57,
+ "h": 52
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 3,
+ "w": 52,
+ "h": 61
+ },
+ "frame": {
+ "x": 242,
+ "y": 278,
+ "w": 52,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 13,
+ "w": 57,
+ "h": 51
+ },
+ "frame": {
+ "x": 182,
+ "y": 337,
+ "w": 57,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 13,
+ "w": 57,
+ "h": 51
+ },
+ "frame": {
+ "x": 182,
+ "y": 337,
+ "w": 57,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 13,
+ "w": 57,
+ "h": 51
+ },
+ "frame": {
+ "x": 178,
+ "y": 390,
+ "w": 57,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 13,
+ "w": 57,
+ "h": 51
+ },
+ "frame": {
+ "x": 178,
+ "y": 390,
+ "w": 57,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 13,
+ "w": 57,
+ "h": 51
+ },
+ "frame": {
+ "x": 237,
+ "y": 390,
+ "w": 57,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 13,
+ "w": 57,
+ "h": 51
+ },
+ "frame": {
+ "x": 237,
+ "y": 390,
+ "w": 57,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 14,
"w": 56,
"h": 50
},
"frame": {
- "x": 365,
- "y": 366,
+ "x": 304,
+ "y": 226,
"w": 56,
"h": 50
}
},
{
- "filename": "0034.png",
+ "filename": "0063.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 14,
- "y": 9,
+ "x": 13,
+ "y": 14,
"w": 56,
"h": 50
},
"frame": {
- "x": 264,
- "y": 371,
+ "x": 304,
+ "y": 226,
"w": 56,
"h": 50
}
},
{
- "filename": "0078.png",
+ "filename": "0073.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 59
+ "h": 64
},
"spriteSourceSize": {
- "x": 14,
- "y": 9,
+ "x": 19,
+ "y": 6,
+ "w": 51,
+ "h": 58
+ },
+ "frame": {
+ "x": 296,
+ "y": 278,
+ "w": 51,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 14,
"w": 56,
"h": 50
},
"frame": {
- "x": 264,
- "y": 371,
+ "x": 362,
+ "y": 229,
"w": 56,
"h": 50
}
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 14,
+ "w": 56,
+ "h": 50
+ },
+ "frame": {
+ "x": 362,
+ "y": 229,
+ "w": 56,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 22,
+ "y": 5,
+ "w": 48,
+ "h": 59
+ },
+ "frame": {
+ "x": 349,
+ "y": 281,
+ "w": 48,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 23,
+ "y": 0,
+ "w": 47,
+ "h": 64
+ },
+ "frame": {
+ "x": 296,
+ "y": 338,
+ "w": 47,
+ "h": 64
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 23,
+ "y": 5,
+ "w": 47,
+ "h": 59
+ },
+ "frame": {
+ "x": 345,
+ "y": 342,
+ "w": 47,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 27,
+ "y": 7,
+ "w": 45,
+ "h": 57
+ },
+ "frame": {
+ "x": 394,
+ "y": 342,
+ "w": 45,
+ "h": 57
+ }
}
]
}
@@ -2787,6 +1947,6 @@
"meta": {
"app": "https://www.codeandweb.com/texturepacker",
"version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:9ebc8034f2bcafe3ce6ab17b95a0f671:79e5c7024ab4d617b896435d49ee6160:7586c0ba0fc3c95eb3d51f575fb44867$"
+ "smartupdate": "$TexturePacker:SmartUpdate:e3e0553fc99b75c9f0a499716eabc86f:42d213ec7c63d2c551ed86c1abf4ffa6:7586c0ba0fc3c95eb3d51f575fb44867$"
}
}
diff --git a/public/images/pokemon/back/shiny/431.png b/public/images/pokemon/back/shiny/431.png
index e44ada40ef6..26248938782 100644
Binary files a/public/images/pokemon/back/shiny/431.png and b/public/images/pokemon/back/shiny/431.png differ
diff --git a/public/images/pokemon/back/shiny/569-gigantamax.png b/public/images/pokemon/back/shiny/569-gigantamax.png
index 4442a2e020c..743fe085fa5 100644
Binary files a/public/images/pokemon/back/shiny/569-gigantamax.png and b/public/images/pokemon/back/shiny/569-gigantamax.png differ
diff --git a/public/images/pokemon/back/shiny/772.png b/public/images/pokemon/back/shiny/772.png
index 406c25866ac..f999ba8ec01 100644
Binary files a/public/images/pokemon/back/shiny/772.png and b/public/images/pokemon/back/shiny/772.png differ
diff --git a/public/images/pokemon/back/shiny/773-bug.png b/public/images/pokemon/back/shiny/773-bug.png
index 4ab6411d054..6e7d76f029a 100644
Binary files a/public/images/pokemon/back/shiny/773-bug.png and b/public/images/pokemon/back/shiny/773-bug.png differ
diff --git a/public/images/pokemon/back/shiny/773-dark.png b/public/images/pokemon/back/shiny/773-dark.png
index 1aef208fdc9..3f663cedd5a 100644
Binary files a/public/images/pokemon/back/shiny/773-dark.png and b/public/images/pokemon/back/shiny/773-dark.png differ
diff --git a/public/images/pokemon/back/shiny/773-dragon.png b/public/images/pokemon/back/shiny/773-dragon.png
index ce056590dcb..1aea7b2e09b 100644
Binary files a/public/images/pokemon/back/shiny/773-dragon.png and b/public/images/pokemon/back/shiny/773-dragon.png differ
diff --git a/public/images/pokemon/back/shiny/773-electric.png b/public/images/pokemon/back/shiny/773-electric.png
index dec3a44b42f..a55ed64866e 100644
Binary files a/public/images/pokemon/back/shiny/773-electric.png and b/public/images/pokemon/back/shiny/773-electric.png differ
diff --git a/public/images/pokemon/back/shiny/773-fairy.png b/public/images/pokemon/back/shiny/773-fairy.png
index 3957991135c..5e4bde74525 100644
Binary files a/public/images/pokemon/back/shiny/773-fairy.png and b/public/images/pokemon/back/shiny/773-fairy.png differ
diff --git a/public/images/pokemon/back/shiny/773-fighting.png b/public/images/pokemon/back/shiny/773-fighting.png
index 27d4827da4e..f8d57df9f70 100644
Binary files a/public/images/pokemon/back/shiny/773-fighting.png and b/public/images/pokemon/back/shiny/773-fighting.png differ
diff --git a/public/images/pokemon/back/shiny/773-fire.png b/public/images/pokemon/back/shiny/773-fire.png
index 336df60c903..f2d365f7972 100644
Binary files a/public/images/pokemon/back/shiny/773-fire.png and b/public/images/pokemon/back/shiny/773-fire.png differ
diff --git a/public/images/pokemon/back/shiny/773-flying.png b/public/images/pokemon/back/shiny/773-flying.png
index b6c0ca53aef..b74b047884a 100644
Binary files a/public/images/pokemon/back/shiny/773-flying.png and b/public/images/pokemon/back/shiny/773-flying.png differ
diff --git a/public/images/pokemon/back/shiny/773-ghost.png b/public/images/pokemon/back/shiny/773-ghost.png
index af61ad8c6e8..23a12fad630 100644
Binary files a/public/images/pokemon/back/shiny/773-ghost.png and b/public/images/pokemon/back/shiny/773-ghost.png differ
diff --git a/public/images/pokemon/back/shiny/773-grass.png b/public/images/pokemon/back/shiny/773-grass.png
index 44778764ce0..2e33c6eeffc 100644
Binary files a/public/images/pokemon/back/shiny/773-grass.png and b/public/images/pokemon/back/shiny/773-grass.png differ
diff --git a/public/images/pokemon/back/shiny/773-ground.png b/public/images/pokemon/back/shiny/773-ground.png
index 4d592589fab..61448499f81 100644
Binary files a/public/images/pokemon/back/shiny/773-ground.png and b/public/images/pokemon/back/shiny/773-ground.png differ
diff --git a/public/images/pokemon/back/shiny/773-ice.png b/public/images/pokemon/back/shiny/773-ice.png
index 7be5c340302..bb267ca8c5a 100644
Binary files a/public/images/pokemon/back/shiny/773-ice.png and b/public/images/pokemon/back/shiny/773-ice.png differ
diff --git a/public/images/pokemon/back/shiny/773-poison.png b/public/images/pokemon/back/shiny/773-poison.png
index 50c2db9ac38..ac1ae49957d 100644
Binary files a/public/images/pokemon/back/shiny/773-poison.png and b/public/images/pokemon/back/shiny/773-poison.png differ
diff --git a/public/images/pokemon/back/shiny/773-psychic.png b/public/images/pokemon/back/shiny/773-psychic.png
index ed7d2db0296..757f747f8c7 100644
Binary files a/public/images/pokemon/back/shiny/773-psychic.png and b/public/images/pokemon/back/shiny/773-psychic.png differ
diff --git a/public/images/pokemon/back/shiny/773-rock.png b/public/images/pokemon/back/shiny/773-rock.png
index 60a9159c915..a8ef40d4070 100644
Binary files a/public/images/pokemon/back/shiny/773-rock.png and b/public/images/pokemon/back/shiny/773-rock.png differ
diff --git a/public/images/pokemon/back/shiny/773-steel.png b/public/images/pokemon/back/shiny/773-steel.png
index eadd4b9332b..37aabe131e2 100644
Binary files a/public/images/pokemon/back/shiny/773-steel.png and b/public/images/pokemon/back/shiny/773-steel.png differ
diff --git a/public/images/pokemon/back/shiny/773-water.png b/public/images/pokemon/back/shiny/773-water.png
index 56125cba8d2..a4660711555 100644
Binary files a/public/images/pokemon/back/shiny/773-water.png and b/public/images/pokemon/back/shiny/773-water.png differ
diff --git a/public/images/pokemon/back/shiny/773.png b/public/images/pokemon/back/shiny/773.png
index db3024953df..6dba183d9d2 100644
Binary files a/public/images/pokemon/back/shiny/773.png and b/public/images/pokemon/back/shiny/773.png differ
diff --git a/public/images/pokemon/back/shiny/774.json b/public/images/pokemon/back/shiny/774.json
index cabd0eb027b..7643e0ccc87 100644
--- a/public/images/pokemon/back/shiny/774.json
+++ b/public/images/pokemon/back/shiny/774.json
@@ -1,41 +1,41 @@
-{
- "textures": [
- {
- "image": "774.png",
- "format": "RGBA8888",
- "size": {
- "w": 37,
- "h": 37
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 37,
- "h": 35
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 37,
- "h": 35
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 37,
- "h": 35
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:fa61a53a0684a1d00e0ed5d6737743af:3e6463caf33bbb58cfba4bd9c20890aa:37281ac0aa1e619ef385b889b64064b7$"
- }
-}
+{
+ "textures": [
+ {
+ "image": "774.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 37,
+ "h": 37
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 37,
+ "h": 37
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 37,
+ "h": 37
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 37,
+ "h": 37
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:241dff4083e172e8503b54a7f0210f8d:982b194223ffeef2ba672b3c5979a426:37281ac0aa1e619ef385b889b64064b7$"
+ }
+}
diff --git a/public/images/pokemon/back/shiny/774.png b/public/images/pokemon/back/shiny/774.png
index 3f91ba876a4..6f93da7a00d 100644
Binary files a/public/images/pokemon/back/shiny/774.png and b/public/images/pokemon/back/shiny/774.png differ
diff --git a/public/images/pokemon/back/shiny/778-disguised.json b/public/images/pokemon/back/shiny/778-disguised.json
new file mode 100644
index 00000000000..5e6ab612903
--- /dev/null
+++ b/public/images/pokemon/back/shiny/778-disguised.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "778-disguised.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 51,
+ "h": 51
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 37,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 37,
+ "h": 51
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 37,
+ "h": 51
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:667795c7afe0960cbc37c9f5f7807343:c0cb6b58a183c2e5983b55f272a110e1:92ecadef6e0cb53020b8cd41fbeaf2cd$"
+ }
+}
diff --git a/public/images/pokemon/back/shiny/778.png b/public/images/pokemon/back/shiny/778-disguised.png
similarity index 100%
rename from public/images/pokemon/back/shiny/778.png
rename to public/images/pokemon/back/shiny/778-disguised.png
diff --git a/public/images/pokemon/back/shiny/778.json b/public/images/pokemon/back/shiny/778.json
deleted file mode 100644
index b4a769a5fcc..00000000000
--- a/public/images/pokemon/back/shiny/778.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "textures": [
- {
- "image": "778.png",
- "format": "RGBA8888",
- "size": {
- "w": 51,
- "h": 51
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 37,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 37,
- "h": 51
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 37,
- "h": 51
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:667795c7afe0960cbc37c9f5f7807343:c0cb6b58a183c2e5983b55f272a110e1:92ecadef6e0cb53020b8cd41fbeaf2cd$"
- }
-}
diff --git a/public/images/pokemon/back/shiny/818-gigantamax.png b/public/images/pokemon/back/shiny/818-gigantamax.png
index 282a228cab4..224858fc0be 100644
Binary files a/public/images/pokemon/back/shiny/818-gigantamax.png and b/public/images/pokemon/back/shiny/818-gigantamax.png differ
diff --git a/public/images/pokemon/back/shiny/974.png b/public/images/pokemon/back/shiny/974.png
index 1f4576d67c9..c6ea8cac05a 100644
Binary files a/public/images/pokemon/back/shiny/974.png and b/public/images/pokemon/back/shiny/974.png differ
diff --git a/public/images/pokemon/back/shiny/975.png b/public/images/pokemon/back/shiny/975.png
index d169b5a98e9..a5e72e739ec 100644
Binary files a/public/images/pokemon/back/shiny/975.png and b/public/images/pokemon/back/shiny/975.png differ
diff --git a/public/images/pokemon/back/shiny/female/25-partner.json b/public/images/pokemon/back/shiny/female/25-partner.json
new file mode 100644
index 00000000000..6d76db3b6df
--- /dev/null
+++ b/public/images/pokemon/back/shiny/female/25-partner.json
@@ -0,0 +1,2456 @@
+{
+ "textures": [
+ {
+ "image": "25-partner.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 309,
+ "h": 309
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 40,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 47,
+ "w": 40,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 40,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 47,
+ "w": 40,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 40,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 47,
+ "w": 40,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 38,
+ "h": 47
+ },
+ "frame": {
+ "x": 41,
+ "y": 0,
+ "w": 38,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 38,
+ "h": 47
+ },
+ "frame": {
+ "x": 41,
+ "y": 0,
+ "w": 38,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 38,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 94,
+ "w": 38,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 38,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 94,
+ "w": 38,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 40,
+ "y": 47,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 40,
+ "y": 47,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 40,
+ "y": 47,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 40,
+ "y": 47,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 40,
+ "y": 47,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 40,
+ "y": 47,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 40,
+ "y": 47,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 40,
+ "y": 47,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 40,
+ "y": 47,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 40,
+ "y": 47,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 40,
+ "y": 47,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 40,
+ "y": 47,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 40,
+ "y": 47,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 38,
+ "h": 46
+ },
+ "frame": {
+ "x": 79,
+ "y": 0,
+ "w": 38,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 38,
+ "h": 46
+ },
+ "frame": {
+ "x": 79,
+ "y": 0,
+ "w": 38,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 38,
+ "h": 46
+ },
+ "frame": {
+ "x": 0,
+ "y": 141,
+ "w": 38,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 38,
+ "h": 46
+ },
+ "frame": {
+ "x": 0,
+ "y": 141,
+ "w": 38,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 38,
+ "y": 94,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 38,
+ "y": 94,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 38,
+ "h": 46
+ },
+ "frame": {
+ "x": 117,
+ "y": 0,
+ "w": 38,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 38,
+ "h": 46
+ },
+ "frame": {
+ "x": 117,
+ "y": 0,
+ "w": 38,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 38,
+ "h": 46
+ },
+ "frame": {
+ "x": 0,
+ "y": 187,
+ "w": 38,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 38,
+ "h": 46
+ },
+ "frame": {
+ "x": 0,
+ "y": 187,
+ "w": 38,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 38,
+ "y": 141,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 38,
+ "y": 141,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 233,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 233,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 38,
+ "h": 46
+ },
+ "frame": {
+ "x": 155,
+ "y": 0,
+ "w": 38,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 38,
+ "h": 46
+ },
+ "frame": {
+ "x": 155,
+ "y": 0,
+ "w": 38,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 38,
+ "h": 46
+ },
+ "frame": {
+ "x": 193,
+ "y": 0,
+ "w": 38,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 38,
+ "h": 46
+ },
+ "frame": {
+ "x": 193,
+ "y": 0,
+ "w": 38,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 38,
+ "h": 46
+ },
+ "frame": {
+ "x": 231,
+ "y": 0,
+ "w": 38,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 38,
+ "h": 46
+ },
+ "frame": {
+ "x": 231,
+ "y": 0,
+ "w": 38,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 40,
+ "h": 43
+ },
+ "frame": {
+ "x": 269,
+ "y": 0,
+ "w": 40,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 40,
+ "h": 43
+ },
+ "frame": {
+ "x": 269,
+ "y": 0,
+ "w": 40,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 40,
+ "h": 43
+ },
+ "frame": {
+ "x": 269,
+ "y": 43,
+ "w": 40,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 40,
+ "h": 43
+ },
+ "frame": {
+ "x": 269,
+ "y": 43,
+ "w": 40,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 38,
+ "y": 188,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 38,
+ "y": 188,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 38,
+ "h": 46
+ },
+ "frame": {
+ "x": 37,
+ "y": 234,
+ "w": 38,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 38,
+ "h": 46
+ },
+ "frame": {
+ "x": 37,
+ "y": 234,
+ "w": 38,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 75,
+ "y": 94,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 75,
+ "y": 94,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 75,
+ "y": 141,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 75,
+ "y": 141,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 77,
+ "y": 47,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 77,
+ "y": 47,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 75,
+ "y": 188,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 75,
+ "y": 188,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 39,
+ "h": 45
+ },
+ "frame": {
+ "x": 114,
+ "y": 46,
+ "w": 39,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 39,
+ "h": 45
+ },
+ "frame": {
+ "x": 114,
+ "y": 46,
+ "w": 39,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 40,
+ "h": 43
+ },
+ "frame": {
+ "x": 153,
+ "y": 46,
+ "w": 40,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 40,
+ "h": 43
+ },
+ "frame": {
+ "x": 153,
+ "y": 46,
+ "w": 40,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 40,
+ "h": 43
+ },
+ "frame": {
+ "x": 193,
+ "y": 46,
+ "w": 40,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 40,
+ "h": 43
+ },
+ "frame": {
+ "x": 193,
+ "y": 46,
+ "w": 40,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 75,
+ "y": 235,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 75,
+ "y": 235,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 112,
+ "y": 94,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 112,
+ "y": 94,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 112,
+ "y": 141,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 47
+ },
+ "frame": {
+ "x": 112,
+ "y": 141,
+ "w": 37,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 112,
+ "y": 188,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 112,
+ "y": 188,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 112,
+ "y": 234,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 112,
+ "y": 234,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 2,
+ "w": 37,
+ "h": 45
+ },
+ "frame": {
+ "x": 149,
+ "y": 91,
+ "w": 37,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 2,
+ "w": 37,
+ "h": 45
+ },
+ "frame": {
+ "x": 149,
+ "y": 91,
+ "w": 37,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 40,
+ "h": 43
+ },
+ "frame": {
+ "x": 186,
+ "y": 89,
+ "w": 40,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 40,
+ "h": 43
+ },
+ "frame": {
+ "x": 186,
+ "y": 89,
+ "w": 40,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 38,
+ "h": 44
+ },
+ "frame": {
+ "x": 149,
+ "y": 136,
+ "w": 38,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 38,
+ "h": 44
+ },
+ "frame": {
+ "x": 149,
+ "y": 136,
+ "w": 38,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 4,
+ "w": 39,
+ "h": 43
+ },
+ "frame": {
+ "x": 149,
+ "y": 180,
+ "w": 39,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 4,
+ "w": 39,
+ "h": 43
+ },
+ "frame": {
+ "x": 149,
+ "y": 180,
+ "w": 39,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 4,
+ "w": 39,
+ "h": 43
+ },
+ "frame": {
+ "x": 149,
+ "y": 223,
+ "w": 39,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 4,
+ "w": 39,
+ "h": 43
+ },
+ "frame": {
+ "x": 149,
+ "y": 223,
+ "w": 39,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 4,
+ "w": 39,
+ "h": 43
+ },
+ "frame": {
+ "x": 149,
+ "y": 266,
+ "w": 39,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 4,
+ "w": 39,
+ "h": 43
+ },
+ "frame": {
+ "x": 149,
+ "y": 266,
+ "w": 39,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 4,
+ "w": 38,
+ "h": 43
+ },
+ "frame": {
+ "x": 187,
+ "y": 132,
+ "w": 38,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 4,
+ "w": 38,
+ "h": 43
+ },
+ "frame": {
+ "x": 187,
+ "y": 132,
+ "w": 38,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 4,
+ "w": 38,
+ "h": 43
+ },
+ "frame": {
+ "x": 188,
+ "y": 175,
+ "w": 38,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 4,
+ "w": 38,
+ "h": 43
+ },
+ "frame": {
+ "x": 188,
+ "y": 175,
+ "w": 38,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 7,
+ "w": 41,
+ "h": 40
+ },
+ "frame": {
+ "x": 188,
+ "y": 218,
+ "w": 41,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 7,
+ "w": 41,
+ "h": 40
+ },
+ "frame": {
+ "x": 188,
+ "y": 218,
+ "w": 41,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 7,
+ "w": 41,
+ "h": 40
+ },
+ "frame": {
+ "x": 188,
+ "y": 258,
+ "w": 41,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 7,
+ "w": 41,
+ "h": 40
+ },
+ "frame": {
+ "x": 188,
+ "y": 258,
+ "w": 41,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 7,
+ "w": 40,
+ "h": 40
+ },
+ "frame": {
+ "x": 226,
+ "y": 89,
+ "w": 40,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 7,
+ "w": 40,
+ "h": 40
+ },
+ "frame": {
+ "x": 226,
+ "y": 89,
+ "w": 40,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 7,
+ "w": 41,
+ "h": 40
+ },
+ "frame": {
+ "x": 266,
+ "y": 86,
+ "w": 41,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 7,
+ "w": 41,
+ "h": 40
+ },
+ "frame": {
+ "x": 266,
+ "y": 86,
+ "w": 41,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 41,
+ "h": 35
+ },
+ "frame": {
+ "x": 266,
+ "y": 126,
+ "w": 41,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 41,
+ "h": 35
+ },
+ "frame": {
+ "x": 266,
+ "y": 126,
+ "w": 41,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 7,
+ "w": 40,
+ "h": 40
+ },
+ "frame": {
+ "x": 226,
+ "y": 129,
+ "w": 40,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 7,
+ "w": 40,
+ "h": 40
+ },
+ "frame": {
+ "x": 226,
+ "y": 129,
+ "w": 40,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 7,
+ "w": 41,
+ "h": 40
+ },
+ "frame": {
+ "x": 226,
+ "y": 169,
+ "w": 41,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 7,
+ "w": 41,
+ "h": 40
+ },
+ "frame": {
+ "x": 226,
+ "y": 169,
+ "w": 41,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 7,
+ "w": 39,
+ "h": 40
+ },
+ "frame": {
+ "x": 267,
+ "y": 161,
+ "w": 39,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 7,
+ "w": 39,
+ "h": 40
+ },
+ "frame": {
+ "x": 267,
+ "y": 161,
+ "w": 39,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 7,
+ "w": 39,
+ "h": 40
+ },
+ "frame": {
+ "x": 229,
+ "y": 209,
+ "w": 39,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 7,
+ "w": 39,
+ "h": 40
+ },
+ "frame": {
+ "x": 229,
+ "y": 209,
+ "w": 39,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 41,
+ "h": 35
+ },
+ "frame": {
+ "x": 268,
+ "y": 201,
+ "w": 41,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 41,
+ "h": 35
+ },
+ "frame": {
+ "x": 268,
+ "y": 201,
+ "w": 41,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 13,
+ "w": 41,
+ "h": 34
+ },
+ "frame": {
+ "x": 268,
+ "y": 236,
+ "w": 41,
+ "h": 34
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 13,
+ "w": 41,
+ "h": 34
+ },
+ "frame": {
+ "x": 268,
+ "y": 236,
+ "w": 41,
+ "h": 34
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 8,
+ "w": 40,
+ "h": 39
+ },
+ "frame": {
+ "x": 229,
+ "y": 270,
+ "w": 40,
+ "h": 39
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 8,
+ "w": 40,
+ "h": 39
+ },
+ "frame": {
+ "x": 229,
+ "y": 270,
+ "w": 40,
+ "h": 39
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 12,
+ "w": 40,
+ "h": 35
+ },
+ "frame": {
+ "x": 269,
+ "y": 270,
+ "w": 40,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 12,
+ "w": 40,
+ "h": 35
+ },
+ "frame": {
+ "x": 269,
+ "y": 270,
+ "w": 40,
+ "h": 35
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:c2491c1baeaa6ad79265c83724d14b58:4d021c74e090acb4be617ac0f9f4914b:d7d9e845c71962a58076b5efe962284e$"
+ }
+}
diff --git a/public/images/pokemon/back/shiny/female/25-partner.png b/public/images/pokemon/back/shiny/female/25-partner.png
new file mode 100644
index 00000000000..efc1fc1c0e3
Binary files /dev/null and b/public/images/pokemon/back/shiny/female/25-partner.png differ
diff --git a/public/images/pokemon/exp/130-mega.png b/public/images/pokemon/exp/130-mega.png
index 4785caffc9f..00fc5316581 100644
Binary files a/public/images/pokemon/exp/130-mega.png and b/public/images/pokemon/exp/130-mega.png differ
diff --git a/public/images/pokemon/exp/2053.json b/public/images/pokemon/exp/2053.json
new file mode 100644
index 00000000000..3f7ce8e6d9b
--- /dev/null
+++ b/public/images/pokemon/exp/2053.json
@@ -0,0 +1,1112 @@
+{
+ "textures": [
+ {
+ "image": "2053.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 328,
+ "h": 328
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 77,
+ "h": 66
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 77,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 77,
+ "h": 66
+ },
+ "frame": {
+ "x": 0,
+ "y": 66,
+ "w": 77,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 77,
+ "h": 66
+ },
+ "frame": {
+ "x": 77,
+ "y": 0,
+ "w": 77,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 77,
+ "h": 65
+ },
+ "frame": {
+ "x": 0,
+ "y": 132,
+ "w": 77,
+ "h": 65
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 71,
+ "h": 66
+ },
+ "frame": {
+ "x": 77,
+ "y": 66,
+ "w": 71,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 71,
+ "h": 65
+ },
+ "frame": {
+ "x": 154,
+ "y": 0,
+ "w": 71,
+ "h": 65
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 66,
+ "h": 65
+ },
+ "frame": {
+ "x": 0,
+ "y": 197,
+ "w": 66,
+ "h": 65
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 60,
+ "h": 66
+ },
+ "frame": {
+ "x": 0,
+ "y": 262,
+ "w": 60,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 60,
+ "h": 66
+ },
+ "frame": {
+ "x": 0,
+ "y": 262,
+ "w": 60,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 60,
+ "h": 66
+ },
+ "frame": {
+ "x": 0,
+ "y": 262,
+ "w": 60,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 60,
+ "h": 66
+ },
+ "frame": {
+ "x": 0,
+ "y": 262,
+ "w": 60,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 60,
+ "h": 66
+ },
+ "frame": {
+ "x": 0,
+ "y": 262,
+ "w": 60,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 60,
+ "h": 66
+ },
+ "frame": {
+ "x": 60,
+ "y": 262,
+ "w": 60,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 60,
+ "h": 66
+ },
+ "frame": {
+ "x": 60,
+ "y": 262,
+ "w": 60,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 60,
+ "h": 66
+ },
+ "frame": {
+ "x": 60,
+ "y": 262,
+ "w": 60,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 60,
+ "h": 66
+ },
+ "frame": {
+ "x": 60,
+ "y": 262,
+ "w": 60,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 66,
+ "h": 65
+ },
+ "frame": {
+ "x": 225,
+ "y": 0,
+ "w": 66,
+ "h": 65
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 60,
+ "h": 65
+ },
+ "frame": {
+ "x": 66,
+ "y": 197,
+ "w": 60,
+ "h": 65
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 58,
+ "h": 65
+ },
+ "frame": {
+ "x": 77,
+ "y": 132,
+ "w": 58,
+ "h": 65
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 59,
+ "h": 66
+ },
+ "frame": {
+ "x": 120,
+ "y": 262,
+ "w": 59,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 59,
+ "h": 67
+ },
+ "frame": {
+ "x": 135,
+ "y": 132,
+ "w": 59,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 59,
+ "h": 67
+ },
+ "frame": {
+ "x": 135,
+ "y": 132,
+ "w": 59,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 59,
+ "h": 67
+ },
+ "frame": {
+ "x": 135,
+ "y": 132,
+ "w": 59,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 59,
+ "h": 67
+ },
+ "frame": {
+ "x": 135,
+ "y": 132,
+ "w": 59,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 59,
+ "h": 67
+ },
+ "frame": {
+ "x": 154,
+ "y": 65,
+ "w": 59,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 59,
+ "h": 67
+ },
+ "frame": {
+ "x": 154,
+ "y": 65,
+ "w": 59,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 59,
+ "h": 67
+ },
+ "frame": {
+ "x": 154,
+ "y": 65,
+ "w": 59,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 59,
+ "h": 67
+ },
+ "frame": {
+ "x": 154,
+ "y": 65,
+ "w": 59,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 57,
+ "h": 68
+ },
+ "frame": {
+ "x": 213,
+ "y": 65,
+ "w": 57,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 57,
+ "h": 68
+ },
+ "frame": {
+ "x": 213,
+ "y": 65,
+ "w": 57,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 57,
+ "h": 68
+ },
+ "frame": {
+ "x": 213,
+ "y": 65,
+ "w": 57,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 57,
+ "h": 68
+ },
+ "frame": {
+ "x": 213,
+ "y": 65,
+ "w": 57,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 57,
+ "h": 68
+ },
+ "frame": {
+ "x": 194,
+ "y": 133,
+ "w": 57,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 57,
+ "h": 68
+ },
+ "frame": {
+ "x": 194,
+ "y": 133,
+ "w": 57,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 57,
+ "h": 68
+ },
+ "frame": {
+ "x": 194,
+ "y": 133,
+ "w": 57,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 57,
+ "h": 68
+ },
+ "frame": {
+ "x": 194,
+ "y": 133,
+ "w": 57,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 54,
+ "h": 69
+ },
+ "frame": {
+ "x": 270,
+ "y": 65,
+ "w": 54,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 54,
+ "h": 69
+ },
+ "frame": {
+ "x": 270,
+ "y": 65,
+ "w": 54,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 54,
+ "h": 69
+ },
+ "frame": {
+ "x": 270,
+ "y": 65,
+ "w": 54,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 54,
+ "h": 69
+ },
+ "frame": {
+ "x": 270,
+ "y": 65,
+ "w": 54,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 54,
+ "h": 69
+ },
+ "frame": {
+ "x": 251,
+ "y": 134,
+ "w": 54,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 54,
+ "h": 69
+ },
+ "frame": {
+ "x": 251,
+ "y": 134,
+ "w": 54,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 54,
+ "h": 69
+ },
+ "frame": {
+ "x": 251,
+ "y": 134,
+ "w": 54,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 54,
+ "h": 69
+ },
+ "frame": {
+ "x": 251,
+ "y": 134,
+ "w": 54,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 52,
+ "h": 69
+ },
+ "frame": {
+ "x": 179,
+ "y": 201,
+ "w": 52,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 52,
+ "h": 69
+ },
+ "frame": {
+ "x": 179,
+ "y": 201,
+ "w": 52,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 52,
+ "h": 69
+ },
+ "frame": {
+ "x": 179,
+ "y": 201,
+ "w": 52,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 52,
+ "h": 69
+ },
+ "frame": {
+ "x": 179,
+ "y": 201,
+ "w": 52,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 52,
+ "h": 69
+ },
+ "frame": {
+ "x": 231,
+ "y": 203,
+ "w": 52,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 52,
+ "h": 69
+ },
+ "frame": {
+ "x": 231,
+ "y": 203,
+ "w": 52,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 52,
+ "h": 69
+ },
+ "frame": {
+ "x": 231,
+ "y": 203,
+ "w": 52,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 52,
+ "h": 69
+ },
+ "frame": {
+ "x": 231,
+ "y": 203,
+ "w": 52,
+ "h": 69
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:39c3ba28279f2af4fdc121379662a396:f2cb56bb9099e7163704bf5d97e7ba06:dd9440d54af5b14210c0ed9775d82426$"
+ }
+}
diff --git a/public/images/pokemon/exp/4053.png b/public/images/pokemon/exp/2053.png
similarity index 100%
rename from public/images/pokemon/exp/4053.png
rename to public/images/pokemon/exp/2053.png
diff --git a/public/images/pokemon/exp/229-mega.png b/public/images/pokemon/exp/229-mega.png
index 0e7da20241f..bc7656d9f1c 100644
Binary files a/public/images/pokemon/exp/229-mega.png and b/public/images/pokemon/exp/229-mega.png differ
diff --git a/public/images/pokemon/exp/4053.json b/public/images/pokemon/exp/4053.json
deleted file mode 100644
index 741a0be5a78..00000000000
--- a/public/images/pokemon/exp/4053.json
+++ /dev/null
@@ -1,1112 +0,0 @@
-{
- "textures": [
- {
- "image": "4053.png",
- "format": "RGBA8888",
- "size": {
- "w": 328,
- "h": 328
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0045.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 77,
- "h": 66
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 77,
- "h": 66
- }
- },
- {
- "filename": "0046.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 77,
- "h": 66
- },
- "frame": {
- "x": 0,
- "y": 66,
- "w": 77,
- "h": 66
- }
- },
- {
- "filename": "0047.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 77,
- "h": 66
- },
- "frame": {
- "x": 77,
- "y": 0,
- "w": 77,
- "h": 66
- }
- },
- {
- "filename": "0044.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 4,
- "w": 77,
- "h": 65
- },
- "frame": {
- "x": 0,
- "y": 132,
- "w": 77,
- "h": 65
- }
- },
- {
- "filename": "0048.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 71,
- "h": 66
- },
- "frame": {
- "x": 77,
- "y": 66,
- "w": 71,
- "h": 66
- }
- },
- {
- "filename": "0043.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 4,
- "w": 71,
- "h": 65
- },
- "frame": {
- "x": 154,
- "y": 0,
- "w": 71,
- "h": 65
- }
- },
- {
- "filename": "0042.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 4,
- "w": 66,
- "h": 65
- },
- "frame": {
- "x": 0,
- "y": 197,
- "w": 66,
- "h": 65
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 60,
- "h": 66
- },
- "frame": {
- "x": 0,
- "y": 262,
- "w": 60,
- "h": 66
- }
- },
- {
- "filename": "0011.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 60,
- "h": 66
- },
- "frame": {
- "x": 0,
- "y": 262,
- "w": 60,
- "h": 66
- }
- },
- {
- "filename": "0021.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 60,
- "h": 66
- },
- "frame": {
- "x": 0,
- "y": 262,
- "w": 60,
- "h": 66
- }
- },
- {
- "filename": "0031.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 60,
- "h": 66
- },
- "frame": {
- "x": 0,
- "y": 262,
- "w": 60,
- "h": 66
- }
- },
- {
- "filename": "0041.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 60,
- "h": 66
- },
- "frame": {
- "x": 0,
- "y": 262,
- "w": 60,
- "h": 66
- }
- },
- {
- "filename": "0010.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 60,
- "h": 66
- },
- "frame": {
- "x": 60,
- "y": 262,
- "w": 60,
- "h": 66
- }
- },
- {
- "filename": "0020.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 60,
- "h": 66
- },
- "frame": {
- "x": 60,
- "y": 262,
- "w": 60,
- "h": 66
- }
- },
- {
- "filename": "0030.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 60,
- "h": 66
- },
- "frame": {
- "x": 60,
- "y": 262,
- "w": 60,
- "h": 66
- }
- },
- {
- "filename": "0040.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 60,
- "h": 66
- },
- "frame": {
- "x": 60,
- "y": 262,
- "w": 60,
- "h": 66
- }
- },
- {
- "filename": "0049.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 4,
- "w": 66,
- "h": 65
- },
- "frame": {
- "x": 225,
- "y": 0,
- "w": 66,
- "h": 65
- }
- },
- {
- "filename": "0050.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 4,
- "w": 60,
- "h": 65
- },
- "frame": {
- "x": 66,
- "y": 197,
- "w": 60,
- "h": 65
- }
- },
- {
- "filename": "0051.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 4,
- "w": 58,
- "h": 65
- },
- "frame": {
- "x": 77,
- "y": 132,
- "w": 58,
- "h": 65
- }
- },
- {
- "filename": "0052.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 59,
- "h": 66
- },
- "frame": {
- "x": 120,
- "y": 262,
- "w": 59,
- "h": 66
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 59,
- "h": 67
- },
- "frame": {
- "x": 135,
- "y": 132,
- "w": 59,
- "h": 67
- }
- },
- {
- "filename": "0012.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 59,
- "h": 67
- },
- "frame": {
- "x": 135,
- "y": 132,
- "w": 59,
- "h": 67
- }
- },
- {
- "filename": "0022.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 59,
- "h": 67
- },
- "frame": {
- "x": 135,
- "y": 132,
- "w": 59,
- "h": 67
- }
- },
- {
- "filename": "0032.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 59,
- "h": 67
- },
- "frame": {
- "x": 135,
- "y": 132,
- "w": 59,
- "h": 67
- }
- },
- {
- "filename": "0009.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 59,
- "h": 67
- },
- "frame": {
- "x": 154,
- "y": 65,
- "w": 59,
- "h": 67
- }
- },
- {
- "filename": "0019.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 59,
- "h": 67
- },
- "frame": {
- "x": 154,
- "y": 65,
- "w": 59,
- "h": 67
- }
- },
- {
- "filename": "0029.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 59,
- "h": 67
- },
- "frame": {
- "x": 154,
- "y": 65,
- "w": 59,
- "h": 67
- }
- },
- {
- "filename": "0039.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 59,
- "h": 67
- },
- "frame": {
- "x": 154,
- "y": 65,
- "w": 59,
- "h": 67
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 57,
- "h": 68
- },
- "frame": {
- "x": 213,
- "y": 65,
- "w": 57,
- "h": 68
- }
- },
- {
- "filename": "0013.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 57,
- "h": 68
- },
- "frame": {
- "x": 213,
- "y": 65,
- "w": 57,
- "h": 68
- }
- },
- {
- "filename": "0023.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 57,
- "h": 68
- },
- "frame": {
- "x": 213,
- "y": 65,
- "w": 57,
- "h": 68
- }
- },
- {
- "filename": "0033.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 57,
- "h": 68
- },
- "frame": {
- "x": 213,
- "y": 65,
- "w": 57,
- "h": 68
- }
- },
- {
- "filename": "0008.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 57,
- "h": 68
- },
- "frame": {
- "x": 194,
- "y": 133,
- "w": 57,
- "h": 68
- }
- },
- {
- "filename": "0018.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 57,
- "h": 68
- },
- "frame": {
- "x": 194,
- "y": 133,
- "w": 57,
- "h": 68
- }
- },
- {
- "filename": "0028.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 57,
- "h": 68
- },
- "frame": {
- "x": 194,
- "y": 133,
- "w": 57,
- "h": 68
- }
- },
- {
- "filename": "0038.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 57,
- "h": 68
- },
- "frame": {
- "x": 194,
- "y": 133,
- "w": 57,
- "h": 68
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 54,
- "h": 69
- },
- "frame": {
- "x": 270,
- "y": 65,
- "w": 54,
- "h": 69
- }
- },
- {
- "filename": "0014.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 54,
- "h": 69
- },
- "frame": {
- "x": 270,
- "y": 65,
- "w": 54,
- "h": 69
- }
- },
- {
- "filename": "0024.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 54,
- "h": 69
- },
- "frame": {
- "x": 270,
- "y": 65,
- "w": 54,
- "h": 69
- }
- },
- {
- "filename": "0034.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 54,
- "h": 69
- },
- "frame": {
- "x": 270,
- "y": 65,
- "w": 54,
- "h": 69
- }
- },
- {
- "filename": "0007.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 54,
- "h": 69
- },
- "frame": {
- "x": 251,
- "y": 134,
- "w": 54,
- "h": 69
- }
- },
- {
- "filename": "0017.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 54,
- "h": 69
- },
- "frame": {
- "x": 251,
- "y": 134,
- "w": 54,
- "h": 69
- }
- },
- {
- "filename": "0027.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 54,
- "h": 69
- },
- "frame": {
- "x": 251,
- "y": 134,
- "w": 54,
- "h": 69
- }
- },
- {
- "filename": "0037.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 54,
- "h": 69
- },
- "frame": {
- "x": 251,
- "y": 134,
- "w": 54,
- "h": 69
- }
- },
- {
- "filename": "0005.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 52,
- "h": 69
- },
- "frame": {
- "x": 179,
- "y": 201,
- "w": 52,
- "h": 69
- }
- },
- {
- "filename": "0015.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 52,
- "h": 69
- },
- "frame": {
- "x": 179,
- "y": 201,
- "w": 52,
- "h": 69
- }
- },
- {
- "filename": "0025.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 52,
- "h": 69
- },
- "frame": {
- "x": 179,
- "y": 201,
- "w": 52,
- "h": 69
- }
- },
- {
- "filename": "0035.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 52,
- "h": 69
- },
- "frame": {
- "x": 179,
- "y": 201,
- "w": 52,
- "h": 69
- }
- },
- {
- "filename": "0006.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 52,
- "h": 69
- },
- "frame": {
- "x": 231,
- "y": 203,
- "w": 52,
- "h": 69
- }
- },
- {
- "filename": "0016.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 52,
- "h": 69
- },
- "frame": {
- "x": 231,
- "y": 203,
- "w": 52,
- "h": 69
- }
- },
- {
- "filename": "0026.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 52,
- "h": 69
- },
- "frame": {
- "x": 231,
- "y": 203,
- "w": 52,
- "h": 69
- }
- },
- {
- "filename": "0036.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 52,
- "h": 69
- },
- "frame": {
- "x": 231,
- "y": 203,
- "w": 52,
- "h": 69
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:39c3ba28279f2af4fdc121379662a396:f2cb56bb9099e7163704bf5d97e7ba06:dd9440d54af5b14210c0ed9775d82426$"
- }
-}
diff --git a/public/images/pokemon/exp/531-mega.png b/public/images/pokemon/exp/531-mega.png
index dc7e70ae0c4..d9b93c2ecca 100644
Binary files a/public/images/pokemon/exp/531-mega.png and b/public/images/pokemon/exp/531-mega.png differ
diff --git a/public/images/pokemon/exp/682.png b/public/images/pokemon/exp/682.png
index 68cbd664364..35ab3a5c315 100644
Binary files a/public/images/pokemon/exp/682.png and b/public/images/pokemon/exp/682.png differ
diff --git a/public/images/pokemon/exp/752.png b/public/images/pokemon/exp/752.png
index c4b63d0410f..88bbba63252 100644
Binary files a/public/images/pokemon/exp/752.png and b/public/images/pokemon/exp/752.png differ
diff --git a/public/images/pokemon/exp/772.png b/public/images/pokemon/exp/772.png
index d95f137d9e6..c3a986ff15e 100644
Binary files a/public/images/pokemon/exp/772.png and b/public/images/pokemon/exp/772.png differ
diff --git a/public/images/pokemon/exp/773-bug.png b/public/images/pokemon/exp/773-bug.png
index cc0043531b9..281f1467730 100644
Binary files a/public/images/pokemon/exp/773-bug.png and b/public/images/pokemon/exp/773-bug.png differ
diff --git a/public/images/pokemon/exp/773-dark.png b/public/images/pokemon/exp/773-dark.png
index 815caf8d363..5c95c669800 100644
Binary files a/public/images/pokemon/exp/773-dark.png and b/public/images/pokemon/exp/773-dark.png differ
diff --git a/public/images/pokemon/exp/773-dragon.png b/public/images/pokemon/exp/773-dragon.png
index 6601a92bcfa..6e5231c067d 100644
Binary files a/public/images/pokemon/exp/773-dragon.png and b/public/images/pokemon/exp/773-dragon.png differ
diff --git a/public/images/pokemon/exp/773-electric.png b/public/images/pokemon/exp/773-electric.png
index c6917483b7b..708fc551ad0 100644
Binary files a/public/images/pokemon/exp/773-electric.png and b/public/images/pokemon/exp/773-electric.png differ
diff --git a/public/images/pokemon/exp/773-fairy.png b/public/images/pokemon/exp/773-fairy.png
index 8ea5ec7dc65..3e04b17df6c 100644
Binary files a/public/images/pokemon/exp/773-fairy.png and b/public/images/pokemon/exp/773-fairy.png differ
diff --git a/public/images/pokemon/exp/773-fighting.png b/public/images/pokemon/exp/773-fighting.png
index 79b238a2e4c..18a25a1aed9 100644
Binary files a/public/images/pokemon/exp/773-fighting.png and b/public/images/pokemon/exp/773-fighting.png differ
diff --git a/public/images/pokemon/exp/773-fire.png b/public/images/pokemon/exp/773-fire.png
index 1c5e0f8bb43..a1745cdaf05 100644
Binary files a/public/images/pokemon/exp/773-fire.png and b/public/images/pokemon/exp/773-fire.png differ
diff --git a/public/images/pokemon/exp/773-flying.png b/public/images/pokemon/exp/773-flying.png
index 883e7d8023f..aacf1346248 100644
Binary files a/public/images/pokemon/exp/773-flying.png and b/public/images/pokemon/exp/773-flying.png differ
diff --git a/public/images/pokemon/exp/773-ghost.png b/public/images/pokemon/exp/773-ghost.png
index ead75e9a12d..b0893298762 100644
Binary files a/public/images/pokemon/exp/773-ghost.png and b/public/images/pokemon/exp/773-ghost.png differ
diff --git a/public/images/pokemon/exp/773-grass.png b/public/images/pokemon/exp/773-grass.png
index c1cc70426bd..f9eb0838eab 100644
Binary files a/public/images/pokemon/exp/773-grass.png and b/public/images/pokemon/exp/773-grass.png differ
diff --git a/public/images/pokemon/exp/773-ground.png b/public/images/pokemon/exp/773-ground.png
index 402e8940969..31022ff98cd 100644
Binary files a/public/images/pokemon/exp/773-ground.png and b/public/images/pokemon/exp/773-ground.png differ
diff --git a/public/images/pokemon/exp/773-ice.png b/public/images/pokemon/exp/773-ice.png
index 9763097d4ee..bbdd48211eb 100644
Binary files a/public/images/pokemon/exp/773-ice.png and b/public/images/pokemon/exp/773-ice.png differ
diff --git a/public/images/pokemon/exp/773-poison.png b/public/images/pokemon/exp/773-poison.png
index 0c4e1b40f39..772ab8c1f29 100644
Binary files a/public/images/pokemon/exp/773-poison.png and b/public/images/pokemon/exp/773-poison.png differ
diff --git a/public/images/pokemon/exp/773-psychic.png b/public/images/pokemon/exp/773-psychic.png
index a061a476dcc..8d76edcc44b 100644
Binary files a/public/images/pokemon/exp/773-psychic.png and b/public/images/pokemon/exp/773-psychic.png differ
diff --git a/public/images/pokemon/exp/773-rock.png b/public/images/pokemon/exp/773-rock.png
index 54edc43e15d..812abc8dd13 100644
Binary files a/public/images/pokemon/exp/773-rock.png and b/public/images/pokemon/exp/773-rock.png differ
diff --git a/public/images/pokemon/exp/773-steel.png b/public/images/pokemon/exp/773-steel.png
index 0aa28d2dfe4..6347d267c1a 100644
Binary files a/public/images/pokemon/exp/773-steel.png and b/public/images/pokemon/exp/773-steel.png differ
diff --git a/public/images/pokemon/exp/773-water.png b/public/images/pokemon/exp/773-water.png
index 4d86e152c38..fc3c27f7b37 100644
Binary files a/public/images/pokemon/exp/773-water.png and b/public/images/pokemon/exp/773-water.png differ
diff --git a/public/images/pokemon/exp/773.png b/public/images/pokemon/exp/773.png
index 643c7500e25..4a1758b52b3 100644
Binary files a/public/images/pokemon/exp/773.png and b/public/images/pokemon/exp/773.png differ
diff --git a/public/images/pokemon/exp/773_Test.png b/public/images/pokemon/exp/773_Test.png
new file mode 100644
index 00000000000..a77cdf691e2
Binary files /dev/null and b/public/images/pokemon/exp/773_Test.png differ
diff --git a/public/images/pokemon/exp/776.png b/public/images/pokemon/exp/776.png
index bd5116146ad..f002de4cf6a 100644
Binary files a/public/images/pokemon/exp/776.png and b/public/images/pokemon/exp/776.png differ
diff --git a/public/images/pokemon/exp/777.json b/public/images/pokemon/exp/777.json
index cf428246297..4181c495c7c 100644
--- a/public/images/pokemon/exp/777.json
+++ b/public/images/pokemon/exp/777.json
@@ -1,2120 +1,1071 @@
-{
- "textures": [
- {
- "image": "777.png",
- "format": "RGBA8888",
- "size": {
- "w": 128,
- "h": 128
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0045.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 44,
- "h": 38
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 44,
- "h": 38
- }
- },
- {
- "filename": "0046.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 44,
- "h": 38
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 44,
- "h": 38
- }
- },
- {
- "filename": "0049.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 44,
- "h": 38
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 44,
- "h": 38
- }
- },
- {
- "filename": "0050.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 44,
- "h": 38
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 44,
- "h": 38
- }
- },
- {
- "filename": "0053.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 44,
- "h": 38
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 44,
- "h": 38
- }
- },
- {
- "filename": "0054.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 44,
- "h": 38
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 44,
- "h": 38
- }
- },
- {
- "filename": "0057.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 44,
- "h": 38
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 44,
- "h": 38
- }
- },
- {
- "filename": "0058.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 44,
- "h": 38
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 44,
- "h": 38
- }
- },
- {
- "filename": "0043.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 43,
- "h": 39
- },
- "frame": {
- "x": 44,
- "y": 0,
- "w": 43,
- "h": 39
- }
- },
- {
- "filename": "0044.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 43,
- "h": 39
- },
- "frame": {
- "x": 44,
- "y": 0,
- "w": 43,
- "h": 39
- }
- },
- {
- "filename": "0059.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 43,
- "h": 39
- },
- "frame": {
- "x": 44,
- "y": 0,
- "w": 43,
- "h": 39
- }
- },
- {
- "filename": "0060.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 43,
- "h": 39
- },
- "frame": {
- "x": 44,
- "y": 0,
- "w": 43,
- "h": 39
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 41,
- "h": 40
- },
- "frame": {
- "x": 87,
- "y": 0,
- "w": 41,
- "h": 40
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 41,
- "h": 40
- },
- "frame": {
- "x": 87,
- "y": 0,
- "w": 41,
- "h": 40
- }
- },
- {
- "filename": "0013.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 41,
- "h": 40
- },
- "frame": {
- "x": 87,
- "y": 0,
- "w": 41,
- "h": 40
- }
- },
- {
- "filename": "0014.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 41,
- "h": 40
- },
- "frame": {
- "x": 87,
- "y": 0,
- "w": 41,
- "h": 40
- }
- },
- {
- "filename": "0025.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 41,
- "h": 40
- },
- "frame": {
- "x": 87,
- "y": 0,
- "w": 41,
- "h": 40
- }
- },
- {
- "filename": "0026.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 41,
- "h": 40
- },
- "frame": {
- "x": 87,
- "y": 0,
- "w": 41,
- "h": 40
- }
- },
- {
- "filename": "0037.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 41,
- "h": 40
- },
- "frame": {
- "x": 87,
- "y": 0,
- "w": 41,
- "h": 40
- }
- },
- {
- "filename": "0038.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 41,
- "h": 40
- },
- "frame": {
- "x": 87,
- "y": 0,
- "w": 41,
- "h": 40
- }
- },
- {
- "filename": "0039.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 41,
- "h": 40
- },
- "frame": {
- "x": 87,
- "y": 0,
- "w": 41,
- "h": 40
- }
- },
- {
- "filename": "0040.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 41,
- "h": 40
- },
- "frame": {
- "x": 87,
- "y": 0,
- "w": 41,
- "h": 40
- }
- },
- {
- "filename": "0063.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 41,
- "h": 40
- },
- "frame": {
- "x": 87,
- "y": 0,
- "w": 41,
- "h": 40
- }
- },
- {
- "filename": "0064.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 41,
- "h": 40
- },
- "frame": {
- "x": 87,
- "y": 0,
- "w": 41,
- "h": 40
- }
- },
- {
- "filename": "0065.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 41,
- "h": 40
- },
- "frame": {
- "x": 87,
- "y": 0,
- "w": 41,
- "h": 40
- }
- },
- {
- "filename": "0066.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 41,
- "h": 40
- },
- "frame": {
- "x": 87,
- "y": 0,
- "w": 41,
- "h": 40
- }
- },
- {
- "filename": "0077.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 41,
- "h": 40
- },
- "frame": {
- "x": 87,
- "y": 0,
- "w": 41,
- "h": 40
- }
- },
- {
- "filename": "0078.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 41,
- "h": 40
- },
- "frame": {
- "x": 87,
- "y": 0,
- "w": 41,
- "h": 40
- }
- },
- {
- "filename": "0089.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 41,
- "h": 40
- },
- "frame": {
- "x": 87,
- "y": 0,
- "w": 41,
- "h": 40
- }
- },
- {
- "filename": "0090.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 41,
- "h": 40
- },
- "frame": {
- "x": 87,
- "y": 0,
- "w": 41,
- "h": 40
- }
- },
- {
- "filename": "0047.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 43,
- "h": 39
- },
- "frame": {
- "x": 0,
- "y": 38,
- "w": 43,
- "h": 39
- }
- },
- {
- "filename": "0048.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 43,
- "h": 39
- },
- "frame": {
- "x": 0,
- "y": 38,
- "w": 43,
- "h": 39
- }
- },
- {
- "filename": "0051.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 43,
- "h": 39
- },
- "frame": {
- "x": 0,
- "y": 38,
- "w": 43,
- "h": 39
- }
- },
- {
- "filename": "0052.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 43,
- "h": 39
- },
- "frame": {
- "x": 0,
- "y": 38,
- "w": 43,
- "h": 39
- }
- },
- {
- "filename": "0055.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 43,
- "h": 39
- },
- "frame": {
- "x": 0,
- "y": 38,
- "w": 43,
- "h": 39
- }
- },
- {
- "filename": "0056.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 43,
- "h": 39
- },
- "frame": {
- "x": 0,
- "y": 38,
- "w": 43,
- "h": 39
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 39,
- "w": 43,
- "h": 40
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 39,
- "w": 43,
- "h": 40
- }
- },
- {
- "filename": "0011.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 39,
- "w": 43,
- "h": 40
- }
- },
- {
- "filename": "0012.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 39,
- "w": 43,
- "h": 40
- }
- },
- {
- "filename": "0015.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 39,
- "w": 43,
- "h": 40
- }
- },
- {
- "filename": "0016.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 39,
- "w": 43,
- "h": 40
- }
- },
- {
- "filename": "0023.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 39,
- "w": 43,
- "h": 40
- }
- },
- {
- "filename": "0024.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 39,
- "w": 43,
- "h": 40
- }
- },
- {
- "filename": "0027.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 39,
- "w": 43,
- "h": 40
- }
- },
- {
- "filename": "0028.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 39,
- "w": 43,
- "h": 40
- }
- },
- {
- "filename": "0035.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 39,
- "w": 43,
- "h": 40
- }
- },
- {
- "filename": "0036.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 39,
- "w": 43,
- "h": 40
- }
- },
- {
- "filename": "0067.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 39,
- "w": 43,
- "h": 40
- }
- },
- {
- "filename": "0068.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 39,
- "w": 43,
- "h": 40
- }
- },
- {
- "filename": "0075.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 39,
- "w": 43,
- "h": 40
- }
- },
- {
- "filename": "0076.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 39,
- "w": 43,
- "h": 40
- }
- },
- {
- "filename": "0079.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 39,
- "w": 43,
- "h": 40
- }
- },
- {
- "filename": "0080.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 39,
- "w": 43,
- "h": 40
- }
- },
- {
- "filename": "0087.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 39,
- "w": 43,
- "h": 40
- }
- },
- {
- "filename": "0088.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 39,
- "w": 43,
- "h": 40
- }
- },
- {
- "filename": "0091.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 39,
- "w": 43,
- "h": 40
- }
- },
- {
- "filename": "0092.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 39,
- "w": 43,
- "h": 40
- }
- },
- {
- "filename": "0099.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 39,
- "w": 43,
- "h": 40
- }
- },
- {
- "filename": "0100.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 39,
- "w": 43,
- "h": 40
- }
- },
- {
- "filename": "0041.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 42,
- "h": 40
- },
- "frame": {
- "x": 86,
- "y": 40,
- "w": 42,
- "h": 40
- }
- },
- {
- "filename": "0042.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 42,
- "h": 40
- },
- "frame": {
- "x": 86,
- "y": 40,
- "w": 42,
- "h": 40
- }
- },
- {
- "filename": "0061.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 42,
- "h": 40
- },
- "frame": {
- "x": 86,
- "y": 40,
- "w": 42,
- "h": 40
- }
- },
- {
- "filename": "0062.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 42,
- "h": 40
- },
- "frame": {
- "x": 86,
- "y": 40,
- "w": 42,
- "h": 40
- }
- },
- {
- "filename": "0005.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 79,
- "w": 45,
- "h": 40
- }
- },
- {
- "filename": "0006.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 79,
- "w": 45,
- "h": 40
- }
- },
- {
- "filename": "0009.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 79,
- "w": 45,
- "h": 40
- }
- },
- {
- "filename": "0010.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 79,
- "w": 45,
- "h": 40
- }
- },
- {
- "filename": "0017.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 79,
- "w": 45,
- "h": 40
- }
- },
- {
- "filename": "0018.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 79,
- "w": 45,
- "h": 40
- }
- },
- {
- "filename": "0021.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 79,
- "w": 45,
- "h": 40
- }
- },
- {
- "filename": "0022.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 79,
- "w": 45,
- "h": 40
- }
- },
- {
- "filename": "0029.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 79,
- "w": 45,
- "h": 40
- }
- },
- {
- "filename": "0030.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 79,
- "w": 45,
- "h": 40
- }
- },
- {
- "filename": "0033.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 79,
- "w": 45,
- "h": 40
- }
- },
- {
- "filename": "0034.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 79,
- "w": 45,
- "h": 40
- }
- },
- {
- "filename": "0069.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 79,
- "w": 45,
- "h": 40
- }
- },
- {
- "filename": "0070.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 79,
- "w": 45,
- "h": 40
- }
- },
- {
- "filename": "0073.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 79,
- "w": 45,
- "h": 40
- }
- },
- {
- "filename": "0074.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 79,
- "w": 45,
- "h": 40
- }
- },
- {
- "filename": "0081.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 79,
- "w": 45,
- "h": 40
- }
- },
- {
- "filename": "0082.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 79,
- "w": 45,
- "h": 40
- }
- },
- {
- "filename": "0085.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 79,
- "w": 45,
- "h": 40
- }
- },
- {
- "filename": "0086.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 79,
- "w": 45,
- "h": 40
- }
- },
- {
- "filename": "0093.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 79,
- "w": 45,
- "h": 40
- }
- },
- {
- "filename": "0094.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 79,
- "w": 45,
- "h": 40
- }
- },
- {
- "filename": "0097.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 79,
- "w": 45,
- "h": 40
- }
- },
- {
- "filename": "0098.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 79,
- "w": 45,
- "h": 40
- }
- },
- {
- "filename": "0007.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 40
- },
- "frame": {
- "x": 45,
- "y": 80,
- "w": 45,
- "h": 40
- }
- },
- {
- "filename": "0008.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 40
- },
- "frame": {
- "x": 45,
- "y": 80,
- "w": 45,
- "h": 40
- }
- },
- {
- "filename": "0019.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 40
- },
- "frame": {
- "x": 45,
- "y": 80,
- "w": 45,
- "h": 40
- }
- },
- {
- "filename": "0020.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 40
- },
- "frame": {
- "x": 45,
- "y": 80,
- "w": 45,
- "h": 40
- }
- },
- {
- "filename": "0031.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 40
- },
- "frame": {
- "x": 45,
- "y": 80,
- "w": 45,
- "h": 40
- }
- },
- {
- "filename": "0032.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 40
- },
- "frame": {
- "x": 45,
- "y": 80,
- "w": 45,
- "h": 40
- }
- },
- {
- "filename": "0071.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 40
- },
- "frame": {
- "x": 45,
- "y": 80,
- "w": 45,
- "h": 40
- }
- },
- {
- "filename": "0072.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 40
- },
- "frame": {
- "x": 45,
- "y": 80,
- "w": 45,
- "h": 40
- }
- },
- {
- "filename": "0083.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 40
- },
- "frame": {
- "x": 45,
- "y": 80,
- "w": 45,
- "h": 40
- }
- },
- {
- "filename": "0084.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 40
- },
- "frame": {
- "x": 45,
- "y": 80,
- "w": 45,
- "h": 40
- }
- },
- {
- "filename": "0095.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 40
- },
- "frame": {
- "x": 45,
- "y": 80,
- "w": 45,
- "h": 40
- }
- },
- {
- "filename": "0096.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 45,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 40
- },
- "frame": {
- "x": 45,
- "y": 80,
- "w": 45,
- "h": 40
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:f7ea3f0da99775f55033547cefdf79c0:187e311aafa6bff27efd6b8d1f7b0cdb:1aa6e90a0c99d7990e17ee8433a9373d$"
- }
-}
+{
+ "textures": [
+ {
+ "image": "777.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 163,
+ "h": 163
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 37,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 37,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 37,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 37,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 37,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 44,
+ "w": 37,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 37,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 44,
+ "w": 37,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 37,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 37,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 37,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 37,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 37,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 37,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 40,
+ "h": 43
+ },
+ "frame": {
+ "x": 37,
+ "y": 0,
+ "w": 40,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 40,
+ "h": 43
+ },
+ "frame": {
+ "x": 37,
+ "y": 0,
+ "w": 40,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 40,
+ "h": 43
+ },
+ "frame": {
+ "x": 37,
+ "y": 0,
+ "w": 40,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 40,
+ "h": 43
+ },
+ "frame": {
+ "x": 37,
+ "y": 0,
+ "w": 40,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 40,
+ "h": 43
+ },
+ "frame": {
+ "x": 37,
+ "y": 0,
+ "w": 40,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 77,
+ "y": 0,
+ "w": 40,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 77,
+ "y": 0,
+ "w": 40,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 77,
+ "y": 0,
+ "w": 40,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 77,
+ "y": 0,
+ "w": 40,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 77,
+ "y": 0,
+ "w": 40,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 77,
+ "y": 0,
+ "w": 40,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 77,
+ "y": 0,
+ "w": 40,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 117,
+ "y": 0,
+ "w": 40,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 117,
+ "y": 0,
+ "w": 40,
+ "h": 41
+ }
+ },
+ {
+ "filename": "00012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 117,
+ "y": 0,
+ "w": 40,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 117,
+ "y": 0,
+ "w": 40,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 117,
+ "y": 0,
+ "w": 40,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 117,
+ "y": 0,
+ "w": 40,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 117,
+ "y": 0,
+ "w": 40,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 117,
+ "y": 0,
+ "w": 40,
+ "h": 41
+ }
+ },
+
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 117,
+ "y": 0,
+ "w": 40,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 117,
+ "y": 0,
+ "w": 40,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 77,
+ "y": 41,
+ "w": 40,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 37,
+ "y": 43,
+ "w": 40,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 40,
+ "h": 39
+ },
+ "frame": {
+ "x": 117,
+ "y": 41,
+ "w": 40,
+ "h": 39
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 40,
+ "h": 39
+ },
+ "frame": {
+ "x": 117,
+ "y": 41,
+ "w": 40,
+ "h": 39
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 40,
+ "h": 39
+ },
+ "frame": {
+ "x": 117,
+ "y": 41,
+ "w": 40,
+ "h": 39
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 40,
+ "h": 39
+ },
+ "frame": {
+ "x": 117,
+ "y": 41,
+ "w": 40,
+ "h": 39
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 40,
+ "h": 39
+ },
+ "frame": {
+ "x": 117,
+ "y": 41,
+ "w": 40,
+ "h": 39
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 40,
+ "h": 39
+ },
+ "frame": {
+ "x": 117,
+ "y": 80,
+ "w": 40,
+ "h": 39
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 40,
+ "h": 39
+ },
+ "frame": {
+ "x": 117,
+ "y": 80,
+ "w": 40,
+ "h": 39
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 40,
+ "h": 39
+ },
+ "frame": {
+ "x": 117,
+ "y": 80,
+ "w": 40,
+ "h": 39
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 40,
+ "h": 39
+ },
+ "frame": {
+ "x": 117,
+ "y": 80,
+ "w": 40,
+ "h": 39
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 40,
+ "h": 39
+ },
+ "frame": {
+ "x": 117,
+ "y": 80,
+ "w": 40,
+ "h": 39
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 40,
+ "h": 38
+ },
+ "frame": {
+ "x": 77,
+ "y": 82,
+ "w": 40,
+ "h": 38
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 40,
+ "h": 38
+ },
+ "frame": {
+ "x": 77,
+ "y": 82,
+ "w": 40,
+ "h": 38
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 40,
+ "h": 38
+ },
+ "frame": {
+ "x": 77,
+ "y": 82,
+ "w": 40,
+ "h": 38
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 40,
+ "h": 38
+ },
+ "frame": {
+ "x": 77,
+ "y": 82,
+ "w": 40,
+ "h": 38
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 40,
+ "h": 38
+ },
+ "frame": {
+ "x": 77,
+ "y": 82,
+ "w": 40,
+ "h": 38
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 37,
+ "h": 44
+ },
+ "frame": {
+ "x": 117,
+ "y": 119,
+ "w": 37,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 37,
+ "h": 44
+ },
+ "frame": {
+ "x": 117,
+ "y": 119,
+ "w": 37,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 39,
+ "h": 42
+ },
+ "frame": {
+ "x": 37,
+ "y": 84,
+ "w": 39,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 39,
+ "h": 42
+ },
+ "frame": {
+ "x": 76,
+ "y": 120,
+ "w": 39,
+ "h": 42
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:ad3e4de865d1d9392fed3533c75e9da4:53906d0c8828810f510b3b49c46d0af5:1aa6e90a0c99d7990e17ee8433a9373d$"
+ }
+}
diff --git a/public/images/pokemon/exp/777.png b/public/images/pokemon/exp/777.png
index 4967222fe7c..0683a9e0855 100644
Binary files a/public/images/pokemon/exp/777.png and b/public/images/pokemon/exp/777.png differ
diff --git a/public/images/pokemon/exp/778-busted.png b/public/images/pokemon/exp/778-busted.png
index 98a02bdad69..67740699c02 100644
Binary files a/public/images/pokemon/exp/778-busted.png and b/public/images/pokemon/exp/778-busted.png differ
diff --git a/public/images/pokemon/exp/778-disguised.json b/public/images/pokemon/exp/778-disguised.json
new file mode 100644
index 00000000000..9668c6d8d59
--- /dev/null
+++ b/public/images/pokemon/exp/778-disguised.json
@@ -0,0 +1,1343 @@
+{
+ "textures": [
+ {
+ "image": "778-disguised.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 219,
+ "h": 219
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 60,
+ "h": 48
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 60,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 60,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 48,
+ "w": 60,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 57,
+ "h": 48
+ },
+ "frame": {
+ "x": 60,
+ "y": 0,
+ "w": 57,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 0,
+ "w": 54,
+ "h": 48
+ },
+ "frame": {
+ "x": 0,
+ "y": 95,
+ "w": 54,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 52,
+ "h": 48
+ },
+ "frame": {
+ "x": 117,
+ "y": 0,
+ "w": 52,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 0,
+ "w": 48,
+ "h": 48
+ },
+ "frame": {
+ "x": 0,
+ "y": 143,
+ "w": 48,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 0,
+ "w": 47,
+ "h": 48
+ },
+ "frame": {
+ "x": 169,
+ "y": 0,
+ "w": 47,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 16,
+ "y": 1,
+ "w": 44,
+ "h": 47
+ },
+ "frame": {
+ "x": 60,
+ "y": 48,
+ "w": 44,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 16,
+ "y": 1,
+ "w": 44,
+ "h": 47
+ },
+ "frame": {
+ "x": 60,
+ "y": 48,
+ "w": 44,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 16,
+ "y": 1,
+ "w": 44,
+ "h": 47
+ },
+ "frame": {
+ "x": 60,
+ "y": 48,
+ "w": 44,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 16,
+ "y": 1,
+ "w": 44,
+ "h": 47
+ },
+ "frame": {
+ "x": 60,
+ "y": 48,
+ "w": 44,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 16,
+ "y": 1,
+ "w": 44,
+ "h": 47
+ },
+ "frame": {
+ "x": 60,
+ "y": 48,
+ "w": 44,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 16,
+ "y": 1,
+ "w": 44,
+ "h": 47
+ },
+ "frame": {
+ "x": 60,
+ "y": 48,
+ "w": 44,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 16,
+ "y": 1,
+ "w": 44,
+ "h": 47
+ },
+ "frame": {
+ "x": 60,
+ "y": 48,
+ "w": 44,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 15,
+ "y": 0,
+ "w": 44,
+ "h": 48
+ },
+ "frame": {
+ "x": 54,
+ "y": 95,
+ "w": 44,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 15,
+ "y": 0,
+ "w": 44,
+ "h": 48
+ },
+ "frame": {
+ "x": 48,
+ "y": 143,
+ "w": 44,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 17,
+ "y": 0,
+ "w": 43,
+ "h": 48
+ },
+ "frame": {
+ "x": 104,
+ "y": 48,
+ "w": 43,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 17,
+ "y": 0,
+ "w": 43,
+ "h": 48
+ },
+ "frame": {
+ "x": 104,
+ "y": 48,
+ "w": 43,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 17,
+ "y": 0,
+ "w": 43,
+ "h": 48
+ },
+ "frame": {
+ "x": 104,
+ "y": 48,
+ "w": 43,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 17,
+ "y": 0,
+ "w": 43,
+ "h": 48
+ },
+ "frame": {
+ "x": 104,
+ "y": 48,
+ "w": 43,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 17,
+ "y": 0,
+ "w": 43,
+ "h": 48
+ },
+ "frame": {
+ "x": 104,
+ "y": 48,
+ "w": 43,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 17,
+ "y": 0,
+ "w": 43,
+ "h": 48
+ },
+ "frame": {
+ "x": 104,
+ "y": 48,
+ "w": 43,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 17,
+ "y": 0,
+ "w": 43,
+ "h": 48
+ },
+ "frame": {
+ "x": 104,
+ "y": 48,
+ "w": 43,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 17,
+ "y": 0,
+ "w": 42,
+ "h": 48
+ },
+ "frame": {
+ "x": 147,
+ "y": 48,
+ "w": 42,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 98,
+ "y": 96,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 98,
+ "y": 96,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 98,
+ "y": 96,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 98,
+ "y": 96,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 98,
+ "y": 96,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 98,
+ "y": 96,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 98,
+ "y": 96,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 98,
+ "y": 96,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 98,
+ "y": 96,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 98,
+ "y": 96,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 98,
+ "y": 96,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 98,
+ "y": 96,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 98,
+ "y": 96,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 98,
+ "y": 96,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 98,
+ "y": 96,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 17,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 139,
+ "y": 96,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 17,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 139,
+ "y": 96,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 17,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 139,
+ "y": 96,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 17,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 139,
+ "y": 96,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 17,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 139,
+ "y": 96,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 17,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 139,
+ "y": 96,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 17,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 139,
+ "y": 96,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 92,
+ "y": 144,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 92,
+ "y": 144,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 133,
+ "y": 144,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 39,
+ "h": 48
+ },
+ "frame": {
+ "x": 180,
+ "y": 96,
+ "w": 39,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 39,
+ "h": 48
+ },
+ "frame": {
+ "x": 180,
+ "y": 96,
+ "w": 39,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 39,
+ "h": 48
+ },
+ "frame": {
+ "x": 180,
+ "y": 96,
+ "w": 39,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 39,
+ "h": 48
+ },
+ "frame": {
+ "x": 180,
+ "y": 96,
+ "w": 39,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 39,
+ "h": 48
+ },
+ "frame": {
+ "x": 180,
+ "y": 96,
+ "w": 39,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 39,
+ "h": 48
+ },
+ "frame": {
+ "x": 180,
+ "y": 96,
+ "w": 39,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 39,
+ "h": 48
+ },
+ "frame": {
+ "x": 180,
+ "y": 96,
+ "w": 39,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 39,
+ "h": 48
+ },
+ "frame": {
+ "x": 174,
+ "y": 144,
+ "w": 39,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 39,
+ "h": 48
+ },
+ "frame": {
+ "x": 174,
+ "y": 144,
+ "w": 39,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 39,
+ "h": 48
+ },
+ "frame": {
+ "x": 174,
+ "y": 144,
+ "w": 39,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 39,
+ "h": 48
+ },
+ "frame": {
+ "x": 174,
+ "y": 144,
+ "w": 39,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 39,
+ "h": 48
+ },
+ "frame": {
+ "x": 174,
+ "y": 144,
+ "w": 39,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 39,
+ "h": 48
+ },
+ "frame": {
+ "x": 174,
+ "y": 144,
+ "w": 39,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 39,
+ "h": 48
+ },
+ "frame": {
+ "x": 174,
+ "y": 144,
+ "w": 39,
+ "h": 48
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:cf70bf2fa66c37035eb9b4da1a4c93ff:11ac0c3ddb365960d306dba5909a72c7:92ecadef6e0cb53020b8cd41fbeaf2cd$"
+ }
+}
diff --git a/public/images/pokemon/exp/778-disguised.png b/public/images/pokemon/exp/778-disguised.png
new file mode 100644
index 00000000000..ba26b8db997
Binary files /dev/null and b/public/images/pokemon/exp/778-disguised.png differ
diff --git a/public/images/pokemon/exp/778.json b/public/images/pokemon/exp/778.json
deleted file mode 100644
index d3e2f8680b0..00000000000
--- a/public/images/pokemon/exp/778.json
+++ /dev/null
@@ -1,1343 +0,0 @@
-{
- "textures": [
- {
- "image": "778.png",
- "format": "RGBA8888",
- "size": {
- "w": 219,
- "h": 219
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0056.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 60,
- "h": 48
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 60,
- "h": 48
- }
- },
- {
- "filename": "0057.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 60,
- "h": 47
- },
- "frame": {
- "x": 0,
- "y": 48,
- "w": 60,
- "h": 47
- }
- },
- {
- "filename": "0055.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 0,
- "w": 57,
- "h": 48
- },
- "frame": {
- "x": 60,
- "y": 0,
- "w": 57,
- "h": 48
- }
- },
- {
- "filename": "0058.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 0,
- "w": 54,
- "h": 48
- },
- "frame": {
- "x": 0,
- "y": 95,
- "w": 54,
- "h": 48
- }
- },
- {
- "filename": "0059.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 52,
- "h": 48
- },
- "frame": {
- "x": 117,
- "y": 0,
- "w": 52,
- "h": 48
- }
- },
- {
- "filename": "0060.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 0,
- "w": 48,
- "h": 48
- },
- "frame": {
- "x": 0,
- "y": 143,
- "w": 48,
- "h": 48
- }
- },
- {
- "filename": "0054.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 0,
- "w": 47,
- "h": 48
- },
- "frame": {
- "x": 169,
- "y": 0,
- "w": 47,
- "h": 48
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 44,
- "h": 47
- },
- "frame": {
- "x": 60,
- "y": 48,
- "w": 44,
- "h": 47
- }
- },
- {
- "filename": "0011.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 44,
- "h": 47
- },
- "frame": {
- "x": 60,
- "y": 48,
- "w": 44,
- "h": 47
- }
- },
- {
- "filename": "0018.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 44,
- "h": 47
- },
- "frame": {
- "x": 60,
- "y": 48,
- "w": 44,
- "h": 47
- }
- },
- {
- "filename": "0025.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 44,
- "h": 47
- },
- "frame": {
- "x": 60,
- "y": 48,
- "w": 44,
- "h": 47
- }
- },
- {
- "filename": "0032.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 44,
- "h": 47
- },
- "frame": {
- "x": 60,
- "y": 48,
- "w": 44,
- "h": 47
- }
- },
- {
- "filename": "0039.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 44,
- "h": 47
- },
- "frame": {
- "x": 60,
- "y": 48,
- "w": 44,
- "h": 47
- }
- },
- {
- "filename": "0046.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 44,
- "h": 47
- },
- "frame": {
- "x": 60,
- "y": 48,
- "w": 44,
- "h": 47
- }
- },
- {
- "filename": "0053.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 0,
- "w": 44,
- "h": 48
- },
- "frame": {
- "x": 54,
- "y": 95,
- "w": 44,
- "h": 48
- }
- },
- {
- "filename": "0061.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 0,
- "w": 44,
- "h": 48
- },
- "frame": {
- "x": 48,
- "y": 143,
- "w": 44,
- "h": 48
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 43,
- "h": 48
- },
- "frame": {
- "x": 104,
- "y": 48,
- "w": 43,
- "h": 48
- }
- },
- {
- "filename": "0010.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 43,
- "h": 48
- },
- "frame": {
- "x": 104,
- "y": 48,
- "w": 43,
- "h": 48
- }
- },
- {
- "filename": "0017.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 43,
- "h": 48
- },
- "frame": {
- "x": 104,
- "y": 48,
- "w": 43,
- "h": 48
- }
- },
- {
- "filename": "0024.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 43,
- "h": 48
- },
- "frame": {
- "x": 104,
- "y": 48,
- "w": 43,
- "h": 48
- }
- },
- {
- "filename": "0031.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 43,
- "h": 48
- },
- "frame": {
- "x": 104,
- "y": 48,
- "w": 43,
- "h": 48
- }
- },
- {
- "filename": "0038.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 43,
- "h": 48
- },
- "frame": {
- "x": 104,
- "y": 48,
- "w": 43,
- "h": 48
- }
- },
- {
- "filename": "0045.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 43,
- "h": 48
- },
- "frame": {
- "x": 104,
- "y": 48,
- "w": 43,
- "h": 48
- }
- },
- {
- "filename": "0052.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 42,
- "h": 48
- },
- "frame": {
- "x": 147,
- "y": 48,
- "w": 42,
- "h": 48
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 98,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 98,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0008.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 98,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0009.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 98,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0015.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 98,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0016.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 98,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0022.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 98,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0023.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 98,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0029.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 98,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0030.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 98,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0036.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 98,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0037.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 98,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0043.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 98,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0044.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 98,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0050.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 98,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0005.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 139,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0012.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 139,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0019.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 139,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0026.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 139,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0033.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 139,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0040.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 139,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0047.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 139,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0051.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 92,
- "y": 144,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0063.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 92,
- "y": 144,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0062.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 133,
- "y": 144,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0006.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 39,
- "h": 48
- },
- "frame": {
- "x": 180,
- "y": 96,
- "w": 39,
- "h": 48
- }
- },
- {
- "filename": "0013.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 39,
- "h": 48
- },
- "frame": {
- "x": 180,
- "y": 96,
- "w": 39,
- "h": 48
- }
- },
- {
- "filename": "0020.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 39,
- "h": 48
- },
- "frame": {
- "x": 180,
- "y": 96,
- "w": 39,
- "h": 48
- }
- },
- {
- "filename": "0027.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 39,
- "h": 48
- },
- "frame": {
- "x": 180,
- "y": 96,
- "w": 39,
- "h": 48
- }
- },
- {
- "filename": "0034.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 39,
- "h": 48
- },
- "frame": {
- "x": 180,
- "y": 96,
- "w": 39,
- "h": 48
- }
- },
- {
- "filename": "0041.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 39,
- "h": 48
- },
- "frame": {
- "x": 180,
- "y": 96,
- "w": 39,
- "h": 48
- }
- },
- {
- "filename": "0048.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 39,
- "h": 48
- },
- "frame": {
- "x": 180,
- "y": 96,
- "w": 39,
- "h": 48
- }
- },
- {
- "filename": "0007.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 39,
- "h": 48
- },
- "frame": {
- "x": 174,
- "y": 144,
- "w": 39,
- "h": 48
- }
- },
- {
- "filename": "0014.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 39,
- "h": 48
- },
- "frame": {
- "x": 174,
- "y": 144,
- "w": 39,
- "h": 48
- }
- },
- {
- "filename": "0021.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 39,
- "h": 48
- },
- "frame": {
- "x": 174,
- "y": 144,
- "w": 39,
- "h": 48
- }
- },
- {
- "filename": "0028.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 39,
- "h": 48
- },
- "frame": {
- "x": 174,
- "y": 144,
- "w": 39,
- "h": 48
- }
- },
- {
- "filename": "0035.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 39,
- "h": 48
- },
- "frame": {
- "x": 174,
- "y": 144,
- "w": 39,
- "h": 48
- }
- },
- {
- "filename": "0042.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 39,
- "h": 48
- },
- "frame": {
- "x": 174,
- "y": 144,
- "w": 39,
- "h": 48
- }
- },
- {
- "filename": "0049.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 39,
- "h": 48
- },
- "frame": {
- "x": 174,
- "y": 144,
- "w": 39,
- "h": 48
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:cf70bf2fa66c37035eb9b4da1a4c93ff:11ac0c3ddb365960d306dba5909a72c7:92ecadef6e0cb53020b8cd41fbeaf2cd$"
- }
-}
diff --git a/public/images/pokemon/exp/778.png b/public/images/pokemon/exp/778.png
deleted file mode 100644
index 7830266be07..00000000000
Binary files a/public/images/pokemon/exp/778.png and /dev/null differ
diff --git a/public/images/pokemon/exp/818.png b/public/images/pokemon/exp/818.png
index 8023d831dde..ff767c962a4 100644
Binary files a/public/images/pokemon/exp/818.png and b/public/images/pokemon/exp/818.png differ
diff --git a/public/images/pokemon/exp/864.png b/public/images/pokemon/exp/864.png
index 079b1f6a681..036e2b9e40f 100644
Binary files a/public/images/pokemon/exp/864.png and b/public/images/pokemon/exp/864.png differ
diff --git a/public/images/pokemon/exp/876-female.png b/public/images/pokemon/exp/876-female.png
index 13661e882e8..eb61b85e351 100644
Binary files a/public/images/pokemon/exp/876-female.png and b/public/images/pokemon/exp/876-female.png differ
diff --git a/public/images/pokemon/exp/876.png b/public/images/pokemon/exp/876.png
index c996c2b89e4..e1c47e16c0c 100644
Binary files a/public/images/pokemon/exp/876.png and b/public/images/pokemon/exp/876.png differ
diff --git a/public/images/pokemon/exp/896.png b/public/images/pokemon/exp/896.png
index c7b041cbc83..f6f646aec65 100644
Binary files a/public/images/pokemon/exp/896.png and b/public/images/pokemon/exp/896.png differ
diff --git a/public/images/pokemon/exp/898-ice.png b/public/images/pokemon/exp/898-ice.png
index 0aa95bddca7..c7c00f5551d 100644
Binary files a/public/images/pokemon/exp/898-ice.png and b/public/images/pokemon/exp/898-ice.png differ
diff --git a/public/images/pokemon/exp/974.png b/public/images/pokemon/exp/974.png
index e7d96b6bd5c..e016f114cce 100644
Binary files a/public/images/pokemon/exp/974.png and b/public/images/pokemon/exp/974.png differ
diff --git a/public/images/pokemon/exp/975.png b/public/images/pokemon/exp/975.png
index cbcaf32b1e2..a0683befc3b 100644
Binary files a/public/images/pokemon/exp/975.png and b/public/images/pokemon/exp/975.png differ
diff --git a/public/images/pokemon/exp/back/2053.json b/public/images/pokemon/exp/back/2053.json
new file mode 100644
index 00000000000..1cf3867377b
--- /dev/null
+++ b/public/images/pokemon/exp/back/2053.json
@@ -0,0 +1,230 @@
+{
+ "textures": [
+ {
+ "image": "2053.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 201,
+ "h": 201
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 71,
+ "h": 54
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 70,
+ "h": 52
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 70,
+ "h": 52
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 71,
+ "h": 54
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 70,
+ "h": 52
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 70,
+ "h": 52
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 71,
+ "h": 54
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 70,
+ "h": 50
+ },
+ "frame": {
+ "x": 70,
+ "y": 0,
+ "w": 70,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 71,
+ "h": 54
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 69,
+ "h": 53
+ },
+ "frame": {
+ "x": 70,
+ "y": 50,
+ "w": 69,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 71,
+ "h": 54
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 69,
+ "h": 53
+ },
+ "frame": {
+ "x": 70,
+ "y": 50,
+ "w": 69,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 71,
+ "h": 54
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 67,
+ "h": 54
+ },
+ "frame": {
+ "x": 0,
+ "y": 52,
+ "w": 67,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 71,
+ "h": 54
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 67,
+ "h": 54
+ },
+ "frame": {
+ "x": 0,
+ "y": 52,
+ "w": 67,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 71,
+ "h": 54
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 67,
+ "h": 54
+ },
+ "frame": {
+ "x": 0,
+ "y": 106,
+ "w": 67,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 71,
+ "h": 54
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 67,
+ "h": 54
+ },
+ "frame": {
+ "x": 67,
+ "y": 103,
+ "w": 67,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 71,
+ "h": 54
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 67,
+ "h": 53
+ },
+ "frame": {
+ "x": 134,
+ "y": 103,
+ "w": 67,
+ "h": 53
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:04989f8a95f62870bc78765a40825263:e4b0b4c7d7357615b8c0dc192e1440b7:dd9440d54af5b14210c0ed9775d82426$"
+ }
+}
diff --git a/public/images/pokemon/exp/back/4053.png b/public/images/pokemon/exp/back/2053.png
similarity index 100%
rename from public/images/pokemon/exp/back/4053.png
rename to public/images/pokemon/exp/back/2053.png
diff --git a/public/images/pokemon/exp/back/229-mega.png b/public/images/pokemon/exp/back/229-mega.png
index c9f3ad57e64..aae59a3a1d0 100644
Binary files a/public/images/pokemon/exp/back/229-mega.png and b/public/images/pokemon/exp/back/229-mega.png differ
diff --git a/public/images/pokemon/exp/back/4053.json b/public/images/pokemon/exp/back/4053.json
deleted file mode 100644
index ffa3e356cac..00000000000
--- a/public/images/pokemon/exp/back/4053.json
+++ /dev/null
@@ -1,230 +0,0 @@
-{
- "textures": [
- {
- "image": "4053.png",
- "format": "RGBA8888",
- "size": {
- "w": 201,
- "h": 201
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0005.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 71,
- "h": 54
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 70,
- "h": 52
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 70,
- "h": 52
- }
- },
- {
- "filename": "0007.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 71,
- "h": 54
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 70,
- "h": 52
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 70,
- "h": 52
- }
- },
- {
- "filename": "0006.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 71,
- "h": 54
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 4,
- "w": 70,
- "h": 50
- },
- "frame": {
- "x": 70,
- "y": 0,
- "w": 70,
- "h": 50
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 71,
- "h": 54
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 69,
- "h": 53
- },
- "frame": {
- "x": 70,
- "y": 50,
- "w": 69,
- "h": 53
- }
- },
- {
- "filename": "0008.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 71,
- "h": 54
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 69,
- "h": 53
- },
- "frame": {
- "x": 70,
- "y": 50,
- "w": 69,
- "h": 53
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 71,
- "h": 54
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 54
- },
- "frame": {
- "x": 0,
- "y": 52,
- "w": 67,
- "h": 54
- }
- },
- {
- "filename": "0010.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 71,
- "h": 54
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 54
- },
- "frame": {
- "x": 0,
- "y": 52,
- "w": 67,
- "h": 54
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 71,
- "h": 54
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 54
- },
- "frame": {
- "x": 0,
- "y": 106,
- "w": 67,
- "h": 54
- }
- },
- {
- "filename": "0009.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 71,
- "h": 54
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 54
- },
- "frame": {
- "x": 67,
- "y": 103,
- "w": 67,
- "h": 54
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 71,
- "h": 54
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 53
- },
- "frame": {
- "x": 134,
- "y": 103,
- "w": 67,
- "h": 53
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:04989f8a95f62870bc78765a40825263:e4b0b4c7d7357615b8c0dc192e1440b7:dd9440d54af5b14210c0ed9775d82426$"
- }
-}
diff --git a/public/images/pokemon/exp/back/772.png b/public/images/pokemon/exp/back/772.png
index 08c5c7f6145..b287c20b1cb 100644
Binary files a/public/images/pokemon/exp/back/772.png and b/public/images/pokemon/exp/back/772.png differ
diff --git a/public/images/pokemon/exp/back/773-bug.png b/public/images/pokemon/exp/back/773-bug.png
index 1a7163b065a..322f4dbc2f1 100644
Binary files a/public/images/pokemon/exp/back/773-bug.png and b/public/images/pokemon/exp/back/773-bug.png differ
diff --git a/public/images/pokemon/exp/back/773-dark.png b/public/images/pokemon/exp/back/773-dark.png
index 213b51358ca..cc69ffb6cc0 100644
Binary files a/public/images/pokemon/exp/back/773-dark.png and b/public/images/pokemon/exp/back/773-dark.png differ
diff --git a/public/images/pokemon/exp/back/773-dragon.png b/public/images/pokemon/exp/back/773-dragon.png
index 6da4fd3cc97..1a80d5e1983 100644
Binary files a/public/images/pokemon/exp/back/773-dragon.png and b/public/images/pokemon/exp/back/773-dragon.png differ
diff --git a/public/images/pokemon/exp/back/773-electric.png b/public/images/pokemon/exp/back/773-electric.png
index d2a39e53010..ebec2f1e4d5 100644
Binary files a/public/images/pokemon/exp/back/773-electric.png and b/public/images/pokemon/exp/back/773-electric.png differ
diff --git a/public/images/pokemon/exp/back/773-fairy.png b/public/images/pokemon/exp/back/773-fairy.png
index ddaabc0f878..46eb2b92546 100644
Binary files a/public/images/pokemon/exp/back/773-fairy.png and b/public/images/pokemon/exp/back/773-fairy.png differ
diff --git a/public/images/pokemon/exp/back/773-fighting.png b/public/images/pokemon/exp/back/773-fighting.png
index 27ab17bebb4..53ad206374e 100644
Binary files a/public/images/pokemon/exp/back/773-fighting.png and b/public/images/pokemon/exp/back/773-fighting.png differ
diff --git a/public/images/pokemon/exp/back/773-fire.png b/public/images/pokemon/exp/back/773-fire.png
index 04f5ce067ac..4b73b96dae8 100644
Binary files a/public/images/pokemon/exp/back/773-fire.png and b/public/images/pokemon/exp/back/773-fire.png differ
diff --git a/public/images/pokemon/exp/back/773-flying.png b/public/images/pokemon/exp/back/773-flying.png
index db6e6837991..4b16693a806 100644
Binary files a/public/images/pokemon/exp/back/773-flying.png and b/public/images/pokemon/exp/back/773-flying.png differ
diff --git a/public/images/pokemon/exp/back/773-ghost.png b/public/images/pokemon/exp/back/773-ghost.png
index 79520b5f2f3..3d61e58d6d0 100644
Binary files a/public/images/pokemon/exp/back/773-ghost.png and b/public/images/pokemon/exp/back/773-ghost.png differ
diff --git a/public/images/pokemon/exp/back/773-grass.png b/public/images/pokemon/exp/back/773-grass.png
index 94b349f016b..424528d35b9 100644
Binary files a/public/images/pokemon/exp/back/773-grass.png and b/public/images/pokemon/exp/back/773-grass.png differ
diff --git a/public/images/pokemon/exp/back/773-ground.png b/public/images/pokemon/exp/back/773-ground.png
index c869b227443..e6f562ef149 100644
Binary files a/public/images/pokemon/exp/back/773-ground.png and b/public/images/pokemon/exp/back/773-ground.png differ
diff --git a/public/images/pokemon/exp/back/773-ice.png b/public/images/pokemon/exp/back/773-ice.png
index 603380bf184..1a07f4c409d 100644
Binary files a/public/images/pokemon/exp/back/773-ice.png and b/public/images/pokemon/exp/back/773-ice.png differ
diff --git a/public/images/pokemon/exp/back/773-poison.png b/public/images/pokemon/exp/back/773-poison.png
index 30b7c0cb73e..c1671ed4e7e 100644
Binary files a/public/images/pokemon/exp/back/773-poison.png and b/public/images/pokemon/exp/back/773-poison.png differ
diff --git a/public/images/pokemon/exp/back/773-psychic.png b/public/images/pokemon/exp/back/773-psychic.png
index 49db0c22977..536ae0dc094 100644
Binary files a/public/images/pokemon/exp/back/773-psychic.png and b/public/images/pokemon/exp/back/773-psychic.png differ
diff --git a/public/images/pokemon/exp/back/773-rock.png b/public/images/pokemon/exp/back/773-rock.png
index a26a920331a..df9896c3474 100644
Binary files a/public/images/pokemon/exp/back/773-rock.png and b/public/images/pokemon/exp/back/773-rock.png differ
diff --git a/public/images/pokemon/exp/back/773-steel.png b/public/images/pokemon/exp/back/773-steel.png
index a26a920331a..90d784486b9 100644
Binary files a/public/images/pokemon/exp/back/773-steel.png and b/public/images/pokemon/exp/back/773-steel.png differ
diff --git a/public/images/pokemon/exp/back/773-water.png b/public/images/pokemon/exp/back/773-water.png
index 4b15699dc33..af2332e315a 100644
Binary files a/public/images/pokemon/exp/back/773-water.png and b/public/images/pokemon/exp/back/773-water.png differ
diff --git a/public/images/pokemon/exp/back/773.png b/public/images/pokemon/exp/back/773.png
index 65068aa5b0b..ab0a7285c8c 100644
Binary files a/public/images/pokemon/exp/back/773.png and b/public/images/pokemon/exp/back/773.png differ
diff --git a/public/images/pokemon/exp/back/776.png b/public/images/pokemon/exp/back/776.png
index ebf144955eb..6e0c7026d56 100644
Binary files a/public/images/pokemon/exp/back/776.png and b/public/images/pokemon/exp/back/776.png differ
diff --git a/public/images/pokemon/exp/back/777.json b/public/images/pokemon/exp/back/777.json
index 887eb7bdf53..11ba80d2829 100644
--- a/public/images/pokemon/exp/back/777.json
+++ b/public/images/pokemon/exp/back/777.json
@@ -1,2120 +1,965 @@
-{
- "textures": [
- {
- "image": "777.png",
- "format": "RGBA8888",
- "size": {
- "w": 124,
- "h": 124
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0079.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 43,
- "h": 39
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 39
- }
- },
- {
- "filename": "0080.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 43,
- "h": 39
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 39
- }
- },
- {
- "filename": "0083.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 43,
- "h": 39
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 39
- }
- },
- {
- "filename": "0084.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 43,
- "h": 39
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 39
- }
- },
- {
- "filename": "0087.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 43,
- "h": 39
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 39
- }
- },
- {
- "filename": "0088.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 43,
- "h": 39
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 39
- }
- },
- {
- "filename": "0091.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 43,
- "h": 39
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 39
- }
- },
- {
- "filename": "0092.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 43,
- "h": 39
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 39
- }
- },
- {
- "filename": "0095.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 43,
- "h": 39
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 39
- }
- },
- {
- "filename": "0096.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 43,
- "h": 39
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 39
- }
- },
- {
- "filename": "0081.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 43,
- "h": 38
- },
- "frame": {
- "x": 43,
- "y": 0,
- "w": 43,
- "h": 38
- }
- },
- {
- "filename": "0082.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 43,
- "h": 38
- },
- "frame": {
- "x": 43,
- "y": 0,
- "w": 43,
- "h": 38
- }
- },
- {
- "filename": "0085.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 43,
- "h": 38
- },
- "frame": {
- "x": 43,
- "y": 0,
- "w": 43,
- "h": 38
- }
- },
- {
- "filename": "0086.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 43,
- "h": 38
- },
- "frame": {
- "x": 43,
- "y": 0,
- "w": 43,
- "h": 38
- }
- },
- {
- "filename": "0089.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 43,
- "h": 38
- },
- "frame": {
- "x": 43,
- "y": 0,
- "w": 43,
- "h": 38
- }
- },
- {
- "filename": "0090.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 43,
- "h": 38
- },
- "frame": {
- "x": 43,
- "y": 0,
- "w": 43,
- "h": 38
- }
- },
- {
- "filename": "0093.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 43,
- "h": 38
- },
- "frame": {
- "x": 43,
- "y": 0,
- "w": 43,
- "h": 38
- }
- },
- {
- "filename": "0094.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 43,
- "h": 38
- },
- "frame": {
- "x": 43,
- "y": 0,
- "w": 43,
- "h": 38
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 0,
- "w": 42,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 38,
- "w": 42,
- "h": 40
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 0,
- "w": 42,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 38,
- "w": 42,
- "h": 40
- }
- },
- {
- "filename": "0011.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 0,
- "w": 42,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 38,
- "w": 42,
- "h": 40
- }
- },
- {
- "filename": "0012.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 0,
- "w": 42,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 38,
- "w": 42,
- "h": 40
- }
- },
- {
- "filename": "0015.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 0,
- "w": 42,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 38,
- "w": 42,
- "h": 40
- }
- },
- {
- "filename": "0016.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 0,
- "w": 42,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 38,
- "w": 42,
- "h": 40
- }
- },
- {
- "filename": "0023.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 0,
- "w": 42,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 38,
- "w": 42,
- "h": 40
- }
- },
- {
- "filename": "0024.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 0,
- "w": 42,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 38,
- "w": 42,
- "h": 40
- }
- },
- {
- "filename": "0027.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 0,
- "w": 42,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 38,
- "w": 42,
- "h": 40
- }
- },
- {
- "filename": "0028.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 0,
- "w": 42,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 38,
- "w": 42,
- "h": 40
- }
- },
- {
- "filename": "0035.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 0,
- "w": 42,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 38,
- "w": 42,
- "h": 40
- }
- },
- {
- "filename": "0036.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 0,
- "w": 42,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 38,
- "w": 42,
- "h": 40
- }
- },
- {
- "filename": "0039.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 0,
- "w": 42,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 38,
- "w": 42,
- "h": 40
- }
- },
- {
- "filename": "0040.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 0,
- "w": 42,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 38,
- "w": 42,
- "h": 40
- }
- },
- {
- "filename": "0047.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 0,
- "w": 42,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 38,
- "w": 42,
- "h": 40
- }
- },
- {
- "filename": "0048.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 0,
- "w": 42,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 38,
- "w": 42,
- "h": 40
- }
- },
- {
- "filename": "0051.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 0,
- "w": 42,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 38,
- "w": 42,
- "h": 40
- }
- },
- {
- "filename": "0052.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 0,
- "w": 42,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 38,
- "w": 42,
- "h": 40
- }
- },
- {
- "filename": "0059.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 0,
- "w": 42,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 38,
- "w": 42,
- "h": 40
- }
- },
- {
- "filename": "0060.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 0,
- "w": 42,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 38,
- "w": 42,
- "h": 40
- }
- },
- {
- "filename": "0063.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 0,
- "w": 42,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 38,
- "w": 42,
- "h": 40
- }
- },
- {
- "filename": "0064.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 0,
- "w": 42,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 38,
- "w": 42,
- "h": 40
- }
- },
- {
- "filename": "0071.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 0,
- "w": 42,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 38,
- "w": 42,
- "h": 40
- }
- },
- {
- "filename": "0072.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 0,
- "w": 42,
- "h": 40
- },
- "frame": {
- "x": 43,
- "y": 38,
- "w": 42,
- "h": 40
- }
- },
- {
- "filename": "0077.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 0,
- "w": 42,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 39,
- "w": 42,
- "h": 40
- }
- },
- {
- "filename": "0078.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 0,
- "w": 42,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 39,
- "w": 42,
- "h": 40
- }
- },
- {
- "filename": "0097.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 0,
- "w": 42,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 39,
- "w": 42,
- "h": 40
- }
- },
- {
- "filename": "0098.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 0,
- "w": 42,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 39,
- "w": 42,
- "h": 40
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 0,
- "w": 41,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 79,
- "w": 41,
- "h": 40
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 0,
- "w": 41,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 79,
- "w": 41,
- "h": 40
- }
- },
- {
- "filename": "0013.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 0,
- "w": 41,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 79,
- "w": 41,
- "h": 40
- }
- },
- {
- "filename": "0014.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 0,
- "w": 41,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 79,
- "w": 41,
- "h": 40
- }
- },
- {
- "filename": "0025.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 0,
- "w": 41,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 79,
- "w": 41,
- "h": 40
- }
- },
- {
- "filename": "0026.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 0,
- "w": 41,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 79,
- "w": 41,
- "h": 40
- }
- },
- {
- "filename": "0037.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 0,
- "w": 41,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 79,
- "w": 41,
- "h": 40
- }
- },
- {
- "filename": "0038.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 0,
- "w": 41,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 79,
- "w": 41,
- "h": 40
- }
- },
- {
- "filename": "0049.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 0,
- "w": 41,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 79,
- "w": 41,
- "h": 40
- }
- },
- {
- "filename": "0050.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 0,
- "w": 41,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 79,
- "w": 41,
- "h": 40
- }
- },
- {
- "filename": "0061.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 0,
- "w": 41,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 79,
- "w": 41,
- "h": 40
- }
- },
- {
- "filename": "0062.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 0,
- "w": 41,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 79,
- "w": 41,
- "h": 40
- }
- },
- {
- "filename": "0073.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 0,
- "w": 41,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 79,
- "w": 41,
- "h": 40
- }
- },
- {
- "filename": "0074.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 0,
- "w": 41,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 79,
- "w": 41,
- "h": 40
- }
- },
- {
- "filename": "0075.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 0,
- "w": 41,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 79,
- "w": 41,
- "h": 40
- }
- },
- {
- "filename": "0076.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 0,
- "w": 41,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 79,
- "w": 41,
- "h": 40
- }
- },
- {
- "filename": "0099.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 0,
- "w": 41,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 79,
- "w": 41,
- "h": 40
- }
- },
- {
- "filename": "0100.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 0,
- "w": 41,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 79,
- "w": 41,
- "h": 40
- }
- },
- {
- "filename": "0005.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 2,
- "w": 42,
- "h": 38
- },
- "frame": {
- "x": 41,
- "y": 79,
- "w": 42,
- "h": 38
- }
- },
- {
- "filename": "0006.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 2,
- "w": 42,
- "h": 38
- },
- "frame": {
- "x": 41,
- "y": 79,
- "w": 42,
- "h": 38
- }
- },
- {
- "filename": "0009.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 2,
- "w": 42,
- "h": 38
- },
- "frame": {
- "x": 41,
- "y": 79,
- "w": 42,
- "h": 38
- }
- },
- {
- "filename": "0010.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 2,
- "w": 42,
- "h": 38
- },
- "frame": {
- "x": 41,
- "y": 79,
- "w": 42,
- "h": 38
- }
- },
- {
- "filename": "0017.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 2,
- "w": 42,
- "h": 38
- },
- "frame": {
- "x": 41,
- "y": 79,
- "w": 42,
- "h": 38
- }
- },
- {
- "filename": "0018.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 2,
- "w": 42,
- "h": 38
- },
- "frame": {
- "x": 41,
- "y": 79,
- "w": 42,
- "h": 38
- }
- },
- {
- "filename": "0021.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 2,
- "w": 42,
- "h": 38
- },
- "frame": {
- "x": 41,
- "y": 79,
- "w": 42,
- "h": 38
- }
- },
- {
- "filename": "0022.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 2,
- "w": 42,
- "h": 38
- },
- "frame": {
- "x": 41,
- "y": 79,
- "w": 42,
- "h": 38
- }
- },
- {
- "filename": "0029.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 2,
- "w": 42,
- "h": 38
- },
- "frame": {
- "x": 41,
- "y": 79,
- "w": 42,
- "h": 38
- }
- },
- {
- "filename": "0030.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 2,
- "w": 42,
- "h": 38
- },
- "frame": {
- "x": 41,
- "y": 79,
- "w": 42,
- "h": 38
- }
- },
- {
- "filename": "0033.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 2,
- "w": 42,
- "h": 38
- },
- "frame": {
- "x": 41,
- "y": 79,
- "w": 42,
- "h": 38
- }
- },
- {
- "filename": "0034.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 2,
- "w": 42,
- "h": 38
- },
- "frame": {
- "x": 41,
- "y": 79,
- "w": 42,
- "h": 38
- }
- },
- {
- "filename": "0041.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 2,
- "w": 42,
- "h": 38
- },
- "frame": {
- "x": 41,
- "y": 79,
- "w": 42,
- "h": 38
- }
- },
- {
- "filename": "0042.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 2,
- "w": 42,
- "h": 38
- },
- "frame": {
- "x": 41,
- "y": 79,
- "w": 42,
- "h": 38
- }
- },
- {
- "filename": "0045.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 2,
- "w": 42,
- "h": 38
- },
- "frame": {
- "x": 41,
- "y": 79,
- "w": 42,
- "h": 38
- }
- },
- {
- "filename": "0046.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 2,
- "w": 42,
- "h": 38
- },
- "frame": {
- "x": 41,
- "y": 79,
- "w": 42,
- "h": 38
- }
- },
- {
- "filename": "0053.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 2,
- "w": 42,
- "h": 38
- },
- "frame": {
- "x": 41,
- "y": 79,
- "w": 42,
- "h": 38
- }
- },
- {
- "filename": "0054.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 2,
- "w": 42,
- "h": 38
- },
- "frame": {
- "x": 41,
- "y": 79,
- "w": 42,
- "h": 38
- }
- },
- {
- "filename": "0057.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 2,
- "w": 42,
- "h": 38
- },
- "frame": {
- "x": 41,
- "y": 79,
- "w": 42,
- "h": 38
- }
- },
- {
- "filename": "0058.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 2,
- "w": 42,
- "h": 38
- },
- "frame": {
- "x": 41,
- "y": 79,
- "w": 42,
- "h": 38
- }
- },
- {
- "filename": "0065.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 2,
- "w": 42,
- "h": 38
- },
- "frame": {
- "x": 41,
- "y": 79,
- "w": 42,
- "h": 38
- }
- },
- {
- "filename": "0066.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 2,
- "w": 42,
- "h": 38
- },
- "frame": {
- "x": 41,
- "y": 79,
- "w": 42,
- "h": 38
- }
- },
- {
- "filename": "0069.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 2,
- "w": 42,
- "h": 38
- },
- "frame": {
- "x": 41,
- "y": 79,
- "w": 42,
- "h": 38
- }
- },
- {
- "filename": "0070.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 2,
- "w": 42,
- "h": 38
- },
- "frame": {
- "x": 41,
- "y": 79,
- "w": 42,
- "h": 38
- }
- },
- {
- "filename": "0007.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 3,
- "w": 41,
- "h": 37
- },
- "frame": {
- "x": 83,
- "y": 78,
- "w": 41,
- "h": 37
- }
- },
- {
- "filename": "0008.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 3,
- "w": 41,
- "h": 37
- },
- "frame": {
- "x": 83,
- "y": 78,
- "w": 41,
- "h": 37
- }
- },
- {
- "filename": "0019.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 3,
- "w": 41,
- "h": 37
- },
- "frame": {
- "x": 83,
- "y": 78,
- "w": 41,
- "h": 37
- }
- },
- {
- "filename": "0020.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 3,
- "w": 41,
- "h": 37
- },
- "frame": {
- "x": 83,
- "y": 78,
- "w": 41,
- "h": 37
- }
- },
- {
- "filename": "0031.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 3,
- "w": 41,
- "h": 37
- },
- "frame": {
- "x": 83,
- "y": 78,
- "w": 41,
- "h": 37
- }
- },
- {
- "filename": "0032.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 3,
- "w": 41,
- "h": 37
- },
- "frame": {
- "x": 83,
- "y": 78,
- "w": 41,
- "h": 37
- }
- },
- {
- "filename": "0043.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 3,
- "w": 41,
- "h": 37
- },
- "frame": {
- "x": 83,
- "y": 78,
- "w": 41,
- "h": 37
- }
- },
- {
- "filename": "0044.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 3,
- "w": 41,
- "h": 37
- },
- "frame": {
- "x": 83,
- "y": 78,
- "w": 41,
- "h": 37
- }
- },
- {
- "filename": "0055.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 3,
- "w": 41,
- "h": 37
- },
- "frame": {
- "x": 83,
- "y": 78,
- "w": 41,
- "h": 37
- }
- },
- {
- "filename": "0056.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 3,
- "w": 41,
- "h": 37
- },
- "frame": {
- "x": 83,
- "y": 78,
- "w": 41,
- "h": 37
- }
- },
- {
- "filename": "0067.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 3,
- "w": 41,
- "h": 37
- },
- "frame": {
- "x": 83,
- "y": 78,
- "w": 41,
- "h": 37
- }
- },
- {
- "filename": "0068.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 43,
- "h": 40
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 3,
- "w": 41,
- "h": 37
- },
- "frame": {
- "x": 83,
- "y": 78,
- "w": 41,
- "h": 37
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:2dbd46b9793f162e90106f1b36821a1f:3d27ff415f06e64d0035cfc97a637a97:1aa6e90a0c99d7990e17ee8433a9373d$"
- }
-}
+{
+ "textures": [
+ {
+ "image": "777.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 150,
+ "h": 150
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 41,
+ "h": 42
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 41,
+ "h": 42
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 41,
+ "h": 42
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 41,
+ "h": 42
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 41,
+ "h": 42
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 40,
+ "h": 43
+ },
+ "frame": {
+ "x": 0,
+ "y": 42,
+ "w": 40,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 40,
+ "h": 43
+ },
+ "frame": {
+ "x": 0,
+ "y": 42,
+ "w": 40,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 40,
+ "h": 43
+ },
+ "frame": {
+ "x": 0,
+ "y": 42,
+ "w": 40,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 40,
+ "h": 43
+ },
+ "frame": {
+ "x": 0,
+ "y": 42,
+ "w": 40,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 40,
+ "h": 43
+ },
+ "frame": {
+ "x": 0,
+ "y": 42,
+ "w": 40,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 39,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 85,
+ "w": 39,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 39,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 85,
+ "w": 39,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 39,
+ "y": 85,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 39,
+ "y": 85,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 41,
+ "h": 41
+ },
+ "frame": {
+ "x": 40,
+ "y": 42,
+ "w": 41,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 41,
+ "h": 41
+ },
+ "frame": {
+ "x": 40,
+ "y": 42,
+ "w": 41,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 41,
+ "h": 41
+ },
+ "frame": {
+ "x": 40,
+ "y": 42,
+ "w": 41,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 41,
+ "h": 41
+ },
+ "frame": {
+ "x": 40,
+ "y": 42,
+ "w": 41,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 41,
+ "h": 41
+ },
+ "frame": {
+ "x": 40,
+ "y": 42,
+ "w": 41,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 41,
+ "h": 41
+ },
+ "frame": {
+ "x": 40,
+ "y": 42,
+ "w": 41,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 41,
+ "h": 41
+ },
+ "frame": {
+ "x": 40,
+ "y": 42,
+ "w": 41,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 41,
+ "h": 41
+ },
+ "frame": {
+ "x": 40,
+ "y": 42,
+ "w": 41,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 41,
+ "h": 41
+ },
+ "frame": {
+ "x": 40,
+ "y": 42,
+ "w": 41,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 41,
+ "h": 40
+ },
+ "frame": {
+ "x": 41,
+ "y": 0,
+ "w": 41,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 41,
+ "h": 40
+ },
+ "frame": {
+ "x": 41,
+ "y": 0,
+ "w": 41,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 41,
+ "h": 40
+ },
+ "frame": {
+ "x": 41,
+ "y": 0,
+ "w": 41,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 41,
+ "h": 40
+ },
+ "frame": {
+ "x": 41,
+ "y": 0,
+ "w": 41,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 41,
+ "h": 40
+ },
+ "frame": {
+ "x": 41,
+ "y": 0,
+ "w": 41,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 76,
+ "y": 83,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 76,
+ "y": 83,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 7,
+ "w": 41,
+ "h": 39
+ },
+ "frame": {
+ "x": 81,
+ "y": 40,
+ "w": 41,
+ "h": 39
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 7,
+ "w": 41,
+ "h": 39
+ },
+ "frame": {
+ "x": 81,
+ "y": 40,
+ "w": 41,
+ "h": 39
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 7,
+ "w": 41,
+ "h": 39
+ },
+ "frame": {
+ "x": 81,
+ "y": 40,
+ "w": 41,
+ "h": 39
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 7,
+ "w": 41,
+ "h": 39
+ },
+ "frame": {
+ "x": 81,
+ "y": 40,
+ "w": 41,
+ "h": 39
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 7,
+ "w": 41,
+ "h": 39
+ },
+ "frame": {
+ "x": 81,
+ "y": 40,
+ "w": 41,
+ "h": 39
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 113,
+ "y": 79,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 113,
+ "y": 79,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 113,
+ "y": 79,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 113,
+ "y": 79,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 37,
+ "h": 46
+ },
+ "frame": {
+ "x": 113,
+ "y": 79,
+ "w": 37,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 9,
+ "w": 41,
+ "h": 37
+ },
+ "frame": {
+ "x": 82,
+ "y": 0,
+ "w": 41,
+ "h": 37
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 9,
+ "w": 41,
+ "h": 37
+ },
+ "frame": {
+ "x": 82,
+ "y": 0,
+ "w": 41,
+ "h": 37
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 9,
+ "w": 41,
+ "h": 37
+ },
+ "frame": {
+ "x": 82,
+ "y": 0,
+ "w": 41,
+ "h": 37
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 9,
+ "w": 41,
+ "h": 37
+ },
+ "frame": {
+ "x": 82,
+ "y": 0,
+ "w": 41,
+ "h": 37
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 9,
+ "w": 41,
+ "h": 37
+ },
+ "frame": {
+ "x": 82,
+ "y": 0,
+ "w": 41,
+ "h": 37
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:ea3aa51a897b4eb2472f9262bd2f4ae1:daca7bf6ec12e75114380eb80da152a5:1aa6e90a0c99d7990e17ee8433a9373d$"
+ }
+}
diff --git a/public/images/pokemon/exp/back/777.png b/public/images/pokemon/exp/back/777.png
index 5524d3d4f13..d8f25cc7362 100644
Binary files a/public/images/pokemon/exp/back/777.png and b/public/images/pokemon/exp/back/777.png differ
diff --git a/public/images/pokemon/exp/back/778-disguised.json b/public/images/pokemon/exp/back/778-disguised.json
new file mode 100644
index 00000000000..04d18782d0d
--- /dev/null
+++ b/public/images/pokemon/exp/back/778-disguised.json
@@ -0,0 +1,1343 @@
+{
+ "textures": [
+ {
+ "image": "778-disguised.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 210,
+ "h": 210
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 57,
+ "h": 51
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 57,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 57,
+ "h": 50
+ },
+ "frame": {
+ "x": 0,
+ "y": 51,
+ "w": 57,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 55,
+ "h": 51
+ },
+ "frame": {
+ "x": 57,
+ "y": 0,
+ "w": 55,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 51,
+ "h": 51
+ },
+ "frame": {
+ "x": 0,
+ "y": 101,
+ "w": 51,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 50,
+ "h": 51
+ },
+ "frame": {
+ "x": 112,
+ "y": 0,
+ "w": 50,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 51
+ },
+ "frame": {
+ "x": 0,
+ "y": 152,
+ "w": 46,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 44,
+ "h": 51
+ },
+ "frame": {
+ "x": 162,
+ "y": 0,
+ "w": 44,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 42,
+ "h": 51
+ },
+ "frame": {
+ "x": 57,
+ "y": 51,
+ "w": 42,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 51
+ },
+ "frame": {
+ "x": 99,
+ "y": 51,
+ "w": 41,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 40,
+ "h": 51
+ },
+ "frame": {
+ "x": 140,
+ "y": 51,
+ "w": 40,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 40,
+ "h": 51
+ },
+ "frame": {
+ "x": 140,
+ "y": 51,
+ "w": 40,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 40,
+ "h": 51
+ },
+ "frame": {
+ "x": 140,
+ "y": 51,
+ "w": 40,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 40,
+ "h": 51
+ },
+ "frame": {
+ "x": 140,
+ "y": 51,
+ "w": 40,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 40,
+ "h": 51
+ },
+ "frame": {
+ "x": 140,
+ "y": 51,
+ "w": 40,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 40,
+ "h": 51
+ },
+ "frame": {
+ "x": 140,
+ "y": 51,
+ "w": 40,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 40,
+ "h": 51
+ },
+ "frame": {
+ "x": 140,
+ "y": 51,
+ "w": 40,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 41,
+ "h": 50
+ },
+ "frame": {
+ "x": 51,
+ "y": 102,
+ "w": 41,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 41,
+ "h": 50
+ },
+ "frame": {
+ "x": 51,
+ "y": 102,
+ "w": 41,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 41,
+ "h": 50
+ },
+ "frame": {
+ "x": 51,
+ "y": 102,
+ "w": 41,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 41,
+ "h": 50
+ },
+ "frame": {
+ "x": 51,
+ "y": 102,
+ "w": 41,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 41,
+ "h": 50
+ },
+ "frame": {
+ "x": 51,
+ "y": 102,
+ "w": 41,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 41,
+ "h": 50
+ },
+ "frame": {
+ "x": 51,
+ "y": 102,
+ "w": 41,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 40,
+ "h": 51
+ },
+ "frame": {
+ "x": 46,
+ "y": 152,
+ "w": 40,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 40,
+ "h": 51
+ },
+ "frame": {
+ "x": 46,
+ "y": 152,
+ "w": 40,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 40,
+ "h": 51
+ },
+ "frame": {
+ "x": 46,
+ "y": 152,
+ "w": 40,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 40,
+ "h": 51
+ },
+ "frame": {
+ "x": 46,
+ "y": 152,
+ "w": 40,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 40,
+ "h": 51
+ },
+ "frame": {
+ "x": 46,
+ "y": 152,
+ "w": 40,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 40,
+ "h": 51
+ },
+ "frame": {
+ "x": 46,
+ "y": 152,
+ "w": 40,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 40,
+ "h": 51
+ },
+ "frame": {
+ "x": 46,
+ "y": 152,
+ "w": 40,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 40,
+ "h": 51
+ },
+ "frame": {
+ "x": 92,
+ "y": 102,
+ "w": 40,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 132,
+ "y": 102,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 132,
+ "y": 102,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 132,
+ "y": 102,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 132,
+ "y": 102,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 132,
+ "y": 102,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 132,
+ "y": 102,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 132,
+ "y": 102,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 132,
+ "y": 102,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 132,
+ "y": 102,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 132,
+ "y": 102,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 132,
+ "y": 102,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 132,
+ "y": 102,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 132,
+ "y": 102,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 132,
+ "y": 102,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 132,
+ "y": 102,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 171,
+ "y": 102,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 171,
+ "y": 102,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 171,
+ "y": 102,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 171,
+ "y": 102,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 171,
+ "y": 102,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 171,
+ "y": 102,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 171,
+ "y": 102,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 86,
+ "y": 153,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 86,
+ "y": 153,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 86,
+ "y": 153,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 86,
+ "y": 153,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 86,
+ "y": 153,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 86,
+ "y": 153,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 86,
+ "y": 153,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 86,
+ "y": 153,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 125,
+ "y": 153,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 125,
+ "y": 153,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 164,
+ "y": 153,
+ "w": 39,
+ "h": 51
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:bf58dfba3afc41908dabc7db5d564a94:cb2f966c1d798aab0ffc65284a2a35a2:92ecadef6e0cb53020b8cd41fbeaf2cd$"
+ }
+}
diff --git a/public/images/pokemon/exp/back/778.png b/public/images/pokemon/exp/back/778-disguised.png
similarity index 100%
rename from public/images/pokemon/exp/back/778.png
rename to public/images/pokemon/exp/back/778-disguised.png
diff --git a/public/images/pokemon/exp/back/778.json b/public/images/pokemon/exp/back/778.json
deleted file mode 100644
index 72555e22d19..00000000000
--- a/public/images/pokemon/exp/back/778.json
+++ /dev/null
@@ -1,1343 +0,0 @@
-{
- "textures": [
- {
- "image": "778.png",
- "format": "RGBA8888",
- "size": {
- "w": 210,
- "h": 210
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0056.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 57,
- "h": 51
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 57,
- "h": 51
- }
- },
- {
- "filename": "0057.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 57,
- "h": 50
- },
- "frame": {
- "x": 0,
- "y": 51,
- "w": 57,
- "h": 50
- }
- },
- {
- "filename": "0055.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 55,
- "h": 51
- },
- "frame": {
- "x": 57,
- "y": 0,
- "w": 55,
- "h": 51
- }
- },
- {
- "filename": "0058.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 51,
- "h": 51
- },
- "frame": {
- "x": 0,
- "y": 101,
- "w": 51,
- "h": 51
- }
- },
- {
- "filename": "0059.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 50,
- "h": 51
- },
- "frame": {
- "x": 112,
- "y": 0,
- "w": 50,
- "h": 51
- }
- },
- {
- "filename": "0060.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 46,
- "h": 51
- },
- "frame": {
- "x": 0,
- "y": 152,
- "w": 46,
- "h": 51
- }
- },
- {
- "filename": "0054.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 44,
- "h": 51
- },
- "frame": {
- "x": 162,
- "y": 0,
- "w": 44,
- "h": 51
- }
- },
- {
- "filename": "0061.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 42,
- "h": 51
- },
- "frame": {
- "x": 57,
- "y": 51,
- "w": 42,
- "h": 51
- }
- },
- {
- "filename": "0053.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 41,
- "h": 51
- },
- "frame": {
- "x": 99,
- "y": 51,
- "w": 41,
- "h": 51
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 40,
- "h": 51
- },
- "frame": {
- "x": 140,
- "y": 51,
- "w": 40,
- "h": 51
- }
- },
- {
- "filename": "0010.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 40,
- "h": 51
- },
- "frame": {
- "x": 140,
- "y": 51,
- "w": 40,
- "h": 51
- }
- },
- {
- "filename": "0017.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 40,
- "h": 51
- },
- "frame": {
- "x": 140,
- "y": 51,
- "w": 40,
- "h": 51
- }
- },
- {
- "filename": "0024.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 40,
- "h": 51
- },
- "frame": {
- "x": 140,
- "y": 51,
- "w": 40,
- "h": 51
- }
- },
- {
- "filename": "0031.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 40,
- "h": 51
- },
- "frame": {
- "x": 140,
- "y": 51,
- "w": 40,
- "h": 51
- }
- },
- {
- "filename": "0038.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 40,
- "h": 51
- },
- "frame": {
- "x": 140,
- "y": 51,
- "w": 40,
- "h": 51
- }
- },
- {
- "filename": "0045.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 40,
- "h": 51
- },
- "frame": {
- "x": 140,
- "y": 51,
- "w": 40,
- "h": 51
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 41,
- "h": 50
- },
- "frame": {
- "x": 51,
- "y": 102,
- "w": 41,
- "h": 50
- }
- },
- {
- "filename": "0011.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 41,
- "h": 50
- },
- "frame": {
- "x": 51,
- "y": 102,
- "w": 41,
- "h": 50
- }
- },
- {
- "filename": "0018.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 41,
- "h": 50
- },
- "frame": {
- "x": 51,
- "y": 102,
- "w": 41,
- "h": 50
- }
- },
- {
- "filename": "0032.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 41,
- "h": 50
- },
- "frame": {
- "x": 51,
- "y": 102,
- "w": 41,
- "h": 50
- }
- },
- {
- "filename": "0039.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 41,
- "h": 50
- },
- "frame": {
- "x": 51,
- "y": 102,
- "w": 41,
- "h": 50
- }
- },
- {
- "filename": "0046.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 41,
- "h": 50
- },
- "frame": {
- "x": 51,
- "y": 102,
- "w": 41,
- "h": 50
- }
- },
- {
- "filename": "0005.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 40,
- "h": 51
- },
- "frame": {
- "x": 46,
- "y": 152,
- "w": 40,
- "h": 51
- }
- },
- {
- "filename": "0012.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 40,
- "h": 51
- },
- "frame": {
- "x": 46,
- "y": 152,
- "w": 40,
- "h": 51
- }
- },
- {
- "filename": "0019.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 40,
- "h": 51
- },
- "frame": {
- "x": 46,
- "y": 152,
- "w": 40,
- "h": 51
- }
- },
- {
- "filename": "0025.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 40,
- "h": 51
- },
- "frame": {
- "x": 46,
- "y": 152,
- "w": 40,
- "h": 51
- }
- },
- {
- "filename": "0033.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 40,
- "h": 51
- },
- "frame": {
- "x": 46,
- "y": 152,
- "w": 40,
- "h": 51
- }
- },
- {
- "filename": "0040.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 40,
- "h": 51
- },
- "frame": {
- "x": 46,
- "y": 152,
- "w": 40,
- "h": 51
- }
- },
- {
- "filename": "0047.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 40,
- "h": 51
- },
- "frame": {
- "x": 46,
- "y": 152,
- "w": 40,
- "h": 51
- }
- },
- {
- "filename": "0062.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 40,
- "h": 51
- },
- "frame": {
- "x": 92,
- "y": 102,
- "w": 40,
- "h": 51
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 132,
- "y": 102,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 132,
- "y": 102,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0008.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 132,
- "y": 102,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0009.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 132,
- "y": 102,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0015.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 132,
- "y": 102,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0016.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 132,
- "y": 102,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0022.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 132,
- "y": 102,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0023.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 132,
- "y": 102,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0029.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 132,
- "y": 102,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0030.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 132,
- "y": 102,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0036.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 132,
- "y": 102,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0037.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 132,
- "y": 102,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0043.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 132,
- "y": 102,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0044.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 132,
- "y": 102,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0050.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 132,
- "y": 102,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0006.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 171,
- "y": 102,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0013.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 171,
- "y": 102,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0020.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 171,
- "y": 102,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0027.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 171,
- "y": 102,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0034.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 171,
- "y": 102,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0041.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 171,
- "y": 102,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0048.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 171,
- "y": 102,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0007.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 86,
- "y": 153,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0014.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 86,
- "y": 153,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0021.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 86,
- "y": 153,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0026.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 86,
- "y": 153,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0028.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 86,
- "y": 153,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0035.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 86,
- "y": 153,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0042.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 86,
- "y": 153,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0049.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 86,
- "y": 153,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0051.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 125,
- "y": 153,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0063.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 125,
- "y": 153,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0052.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 164,
- "y": 153,
- "w": 39,
- "h": 51
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:bf58dfba3afc41908dabc7db5d564a94:cb2f966c1d798aab0ffc65284a2a35a2:92ecadef6e0cb53020b8cd41fbeaf2cd$"
- }
-}
diff --git a/public/images/pokemon/exp/back/797.png b/public/images/pokemon/exp/back/797.png
index 60e078b7c7c..17cae929dbc 100644
Binary files a/public/images/pokemon/exp/back/797.png and b/public/images/pokemon/exp/back/797.png differ
diff --git a/public/images/pokemon/exp/back/876-female.png b/public/images/pokemon/exp/back/876-female.png
index 55114114ccc..78ca08e6d09 100644
Binary files a/public/images/pokemon/exp/back/876-female.png and b/public/images/pokemon/exp/back/876-female.png differ
diff --git a/public/images/pokemon/exp/back/876.png b/public/images/pokemon/exp/back/876.png
index b206f8ba9cd..0073e1642af 100644
Binary files a/public/images/pokemon/exp/back/876.png and b/public/images/pokemon/exp/back/876.png differ
diff --git a/public/images/pokemon/exp/back/896.png b/public/images/pokemon/exp/back/896.png
index e36defdf8db..dd7a984cae7 100644
Binary files a/public/images/pokemon/exp/back/896.png and b/public/images/pokemon/exp/back/896.png differ
diff --git a/public/images/pokemon/exp/back/898-ice.png b/public/images/pokemon/exp/back/898-ice.png
index 304e3547aa5..899a4dd0896 100644
Binary files a/public/images/pokemon/exp/back/898-ice.png and b/public/images/pokemon/exp/back/898-ice.png differ
diff --git a/public/images/pokemon/exp/back/898.png b/public/images/pokemon/exp/back/898.png
index 04d099a90ba..eb7bc938ee3 100644
Binary files a/public/images/pokemon/exp/back/898.png and b/public/images/pokemon/exp/back/898.png differ
diff --git a/public/images/pokemon/exp/back/974.png b/public/images/pokemon/exp/back/974.png
index 8f41a6b752b..7f375ecbf24 100644
Binary files a/public/images/pokemon/exp/back/974.png and b/public/images/pokemon/exp/back/974.png differ
diff --git a/public/images/pokemon/exp/back/975.png b/public/images/pokemon/exp/back/975.png
index 7886053dca5..99a06a273f4 100644
Binary files a/public/images/pokemon/exp/back/975.png and b/public/images/pokemon/exp/back/975.png differ
diff --git a/public/images/pokemon/exp/back/shiny/2053.json b/public/images/pokemon/exp/back/shiny/2053.json
new file mode 100644
index 00000000000..4751a11a59f
--- /dev/null
+++ b/public/images/pokemon/exp/back/shiny/2053.json
@@ -0,0 +1,230 @@
+{
+ "textures": [
+ {
+ "image": "2053.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 201,
+ "h": 201
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 71,
+ "h": 54
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 70,
+ "h": 52
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 70,
+ "h": 52
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 71,
+ "h": 54
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 70,
+ "h": 52
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 70,
+ "h": 52
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 71,
+ "h": 54
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 70,
+ "h": 50
+ },
+ "frame": {
+ "x": 70,
+ "y": 0,
+ "w": 70,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 71,
+ "h": 54
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 69,
+ "h": 53
+ },
+ "frame": {
+ "x": 70,
+ "y": 50,
+ "w": 69,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 71,
+ "h": 54
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 69,
+ "h": 53
+ },
+ "frame": {
+ "x": 70,
+ "y": 50,
+ "w": 69,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 71,
+ "h": 54
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 67,
+ "h": 54
+ },
+ "frame": {
+ "x": 0,
+ "y": 52,
+ "w": 67,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 71,
+ "h": 54
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 67,
+ "h": 54
+ },
+ "frame": {
+ "x": 0,
+ "y": 52,
+ "w": 67,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 71,
+ "h": 54
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 67,
+ "h": 54
+ },
+ "frame": {
+ "x": 0,
+ "y": 106,
+ "w": 67,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 71,
+ "h": 54
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 67,
+ "h": 54
+ },
+ "frame": {
+ "x": 67,
+ "y": 103,
+ "w": 67,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 71,
+ "h": 54
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 67,
+ "h": 53
+ },
+ "frame": {
+ "x": 134,
+ "y": 103,
+ "w": 67,
+ "h": 53
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:e57f03d411bf3c214750594117b8b668:5932e60336722f864daac0be7b8be542:dd9440d54af5b14210c0ed9775d82426$"
+ }
+}
diff --git a/public/images/pokemon/exp/back/shiny/4053.png b/public/images/pokemon/exp/back/shiny/2053.png
similarity index 100%
rename from public/images/pokemon/exp/back/shiny/4053.png
rename to public/images/pokemon/exp/back/shiny/2053.png
diff --git a/public/images/pokemon/exp/back/shiny/4053.json b/public/images/pokemon/exp/back/shiny/4053.json
deleted file mode 100644
index fccdca77c4c..00000000000
--- a/public/images/pokemon/exp/back/shiny/4053.json
+++ /dev/null
@@ -1,230 +0,0 @@
-{
- "textures": [
- {
- "image": "4053.png",
- "format": "RGBA8888",
- "size": {
- "w": 201,
- "h": 201
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0005.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 71,
- "h": 54
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 70,
- "h": 52
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 70,
- "h": 52
- }
- },
- {
- "filename": "0007.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 71,
- "h": 54
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 70,
- "h": 52
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 70,
- "h": 52
- }
- },
- {
- "filename": "0006.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 71,
- "h": 54
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 4,
- "w": 70,
- "h": 50
- },
- "frame": {
- "x": 70,
- "y": 0,
- "w": 70,
- "h": 50
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 71,
- "h": 54
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 69,
- "h": 53
- },
- "frame": {
- "x": 70,
- "y": 50,
- "w": 69,
- "h": 53
- }
- },
- {
- "filename": "0008.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 71,
- "h": 54
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 69,
- "h": 53
- },
- "frame": {
- "x": 70,
- "y": 50,
- "w": 69,
- "h": 53
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 71,
- "h": 54
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 54
- },
- "frame": {
- "x": 0,
- "y": 52,
- "w": 67,
- "h": 54
- }
- },
- {
- "filename": "0010.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 71,
- "h": 54
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 54
- },
- "frame": {
- "x": 0,
- "y": 52,
- "w": 67,
- "h": 54
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 71,
- "h": 54
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 54
- },
- "frame": {
- "x": 0,
- "y": 106,
- "w": 67,
- "h": 54
- }
- },
- {
- "filename": "0009.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 71,
- "h": 54
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 67,
- "h": 54
- },
- "frame": {
- "x": 67,
- "y": 103,
- "w": 67,
- "h": 54
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 71,
- "h": 54
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 67,
- "h": 53
- },
- "frame": {
- "x": 134,
- "y": 103,
- "w": 67,
- "h": 53
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:e57f03d411bf3c214750594117b8b668:5932e60336722f864daac0be7b8be542:dd9440d54af5b14210c0ed9775d82426$"
- }
-}
diff --git a/public/images/pokemon/exp/back/shiny/4555.json b/public/images/pokemon/exp/back/shiny/4555.json
index 23306700045..24b0847bc3c 100644
--- a/public/images/pokemon/exp/back/shiny/4555.json
+++ b/public/images/pokemon/exp/back/shiny/4555.json
@@ -1,1091 +1,230 @@
-{
- "textures": [
- {
- "image": "4555.png",
- "format": "RGBA8888",
- "size": {
- "w": 159,
- "h": 159
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0029.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 0,
- "w": 40,
- "h": 38
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 40,
- "h": 38
- }
- },
- {
- "filename": "0031.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 0,
- "w": 40,
- "h": 38
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 40,
- "h": 38
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 40,
- "h": 39
- },
- "frame": {
- "x": 40,
- "y": 0,
- "w": 40,
- "h": 39
- }
- },
- {
- "filename": "0009.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 40,
- "h": 39
- },
- "frame": {
- "x": 40,
- "y": 0,
- "w": 40,
- "h": 39
- }
- },
- {
- "filename": "0017.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 40,
- "h": 39
- },
- "frame": {
- "x": 40,
- "y": 0,
- "w": 40,
- "h": 39
- }
- },
- {
- "filename": "0019.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 40,
- "h": 39
- },
- "frame": {
- "x": 40,
- "y": 0,
- "w": 40,
- "h": 39
- }
- },
- {
- "filename": "0021.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 40,
- "h": 39
- },
- "frame": {
- "x": 40,
- "y": 0,
- "w": 40,
- "h": 39
- }
- },
- {
- "filename": "0023.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 40,
- "h": 39
- },
- "frame": {
- "x": 40,
- "y": 0,
- "w": 40,
- "h": 39
- }
- },
- {
- "filename": "0025.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 40,
- "h": 39
- },
- "frame": {
- "x": 40,
- "y": 0,
- "w": 40,
- "h": 39
- }
- },
- {
- "filename": "0027.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 7,
- "w": 40,
- "h": 39
- },
- "frame": {
- "x": 40,
- "y": 0,
- "w": 40,
- "h": 39
- }
- },
- {
- "filename": "0033.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 40,
- "h": 39
- },
- "frame": {
- "x": 40,
- "y": 0,
- "w": 40,
- "h": 39
- }
- },
- {
- "filename": "0035.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 40,
- "h": 39
- },
- "frame": {
- "x": 40,
- "y": 0,
- "w": 40,
- "h": 39
- }
- },
- {
- "filename": "0043.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 40,
- "h": 39
- },
- "frame": {
- "x": 40,
- "y": 0,
- "w": 40,
- "h": 39
- }
- },
- {
- "filename": "0051.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 40,
- "h": 39
- },
- "frame": {
- "x": 40,
- "y": 0,
- "w": 40,
- "h": 39
- }
- },
- {
- "filename": "0030.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 0,
- "w": 41,
- "h": 39
- },
- "frame": {
- "x": 80,
- "y": 0,
- "w": 41,
- "h": 39
- }
- },
- {
- "filename": "0032.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 8,
- "w": 39,
- "h": 39
- },
- "frame": {
- "x": 0,
- "y": 38,
- "w": 39,
- "h": 39
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 41,
- "h": 40
- },
- "frame": {
- "x": 39,
- "y": 39,
- "w": 41,
- "h": 40
- }
- },
- {
- "filename": "0008.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 41,
- "h": 40
- },
- "frame": {
- "x": 39,
- "y": 39,
- "w": 41,
- "h": 40
- }
- },
- {
- "filename": "0010.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 41,
- "h": 40
- },
- "frame": {
- "x": 39,
- "y": 39,
- "w": 41,
- "h": 40
- }
- },
- {
- "filename": "0016.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 41,
- "h": 40
- },
- "frame": {
- "x": 39,
- "y": 39,
- "w": 41,
- "h": 40
- }
- },
- {
- "filename": "0036.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 41,
- "h": 40
- },
- "frame": {
- "x": 39,
- "y": 39,
- "w": 41,
- "h": 40
- }
- },
- {
- "filename": "0042.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 41,
- "h": 40
- },
- "frame": {
- "x": 39,
- "y": 39,
- "w": 41,
- "h": 40
- }
- },
- {
- "filename": "0044.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 41,
- "h": 40
- },
- "frame": {
- "x": 39,
- "y": 39,
- "w": 41,
- "h": 40
- }
- },
- {
- "filename": "0050.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 41,
- "h": 40
- },
- "frame": {
- "x": 39,
- "y": 39,
- "w": 41,
- "h": 40
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 40,
- "h": 40
- },
- "frame": {
- "x": 80,
- "y": 39,
- "w": 40,
- "h": 40
- }
- },
- {
- "filename": "0007.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 40,
- "h": 40
- },
- "frame": {
- "x": 80,
- "y": 39,
- "w": 40,
- "h": 40
- }
- },
- {
- "filename": "0011.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 40,
- "h": 40
- },
- "frame": {
- "x": 80,
- "y": 39,
- "w": 40,
- "h": 40
- }
- },
- {
- "filename": "0015.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 40,
- "h": 40
- },
- "frame": {
- "x": 80,
- "y": 39,
- "w": 40,
- "h": 40
- }
- },
- {
- "filename": "0037.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 40,
- "h": 40
- },
- "frame": {
- "x": 80,
- "y": 39,
- "w": 40,
- "h": 40
- }
- },
- {
- "filename": "0041.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 40,
- "h": 40
- },
- "frame": {
- "x": 80,
- "y": 39,
- "w": 40,
- "h": 40
- }
- },
- {
- "filename": "0045.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 40,
- "h": 40
- },
- "frame": {
- "x": 80,
- "y": 39,
- "w": 40,
- "h": 40
- }
- },
- {
- "filename": "0049.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 40,
- "h": 40
- },
- "frame": {
- "x": 80,
- "y": 39,
- "w": 40,
- "h": 40
- }
- },
- {
- "filename": "0020.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 39,
- "h": 40
- },
- "frame": {
- "x": 120,
- "y": 39,
- "w": 39,
- "h": 40
- }
- },
- {
- "filename": "0024.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 6,
- "w": 39,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 77,
- "w": 39,
- "h": 40
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 40,
- "h": 40
- },
- "frame": {
- "x": 39,
- "y": 79,
- "w": 40,
- "h": 40
- }
- },
- {
- "filename": "0006.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 40,
- "h": 40
- },
- "frame": {
- "x": 39,
- "y": 79,
- "w": 40,
- "h": 40
- }
- },
- {
- "filename": "0012.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 40,
- "h": 40
- },
- "frame": {
- "x": 39,
- "y": 79,
- "w": 40,
- "h": 40
- }
- },
- {
- "filename": "0014.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 40,
- "h": 40
- },
- "frame": {
- "x": 39,
- "y": 79,
- "w": 40,
- "h": 40
- }
- },
- {
- "filename": "0038.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 40,
- "h": 40
- },
- "frame": {
- "x": 39,
- "y": 79,
- "w": 40,
- "h": 40
- }
- },
- {
- "filename": "0040.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 40,
- "h": 40
- },
- "frame": {
- "x": 39,
- "y": 79,
- "w": 40,
- "h": 40
- }
- },
- {
- "filename": "0046.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 40,
- "h": 40
- },
- "frame": {
- "x": 39,
- "y": 79,
- "w": 40,
- "h": 40
- }
- },
- {
- "filename": "0048.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 40,
- "h": 40
- },
- "frame": {
- "x": 39,
- "y": 79,
- "w": 40,
- "h": 40
- }
- },
- {
- "filename": "0005.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 40,
- "h": 40
- },
- "frame": {
- "x": 79,
- "y": 79,
- "w": 40,
- "h": 40
- }
- },
- {
- "filename": "0013.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 40,
- "h": 40
- },
- "frame": {
- "x": 79,
- "y": 79,
- "w": 40,
- "h": 40
- }
- },
- {
- "filename": "0039.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 40,
- "h": 40
- },
- "frame": {
- "x": 79,
- "y": 79,
- "w": 40,
- "h": 40
- }
- },
- {
- "filename": "0047.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 40,
- "h": 40
- },
- "frame": {
- "x": 79,
- "y": 79,
- "w": 40,
- "h": 40
- }
- },
- {
- "filename": "0028.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 39,
- "h": 40
- },
- "frame": {
- "x": 119,
- "y": 79,
- "w": 39,
- "h": 40
- }
- },
- {
- "filename": "0018.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 3,
- "y": 6,
- "w": 41,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 119,
- "w": 41,
- "h": 40
- }
- },
- {
- "filename": "0034.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 3,
- "y": 6,
- "w": 41,
- "h": 40
- },
- "frame": {
- "x": 0,
- "y": 119,
- "w": 41,
- "h": 40
- }
- },
- {
- "filename": "0022.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 3,
- "y": 6,
- "w": 42,
- "h": 40
- },
- "frame": {
- "x": 41,
- "y": 119,
- "w": 42,
- "h": 40
- }
- },
- {
- "filename": "0026.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 46,
- "h": 47
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 6,
- "w": 42,
- "h": 40
- },
- "frame": {
- "x": 83,
- "y": 119,
- "w": 42,
- "h": 40
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:3a0b5f67665759f212123a47de22e79d:d133311823cafabf0f343822a0a0197f:b1fe411cd93ff8f39d0ba407d084a2a9$"
- }
-}
+{
+ "textures": [
+ {
+ "image": "4555.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 162,
+ "h": 162
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 54,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 54,
+ "h": 66
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 54,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 54,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 54,
+ "h": 66
+ },
+ "frame": {
+ "x": 54,
+ "y": 0,
+ "w": 54,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 54,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 54,
+ "h": 66
+ },
+ "frame": {
+ "x": 54,
+ "y": 0,
+ "w": 54,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 54,
+ "h": 64
+ },
+ "frame": {
+ "x": 108,
+ "y": 0,
+ "w": 54,
+ "h": 64
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 54,
+ "h": 64
+ },
+ "frame": {
+ "x": 108,
+ "y": 0,
+ "w": 54,
+ "h": 64
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 54,
+ "h": 63
+ },
+ "frame": {
+ "x": 108,
+ "y": 64,
+ "w": 54,
+ "h": 63
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 54,
+ "h": 63
+ },
+ "frame": {
+ "x": 108,
+ "y": 64,
+ "w": 54,
+ "h": 63
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 54,
+ "h": 62
+ },
+ "frame": {
+ "x": 0,
+ "y": 66,
+ "w": 54,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 54,
+ "h": 62
+ },
+ "frame": {
+ "x": 0,
+ "y": 66,
+ "w": 54,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 54,
+ "h": 61
+ },
+ "frame": {
+ "x": 54,
+ "y": 66,
+ "w": 54,
+ "h": 61
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:ebbf6c9db863403fcc56899bb963c8fe:60a7f95a9e0afed849e5735b36d1ca41:b1fe411cd93ff8f39d0ba407d084a2a9$"
+ }
+}
diff --git a/public/images/pokemon/exp/back/shiny/4555.png b/public/images/pokemon/exp/back/shiny/4555.png
index 1b06edcaada..3ce57019abe 100644
Binary files a/public/images/pokemon/exp/back/shiny/4555.png and b/public/images/pokemon/exp/back/shiny/4555.png differ
diff --git a/public/images/pokemon/exp/back/shiny/772.png b/public/images/pokemon/exp/back/shiny/772.png
index f0129a114cb..407e3be6691 100644
Binary files a/public/images/pokemon/exp/back/shiny/772.png and b/public/images/pokemon/exp/back/shiny/772.png differ
diff --git a/public/images/pokemon/exp/back/shiny/773-bug.png b/public/images/pokemon/exp/back/shiny/773-bug.png
index daf51563329..0ab0a87913c 100644
Binary files a/public/images/pokemon/exp/back/shiny/773-bug.png and b/public/images/pokemon/exp/back/shiny/773-bug.png differ
diff --git a/public/images/pokemon/exp/back/shiny/773-dark.png b/public/images/pokemon/exp/back/shiny/773-dark.png
index 7cbdfe9e325..a444ff50bbb 100644
Binary files a/public/images/pokemon/exp/back/shiny/773-dark.png and b/public/images/pokemon/exp/back/shiny/773-dark.png differ
diff --git a/public/images/pokemon/exp/back/shiny/773-dragon.png b/public/images/pokemon/exp/back/shiny/773-dragon.png
index 1fb9e2ede77..1a105381a91 100644
Binary files a/public/images/pokemon/exp/back/shiny/773-dragon.png and b/public/images/pokemon/exp/back/shiny/773-dragon.png differ
diff --git a/public/images/pokemon/exp/back/shiny/773-electric.png b/public/images/pokemon/exp/back/shiny/773-electric.png
index e98ae834fe4..8bb3a148252 100644
Binary files a/public/images/pokemon/exp/back/shiny/773-electric.png and b/public/images/pokemon/exp/back/shiny/773-electric.png differ
diff --git a/public/images/pokemon/exp/back/shiny/773-fairy.png b/public/images/pokemon/exp/back/shiny/773-fairy.png
index d0fc11e12b3..cb55030dacd 100644
Binary files a/public/images/pokemon/exp/back/shiny/773-fairy.png and b/public/images/pokemon/exp/back/shiny/773-fairy.png differ
diff --git a/public/images/pokemon/exp/back/shiny/773-fighting.png b/public/images/pokemon/exp/back/shiny/773-fighting.png
index 35549afc9e8..1846390d7c8 100644
Binary files a/public/images/pokemon/exp/back/shiny/773-fighting.png and b/public/images/pokemon/exp/back/shiny/773-fighting.png differ
diff --git a/public/images/pokemon/exp/back/shiny/773-fire.png b/public/images/pokemon/exp/back/shiny/773-fire.png
index c790bd055b3..aa8d3c1af27 100644
Binary files a/public/images/pokemon/exp/back/shiny/773-fire.png and b/public/images/pokemon/exp/back/shiny/773-fire.png differ
diff --git a/public/images/pokemon/exp/back/shiny/773-flying.png b/public/images/pokemon/exp/back/shiny/773-flying.png
index b503d86cc87..f943cf75e65 100644
Binary files a/public/images/pokemon/exp/back/shiny/773-flying.png and b/public/images/pokemon/exp/back/shiny/773-flying.png differ
diff --git a/public/images/pokemon/exp/back/shiny/773-ghost.png b/public/images/pokemon/exp/back/shiny/773-ghost.png
index 17a48e0c5bb..d721ce0e89c 100644
Binary files a/public/images/pokemon/exp/back/shiny/773-ghost.png and b/public/images/pokemon/exp/back/shiny/773-ghost.png differ
diff --git a/public/images/pokemon/exp/back/shiny/773-grass.png b/public/images/pokemon/exp/back/shiny/773-grass.png
index 20d48dce009..6a903eb5c33 100644
Binary files a/public/images/pokemon/exp/back/shiny/773-grass.png and b/public/images/pokemon/exp/back/shiny/773-grass.png differ
diff --git a/public/images/pokemon/exp/back/shiny/773-ground.png b/public/images/pokemon/exp/back/shiny/773-ground.png
index 17e2f74c12f..d871126e25e 100644
Binary files a/public/images/pokemon/exp/back/shiny/773-ground.png and b/public/images/pokemon/exp/back/shiny/773-ground.png differ
diff --git a/public/images/pokemon/exp/back/shiny/773-ice.png b/public/images/pokemon/exp/back/shiny/773-ice.png
index 03350acf3c8..045b07ceb22 100644
Binary files a/public/images/pokemon/exp/back/shiny/773-ice.png and b/public/images/pokemon/exp/back/shiny/773-ice.png differ
diff --git a/public/images/pokemon/exp/back/shiny/773-poison.png b/public/images/pokemon/exp/back/shiny/773-poison.png
index 86fa757b953..db32789fe4e 100644
Binary files a/public/images/pokemon/exp/back/shiny/773-poison.png and b/public/images/pokemon/exp/back/shiny/773-poison.png differ
diff --git a/public/images/pokemon/exp/back/shiny/773-psychic.png b/public/images/pokemon/exp/back/shiny/773-psychic.png
index a4caa9c4d22..3899a7ff34e 100644
Binary files a/public/images/pokemon/exp/back/shiny/773-psychic.png and b/public/images/pokemon/exp/back/shiny/773-psychic.png differ
diff --git a/public/images/pokemon/exp/back/shiny/773-rock.png b/public/images/pokemon/exp/back/shiny/773-rock.png
index 02ede852e43..ff5654a9e49 100644
Binary files a/public/images/pokemon/exp/back/shiny/773-rock.png and b/public/images/pokemon/exp/back/shiny/773-rock.png differ
diff --git a/public/images/pokemon/exp/back/shiny/773-steel.png b/public/images/pokemon/exp/back/shiny/773-steel.png
index ea9ccdc2d47..adf516cc98c 100644
Binary files a/public/images/pokemon/exp/back/shiny/773-steel.png and b/public/images/pokemon/exp/back/shiny/773-steel.png differ
diff --git a/public/images/pokemon/exp/back/shiny/773-water.png b/public/images/pokemon/exp/back/shiny/773-water.png
index 901b5234166..1b83d5dae41 100644
Binary files a/public/images/pokemon/exp/back/shiny/773-water.png and b/public/images/pokemon/exp/back/shiny/773-water.png differ
diff --git a/public/images/pokemon/exp/back/shiny/773.png b/public/images/pokemon/exp/back/shiny/773.png
index 63da21be3fc..f6a98c1b43a 100644
Binary files a/public/images/pokemon/exp/back/shiny/773.png and b/public/images/pokemon/exp/back/shiny/773.png differ
diff --git a/public/images/pokemon/exp/back/shiny/774-blue.png b/public/images/pokemon/exp/back/shiny/774-blue.png
index dba2d268b0d..bffbc41e81c 100644
Binary files a/public/images/pokemon/exp/back/shiny/774-blue.png and b/public/images/pokemon/exp/back/shiny/774-blue.png differ
diff --git a/public/images/pokemon/exp/back/shiny/774-green.png b/public/images/pokemon/exp/back/shiny/774-green.png
index 59ae18f321c..f5a85c1ba0f 100644
Binary files a/public/images/pokemon/exp/back/shiny/774-green.png and b/public/images/pokemon/exp/back/shiny/774-green.png differ
diff --git a/public/images/pokemon/exp/back/shiny/774-indigo.png b/public/images/pokemon/exp/back/shiny/774-indigo.png
index 25984abc9c2..115365f11b8 100644
Binary files a/public/images/pokemon/exp/back/shiny/774-indigo.png and b/public/images/pokemon/exp/back/shiny/774-indigo.png differ
diff --git a/public/images/pokemon/exp/back/shiny/774-orange.png b/public/images/pokemon/exp/back/shiny/774-orange.png
index a6a13f0ab7d..bf3db830ef8 100644
Binary files a/public/images/pokemon/exp/back/shiny/774-orange.png and b/public/images/pokemon/exp/back/shiny/774-orange.png differ
diff --git a/public/images/pokemon/exp/back/shiny/774-red.png b/public/images/pokemon/exp/back/shiny/774-red.png
index e3db7f30002..bc3407019f8 100644
Binary files a/public/images/pokemon/exp/back/shiny/774-red.png and b/public/images/pokemon/exp/back/shiny/774-red.png differ
diff --git a/public/images/pokemon/exp/back/shiny/774-violet.png b/public/images/pokemon/exp/back/shiny/774-violet.png
index 25984abc9c2..68da27cc960 100644
Binary files a/public/images/pokemon/exp/back/shiny/774-violet.png and b/public/images/pokemon/exp/back/shiny/774-violet.png differ
diff --git a/public/images/pokemon/exp/back/shiny/774-yellow.png b/public/images/pokemon/exp/back/shiny/774-yellow.png
index bdeaccaf3d8..569b836a207 100644
Binary files a/public/images/pokemon/exp/back/shiny/774-yellow.png and b/public/images/pokemon/exp/back/shiny/774-yellow.png differ
diff --git a/public/images/pokemon/exp/back/shiny/776.png b/public/images/pokemon/exp/back/shiny/776.png
index ae80b005494..d669b9f3ce6 100644
Binary files a/public/images/pokemon/exp/back/shiny/776.png and b/public/images/pokemon/exp/back/shiny/776.png differ
diff --git a/public/images/pokemon/exp/back/shiny/778-disguised.json b/public/images/pokemon/exp/back/shiny/778-disguised.json
new file mode 100644
index 00000000000..53684eb62dc
--- /dev/null
+++ b/public/images/pokemon/exp/back/shiny/778-disguised.json
@@ -0,0 +1,1343 @@
+{
+ "textures": [
+ {
+ "image": "778-disguised.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 210,
+ "h": 210
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 57,
+ "h": 51
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 57,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 57,
+ "h": 50
+ },
+ "frame": {
+ "x": 0,
+ "y": 51,
+ "w": 57,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 55,
+ "h": 51
+ },
+ "frame": {
+ "x": 57,
+ "y": 0,
+ "w": 55,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 51,
+ "h": 51
+ },
+ "frame": {
+ "x": 0,
+ "y": 101,
+ "w": 51,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 50,
+ "h": 51
+ },
+ "frame": {
+ "x": 112,
+ "y": 0,
+ "w": 50,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 51
+ },
+ "frame": {
+ "x": 0,
+ "y": 152,
+ "w": 46,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 44,
+ "h": 51
+ },
+ "frame": {
+ "x": 162,
+ "y": 0,
+ "w": 44,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 42,
+ "h": 51
+ },
+ "frame": {
+ "x": 57,
+ "y": 51,
+ "w": 42,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 51
+ },
+ "frame": {
+ "x": 99,
+ "y": 51,
+ "w": 41,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 40,
+ "h": 51
+ },
+ "frame": {
+ "x": 140,
+ "y": 51,
+ "w": 40,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 40,
+ "h": 51
+ },
+ "frame": {
+ "x": 140,
+ "y": 51,
+ "w": 40,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 40,
+ "h": 51
+ },
+ "frame": {
+ "x": 140,
+ "y": 51,
+ "w": 40,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 40,
+ "h": 51
+ },
+ "frame": {
+ "x": 140,
+ "y": 51,
+ "w": 40,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 40,
+ "h": 51
+ },
+ "frame": {
+ "x": 140,
+ "y": 51,
+ "w": 40,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 40,
+ "h": 51
+ },
+ "frame": {
+ "x": 140,
+ "y": 51,
+ "w": 40,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 40,
+ "h": 51
+ },
+ "frame": {
+ "x": 140,
+ "y": 51,
+ "w": 40,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 41,
+ "h": 50
+ },
+ "frame": {
+ "x": 51,
+ "y": 102,
+ "w": 41,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 41,
+ "h": 50
+ },
+ "frame": {
+ "x": 51,
+ "y": 102,
+ "w": 41,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 41,
+ "h": 50
+ },
+ "frame": {
+ "x": 51,
+ "y": 102,
+ "w": 41,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 41,
+ "h": 50
+ },
+ "frame": {
+ "x": 51,
+ "y": 102,
+ "w": 41,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 41,
+ "h": 50
+ },
+ "frame": {
+ "x": 51,
+ "y": 102,
+ "w": 41,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 41,
+ "h": 50
+ },
+ "frame": {
+ "x": 51,
+ "y": 102,
+ "w": 41,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 41,
+ "h": 50
+ },
+ "frame": {
+ "x": 51,
+ "y": 102,
+ "w": 41,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 40,
+ "h": 51
+ },
+ "frame": {
+ "x": 46,
+ "y": 152,
+ "w": 40,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 40,
+ "h": 51
+ },
+ "frame": {
+ "x": 46,
+ "y": 152,
+ "w": 40,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 40,
+ "h": 51
+ },
+ "frame": {
+ "x": 46,
+ "y": 152,
+ "w": 40,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 40,
+ "h": 51
+ },
+ "frame": {
+ "x": 46,
+ "y": 152,
+ "w": 40,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 40,
+ "h": 51
+ },
+ "frame": {
+ "x": 46,
+ "y": 152,
+ "w": 40,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 40,
+ "h": 51
+ },
+ "frame": {
+ "x": 46,
+ "y": 152,
+ "w": 40,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 40,
+ "h": 51
+ },
+ "frame": {
+ "x": 46,
+ "y": 152,
+ "w": 40,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 40,
+ "h": 51
+ },
+ "frame": {
+ "x": 92,
+ "y": 102,
+ "w": 40,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 132,
+ "y": 102,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 132,
+ "y": 102,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 132,
+ "y": 102,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 132,
+ "y": 102,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 132,
+ "y": 102,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 132,
+ "y": 102,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 132,
+ "y": 102,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 132,
+ "y": 102,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 132,
+ "y": 102,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 132,
+ "y": 102,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 132,
+ "y": 102,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 132,
+ "y": 102,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 132,
+ "y": 102,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 132,
+ "y": 102,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 132,
+ "y": 102,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 171,
+ "y": 102,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 171,
+ "y": 102,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 171,
+ "y": 102,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 171,
+ "y": 102,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 171,
+ "y": 102,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 171,
+ "y": 102,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 171,
+ "y": 102,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 86,
+ "y": 153,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 86,
+ "y": 153,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 86,
+ "y": 153,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 86,
+ "y": 153,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 86,
+ "y": 153,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 86,
+ "y": 153,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 86,
+ "y": 153,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 125,
+ "y": 153,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 125,
+ "y": 153,
+ "w": 39,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 51
+ },
+ "frame": {
+ "x": 164,
+ "y": 153,
+ "w": 39,
+ "h": 51
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:d7864b889ac0482f3715786beb7feb1f:ff8c14577b4038d57165902da0686e0f:92ecadef6e0cb53020b8cd41fbeaf2cd$"
+ }
+}
diff --git a/public/images/pokemon/exp/back/shiny/778-disguised.png b/public/images/pokemon/exp/back/shiny/778-disguised.png
new file mode 100644
index 00000000000..2b1c9ecf3c9
Binary files /dev/null and b/public/images/pokemon/exp/back/shiny/778-disguised.png differ
diff --git a/public/images/pokemon/exp/back/shiny/778.json b/public/images/pokemon/exp/back/shiny/778.json
deleted file mode 100644
index 77ae7d76ba7..00000000000
--- a/public/images/pokemon/exp/back/shiny/778.json
+++ /dev/null
@@ -1,1343 +0,0 @@
-{
- "textures": [
- {
- "image": "778.png",
- "format": "RGBA8888",
- "size": {
- "w": 210,
- "h": 210
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0056.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 57,
- "h": 51
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 57,
- "h": 51
- }
- },
- {
- "filename": "0057.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 57,
- "h": 50
- },
- "frame": {
- "x": 0,
- "y": 51,
- "w": 57,
- "h": 50
- }
- },
- {
- "filename": "0055.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 55,
- "h": 51
- },
- "frame": {
- "x": 57,
- "y": 0,
- "w": 55,
- "h": 51
- }
- },
- {
- "filename": "0058.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 51,
- "h": 51
- },
- "frame": {
- "x": 0,
- "y": 101,
- "w": 51,
- "h": 51
- }
- },
- {
- "filename": "0059.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 50,
- "h": 51
- },
- "frame": {
- "x": 112,
- "y": 0,
- "w": 50,
- "h": 51
- }
- },
- {
- "filename": "0060.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 46,
- "h": 51
- },
- "frame": {
- "x": 0,
- "y": 152,
- "w": 46,
- "h": 51
- }
- },
- {
- "filename": "0054.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 44,
- "h": 51
- },
- "frame": {
- "x": 162,
- "y": 0,
- "w": 44,
- "h": 51
- }
- },
- {
- "filename": "0061.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 42,
- "h": 51
- },
- "frame": {
- "x": 57,
- "y": 51,
- "w": 42,
- "h": 51
- }
- },
- {
- "filename": "0053.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 41,
- "h": 51
- },
- "frame": {
- "x": 99,
- "y": 51,
- "w": 41,
- "h": 51
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 40,
- "h": 51
- },
- "frame": {
- "x": 140,
- "y": 51,
- "w": 40,
- "h": 51
- }
- },
- {
- "filename": "0010.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 40,
- "h": 51
- },
- "frame": {
- "x": 140,
- "y": 51,
- "w": 40,
- "h": 51
- }
- },
- {
- "filename": "0017.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 40,
- "h": 51
- },
- "frame": {
- "x": 140,
- "y": 51,
- "w": 40,
- "h": 51
- }
- },
- {
- "filename": "0024.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 40,
- "h": 51
- },
- "frame": {
- "x": 140,
- "y": 51,
- "w": 40,
- "h": 51
- }
- },
- {
- "filename": "0031.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 40,
- "h": 51
- },
- "frame": {
- "x": 140,
- "y": 51,
- "w": 40,
- "h": 51
- }
- },
- {
- "filename": "0038.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 40,
- "h": 51
- },
- "frame": {
- "x": 140,
- "y": 51,
- "w": 40,
- "h": 51
- }
- },
- {
- "filename": "0045.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 40,
- "h": 51
- },
- "frame": {
- "x": 140,
- "y": 51,
- "w": 40,
- "h": 51
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 41,
- "h": 50
- },
- "frame": {
- "x": 51,
- "y": 102,
- "w": 41,
- "h": 50
- }
- },
- {
- "filename": "0011.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 41,
- "h": 50
- },
- "frame": {
- "x": 51,
- "y": 102,
- "w": 41,
- "h": 50
- }
- },
- {
- "filename": "0018.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 41,
- "h": 50
- },
- "frame": {
- "x": 51,
- "y": 102,
- "w": 41,
- "h": 50
- }
- },
- {
- "filename": "0025.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 41,
- "h": 50
- },
- "frame": {
- "x": 51,
- "y": 102,
- "w": 41,
- "h": 50
- }
- },
- {
- "filename": "0032.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 41,
- "h": 50
- },
- "frame": {
- "x": 51,
- "y": 102,
- "w": 41,
- "h": 50
- }
- },
- {
- "filename": "0039.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 41,
- "h": 50
- },
- "frame": {
- "x": 51,
- "y": 102,
- "w": 41,
- "h": 50
- }
- },
- {
- "filename": "0046.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 41,
- "h": 50
- },
- "frame": {
- "x": 51,
- "y": 102,
- "w": 41,
- "h": 50
- }
- },
- {
- "filename": "0005.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 40,
- "h": 51
- },
- "frame": {
- "x": 46,
- "y": 152,
- "w": 40,
- "h": 51
- }
- },
- {
- "filename": "0012.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 40,
- "h": 51
- },
- "frame": {
- "x": 46,
- "y": 152,
- "w": 40,
- "h": 51
- }
- },
- {
- "filename": "0019.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 40,
- "h": 51
- },
- "frame": {
- "x": 46,
- "y": 152,
- "w": 40,
- "h": 51
- }
- },
- {
- "filename": "0026.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 40,
- "h": 51
- },
- "frame": {
- "x": 46,
- "y": 152,
- "w": 40,
- "h": 51
- }
- },
- {
- "filename": "0033.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 40,
- "h": 51
- },
- "frame": {
- "x": 46,
- "y": 152,
- "w": 40,
- "h": 51
- }
- },
- {
- "filename": "0040.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 40,
- "h": 51
- },
- "frame": {
- "x": 46,
- "y": 152,
- "w": 40,
- "h": 51
- }
- },
- {
- "filename": "0047.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 40,
- "h": 51
- },
- "frame": {
- "x": 46,
- "y": 152,
- "w": 40,
- "h": 51
- }
- },
- {
- "filename": "0062.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 40,
- "h": 51
- },
- "frame": {
- "x": 92,
- "y": 102,
- "w": 40,
- "h": 51
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 132,
- "y": 102,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 132,
- "y": 102,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0008.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 132,
- "y": 102,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0009.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 132,
- "y": 102,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0015.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 132,
- "y": 102,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0016.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 132,
- "y": 102,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0022.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 132,
- "y": 102,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0023.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 132,
- "y": 102,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0029.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 132,
- "y": 102,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0030.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 132,
- "y": 102,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0036.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 132,
- "y": 102,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0037.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 132,
- "y": 102,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0043.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 132,
- "y": 102,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0044.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 132,
- "y": 102,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0050.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 132,
- "y": 102,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0006.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 171,
- "y": 102,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0013.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 171,
- "y": 102,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0020.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 171,
- "y": 102,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0027.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 171,
- "y": 102,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0034.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 171,
- "y": 102,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0041.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 171,
- "y": 102,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0048.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 171,
- "y": 102,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0007.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 86,
- "y": 153,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0014.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 86,
- "y": 153,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0021.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 86,
- "y": 153,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0028.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 86,
- "y": 153,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0035.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 86,
- "y": 153,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0042.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 86,
- "y": 153,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0049.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 86,
- "y": 153,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0051.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 125,
- "y": 153,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0063.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 125,
- "y": 153,
- "w": 39,
- "h": 51
- }
- },
- {
- "filename": "0052.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 57,
- "h": 51
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 51
- },
- "frame": {
- "x": 164,
- "y": 153,
- "w": 39,
- "h": 51
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:d7864b889ac0482f3715786beb7feb1f:ff8c14577b4038d57165902da0686e0f:92ecadef6e0cb53020b8cd41fbeaf2cd$"
- }
-}
diff --git a/public/images/pokemon/exp/back/shiny/778.png b/public/images/pokemon/exp/back/shiny/778.png
deleted file mode 100644
index 16ed247e24a..00000000000
Binary files a/public/images/pokemon/exp/back/shiny/778.png and /dev/null differ
diff --git a/public/images/pokemon/exp/back/shiny/974.png b/public/images/pokemon/exp/back/shiny/974.png
index 936304b6639..bd9327b1e51 100644
Binary files a/public/images/pokemon/exp/back/shiny/974.png and b/public/images/pokemon/exp/back/shiny/974.png differ
diff --git a/public/images/pokemon/exp/back/shiny/975.png b/public/images/pokemon/exp/back/shiny/975.png
index 75d6cd81ec4..90e14f96ce2 100644
Binary files a/public/images/pokemon/exp/back/shiny/975.png and b/public/images/pokemon/exp/back/shiny/975.png differ
diff --git a/public/images/pokemon/exp/shiny/130-mega.png b/public/images/pokemon/exp/shiny/130-mega.png
index eb87c24325b..fb4f81bf629 100644
Binary files a/public/images/pokemon/exp/shiny/130-mega.png and b/public/images/pokemon/exp/shiny/130-mega.png differ
diff --git a/public/images/pokemon/exp/shiny/2053.json b/public/images/pokemon/exp/shiny/2053.json
new file mode 100644
index 00000000000..c43a863e79f
--- /dev/null
+++ b/public/images/pokemon/exp/shiny/2053.json
@@ -0,0 +1,1112 @@
+{
+ "textures": [
+ {
+ "image": "2053.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 328,
+ "h": 328
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 77,
+ "h": 66
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 77,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 77,
+ "h": 66
+ },
+ "frame": {
+ "x": 0,
+ "y": 66,
+ "w": 77,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 77,
+ "h": 66
+ },
+ "frame": {
+ "x": 77,
+ "y": 0,
+ "w": 77,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 77,
+ "h": 65
+ },
+ "frame": {
+ "x": 0,
+ "y": 132,
+ "w": 77,
+ "h": 65
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 71,
+ "h": 66
+ },
+ "frame": {
+ "x": 77,
+ "y": 66,
+ "w": 71,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 71,
+ "h": 65
+ },
+ "frame": {
+ "x": 154,
+ "y": 0,
+ "w": 71,
+ "h": 65
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 66,
+ "h": 65
+ },
+ "frame": {
+ "x": 0,
+ "y": 197,
+ "w": 66,
+ "h": 65
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 60,
+ "h": 66
+ },
+ "frame": {
+ "x": 0,
+ "y": 262,
+ "w": 60,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 60,
+ "h": 66
+ },
+ "frame": {
+ "x": 0,
+ "y": 262,
+ "w": 60,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 60,
+ "h": 66
+ },
+ "frame": {
+ "x": 0,
+ "y": 262,
+ "w": 60,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 60,
+ "h": 66
+ },
+ "frame": {
+ "x": 0,
+ "y": 262,
+ "w": 60,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 60,
+ "h": 66
+ },
+ "frame": {
+ "x": 0,
+ "y": 262,
+ "w": 60,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 60,
+ "h": 66
+ },
+ "frame": {
+ "x": 60,
+ "y": 262,
+ "w": 60,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 60,
+ "h": 66
+ },
+ "frame": {
+ "x": 60,
+ "y": 262,
+ "w": 60,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 60,
+ "h": 66
+ },
+ "frame": {
+ "x": 60,
+ "y": 262,
+ "w": 60,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 60,
+ "h": 66
+ },
+ "frame": {
+ "x": 60,
+ "y": 262,
+ "w": 60,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 66,
+ "h": 65
+ },
+ "frame": {
+ "x": 225,
+ "y": 0,
+ "w": 66,
+ "h": 65
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 60,
+ "h": 65
+ },
+ "frame": {
+ "x": 66,
+ "y": 197,
+ "w": 60,
+ "h": 65
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 58,
+ "h": 65
+ },
+ "frame": {
+ "x": 77,
+ "y": 132,
+ "w": 58,
+ "h": 65
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 59,
+ "h": 66
+ },
+ "frame": {
+ "x": 120,
+ "y": 262,
+ "w": 59,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 59,
+ "h": 67
+ },
+ "frame": {
+ "x": 135,
+ "y": 132,
+ "w": 59,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 59,
+ "h": 67
+ },
+ "frame": {
+ "x": 135,
+ "y": 132,
+ "w": 59,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 59,
+ "h": 67
+ },
+ "frame": {
+ "x": 135,
+ "y": 132,
+ "w": 59,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 59,
+ "h": 67
+ },
+ "frame": {
+ "x": 135,
+ "y": 132,
+ "w": 59,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 59,
+ "h": 67
+ },
+ "frame": {
+ "x": 154,
+ "y": 65,
+ "w": 59,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 59,
+ "h": 67
+ },
+ "frame": {
+ "x": 154,
+ "y": 65,
+ "w": 59,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 59,
+ "h": 67
+ },
+ "frame": {
+ "x": 154,
+ "y": 65,
+ "w": 59,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 59,
+ "h": 67
+ },
+ "frame": {
+ "x": 154,
+ "y": 65,
+ "w": 59,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 57,
+ "h": 68
+ },
+ "frame": {
+ "x": 213,
+ "y": 65,
+ "w": 57,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 57,
+ "h": 68
+ },
+ "frame": {
+ "x": 213,
+ "y": 65,
+ "w": 57,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 57,
+ "h": 68
+ },
+ "frame": {
+ "x": 213,
+ "y": 65,
+ "w": 57,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 57,
+ "h": 68
+ },
+ "frame": {
+ "x": 213,
+ "y": 65,
+ "w": 57,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 57,
+ "h": 68
+ },
+ "frame": {
+ "x": 194,
+ "y": 133,
+ "w": 57,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 57,
+ "h": 68
+ },
+ "frame": {
+ "x": 194,
+ "y": 133,
+ "w": 57,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 57,
+ "h": 68
+ },
+ "frame": {
+ "x": 194,
+ "y": 133,
+ "w": 57,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 57,
+ "h": 68
+ },
+ "frame": {
+ "x": 194,
+ "y": 133,
+ "w": 57,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 54,
+ "h": 69
+ },
+ "frame": {
+ "x": 270,
+ "y": 65,
+ "w": 54,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 54,
+ "h": 69
+ },
+ "frame": {
+ "x": 270,
+ "y": 65,
+ "w": 54,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 54,
+ "h": 69
+ },
+ "frame": {
+ "x": 270,
+ "y": 65,
+ "w": 54,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 54,
+ "h": 69
+ },
+ "frame": {
+ "x": 270,
+ "y": 65,
+ "w": 54,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 54,
+ "h": 69
+ },
+ "frame": {
+ "x": 251,
+ "y": 134,
+ "w": 54,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 54,
+ "h": 69
+ },
+ "frame": {
+ "x": 251,
+ "y": 134,
+ "w": 54,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 54,
+ "h": 69
+ },
+ "frame": {
+ "x": 251,
+ "y": 134,
+ "w": 54,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 54,
+ "h": 69
+ },
+ "frame": {
+ "x": 251,
+ "y": 134,
+ "w": 54,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 52,
+ "h": 69
+ },
+ "frame": {
+ "x": 179,
+ "y": 201,
+ "w": 52,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 52,
+ "h": 69
+ },
+ "frame": {
+ "x": 179,
+ "y": 201,
+ "w": 52,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 52,
+ "h": 69
+ },
+ "frame": {
+ "x": 179,
+ "y": 201,
+ "w": 52,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 52,
+ "h": 69
+ },
+ "frame": {
+ "x": 179,
+ "y": 201,
+ "w": 52,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 52,
+ "h": 69
+ },
+ "frame": {
+ "x": 231,
+ "y": 203,
+ "w": 52,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 52,
+ "h": 69
+ },
+ "frame": {
+ "x": 231,
+ "y": 203,
+ "w": 52,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 52,
+ "h": 69
+ },
+ "frame": {
+ "x": 231,
+ "y": 203,
+ "w": 52,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 52,
+ "h": 69
+ },
+ "frame": {
+ "x": 231,
+ "y": 203,
+ "w": 52,
+ "h": 69
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:19d299158f25621488d87b35b25bc16d:6ede71bfe03690e8b7fb96337cdbdd18:dd9440d54af5b14210c0ed9775d82426$"
+ }
+}
diff --git a/public/images/pokemon/exp/shiny/4053.png b/public/images/pokemon/exp/shiny/2053.png
similarity index 100%
rename from public/images/pokemon/exp/shiny/4053.png
rename to public/images/pokemon/exp/shiny/2053.png
diff --git a/public/images/pokemon/exp/shiny/4053.json b/public/images/pokemon/exp/shiny/4053.json
deleted file mode 100644
index a895e4d8a07..00000000000
--- a/public/images/pokemon/exp/shiny/4053.json
+++ /dev/null
@@ -1,1112 +0,0 @@
-{
- "textures": [
- {
- "image": "4053.png",
- "format": "RGBA8888",
- "size": {
- "w": 328,
- "h": 328
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0045.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 77,
- "h": 66
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 77,
- "h": 66
- }
- },
- {
- "filename": "0046.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 77,
- "h": 66
- },
- "frame": {
- "x": 0,
- "y": 66,
- "w": 77,
- "h": 66
- }
- },
- {
- "filename": "0047.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 77,
- "h": 66
- },
- "frame": {
- "x": 77,
- "y": 0,
- "w": 77,
- "h": 66
- }
- },
- {
- "filename": "0044.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 4,
- "w": 77,
- "h": 65
- },
- "frame": {
- "x": 0,
- "y": 132,
- "w": 77,
- "h": 65
- }
- },
- {
- "filename": "0048.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 71,
- "h": 66
- },
- "frame": {
- "x": 77,
- "y": 66,
- "w": 71,
- "h": 66
- }
- },
- {
- "filename": "0043.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 4,
- "w": 71,
- "h": 65
- },
- "frame": {
- "x": 154,
- "y": 0,
- "w": 71,
- "h": 65
- }
- },
- {
- "filename": "0042.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 4,
- "w": 66,
- "h": 65
- },
- "frame": {
- "x": 0,
- "y": 197,
- "w": 66,
- "h": 65
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 60,
- "h": 66
- },
- "frame": {
- "x": 0,
- "y": 262,
- "w": 60,
- "h": 66
- }
- },
- {
- "filename": "0011.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 60,
- "h": 66
- },
- "frame": {
- "x": 0,
- "y": 262,
- "w": 60,
- "h": 66
- }
- },
- {
- "filename": "0021.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 60,
- "h": 66
- },
- "frame": {
- "x": 0,
- "y": 262,
- "w": 60,
- "h": 66
- }
- },
- {
- "filename": "0031.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 60,
- "h": 66
- },
- "frame": {
- "x": 0,
- "y": 262,
- "w": 60,
- "h": 66
- }
- },
- {
- "filename": "0041.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 60,
- "h": 66
- },
- "frame": {
- "x": 0,
- "y": 262,
- "w": 60,
- "h": 66
- }
- },
- {
- "filename": "0010.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 60,
- "h": 66
- },
- "frame": {
- "x": 60,
- "y": 262,
- "w": 60,
- "h": 66
- }
- },
- {
- "filename": "0020.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 60,
- "h": 66
- },
- "frame": {
- "x": 60,
- "y": 262,
- "w": 60,
- "h": 66
- }
- },
- {
- "filename": "0030.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 60,
- "h": 66
- },
- "frame": {
- "x": 60,
- "y": 262,
- "w": 60,
- "h": 66
- }
- },
- {
- "filename": "0040.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 60,
- "h": 66
- },
- "frame": {
- "x": 60,
- "y": 262,
- "w": 60,
- "h": 66
- }
- },
- {
- "filename": "0049.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 4,
- "w": 66,
- "h": 65
- },
- "frame": {
- "x": 225,
- "y": 0,
- "w": 66,
- "h": 65
- }
- },
- {
- "filename": "0050.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 4,
- "w": 60,
- "h": 65
- },
- "frame": {
- "x": 66,
- "y": 197,
- "w": 60,
- "h": 65
- }
- },
- {
- "filename": "0051.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 4,
- "w": 58,
- "h": 65
- },
- "frame": {
- "x": 77,
- "y": 132,
- "w": 58,
- "h": 65
- }
- },
- {
- "filename": "0052.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 59,
- "h": 66
- },
- "frame": {
- "x": 120,
- "y": 262,
- "w": 59,
- "h": 66
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 59,
- "h": 67
- },
- "frame": {
- "x": 135,
- "y": 132,
- "w": 59,
- "h": 67
- }
- },
- {
- "filename": "0012.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 59,
- "h": 67
- },
- "frame": {
- "x": 135,
- "y": 132,
- "w": 59,
- "h": 67
- }
- },
- {
- "filename": "0022.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 59,
- "h": 67
- },
- "frame": {
- "x": 135,
- "y": 132,
- "w": 59,
- "h": 67
- }
- },
- {
- "filename": "0032.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 59,
- "h": 67
- },
- "frame": {
- "x": 135,
- "y": 132,
- "w": 59,
- "h": 67
- }
- },
- {
- "filename": "0009.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 59,
- "h": 67
- },
- "frame": {
- "x": 154,
- "y": 65,
- "w": 59,
- "h": 67
- }
- },
- {
- "filename": "0019.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 59,
- "h": 67
- },
- "frame": {
- "x": 154,
- "y": 65,
- "w": 59,
- "h": 67
- }
- },
- {
- "filename": "0029.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 59,
- "h": 67
- },
- "frame": {
- "x": 154,
- "y": 65,
- "w": 59,
- "h": 67
- }
- },
- {
- "filename": "0039.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 59,
- "h": 67
- },
- "frame": {
- "x": 154,
- "y": 65,
- "w": 59,
- "h": 67
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 57,
- "h": 68
- },
- "frame": {
- "x": 213,
- "y": 65,
- "w": 57,
- "h": 68
- }
- },
- {
- "filename": "0013.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 57,
- "h": 68
- },
- "frame": {
- "x": 213,
- "y": 65,
- "w": 57,
- "h": 68
- }
- },
- {
- "filename": "0023.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 57,
- "h": 68
- },
- "frame": {
- "x": 213,
- "y": 65,
- "w": 57,
- "h": 68
- }
- },
- {
- "filename": "0033.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 57,
- "h": 68
- },
- "frame": {
- "x": 213,
- "y": 65,
- "w": 57,
- "h": 68
- }
- },
- {
- "filename": "0008.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 57,
- "h": 68
- },
- "frame": {
- "x": 194,
- "y": 133,
- "w": 57,
- "h": 68
- }
- },
- {
- "filename": "0018.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 57,
- "h": 68
- },
- "frame": {
- "x": 194,
- "y": 133,
- "w": 57,
- "h": 68
- }
- },
- {
- "filename": "0028.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 57,
- "h": 68
- },
- "frame": {
- "x": 194,
- "y": 133,
- "w": 57,
- "h": 68
- }
- },
- {
- "filename": "0038.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 57,
- "h": 68
- },
- "frame": {
- "x": 194,
- "y": 133,
- "w": 57,
- "h": 68
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 54,
- "h": 69
- },
- "frame": {
- "x": 270,
- "y": 65,
- "w": 54,
- "h": 69
- }
- },
- {
- "filename": "0014.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 54,
- "h": 69
- },
- "frame": {
- "x": 270,
- "y": 65,
- "w": 54,
- "h": 69
- }
- },
- {
- "filename": "0024.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 54,
- "h": 69
- },
- "frame": {
- "x": 270,
- "y": 65,
- "w": 54,
- "h": 69
- }
- },
- {
- "filename": "0034.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 54,
- "h": 69
- },
- "frame": {
- "x": 270,
- "y": 65,
- "w": 54,
- "h": 69
- }
- },
- {
- "filename": "0007.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 54,
- "h": 69
- },
- "frame": {
- "x": 251,
- "y": 134,
- "w": 54,
- "h": 69
- }
- },
- {
- "filename": "0017.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 54,
- "h": 69
- },
- "frame": {
- "x": 251,
- "y": 134,
- "w": 54,
- "h": 69
- }
- },
- {
- "filename": "0027.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 54,
- "h": 69
- },
- "frame": {
- "x": 251,
- "y": 134,
- "w": 54,
- "h": 69
- }
- },
- {
- "filename": "0037.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 54,
- "h": 69
- },
- "frame": {
- "x": 251,
- "y": 134,
- "w": 54,
- "h": 69
- }
- },
- {
- "filename": "0005.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 52,
- "h": 69
- },
- "frame": {
- "x": 179,
- "y": 201,
- "w": 52,
- "h": 69
- }
- },
- {
- "filename": "0015.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 52,
- "h": 69
- },
- "frame": {
- "x": 179,
- "y": 201,
- "w": 52,
- "h": 69
- }
- },
- {
- "filename": "0025.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 52,
- "h": 69
- },
- "frame": {
- "x": 179,
- "y": 201,
- "w": 52,
- "h": 69
- }
- },
- {
- "filename": "0035.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 52,
- "h": 69
- },
- "frame": {
- "x": 179,
- "y": 201,
- "w": 52,
- "h": 69
- }
- },
- {
- "filename": "0006.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 52,
- "h": 69
- },
- "frame": {
- "x": 231,
- "y": 203,
- "w": 52,
- "h": 69
- }
- },
- {
- "filename": "0016.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 52,
- "h": 69
- },
- "frame": {
- "x": 231,
- "y": 203,
- "w": 52,
- "h": 69
- }
- },
- {
- "filename": "0026.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 52,
- "h": 69
- },
- "frame": {
- "x": 231,
- "y": 203,
- "w": 52,
- "h": 69
- }
- },
- {
- "filename": "0036.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 77,
- "h": 69
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 52,
- "h": 69
- },
- "frame": {
- "x": 231,
- "y": 203,
- "w": 52,
- "h": 69
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:19d299158f25621488d87b35b25bc16d:6ede71bfe03690e8b7fb96337cdbdd18:dd9440d54af5b14210c0ed9775d82426$"
- }
-}
diff --git a/public/images/pokemon/exp/shiny/4555.json b/public/images/pokemon/exp/shiny/4555.json
index f6f5dae33e7..8a1e2934687 100644
--- a/public/images/pokemon/exp/shiny/4555.json
+++ b/public/images/pokemon/exp/shiny/4555.json
@@ -1,1427 +1,272 @@
-{
- "textures": [
- {
- "image": "4555.png",
- "format": "RGBA8888",
- "size": {
- "w": 167,
- "h": 167
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0034.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 6,
- "w": 45,
- "h": 42
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 42
- }
- },
- {
- "filename": "0050.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 6,
- "w": 45,
- "h": 42
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 42
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 6,
- "w": 44,
- "h": 42
- },
- "frame": {
- "x": 0,
- "y": 42,
- "w": 44,
- "h": 42
- }
- },
- {
- "filename": "0008.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 6,
- "w": 44,
- "h": 42
- },
- "frame": {
- "x": 0,
- "y": 42,
- "w": 44,
- "h": 42
- }
- },
- {
- "filename": "0010.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 6,
- "w": 44,
- "h": 42
- },
- "frame": {
- "x": 0,
- "y": 42,
- "w": 44,
- "h": 42
- }
- },
- {
- "filename": "0016.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 6,
- "w": 44,
- "h": 42
- },
- "frame": {
- "x": 0,
- "y": 42,
- "w": 44,
- "h": 42
- }
- },
- {
- "filename": "0018.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 6,
- "w": 44,
- "h": 42
- },
- "frame": {
- "x": 0,
- "y": 42,
- "w": 44,
- "h": 42
- }
- },
- {
- "filename": "0024.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 6,
- "w": 44,
- "h": 42
- },
- "frame": {
- "x": 0,
- "y": 42,
- "w": 44,
- "h": 42
- }
- },
- {
- "filename": "0026.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 6,
- "w": 44,
- "h": 42
- },
- "frame": {
- "x": 0,
- "y": 42,
- "w": 44,
- "h": 42
- }
- },
- {
- "filename": "0032.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 6,
- "w": 44,
- "h": 42
- },
- "frame": {
- "x": 0,
- "y": 42,
- "w": 44,
- "h": 42
- }
- },
- {
- "filename": "0052.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 6,
- "w": 44,
- "h": 42
- },
- "frame": {
- "x": 0,
- "y": 42,
- "w": 44,
- "h": 42
- }
- },
- {
- "filename": "0058.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 6,
- "w": 44,
- "h": 42
- },
- "frame": {
- "x": 0,
- "y": 42,
- "w": 44,
- "h": 42
- }
- },
- {
- "filename": "0060.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 6,
- "w": 44,
- "h": 42
- },
- "frame": {
- "x": 0,
- "y": 42,
- "w": 44,
- "h": 42
- }
- },
- {
- "filename": "0066.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 6,
- "w": 44,
- "h": 42
- },
- "frame": {
- "x": 0,
- "y": 42,
- "w": 44,
- "h": 42
- }
- },
- {
- "filename": "0038.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 7,
- "w": 45,
- "h": 41
- },
- "frame": {
- "x": 45,
- "y": 0,
- "w": 45,
- "h": 41
- }
- },
- {
- "filename": "0042.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 3,
- "y": 7,
- "w": 45,
- "h": 41
- },
- "frame": {
- "x": 90,
- "y": 0,
- "w": 45,
- "h": 41
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 43,
- "h": 42
- },
- "frame": {
- "x": 0,
- "y": 84,
- "w": 43,
- "h": 42
- }
- },
- {
- "filename": "0007.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 43,
- "h": 42
- },
- "frame": {
- "x": 0,
- "y": 84,
- "w": 43,
- "h": 42
- }
- },
- {
- "filename": "0011.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 43,
- "h": 42
- },
- "frame": {
- "x": 0,
- "y": 84,
- "w": 43,
- "h": 42
- }
- },
- {
- "filename": "0015.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 43,
- "h": 42
- },
- "frame": {
- "x": 0,
- "y": 84,
- "w": 43,
- "h": 42
- }
- },
- {
- "filename": "0019.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 43,
- "h": 42
- },
- "frame": {
- "x": 0,
- "y": 84,
- "w": 43,
- "h": 42
- }
- },
- {
- "filename": "0023.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 43,
- "h": 42
- },
- "frame": {
- "x": 0,
- "y": 84,
- "w": 43,
- "h": 42
- }
- },
- {
- "filename": "0027.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 43,
- "h": 42
- },
- "frame": {
- "x": 0,
- "y": 84,
- "w": 43,
- "h": 42
- }
- },
- {
- "filename": "0031.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 43,
- "h": 42
- },
- "frame": {
- "x": 0,
- "y": 84,
- "w": 43,
- "h": 42
- }
- },
- {
- "filename": "0053.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 43,
- "h": 42
- },
- "frame": {
- "x": 0,
- "y": 84,
- "w": 43,
- "h": 42
- }
- },
- {
- "filename": "0057.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 43,
- "h": 42
- },
- "frame": {
- "x": 0,
- "y": 84,
- "w": 43,
- "h": 42
- }
- },
- {
- "filename": "0061.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 43,
- "h": 42
- },
- "frame": {
- "x": 0,
- "y": 84,
- "w": 43,
- "h": 42
- }
- },
- {
- "filename": "0065.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 43,
- "h": 42
- },
- "frame": {
- "x": 0,
- "y": 84,
- "w": 43,
- "h": 42
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 6,
- "w": 43,
- "h": 41
- },
- "frame": {
- "x": 0,
- "y": 126,
- "w": 43,
- "h": 41
- }
- },
- {
- "filename": "0009.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 6,
- "w": 43,
- "h": 41
- },
- "frame": {
- "x": 0,
- "y": 126,
- "w": 43,
- "h": 41
- }
- },
- {
- "filename": "0017.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 6,
- "w": 43,
- "h": 41
- },
- "frame": {
- "x": 0,
- "y": 126,
- "w": 43,
- "h": 41
- }
- },
- {
- "filename": "0025.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 6,
- "w": 43,
- "h": 41
- },
- "frame": {
- "x": 0,
- "y": 126,
- "w": 43,
- "h": 41
- }
- },
- {
- "filename": "0033.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 6,
- "w": 43,
- "h": 41
- },
- "frame": {
- "x": 0,
- "y": 126,
- "w": 43,
- "h": 41
- }
- },
- {
- "filename": "0035.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 6,
- "w": 43,
- "h": 41
- },
- "frame": {
- "x": 0,
- "y": 126,
- "w": 43,
- "h": 41
- }
- },
- {
- "filename": "0037.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 6,
- "w": 43,
- "h": 41
- },
- "frame": {
- "x": 0,
- "y": 126,
- "w": 43,
- "h": 41
- }
- },
- {
- "filename": "0039.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 6,
- "w": 43,
- "h": 41
- },
- "frame": {
- "x": 0,
- "y": 126,
- "w": 43,
- "h": 41
- }
- },
- {
- "filename": "0041.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 6,
- "w": 43,
- "h": 41
- },
- "frame": {
- "x": 0,
- "y": 126,
- "w": 43,
- "h": 41
- }
- },
- {
- "filename": "0043.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 7,
- "w": 43,
- "h": 41
- },
- "frame": {
- "x": 0,
- "y": 126,
- "w": 43,
- "h": 41
- }
- },
- {
- "filename": "0049.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 6,
- "w": 43,
- "h": 41
- },
- "frame": {
- "x": 0,
- "y": 126,
- "w": 43,
- "h": 41
- }
- },
- {
- "filename": "0051.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 6,
- "w": 43,
- "h": 41
- },
- "frame": {
- "x": 0,
- "y": 126,
- "w": 43,
- "h": 41
- }
- },
- {
- "filename": "0059.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 6,
- "w": 43,
- "h": 41
- },
- "frame": {
- "x": 0,
- "y": 126,
- "w": 43,
- "h": 41
- }
- },
- {
- "filename": "0067.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 6,
- "w": 43,
- "h": 41
- },
- "frame": {
- "x": 0,
- "y": 126,
- "w": 43,
- "h": 41
- }
- },
- {
- "filename": "0046.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 0,
- "w": 44,
- "h": 40
- },
- "frame": {
- "x": 45,
- "y": 41,
- "w": 44,
- "h": 40
- }
- },
- {
- "filename": "0045.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 0,
- "w": 43,
- "h": 40
- },
- "frame": {
- "x": 89,
- "y": 41,
- "w": 43,
- "h": 40
- }
- },
- {
- "filename": "0047.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 0,
- "w": 43,
- "h": 40
- },
- "frame": {
- "x": 89,
- "y": 41,
- "w": 43,
- "h": 40
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 7,
- "w": 42,
- "h": 41
- },
- "frame": {
- "x": 44,
- "y": 81,
- "w": 42,
- "h": 41
- }
- },
- {
- "filename": "0006.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 7,
- "w": 42,
- "h": 41
- },
- "frame": {
- "x": 44,
- "y": 81,
- "w": 42,
- "h": 41
- }
- },
- {
- "filename": "0012.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 7,
- "w": 42,
- "h": 41
- },
- "frame": {
- "x": 44,
- "y": 81,
- "w": 42,
- "h": 41
- }
- },
- {
- "filename": "0014.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 7,
- "w": 42,
- "h": 41
- },
- "frame": {
- "x": 44,
- "y": 81,
- "w": 42,
- "h": 41
- }
- },
- {
- "filename": "0020.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 7,
- "w": 42,
- "h": 41
- },
- "frame": {
- "x": 44,
- "y": 81,
- "w": 42,
- "h": 41
- }
- },
- {
- "filename": "0022.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 7,
- "w": 42,
- "h": 41
- },
- "frame": {
- "x": 44,
- "y": 81,
- "w": 42,
- "h": 41
- }
- },
- {
- "filename": "0028.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 7,
- "w": 42,
- "h": 41
- },
- "frame": {
- "x": 44,
- "y": 81,
- "w": 42,
- "h": 41
- }
- },
- {
- "filename": "0030.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 7,
- "w": 42,
- "h": 41
- },
- "frame": {
- "x": 44,
- "y": 81,
- "w": 42,
- "h": 41
- }
- },
- {
- "filename": "0054.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 7,
- "w": 42,
- "h": 41
- },
- "frame": {
- "x": 44,
- "y": 81,
- "w": 42,
- "h": 41
- }
- },
- {
- "filename": "0056.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 7,
- "w": 42,
- "h": 41
- },
- "frame": {
- "x": 44,
- "y": 81,
- "w": 42,
- "h": 41
- }
- },
- {
- "filename": "0062.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 7,
- "w": 42,
- "h": 41
- },
- "frame": {
- "x": 44,
- "y": 81,
- "w": 42,
- "h": 41
- }
- },
- {
- "filename": "0064.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 7,
- "w": 42,
- "h": 41
- },
- "frame": {
- "x": 44,
- "y": 81,
- "w": 42,
- "h": 41
- }
- },
- {
- "filename": "0005.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 3,
- "y": 7,
- "w": 41,
- "h": 41
- },
- "frame": {
- "x": 86,
- "y": 81,
- "w": 41,
- "h": 41
- }
- },
- {
- "filename": "0013.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 3,
- "y": 7,
- "w": 41,
- "h": 41
- },
- "frame": {
- "x": 86,
- "y": 81,
- "w": 41,
- "h": 41
- }
- },
- {
- "filename": "0021.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 3,
- "y": 7,
- "w": 41,
- "h": 41
- },
- "frame": {
- "x": 86,
- "y": 81,
- "w": 41,
- "h": 41
- }
- },
- {
- "filename": "0029.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 3,
- "y": 7,
- "w": 41,
- "h": 41
- },
- "frame": {
- "x": 86,
- "y": 81,
- "w": 41,
- "h": 41
- }
- },
- {
- "filename": "0055.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 3,
- "y": 7,
- "w": 41,
- "h": 41
- },
- "frame": {
- "x": 86,
- "y": 81,
- "w": 41,
- "h": 41
- }
- },
- {
- "filename": "0063.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 3,
- "y": 7,
- "w": 41,
- "h": 41
- },
- "frame": {
- "x": 86,
- "y": 81,
- "w": 41,
- "h": 41
- }
- },
- {
- "filename": "0044.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 40,
- "h": 42
- },
- "frame": {
- "x": 127,
- "y": 81,
- "w": 40,
- "h": 42
- }
- },
- {
- "filename": "0036.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 6,
- "w": 41,
- "h": 42
- },
- "frame": {
- "x": 43,
- "y": 122,
- "w": 41,
- "h": 42
- }
- },
- {
- "filename": "0040.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 6,
- "w": 41,
- "h": 42
- },
- "frame": {
- "x": 84,
- "y": 122,
- "w": 41,
- "h": 42
- }
- },
- {
- "filename": "0048.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 48,
- "h": 49
- },
- "spriteSourceSize": {
- "x": 1,
- "y": 8,
- "w": 41,
- "h": 41
- },
- "frame": {
- "x": 125,
- "y": 123,
- "w": 41,
- "h": 41
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:265fdf7e226496ba08465dfaf7110126:d3c7e5104ff35ad1a1d1e07ba8a2af96:b1fe411cd93ff8f39d0ba407d084a2a9$"
- }
-}
+{
+ "textures": [
+ {
+ "image": "4555.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 218,
+ "h": 218
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 61,
+ "h": 75
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 60,
+ "h": 75
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 60,
+ "h": 75
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 61,
+ "h": 75
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 60,
+ "h": 75
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 60,
+ "h": 75
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 61,
+ "h": 75
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 58,
+ "h": 75
+ },
+ "frame": {
+ "x": 0,
+ "y": 75,
+ "w": 58,
+ "h": 75
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 61,
+ "h": 75
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 58,
+ "h": 75
+ },
+ "frame": {
+ "x": 0,
+ "y": 75,
+ "w": 58,
+ "h": 75
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 61,
+ "h": 75
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 58,
+ "h": 75
+ },
+ "frame": {
+ "x": 58,
+ "y": 75,
+ "w": 58,
+ "h": 75
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 61,
+ "h": 75
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 58,
+ "h": 75
+ },
+ "frame": {
+ "x": 58,
+ "y": 75,
+ "w": 58,
+ "h": 75
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 61,
+ "h": 75
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 57,
+ "h": 75
+ },
+ "frame": {
+ "x": 60,
+ "y": 0,
+ "w": 57,
+ "h": 75
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 61,
+ "h": 75
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 59,
+ "h": 74
+ },
+ "frame": {
+ "x": 117,
+ "y": 0,
+ "w": 59,
+ "h": 74
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 61,
+ "h": 75
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 59,
+ "h": 74
+ },
+ "frame": {
+ "x": 117,
+ "y": 0,
+ "w": 59,
+ "h": 74
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 61,
+ "h": 75
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 59,
+ "h": 73
+ },
+ "frame": {
+ "x": 117,
+ "y": 74,
+ "w": 59,
+ "h": 73
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 61,
+ "h": 75
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 59,
+ "h": 73
+ },
+ "frame": {
+ "x": 117,
+ "y": 74,
+ "w": 59,
+ "h": 73
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 61,
+ "h": 75
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 59,
+ "h": 71
+ },
+ "frame": {
+ "x": 116,
+ "y": 147,
+ "w": 59,
+ "h": 71
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:8c03d5a85bd38061e1546639fec46360:c82e507fba00c56a331f2f65db25d979:b1fe411cd93ff8f39d0ba407d084a2a9$"
+ }
+}
diff --git a/public/images/pokemon/exp/shiny/4555.png b/public/images/pokemon/exp/shiny/4555.png
index c5da9b8ec1e..1fc84012eed 100644
Binary files a/public/images/pokemon/exp/shiny/4555.png and b/public/images/pokemon/exp/shiny/4555.png differ
diff --git a/public/images/pokemon/exp/shiny/682.png b/public/images/pokemon/exp/shiny/682.png
index ea4c71bdcda..099176ee625 100644
Binary files a/public/images/pokemon/exp/shiny/682.png and b/public/images/pokemon/exp/shiny/682.png differ
diff --git a/public/images/pokemon/exp/shiny/752.png b/public/images/pokemon/exp/shiny/752.png
index dbb8e458707..0902846f5f5 100644
Binary files a/public/images/pokemon/exp/shiny/752.png and b/public/images/pokemon/exp/shiny/752.png differ
diff --git a/public/images/pokemon/exp/shiny/772.png b/public/images/pokemon/exp/shiny/772.png
index 2655f6340f8..80be3267ea8 100644
Binary files a/public/images/pokemon/exp/shiny/772.png and b/public/images/pokemon/exp/shiny/772.png differ
diff --git a/public/images/pokemon/exp/shiny/773-bug.png b/public/images/pokemon/exp/shiny/773-bug.png
index cd688cadae7..6019608a76a 100644
Binary files a/public/images/pokemon/exp/shiny/773-bug.png and b/public/images/pokemon/exp/shiny/773-bug.png differ
diff --git a/public/images/pokemon/exp/shiny/773-dark.png b/public/images/pokemon/exp/shiny/773-dark.png
index 72a120ae48f..c904bacf35a 100644
Binary files a/public/images/pokemon/exp/shiny/773-dark.png and b/public/images/pokemon/exp/shiny/773-dark.png differ
diff --git a/public/images/pokemon/exp/shiny/773-dragon.png b/public/images/pokemon/exp/shiny/773-dragon.png
index ff94f02b8aa..8438e49c23d 100644
Binary files a/public/images/pokemon/exp/shiny/773-dragon.png and b/public/images/pokemon/exp/shiny/773-dragon.png differ
diff --git a/public/images/pokemon/exp/shiny/773-electric.png b/public/images/pokemon/exp/shiny/773-electric.png
index 844fe48bbf8..4a36fc54944 100644
Binary files a/public/images/pokemon/exp/shiny/773-electric.png and b/public/images/pokemon/exp/shiny/773-electric.png differ
diff --git a/public/images/pokemon/exp/shiny/773-fairy.png b/public/images/pokemon/exp/shiny/773-fairy.png
index 720bd8764c5..9f814b72fa8 100644
Binary files a/public/images/pokemon/exp/shiny/773-fairy.png and b/public/images/pokemon/exp/shiny/773-fairy.png differ
diff --git a/public/images/pokemon/exp/shiny/773-fighting.png b/public/images/pokemon/exp/shiny/773-fighting.png
index 074e159ab37..8d2724759d1 100644
Binary files a/public/images/pokemon/exp/shiny/773-fighting.png and b/public/images/pokemon/exp/shiny/773-fighting.png differ
diff --git a/public/images/pokemon/exp/shiny/773-fire.png b/public/images/pokemon/exp/shiny/773-fire.png
index c4b01df79b8..89928a13c10 100644
Binary files a/public/images/pokemon/exp/shiny/773-fire.png and b/public/images/pokemon/exp/shiny/773-fire.png differ
diff --git a/public/images/pokemon/exp/shiny/773-flying.png b/public/images/pokemon/exp/shiny/773-flying.png
index cfb09c0d0ee..aae4f9b7b76 100644
Binary files a/public/images/pokemon/exp/shiny/773-flying.png and b/public/images/pokemon/exp/shiny/773-flying.png differ
diff --git a/public/images/pokemon/exp/shiny/773-ghost.png b/public/images/pokemon/exp/shiny/773-ghost.png
index 32624ea9836..6d79bf774bc 100644
Binary files a/public/images/pokemon/exp/shiny/773-ghost.png and b/public/images/pokemon/exp/shiny/773-ghost.png differ
diff --git a/public/images/pokemon/exp/shiny/773-grass.png b/public/images/pokemon/exp/shiny/773-grass.png
index 18c807ece47..601419751c8 100644
Binary files a/public/images/pokemon/exp/shiny/773-grass.png and b/public/images/pokemon/exp/shiny/773-grass.png differ
diff --git a/public/images/pokemon/exp/shiny/773-ground.png b/public/images/pokemon/exp/shiny/773-ground.png
index f4698dd43da..fcc06261bc5 100644
Binary files a/public/images/pokemon/exp/shiny/773-ground.png and b/public/images/pokemon/exp/shiny/773-ground.png differ
diff --git a/public/images/pokemon/exp/shiny/773-ice.png b/public/images/pokemon/exp/shiny/773-ice.png
index 4073710d42c..b5c3ff2198d 100644
Binary files a/public/images/pokemon/exp/shiny/773-ice.png and b/public/images/pokemon/exp/shiny/773-ice.png differ
diff --git a/public/images/pokemon/exp/shiny/773-poison.png b/public/images/pokemon/exp/shiny/773-poison.png
index 7d07e5365bc..1ee3bc911d7 100644
Binary files a/public/images/pokemon/exp/shiny/773-poison.png and b/public/images/pokemon/exp/shiny/773-poison.png differ
diff --git a/public/images/pokemon/exp/shiny/773-psychic.png b/public/images/pokemon/exp/shiny/773-psychic.png
index 293a42e994b..8c16bc691da 100644
Binary files a/public/images/pokemon/exp/shiny/773-psychic.png and b/public/images/pokemon/exp/shiny/773-psychic.png differ
diff --git a/public/images/pokemon/exp/shiny/773-rock.png b/public/images/pokemon/exp/shiny/773-rock.png
index f9dd27f2949..9fe2622771e 100644
Binary files a/public/images/pokemon/exp/shiny/773-rock.png and b/public/images/pokemon/exp/shiny/773-rock.png differ
diff --git a/public/images/pokemon/exp/shiny/773-steel.png b/public/images/pokemon/exp/shiny/773-steel.png
index dfe58b2e3d5..5fa7e509f6d 100644
Binary files a/public/images/pokemon/exp/shiny/773-steel.png and b/public/images/pokemon/exp/shiny/773-steel.png differ
diff --git a/public/images/pokemon/exp/shiny/773-water.png b/public/images/pokemon/exp/shiny/773-water.png
index f51cd9f068b..223c33b4a56 100644
Binary files a/public/images/pokemon/exp/shiny/773-water.png and b/public/images/pokemon/exp/shiny/773-water.png differ
diff --git a/public/images/pokemon/exp/shiny/773.png b/public/images/pokemon/exp/shiny/773.png
index 325f8b9880c..407cc9144ef 100644
Binary files a/public/images/pokemon/exp/shiny/773.png and b/public/images/pokemon/exp/shiny/773.png differ
diff --git a/public/images/pokemon/exp/shiny/774-blue.png b/public/images/pokemon/exp/shiny/774-blue.png
index 82b53ea3d81..a6d5fd10f18 100644
Binary files a/public/images/pokemon/exp/shiny/774-blue.png and b/public/images/pokemon/exp/shiny/774-blue.png differ
diff --git a/public/images/pokemon/exp/shiny/774-green.png b/public/images/pokemon/exp/shiny/774-green.png
index 9ee225dc61c..ed8deff92bd 100644
Binary files a/public/images/pokemon/exp/shiny/774-green.png and b/public/images/pokemon/exp/shiny/774-green.png differ
diff --git a/public/images/pokemon/exp/shiny/774-indigo.png b/public/images/pokemon/exp/shiny/774-indigo.png
index f378b828450..4c2c954f2e7 100644
Binary files a/public/images/pokemon/exp/shiny/774-indigo.png and b/public/images/pokemon/exp/shiny/774-indigo.png differ
diff --git a/public/images/pokemon/exp/shiny/774-orange.png b/public/images/pokemon/exp/shiny/774-orange.png
index 54b6eb8eaed..4edcc654418 100644
Binary files a/public/images/pokemon/exp/shiny/774-orange.png and b/public/images/pokemon/exp/shiny/774-orange.png differ
diff --git a/public/images/pokemon/exp/shiny/774-red.png b/public/images/pokemon/exp/shiny/774-red.png
index 539e8d17913..d04e4468df9 100644
Binary files a/public/images/pokemon/exp/shiny/774-red.png and b/public/images/pokemon/exp/shiny/774-red.png differ
diff --git a/public/images/pokemon/exp/shiny/774-violet.png b/public/images/pokemon/exp/shiny/774-violet.png
index 840e8dbaeb8..d0721c118a0 100644
Binary files a/public/images/pokemon/exp/shiny/774-violet.png and b/public/images/pokemon/exp/shiny/774-violet.png differ
diff --git a/public/images/pokemon/exp/shiny/774-yellow.png b/public/images/pokemon/exp/shiny/774-yellow.png
index 64b10fdae1e..ab2f44c185a 100644
Binary files a/public/images/pokemon/exp/shiny/774-yellow.png and b/public/images/pokemon/exp/shiny/774-yellow.png differ
diff --git a/public/images/pokemon/exp/shiny/776.png b/public/images/pokemon/exp/shiny/776.png
index 5fa49516f9e..882a4ed5a6d 100644
Binary files a/public/images/pokemon/exp/shiny/776.png and b/public/images/pokemon/exp/shiny/776.png differ
diff --git a/public/images/pokemon/exp/shiny/777.json b/public/images/pokemon/exp/shiny/777.json
index 9e02c6e3fd2..4181c495c7c 100644
--- a/public/images/pokemon/exp/shiny/777.json
+++ b/public/images/pokemon/exp/shiny/777.json
@@ -1,965 +1,1071 @@
-{
- "textures": [
- {
- "image": "777.png",
- "format": "RGBA8888",
- "size": {
- "w": 163,
- "h": 163
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0034.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 44
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 37,
- "h": 44
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 37,
- "h": 44
- }
- },
- {
- "filename": "0042.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 44
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 37,
- "h": 44
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 37,
- "h": 44
- }
- },
- {
- "filename": "0035.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 44
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 37,
- "h": 44
- },
- "frame": {
- "x": 0,
- "y": 44,
- "w": 37,
- "h": 44
- }
- },
- {
- "filename": "0041.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 44
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 37,
- "h": 44
- },
- "frame": {
- "x": 0,
- "y": 44,
- "w": 37,
- "h": 44
- }
- },
- {
- "filename": "0036.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 44
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 37,
- "h": 44
- },
- "frame": {
- "x": 0,
- "y": 88,
- "w": 37,
- "h": 44
- }
- },
- {
- "filename": "0038.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 44
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 37,
- "h": 44
- },
- "frame": {
- "x": 0,
- "y": 88,
- "w": 37,
- "h": 44
- }
- },
- {
- "filename": "0040.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 44
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 37,
- "h": 44
- },
- "frame": {
- "x": 0,
- "y": 88,
- "w": 37,
- "h": 44
- }
- },
- {
- "filename": "0006.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 44
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 40,
- "h": 43
- },
- "frame": {
- "x": 37,
- "y": 0,
- "w": 40,
- "h": 43
- }
- },
- {
- "filename": "0012.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 44
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 40,
- "h": 43
- },
- "frame": {
- "x": 37,
- "y": 0,
- "w": 40,
- "h": 43
- }
- },
- {
- "filename": "0018.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 44
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 40,
- "h": 43
- },
- "frame": {
- "x": 37,
- "y": 0,
- "w": 40,
- "h": 43
- }
- },
- {
- "filename": "0024.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 44
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 40,
- "h": 43
- },
- "frame": {
- "x": 37,
- "y": 0,
- "w": 40,
- "h": 43
- }
- },
- {
- "filename": "0030.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 44
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 40,
- "h": 43
- },
- "frame": {
- "x": 37,
- "y": 0,
- "w": 40,
- "h": 43
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 44
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 40,
- "h": 41
- },
- "frame": {
- "x": 77,
- "y": 0,
- "w": 40,
- "h": 41
- }
- },
- {
- "filename": "0007.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 44
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 40,
- "h": 41
- },
- "frame": {
- "x": 77,
- "y": 0,
- "w": 40,
- "h": 41
- }
- },
- {
- "filename": "0013.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 44
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 40,
- "h": 41
- },
- "frame": {
- "x": 77,
- "y": 0,
- "w": 40,
- "h": 41
- }
- },
- {
- "filename": "0019.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 44
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 40,
- "h": 41
- },
- "frame": {
- "x": 77,
- "y": 0,
- "w": 40,
- "h": 41
- }
- },
- {
- "filename": "0025.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 44
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 40,
- "h": 41
- },
- "frame": {
- "x": 77,
- "y": 0,
- "w": 40,
- "h": 41
- }
- },
- {
- "filename": "0031.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 44
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 40,
- "h": 41
- },
- "frame": {
- "x": 77,
- "y": 0,
- "w": 40,
- "h": 41
- }
- },
- {
- "filename": "0045.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 44
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 40,
- "h": 41
- },
- "frame": {
- "x": 77,
- "y": 0,
- "w": 40,
- "h": 41
- }
- },
- {
- "filename": "0005.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 44
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 40,
- "h": 41
- },
- "frame": {
- "x": 117,
- "y": 0,
- "w": 40,
- "h": 41
- }
- },
- {
- "filename": "0011.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 44
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 40,
- "h": 41
- },
- "frame": {
- "x": 117,
- "y": 0,
- "w": 40,
- "h": 41
- }
- },
- {
- "filename": "0017.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 44
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 40,
- "h": 41
- },
- "frame": {
- "x": 117,
- "y": 0,
- "w": 40,
- "h": 41
- }
- },
- {
- "filename": "0023.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 44
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 40,
- "h": 41
- },
- "frame": {
- "x": 117,
- "y": 0,
- "w": 40,
- "h": 41
- }
- },
- {
- "filename": "0029.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 44
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 40,
- "h": 41
- },
- "frame": {
- "x": 117,
- "y": 0,
- "w": 40,
- "h": 41
- }
- },
- {
- "filename": "0032.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 44
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 40,
- "h": 41
- },
- "frame": {
- "x": 77,
- "y": 41,
- "w": 40,
- "h": 41
- }
- },
- {
- "filename": "0044.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 44
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 40,
- "h": 41
- },
- "frame": {
- "x": 37,
- "y": 43,
- "w": 40,
- "h": 41
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 44
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 40,
- "h": 39
- },
- "frame": {
- "x": 117,
- "y": 41,
- "w": 40,
- "h": 39
- }
- },
- {
- "filename": "0008.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 44
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 40,
- "h": 39
- },
- "frame": {
- "x": 117,
- "y": 41,
- "w": 40,
- "h": 39
- }
- },
- {
- "filename": "0014.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 44
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 40,
- "h": 39
- },
- "frame": {
- "x": 117,
- "y": 41,
- "w": 40,
- "h": 39
- }
- },
- {
- "filename": "0020.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 44
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 40,
- "h": 39
- },
- "frame": {
- "x": 117,
- "y": 41,
- "w": 40,
- "h": 39
- }
- },
- {
- "filename": "0026.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 44
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 40,
- "h": 39
- },
- "frame": {
- "x": 117,
- "y": 41,
- "w": 40,
- "h": 39
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 44
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 40,
- "h": 39
- },
- "frame": {
- "x": 117,
- "y": 80,
- "w": 40,
- "h": 39
- }
- },
- {
- "filename": "0010.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 44
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 40,
- "h": 39
- },
- "frame": {
- "x": 117,
- "y": 80,
- "w": 40,
- "h": 39
- }
- },
- {
- "filename": "0016.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 44
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 40,
- "h": 39
- },
- "frame": {
- "x": 117,
- "y": 80,
- "w": 40,
- "h": 39
- }
- },
- {
- "filename": "0022.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 44
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 40,
- "h": 39
- },
- "frame": {
- "x": 117,
- "y": 80,
- "w": 40,
- "h": 39
- }
- },
- {
- "filename": "0028.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 44
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 40,
- "h": 39
- },
- "frame": {
- "x": 117,
- "y": 80,
- "w": 40,
- "h": 39
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 44
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 6,
- "w": 40,
- "h": 38
- },
- "frame": {
- "x": 77,
- "y": 82,
- "w": 40,
- "h": 38
- }
- },
- {
- "filename": "0009.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 44
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 6,
- "w": 40,
- "h": 38
- },
- "frame": {
- "x": 77,
- "y": 82,
- "w": 40,
- "h": 38
- }
- },
- {
- "filename": "0015.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 44
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 6,
- "w": 40,
- "h": 38
- },
- "frame": {
- "x": 77,
- "y": 82,
- "w": 40,
- "h": 38
- }
- },
- {
- "filename": "0021.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 44
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 6,
- "w": 40,
- "h": 38
- },
- "frame": {
- "x": 77,
- "y": 82,
- "w": 40,
- "h": 38
- }
- },
- {
- "filename": "0027.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 44
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 6,
- "w": 40,
- "h": 38
- },
- "frame": {
- "x": 77,
- "y": 82,
- "w": 40,
- "h": 38
- }
- },
- {
- "filename": "0037.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 44
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 37,
- "h": 44
- },
- "frame": {
- "x": 117,
- "y": 119,
- "w": 37,
- "h": 44
- }
- },
- {
- "filename": "0039.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 44
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 37,
- "h": 44
- },
- "frame": {
- "x": 117,
- "y": 119,
- "w": 37,
- "h": 44
- }
- },
- {
- "filename": "0033.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 44
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 39,
- "h": 42
- },
- "frame": {
- "x": 37,
- "y": 84,
- "w": 39,
- "h": 42
- }
- },
- {
- "filename": "0043.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 44
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 39,
- "h": 42
- },
- "frame": {
- "x": 76,
- "y": 120,
- "w": 39,
- "h": 42
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:ad3e4de865d1d9392fed3533c75e9da4:53906d0c8828810f510b3b49c46d0af5:1aa6e90a0c99d7990e17ee8433a9373d$"
- }
-}
+{
+ "textures": [
+ {
+ "image": "777.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 163,
+ "h": 163
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 37,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 37,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 37,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 37,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 37,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 44,
+ "w": 37,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 37,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 44,
+ "w": 37,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 37,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 37,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 37,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 37,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 37,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 37,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 40,
+ "h": 43
+ },
+ "frame": {
+ "x": 37,
+ "y": 0,
+ "w": 40,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 40,
+ "h": 43
+ },
+ "frame": {
+ "x": 37,
+ "y": 0,
+ "w": 40,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 40,
+ "h": 43
+ },
+ "frame": {
+ "x": 37,
+ "y": 0,
+ "w": 40,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 40,
+ "h": 43
+ },
+ "frame": {
+ "x": 37,
+ "y": 0,
+ "w": 40,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 40,
+ "h": 43
+ },
+ "frame": {
+ "x": 37,
+ "y": 0,
+ "w": 40,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 77,
+ "y": 0,
+ "w": 40,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 77,
+ "y": 0,
+ "w": 40,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 77,
+ "y": 0,
+ "w": 40,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 77,
+ "y": 0,
+ "w": 40,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 77,
+ "y": 0,
+ "w": 40,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 77,
+ "y": 0,
+ "w": 40,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 77,
+ "y": 0,
+ "w": 40,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 117,
+ "y": 0,
+ "w": 40,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 117,
+ "y": 0,
+ "w": 40,
+ "h": 41
+ }
+ },
+ {
+ "filename": "00012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 117,
+ "y": 0,
+ "w": 40,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 117,
+ "y": 0,
+ "w": 40,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 117,
+ "y": 0,
+ "w": 40,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 117,
+ "y": 0,
+ "w": 40,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 117,
+ "y": 0,
+ "w": 40,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 117,
+ "y": 0,
+ "w": 40,
+ "h": 41
+ }
+ },
+
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 117,
+ "y": 0,
+ "w": 40,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 117,
+ "y": 0,
+ "w": 40,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 77,
+ "y": 41,
+ "w": 40,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 37,
+ "y": 43,
+ "w": 40,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 40,
+ "h": 39
+ },
+ "frame": {
+ "x": 117,
+ "y": 41,
+ "w": 40,
+ "h": 39
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 40,
+ "h": 39
+ },
+ "frame": {
+ "x": 117,
+ "y": 41,
+ "w": 40,
+ "h": 39
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 40,
+ "h": 39
+ },
+ "frame": {
+ "x": 117,
+ "y": 41,
+ "w": 40,
+ "h": 39
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 40,
+ "h": 39
+ },
+ "frame": {
+ "x": 117,
+ "y": 41,
+ "w": 40,
+ "h": 39
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 40,
+ "h": 39
+ },
+ "frame": {
+ "x": 117,
+ "y": 41,
+ "w": 40,
+ "h": 39
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 40,
+ "h": 39
+ },
+ "frame": {
+ "x": 117,
+ "y": 80,
+ "w": 40,
+ "h": 39
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 40,
+ "h": 39
+ },
+ "frame": {
+ "x": 117,
+ "y": 80,
+ "w": 40,
+ "h": 39
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 40,
+ "h": 39
+ },
+ "frame": {
+ "x": 117,
+ "y": 80,
+ "w": 40,
+ "h": 39
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 40,
+ "h": 39
+ },
+ "frame": {
+ "x": 117,
+ "y": 80,
+ "w": 40,
+ "h": 39
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 40,
+ "h": 39
+ },
+ "frame": {
+ "x": 117,
+ "y": 80,
+ "w": 40,
+ "h": 39
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 40,
+ "h": 38
+ },
+ "frame": {
+ "x": 77,
+ "y": 82,
+ "w": 40,
+ "h": 38
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 40,
+ "h": 38
+ },
+ "frame": {
+ "x": 77,
+ "y": 82,
+ "w": 40,
+ "h": 38
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 40,
+ "h": 38
+ },
+ "frame": {
+ "x": 77,
+ "y": 82,
+ "w": 40,
+ "h": 38
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 40,
+ "h": 38
+ },
+ "frame": {
+ "x": 77,
+ "y": 82,
+ "w": 40,
+ "h": 38
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 40,
+ "h": 38
+ },
+ "frame": {
+ "x": 77,
+ "y": 82,
+ "w": 40,
+ "h": 38
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 37,
+ "h": 44
+ },
+ "frame": {
+ "x": 117,
+ "y": 119,
+ "w": 37,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 37,
+ "h": 44
+ },
+ "frame": {
+ "x": 117,
+ "y": 119,
+ "w": 37,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 39,
+ "h": 42
+ },
+ "frame": {
+ "x": 37,
+ "y": 84,
+ "w": 39,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 39,
+ "h": 42
+ },
+ "frame": {
+ "x": 76,
+ "y": 120,
+ "w": 39,
+ "h": 42
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:ad3e4de865d1d9392fed3533c75e9da4:53906d0c8828810f510b3b49c46d0af5:1aa6e90a0c99d7990e17ee8433a9373d$"
+ }
+}
diff --git a/public/images/pokemon/exp/shiny/777.png b/public/images/pokemon/exp/shiny/777.png
index dcf9b163cd9..4862152e407 100644
Binary files a/public/images/pokemon/exp/shiny/777.png and b/public/images/pokemon/exp/shiny/777.png differ
diff --git a/public/images/pokemon/exp/shiny/778-disguised.json b/public/images/pokemon/exp/shiny/778-disguised.json
new file mode 100644
index 00000000000..1ba5c6899c4
--- /dev/null
+++ b/public/images/pokemon/exp/shiny/778-disguised.json
@@ -0,0 +1,1343 @@
+{
+ "textures": [
+ {
+ "image": "778-disguised.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 219,
+ "h": 219
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 60,
+ "h": 48
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 60,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 60,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 48,
+ "w": 60,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 57,
+ "h": 48
+ },
+ "frame": {
+ "x": 60,
+ "y": 0,
+ "w": 57,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 0,
+ "w": 54,
+ "h": 48
+ },
+ "frame": {
+ "x": 0,
+ "y": 95,
+ "w": 54,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 52,
+ "h": 48
+ },
+ "frame": {
+ "x": 117,
+ "y": 0,
+ "w": 52,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 0,
+ "w": 48,
+ "h": 48
+ },
+ "frame": {
+ "x": 0,
+ "y": 143,
+ "w": 48,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 0,
+ "w": 47,
+ "h": 48
+ },
+ "frame": {
+ "x": 169,
+ "y": 0,
+ "w": 47,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 16,
+ "y": 1,
+ "w": 44,
+ "h": 47
+ },
+ "frame": {
+ "x": 60,
+ "y": 48,
+ "w": 44,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 16,
+ "y": 1,
+ "w": 44,
+ "h": 47
+ },
+ "frame": {
+ "x": 60,
+ "y": 48,
+ "w": 44,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 16,
+ "y": 1,
+ "w": 44,
+ "h": 47
+ },
+ "frame": {
+ "x": 60,
+ "y": 48,
+ "w": 44,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 16,
+ "y": 1,
+ "w": 44,
+ "h": 47
+ },
+ "frame": {
+ "x": 60,
+ "y": 48,
+ "w": 44,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 16,
+ "y": 1,
+ "w": 44,
+ "h": 47
+ },
+ "frame": {
+ "x": 60,
+ "y": 48,
+ "w": 44,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 16,
+ "y": 1,
+ "w": 44,
+ "h": 47
+ },
+ "frame": {
+ "x": 60,
+ "y": 48,
+ "w": 44,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 16,
+ "y": 1,
+ "w": 44,
+ "h": 47
+ },
+ "frame": {
+ "x": 60,
+ "y": 48,
+ "w": 44,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 15,
+ "y": 0,
+ "w": 44,
+ "h": 48
+ },
+ "frame": {
+ "x": 54,
+ "y": 95,
+ "w": 44,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 15,
+ "y": 0,
+ "w": 44,
+ "h": 48
+ },
+ "frame": {
+ "x": 48,
+ "y": 143,
+ "w": 44,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 17,
+ "y": 0,
+ "w": 43,
+ "h": 48
+ },
+ "frame": {
+ "x": 104,
+ "y": 48,
+ "w": 43,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 17,
+ "y": 0,
+ "w": 43,
+ "h": 48
+ },
+ "frame": {
+ "x": 104,
+ "y": 48,
+ "w": 43,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 17,
+ "y": 0,
+ "w": 43,
+ "h": 48
+ },
+ "frame": {
+ "x": 104,
+ "y": 48,
+ "w": 43,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 17,
+ "y": 0,
+ "w": 43,
+ "h": 48
+ },
+ "frame": {
+ "x": 104,
+ "y": 48,
+ "w": 43,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 17,
+ "y": 0,
+ "w": 43,
+ "h": 48
+ },
+ "frame": {
+ "x": 104,
+ "y": 48,
+ "w": 43,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 17,
+ "y": 0,
+ "w": 43,
+ "h": 48
+ },
+ "frame": {
+ "x": 104,
+ "y": 48,
+ "w": 43,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 17,
+ "y": 0,
+ "w": 43,
+ "h": 48
+ },
+ "frame": {
+ "x": 104,
+ "y": 48,
+ "w": 43,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 17,
+ "y": 0,
+ "w": 42,
+ "h": 48
+ },
+ "frame": {
+ "x": 147,
+ "y": 48,
+ "w": 42,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 98,
+ "y": 96,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 98,
+ "y": 96,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 98,
+ "y": 96,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 98,
+ "y": 96,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 98,
+ "y": 96,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 98,
+ "y": 96,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 98,
+ "y": 96,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 98,
+ "y": 96,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 98,
+ "y": 96,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 98,
+ "y": 96,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 98,
+ "y": 96,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 98,
+ "y": 96,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 98,
+ "y": 96,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 98,
+ "y": 96,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 98,
+ "y": 96,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 17,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 139,
+ "y": 96,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 17,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 139,
+ "y": 96,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 17,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 139,
+ "y": 96,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 17,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 139,
+ "y": 96,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 17,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 139,
+ "y": 96,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 17,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 139,
+ "y": 96,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 17,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 139,
+ "y": 96,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 92,
+ "y": 144,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 92,
+ "y": 144,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 41,
+ "h": 48
+ },
+ "frame": {
+ "x": 133,
+ "y": 144,
+ "w": 41,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 39,
+ "h": 48
+ },
+ "frame": {
+ "x": 180,
+ "y": 96,
+ "w": 39,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 39,
+ "h": 48
+ },
+ "frame": {
+ "x": 180,
+ "y": 96,
+ "w": 39,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 39,
+ "h": 48
+ },
+ "frame": {
+ "x": 180,
+ "y": 96,
+ "w": 39,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 39,
+ "h": 48
+ },
+ "frame": {
+ "x": 180,
+ "y": 96,
+ "w": 39,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 39,
+ "h": 48
+ },
+ "frame": {
+ "x": 180,
+ "y": 96,
+ "w": 39,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 39,
+ "h": 48
+ },
+ "frame": {
+ "x": 180,
+ "y": 96,
+ "w": 39,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 39,
+ "h": 48
+ },
+ "frame": {
+ "x": 180,
+ "y": 96,
+ "w": 39,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 39,
+ "h": 48
+ },
+ "frame": {
+ "x": 174,
+ "y": 144,
+ "w": 39,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 39,
+ "h": 48
+ },
+ "frame": {
+ "x": 174,
+ "y": 144,
+ "w": 39,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 39,
+ "h": 48
+ },
+ "frame": {
+ "x": 174,
+ "y": 144,
+ "w": 39,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 39,
+ "h": 48
+ },
+ "frame": {
+ "x": 174,
+ "y": 144,
+ "w": 39,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 39,
+ "h": 48
+ },
+ "frame": {
+ "x": 174,
+ "y": 144,
+ "w": 39,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 39,
+ "h": 48
+ },
+ "frame": {
+ "x": 174,
+ "y": 144,
+ "w": 39,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 60,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 0,
+ "w": 39,
+ "h": 48
+ },
+ "frame": {
+ "x": 174,
+ "y": 144,
+ "w": 39,
+ "h": 48
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:1c311f301c27f7915f7eb51e9cc9646f:16371ca8bc0084a5629125b83bbf1a4e:92ecadef6e0cb53020b8cd41fbeaf2cd$"
+ }
+}
diff --git a/public/images/pokemon/exp/shiny/778-disguised.png b/public/images/pokemon/exp/shiny/778-disguised.png
new file mode 100644
index 00000000000..13fecc069c6
Binary files /dev/null and b/public/images/pokemon/exp/shiny/778-disguised.png differ
diff --git a/public/images/pokemon/exp/shiny/778.json b/public/images/pokemon/exp/shiny/778.json
deleted file mode 100644
index 44a236b129d..00000000000
--- a/public/images/pokemon/exp/shiny/778.json
+++ /dev/null
@@ -1,1343 +0,0 @@
-{
- "textures": [
- {
- "image": "778.png",
- "format": "RGBA8888",
- "size": {
- "w": 219,
- "h": 219
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0056.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 60,
- "h": 48
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 60,
- "h": 48
- }
- },
- {
- "filename": "0057.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 60,
- "h": 47
- },
- "frame": {
- "x": 0,
- "y": 48,
- "w": 60,
- "h": 47
- }
- },
- {
- "filename": "0055.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 0,
- "w": 57,
- "h": 48
- },
- "frame": {
- "x": 60,
- "y": 0,
- "w": 57,
- "h": 48
- }
- },
- {
- "filename": "0058.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 0,
- "w": 54,
- "h": 48
- },
- "frame": {
- "x": 0,
- "y": 95,
- "w": 54,
- "h": 48
- }
- },
- {
- "filename": "0059.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 52,
- "h": 48
- },
- "frame": {
- "x": 117,
- "y": 0,
- "w": 52,
- "h": 48
- }
- },
- {
- "filename": "0060.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 0,
- "w": 48,
- "h": 48
- },
- "frame": {
- "x": 0,
- "y": 143,
- "w": 48,
- "h": 48
- }
- },
- {
- "filename": "0054.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 0,
- "w": 47,
- "h": 48
- },
- "frame": {
- "x": 169,
- "y": 0,
- "w": 47,
- "h": 48
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 44,
- "h": 47
- },
- "frame": {
- "x": 60,
- "y": 48,
- "w": 44,
- "h": 47
- }
- },
- {
- "filename": "0011.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 44,
- "h": 47
- },
- "frame": {
- "x": 60,
- "y": 48,
- "w": 44,
- "h": 47
- }
- },
- {
- "filename": "0018.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 44,
- "h": 47
- },
- "frame": {
- "x": 60,
- "y": 48,
- "w": 44,
- "h": 47
- }
- },
- {
- "filename": "0025.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 44,
- "h": 47
- },
- "frame": {
- "x": 60,
- "y": 48,
- "w": 44,
- "h": 47
- }
- },
- {
- "filename": "0032.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 44,
- "h": 47
- },
- "frame": {
- "x": 60,
- "y": 48,
- "w": 44,
- "h": 47
- }
- },
- {
- "filename": "0039.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 44,
- "h": 47
- },
- "frame": {
- "x": 60,
- "y": 48,
- "w": 44,
- "h": 47
- }
- },
- {
- "filename": "0046.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 44,
- "h": 47
- },
- "frame": {
- "x": 60,
- "y": 48,
- "w": 44,
- "h": 47
- }
- },
- {
- "filename": "0053.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 0,
- "w": 44,
- "h": 48
- },
- "frame": {
- "x": 54,
- "y": 95,
- "w": 44,
- "h": 48
- }
- },
- {
- "filename": "0061.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 0,
- "w": 44,
- "h": 48
- },
- "frame": {
- "x": 48,
- "y": 143,
- "w": 44,
- "h": 48
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 43,
- "h": 48
- },
- "frame": {
- "x": 104,
- "y": 48,
- "w": 43,
- "h": 48
- }
- },
- {
- "filename": "0010.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 43,
- "h": 48
- },
- "frame": {
- "x": 104,
- "y": 48,
- "w": 43,
- "h": 48
- }
- },
- {
- "filename": "0017.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 43,
- "h": 48
- },
- "frame": {
- "x": 104,
- "y": 48,
- "w": 43,
- "h": 48
- }
- },
- {
- "filename": "0024.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 43,
- "h": 48
- },
- "frame": {
- "x": 104,
- "y": 48,
- "w": 43,
- "h": 48
- }
- },
- {
- "filename": "0031.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 43,
- "h": 48
- },
- "frame": {
- "x": 104,
- "y": 48,
- "w": 43,
- "h": 48
- }
- },
- {
- "filename": "0038.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 43,
- "h": 48
- },
- "frame": {
- "x": 104,
- "y": 48,
- "w": 43,
- "h": 48
- }
- },
- {
- "filename": "0045.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 43,
- "h": 48
- },
- "frame": {
- "x": 104,
- "y": 48,
- "w": 43,
- "h": 48
- }
- },
- {
- "filename": "0052.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 42,
- "h": 48
- },
- "frame": {
- "x": 147,
- "y": 48,
- "w": 42,
- "h": 48
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 98,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 98,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0008.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 98,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0009.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 98,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0015.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 98,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0016.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 98,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0022.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 98,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0023.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 98,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0029.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 98,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0030.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 98,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0036.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 98,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0037.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 98,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0043.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 98,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0044.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 98,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0050.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 98,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0005.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 139,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0012.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 139,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0019.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 139,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0026.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 139,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0033.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 139,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0040.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 139,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0047.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 139,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0051.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 92,
- "y": 144,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0063.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 92,
- "y": 144,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0062.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 133,
- "y": 144,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0006.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 39,
- "h": 48
- },
- "frame": {
- "x": 180,
- "y": 96,
- "w": 39,
- "h": 48
- }
- },
- {
- "filename": "0013.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 39,
- "h": 48
- },
- "frame": {
- "x": 180,
- "y": 96,
- "w": 39,
- "h": 48
- }
- },
- {
- "filename": "0020.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 39,
- "h": 48
- },
- "frame": {
- "x": 180,
- "y": 96,
- "w": 39,
- "h": 48
- }
- },
- {
- "filename": "0027.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 39,
- "h": 48
- },
- "frame": {
- "x": 180,
- "y": 96,
- "w": 39,
- "h": 48
- }
- },
- {
- "filename": "0034.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 39,
- "h": 48
- },
- "frame": {
- "x": 180,
- "y": 96,
- "w": 39,
- "h": 48
- }
- },
- {
- "filename": "0041.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 39,
- "h": 48
- },
- "frame": {
- "x": 180,
- "y": 96,
- "w": 39,
- "h": 48
- }
- },
- {
- "filename": "0048.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 39,
- "h": 48
- },
- "frame": {
- "x": 180,
- "y": 96,
- "w": 39,
- "h": 48
- }
- },
- {
- "filename": "0007.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 39,
- "h": 48
- },
- "frame": {
- "x": 174,
- "y": 144,
- "w": 39,
- "h": 48
- }
- },
- {
- "filename": "0014.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 39,
- "h": 48
- },
- "frame": {
- "x": 174,
- "y": 144,
- "w": 39,
- "h": 48
- }
- },
- {
- "filename": "0021.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 39,
- "h": 48
- },
- "frame": {
- "x": 174,
- "y": 144,
- "w": 39,
- "h": 48
- }
- },
- {
- "filename": "0028.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 39,
- "h": 48
- },
- "frame": {
- "x": 174,
- "y": 144,
- "w": 39,
- "h": 48
- }
- },
- {
- "filename": "0035.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 39,
- "h": 48
- },
- "frame": {
- "x": 174,
- "y": 144,
- "w": 39,
- "h": 48
- }
- },
- {
- "filename": "0042.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 39,
- "h": 48
- },
- "frame": {
- "x": 174,
- "y": 144,
- "w": 39,
- "h": 48
- }
- },
- {
- "filename": "0049.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 39,
- "h": 48
- },
- "frame": {
- "x": 174,
- "y": 144,
- "w": 39,
- "h": 48
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:1c311f301c27f7915f7eb51e9cc9646f:16371ca8bc0084a5629125b83bbf1a4e:92ecadef6e0cb53020b8cd41fbeaf2cd$"
- }
-}
diff --git a/public/images/pokemon/exp/shiny/778.png b/public/images/pokemon/exp/shiny/778.png
deleted file mode 100644
index e29b2b2fc20..00000000000
Binary files a/public/images/pokemon/exp/shiny/778.png and /dev/null differ
diff --git a/public/images/pokemon/exp/shiny/818.png b/public/images/pokemon/exp/shiny/818.png
index 00819c8b3bd..f4a8bfa2f6a 100644
Binary files a/public/images/pokemon/exp/shiny/818.png and b/public/images/pokemon/exp/shiny/818.png differ
diff --git a/public/images/pokemon/exp/shiny/864.png b/public/images/pokemon/exp/shiny/864.png
index 0c244ebfa53..079b1f6a681 100644
Binary files a/public/images/pokemon/exp/shiny/864.png and b/public/images/pokemon/exp/shiny/864.png differ
diff --git a/public/images/pokemon/exp/shiny/974.png b/public/images/pokemon/exp/shiny/974.png
index bc3206ebfd9..889074dd63e 100644
Binary files a/public/images/pokemon/exp/shiny/974.png and b/public/images/pokemon/exp/shiny/974.png differ
diff --git a/public/images/pokemon/exp/shiny/975.png b/public/images/pokemon/exp/shiny/975.png
index c048aea5b1c..e59189a1252 100644
Binary files a/public/images/pokemon/exp/shiny/975.png and b/public/images/pokemon/exp/shiny/975.png differ
diff --git a/public/images/pokemon/female/229.png b/public/images/pokemon/female/229.png
index bf9b232038d..3d0b516a797 100644
Binary files a/public/images/pokemon/female/229.png and b/public/images/pokemon/female/229.png differ
diff --git a/public/images/pokemon/female/232.png b/public/images/pokemon/female/232.png
index 27044f460b9..0359febee15 100644
Binary files a/public/images/pokemon/female/232.png and b/public/images/pokemon/female/232.png differ
diff --git a/public/images/pokemon/female/25-partner.json b/public/images/pokemon/female/25-partner.json
new file mode 100644
index 00000000000..c662ec8a3c6
--- /dev/null
+++ b/public/images/pokemon/female/25-partner.json
@@ -0,0 +1,2456 @@
+{
+ "textures": [
+ {
+ "image": "25-partner.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 330,
+ "h": 330
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 50,
+ "h": 43
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 50,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 50,
+ "h": 43
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 50,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 51,
+ "h": 43
+ },
+ "frame": {
+ "x": 50,
+ "y": 0,
+ "w": 51,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 51,
+ "h": 43
+ },
+ "frame": {
+ "x": 50,
+ "y": 0,
+ "w": 51,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 49,
+ "h": 43
+ },
+ "frame": {
+ "x": 101,
+ "y": 0,
+ "w": 49,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 49,
+ "h": 43
+ },
+ "frame": {
+ "x": 101,
+ "y": 0,
+ "w": 49,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 50,
+ "h": 43
+ },
+ "frame": {
+ "x": 150,
+ "y": 0,
+ "w": 50,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 50,
+ "h": 43
+ },
+ "frame": {
+ "x": 150,
+ "y": 0,
+ "w": 50,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 49,
+ "h": 43
+ },
+ "frame": {
+ "x": 200,
+ "y": 0,
+ "w": 49,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 49,
+ "h": 43
+ },
+ "frame": {
+ "x": 200,
+ "y": 0,
+ "w": 49,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 49,
+ "h": 43
+ },
+ "frame": {
+ "x": 249,
+ "y": 0,
+ "w": 49,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 49,
+ "h": 43
+ },
+ "frame": {
+ "x": 249,
+ "y": 0,
+ "w": 49,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 50,
+ "h": 43
+ },
+ "frame": {
+ "x": 0,
+ "y": 43,
+ "w": 50,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 50,
+ "h": 43
+ },
+ "frame": {
+ "x": 0,
+ "y": 43,
+ "w": 50,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 51,
+ "h": 43
+ },
+ "frame": {
+ "x": 50,
+ "y": 43,
+ "w": 51,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 51,
+ "h": 43
+ },
+ "frame": {
+ "x": 50,
+ "y": 43,
+ "w": 51,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 48,
+ "h": 43
+ },
+ "frame": {
+ "x": 101,
+ "y": 43,
+ "w": 48,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 48,
+ "h": 43
+ },
+ "frame": {
+ "x": 101,
+ "y": 43,
+ "w": 48,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 49,
+ "h": 43
+ },
+ "frame": {
+ "x": 149,
+ "y": 43,
+ "w": 49,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 49,
+ "h": 43
+ },
+ "frame": {
+ "x": 149,
+ "y": 43,
+ "w": 49,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 48,
+ "h": 44
+ },
+ "frame": {
+ "x": 198,
+ "y": 43,
+ "w": 48,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 48,
+ "h": 44
+ },
+ "frame": {
+ "x": 198,
+ "y": 43,
+ "w": 48,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 50,
+ "h": 44
+ },
+ "frame": {
+ "x": 246,
+ "y": 43,
+ "w": 50,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 50,
+ "h": 44
+ },
+ "frame": {
+ "x": 246,
+ "y": 43,
+ "w": 50,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 48,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 48,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 48,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 48,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 47,
+ "h": 44
+ },
+ "frame": {
+ "x": 48,
+ "y": 86,
+ "w": 47,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 47,
+ "h": 44
+ },
+ "frame": {
+ "x": 48,
+ "y": 86,
+ "w": 47,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 50,
+ "h": 44
+ },
+ "frame": {
+ "x": 95,
+ "y": 86,
+ "w": 50,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 50,
+ "h": 44
+ },
+ "frame": {
+ "x": 95,
+ "y": 86,
+ "w": 50,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 47,
+ "h": 44
+ },
+ "frame": {
+ "x": 145,
+ "y": 86,
+ "w": 47,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 47,
+ "h": 44
+ },
+ "frame": {
+ "x": 145,
+ "y": 86,
+ "w": 47,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 46,
+ "h": 44
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 46,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 46,
+ "h": 44
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 46,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 50,
+ "h": 44
+ },
+ "frame": {
+ "x": 238,
+ "y": 87,
+ "w": 50,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 50,
+ "h": 44
+ },
+ "frame": {
+ "x": 238,
+ "y": 87,
+ "w": 50,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 288,
+ "y": 87,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 288,
+ "y": 87,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 46,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 130,
+ "w": 46,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 46,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 130,
+ "w": 46,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 48,
+ "h": 44
+ },
+ "frame": {
+ "x": 46,
+ "y": 130,
+ "w": 48,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 48,
+ "h": 44
+ },
+ "frame": {
+ "x": 46,
+ "y": 130,
+ "w": 48,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 48,
+ "h": 44
+ },
+ "frame": {
+ "x": 46,
+ "y": 130,
+ "w": 48,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 48,
+ "h": 44
+ },
+ "frame": {
+ "x": 46,
+ "y": 130,
+ "w": 48,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 50,
+ "h": 44
+ },
+ "frame": {
+ "x": 94,
+ "y": 130,
+ "w": 50,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 50,
+ "h": 44
+ },
+ "frame": {
+ "x": 94,
+ "y": 130,
+ "w": 50,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 47,
+ "h": 44
+ },
+ "frame": {
+ "x": 144,
+ "y": 130,
+ "w": 47,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 47,
+ "h": 44
+ },
+ "frame": {
+ "x": 144,
+ "y": 130,
+ "w": 47,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 49,
+ "h": 44
+ },
+ "frame": {
+ "x": 191,
+ "y": 131,
+ "w": 49,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 49,
+ "h": 44
+ },
+ "frame": {
+ "x": 191,
+ "y": 131,
+ "w": 49,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 46,
+ "h": 44
+ },
+ "frame": {
+ "x": 240,
+ "y": 131,
+ "w": 46,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 46,
+ "h": 44
+ },
+ "frame": {
+ "x": 240,
+ "y": 131,
+ "w": 46,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 286,
+ "y": 133,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 286,
+ "y": 133,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 0,
+ "y": 174,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 0,
+ "y": 174,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 44,
+ "y": 174,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 44,
+ "y": 174,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 44,
+ "y": 174,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 44,
+ "y": 174,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 86,
+ "y": 174,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 86,
+ "y": 174,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 129,
+ "y": 174,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 129,
+ "y": 174,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 173,
+ "y": 175,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 173,
+ "y": 175,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 217,
+ "y": 175,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 217,
+ "y": 175,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 260,
+ "y": 179,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 260,
+ "y": 179,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 0,
+ "y": 220,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 0,
+ "y": 220,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 43,
+ "y": 220,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 43,
+ "y": 220,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 85,
+ "y": 220,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 85,
+ "y": 220,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 85,
+ "y": 220,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 85,
+ "y": 220,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 85,
+ "y": 220,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 85,
+ "y": 220,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 85,
+ "y": 220,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 85,
+ "y": 220,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 85,
+ "y": 220,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 85,
+ "y": 220,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 85,
+ "y": 220,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 127,
+ "y": 220,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 127,
+ "y": 220,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 127,
+ "y": 220,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 127,
+ "y": 220,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 171,
+ "y": 221,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 171,
+ "y": 221,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 171,
+ "y": 221,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 171,
+ "y": 221,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 213,
+ "y": 221,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 213,
+ "y": 221,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 256,
+ "y": 225,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 256,
+ "y": 225,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 0,
+ "y": 266,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 0,
+ "y": 266,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 43,
+ "y": 266,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 43,
+ "y": 266,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 43,
+ "y": 266,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 43,
+ "y": 266,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 85,
+ "y": 266,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 85,
+ "y": 266,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 85,
+ "y": 266,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 85,
+ "y": 266,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 127,
+ "y": 266,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 127,
+ "y": 266,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 47,
+ "h": 46
+ },
+ "frame": {
+ "x": 170,
+ "y": 267,
+ "w": 47,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 47,
+ "h": 46
+ },
+ "frame": {
+ "x": 170,
+ "y": 267,
+ "w": 47,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 46,
+ "h": 46
+ },
+ "frame": {
+ "x": 217,
+ "y": 271,
+ "w": 46,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 46,
+ "h": 46
+ },
+ "frame": {
+ "x": 217,
+ "y": 271,
+ "w": 46,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 46,
+ "h": 46
+ },
+ "frame": {
+ "x": 217,
+ "y": 271,
+ "w": 46,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 263,
+ "y": 271,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 263,
+ "y": 271,
+ "w": 42,
+ "h": 46
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:3c3f1d7c0f960de57a2195aba3e404a1:d500cdc0e036449780ce01accec9c0d5:d7d9e845c71962a58076b5efe962284e$"
+ }
+}
diff --git a/public/images/pokemon/female/25-partner.png b/public/images/pokemon/female/25-partner.png
new file mode 100644
index 00000000000..e500db2a3be
Binary files /dev/null and b/public/images/pokemon/female/25-partner.png differ
diff --git a/public/images/pokemon/female/401.png b/public/images/pokemon/female/401.png
index 6f6ced95d66..8e145b0c1c2 100644
Binary files a/public/images/pokemon/female/401.png and b/public/images/pokemon/female/401.png differ
diff --git a/public/images/pokemon/female/402.png b/public/images/pokemon/female/402.png
index 39efe93abf0..bfa3b5b8670 100644
Binary files a/public/images/pokemon/female/402.png and b/public/images/pokemon/female/402.png differ
diff --git a/public/images/pokemon/icons/1/133-partner.png b/public/images/pokemon/icons/1/133-partner.png
new file mode 100644
index 00000000000..b4022e26441
Binary files /dev/null and b/public/images/pokemon/icons/1/133-partner.png differ
diff --git a/public/images/pokemon/icons/1/133s-partner.png b/public/images/pokemon/icons/1/133s-partner.png
new file mode 100644
index 00000000000..4cc0f1c73b4
Binary files /dev/null and b/public/images/pokemon/icons/1/133s-partner.png differ
diff --git a/public/images/pokemon/icons/1/25-partner.png b/public/images/pokemon/icons/1/25-partner.png
new file mode 100644
index 00000000000..5b00a2025a3
Binary files /dev/null and b/public/images/pokemon/icons/1/25-partner.png differ
diff --git a/public/images/pokemon/icons/1/25s-partner.png b/public/images/pokemon/icons/1/25s-partner.png
new file mode 100644
index 00000000000..58e2b3a35d1
Binary files /dev/null and b/public/images/pokemon/icons/1/25s-partner.png differ
diff --git a/public/images/pokemon/icons/4/401.png b/public/images/pokemon/icons/4/401.png
index 91676992f50..6db9fbdf2c0 100644
Binary files a/public/images/pokemon/icons/4/401.png and b/public/images/pokemon/icons/4/401.png differ
diff --git a/public/images/pokemon/icons/4/402.png b/public/images/pokemon/icons/4/402.png
index 672f98bd07f..f39ff8cd450 100644
Binary files a/public/images/pokemon/icons/4/402.png and b/public/images/pokemon/icons/4/402.png differ
diff --git a/public/images/pokemon/icons/7/778.png b/public/images/pokemon/icons/7/778-disguised.png
similarity index 100%
rename from public/images/pokemon/icons/7/778.png
rename to public/images/pokemon/icons/7/778-disguised.png
diff --git a/public/images/pokemon/icons/7/778s.png b/public/images/pokemon/icons/7/778s-disguised.png
similarity index 100%
rename from public/images/pokemon/icons/7/778s.png
rename to public/images/pokemon/icons/7/778s-disguised.png
diff --git a/public/images/pokemon/icons/8/818-gigantamax.png b/public/images/pokemon/icons/8/818-gigantamax.png
index 2cf807ebd71..8049f682137 100644
Binary files a/public/images/pokemon/icons/8/818-gigantamax.png and b/public/images/pokemon/icons/8/818-gigantamax.png differ
diff --git a/public/images/pokemon/icons/8/898s-ice.png b/public/images/pokemon/icons/8/898s-ice.png
index 855d0369bdb..2fe5008f4cb 100644
Binary files a/public/images/pokemon/icons/8/898s-ice.png and b/public/images/pokemon/icons/8/898s-ice.png differ
diff --git a/public/images/pokemon/icons/8/898s-shadow.png b/public/images/pokemon/icons/8/898s-shadow.png
index 2a3f56c574e..1cc0f7ed4de 100644
Binary files a/public/images/pokemon/icons/8/898s-shadow.png and b/public/images/pokemon/icons/8/898s-shadow.png differ
diff --git a/public/images/pokemon/icons/9/974.png b/public/images/pokemon/icons/9/974.png
index 12364de326d..347bf53e071 100644
Binary files a/public/images/pokemon/icons/9/974.png and b/public/images/pokemon/icons/9/974.png differ
diff --git a/public/images/pokemon/icons/9/974s.png b/public/images/pokemon/icons/9/974s.png
index 7ec2ee19043..a1861266b31 100644
Binary files a/public/images/pokemon/icons/9/974s.png and b/public/images/pokemon/icons/9/974s.png differ
diff --git a/public/images/pokemon/icons/9/975.png b/public/images/pokemon/icons/9/975.png
index 7927301cb62..f465afabd49 100644
Binary files a/public/images/pokemon/icons/9/975.png and b/public/images/pokemon/icons/9/975.png differ
diff --git a/public/images/pokemon/icons/9/975s.png b/public/images/pokemon/icons/9/975s.png
index e1c0aa70934..de6b27a2787 100644
Binary files a/public/images/pokemon/icons/9/975s.png and b/public/images/pokemon/icons/9/975s.png differ
diff --git a/public/images/pokemon/icons/variant/1/37_2.png b/public/images/pokemon/icons/variant/1/37_2.png
new file mode 100644
index 00000000000..0ba82d7d8c2
Binary files /dev/null and b/public/images/pokemon/icons/variant/1/37_2.png differ
diff --git a/public/images/pokemon/icons/variant/1/37_3.png b/public/images/pokemon/icons/variant/1/37_3.png
new file mode 100644
index 00000000000..c075627889c
Binary files /dev/null and b/public/images/pokemon/icons/variant/1/37_3.png differ
diff --git a/public/images/pokemon/icons/variant/1/38_2.png b/public/images/pokemon/icons/variant/1/38_2.png
new file mode 100644
index 00000000000..2cdcc9acd02
Binary files /dev/null and b/public/images/pokemon/icons/variant/1/38_2.png differ
diff --git a/public/images/pokemon/icons/variant/1/38_3.png b/public/images/pokemon/icons/variant/1/38_3.png
new file mode 100644
index 00000000000..0834d588d5a
Binary files /dev/null and b/public/images/pokemon/icons/variant/1/38_3.png differ
diff --git a/public/images/pokemon/icons/variant/1/4_2.png b/public/images/pokemon/icons/variant/1/4_2.png
new file mode 100644
index 00000000000..3c0d01766f6
Binary files /dev/null and b/public/images/pokemon/icons/variant/1/4_2.png differ
diff --git a/public/images/pokemon/icons/variant/1/4_3.png b/public/images/pokemon/icons/variant/1/4_3.png
new file mode 100644
index 00000000000..eedc19d87e8
Binary files /dev/null and b/public/images/pokemon/icons/variant/1/4_3.png differ
diff --git a/public/images/pokemon/icons/variant/1/56_1.png b/public/images/pokemon/icons/variant/1/56_1.png
new file mode 100644
index 00000000000..0a70d34ca47
Binary files /dev/null and b/public/images/pokemon/icons/variant/1/56_1.png differ
diff --git a/public/images/pokemon/icons/variant/1/56_2.png b/public/images/pokemon/icons/variant/1/56_2.png
new file mode 100644
index 00000000000..1e718f4faf5
Binary files /dev/null and b/public/images/pokemon/icons/variant/1/56_2.png differ
diff --git a/public/images/pokemon/icons/variant/1/56_3.png b/public/images/pokemon/icons/variant/1/56_3.png
new file mode 100644
index 00000000000..0e0ccccb5b8
Binary files /dev/null and b/public/images/pokemon/icons/variant/1/56_3.png differ
diff --git a/public/images/pokemon/icons/variant/1/57_1.png b/public/images/pokemon/icons/variant/1/57_1.png
new file mode 100644
index 00000000000..52fb69f39ca
Binary files /dev/null and b/public/images/pokemon/icons/variant/1/57_1.png differ
diff --git a/public/images/pokemon/icons/variant/1/57_2.png b/public/images/pokemon/icons/variant/1/57_2.png
new file mode 100644
index 00000000000..9158341d642
Binary files /dev/null and b/public/images/pokemon/icons/variant/1/57_2.png differ
diff --git a/public/images/pokemon/icons/variant/1/57_3.png b/public/images/pokemon/icons/variant/1/57_3.png
new file mode 100644
index 00000000000..79ef7408b7b
Binary files /dev/null and b/public/images/pokemon/icons/variant/1/57_3.png differ
diff --git a/public/images/pokemon/icons/variant/1/5_2.png b/public/images/pokemon/icons/variant/1/5_2.png
new file mode 100644
index 00000000000..28aeb6a9322
Binary files /dev/null and b/public/images/pokemon/icons/variant/1/5_2.png differ
diff --git a/public/images/pokemon/icons/variant/1/5_3.png b/public/images/pokemon/icons/variant/1/5_3.png
new file mode 100644
index 00000000000..e9b40fbf8a8
Binary files /dev/null and b/public/images/pokemon/icons/variant/1/5_3.png differ
diff --git a/public/images/pokemon/icons/variant/1/6-gigantamax_2.png b/public/images/pokemon/icons/variant/1/6-gigantamax_2.png
new file mode 100644
index 00000000000..f917731b2cc
Binary files /dev/null and b/public/images/pokemon/icons/variant/1/6-gigantamax_2.png differ
diff --git a/public/images/pokemon/icons/variant/1/6-gigantamax_3.png b/public/images/pokemon/icons/variant/1/6-gigantamax_3.png
new file mode 100644
index 00000000000..6f7ce2ad77e
Binary files /dev/null and b/public/images/pokemon/icons/variant/1/6-gigantamax_3.png differ
diff --git a/public/images/pokemon/icons/variant/1/6-mega-x_2.png b/public/images/pokemon/icons/variant/1/6-mega-x_2.png
new file mode 100644
index 00000000000..d5a30fab623
Binary files /dev/null and b/public/images/pokemon/icons/variant/1/6-mega-x_2.png differ
diff --git a/public/images/pokemon/icons/variant/1/6-mega-x_3.png b/public/images/pokemon/icons/variant/1/6-mega-x_3.png
new file mode 100644
index 00000000000..301f399c3d3
Binary files /dev/null and b/public/images/pokemon/icons/variant/1/6-mega-x_3.png differ
diff --git a/public/images/pokemon/icons/variant/1/6-mega-y_2.png b/public/images/pokemon/icons/variant/1/6-mega-y_2.png
new file mode 100644
index 00000000000..7664588bdfc
Binary files /dev/null and b/public/images/pokemon/icons/variant/1/6-mega-y_2.png differ
diff --git a/public/images/pokemon/icons/variant/1/6-mega-y_3.png b/public/images/pokemon/icons/variant/1/6-mega-y_3.png
new file mode 100644
index 00000000000..f91d543dc4b
Binary files /dev/null and b/public/images/pokemon/icons/variant/1/6-mega-y_3.png differ
diff --git a/public/images/pokemon/icons/variant/1/6_2.png b/public/images/pokemon/icons/variant/1/6_2.png
new file mode 100644
index 00000000000..a71f806daeb
Binary files /dev/null and b/public/images/pokemon/icons/variant/1/6_2.png differ
diff --git a/public/images/pokemon/icons/variant/1/6_3.png b/public/images/pokemon/icons/variant/1/6_3.png
new file mode 100644
index 00000000000..34886972cb0
Binary files /dev/null and b/public/images/pokemon/icons/variant/1/6_3.png differ
diff --git a/public/images/pokemon/icons/variant/1/79_1.png b/public/images/pokemon/icons/variant/1/79_1.png
new file mode 100644
index 00000000000..5471915d489
Binary files /dev/null and b/public/images/pokemon/icons/variant/1/79_1.png differ
diff --git a/public/images/pokemon/icons/variant/2/199_1.png b/public/images/pokemon/icons/variant/2/199_1.png
new file mode 100644
index 00000000000..d78a8eee824
Binary files /dev/null and b/public/images/pokemon/icons/variant/2/199_1.png differ
diff --git a/public/images/pokemon/icons/variant/2/222_2.png b/public/images/pokemon/icons/variant/2/222_2.png
new file mode 100644
index 00000000000..fdbd3e71ee3
Binary files /dev/null and b/public/images/pokemon/icons/variant/2/222_2.png differ
diff --git a/public/images/pokemon/icons/variant/2/222_3.png b/public/images/pokemon/icons/variant/2/222_3.png
new file mode 100644
index 00000000000..eca313aead0
Binary files /dev/null and b/public/images/pokemon/icons/variant/2/222_3.png differ
diff --git a/public/images/pokemon/icons/variant/2/227_2.png b/public/images/pokemon/icons/variant/2/227_2.png
new file mode 100644
index 00000000000..8f75169a731
Binary files /dev/null and b/public/images/pokemon/icons/variant/2/227_2.png differ
diff --git a/public/images/pokemon/icons/variant/2/227_3.png b/public/images/pokemon/icons/variant/2/227_3.png
new file mode 100644
index 00000000000..941e215da94
Binary files /dev/null and b/public/images/pokemon/icons/variant/2/227_3.png differ
diff --git a/public/images/pokemon/icons/variant/2/228_2.png b/public/images/pokemon/icons/variant/2/228_2.png
new file mode 100644
index 00000000000..3aeb0afed72
Binary files /dev/null and b/public/images/pokemon/icons/variant/2/228_2.png differ
diff --git a/public/images/pokemon/icons/variant/2/228_3.png b/public/images/pokemon/icons/variant/2/228_3.png
new file mode 100644
index 00000000000..955a885c5bd
Binary files /dev/null and b/public/images/pokemon/icons/variant/2/228_3.png differ
diff --git a/public/images/pokemon/icons/variant/2/229-mega_2.png b/public/images/pokemon/icons/variant/2/229-mega_2.png
new file mode 100644
index 00000000000..4adddebdfeb
Binary files /dev/null and b/public/images/pokemon/icons/variant/2/229-mega_2.png differ
diff --git a/public/images/pokemon/icons/variant/2/229-mega_3.png b/public/images/pokemon/icons/variant/2/229-mega_3.png
new file mode 100644
index 00000000000..6cc092843e3
Binary files /dev/null and b/public/images/pokemon/icons/variant/2/229-mega_3.png differ
diff --git a/public/images/pokemon/icons/variant/2/229_2.png b/public/images/pokemon/icons/variant/2/229_2.png
new file mode 100644
index 00000000000..e3b8402d724
Binary files /dev/null and b/public/images/pokemon/icons/variant/2/229_2.png differ
diff --git a/public/images/pokemon/icons/variant/2/229_3.png b/public/images/pokemon/icons/variant/2/229_3.png
new file mode 100644
index 00000000000..88781b55c18
Binary files /dev/null and b/public/images/pokemon/icons/variant/2/229_3.png differ
diff --git a/public/images/pokemon/icons/variant/2/231_2.png b/public/images/pokemon/icons/variant/2/231_2.png
new file mode 100644
index 00000000000..9647697984d
Binary files /dev/null and b/public/images/pokemon/icons/variant/2/231_2.png differ
diff --git a/public/images/pokemon/icons/variant/2/231_3.png b/public/images/pokemon/icons/variant/2/231_3.png
new file mode 100644
index 00000000000..6151d0752c0
Binary files /dev/null and b/public/images/pokemon/icons/variant/2/231_3.png differ
diff --git a/public/images/pokemon/icons/variant/2/232_2.png b/public/images/pokemon/icons/variant/2/232_2.png
new file mode 100644
index 00000000000..5e92f389f95
Binary files /dev/null and b/public/images/pokemon/icons/variant/2/232_2.png differ
diff --git a/public/images/pokemon/icons/variant/2/232_3.png b/public/images/pokemon/icons/variant/2/232_3.png
new file mode 100644
index 00000000000..644393c86df
Binary files /dev/null and b/public/images/pokemon/icons/variant/2/232_3.png differ
diff --git a/public/images/pokemon/icons/variant/3/353_2.png b/public/images/pokemon/icons/variant/3/353_2.png
new file mode 100644
index 00000000000..347bf7d92f9
Binary files /dev/null and b/public/images/pokemon/icons/variant/3/353_2.png differ
diff --git a/public/images/pokemon/icons/variant/3/353_3.png b/public/images/pokemon/icons/variant/3/353_3.png
new file mode 100644
index 00000000000..b2b6fe99fd1
Binary files /dev/null and b/public/images/pokemon/icons/variant/3/353_3.png differ
diff --git a/public/images/pokemon/icons/variant/3/354_2.png b/public/images/pokemon/icons/variant/3/354_2.png
new file mode 100644
index 00000000000..502385a3d7c
Binary files /dev/null and b/public/images/pokemon/icons/variant/3/354_2.png differ
diff --git a/public/images/pokemon/icons/variant/3/354_3.png b/public/images/pokemon/icons/variant/3/354_3.png
new file mode 100644
index 00000000000..91b04e826a9
Binary files /dev/null and b/public/images/pokemon/icons/variant/3/354_3.png differ
diff --git a/public/images/pokemon/icons/variant/3/357_2.png b/public/images/pokemon/icons/variant/3/357_2.png
new file mode 100644
index 00000000000..8ba7b0439f3
Binary files /dev/null and b/public/images/pokemon/icons/variant/3/357_2.png differ
diff --git a/public/images/pokemon/icons/variant/3/357_3.png b/public/images/pokemon/icons/variant/3/357_3.png
new file mode 100644
index 00000000000..820201b7159
Binary files /dev/null and b/public/images/pokemon/icons/variant/3/357_3.png differ
diff --git a/public/images/pokemon/icons/variant/3/369_2.png b/public/images/pokemon/icons/variant/3/369_2.png
new file mode 100644
index 00000000000..5f247e91802
Binary files /dev/null and b/public/images/pokemon/icons/variant/3/369_2.png differ
diff --git a/public/images/pokemon/icons/variant/3/369_3.png b/public/images/pokemon/icons/variant/3/369_3.png
new file mode 100644
index 00000000000..5e1a40f149c
Binary files /dev/null and b/public/images/pokemon/icons/variant/3/369_3.png differ
diff --git a/public/images/pokemon/icons/variant/4/387_2.png b/public/images/pokemon/icons/variant/4/387_2.png
new file mode 100644
index 00000000000..21715e2567c
Binary files /dev/null and b/public/images/pokemon/icons/variant/4/387_2.png differ
diff --git a/public/images/pokemon/icons/variant/4/387_3.png b/public/images/pokemon/icons/variant/4/387_3.png
new file mode 100644
index 00000000000..d393d716862
Binary files /dev/null and b/public/images/pokemon/icons/variant/4/387_3.png differ
diff --git a/public/images/pokemon/icons/variant/4/388_2.png b/public/images/pokemon/icons/variant/4/388_2.png
new file mode 100644
index 00000000000..06a4de56e25
Binary files /dev/null and b/public/images/pokemon/icons/variant/4/388_2.png differ
diff --git a/public/images/pokemon/icons/variant/4/388_3.png b/public/images/pokemon/icons/variant/4/388_3.png
new file mode 100644
index 00000000000..fa936198abb
Binary files /dev/null and b/public/images/pokemon/icons/variant/4/388_3.png differ
diff --git a/public/images/pokemon/icons/variant/4/389_2.png b/public/images/pokemon/icons/variant/4/389_2.png
new file mode 100644
index 00000000000..d9d68f081b6
Binary files /dev/null and b/public/images/pokemon/icons/variant/4/389_2.png differ
diff --git a/public/images/pokemon/icons/variant/4/389_3.png b/public/images/pokemon/icons/variant/4/389_3.png
new file mode 100644
index 00000000000..a785dea429c
Binary files /dev/null and b/public/images/pokemon/icons/variant/4/389_3.png differ
diff --git a/public/images/pokemon/icons/variant/4/401_2.png b/public/images/pokemon/icons/variant/4/401_2.png
new file mode 100644
index 00000000000..aa9b4aa0ed9
Binary files /dev/null and b/public/images/pokemon/icons/variant/4/401_2.png differ
diff --git a/public/images/pokemon/icons/variant/4/401_3.png b/public/images/pokemon/icons/variant/4/401_3.png
new file mode 100644
index 00000000000..69fb5864f87
Binary files /dev/null and b/public/images/pokemon/icons/variant/4/401_3.png differ
diff --git a/public/images/pokemon/icons/variant/4/402_2.png b/public/images/pokemon/icons/variant/4/402_2.png
new file mode 100644
index 00000000000..1ce8776332b
Binary files /dev/null and b/public/images/pokemon/icons/variant/4/402_2.png differ
diff --git a/public/images/pokemon/icons/variant/4/402_3.png b/public/images/pokemon/icons/variant/4/402_3.png
new file mode 100644
index 00000000000..d020e81ef43
Binary files /dev/null and b/public/images/pokemon/icons/variant/4/402_3.png differ
diff --git a/public/images/pokemon/icons/variant/4/436_2.png b/public/images/pokemon/icons/variant/4/436_2.png
new file mode 100644
index 00000000000..fe76bf3b86e
Binary files /dev/null and b/public/images/pokemon/icons/variant/4/436_2.png differ
diff --git a/public/images/pokemon/icons/variant/4/436_3.png b/public/images/pokemon/icons/variant/4/436_3.png
new file mode 100644
index 00000000000..b0051761e60
Binary files /dev/null and b/public/images/pokemon/icons/variant/4/436_3.png differ
diff --git a/public/images/pokemon/icons/variant/4/437_2.png b/public/images/pokemon/icons/variant/4/437_2.png
new file mode 100644
index 00000000000..d03d8075fad
Binary files /dev/null and b/public/images/pokemon/icons/variant/4/437_2.png differ
diff --git a/public/images/pokemon/icons/variant/4/437_3.png b/public/images/pokemon/icons/variant/4/437_3.png
new file mode 100644
index 00000000000..41e630e5d08
Binary files /dev/null and b/public/images/pokemon/icons/variant/4/437_3.png differ
diff --git a/public/images/pokemon/icons/variant/4/480_1_GENERATED.png b/public/images/pokemon/icons/variant/4/480_1_GENERATED.png
deleted file mode 100644
index 3b9a496e3f9..00000000000
Binary files a/public/images/pokemon/icons/variant/4/480_1_GENERATED.png and /dev/null differ
diff --git a/public/images/pokemon/icons/variant/5/531-mega_2.png b/public/images/pokemon/icons/variant/5/531-mega_2.png
new file mode 100644
index 00000000000..cd23fd25f62
Binary files /dev/null and b/public/images/pokemon/icons/variant/5/531-mega_2.png differ
diff --git a/public/images/pokemon/icons/variant/5/531-mega_3.png b/public/images/pokemon/icons/variant/5/531-mega_3.png
new file mode 100644
index 00000000000..a787eeae6ae
Binary files /dev/null and b/public/images/pokemon/icons/variant/5/531-mega_3.png differ
diff --git a/public/images/pokemon/icons/variant/5/531_2.png b/public/images/pokemon/icons/variant/5/531_2.png
new file mode 100644
index 00000000000..3fa450360de
Binary files /dev/null and b/public/images/pokemon/icons/variant/5/531_2.png differ
diff --git a/public/images/pokemon/icons/variant/5/531_3.png b/public/images/pokemon/icons/variant/5/531_3.png
new file mode 100644
index 00000000000..24c3ad108c6
Binary files /dev/null and b/public/images/pokemon/icons/variant/5/531_3.png differ
diff --git a/public/images/pokemon/icons/variant/5/543_2.png b/public/images/pokemon/icons/variant/5/543_2.png
new file mode 100644
index 00000000000..2d76a56ac2a
Binary files /dev/null and b/public/images/pokemon/icons/variant/5/543_2.png differ
diff --git a/public/images/pokemon/icons/variant/5/543_3.png b/public/images/pokemon/icons/variant/5/543_3.png
new file mode 100644
index 00000000000..1317d38d215
Binary files /dev/null and b/public/images/pokemon/icons/variant/5/543_3.png differ
diff --git a/public/images/pokemon/icons/variant/5/544_2.png b/public/images/pokemon/icons/variant/5/544_2.png
new file mode 100644
index 00000000000..6feebe2493b
Binary files /dev/null and b/public/images/pokemon/icons/variant/5/544_2.png differ
diff --git a/public/images/pokemon/icons/variant/5/544_3.png b/public/images/pokemon/icons/variant/5/544_3.png
new file mode 100644
index 00000000000..8afd2655ad6
Binary files /dev/null and b/public/images/pokemon/icons/variant/5/544_3.png differ
diff --git a/public/images/pokemon/icons/variant/5/545_2.png b/public/images/pokemon/icons/variant/5/545_2.png
new file mode 100644
index 00000000000..a081772bcf6
Binary files /dev/null and b/public/images/pokemon/icons/variant/5/545_2.png differ
diff --git a/public/images/pokemon/icons/variant/5/545_3.png b/public/images/pokemon/icons/variant/5/545_3.png
new file mode 100644
index 00000000000..17cbab0624e
Binary files /dev/null and b/public/images/pokemon/icons/variant/5/545_3.png differ
diff --git a/public/images/pokemon/icons/variant/5/551_2.png b/public/images/pokemon/icons/variant/5/551_2.png
new file mode 100644
index 00000000000..ae2b2cd7f8a
Binary files /dev/null and b/public/images/pokemon/icons/variant/5/551_2.png differ
diff --git a/public/images/pokemon/icons/variant/5/551_3.png b/public/images/pokemon/icons/variant/5/551_3.png
new file mode 100644
index 00000000000..a7992294947
Binary files /dev/null and b/public/images/pokemon/icons/variant/5/551_3.png differ
diff --git a/public/images/pokemon/icons/variant/5/552_2.png b/public/images/pokemon/icons/variant/5/552_2.png
new file mode 100644
index 00000000000..4b088ca0a19
Binary files /dev/null and b/public/images/pokemon/icons/variant/5/552_2.png differ
diff --git a/public/images/pokemon/icons/variant/5/552_3.png b/public/images/pokemon/icons/variant/5/552_3.png
new file mode 100644
index 00000000000..8c07fda33d6
Binary files /dev/null and b/public/images/pokemon/icons/variant/5/552_3.png differ
diff --git a/public/images/pokemon/icons/variant/5/553_2.png b/public/images/pokemon/icons/variant/5/553_2.png
new file mode 100644
index 00000000000..15ffd4fbcc3
Binary files /dev/null and b/public/images/pokemon/icons/variant/5/553_2.png differ
diff --git a/public/images/pokemon/icons/variant/5/553_3.png b/public/images/pokemon/icons/variant/5/553_3.png
new file mode 100644
index 00000000000..ed4f333684f
Binary files /dev/null and b/public/images/pokemon/icons/variant/5/553_3.png differ
diff --git a/public/images/pokemon/icons/variant/6/354-mega_2.png b/public/images/pokemon/icons/variant/6/354-mega_2.png
new file mode 100644
index 00000000000..6ead74c4cdb
Binary files /dev/null and b/public/images/pokemon/icons/variant/6/354-mega_2.png differ
diff --git a/public/images/pokemon/icons/variant/6/354-mega_3.png b/public/images/pokemon/icons/variant/6/354-mega_3.png
new file mode 100644
index 00000000000..aea0e119118
Binary files /dev/null and b/public/images/pokemon/icons/variant/6/354-mega_3.png differ
diff --git a/public/images/pokemon/icons/variant/6/672_2.png b/public/images/pokemon/icons/variant/6/672_2.png
new file mode 100644
index 00000000000..942660daaf8
Binary files /dev/null and b/public/images/pokemon/icons/variant/6/672_2.png differ
diff --git a/public/images/pokemon/icons/variant/6/672_3.png b/public/images/pokemon/icons/variant/6/672_3.png
new file mode 100644
index 00000000000..0901c7cd5a9
Binary files /dev/null and b/public/images/pokemon/icons/variant/6/672_3.png differ
diff --git a/public/images/pokemon/icons/variant/6/673_2.png b/public/images/pokemon/icons/variant/6/673_2.png
new file mode 100644
index 00000000000..fb5b0f3873f
Binary files /dev/null and b/public/images/pokemon/icons/variant/6/673_2.png differ
diff --git a/public/images/pokemon/icons/variant/6/673_3.png b/public/images/pokemon/icons/variant/6/673_3.png
new file mode 100644
index 00000000000..192f11f9f39
Binary files /dev/null and b/public/images/pokemon/icons/variant/6/673_3.png differ
diff --git a/public/images/pokemon/icons/variant/6/712_2.png b/public/images/pokemon/icons/variant/6/712_2.png
new file mode 100644
index 00000000000..f774a39bb1f
Binary files /dev/null and b/public/images/pokemon/icons/variant/6/712_2.png differ
diff --git a/public/images/pokemon/icons/variant/6/712_3.png b/public/images/pokemon/icons/variant/6/712_3.png
new file mode 100644
index 00000000000..c0c88985997
Binary files /dev/null and b/public/images/pokemon/icons/variant/6/712_3.png differ
diff --git a/public/images/pokemon/icons/variant/6/713_2.png b/public/images/pokemon/icons/variant/6/713_2.png
new file mode 100644
index 00000000000..0da07280d15
Binary files /dev/null and b/public/images/pokemon/icons/variant/6/713_2.png differ
diff --git a/public/images/pokemon/icons/variant/6/713_3.png b/public/images/pokemon/icons/variant/6/713_3.png
new file mode 100644
index 00000000000..8e6375a6409
Binary files /dev/null and b/public/images/pokemon/icons/variant/6/713_3.png differ
diff --git a/public/images/pokemon/icons/variant/6/742_2.png b/public/images/pokemon/icons/variant/6/742_2.png
new file mode 100644
index 00000000000..cc2a3642acc
Binary files /dev/null and b/public/images/pokemon/icons/variant/6/742_2.png differ
diff --git a/public/images/pokemon/icons/variant/6/742_3.png b/public/images/pokemon/icons/variant/6/742_3.png
new file mode 100644
index 00000000000..ad0ea071f50
Binary files /dev/null and b/public/images/pokemon/icons/variant/6/742_3.png differ
diff --git a/public/images/pokemon/icons/variant/6/743_2.png b/public/images/pokemon/icons/variant/6/743_2.png
new file mode 100644
index 00000000000..04455f5cfab
Binary files /dev/null and b/public/images/pokemon/icons/variant/6/743_2.png differ
diff --git a/public/images/pokemon/icons/variant/6/743_3.png b/public/images/pokemon/icons/variant/6/743_3.png
new file mode 100644
index 00000000000..81e97dd05fb
Binary files /dev/null and b/public/images/pokemon/icons/variant/6/743_3.png differ
diff --git a/public/images/pokemon/icons/variant/6/777_2.png b/public/images/pokemon/icons/variant/6/777_2.png
new file mode 100644
index 00000000000..8bbec081713
Binary files /dev/null and b/public/images/pokemon/icons/variant/6/777_2.png differ
diff --git a/public/images/pokemon/icons/variant/6/777_3.png b/public/images/pokemon/icons/variant/6/777_3.png
new file mode 100644
index 00000000000..3b89a79f326
Binary files /dev/null and b/public/images/pokemon/icons/variant/6/777_3.png differ
diff --git a/public/images/pokemon/icons/variant/6/779_2.png b/public/images/pokemon/icons/variant/6/779_2.png
new file mode 100644
index 00000000000..b58c3d5e42f
Binary files /dev/null and b/public/images/pokemon/icons/variant/6/779_2.png differ
diff --git a/public/images/pokemon/icons/variant/6/779_3.png b/public/images/pokemon/icons/variant/6/779_3.png
new file mode 100644
index 00000000000..4d3d4abd0e9
Binary files /dev/null and b/public/images/pokemon/icons/variant/6/779_3.png differ
diff --git a/public/images/pokemon/icons/variant/7/2052_2.png b/public/images/pokemon/icons/variant/7/2052_2.png
new file mode 100644
index 00000000000..b88dece15ac
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/2052_2.png differ
diff --git a/public/images/pokemon/icons/variant/7/2052_3.png b/public/images/pokemon/icons/variant/7/2052_3.png
new file mode 100644
index 00000000000..55b709aa7ba
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/2052_3.png differ
diff --git a/public/images/pokemon/icons/variant/7/2053_2.png b/public/images/pokemon/icons/variant/7/2053_2.png
new file mode 100644
index 00000000000..04810e6e6fd
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/2053_2.png differ
diff --git a/public/images/pokemon/icons/variant/7/2053_3.png b/public/images/pokemon/icons/variant/7/2053_3.png
new file mode 100644
index 00000000000..81566af243a
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/2053_3.png differ
diff --git a/public/images/pokemon/icons/variant/7/734_2.png b/public/images/pokemon/icons/variant/7/734_2.png
new file mode 100644
index 00000000000..a10d3542cbf
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/734_2.png differ
diff --git a/public/images/pokemon/icons/variant/7/734_3.png b/public/images/pokemon/icons/variant/7/734_3.png
new file mode 100644
index 00000000000..3949f140014
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/734_3.png differ
diff --git a/public/images/pokemon/icons/variant/7/735_2.png b/public/images/pokemon/icons/variant/7/735_2.png
new file mode 100644
index 00000000000..a9d0785bb2a
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/735_2.png differ
diff --git a/public/images/pokemon/icons/variant/7/735_3.png b/public/images/pokemon/icons/variant/7/735_3.png
new file mode 100644
index 00000000000..eedc5e4d9d8
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/735_3.png differ
diff --git a/public/images/pokemon/icons/variant/7/751_2.png b/public/images/pokemon/icons/variant/7/751_2.png
new file mode 100644
index 00000000000..e67db17c08b
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/751_2.png differ
diff --git a/public/images/pokemon/icons/variant/7/751_3.png b/public/images/pokemon/icons/variant/7/751_3.png
new file mode 100644
index 00000000000..24c52de4600
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/751_3.png differ
diff --git a/public/images/pokemon/icons/variant/7/752_2.png b/public/images/pokemon/icons/variant/7/752_2.png
new file mode 100644
index 00000000000..89b3d0ef1bf
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/752_2.png differ
diff --git a/public/images/pokemon/icons/variant/7/752_3.png b/public/images/pokemon/icons/variant/7/752_3.png
new file mode 100644
index 00000000000..3fe7b91cefd
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/752_3.png differ
diff --git a/public/images/pokemon/icons/variant/7/772_2.png b/public/images/pokemon/icons/variant/7/772_2.png
new file mode 100644
index 00000000000..cd7722918b5
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/772_2.png differ
diff --git a/public/images/pokemon/icons/variant/7/772_3.png b/public/images/pokemon/icons/variant/7/772_3.png
new file mode 100644
index 00000000000..ca418f311e1
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/772_3.png differ
diff --git a/public/images/pokemon/icons/variant/7/773-bug_2.png b/public/images/pokemon/icons/variant/7/773-bug_2.png
new file mode 100644
index 00000000000..76106359210
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/773-bug_2.png differ
diff --git a/public/images/pokemon/icons/variant/7/773-bug_3.png b/public/images/pokemon/icons/variant/7/773-bug_3.png
new file mode 100644
index 00000000000..bbb30378bf3
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/773-bug_3.png differ
diff --git a/public/images/pokemon/icons/variant/7/773-dark_2.png b/public/images/pokemon/icons/variant/7/773-dark_2.png
new file mode 100644
index 00000000000..3f6492e62fc
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/773-dark_2.png differ
diff --git a/public/images/pokemon/icons/variant/7/773-dark_3.png b/public/images/pokemon/icons/variant/7/773-dark_3.png
new file mode 100644
index 00000000000..35f1ce72a89
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/773-dark_3.png differ
diff --git a/public/images/pokemon/icons/variant/7/773-dragon_2.png b/public/images/pokemon/icons/variant/7/773-dragon_2.png
new file mode 100644
index 00000000000..e6f90fa6458
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/773-dragon_2.png differ
diff --git a/public/images/pokemon/icons/variant/7/773-dragon_3.png b/public/images/pokemon/icons/variant/7/773-dragon_3.png
new file mode 100644
index 00000000000..c80f10c8593
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/773-dragon_3.png differ
diff --git a/public/images/pokemon/icons/variant/7/773-electric_2.png b/public/images/pokemon/icons/variant/7/773-electric_2.png
new file mode 100644
index 00000000000..50aef6defa2
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/773-electric_2.png differ
diff --git a/public/images/pokemon/icons/variant/7/773-electric_3.png b/public/images/pokemon/icons/variant/7/773-electric_3.png
new file mode 100644
index 00000000000..c8f93b7a507
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/773-electric_3.png differ
diff --git a/public/images/pokemon/icons/variant/7/773-fairy_2.png b/public/images/pokemon/icons/variant/7/773-fairy_2.png
new file mode 100644
index 00000000000..a47b0bb5ed5
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/773-fairy_2.png differ
diff --git a/public/images/pokemon/icons/variant/7/773-fairy_3.png b/public/images/pokemon/icons/variant/7/773-fairy_3.png
new file mode 100644
index 00000000000..651e447aaf8
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/773-fairy_3.png differ
diff --git a/public/images/pokemon/icons/variant/7/773-fighting_2.png b/public/images/pokemon/icons/variant/7/773-fighting_2.png
new file mode 100644
index 00000000000..672b128eeff
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/773-fighting_2.png differ
diff --git a/public/images/pokemon/icons/variant/7/773-fighting_3.png b/public/images/pokemon/icons/variant/7/773-fighting_3.png
new file mode 100644
index 00000000000..92c727142d4
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/773-fighting_3.png differ
diff --git a/public/images/pokemon/icons/variant/7/773-fire_2.png b/public/images/pokemon/icons/variant/7/773-fire_2.png
new file mode 100644
index 00000000000..047c4fd7eda
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/773-fire_2.png differ
diff --git a/public/images/pokemon/icons/variant/7/773-fire_3.png b/public/images/pokemon/icons/variant/7/773-fire_3.png
new file mode 100644
index 00000000000..c97502c6a52
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/773-fire_3.png differ
diff --git a/public/images/pokemon/icons/variant/7/773-flying_2.png b/public/images/pokemon/icons/variant/7/773-flying_2.png
new file mode 100644
index 00000000000..8d1b5100292
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/773-flying_2.png differ
diff --git a/public/images/pokemon/icons/variant/7/773-flying_3.png b/public/images/pokemon/icons/variant/7/773-flying_3.png
new file mode 100644
index 00000000000..a24943f96ea
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/773-flying_3.png differ
diff --git a/public/images/pokemon/icons/variant/7/773-ghost_2.png b/public/images/pokemon/icons/variant/7/773-ghost_2.png
new file mode 100644
index 00000000000..62cc7642137
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/773-ghost_2.png differ
diff --git a/public/images/pokemon/icons/variant/7/773-ghost_3.png b/public/images/pokemon/icons/variant/7/773-ghost_3.png
new file mode 100644
index 00000000000..07a5772860c
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/773-ghost_3.png differ
diff --git a/public/images/pokemon/icons/variant/7/773-grass_2.png b/public/images/pokemon/icons/variant/7/773-grass_2.png
new file mode 100644
index 00000000000..1824adaa366
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/773-grass_2.png differ
diff --git a/public/images/pokemon/icons/variant/7/773-grass_3.png b/public/images/pokemon/icons/variant/7/773-grass_3.png
new file mode 100644
index 00000000000..6f77e617764
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/773-grass_3.png differ
diff --git a/public/images/pokemon/icons/variant/7/773-ground_2.png b/public/images/pokemon/icons/variant/7/773-ground_2.png
new file mode 100644
index 00000000000..f10960073cb
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/773-ground_2.png differ
diff --git a/public/images/pokemon/icons/variant/7/773-ground_3.png b/public/images/pokemon/icons/variant/7/773-ground_3.png
new file mode 100644
index 00000000000..92b52203244
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/773-ground_3.png differ
diff --git a/public/images/pokemon/icons/variant/7/773-ice_2.png b/public/images/pokemon/icons/variant/7/773-ice_2.png
new file mode 100644
index 00000000000..3649659ce43
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/773-ice_2.png differ
diff --git a/public/images/pokemon/icons/variant/7/773-ice_3.png b/public/images/pokemon/icons/variant/7/773-ice_3.png
new file mode 100644
index 00000000000..5a9957c7b16
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/773-ice_3.png differ
diff --git a/public/images/pokemon/icons/variant/7/773-poison_2.png b/public/images/pokemon/icons/variant/7/773-poison_2.png
new file mode 100644
index 00000000000..e089ee8da59
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/773-poison_2.png differ
diff --git a/public/images/pokemon/icons/variant/7/773-poison_3.png b/public/images/pokemon/icons/variant/7/773-poison_3.png
new file mode 100644
index 00000000000..a8f9e6e13b3
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/773-poison_3.png differ
diff --git a/public/images/pokemon/icons/variant/7/773-psychic_2.png b/public/images/pokemon/icons/variant/7/773-psychic_2.png
new file mode 100644
index 00000000000..5f5aff5a4d1
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/773-psychic_2.png differ
diff --git a/public/images/pokemon/icons/variant/7/773-psychic_3.png b/public/images/pokemon/icons/variant/7/773-psychic_3.png
new file mode 100644
index 00000000000..09afdfb8b70
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/773-psychic_3.png differ
diff --git a/public/images/pokemon/icons/variant/7/773-rock_2.png b/public/images/pokemon/icons/variant/7/773-rock_2.png
new file mode 100644
index 00000000000..4ee9faf519b
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/773-rock_2.png differ
diff --git a/public/images/pokemon/icons/variant/7/773-rock_3.png b/public/images/pokemon/icons/variant/7/773-rock_3.png
new file mode 100644
index 00000000000..74072ed64d1
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/773-rock_3.png differ
diff --git a/public/images/pokemon/icons/variant/7/773-steel_2.png b/public/images/pokemon/icons/variant/7/773-steel_2.png
new file mode 100644
index 00000000000..8f2ac96eea7
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/773-steel_2.png differ
diff --git a/public/images/pokemon/icons/variant/7/773-steel_3.png b/public/images/pokemon/icons/variant/7/773-steel_3.png
new file mode 100644
index 00000000000..9df00071eb0
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/773-steel_3.png differ
diff --git a/public/images/pokemon/icons/variant/7/773-water_2.png b/public/images/pokemon/icons/variant/7/773-water_2.png
new file mode 100644
index 00000000000..5d5d661fdb4
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/773-water_2.png differ
diff --git a/public/images/pokemon/icons/variant/7/773-water_3.png b/public/images/pokemon/icons/variant/7/773-water_3.png
new file mode 100644
index 00000000000..0c6bc132f11
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/773-water_3.png differ
diff --git a/public/images/pokemon/icons/variant/7/773_2.png b/public/images/pokemon/icons/variant/7/773_2.png
new file mode 100644
index 00000000000..9a9aaf9b7a4
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/773_2.png differ
diff --git a/public/images/pokemon/icons/variant/7/773_3.png b/public/images/pokemon/icons/variant/7/773_3.png
new file mode 100644
index 00000000000..58cc225d68e
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/773_3.png differ
diff --git a/public/images/pokemon/icons/variant/7/776_2.png b/public/images/pokemon/icons/variant/7/776_2.png
new file mode 100644
index 00000000000..e2afe333cf6
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/776_2.png differ
diff --git a/public/images/pokemon/icons/variant/7/776_3.png b/public/images/pokemon/icons/variant/7/776_3.png
new file mode 100644
index 00000000000..f90896e61f8
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/776_3.png differ
diff --git a/public/images/pokemon/icons/variant/7/778_2.png b/public/images/pokemon/icons/variant/7/778-disguised_2.png
similarity index 100%
rename from public/images/pokemon/icons/variant/7/778_2.png
rename to public/images/pokemon/icons/variant/7/778-disguised_2.png
diff --git a/public/images/pokemon/icons/variant/7/778_3.png b/public/images/pokemon/icons/variant/7/778-disguised_3.png
similarity index 100%
rename from public/images/pokemon/icons/variant/7/778_3.png
rename to public/images/pokemon/icons/variant/7/778-disguised_3.png
diff --git a/public/images/pokemon/icons/variant/7/797_2.png b/public/images/pokemon/icons/variant/7/797_2.png
new file mode 100644
index 00000000000..beb4b1ae2c3
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/797_2.png differ
diff --git a/public/images/pokemon/icons/variant/7/797_3.png b/public/images/pokemon/icons/variant/7/797_3.png
new file mode 100644
index 00000000000..f1a7c6fa359
Binary files /dev/null and b/public/images/pokemon/icons/variant/7/797_3.png differ
diff --git a/public/images/pokemon/icons/variant/8/4080_1.png b/public/images/pokemon/icons/variant/8/4080_1.png
new file mode 100644
index 00000000000..73e8650265c
Binary files /dev/null and b/public/images/pokemon/icons/variant/8/4080_1.png differ
diff --git a/public/images/pokemon/icons/variant/8/4199_1.png b/public/images/pokemon/icons/variant/8/4199_1.png
new file mode 100644
index 00000000000..a8c05daf088
Binary files /dev/null and b/public/images/pokemon/icons/variant/8/4199_1.png differ
diff --git a/public/images/pokemon/icons/variant/8/6713_2.png b/public/images/pokemon/icons/variant/8/6713_2.png
new file mode 100644
index 00000000000..1a411ee55e1
Binary files /dev/null and b/public/images/pokemon/icons/variant/8/6713_2.png differ
diff --git a/public/images/pokemon/icons/variant/8/6713_3.png b/public/images/pokemon/icons/variant/8/6713_3.png
new file mode 100644
index 00000000000..3a90d22cfa2
Binary files /dev/null and b/public/images/pokemon/icons/variant/8/6713_3.png differ
diff --git a/public/images/pokemon/icons/variant/8/816_2.png b/public/images/pokemon/icons/variant/8/816_2.png
new file mode 100644
index 00000000000..7a432a703a3
Binary files /dev/null and b/public/images/pokemon/icons/variant/8/816_2.png differ
diff --git a/public/images/pokemon/icons/variant/8/816_3.png b/public/images/pokemon/icons/variant/8/816_3.png
new file mode 100644
index 00000000000..1ac23c4d9dd
Binary files /dev/null and b/public/images/pokemon/icons/variant/8/816_3.png differ
diff --git a/public/images/pokemon/icons/variant/8/817_2.png b/public/images/pokemon/icons/variant/8/817_2.png
new file mode 100644
index 00000000000..30929acf615
Binary files /dev/null and b/public/images/pokemon/icons/variant/8/817_2.png differ
diff --git a/public/images/pokemon/icons/variant/8/817_3.png b/public/images/pokemon/icons/variant/8/817_3.png
new file mode 100644
index 00000000000..7b6ef890f55
Binary files /dev/null and b/public/images/pokemon/icons/variant/8/817_3.png differ
diff --git a/public/images/pokemon/icons/variant/8/818-gigantamax_2.png b/public/images/pokemon/icons/variant/8/818-gigantamax_2.png
new file mode 100644
index 00000000000..c7985a13bbd
Binary files /dev/null and b/public/images/pokemon/icons/variant/8/818-gigantamax_2.png differ
diff --git a/public/images/pokemon/icons/variant/8/818-gigantamax_3.png b/public/images/pokemon/icons/variant/8/818-gigantamax_3.png
new file mode 100644
index 00000000000..19e037d3d7c
Binary files /dev/null and b/public/images/pokemon/icons/variant/8/818-gigantamax_3.png differ
diff --git a/public/images/pokemon/icons/variant/8/818_2.png b/public/images/pokemon/icons/variant/8/818_2.png
new file mode 100644
index 00000000000..a943aeb828f
Binary files /dev/null and b/public/images/pokemon/icons/variant/8/818_2.png differ
diff --git a/public/images/pokemon/icons/variant/8/818_3.png b/public/images/pokemon/icons/variant/8/818_3.png
new file mode 100644
index 00000000000..17962c63011
Binary files /dev/null and b/public/images/pokemon/icons/variant/8/818_3.png differ
diff --git a/public/images/pokemon/icons/variant/8/859_2.png b/public/images/pokemon/icons/variant/8/859_2.png
new file mode 100644
index 00000000000..a6914ef1bc6
Binary files /dev/null and b/public/images/pokemon/icons/variant/8/859_2.png differ
diff --git a/public/images/pokemon/icons/variant/8/859_3.png b/public/images/pokemon/icons/variant/8/859_3.png
new file mode 100644
index 00000000000..0a4247993bb
Binary files /dev/null and b/public/images/pokemon/icons/variant/8/859_3.png differ
diff --git a/public/images/pokemon/icons/variant/8/860_2.png b/public/images/pokemon/icons/variant/8/860_2.png
new file mode 100644
index 00000000000..8b12fb12e70
Binary files /dev/null and b/public/images/pokemon/icons/variant/8/860_2.png differ
diff --git a/public/images/pokemon/icons/variant/8/860_3.png b/public/images/pokemon/icons/variant/8/860_3.png
new file mode 100644
index 00000000000..0d66720e63a
Binary files /dev/null and b/public/images/pokemon/icons/variant/8/860_3.png differ
diff --git a/public/images/pokemon/icons/variant/8/861-gigantamax_2.png b/public/images/pokemon/icons/variant/8/861-gigantamax_2.png
new file mode 100644
index 00000000000..ade62fd080f
Binary files /dev/null and b/public/images/pokemon/icons/variant/8/861-gigantamax_2.png differ
diff --git a/public/images/pokemon/icons/variant/8/861-gigantamax_3.png b/public/images/pokemon/icons/variant/8/861-gigantamax_3.png
new file mode 100644
index 00000000000..6b2b6403a99
Binary files /dev/null and b/public/images/pokemon/icons/variant/8/861-gigantamax_3.png differ
diff --git a/public/images/pokemon/icons/variant/8/861_2.png b/public/images/pokemon/icons/variant/8/861_2.png
new file mode 100644
index 00000000000..a27a59d89a8
Binary files /dev/null and b/public/images/pokemon/icons/variant/8/861_2.png differ
diff --git a/public/images/pokemon/icons/variant/8/861_3.png b/public/images/pokemon/icons/variant/8/861_3.png
new file mode 100644
index 00000000000..d60a6b1865a
Binary files /dev/null and b/public/images/pokemon/icons/variant/8/861_3.png differ
diff --git a/public/images/pokemon/icons/variant/8/876-female_2.png b/public/images/pokemon/icons/variant/8/876-female_2.png
new file mode 100644
index 00000000000..359d810f36d
Binary files /dev/null and b/public/images/pokemon/icons/variant/8/876-female_2.png differ
diff --git a/public/images/pokemon/icons/variant/8/876-female_3.png b/public/images/pokemon/icons/variant/8/876-female_3.png
new file mode 100644
index 00000000000..ce647e6a1a2
Binary files /dev/null and b/public/images/pokemon/icons/variant/8/876-female_3.png differ
diff --git a/public/images/pokemon/icons/variant/8/876_2.png b/public/images/pokemon/icons/variant/8/876_2.png
new file mode 100644
index 00000000000..f672f6cd6d5
Binary files /dev/null and b/public/images/pokemon/icons/variant/8/876_2.png differ
diff --git a/public/images/pokemon/icons/variant/8/876_3.png b/public/images/pokemon/icons/variant/8/876_3.png
new file mode 100644
index 00000000000..0cf31316a47
Binary files /dev/null and b/public/images/pokemon/icons/variant/8/876_3.png differ
diff --git a/public/images/pokemon/icons/variant/8/896_1.png b/public/images/pokemon/icons/variant/8/896_1.png
new file mode 100644
index 00000000000..d57d7cad794
Binary files /dev/null and b/public/images/pokemon/icons/variant/8/896_1.png differ
diff --git a/public/images/pokemon/icons/variant/8/896_2.png b/public/images/pokemon/icons/variant/8/896_2.png
new file mode 100644
index 00000000000..241392e5354
Binary files /dev/null and b/public/images/pokemon/icons/variant/8/896_2.png differ
diff --git a/public/images/pokemon/icons/variant/8/896_3.png b/public/images/pokemon/icons/variant/8/896_3.png
new file mode 100644
index 00000000000..2664d6ef12f
Binary files /dev/null and b/public/images/pokemon/icons/variant/8/896_3.png differ
diff --git a/public/images/pokemon/icons/variant/8/897_1.png b/public/images/pokemon/icons/variant/8/897_1.png
new file mode 100644
index 00000000000..12fe6ee7d7f
Binary files /dev/null and b/public/images/pokemon/icons/variant/8/897_1.png differ
diff --git a/public/images/pokemon/icons/variant/8/897_2.png b/public/images/pokemon/icons/variant/8/897_2.png
new file mode 100644
index 00000000000..77eca7f0d01
Binary files /dev/null and b/public/images/pokemon/icons/variant/8/897_2.png differ
diff --git a/public/images/pokemon/icons/variant/8/897_3.png b/public/images/pokemon/icons/variant/8/897_3.png
new file mode 100644
index 00000000000..156e8f8ad37
Binary files /dev/null and b/public/images/pokemon/icons/variant/8/897_3.png differ
diff --git a/public/images/pokemon/icons/variant/8/898-ice_1.png b/public/images/pokemon/icons/variant/8/898-ice_1.png
new file mode 100644
index 00000000000..34b45a31bcc
Binary files /dev/null and b/public/images/pokemon/icons/variant/8/898-ice_1.png differ
diff --git a/public/images/pokemon/icons/variant/8/898-ice_2.png b/public/images/pokemon/icons/variant/8/898-ice_2.png
new file mode 100644
index 00000000000..acefad4a238
Binary files /dev/null and b/public/images/pokemon/icons/variant/8/898-ice_2.png differ
diff --git a/public/images/pokemon/icons/variant/8/898-ice_3.png b/public/images/pokemon/icons/variant/8/898-ice_3.png
new file mode 100644
index 00000000000..17f259b74e2
Binary files /dev/null and b/public/images/pokemon/icons/variant/8/898-ice_3.png differ
diff --git a/public/images/pokemon/icons/variant/8/898-shadow_1.png b/public/images/pokemon/icons/variant/8/898-shadow_1.png
new file mode 100644
index 00000000000..2161141ecfe
Binary files /dev/null and b/public/images/pokemon/icons/variant/8/898-shadow_1.png differ
diff --git a/public/images/pokemon/icons/variant/8/898-shadow_2.png b/public/images/pokemon/icons/variant/8/898-shadow_2.png
new file mode 100644
index 00000000000..52517018f29
Binary files /dev/null and b/public/images/pokemon/icons/variant/8/898-shadow_2.png differ
diff --git a/public/images/pokemon/icons/variant/8/898-shadow_3.png b/public/images/pokemon/icons/variant/8/898-shadow_3.png
new file mode 100644
index 00000000000..627d61a5c29
Binary files /dev/null and b/public/images/pokemon/icons/variant/8/898-shadow_3.png differ
diff --git a/public/images/pokemon/icons/variant/8/898_1.png b/public/images/pokemon/icons/variant/8/898_1.png
new file mode 100644
index 00000000000..c2075f823c1
Binary files /dev/null and b/public/images/pokemon/icons/variant/8/898_1.png differ
diff --git a/public/images/pokemon/icons/variant/8/898_2.png b/public/images/pokemon/icons/variant/8/898_2.png
new file mode 100644
index 00000000000..0032d709bca
Binary files /dev/null and b/public/images/pokemon/icons/variant/8/898_2.png differ
diff --git a/public/images/pokemon/icons/variant/8/898_3.png b/public/images/pokemon/icons/variant/8/898_3.png
new file mode 100644
index 00000000000..fbb47bc00bc
Binary files /dev/null and b/public/images/pokemon/icons/variant/8/898_3.png differ
diff --git a/public/images/pokemon/icons/variant/9/951_2.png b/public/images/pokemon/icons/variant/9/951_2.png
new file mode 100644
index 00000000000..43ef19de0b5
Binary files /dev/null and b/public/images/pokemon/icons/variant/9/951_2.png differ
diff --git a/public/images/pokemon/icons/variant/9/951_3.png b/public/images/pokemon/icons/variant/9/951_3.png
new file mode 100644
index 00000000000..b9e613a8164
Binary files /dev/null and b/public/images/pokemon/icons/variant/9/951_3.png differ
diff --git a/public/images/pokemon/icons/variant/9/952_2.png b/public/images/pokemon/icons/variant/9/952_2.png
new file mode 100644
index 00000000000..f0118b6d8ce
Binary files /dev/null and b/public/images/pokemon/icons/variant/9/952_2.png differ
diff --git a/public/images/pokemon/icons/variant/9/952_3.png b/public/images/pokemon/icons/variant/9/952_3.png
new file mode 100644
index 00000000000..c73ea8ef08b
Binary files /dev/null and b/public/images/pokemon/icons/variant/9/952_3.png differ
diff --git a/public/images/pokemon/icons/variant/9/967_3_GENERATED.png b/public/images/pokemon/icons/variant/9/967_3_GENERATED.png
deleted file mode 100644
index b67e193543e..00000000000
Binary files a/public/images/pokemon/icons/variant/9/967_3_GENERATED.png and /dev/null differ
diff --git a/public/images/pokemon/icons/variant/9/974_2.png b/public/images/pokemon/icons/variant/9/974_2.png
new file mode 100644
index 00000000000..d2345f81171
Binary files /dev/null and b/public/images/pokemon/icons/variant/9/974_2.png differ
diff --git a/public/images/pokemon/icons/variant/9/974_3.png b/public/images/pokemon/icons/variant/9/974_3.png
new file mode 100644
index 00000000000..b15fd390a95
Binary files /dev/null and b/public/images/pokemon/icons/variant/9/974_3.png differ
diff --git a/public/images/pokemon/icons/variant/9/975_2.png b/public/images/pokemon/icons/variant/9/975_2.png
new file mode 100644
index 00000000000..8f6f1d5042d
Binary files /dev/null and b/public/images/pokemon/icons/variant/9/975_2.png differ
diff --git a/public/images/pokemon/icons/variant/9/975_3.png b/public/images/pokemon/icons/variant/9/975_3.png
new file mode 100644
index 00000000000..9946f06cd33
Binary files /dev/null and b/public/images/pokemon/icons/variant/9/975_3.png differ
diff --git a/public/images/pokemon/icons/variant/9/979_1.png b/public/images/pokemon/icons/variant/9/979_1.png
new file mode 100644
index 00000000000..97f982c4878
Binary files /dev/null and b/public/images/pokemon/icons/variant/9/979_1.png differ
diff --git a/public/images/pokemon/icons/variant/9/979_2.png b/public/images/pokemon/icons/variant/9/979_2.png
new file mode 100644
index 00000000000..f27ce543686
Binary files /dev/null and b/public/images/pokemon/icons/variant/9/979_2.png differ
diff --git a/public/images/pokemon/icons/variant/9/979_3.png b/public/images/pokemon/icons/variant/9/979_3.png
new file mode 100644
index 00000000000..0088be58344
Binary files /dev/null and b/public/images/pokemon/icons/variant/9/979_3.png differ
diff --git a/public/images/pokemon/icons/variant/9/993_2.png b/public/images/pokemon/icons/variant/9/993_2.png
new file mode 100644
index 00000000000..07def0a91d0
Binary files /dev/null and b/public/images/pokemon/icons/variant/9/993_2.png differ
diff --git a/public/images/pokemon/icons/variant/9/993_3.png b/public/images/pokemon/icons/variant/9/993_3.png
new file mode 100644
index 00000000000..37aa1aa8d80
Binary files /dev/null and b/public/images/pokemon/icons/variant/9/993_3.png differ
diff --git a/public/images/pokemon/shiny/133-partner.json b/public/images/pokemon/shiny/133-partner.json
new file mode 100644
index 00000000000..5d0e112e570
--- /dev/null
+++ b/public/images/pokemon/shiny/133-partner.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "133-partner.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 245,
+ "h": 245
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 3,
+ "w": 35,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 35,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 3,
+ "w": 35,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 35,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 35,
+ "h": 44
+ },
+ "frame": {
+ "x": 35,
+ "y": 0,
+ "w": 35,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 35,
+ "h": 44
+ },
+ "frame": {
+ "x": 35,
+ "y": 0,
+ "w": 35,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 35,
+ "h": 44
+ },
+ "frame": {
+ "x": 70,
+ "y": 0,
+ "w": 35,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 35,
+ "h": 44
+ },
+ "frame": {
+ "x": 70,
+ "y": 0,
+ "w": 35,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 3,
+ "w": 35,
+ "h": 44
+ },
+ "frame": {
+ "x": 105,
+ "y": 0,
+ "w": 35,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 3,
+ "w": 35,
+ "h": 44
+ },
+ "frame": {
+ "x": 105,
+ "y": 0,
+ "w": 35,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 2,
+ "w": 44,
+ "h": 45
+ },
+ "frame": {
+ "x": 140,
+ "y": 0,
+ "w": 44,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 2,
+ "w": 44,
+ "h": 45
+ },
+ "frame": {
+ "x": 140,
+ "y": 0,
+ "w": 44,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 2,
+ "w": 44,
+ "h": 45
+ },
+ "frame": {
+ "x": 140,
+ "y": 0,
+ "w": 44,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 2,
+ "w": 44,
+ "h": 45
+ },
+ "frame": {
+ "x": 140,
+ "y": 0,
+ "w": 44,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 2,
+ "w": 44,
+ "h": 45
+ },
+ "frame": {
+ "x": 140,
+ "y": 0,
+ "w": 44,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 2,
+ "w": 45,
+ "h": 45
+ },
+ "frame": {
+ "x": 184,
+ "y": 0,
+ "w": 45,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 2,
+ "w": 45,
+ "h": 45
+ },
+ "frame": {
+ "x": 184,
+ "y": 0,
+ "w": 45,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 2,
+ "w": 45,
+ "h": 45
+ },
+ "frame": {
+ "x": 184,
+ "y": 0,
+ "w": 45,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 2,
+ "w": 45,
+ "h": 45
+ },
+ "frame": {
+ "x": 184,
+ "y": 0,
+ "w": 45,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 2,
+ "w": 45,
+ "h": 45
+ },
+ "frame": {
+ "x": 184,
+ "y": 0,
+ "w": 45,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 2,
+ "w": 45,
+ "h": 45
+ },
+ "frame": {
+ "x": 184,
+ "y": 0,
+ "w": 45,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 2,
+ "w": 45,
+ "h": 45
+ },
+ "frame": {
+ "x": 184,
+ "y": 0,
+ "w": 45,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 2,
+ "w": 45,
+ "h": 45
+ },
+ "frame": {
+ "x": 184,
+ "y": 0,
+ "w": 45,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 2,
+ "w": 45,
+ "h": 45
+ },
+ "frame": {
+ "x": 184,
+ "y": 0,
+ "w": 45,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 2,
+ "w": 45,
+ "h": 45
+ },
+ "frame": {
+ "x": 184,
+ "y": 0,
+ "w": 45,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 2,
+ "w": 36,
+ "h": 45
+ },
+ "frame": {
+ "x": 0,
+ "y": 44,
+ "w": 36,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 34,
+ "h": 45
+ },
+ "frame": {
+ "x": 36,
+ "y": 44,
+ "w": 34,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 2,
+ "w": 44,
+ "h": 45
+ },
+ "frame": {
+ "x": 70,
+ "y": 44,
+ "w": 44,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 2,
+ "w": 44,
+ "h": 45
+ },
+ "frame": {
+ "x": 70,
+ "y": 44,
+ "w": 44,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 114,
+ "y": 45,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 114,
+ "y": 45,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 114,
+ "y": 45,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 114,
+ "y": 45,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 114,
+ "y": 45,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 156,
+ "y": 45,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 156,
+ "y": 45,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 156,
+ "y": 45,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 156,
+ "y": 45,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 156,
+ "y": 45,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 156,
+ "y": 45,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 156,
+ "y": 45,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 156,
+ "y": 45,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 156,
+ "y": 45,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 156,
+ "y": 45,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 199,
+ "y": 45,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 199,
+ "y": 45,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 199,
+ "y": 45,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 199,
+ "y": 45,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 199,
+ "y": 45,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 36,
+ "h": 46
+ },
+ "frame": {
+ "x": 0,
+ "y": 89,
+ "w": 36,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 36,
+ "y": 89,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 80,
+ "y": 91,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 80,
+ "y": 91,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 39,
+ "h": 47
+ },
+ "frame": {
+ "x": 124,
+ "y": 91,
+ "w": 39,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 163,
+ "y": 91,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 163,
+ "y": 91,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 163,
+ "y": 91,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 163,
+ "y": 91,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 163,
+ "y": 91,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 163,
+ "y": 91,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 163,
+ "y": 91,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 163,
+ "y": 91,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 163,
+ "y": 91,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 163,
+ "y": 91,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 204,
+ "y": 91,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 204,
+ "y": 91,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 204,
+ "y": 91,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 204,
+ "y": 91,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 204,
+ "y": 91,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 204,
+ "y": 91,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 204,
+ "y": 91,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 204,
+ "y": 91,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 204,
+ "y": 91,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 204,
+ "y": 91,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 135,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 135,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 135,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 135,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 135,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 135,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 135,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 135,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 135,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 135,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 38,
+ "h": 47
+ },
+ "frame": {
+ "x": 42,
+ "y": 135,
+ "w": 38,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 38,
+ "h": 47
+ },
+ "frame": {
+ "x": 42,
+ "y": 135,
+ "w": 38,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 80,
+ "y": 137,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 80,
+ "y": 137,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 80,
+ "y": 137,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 80,
+ "y": 137,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 80,
+ "y": 137,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 80,
+ "y": 137,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 80,
+ "y": 137,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 80,
+ "y": 137,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 80,
+ "y": 137,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 80,
+ "y": 137,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 122,
+ "y": 138,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 122,
+ "y": 138,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 122,
+ "y": 138,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 122,
+ "y": 138,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 122,
+ "y": 138,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 38,
+ "h": 47
+ },
+ "frame": {
+ "x": 164,
+ "y": 138,
+ "w": 38,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 38,
+ "h": 47
+ },
+ "frame": {
+ "x": 164,
+ "y": 138,
+ "w": 38,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 202,
+ "y": 138,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 182,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 182,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 44,
+ "h": 47
+ },
+ "frame": {
+ "x": 42,
+ "y": 184,
+ "w": 44,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 44,
+ "h": 47
+ },
+ "frame": {
+ "x": 42,
+ "y": 184,
+ "w": 44,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 44,
+ "h": 47
+ },
+ "frame": {
+ "x": 86,
+ "y": 185,
+ "w": 44,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 130,
+ "y": 185,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 42,
+ "h": 47
+ },
+ "frame": {
+ "x": 130,
+ "y": 185,
+ "w": 42,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 172,
+ "y": 185,
+ "w": 41,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 41,
+ "h": 47
+ },
+ "frame": {
+ "x": 172,
+ "y": 185,
+ "w": 41,
+ "h": 47
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:39a6c90c2230b79cc97f35268535285c:583262468c88ec48aa6c02458d89d8c8:4e938f9dc8bce1cd7822677c800d242b$"
+ }
+}
diff --git a/public/images/pokemon/shiny/133-partner.png b/public/images/pokemon/shiny/133-partner.png
new file mode 100644
index 00000000000..01352931fca
Binary files /dev/null and b/public/images/pokemon/shiny/133-partner.png differ
diff --git a/public/images/pokemon/shiny/196.json b/public/images/pokemon/shiny/196.json
index bf812262cc2..27d8e8bb15e 100644
--- a/public/images/pokemon/shiny/196.json
+++ b/public/images/pokemon/shiny/196.json
@@ -4,122 +4,206 @@
"image": "196.png",
"format": "RGBA8888",
"size": {
- "w": 376,
- "h": 376
+ "w": 386,
+ "h": 386
},
"scale": 1,
"frames": [
{
- "filename": "0010.png",
+ "filename": "0007.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
"x": 0,
- "y": 5,
- "w": 59,
- "h": 53
+ "y": 10,
+ "w": 63,
+ "h": 48
},
"frame": {
- "x": 0,
- "y": 0,
- "w": 59,
- "h": 53
+ "x": 1,
+ "y": 1,
+ "w": 63,
+ "h": 48
}
},
{
- "filename": "0031.png",
+ "filename": "0018.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
"x": 0,
- "y": 5,
- "w": 59,
- "h": 53
+ "y": 10,
+ "w": 63,
+ "h": 48
},
"frame": {
- "x": 0,
- "y": 0,
- "w": 59,
- "h": 53
+ "x": 1,
+ "y": 1,
+ "w": 63,
+ "h": 48
}
},
{
- "filename": "0032.png",
+ "filename": "0039.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
"x": 0,
- "y": 5,
- "w": 59,
- "h": 53
+ "y": 10,
+ "w": 63,
+ "h": 48
},
"frame": {
- "x": 0,
- "y": 0,
- "w": 59,
- "h": 53
+ "x": 66,
+ "y": 1,
+ "w": 63,
+ "h": 48
}
},
{
- "filename": "0053.png",
+ "filename": "0061.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
"x": 0,
- "y": 5,
- "w": 59,
- "h": 53
+ "y": 10,
+ "w": 63,
+ "h": 48
},
"frame": {
- "x": 0,
- "y": 0,
- "w": 59,
- "h": 53
+ "x": 131,
+ "y": 1,
+ "w": 63,
+ "h": 48
}
},
{
- "filename": "0054.png",
+ "filename": "0006.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
"x": 0,
- "y": 5,
- "w": 59,
- "h": 53
+ "y": 8,
+ "w": 62,
+ "h": 50
},
"frame": {
- "x": 0,
- "y": 0,
- "w": 59,
- "h": 53
+ "x": 196,
+ "y": 1,
+ "w": 62,
+ "h": 50
}
},
{
- "filename": "0140.png",
+ "filename": "0017.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
"w": 62,
+ "h": 50
+ },
+ "frame": {
+ "x": 196,
+ "y": 1,
+ "w": 62,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 62,
+ "h": 50
+ },
+ "frame": {
+ "x": 196,
+ "y": 1,
+ "w": 62,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 62,
+ "h": 50
+ },
+ "frame": {
+ "x": 260,
+ "y": 1,
+ "w": 62,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 62,
+ "h": 50
+ },
+ "frame": {
+ "x": 260,
+ "y": 1,
+ "w": 62,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
@@ -129,8 +213,8 @@
"h": 53
},
"frame": {
- "x": 0,
- "y": 0,
+ "x": 324,
+ "y": 1,
"w": 59,
"h": 53
}
@@ -140,7 +224,7 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
@@ -150,18 +234,123 @@
"h": 53
},
"frame": {
+ "x": 324,
+ "y": 1,
+ "w": 59,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
"x": 0,
+ "y": 5,
+ "w": 59,
+ "h": 53
+ },
+ "frame": {
+ "x": 324,
+ "y": 1,
+ "w": 59,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 62,
+ "h": 50
+ },
+ "frame": {
+ "x": 1,
+ "y": 51,
+ "w": 62,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 62,
+ "h": 50
+ },
+ "frame": {
+ "x": 65,
+ "y": 51,
+ "w": 62,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 62,
+ "h": 50
+ },
+ "frame": {
+ "x": 129,
+ "y": 51,
+ "w": 62,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 59,
+ "h": 53
+ },
+ "frame": {
+ "x": 193,
"y": 53,
"w": 59,
"h": 53
}
},
{
- "filename": "0017.png",
+ "filename": "0030.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
@@ -171,7 +360,7 @@
"h": 53
},
"frame": {
- "x": 0,
+ "x": 193,
"y": 53,
"w": 59,
"h": 53
@@ -182,7 +371,7 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
@@ -192,1774 +381,52 @@
"h": 53
},
"frame": {
- "x": 0,
+ "x": 254,
"y": 53,
"w": 59,
"h": 53
}
},
- {
- "filename": "0039.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 59,
- "h": 53
- },
- "frame": {
- "x": 0,
- "y": 53,
- "w": 59,
- "h": 53
- }
- },
- {
- "filename": "0060.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 59,
- "h": 53
- },
- "frame": {
- "x": 0,
- "y": 53,
- "w": 59,
- "h": 53
- }
- },
- {
- "filename": "0146.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 59,
- "h": 53
- },
- "frame": {
- "x": 0,
- "y": 53,
- "w": 59,
- "h": 53
- }
- },
- {
- "filename": "0147.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 59,
- "h": 53
- },
- "frame": {
- "x": 0,
- "y": 53,
- "w": 59,
- "h": 53
- }
- },
- {
- "filename": "0075.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 59,
- "h": 53
- },
- "frame": {
- "x": 59,
- "y": 0,
- "w": 59,
- "h": 53
- }
- },
- {
- "filename": "0081.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 59,
- "h": 53
- },
- "frame": {
- "x": 0,
- "y": 106,
- "w": 59,
- "h": 53
- }
- },
- {
- "filename": "0082.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 59,
- "h": 53
- },
- "frame": {
- "x": 0,
- "y": 106,
- "w": 59,
- "h": 53
- }
- },
- {
- "filename": "0118.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 59,
- "h": 53
- },
- "frame": {
- "x": 59,
- "y": 53,
- "w": 59,
- "h": 53
- }
- },
- {
- "filename": "0119.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 59,
- "h": 53
- },
- "frame": {
- "x": 59,
- "y": 53,
- "w": 59,
- "h": 53
- }
- },
- {
- "filename": "0125.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 59,
- "h": 53
- },
- "frame": {
- "x": 118,
- "y": 0,
- "w": 59,
- "h": 53
- }
- },
- {
- "filename": "0011.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 9,
- "w": 62,
- "h": 49
- },
- "frame": {
- "x": 177,
- "y": 0,
- "w": 62,
- "h": 49
- }
- },
- {
- "filename": "0012.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 9,
- "w": 62,
- "h": 49
- },
- "frame": {
- "x": 177,
- "y": 0,
- "w": 62,
- "h": 49
- }
- },
- {
- "filename": "0033.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 9,
- "w": 62,
- "h": 49
- },
- "frame": {
- "x": 177,
- "y": 0,
- "w": 62,
- "h": 49
- }
- },
- {
- "filename": "0034.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 9,
- "w": 62,
- "h": 49
- },
- "frame": {
- "x": 177,
- "y": 0,
- "w": 62,
- "h": 49
- }
- },
- {
- "filename": "0055.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 9,
- "w": 62,
- "h": 49
- },
- "frame": {
- "x": 177,
- "y": 0,
- "w": 62,
- "h": 49
- }
- },
- {
- "filename": "0141.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 9,
- "w": 62,
- "h": 49
- },
- "frame": {
- "x": 177,
- "y": 0,
- "w": 62,
- "h": 49
- }
- },
- {
- "filename": "0142.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 9,
- "w": 62,
- "h": 49
- },
- "frame": {
- "x": 177,
- "y": 0,
- "w": 62,
- "h": 49
- }
- },
- {
- "filename": "0015.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 9,
- "w": 62,
- "h": 49
- },
- "frame": {
- "x": 239,
- "y": 0,
- "w": 62,
- "h": 49
- }
- },
- {
- "filename": "0036.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 9,
- "w": 62,
- "h": 49
- },
- "frame": {
- "x": 239,
- "y": 0,
- "w": 62,
- "h": 49
- }
- },
- {
- "filename": "0037.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 9,
- "w": 62,
- "h": 49
- },
- "frame": {
- "x": 239,
- "y": 0,
- "w": 62,
- "h": 49
- }
- },
- {
- "filename": "0058.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 9,
- "w": 62,
- "h": 49
- },
- "frame": {
- "x": 239,
- "y": 0,
- "w": 62,
- "h": 49
- }
- },
- {
- "filename": "0059.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 9,
- "w": 62,
- "h": 49
- },
- "frame": {
- "x": 239,
- "y": 0,
- "w": 62,
- "h": 49
- }
- },
- {
- "filename": "0145.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 9,
- "w": 62,
- "h": 49
- },
- "frame": {
- "x": 239,
- "y": 0,
- "w": 62,
- "h": 49
- }
- },
- {
- "filename": "0076.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 9,
- "w": 62,
- "h": 49
- },
- "frame": {
- "x": 301,
- "y": 0,
- "w": 62,
- "h": 49
- }
- },
- {
- "filename": "0077.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 9,
- "w": 62,
- "h": 49
- },
- "frame": {
- "x": 301,
- "y": 0,
- "w": 62,
- "h": 49
- }
- },
- {
- "filename": "0120.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 9,
- "w": 62,
- "h": 49
- },
- "frame": {
- "x": 301,
- "y": 0,
- "w": 62,
- "h": 49
- }
- },
- {
- "filename": "0008.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 0,
- "y": 159,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0009.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 0,
- "y": 159,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0030.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 0,
- "y": 159,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0051.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 0,
- "y": 159,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0052.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 0,
- "y": 159,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0138.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 0,
- "y": 159,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0139.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 0,
- "y": 159,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0018.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 0,
- "y": 215,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0019.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 0,
- "y": 215,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0040.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 0,
- "y": 215,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0061.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 0,
- "y": 215,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0062.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 0,
- "y": 215,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0148.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 0,
- "y": 215,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0149.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 0,
- "y": 215,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0073.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 0,
- "y": 271,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0074.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 0,
- "y": 271,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0080.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 9,
- "w": 62,
- "h": 49
- },
- "frame": {
- "x": 59,
- "y": 106,
- "w": 62,
- "h": 49
- }
- },
- {
- "filename": "0123.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 9,
- "w": 62,
- "h": 49
- },
- "frame": {
- "x": 118,
- "y": 53,
- "w": 62,
- "h": 49
- }
- },
- {
- "filename": "0124.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 9,
- "w": 62,
- "h": 49
- },
- "frame": {
- "x": 118,
- "y": 53,
- "w": 62,
- "h": 49
- }
- },
- {
- "filename": "0013.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 11,
- "w": 62,
- "h": 47
- },
- "frame": {
- "x": 180,
- "y": 49,
- "w": 62,
- "h": 47
- }
- },
- {
- "filename": "0014.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 11,
- "w": 62,
- "h": 47
- },
- "frame": {
- "x": 180,
- "y": 49,
- "w": 62,
- "h": 47
- }
- },
- {
- "filename": "0035.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 11,
- "w": 62,
- "h": 47
- },
- "frame": {
- "x": 180,
- "y": 49,
- "w": 62,
- "h": 47
- }
- },
- {
- "filename": "0056.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 11,
- "w": 62,
- "h": 47
- },
- "frame": {
- "x": 180,
- "y": 49,
- "w": 62,
- "h": 47
- }
- },
- {
- "filename": "0057.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 11,
- "w": 62,
- "h": 47
- },
- "frame": {
- "x": 180,
- "y": 49,
- "w": 62,
- "h": 47
- }
- },
- {
- "filename": "0143.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 11,
- "w": 62,
- "h": 47
- },
- "frame": {
- "x": 180,
- "y": 49,
- "w": 62,
- "h": 47
- }
- },
- {
- "filename": "0144.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 11,
- "w": 62,
- "h": 47
- },
- "frame": {
- "x": 180,
- "y": 49,
- "w": 62,
- "h": 47
- }
- },
- {
- "filename": "0078.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 11,
- "w": 62,
- "h": 47
- },
- "frame": {
- "x": 242,
- "y": 49,
- "w": 62,
- "h": 47
- }
- },
- {
- "filename": "0079.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 11,
- "w": 62,
- "h": 47
- },
- "frame": {
- "x": 242,
- "y": 49,
- "w": 62,
- "h": 47
- }
- },
- {
- "filename": "0121.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 11,
- "w": 62,
- "h": 47
- },
- "frame": {
- "x": 304,
- "y": 49,
- "w": 62,
- "h": 47
- }
- },
- {
- "filename": "0122.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 11,
- "w": 62,
- "h": 47
- },
- "frame": {
- "x": 304,
- "y": 49,
- "w": 62,
- "h": 47
- }
- },
- {
- "filename": "0083.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 121,
- "y": 102,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0084.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 121,
- "y": 102,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0091.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 58
- },
- "frame": {
- "x": 53,
- "y": 159,
- "w": 43,
- "h": 58
- }
- },
- {
- "filename": "0092.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 58
- },
- "frame": {
- "x": 53,
- "y": 159,
- "w": 43,
- "h": 58
- }
- },
- {
- "filename": "0093.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 44,
- "h": 58
- },
- "frame": {
- "x": 53,
- "y": 217,
- "w": 44,
- "h": 58
- }
- },
- {
- "filename": "0094.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 44,
- "h": 58
- },
- "frame": {
- "x": 53,
- "y": 217,
- "w": 44,
- "h": 58
- }
- },
- {
- "filename": "0005.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 45,
- "h": 55
- },
- "frame": {
- "x": 53,
- "y": 275,
- "w": 45,
- "h": 55
- }
- },
- {
- "filename": "0026.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 45,
- "h": 55
- },
- "frame": {
- "x": 53,
- "y": 275,
- "w": 45,
- "h": 55
- }
- },
- {
- "filename": "0027.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 45,
- "h": 55
- },
- "frame": {
- "x": 53,
- "y": 275,
- "w": 45,
- "h": 55
- }
- },
- {
- "filename": "0048.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 45,
- "h": 55
- },
- "frame": {
- "x": 53,
- "y": 275,
- "w": 45,
- "h": 55
- }
- },
- {
- "filename": "0049.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 45,
- "h": 55
- },
- "frame": {
- "x": 53,
- "y": 275,
- "w": 45,
- "h": 55
- }
- },
- {
- "filename": "0135.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 45,
- "h": 55
- },
- "frame": {
- "x": 53,
- "y": 275,
- "w": 45,
- "h": 55
- }
- },
- {
- "filename": "0116.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 96,
- "y": 158,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0117.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 96,
- "y": 158,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0126.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 97,
- "y": 214,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0127.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 56
- },
- "frame": {
- "x": 97,
- "y": 214,
- "w": 53,
- "h": 56
- }
- },
- {
- "filename": "0006.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 49,
- "h": 55
- },
- "frame": {
- "x": 98,
- "y": 270,
- "w": 49,
- "h": 55
- }
- },
- {
- "filename": "0007.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 49,
- "h": 55
- },
- "frame": {
- "x": 98,
- "y": 270,
- "w": 49,
- "h": 55
- }
- },
- {
- "filename": "0028.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 49,
- "h": 55
- },
- "frame": {
- "x": 98,
- "y": 270,
- "w": 49,
- "h": 55
- }
- },
- {
- "filename": "0029.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 49,
- "h": 55
- },
- "frame": {
- "x": 98,
- "y": 270,
- "w": 49,
- "h": 55
- }
- },
- {
- "filename": "0050.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 49,
- "h": 55
- },
- "frame": {
- "x": 98,
- "y": 270,
- "w": 49,
- "h": 55
- }
- },
- {
- "filename": "0136.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 49,
- "h": 55
- },
- "frame": {
- "x": 98,
- "y": 270,
- "w": 49,
- "h": 55
- }
- },
- {
- "filename": "0137.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 49,
- "h": 55
- },
- "frame": {
- "x": 98,
- "y": 270,
- "w": 49,
- "h": 55
- }
- },
- {
- "filename": "0090.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 43,
- "h": 56
- },
- "frame": {
- "x": 149,
- "y": 158,
- "w": 43,
- "h": 56
- }
- },
- {
- "filename": "0095.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 58
- },
- "frame": {
- "x": 150,
- "y": 214,
- "w": 45,
- "h": 58
- }
- },
- {
- "filename": "0020.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 49,
- "h": 55
- },
- "frame": {
- "x": 147,
- "y": 272,
- "w": 49,
- "h": 55
- }
- },
{
"filename": "0041.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
"x": 0,
- "y": 3,
- "w": 49,
- "h": 55
+ "y": 5,
+ "w": 59,
+ "h": 53
},
"frame": {
- "x": 147,
- "y": 272,
- "w": 49,
- "h": 55
+ "x": 315,
+ "y": 56,
+ "w": 59,
+ "h": 53
}
},
{
- "filename": "0042.png",
+ "filename": "0059.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
"x": 0,
- "y": 3,
- "w": 49,
- "h": 55
+ "y": 5,
+ "w": 59,
+ "h": 53
},
"frame": {
- "x": 147,
- "y": 272,
- "w": 49,
- "h": 55
+ "x": 1,
+ "y": 103,
+ "w": 59,
+ "h": 53
}
},
{
@@ -1967,713 +434,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
"x": 0,
- "y": 3,
- "w": 49,
- "h": 55
+ "y": 5,
+ "w": 59,
+ "h": 53
},
"frame": {
- "x": 147,
- "y": 272,
- "w": 49,
- "h": 55
- }
- },
- {
- "filename": "0064.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 49,
- "h": 55
- },
- "frame": {
- "x": 147,
- "y": 272,
- "w": 49,
- "h": 55
- }
- },
- {
- "filename": "0128.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 49,
- "h": 55
- },
- "frame": {
- "x": 147,
- "y": 272,
- "w": 49,
- "h": 55
- }
- },
- {
- "filename": "0129.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 49,
- "h": 55
- },
- "frame": {
- "x": 147,
- "y": 272,
- "w": 49,
- "h": 55
- }
- },
- {
- "filename": "0150.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 49,
- "h": 55
- },
- "frame": {
- "x": 147,
- "y": 272,
- "w": 49,
- "h": 55
- }
- },
- {
- "filename": "0106.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 43,
- "h": 56
- },
- "frame": {
- "x": 174,
- "y": 102,
- "w": 43,
- "h": 56
- }
- },
- {
- "filename": "0107.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 43,
- "h": 56
- },
- "frame": {
- "x": 174,
- "y": 102,
- "w": 43,
- "h": 56
- }
- },
- {
- "filename": "0071.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 49,
- "h": 55
- },
- "frame": {
- "x": 217,
- "y": 96,
- "w": 49,
- "h": 55
- }
- },
- {
- "filename": "0072.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 49,
- "h": 55
- },
- "frame": {
- "x": 217,
- "y": 96,
- "w": 49,
- "h": 55
- }
- },
- {
- "filename": "0085.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 49,
- "h": 55
- },
- "frame": {
- "x": 266,
- "y": 96,
- "w": 49,
- "h": 55
- }
- },
- {
- "filename": "0115.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 49,
- "h": 55
- },
- "frame": {
- "x": 315,
- "y": 96,
- "w": 49,
- "h": 55
- }
- },
- {
- "filename": "0021.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 45,
- "h": 55
- },
- "frame": {
- "x": 192,
- "y": 158,
- "w": 45,
- "h": 55
- }
- },
- {
- "filename": "0022.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 45,
- "h": 55
- },
- "frame": {
- "x": 192,
- "y": 158,
- "w": 45,
- "h": 55
- }
- },
- {
- "filename": "0043.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 45,
- "h": 55
- },
- "frame": {
- "x": 192,
- "y": 158,
- "w": 45,
- "h": 55
- }
- },
- {
- "filename": "0044.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 45,
- "h": 55
- },
- "frame": {
- "x": 192,
- "y": 158,
- "w": 45,
- "h": 55
- }
- },
- {
- "filename": "0065.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 45,
- "h": 55
- },
- "frame": {
- "x": 192,
- "y": 158,
- "w": 45,
- "h": 55
- }
- },
- {
- "filename": "0130.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 45,
- "h": 55
- },
- "frame": {
- "x": 192,
- "y": 158,
- "w": 45,
- "h": 55
- }
- },
- {
- "filename": "0151.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 45,
- "h": 55
- },
- "frame": {
- "x": 192,
- "y": 158,
- "w": 45,
- "h": 55
- }
- },
- {
- "filename": "0152.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 45,
- "h": 55
- },
- "frame": {
- "x": 192,
- "y": 158,
- "w": 45,
- "h": 55
- }
- },
- {
- "filename": "0096.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 58
- },
- "frame": {
- "x": 195,
- "y": 213,
- "w": 45,
- "h": 58
- }
- },
- {
- "filename": "0097.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 58
- },
- "frame": {
- "x": 195,
- "y": 213,
- "w": 45,
- "h": 58
- }
- },
- {
- "filename": "0098.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 58
- },
- "frame": {
- "x": 196,
- "y": 271,
- "w": 45,
- "h": 58
- }
- },
- {
- "filename": "0099.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 58
- },
- "frame": {
- "x": 196,
- "y": 271,
- "w": 45,
- "h": 58
- }
- },
- {
- "filename": "0100.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 58
- },
- "frame": {
- "x": 237,
- "y": 151,
- "w": 45,
- "h": 58
- }
- },
- {
- "filename": "0101.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 58
- },
- "frame": {
- "x": 282,
- "y": 151,
- "w": 45,
- "h": 58
- }
- },
- {
- "filename": "0102.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 45,
- "h": 58
- },
- "frame": {
- "x": 282,
- "y": 151,
- "w": 45,
- "h": 58
- }
- },
- {
- "filename": "0103.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 44,
- "h": 58
- },
- "frame": {
- "x": 240,
- "y": 209,
- "w": 44,
- "h": 58
- }
- },
- {
- "filename": "0104.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 44,
- "h": 58
- },
- "frame": {
- "x": 240,
- "y": 209,
- "w": 44,
- "h": 58
- }
- },
- {
- "filename": "0105.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 43,
- "h": 58
- },
- "frame": {
- "x": 284,
- "y": 209,
- "w": 43,
- "h": 58
- }
- },
- {
- "filename": "0070.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 45,
- "h": 55
- },
- "frame": {
- "x": 241,
- "y": 267,
- "w": 45,
- "h": 55
- }
- },
- {
- "filename": "0086.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 45,
- "h": 55
- },
- "frame": {
- "x": 286,
- "y": 267,
- "w": 45,
- "h": 55
- }
- },
- {
- "filename": "0087.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 45,
- "h": 55
- },
- "frame": {
- "x": 286,
- "y": 267,
- "w": 45,
- "h": 55
- }
- },
- {
- "filename": "0113.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 45,
- "h": 55
- },
- "frame": {
- "x": 327,
- "y": 151,
- "w": 45,
- "h": 55
- }
- },
- {
- "filename": "0114.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 45,
- "h": 55
- },
- "frame": {
- "x": 327,
- "y": 151,
- "w": 45,
- "h": 55
+ "x": 62,
+ "y": 103,
+ "w": 59,
+ "h": 53
}
},
{
@@ -2681,7 +455,7 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
@@ -2691,18 +465,18 @@
"h": 54
},
"frame": {
- "x": 327,
- "y": 206,
+ "x": 123,
+ "y": 103,
"w": 42,
"h": 54
}
},
{
- "filename": "0002.png",
+ "filename": "0012.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
@@ -2712,8 +486,8 @@
"h": 54
},
"frame": {
- "x": 327,
- "y": 206,
+ "x": 123,
+ "y": 103,
"w": 42,
"h": 54
}
@@ -2723,7 +497,7 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
@@ -2733,18 +507,18 @@
"h": 54
},
"frame": {
- "x": 327,
- "y": 206,
+ "x": 123,
+ "y": 103,
"w": 42,
"h": 54
}
},
{
- "filename": "0024.png",
+ "filename": "0002.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
@@ -2754,8 +528,134 @@
"h": 54
},
"frame": {
- "x": 327,
- "y": 206,
+ "x": 167,
+ "y": 108,
+ "w": 42,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 42,
+ "h": 54
+ },
+ "frame": {
+ "x": 167,
+ "y": 108,
+ "w": 42,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 42,
+ "h": 54
+ },
+ "frame": {
+ "x": 211,
+ "y": 108,
+ "w": 42,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 42,
+ "h": 54
+ },
+ "frame": {
+ "x": 255,
+ "y": 108,
+ "w": 42,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 42,
+ "h": 54
+ },
+ "frame": {
+ "x": 255,
+ "y": 108,
+ "w": 42,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 42,
+ "h": 54
+ },
+ "frame": {
+ "x": 255,
+ "y": 108,
+ "w": 42,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 42,
+ "h": 54
+ },
+ "frame": {
+ "x": 299,
+ "y": 111,
"w": 42,
"h": 54
}
@@ -2765,104 +665,20 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
"x": 0,
- "y": 4,
+ "y": 1,
"w": 42,
- "h": 54
+ "h": 57
},
"frame": {
- "x": 327,
- "y": 206,
+ "x": 343,
+ "y": 111,
"w": 42,
- "h": 54
- }
- },
- {
- "filename": "0066.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 4,
- "w": 42,
- "h": 54
- },
- "frame": {
- "x": 327,
- "y": 206,
- "w": 42,
- "h": 54
- }
- },
- {
- "filename": "0067.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 4,
- "w": 42,
- "h": 54
- },
- "frame": {
- "x": 327,
- "y": 206,
- "w": 42,
- "h": 54
- }
- },
- {
- "filename": "0131.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 4,
- "w": 42,
- "h": 54
- },
- "frame": {
- "x": 327,
- "y": 206,
- "w": 42,
- "h": 54
- }
- },
- {
- "filename": "0132.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 4,
- "w": 42,
- "h": 54
- },
- "frame": {
- "x": 327,
- "y": 206,
- "w": 42,
- "h": 54
+ "h": 57
}
},
{
@@ -2870,41 +686,209 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
"x": 0,
- "y": 4,
- "w": 42,
- "h": 54
+ "y": 3,
+ "w": 45,
+ "h": 55
},
"frame": {
- "x": 331,
- "y": 260,
- "w": 42,
- "h": 54
+ "x": 1,
+ "y": 158,
+ "w": 45,
+ "h": 55
}
},
{
- "filename": "0004.png",
+ "filename": "0024.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
"x": 0,
- "y": 4,
- "w": 42,
- "h": 54
+ "y": 3,
+ "w": 45,
+ "h": 55
},
"frame": {
- "x": 331,
- "y": 260,
- "w": 42,
- "h": 54
+ "x": 1,
+ "y": 158,
+ "w": 45,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 49,
+ "h": 55
+ },
+ "frame": {
+ "x": 48,
+ "y": 158,
+ "w": 49,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 49,
+ "h": 55
+ },
+ "frame": {
+ "x": 48,
+ "y": 158,
+ "w": 49,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 49,
+ "h": 55
+ },
+ "frame": {
+ "x": 48,
+ "y": 158,
+ "w": 49,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 45,
+ "h": 55
+ },
+ "frame": {
+ "x": 99,
+ "y": 159,
+ "w": 45,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 45,
+ "h": 55
+ },
+ "frame": {
+ "x": 99,
+ "y": 159,
+ "w": 45,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 45,
+ "h": 55
+ },
+ "frame": {
+ "x": 99,
+ "y": 159,
+ "w": 45,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 45,
+ "h": 55
+ },
+ "frame": {
+ "x": 99,
+ "y": 159,
+ "w": 45,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 49,
+ "h": 55
+ },
+ "frame": {
+ "x": 146,
+ "y": 164,
+ "w": 49,
+ "h": 55
}
},
{
@@ -2912,20 +896,83 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
"x": 0,
- "y": 4,
- "w": 42,
- "h": 54
+ "y": 3,
+ "w": 49,
+ "h": 55
},
"frame": {
- "x": 331,
- "y": 260,
- "w": 42,
- "h": 54
+ "x": 146,
+ "y": 164,
+ "w": 49,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 45,
+ "h": 55
+ },
+ "frame": {
+ "x": 197,
+ "y": 164,
+ "w": 45,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 49,
+ "h": 55
+ },
+ "frame": {
+ "x": 244,
+ "y": 164,
+ "w": 49,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 45,
+ "h": 55
+ },
+ "frame": {
+ "x": 295,
+ "y": 167,
+ "w": 45,
+ "h": 55
}
},
{
@@ -2933,20 +980,251 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
"x": 0,
- "y": 4,
- "w": 42,
- "h": 54
+ "y": 0,
+ "w": 43,
+ "h": 58
},
"frame": {
- "x": 331,
- "y": 260,
- "w": 42,
- "h": 54
+ "x": 342,
+ "y": 170,
+ "w": 43,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 49,
+ "h": 55
+ },
+ "frame": {
+ "x": 1,
+ "y": 215,
+ "w": 49,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 49,
+ "h": 55
+ },
+ "frame": {
+ "x": 52,
+ "y": 216,
+ "w": 49,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 49,
+ "h": 55
+ },
+ "frame": {
+ "x": 103,
+ "y": 221,
+ "w": 49,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 53,
+ "h": 56
+ },
+ "frame": {
+ "x": 154,
+ "y": 221,
+ "w": 53,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 53,
+ "h": 56
+ },
+ "frame": {
+ "x": 154,
+ "y": 221,
+ "w": 53,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 53,
+ "h": 56
+ },
+ "frame": {
+ "x": 154,
+ "y": 221,
+ "w": 53,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 53,
+ "h": 56
+ },
+ "frame": {
+ "x": 209,
+ "y": 221,
+ "w": 53,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 53,
+ "h": 56
+ },
+ "frame": {
+ "x": 209,
+ "y": 221,
+ "w": 53,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 53,
+ "h": 56
+ },
+ "frame": {
+ "x": 209,
+ "y": 221,
+ "w": 53,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 53,
+ "h": 56
+ },
+ "frame": {
+ "x": 264,
+ "y": 224,
+ "w": 53,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 63,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 53,
+ "h": 56
+ },
+ "frame": {
+ "x": 319,
+ "y": 230,
+ "w": 53,
+ "h": 56
}
},
{
@@ -2954,251 +1232,146 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
"x": 0,
- "y": 4,
- "w": 42,
- "h": 54
+ "y": 0,
+ "w": 44,
+ "h": 58
},
"frame": {
- "x": 331,
- "y": 260,
- "w": 42,
- "h": 54
+ "x": 1,
+ "y": 272,
+ "w": 44,
+ "h": 58
}
},
{
- "filename": "0133.png",
+ "filename": "0048.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
"x": 0,
- "y": 4,
- "w": 42,
- "h": 54
+ "y": 0,
+ "w": 45,
+ "h": 58
},
"frame": {
- "x": 331,
- "y": 260,
- "w": 42,
- "h": 54
+ "x": 47,
+ "y": 273,
+ "w": 45,
+ "h": 58
}
},
{
- "filename": "0134.png",
+ "filename": "0049.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
"x": 0,
- "y": 4,
- "w": 42,
- "h": 54
+ "y": 0,
+ "w": 45,
+ "h": 58
},
"frame": {
- "x": 331,
- "y": 260,
- "w": 42,
- "h": 54
+ "x": 94,
+ "y": 278,
+ "w": 45,
+ "h": 58
}
},
{
- "filename": "0068.png",
+ "filename": "0050.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
"x": 0,
- "y": 4,
- "w": 42,
- "h": 54
+ "y": 0,
+ "w": 46,
+ "h": 58
},
"frame": {
- "x": 331,
- "y": 314,
- "w": 42,
- "h": 54
+ "x": 141,
+ "y": 279,
+ "w": 46,
+ "h": 58
}
},
{
- "filename": "0069.png",
+ "filename": "0051.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
"x": 0,
- "y": 4,
- "w": 42,
- "h": 54
+ "y": 0,
+ "w": 45,
+ "h": 58
},
"frame": {
- "x": 331,
- "y": 314,
- "w": 42,
- "h": 54
+ "x": 189,
+ "y": 279,
+ "w": 45,
+ "h": 58
}
},
{
- "filename": "0088.png",
+ "filename": "0052.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
"x": 0,
- "y": 4,
- "w": 42,
- "h": 54
+ "y": 0,
+ "w": 44,
+ "h": 58
},
"frame": {
- "x": 241,
- "y": 322,
- "w": 42,
- "h": 54
+ "x": 236,
+ "y": 282,
+ "w": 44,
+ "h": 58
}
},
{
- "filename": "0089.png",
+ "filename": "0053.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 62,
+ "w": 63,
"h": 58
},
"spriteSourceSize": {
"x": 0,
- "y": 4,
- "w": 42,
- "h": 54
- },
- "frame": {
- "x": 241,
- "y": 322,
- "w": 42,
- "h": 54
- }
- },
- {
- "filename": "0108.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
+ "y": 0,
+ "w": 43,
"h": 58
},
- "spriteSourceSize": {
- "x": 0,
- "y": 4,
- "w": 42,
- "h": 54
- },
"frame": {
- "x": 241,
- "y": 322,
- "w": 42,
- "h": 54
- }
- },
- {
- "filename": "0109.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
+ "x": 282,
+ "y": 288,
+ "w": 43,
"h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 4,
- "w": 42,
- "h": 54
- },
- "frame": {
- "x": 241,
- "y": 322,
- "w": 42,
- "h": 54
- }
- },
- {
- "filename": "0110.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 4,
- "w": 42,
- "h": 54
- },
- "frame": {
- "x": 241,
- "y": 322,
- "w": 42,
- "h": 54
- }
- },
- {
- "filename": "0111.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 4,
- "w": 42,
- "h": 54
- },
- "frame": {
- "x": 283,
- "y": 322,
- "w": 42,
- "h": 54
- }
- },
- {
- "filename": "0112.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 62,
- "h": 58
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 4,
- "w": 42,
- "h": 54
- },
- "frame": {
- "x": 283,
- "y": 322,
- "w": 42,
- "h": 54
}
}
]
@@ -3207,6 +1380,6 @@
"meta": {
"app": "https://www.codeandweb.com/texturepacker",
"version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:9b65a3f3f9e736f3f4fec050eff11e3d:fd53c026e4013df6b8f49ce61e619ad0:fb684cbb576f205e45dc62e63d92a744$"
+ "smartupdate": "$TexturePacker:SmartUpdate:bd99ee2b4895f86f89c98243112d8b68:096f60b1c9de4943f19a8b4fe8653625:fb684cbb576f205e45dc62e63d92a744$"
}
}
diff --git a/public/images/pokemon/shiny/196.png b/public/images/pokemon/shiny/196.png
index 61cf6c7c901..8b62939e300 100644
Binary files a/public/images/pokemon/shiny/196.png and b/public/images/pokemon/shiny/196.png differ
diff --git a/public/images/pokemon/shiny/25-partner.json b/public/images/pokemon/shiny/25-partner.json
new file mode 100644
index 00000000000..1ae56902c87
--- /dev/null
+++ b/public/images/pokemon/shiny/25-partner.json
@@ -0,0 +1,2456 @@
+{
+ "textures": [
+ {
+ "image": "25-partner.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 315,
+ "h": 315
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 46,
+ "h": 46
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 46,
+ "h": 46
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 50,
+ "h": 43
+ },
+ "frame": {
+ "x": 0,
+ "y": 46,
+ "w": 50,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 50,
+ "h": 43
+ },
+ "frame": {
+ "x": 0,
+ "y": 46,
+ "w": 50,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 50,
+ "h": 43
+ },
+ "frame": {
+ "x": 46,
+ "y": 0,
+ "w": 50,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 50,
+ "h": 43
+ },
+ "frame": {
+ "x": 46,
+ "y": 0,
+ "w": 50,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 45,
+ "h": 46
+ },
+ "frame": {
+ "x": 50,
+ "y": 43,
+ "w": 45,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 45,
+ "h": 46
+ },
+ "frame": {
+ "x": 50,
+ "y": 43,
+ "w": 45,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 45,
+ "h": 46
+ },
+ "frame": {
+ "x": 50,
+ "y": 43,
+ "w": 45,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 95,
+ "y": 43,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 95,
+ "y": 43,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 49,
+ "h": 43
+ },
+ "frame": {
+ "x": 96,
+ "y": 0,
+ "w": 49,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 49,
+ "h": 43
+ },
+ "frame": {
+ "x": 96,
+ "y": 0,
+ "w": 49,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 138,
+ "y": 43,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 138,
+ "y": 43,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 49,
+ "h": 43
+ },
+ "frame": {
+ "x": 145,
+ "y": 0,
+ "w": 49,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 49,
+ "h": 43
+ },
+ "frame": {
+ "x": 145,
+ "y": 0,
+ "w": 49,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 181,
+ "y": 43,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 181,
+ "y": 43,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 49,
+ "h": 43
+ },
+ "frame": {
+ "x": 194,
+ "y": 0,
+ "w": 49,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 49,
+ "h": 43
+ },
+ "frame": {
+ "x": 194,
+ "y": 0,
+ "w": 49,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 224,
+ "y": 43,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 224,
+ "y": 43,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 48,
+ "h": 43
+ },
+ "frame": {
+ "x": 243,
+ "y": 0,
+ "w": 48,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 48,
+ "h": 43
+ },
+ "frame": {
+ "x": 243,
+ "y": 0,
+ "w": 48,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 267,
+ "y": 43,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 267,
+ "y": 43,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 49,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 89,
+ "w": 49,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 49,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 89,
+ "w": 49,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 49,
+ "h": 44
+ },
+ "frame": {
+ "x": 49,
+ "y": 89,
+ "w": 49,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 49,
+ "h": 44
+ },
+ "frame": {
+ "x": 49,
+ "y": 89,
+ "w": 49,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 98,
+ "y": 89,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 98,
+ "y": 89,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 0,
+ "y": 133,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 0,
+ "y": 133,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 0,
+ "y": 133,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 0,
+ "y": 133,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 43,
+ "y": 133,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 43,
+ "y": 133,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 141,
+ "y": 89,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 141,
+ "y": 89,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 184,
+ "y": 89,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 184,
+ "y": 89,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 226,
+ "y": 89,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 226,
+ "y": 89,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 268,
+ "y": 89,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 268,
+ "y": 89,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 49,
+ "h": 44
+ },
+ "frame": {
+ "x": 86,
+ "y": 135,
+ "w": 49,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 49,
+ "h": 44
+ },
+ "frame": {
+ "x": 86,
+ "y": 135,
+ "w": 49,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 49,
+ "h": 44
+ },
+ "frame": {
+ "x": 135,
+ "y": 135,
+ "w": 49,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 49,
+ "h": 44
+ },
+ "frame": {
+ "x": 135,
+ "y": 135,
+ "w": 49,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 184,
+ "y": 135,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 184,
+ "y": 135,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 226,
+ "y": 135,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 226,
+ "y": 135,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 267,
+ "y": 135,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 267,
+ "y": 135,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 267,
+ "y": 135,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 267,
+ "y": 135,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 48,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 179,
+ "w": 48,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 48,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 179,
+ "w": 48,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 47,
+ "h": 44
+ },
+ "frame": {
+ "x": 48,
+ "y": 179,
+ "w": 47,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 47,
+ "h": 44
+ },
+ "frame": {
+ "x": 48,
+ "y": 179,
+ "w": 47,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 95,
+ "y": 179,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 95,
+ "y": 179,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 47,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 223,
+ "w": 47,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 47,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 223,
+ "w": 47,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 47,
+ "y": 223,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 47,
+ "y": 223,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 47,
+ "y": 223,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 47,
+ "y": 223,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 47,
+ "y": 223,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 47,
+ "y": 223,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 47,
+ "y": 223,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 47,
+ "y": 223,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 47,
+ "y": 223,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 47,
+ "y": 223,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 47,
+ "y": 223,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 47,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 267,
+ "w": 47,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 47,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 267,
+ "w": 47,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 47,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 267,
+ "w": 47,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 47,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 267,
+ "w": 47,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 136,
+ "y": 179,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 136,
+ "y": 179,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 136,
+ "y": 179,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 136,
+ "y": 179,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 48,
+ "h": 43
+ },
+ "frame": {
+ "x": 177,
+ "y": 181,
+ "w": 48,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 48,
+ "h": 43
+ },
+ "frame": {
+ "x": 177,
+ "y": 181,
+ "w": 48,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 225,
+ "y": 181,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 225,
+ "y": 181,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 225,
+ "y": 181,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 225,
+ "y": 181,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 177,
+ "y": 224,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 177,
+ "y": 224,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 177,
+ "y": 224,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 177,
+ "y": 224,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 46,
+ "h": 44
+ },
+ "frame": {
+ "x": 88,
+ "y": 225,
+ "w": 46,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 46,
+ "h": 44
+ },
+ "frame": {
+ "x": 88,
+ "y": 225,
+ "w": 46,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 134,
+ "y": 225,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 41,
+ "h": 46
+ },
+ "frame": {
+ "x": 134,
+ "y": 225,
+ "w": 41,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 48,
+ "h": 43
+ },
+ "frame": {
+ "x": 47,
+ "y": 269,
+ "w": 48,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 48,
+ "h": 43
+ },
+ "frame": {
+ "x": 47,
+ "y": 269,
+ "w": 48,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 48,
+ "h": 43
+ },
+ "frame": {
+ "x": 218,
+ "y": 227,
+ "w": 48,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 48,
+ "h": 43
+ },
+ "frame": {
+ "x": 218,
+ "y": 227,
+ "w": 48,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 46,
+ "h": 44
+ },
+ "frame": {
+ "x": 266,
+ "y": 181,
+ "w": 46,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 46,
+ "h": 44
+ },
+ "frame": {
+ "x": 266,
+ "y": 181,
+ "w": 46,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 46,
+ "h": 44
+ },
+ "frame": {
+ "x": 266,
+ "y": 225,
+ "w": 46,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 46,
+ "h": 44
+ },
+ "frame": {
+ "x": 266,
+ "y": 225,
+ "w": 46,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 47,
+ "h": 43
+ },
+ "frame": {
+ "x": 266,
+ "y": 269,
+ "w": 47,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 47,
+ "h": 43
+ },
+ "frame": {
+ "x": 266,
+ "y": 269,
+ "w": 47,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 45,
+ "h": 44
+ },
+ "frame": {
+ "x": 175,
+ "y": 270,
+ "w": 45,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 45,
+ "h": 44
+ },
+ "frame": {
+ "x": 175,
+ "y": 270,
+ "w": 45,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 45,
+ "h": 44
+ },
+ "frame": {
+ "x": 220,
+ "y": 270,
+ "w": 45,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 45,
+ "h": 44
+ },
+ "frame": {
+ "x": 220,
+ "y": 270,
+ "w": 45,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 45,
+ "h": 44
+ },
+ "frame": {
+ "x": 95,
+ "y": 271,
+ "w": 45,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 45,
+ "h": 44
+ },
+ "frame": {
+ "x": 95,
+ "y": 271,
+ "w": 45,
+ "h": 44
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:239dc9087257cf612b8033daa61c26f6:0a7b6d5d19d801ba0223fe8a8ce12706:d7d9e845c71962a58076b5efe962284e$"
+ }
+}
diff --git a/public/images/pokemon/shiny/25-partner.png b/public/images/pokemon/shiny/25-partner.png
new file mode 100644
index 00000000000..0e961ba8338
Binary files /dev/null and b/public/images/pokemon/shiny/25-partner.png differ
diff --git a/public/images/pokemon/shiny/357.png b/public/images/pokemon/shiny/357.png
index 163b7332f48..ca74e4b466c 100644
Binary files a/public/images/pokemon/shiny/357.png and b/public/images/pokemon/shiny/357.png differ
diff --git a/public/images/pokemon/shiny/431.json b/public/images/pokemon/shiny/431.json
index cd49a96600d..027f15263b8 100644
--- a/public/images/pokemon/shiny/431.json
+++ b/public/images/pokemon/shiny/431.json
@@ -4,1206 +4,51 @@
"image": "431.png",
"format": "RGBA8888",
"size": {
- "w": 428,
- "h": 428
+ "w": 417,
+ "h": 417
},
"scale": 1,
"frames": [
{
- "filename": "0011.png",
+ "filename": "0072.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
- "y": 7,
- "w": 54,
- "h": 48
+ "y": 10,
+ "w": 72,
+ "h": 57
},
"frame": {
- "x": 0,
- "y": 0,
- "w": 54,
- "h": 48
- }
- },
- {
- "filename": "0055.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 7,
- "w": 54,
- "h": 48
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 54,
- "h": 48
- }
- },
- {
- "filename": "0012.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 7,
- "w": 54,
- "h": 48
- },
- "frame": {
- "x": 54,
- "y": 0,
- "w": 54,
- "h": 48
- }
- },
- {
- "filename": "0056.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 7,
- "w": 54,
- "h": 48
- },
- "frame": {
- "x": 54,
- "y": 0,
- "w": 54,
- "h": 48
- }
- },
- {
- "filename": "0033.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 7,
- "w": 54,
- "h": 48
- },
- "frame": {
- "x": 108,
- "y": 0,
- "w": 54,
- "h": 48
- }
- },
- {
- "filename": "0077.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 7,
- "w": 54,
- "h": 48
- },
- "frame": {
- "x": 108,
- "y": 0,
- "w": 54,
- "h": 48
- }
- },
- {
- "filename": "0034.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 7,
- "w": 54,
- "h": 48
- },
- "frame": {
- "x": 162,
- "y": 0,
- "w": 54,
- "h": 48
- }
- },
- {
- "filename": "0078.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 7,
- "w": 54,
- "h": 48
- },
- "frame": {
- "x": 162,
- "y": 0,
- "w": 54,
- "h": 48
- }
- },
- {
- "filename": "0009.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 55,
- "h": 50
- },
- "frame": {
- "x": 216,
- "y": 0,
- "w": 55,
- "h": 50
- }
- },
- {
- "filename": "0053.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 55,
- "h": 50
- },
- "frame": {
- "x": 216,
- "y": 0,
- "w": 55,
- "h": 50
- }
- },
- {
- "filename": "0010.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 55,
- "h": 50
- },
- "frame": {
- "x": 271,
- "y": 0,
- "w": 55,
- "h": 50
- }
- },
- {
- "filename": "0054.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 55,
- "h": 50
- },
- "frame": {
- "x": 271,
- "y": 0,
- "w": 55,
- "h": 50
- }
- },
- {
- "filename": "0013.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 55,
- "h": 50
- },
- "frame": {
- "x": 326,
- "y": 0,
- "w": 55,
- "h": 50
- }
- },
- {
- "filename": "0057.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 55,
- "h": 50
- },
- "frame": {
- "x": 326,
- "y": 0,
- "w": 55,
- "h": 50
- }
- },
- {
- "filename": "0103.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 4,
- "w": 46,
- "h": 51
- },
- "frame": {
- "x": 381,
- "y": 0,
- "w": 46,
- "h": 51
- }
- },
- {
- "filename": "0104.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 4,
- "w": 46,
- "h": 51
- },
- "frame": {
- "x": 381,
- "y": 0,
- "w": 46,
- "h": 51
- }
- },
- {
- "filename": "0014.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 55,
- "h": 50
- },
- "frame": {
- "x": 0,
- "y": 48,
- "w": 55,
- "h": 50
- }
- },
- {
- "filename": "0058.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 55,
- "h": 50
- },
- "frame": {
- "x": 0,
- "y": 48,
- "w": 55,
- "h": 50
- }
- },
- {
- "filename": "0031.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 55,
- "h": 50
- },
- "frame": {
- "x": 55,
- "y": 48,
- "w": 55,
- "h": 50
- }
- },
- {
- "filename": "0075.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 55,
- "h": 50
- },
- "frame": {
- "x": 55,
- "y": 48,
- "w": 55,
- "h": 50
- }
- },
- {
- "filename": "0032.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 55,
- "h": 50
- },
- "frame": {
- "x": 110,
- "y": 48,
- "w": 55,
- "h": 50
- }
- },
- {
- "filename": "0076.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 55,
- "h": 50
- },
- "frame": {
- "x": 110,
- "y": 48,
- "w": 55,
- "h": 50
- }
- },
- {
- "filename": "0035.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 55,
- "h": 50
- },
- "frame": {
- "x": 165,
- "y": 50,
- "w": 55,
- "h": 50
- }
- },
- {
- "filename": "0079.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 55,
- "h": 50
- },
- "frame": {
- "x": 165,
- "y": 50,
- "w": 55,
- "h": 50
- }
- },
- {
- "filename": "0036.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 55,
- "h": 50
- },
- "frame": {
- "x": 220,
- "y": 50,
- "w": 55,
- "h": 50
- }
- },
- {
- "filename": "0080.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 5,
- "w": 55,
- "h": 50
- },
- "frame": {
- "x": 220,
- "y": 50,
- "w": 55,
- "h": 50
- }
- },
- {
- "filename": "0007.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 55,
- "h": 52
- },
- "frame": {
- "x": 275,
- "y": 50,
- "w": 55,
- "h": 52
- }
- },
- {
- "filename": "0051.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 55,
- "h": 52
- },
- "frame": {
- "x": 275,
- "y": 50,
- "w": 55,
- "h": 52
- }
- },
- {
- "filename": "0125.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 51,
- "h": 52
- },
- "frame": {
- "x": 330,
- "y": 50,
- "w": 51,
- "h": 52
- }
- },
- {
- "filename": "0126.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 51,
- "h": 52
- },
- "frame": {
- "x": 330,
- "y": 50,
- "w": 51,
- "h": 52
- }
- },
- {
- "filename": "0008.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 55,
- "h": 52
- },
- "frame": {
- "x": 0,
- "y": 98,
- "w": 55,
- "h": 52
- }
- },
- {
- "filename": "0052.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 55,
- "h": 52
- },
- "frame": {
- "x": 0,
- "y": 98,
- "w": 55,
- "h": 52
- }
- },
- {
- "filename": "0015.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 55,
- "h": 52
- },
- "frame": {
- "x": 55,
- "y": 98,
- "w": 55,
- "h": 52
- }
- },
- {
- "filename": "0059.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 55,
- "h": 52
- },
- "frame": {
- "x": 55,
- "y": 98,
- "w": 55,
- "h": 52
- }
- },
- {
- "filename": "0016.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 55,
- "h": 52
- },
- "frame": {
- "x": 110,
- "y": 98,
- "w": 55,
- "h": 52
- }
- },
- {
- "filename": "0060.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 55,
- "h": 52
- },
- "frame": {
- "x": 110,
- "y": 98,
- "w": 55,
- "h": 52
- }
- },
- {
- "filename": "0029.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 55,
- "h": 52
- },
- "frame": {
- "x": 165,
- "y": 100,
- "w": 55,
- "h": 52
- }
- },
- {
- "filename": "0073.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 55,
- "h": 52
- },
- "frame": {
- "x": 165,
- "y": 100,
- "w": 55,
- "h": 52
- }
- },
- {
- "filename": "0030.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 55,
- "h": 52
- },
- "frame": {
- "x": 220,
- "y": 100,
- "w": 55,
- "h": 52
- }
- },
- {
- "filename": "0074.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 55,
- "h": 52
- },
- "frame": {
- "x": 220,
- "y": 100,
- "w": 55,
- "h": 52
- }
- },
- {
- "filename": "0037.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 55,
- "h": 52
- },
- "frame": {
- "x": 275,
- "y": 102,
- "w": 55,
- "h": 52
- }
- },
- {
- "filename": "0081.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 55,
- "h": 52
- },
- "frame": {
- "x": 275,
- "y": 102,
- "w": 55,
- "h": 52
- }
- },
- {
- "filename": "0038.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 55,
- "h": 52
- },
- "frame": {
- "x": 330,
- "y": 102,
- "w": 55,
- "h": 52
- }
- },
- {
- "filename": "0082.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 3,
- "w": 55,
- "h": 52
- },
- "frame": {
- "x": 330,
- "y": 102,
- "w": 55,
- "h": 52
- }
- },
- {
- "filename": "0127.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 53
- },
- "frame": {
- "x": 0,
- "y": 150,
- "w": 53,
- "h": 53
- }
- },
- {
- "filename": "0128.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 53,
- "h": 53
- },
- "frame": {
- "x": 0,
- "y": 150,
- "w": 53,
- "h": 53
- }
- },
- {
- "filename": "0005.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
+ "x": 1,
"y": 1,
- "w": 56,
- "h": 54
- },
- "frame": {
- "x": 53,
- "y": 150,
- "w": 56,
- "h": 54
+ "w": 72,
+ "h": 57
}
},
{
- "filename": "0049.png",
+ "filename": "0070.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
- "y": 1,
- "w": 56,
- "h": 54
+ "y": 6,
+ "w": 66,
+ "h": 61
},
"frame": {
- "x": 53,
- "y": 150,
- "w": 56,
- "h": 54
- }
- },
- {
- "filename": "0006.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 56,
- "h": 54
- },
- "frame": {
- "x": 109,
- "y": 150,
- "w": 56,
- "h": 54
- }
- },
- {
- "filename": "0050.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 56,
- "h": 54
- },
- "frame": {
- "x": 109,
- "y": 150,
- "w": 56,
- "h": 54
- }
- },
- {
- "filename": "0017.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 56,
- "h": 54
- },
- "frame": {
- "x": 165,
- "y": 152,
- "w": 56,
- "h": 54
- }
- },
- {
- "filename": "0061.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 56,
- "h": 54
- },
- "frame": {
- "x": 165,
- "y": 152,
- "w": 56,
- "h": 54
- }
- },
- {
- "filename": "0105.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 48,
- "h": 54
- },
- "frame": {
- "x": 221,
- "y": 152,
- "w": 48,
- "h": 54
- }
- },
- {
- "filename": "0106.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 48,
- "h": 54
- },
- "frame": {
- "x": 221,
- "y": 152,
- "w": 48,
- "h": 54
- }
- },
- {
- "filename": "0018.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 56,
- "h": 54
- },
- "frame": {
- "x": 269,
- "y": 154,
- "w": 56,
- "h": 54
- }
- },
- {
- "filename": "0062.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 56,
- "h": 54
- },
- "frame": {
- "x": 269,
- "y": 154,
- "w": 56,
- "h": 54
- }
- },
- {
- "filename": "0027.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 56,
- "h": 54
- },
- "frame": {
- "x": 325,
- "y": 154,
- "w": 56,
- "h": 54
+ "x": 1,
+ "y": 60,
+ "w": 66,
+ "h": 61
}
},
{
@@ -1212,229 +57,229 @@
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
- "y": 1,
- "w": 56,
- "h": 54
+ "y": 6,
+ "w": 66,
+ "h": 61
},
"frame": {
- "x": 325,
- "y": 154,
- "w": 56,
- "h": 54
+ "x": 1,
+ "y": 60,
+ "w": 66,
+ "h": 61
}
},
{
- "filename": "0028.png",
+ "filename": "0073.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
- "y": 1,
- "w": 56,
- "h": 54
+ "y": 5,
+ "w": 63,
+ "h": 62
},
"frame": {
- "x": 0,
- "y": 204,
- "w": 56,
- "h": 54
+ "x": 1,
+ "y": 123,
+ "w": 63,
+ "h": 62
}
},
{
- "filename": "0072.png",
+ "filename": "0074.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
- "y": 1,
- "w": 56,
- "h": 54
+ "y": 5,
+ "w": 63,
+ "h": 62
},
"frame": {
- "x": 0,
- "y": 204,
- "w": 56,
- "h": 54
+ "x": 1,
+ "y": 123,
+ "w": 63,
+ "h": 62
}
},
{
- "filename": "0039.png",
+ "filename": "0088.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 56,
- "h": 54
- },
- "frame": {
- "x": 56,
- "y": 204,
- "w": 56,
- "h": 54
- }
- },
- {
- "filename": "0083.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 56,
- "h": 54
- },
- "frame": {
- "x": 56,
- "y": 204,
- "w": 56,
- "h": 54
- }
- },
- {
- "filename": "0101.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
"y": 0,
- "w": 48,
- "h": 55
+ "w": 58,
+ "h": 67
},
"frame": {
- "x": 112,
- "y": 204,
- "w": 48,
- "h": 55
+ "x": 1,
+ "y": 187,
+ "w": 58,
+ "h": 67
}
},
{
- "filename": "0102.png",
+ "filename": "0089.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
"y": 0,
- "w": 48,
- "h": 55
+ "w": 58,
+ "h": 67
},
"frame": {
- "x": 112,
- "y": 204,
- "w": 48,
- "h": 55
+ "x": 1,
+ "y": 187,
+ "w": 58,
+ "h": 67
}
},
{
- "filename": "0040.png",
+ "filename": "0087.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
+ "y": 2,
+ "w": 58,
+ "h": 65
+ },
+ "frame": {
+ "x": 1,
+ "y": 256,
+ "w": 58,
+ "h": 65
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 55,
+ "h": 65
+ },
+ "frame": {
+ "x": 1,
+ "y": 323,
+ "w": 55,
+ "h": 65
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 62,
+ "h": 61
+ },
+ "frame": {
+ "x": 75,
"y": 1,
- "w": 56,
- "h": 54
- },
- "frame": {
- "x": 160,
- "y": 206,
- "w": 56,
- "h": 54
+ "w": 62,
+ "h": 61
}
},
{
- "filename": "0084.png",
+ "filename": "0085.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
+ "y": 5,
+ "w": 57,
+ "h": 62
+ },
+ "frame": {
+ "x": 139,
"y": 1,
- "w": 56,
- "h": 54
- },
- "frame": {
- "x": 160,
- "y": 206,
- "w": 56,
- "h": 54
+ "w": 57,
+ "h": 62
}
},
{
- "filename": "0107.png",
+ "filename": "0086.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
- "y": 0,
- "w": 51,
- "h": 55
+ "y": 5,
+ "w": 57,
+ "h": 62
},
"frame": {
- "x": 216,
- "y": 206,
- "w": 51,
- "h": 55
+ "x": 139,
+ "y": 1,
+ "w": 57,
+ "h": 62
}
},
{
- "filename": "0108.png",
+ "filename": "0075.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
- "y": 0,
- "w": 51,
- "h": 55
+ "y": 5,
+ "w": 54,
+ "h": 62
},
"frame": {
- "x": 216,
- "y": 206,
- "w": 51,
- "h": 55
+ "x": 198,
+ "y": 1,
+ "w": 54,
+ "h": 62
}
},
{
@@ -1443,19 +288,1006 @@
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
- "y": 0,
+ "y": 8,
"w": 56,
- "h": 55
+ "h": 59
},
"frame": {
- "x": 267,
- "y": 208,
+ "x": 254,
+ "y": 1,
"w": 56,
- "h": 55
+ "h": 59
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 254,
+ "y": 1,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 254,
+ "y": 1,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 254,
+ "y": 1,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 254,
+ "y": 1,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 254,
+ "y": 1,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 254,
+ "y": 1,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 254,
+ "y": 1,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 254,
+ "y": 1,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 254,
+ "y": 1,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 254,
+ "y": 1,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 254,
+ "y": 1,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 254,
+ "y": 1,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 312,
+ "y": 1,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 312,
+ "y": 1,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 15,
+ "w": 46,
+ "h": 52
+ },
+ "frame": {
+ "x": 370,
+ "y": 1,
+ "w": 46,
+ "h": 52
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 69,
+ "y": 64,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 69,
+ "y": 64,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 66,
+ "y": 125,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 66,
+ "y": 125,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 127,
+ "y": 65,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 127,
+ "y": 65,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 185,
+ "y": 65,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 185,
+ "y": 65,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 124,
+ "y": 126,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 124,
+ "y": 126,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 124,
+ "y": 126,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 124,
+ "y": 126,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 182,
+ "y": 126,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 182,
+ "y": 126,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 182,
+ "y": 126,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 5,
+ "w": 53,
+ "h": 62
+ },
+ "frame": {
+ "x": 243,
+ "y": 65,
+ "w": 53,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 5,
+ "w": 53,
+ "h": 62
+ },
+ "frame": {
+ "x": 243,
+ "y": 65,
+ "w": 53,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 56,
+ "h": 59
+ },
+ "frame": {
+ "x": 298,
+ "y": 62,
+ "w": 56,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 56,
+ "h": 57
+ },
+ "frame": {
+ "x": 240,
+ "y": 129,
+ "w": 56,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 56,
+ "h": 57
+ },
+ "frame": {
+ "x": 240,
+ "y": 129,
+ "w": 56,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 56,
+ "h": 57
+ },
+ "frame": {
+ "x": 298,
+ "y": 123,
+ "w": 56,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 56,
+ "h": 57
+ },
+ "frame": {
+ "x": 298,
+ "y": 123,
+ "w": 56,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 9,
+ "w": 48,
+ "h": 58
+ },
+ "frame": {
+ "x": 356,
+ "y": 62,
+ "w": 48,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 9,
+ "w": 48,
+ "h": 58
+ },
+ "frame": {
+ "x": 356,
+ "y": 62,
+ "w": 48,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 9,
+ "w": 51,
+ "h": 58
+ },
+ "frame": {
+ "x": 356,
+ "y": 122,
+ "w": 51,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 9,
+ "w": 52,
+ "h": 58
+ },
+ "frame": {
+ "x": 61,
+ "y": 187,
+ "w": 52,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 9,
+ "w": 55,
+ "h": 58
+ },
+ "frame": {
+ "x": 61,
+ "y": 247,
+ "w": 55,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 9,
+ "w": 55,
+ "h": 58
+ },
+ "frame": {
+ "x": 61,
+ "y": 247,
+ "w": 55,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 56,
+ "h": 57
+ },
+ "frame": {
+ "x": 115,
+ "y": 187,
+ "w": 56,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 56,
+ "h": 57
+ },
+ "frame": {
+ "x": 115,
+ "y": 187,
+ "w": 56,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 56,
+ "h": 57
+ },
+ "frame": {
+ "x": 173,
+ "y": 187,
+ "w": 56,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 56,
+ "h": 57
+ },
+ "frame": {
+ "x": 173,
+ "y": 187,
+ "w": 56,
+ "h": 57
}
},
{
@@ -1464,101 +1296,248 @@
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
- "y": 0,
+ "y": 10,
+ "w": 56,
+ "h": 57
+ },
+ "frame": {
+ "x": 118,
+ "y": 246,
+ "w": 56,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 56,
+ "h": 57
+ },
+ "frame": {
+ "x": 118,
+ "y": 246,
+ "w": 56,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 56,
+ "h": 57
+ },
+ "frame": {
+ "x": 176,
+ "y": 246,
+ "w": 56,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 56,
+ "h": 57
+ },
+ "frame": {
+ "x": 176,
+ "y": 246,
+ "w": 56,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 11,
+ "w": 53,
+ "h": 56
+ },
+ "frame": {
+ "x": 231,
+ "y": 188,
+ "w": 53,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
"w": 56,
"h": 55
},
"frame": {
- "x": 267,
- "y": 208,
+ "x": 234,
+ "y": 246,
"w": 56,
"h": 55
}
},
{
- "filename": "0022.png",
+ "filename": "0039.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
- "y": 0,
+ "y": 12,
"w": 56,
"h": 55
},
"frame": {
- "x": 267,
- "y": 208,
+ "x": 234,
+ "y": 246,
"w": 56,
"h": 55
}
},
{
- "filename": "0023.png",
+ "filename": "0007.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
- "y": 0,
- "w": 56,
- "h": 55
+ "y": 14,
+ "w": 55,
+ "h": 53
},
"frame": {
- "x": 267,
- "y": 208,
- "w": 56,
- "h": 55
+ "x": 61,
+ "y": 307,
+ "w": 55,
+ "h": 53
}
},
{
- "filename": "0043.png",
+ "filename": "0040.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
- "y": 0,
- "w": 56,
- "h": 55
+ "y": 14,
+ "w": 55,
+ "h": 53
},
"frame": {
- "x": 267,
- "y": 208,
- "w": 56,
- "h": 55
+ "x": 61,
+ "y": 307,
+ "w": 55,
+ "h": 53
}
},
{
- "filename": "0044.png",
+ "filename": "0094.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
- "y": 0,
+ "y": 13,
+ "w": 51,
+ "h": 54
+ },
+ "frame": {
+ "x": 58,
+ "y": 362,
+ "w": 51,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 13,
+ "w": 51,
+ "h": 54
+ },
+ "frame": {
+ "x": 58,
+ "y": 362,
+ "w": 51,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
"w": 56,
"h": 55
},
"frame": {
- "x": 267,
- "y": 208,
+ "x": 118,
+ "y": 305,
"w": 56,
"h": 55
}
@@ -1569,502 +1548,124 @@
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
- "y": 0,
+ "y": 12,
"w": 56,
"h": 55
},
"frame": {
- "x": 267,
- "y": 208,
+ "x": 118,
+ "y": 305,
"w": 56,
"h": 55
}
},
{
- "filename": "0065.png",
+ "filename": "0022.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
- "y": 0,
+ "y": 12,
"w": 56,
"h": 55
},
"frame": {
- "x": 267,
- "y": 208,
+ "x": 176,
+ "y": 305,
"w": 56,
"h": 55
}
},
{
- "filename": "0066.png",
+ "filename": "0055.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
- "y": 0,
+ "y": 12,
"w": 56,
"h": 55
},
"frame": {
- "x": 267,
- "y": 208,
+ "x": 176,
+ "y": 305,
"w": 56,
"h": 55
}
},
{
- "filename": "0067.png",
+ "filename": "0023.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
- "y": 0,
+ "y": 12,
"w": 56,
"h": 55
},
"frame": {
- "x": 267,
- "y": 208,
+ "x": 234,
+ "y": 303,
"w": 56,
"h": 55
}
},
{
- "filename": "0087.png",
+ "filename": "0056.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
- "y": 0,
+ "y": 12,
"w": 56,
"h": 55
},
"frame": {
- "x": 267,
- "y": 208,
+ "x": 234,
+ "y": 303,
"w": 56,
"h": 55
}
},
{
- "filename": "0088.png",
+ "filename": "0008.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
- "y": 0,
- "w": 56,
- "h": 55
+ "y": 14,
+ "w": 55,
+ "h": 53
},
"frame": {
- "x": 267,
- "y": 208,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0089.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 267,
- "y": 208,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0090.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 267,
- "y": 208,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 323,
- "y": 208,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0024.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 323,
- "y": 208,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0046.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 323,
- "y": 208,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0068.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 323,
- "y": 208,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 0,
- "y": 258,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0047.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 0,
- "y": 258,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 56,
- "y": 258,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0048.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 56,
- "y": 258,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0019.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 112,
- "y": 260,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0020.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 112,
- "y": 260,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0063.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 112,
- "y": 260,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0064.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 112,
- "y": 260,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0025.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 168,
- "y": 261,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0069.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 168,
- "y": 261,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0026.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 224,
- "y": 263,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0070.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 224,
- "y": 263,
- "w": 56,
- "h": 55
+ "x": 111,
+ "y": 362,
+ "w": 55,
+ "h": 53
}
},
{
@@ -2073,711 +1674,438 @@
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
- "y": 0,
+ "y": 14,
+ "w": 55,
+ "h": 53
+ },
+ "frame": {
+ "x": 111,
+ "y": 362,
+ "w": 55,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 55,
+ "h": 53
+ },
+ "frame": {
+ "x": 168,
+ "y": 362,
+ "w": 55,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 55,
+ "h": 53
+ },
+ "frame": {
+ "x": 168,
+ "y": 362,
+ "w": 55,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
"w": 56,
"h": 55
},
"frame": {
- "x": 280,
- "y": 263,
+ "x": 286,
+ "y": 188,
"w": 56,
"h": 55
}
},
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 56,
+ "h": 55
+ },
+ "frame": {
+ "x": 286,
+ "y": 188,
+ "w": 56,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 56,
+ "h": 55
+ },
+ "frame": {
+ "x": 344,
+ "y": 182,
+ "w": 56,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 56,
+ "h": 55
+ },
+ "frame": {
+ "x": 344,
+ "y": 182,
+ "w": 56,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 55,
+ "h": 53
+ },
+ "frame": {
+ "x": 292,
+ "y": 245,
+ "w": 55,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 55,
+ "h": 53
+ },
+ "frame": {
+ "x": 292,
+ "y": 245,
+ "w": 55,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 55,
+ "h": 53
+ },
+ "frame": {
+ "x": 292,
+ "y": 300,
+ "w": 55,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 55,
+ "h": 53
+ },
+ "frame": {
+ "x": 292,
+ "y": 300,
+ "w": 55,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 55,
+ "h": 53
+ },
+ "frame": {
+ "x": 349,
+ "y": 239,
+ "w": 55,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 55,
+ "h": 53
+ },
+ "frame": {
+ "x": 349,
+ "y": 239,
+ "w": 55,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 16,
+ "w": 54,
+ "h": 51
+ },
+ "frame": {
+ "x": 349,
+ "y": 294,
+ "w": 54,
+ "h": 51
+ }
+ },
{
"filename": "0042.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
- "y": 0,
- "w": 56,
+ "y": 16,
+ "w": 54,
+ "h": 51
+ },
+ "frame": {
+ "x": 349,
+ "y": 294,
+ "w": 54,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 16,
+ "w": 53,
+ "h": 51
+ },
+ "frame": {
+ "x": 349,
+ "y": 347,
+ "w": 53,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 16,
+ "w": 53,
+ "h": 51
+ },
+ "frame": {
+ "x": 349,
+ "y": 347,
+ "w": 53,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 16,
+ "w": 53,
+ "h": 51
+ },
+ "frame": {
+ "x": 225,
+ "y": 362,
+ "w": 53,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 16,
+ "w": 53,
+ "h": 51
+ },
+ "frame": {
+ "x": 225,
+ "y": 362,
+ "w": 53,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 72,
+ "h": 67
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 48,
"h": 55
},
"frame": {
"x": 280,
- "y": 263,
- "w": 56,
+ "y": 360,
+ "w": 48,
"h": 55
}
},
{
- "filename": "0085.png",
+ "filename": "0080.png",
"rotated": false,
"trimmed": true,
"sourceSize": {
"w": 72,
- "h": 55
+ "h": 67
},
"spriteSourceSize": {
"x": 0,
- "y": 0,
- "w": 56,
+ "y": 12,
+ "w": 48,
"h": 55
},
"frame": {
"x": 280,
- "y": 263,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0086.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 280,
- "y": 263,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0091.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 61,
- "h": 55
- },
- "frame": {
- "x": 336,
- "y": 263,
- "w": 61,
- "h": 55
- }
- },
- {
- "filename": "0092.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 61,
- "h": 55
- },
- "frame": {
- "x": 336,
- "y": 263,
- "w": 61,
- "h": 55
- }
- },
- {
- "filename": "0093.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 65,
- "h": 55
- },
- "frame": {
- "x": 0,
- "y": 313,
- "w": 65,
- "h": 55
- }
- },
- {
- "filename": "0094.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 65,
- "h": 55
- },
- "frame": {
- "x": 0,
- "y": 313,
- "w": 65,
- "h": 55
- }
- },
- {
- "filename": "0095.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 72,
- "h": 55
- },
- "frame": {
- "x": 65,
- "y": 315,
- "w": 72,
- "h": 55
- }
- },
- {
- "filename": "0096.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 72,
- "h": 55
- },
- "frame": {
- "x": 65,
- "y": 315,
- "w": 72,
- "h": 55
- }
- },
- {
- "filename": "0097.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 62,
- "h": 55
- },
- "frame": {
- "x": 137,
- "y": 316,
- "w": 62,
- "h": 55
- }
- },
- {
- "filename": "0098.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 62,
- "h": 55
- },
- "frame": {
- "x": 137,
- "y": 316,
- "w": 62,
- "h": 55
- }
- },
- {
- "filename": "0099.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 54,
- "h": 55
- },
- "frame": {
- "x": 199,
- "y": 318,
- "w": 54,
- "h": 55
- }
- },
- {
- "filename": "0100.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 54,
- "h": 55
- },
- "frame": {
- "x": 199,
- "y": 318,
- "w": 54,
- "h": 55
- }
- },
- {
- "filename": "0109.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 253,
- "y": 318,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0110.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 253,
- "y": 318,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0111.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 253,
- "y": 318,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0112.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 253,
- "y": 318,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0113.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 57,
- "h": 55
- },
- "frame": {
- "x": 309,
- "y": 318,
- "w": 57,
- "h": 55
- }
- },
- {
- "filename": "0114.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 57,
- "h": 55
- },
- "frame": {
- "x": 309,
- "y": 318,
- "w": 57,
- "h": 55
- }
- },
- {
- "filename": "0115.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 58,
- "h": 55
- },
- "frame": {
- "x": 366,
- "y": 318,
- "w": 58,
- "h": 55
- }
- },
- {
- "filename": "0116.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 58,
- "h": 55
- },
- "frame": {
- "x": 366,
- "y": 318,
- "w": 58,
- "h": 55
- }
- },
- {
- "filename": "0117.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 58,
- "h": 55
- },
- "frame": {
- "x": 0,
- "y": 368,
- "w": 58,
- "h": 55
- }
- },
- {
- "filename": "0118.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 58,
- "h": 55
- },
- "frame": {
- "x": 0,
- "y": 368,
- "w": 58,
- "h": 55
- }
- },
- {
- "filename": "0119.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 58,
- "y": 370,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0120.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 58,
- "y": 370,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0121.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 54,
- "h": 55
- },
- "frame": {
- "x": 114,
- "y": 371,
- "w": 54,
- "h": 55
- }
- },
- {
- "filename": "0122.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 54,
- "h": 55
- },
- "frame": {
- "x": 114,
- "y": 371,
- "w": 54,
- "h": 55
- }
- },
- {
- "filename": "0123.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 53,
- "h": 55
- },
- "frame": {
- "x": 168,
- "y": 373,
- "w": 53,
- "h": 55
- }
- },
- {
- "filename": "0124.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 53,
- "h": 55
- },
- "frame": {
- "x": 168,
- "y": 373,
- "w": 53,
- "h": 55
- }
- },
- {
- "filename": "0129.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 55,
- "h": 55
- },
- "frame": {
- "x": 221,
- "y": 373,
- "w": 55,
- "h": 55
- }
- },
- {
- "filename": "0130.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 55,
- "h": 55
- },
- "frame": {
- "x": 221,
- "y": 373,
- "w": 55,
- "h": 55
- }
- },
- {
- "filename": "0131.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 276,
- "y": 373,
- "w": 56,
- "h": 55
- }
- },
- {
- "filename": "0132.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 72,
- "h": 55
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 56,
- "h": 55
- },
- "frame": {
- "x": 276,
- "y": 373,
- "w": 56,
+ "y": 360,
+ "w": 48,
"h": 55
}
}
@@ -2787,6 +2115,6 @@
"meta": {
"app": "https://www.codeandweb.com/texturepacker",
"version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:9d1aec9d42e64e77286a76abe5dbf02d:e582b0881efa16424743e0ecc7e8a9e9:7586c0ba0fc3c95eb3d51f575fb44867$"
+ "smartupdate": "$TexturePacker:SmartUpdate:6ae8e0153c224f59d2b8e14aafe30b2d:75902c7192d93b439a34817a7b78859e:7586c0ba0fc3c95eb3d51f575fb44867$"
}
}
diff --git a/public/images/pokemon/shiny/431.png b/public/images/pokemon/shiny/431.png
index 6eae96da2f2..9ada8fdb6f1 100644
Binary files a/public/images/pokemon/shiny/431.png and b/public/images/pokemon/shiny/431.png differ
diff --git a/public/images/pokemon/shiny/569-gigantamax.png b/public/images/pokemon/shiny/569-gigantamax.png
index e4f12e1dd74..f0a0bc5536b 100644
Binary files a/public/images/pokemon/shiny/569-gigantamax.png and b/public/images/pokemon/shiny/569-gigantamax.png differ
diff --git a/public/images/pokemon/shiny/772.png b/public/images/pokemon/shiny/772.png
index 95943f98f20..f2038ddd4fa 100644
Binary files a/public/images/pokemon/shiny/772.png and b/public/images/pokemon/shiny/772.png differ
diff --git a/public/images/pokemon/shiny/773-bug.png b/public/images/pokemon/shiny/773-bug.png
index f8c29109e78..65bd8cdb3b9 100644
Binary files a/public/images/pokemon/shiny/773-bug.png and b/public/images/pokemon/shiny/773-bug.png differ
diff --git a/public/images/pokemon/shiny/773-dark.png b/public/images/pokemon/shiny/773-dark.png
index 499fd60941e..e684ff9be0f 100644
Binary files a/public/images/pokemon/shiny/773-dark.png and b/public/images/pokemon/shiny/773-dark.png differ
diff --git a/public/images/pokemon/shiny/773-dragon.png b/public/images/pokemon/shiny/773-dragon.png
index a10056ebeb1..56775c80ec4 100644
Binary files a/public/images/pokemon/shiny/773-dragon.png and b/public/images/pokemon/shiny/773-dragon.png differ
diff --git a/public/images/pokemon/shiny/773-electric.png b/public/images/pokemon/shiny/773-electric.png
index 81e32b141c6..4e7ed586995 100644
Binary files a/public/images/pokemon/shiny/773-electric.png and b/public/images/pokemon/shiny/773-electric.png differ
diff --git a/public/images/pokemon/shiny/773-fairy.png b/public/images/pokemon/shiny/773-fairy.png
index 427cca57dbc..90597e3a1ec 100644
Binary files a/public/images/pokemon/shiny/773-fairy.png and b/public/images/pokemon/shiny/773-fairy.png differ
diff --git a/public/images/pokemon/shiny/773-fighting.png b/public/images/pokemon/shiny/773-fighting.png
index f439f920c87..a8d013ef69d 100644
Binary files a/public/images/pokemon/shiny/773-fighting.png and b/public/images/pokemon/shiny/773-fighting.png differ
diff --git a/public/images/pokemon/shiny/773-fire.png b/public/images/pokemon/shiny/773-fire.png
index d12f146de09..179eb5d02c7 100644
Binary files a/public/images/pokemon/shiny/773-fire.png and b/public/images/pokemon/shiny/773-fire.png differ
diff --git a/public/images/pokemon/shiny/773-flying.png b/public/images/pokemon/shiny/773-flying.png
index 48313e750df..3da3a83f295 100644
Binary files a/public/images/pokemon/shiny/773-flying.png and b/public/images/pokemon/shiny/773-flying.png differ
diff --git a/public/images/pokemon/shiny/773-ghost.png b/public/images/pokemon/shiny/773-ghost.png
index 192b91110d7..40abbd293e3 100644
Binary files a/public/images/pokemon/shiny/773-ghost.png and b/public/images/pokemon/shiny/773-ghost.png differ
diff --git a/public/images/pokemon/shiny/773-grass.png b/public/images/pokemon/shiny/773-grass.png
index 8bef130b7d1..b73d6757973 100644
Binary files a/public/images/pokemon/shiny/773-grass.png and b/public/images/pokemon/shiny/773-grass.png differ
diff --git a/public/images/pokemon/shiny/773-ground.png b/public/images/pokemon/shiny/773-ground.png
index 6b1c4a7ddd9..4fd067a06c5 100644
Binary files a/public/images/pokemon/shiny/773-ground.png and b/public/images/pokemon/shiny/773-ground.png differ
diff --git a/public/images/pokemon/shiny/773-ice.png b/public/images/pokemon/shiny/773-ice.png
index 54cfac1d758..e01e9ac0249 100644
Binary files a/public/images/pokemon/shiny/773-ice.png and b/public/images/pokemon/shiny/773-ice.png differ
diff --git a/public/images/pokemon/shiny/773-poison.png b/public/images/pokemon/shiny/773-poison.png
index 9153983f911..28b319e0dce 100644
Binary files a/public/images/pokemon/shiny/773-poison.png and b/public/images/pokemon/shiny/773-poison.png differ
diff --git a/public/images/pokemon/shiny/773-psychic.png b/public/images/pokemon/shiny/773-psychic.png
index 0f133ece45d..4a56828c859 100644
Binary files a/public/images/pokemon/shiny/773-psychic.png and b/public/images/pokemon/shiny/773-psychic.png differ
diff --git a/public/images/pokemon/shiny/773-rock.png b/public/images/pokemon/shiny/773-rock.png
index fbdaf50e111..5df759f46dc 100644
Binary files a/public/images/pokemon/shiny/773-rock.png and b/public/images/pokemon/shiny/773-rock.png differ
diff --git a/public/images/pokemon/shiny/773-steel.png b/public/images/pokemon/shiny/773-steel.png
index e9174bbd406..7e7e7518e99 100644
Binary files a/public/images/pokemon/shiny/773-steel.png and b/public/images/pokemon/shiny/773-steel.png differ
diff --git a/public/images/pokemon/shiny/773-water.png b/public/images/pokemon/shiny/773-water.png
index f15bbbc11be..ebcdf8f7ccf 100644
Binary files a/public/images/pokemon/shiny/773-water.png and b/public/images/pokemon/shiny/773-water.png differ
diff --git a/public/images/pokemon/shiny/773.png b/public/images/pokemon/shiny/773.png
index ceebac4f014..3b2b7f9b296 100644
Binary files a/public/images/pokemon/shiny/773.png and b/public/images/pokemon/shiny/773.png differ
diff --git a/public/images/pokemon/shiny/774.json b/public/images/pokemon/shiny/774.json
index 11d07b823e0..c61c1791862 100644
--- a/public/images/pokemon/shiny/774.json
+++ b/public/images/pokemon/shiny/774.json
@@ -1,41 +1,41 @@
-{
- "textures": [
- {
- "image": "774.png",
- "format": "RGBA8888",
- "size": {
- "w": 37,
- "h": 37
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 37,
- "h": 35
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 37,
- "h": 35
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 37,
- "h": 35
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:29265d2eed2689ecb95874383b7e7da7:1339971def468ab6d7c93a72472c7b3d:37281ac0aa1e619ef385b889b64064b7$"
- }
-}
+{
+ "textures": [
+ {
+ "image": "774.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 37,
+ "h": 37
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 37,
+ "h": 37
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 37,
+ "h": 37
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 37,
+ "h": 37
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:566b51540ed595250ead15a4733d98d6:172aa05dcc207383119cd2f2f7977e0e:37281ac0aa1e619ef385b889b64064b7$"
+ }
+}
diff --git a/public/images/pokemon/shiny/774.png b/public/images/pokemon/shiny/774.png
index 5efd0bc8da1..7d9f5a9cb00 100644
Binary files a/public/images/pokemon/shiny/774.png and b/public/images/pokemon/shiny/774.png differ
diff --git a/public/images/pokemon/shiny/777.png b/public/images/pokemon/shiny/777.png
index 5577f34a41e..c8ba24bf3ac 100644
Binary files a/public/images/pokemon/shiny/777.png and b/public/images/pokemon/shiny/777.png differ
diff --git a/public/images/pokemon/shiny/778-disguised.json b/public/images/pokemon/shiny/778-disguised.json
new file mode 100644
index 00000000000..eafdd271342
--- /dev/null
+++ b/public/images/pokemon/shiny/778-disguised.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "778-disguised.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 39,
+ "h": 48
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 39,
+ "h": 48
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 48
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 48
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:2b1493b6de774bb1d71fcd82fbed9dee:c618740f1e2a176625d28f327bcee7f6:92ecadef6e0cb53020b8cd41fbeaf2cd$"
+ }
+}
diff --git a/public/images/pokemon/shiny/778-disguised.png b/public/images/pokemon/shiny/778-disguised.png
new file mode 100644
index 00000000000..941fc6c284e
Binary files /dev/null and b/public/images/pokemon/shiny/778-disguised.png differ
diff --git a/public/images/pokemon/shiny/778.json b/public/images/pokemon/shiny/778.json
deleted file mode 100644
index 0d4975c4ec7..00000000000
--- a/public/images/pokemon/shiny/778.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "textures": [
- {
- "image": "778.png",
- "format": "RGBA8888",
- "size": {
- "w": 48,
- "h": 48
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 39,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 48
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 39,
- "h": 48
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:2b1493b6de774bb1d71fcd82fbed9dee:c618740f1e2a176625d28f327bcee7f6:92ecadef6e0cb53020b8cd41fbeaf2cd$"
- }
-}
diff --git a/public/images/pokemon/shiny/778.png b/public/images/pokemon/shiny/778.png
deleted file mode 100644
index f6c14926a12..00000000000
Binary files a/public/images/pokemon/shiny/778.png and /dev/null differ
diff --git a/public/images/pokemon/shiny/818-gigantamax.png b/public/images/pokemon/shiny/818-gigantamax.png
index 98f1cabeef4..694692964fb 100644
Binary files a/public/images/pokemon/shiny/818-gigantamax.png and b/public/images/pokemon/shiny/818-gigantamax.png differ
diff --git a/public/images/pokemon/shiny/974.png b/public/images/pokemon/shiny/974.png
index 9543c871192..fdb7d238438 100644
Binary files a/public/images/pokemon/shiny/974.png and b/public/images/pokemon/shiny/974.png differ
diff --git a/public/images/pokemon/shiny/975.png b/public/images/pokemon/shiny/975.png
index 31bf085db97..ccf619cc582 100644
Binary files a/public/images/pokemon/shiny/975.png and b/public/images/pokemon/shiny/975.png differ
diff --git a/public/images/pokemon/shiny/female/25-partner.json b/public/images/pokemon/shiny/female/25-partner.json
new file mode 100644
index 00000000000..b08b66a18b1
--- /dev/null
+++ b/public/images/pokemon/shiny/female/25-partner.json
@@ -0,0 +1,2456 @@
+{
+ "textures": [
+ {
+ "image": "25-partner.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 330,
+ "h": 330
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 50,
+ "h": 43
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 50,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 50,
+ "h": 43
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 50,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 51,
+ "h": 43
+ },
+ "frame": {
+ "x": 50,
+ "y": 0,
+ "w": 51,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 51,
+ "h": 43
+ },
+ "frame": {
+ "x": 50,
+ "y": 0,
+ "w": 51,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 49,
+ "h": 43
+ },
+ "frame": {
+ "x": 101,
+ "y": 0,
+ "w": 49,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 49,
+ "h": 43
+ },
+ "frame": {
+ "x": 101,
+ "y": 0,
+ "w": 49,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 50,
+ "h": 43
+ },
+ "frame": {
+ "x": 150,
+ "y": 0,
+ "w": 50,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 50,
+ "h": 43
+ },
+ "frame": {
+ "x": 150,
+ "y": 0,
+ "w": 50,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 49,
+ "h": 43
+ },
+ "frame": {
+ "x": 200,
+ "y": 0,
+ "w": 49,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 49,
+ "h": 43
+ },
+ "frame": {
+ "x": 200,
+ "y": 0,
+ "w": 49,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 49,
+ "h": 43
+ },
+ "frame": {
+ "x": 249,
+ "y": 0,
+ "w": 49,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 49,
+ "h": 43
+ },
+ "frame": {
+ "x": 249,
+ "y": 0,
+ "w": 49,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 50,
+ "h": 43
+ },
+ "frame": {
+ "x": 0,
+ "y": 43,
+ "w": 50,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 50,
+ "h": 43
+ },
+ "frame": {
+ "x": 0,
+ "y": 43,
+ "w": 50,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 51,
+ "h": 43
+ },
+ "frame": {
+ "x": 50,
+ "y": 43,
+ "w": 51,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 51,
+ "h": 43
+ },
+ "frame": {
+ "x": 50,
+ "y": 43,
+ "w": 51,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 48,
+ "h": 43
+ },
+ "frame": {
+ "x": 101,
+ "y": 43,
+ "w": 48,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 48,
+ "h": 43
+ },
+ "frame": {
+ "x": 101,
+ "y": 43,
+ "w": 48,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 49,
+ "h": 43
+ },
+ "frame": {
+ "x": 149,
+ "y": 43,
+ "w": 49,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 49,
+ "h": 43
+ },
+ "frame": {
+ "x": 149,
+ "y": 43,
+ "w": 49,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 48,
+ "h": 44
+ },
+ "frame": {
+ "x": 198,
+ "y": 43,
+ "w": 48,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 48,
+ "h": 44
+ },
+ "frame": {
+ "x": 198,
+ "y": 43,
+ "w": 48,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 50,
+ "h": 44
+ },
+ "frame": {
+ "x": 246,
+ "y": 43,
+ "w": 50,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 50,
+ "h": 44
+ },
+ "frame": {
+ "x": 246,
+ "y": 43,
+ "w": 50,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 48,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 48,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 48,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 48,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 47,
+ "h": 44
+ },
+ "frame": {
+ "x": 48,
+ "y": 86,
+ "w": 47,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 47,
+ "h": 44
+ },
+ "frame": {
+ "x": 48,
+ "y": 86,
+ "w": 47,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 50,
+ "h": 44
+ },
+ "frame": {
+ "x": 95,
+ "y": 86,
+ "w": 50,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 50,
+ "h": 44
+ },
+ "frame": {
+ "x": 95,
+ "y": 86,
+ "w": 50,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 47,
+ "h": 44
+ },
+ "frame": {
+ "x": 145,
+ "y": 86,
+ "w": 47,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 47,
+ "h": 44
+ },
+ "frame": {
+ "x": 145,
+ "y": 86,
+ "w": 47,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 46,
+ "h": 44
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 46,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 46,
+ "h": 44
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 46,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 50,
+ "h": 44
+ },
+ "frame": {
+ "x": 238,
+ "y": 87,
+ "w": 50,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 50,
+ "h": 44
+ },
+ "frame": {
+ "x": 238,
+ "y": 87,
+ "w": 50,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 288,
+ "y": 87,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 288,
+ "y": 87,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 46,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 130,
+ "w": 46,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 46,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 130,
+ "w": 46,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 48,
+ "h": 44
+ },
+ "frame": {
+ "x": 46,
+ "y": 130,
+ "w": 48,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 48,
+ "h": 44
+ },
+ "frame": {
+ "x": 46,
+ "y": 130,
+ "w": 48,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 48,
+ "h": 44
+ },
+ "frame": {
+ "x": 46,
+ "y": 130,
+ "w": 48,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 48,
+ "h": 44
+ },
+ "frame": {
+ "x": 46,
+ "y": 130,
+ "w": 48,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 50,
+ "h": 44
+ },
+ "frame": {
+ "x": 94,
+ "y": 130,
+ "w": 50,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 50,
+ "h": 44
+ },
+ "frame": {
+ "x": 94,
+ "y": 130,
+ "w": 50,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 47,
+ "h": 44
+ },
+ "frame": {
+ "x": 144,
+ "y": 130,
+ "w": 47,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 47,
+ "h": 44
+ },
+ "frame": {
+ "x": 144,
+ "y": 130,
+ "w": 47,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 49,
+ "h": 44
+ },
+ "frame": {
+ "x": 191,
+ "y": 131,
+ "w": 49,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 49,
+ "h": 44
+ },
+ "frame": {
+ "x": 191,
+ "y": 131,
+ "w": 49,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 46,
+ "h": 44
+ },
+ "frame": {
+ "x": 240,
+ "y": 131,
+ "w": 46,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 46,
+ "h": 44
+ },
+ "frame": {
+ "x": 240,
+ "y": 131,
+ "w": 46,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 286,
+ "y": 133,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 286,
+ "y": 133,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 0,
+ "y": 174,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 0,
+ "y": 174,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 44,
+ "y": 174,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 44,
+ "y": 174,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 44,
+ "y": 174,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 44,
+ "y": 174,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 86,
+ "y": 174,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 86,
+ "y": 174,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 129,
+ "y": 174,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 129,
+ "y": 174,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 173,
+ "y": 175,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 173,
+ "y": 175,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 217,
+ "y": 175,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 217,
+ "y": 175,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 260,
+ "y": 179,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 260,
+ "y": 179,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 0,
+ "y": 220,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 0,
+ "y": 220,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 43,
+ "y": 220,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 43,
+ "y": 220,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 85,
+ "y": 220,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 85,
+ "y": 220,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 85,
+ "y": 220,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 85,
+ "y": 220,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 85,
+ "y": 220,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 85,
+ "y": 220,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 85,
+ "y": 220,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 85,
+ "y": 220,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 85,
+ "y": 220,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 85,
+ "y": 220,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 85,
+ "y": 220,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 127,
+ "y": 220,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 127,
+ "y": 220,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 127,
+ "y": 220,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 127,
+ "y": 220,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 171,
+ "y": 221,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 171,
+ "y": 221,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 171,
+ "y": 221,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 171,
+ "y": 221,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 213,
+ "y": 221,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 213,
+ "y": 221,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 256,
+ "y": 225,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 44,
+ "h": 46
+ },
+ "frame": {
+ "x": 256,
+ "y": 225,
+ "w": 44,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 0,
+ "y": 266,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 0,
+ "y": 266,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 43,
+ "y": 266,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 43,
+ "y": 266,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 43,
+ "y": 266,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 43,
+ "y": 266,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 85,
+ "y": 266,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 85,
+ "y": 266,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 85,
+ "y": 266,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 85,
+ "y": 266,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 127,
+ "y": 266,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 43,
+ "h": 46
+ },
+ "frame": {
+ "x": 127,
+ "y": 266,
+ "w": 43,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 47,
+ "h": 46
+ },
+ "frame": {
+ "x": 170,
+ "y": 267,
+ "w": 47,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 47,
+ "h": 46
+ },
+ "frame": {
+ "x": 170,
+ "y": 267,
+ "w": 47,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 46,
+ "h": 46
+ },
+ "frame": {
+ "x": 217,
+ "y": 271,
+ "w": 46,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 46,
+ "h": 46
+ },
+ "frame": {
+ "x": 217,
+ "y": 271,
+ "w": 46,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 46,
+ "h": 46
+ },
+ "frame": {
+ "x": 217,
+ "y": 271,
+ "w": 46,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 263,
+ "y": 271,
+ "w": 42,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 42,
+ "h": 46
+ },
+ "frame": {
+ "x": 263,
+ "y": 271,
+ "w": 42,
+ "h": 46
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:a8eb580b04fb8bb2d490c8d497e097a7:a3da2c0b291ef91b4a6f8e0d1a1dd17f:d7d9e845c71962a58076b5efe962284e$"
+ }
+}
diff --git a/public/images/pokemon/shiny/female/25-partner.png b/public/images/pokemon/shiny/female/25-partner.png
new file mode 100644
index 00000000000..030091ce605
Binary files /dev/null and b/public/images/pokemon/shiny/female/25-partner.png differ
diff --git a/public/images/pokemon/variant/196.json b/public/images/pokemon/variant/196.json
index 02084307b2e..ce41a030de1 100644
--- a/public/images/pokemon/variant/196.json
+++ b/public/images/pokemon/variant/196.json
@@ -3,42 +3,42 @@
"7b4a7b": "204024",
"101010": "101010",
"efbdef": "bddd9e",
- "e6a5d6": "6c9e63",
+ "e7a5d6": "6c9e63",
"b57bb5": "416240",
"314273": "a86a2c",
"4a73b5": "ffb554",
- "c52152": "ffa80e",
+ "c62152": "ffa80e",
"ffffff": "ffffff",
"8c2152": "c54200",
"8463b5": "ffa72a",
- "c5c5c5": "c5c5c5"
+ "c6c6c6": "c5c5c5"
},
"1": {
"7b4a7b": "581747",
"101010": "101010",
"efbdef": "e99eae",
- "e6a5d6": "d1759c",
+ "e7a5d6": "d1759c",
"b57bb5": "953b6c",
"314273": "537fde",
"4a73b5": "90b7f9",
- "c52152": "31d9ff",
+ "c62152": "31d9ff",
"ffffff": "ffffff",
"8c2152": "15a7d2",
"8463b5": "1662bf",
- "c5c5c5": "c5c5c5"
+ "c6c6c6": "c5c5c5"
},
"2": {
"7b4a7b": "9b5250",
"101010": "101010",
"efbdef": "f5f3e1",
- "e6a5d6": "ded0af",
+ "e7a5d6": "ded0af",
"b57bb5": "ce987a",
"314273": "194540",
"4a73b5": "39816d",
- "c52152": "00de92",
+ "c62152": "00de92",
"ffffff": "ffffff",
"8c2152": "00ad7f",
"8463b5": "006b5b",
- "c5c5c5": "c5c5c5"
+ "c6c6c6": "c5c5c5"
}
-}
\ No newline at end of file
+}
diff --git a/public/images/pokemon/variant/199_1.json b/public/images/pokemon/variant/199_1.json
new file mode 100644
index 00000000000..ee643f75f9a
--- /dev/null
+++ b/public/images/pokemon/variant/199_1.json
@@ -0,0 +1,2876 @@
+{
+ "textures": [
+ {
+ "image": "199_1.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 266,
+ "h": 266
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 69
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 69
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 69
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 69
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 69
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 69
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 69
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 69
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 69
+ },
+ "frame": {
+ "x": 0,
+ "y": 69,
+ "w": 46,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 69
+ },
+ "frame": {
+ "x": 0,
+ "y": 69,
+ "w": 46,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 69
+ },
+ "frame": {
+ "x": 0,
+ "y": 69,
+ "w": 46,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 69
+ },
+ "frame": {
+ "x": 0,
+ "y": 69,
+ "w": 46,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 69
+ },
+ "frame": {
+ "x": 0,
+ "y": 69,
+ "w": 46,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 69
+ },
+ "frame": {
+ "x": 0,
+ "y": 69,
+ "w": 46,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 69
+ },
+ "frame": {
+ "x": 0,
+ "y": 69,
+ "w": 46,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 69
+ },
+ "frame": {
+ "x": 0,
+ "y": 69,
+ "w": 46,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 69
+ },
+ "frame": {
+ "x": 46,
+ "y": 0,
+ "w": 46,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 69
+ },
+ "frame": {
+ "x": 46,
+ "y": 0,
+ "w": 46,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 69
+ },
+ "frame": {
+ "x": 46,
+ "y": 0,
+ "w": 46,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 69
+ },
+ "frame": {
+ "x": 46,
+ "y": 0,
+ "w": 46,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 69
+ },
+ "frame": {
+ "x": 46,
+ "y": 0,
+ "w": 46,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 69
+ },
+ "frame": {
+ "x": 46,
+ "y": 0,
+ "w": 46,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0135.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 69
+ },
+ "frame": {
+ "x": 46,
+ "y": 0,
+ "w": 46,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0136.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 69
+ },
+ "frame": {
+ "x": 46,
+ "y": 0,
+ "w": 46,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 46,
+ "h": 68
+ },
+ "frame": {
+ "x": 0,
+ "y": 138,
+ "w": 46,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 46,
+ "h": 68
+ },
+ "frame": {
+ "x": 0,
+ "y": 138,
+ "w": 46,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 46,
+ "h": 68
+ },
+ "frame": {
+ "x": 0,
+ "y": 138,
+ "w": 46,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 46,
+ "h": 68
+ },
+ "frame": {
+ "x": 0,
+ "y": 138,
+ "w": 46,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 46,
+ "h": 68
+ },
+ "frame": {
+ "x": 0,
+ "y": 138,
+ "w": 46,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 46,
+ "h": 68
+ },
+ "frame": {
+ "x": 0,
+ "y": 138,
+ "w": 46,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 46,
+ "h": 68
+ },
+ "frame": {
+ "x": 0,
+ "y": 138,
+ "w": 46,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 46,
+ "h": 68
+ },
+ "frame": {
+ "x": 0,
+ "y": 138,
+ "w": 46,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 46,
+ "h": 68
+ },
+ "frame": {
+ "x": 46,
+ "y": 69,
+ "w": 46,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 46,
+ "h": 68
+ },
+ "frame": {
+ "x": 46,
+ "y": 69,
+ "w": 46,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 46,
+ "h": 68
+ },
+ "frame": {
+ "x": 46,
+ "y": 69,
+ "w": 46,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 46,
+ "h": 68
+ },
+ "frame": {
+ "x": 46,
+ "y": 69,
+ "w": 46,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 46,
+ "h": 68
+ },
+ "frame": {
+ "x": 46,
+ "y": 69,
+ "w": 46,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 46,
+ "h": 68
+ },
+ "frame": {
+ "x": 46,
+ "y": 69,
+ "w": 46,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 46,
+ "h": 68
+ },
+ "frame": {
+ "x": 46,
+ "y": 69,
+ "w": 46,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 46,
+ "h": 68
+ },
+ "frame": {
+ "x": 46,
+ "y": 69,
+ "w": 46,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 45,
+ "h": 69
+ },
+ "frame": {
+ "x": 92,
+ "y": 0,
+ "w": 45,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 45,
+ "h": 69
+ },
+ "frame": {
+ "x": 92,
+ "y": 0,
+ "w": 45,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 45,
+ "h": 69
+ },
+ "frame": {
+ "x": 92,
+ "y": 0,
+ "w": 45,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 45,
+ "h": 69
+ },
+ "frame": {
+ "x": 92,
+ "y": 0,
+ "w": 45,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 45,
+ "h": 69
+ },
+ "frame": {
+ "x": 92,
+ "y": 0,
+ "w": 45,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 45,
+ "h": 69
+ },
+ "frame": {
+ "x": 92,
+ "y": 0,
+ "w": 45,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 45,
+ "h": 69
+ },
+ "frame": {
+ "x": 92,
+ "y": 0,
+ "w": 45,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 45,
+ "h": 69
+ },
+ "frame": {
+ "x": 92,
+ "y": 0,
+ "w": 45,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 45,
+ "h": 69
+ },
+ "frame": {
+ "x": 46,
+ "y": 137,
+ "w": 45,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 45,
+ "h": 69
+ },
+ "frame": {
+ "x": 46,
+ "y": 137,
+ "w": 45,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 45,
+ "h": 69
+ },
+ "frame": {
+ "x": 46,
+ "y": 137,
+ "w": 45,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 45,
+ "h": 69
+ },
+ "frame": {
+ "x": 46,
+ "y": 137,
+ "w": 45,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 45,
+ "h": 69
+ },
+ "frame": {
+ "x": 46,
+ "y": 137,
+ "w": 45,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 45,
+ "h": 69
+ },
+ "frame": {
+ "x": 46,
+ "y": 137,
+ "w": 45,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 45,
+ "h": 69
+ },
+ "frame": {
+ "x": 46,
+ "y": 137,
+ "w": 45,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 45,
+ "h": 69
+ },
+ "frame": {
+ "x": 46,
+ "y": 137,
+ "w": 45,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 47,
+ "h": 66
+ },
+ "frame": {
+ "x": 137,
+ "y": 0,
+ "w": 47,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 47,
+ "h": 66
+ },
+ "frame": {
+ "x": 137,
+ "y": 0,
+ "w": 47,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 47,
+ "h": 66
+ },
+ "frame": {
+ "x": 137,
+ "y": 0,
+ "w": 47,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 47,
+ "h": 66
+ },
+ "frame": {
+ "x": 137,
+ "y": 0,
+ "w": 47,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 47,
+ "h": 66
+ },
+ "frame": {
+ "x": 137,
+ "y": 0,
+ "w": 47,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 47,
+ "h": 66
+ },
+ "frame": {
+ "x": 137,
+ "y": 0,
+ "w": 47,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 47,
+ "h": 66
+ },
+ "frame": {
+ "x": 137,
+ "y": 0,
+ "w": 47,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 47,
+ "h": 66
+ },
+ "frame": {
+ "x": 137,
+ "y": 0,
+ "w": 47,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 47,
+ "h": 66
+ },
+ "frame": {
+ "x": 184,
+ "y": 0,
+ "w": 47,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 47,
+ "h": 66
+ },
+ "frame": {
+ "x": 184,
+ "y": 0,
+ "w": 47,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 47,
+ "h": 66
+ },
+ "frame": {
+ "x": 184,
+ "y": 0,
+ "w": 47,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 47,
+ "h": 66
+ },
+ "frame": {
+ "x": 184,
+ "y": 0,
+ "w": 47,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 47,
+ "h": 66
+ },
+ "frame": {
+ "x": 184,
+ "y": 0,
+ "w": 47,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 47,
+ "h": 66
+ },
+ "frame": {
+ "x": 184,
+ "y": 0,
+ "w": 47,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 47,
+ "h": 66
+ },
+ "frame": {
+ "x": 184,
+ "y": 0,
+ "w": 47,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 47,
+ "h": 66
+ },
+ "frame": {
+ "x": 184,
+ "y": 0,
+ "w": 47,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 46,
+ "h": 67
+ },
+ "frame": {
+ "x": 92,
+ "y": 69,
+ "w": 46,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 46,
+ "h": 67
+ },
+ "frame": {
+ "x": 92,
+ "y": 69,
+ "w": 46,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 46,
+ "h": 67
+ },
+ "frame": {
+ "x": 92,
+ "y": 69,
+ "w": 46,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 46,
+ "h": 67
+ },
+ "frame": {
+ "x": 92,
+ "y": 69,
+ "w": 46,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 46,
+ "h": 67
+ },
+ "frame": {
+ "x": 92,
+ "y": 69,
+ "w": 46,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 46,
+ "h": 67
+ },
+ "frame": {
+ "x": 92,
+ "y": 69,
+ "w": 46,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 46,
+ "h": 67
+ },
+ "frame": {
+ "x": 92,
+ "y": 69,
+ "w": 46,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 46,
+ "h": 67
+ },
+ "frame": {
+ "x": 92,
+ "y": 69,
+ "w": 46,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 47,
+ "h": 66
+ },
+ "frame": {
+ "x": 138,
+ "y": 66,
+ "w": 47,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 47,
+ "h": 66
+ },
+ "frame": {
+ "x": 138,
+ "y": 66,
+ "w": 47,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 47,
+ "h": 66
+ },
+ "frame": {
+ "x": 138,
+ "y": 66,
+ "w": 47,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 47,
+ "h": 66
+ },
+ "frame": {
+ "x": 138,
+ "y": 66,
+ "w": 47,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 47,
+ "h": 66
+ },
+ "frame": {
+ "x": 138,
+ "y": 66,
+ "w": 47,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 47,
+ "h": 66
+ },
+ "frame": {
+ "x": 138,
+ "y": 66,
+ "w": 47,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 47,
+ "h": 66
+ },
+ "frame": {
+ "x": 138,
+ "y": 66,
+ "w": 47,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 47,
+ "h": 66
+ },
+ "frame": {
+ "x": 138,
+ "y": 66,
+ "w": 47,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 45,
+ "h": 66
+ },
+ "frame": {
+ "x": 185,
+ "y": 66,
+ "w": 45,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 45,
+ "h": 66
+ },
+ "frame": {
+ "x": 185,
+ "y": 66,
+ "w": 45,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 45,
+ "h": 66
+ },
+ "frame": {
+ "x": 185,
+ "y": 66,
+ "w": 45,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 45,
+ "h": 66
+ },
+ "frame": {
+ "x": 185,
+ "y": 66,
+ "w": 45,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 45,
+ "h": 66
+ },
+ "frame": {
+ "x": 185,
+ "y": 66,
+ "w": 45,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 45,
+ "h": 66
+ },
+ "frame": {
+ "x": 185,
+ "y": 66,
+ "w": 45,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 45,
+ "h": 66
+ },
+ "frame": {
+ "x": 185,
+ "y": 66,
+ "w": 45,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 45,
+ "h": 66
+ },
+ "frame": {
+ "x": 185,
+ "y": 66,
+ "w": 45,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 43,
+ "h": 69
+ },
+ "frame": {
+ "x": 91,
+ "y": 137,
+ "w": 43,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 43,
+ "h": 69
+ },
+ "frame": {
+ "x": 91,
+ "y": 137,
+ "w": 43,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 43,
+ "h": 69
+ },
+ "frame": {
+ "x": 91,
+ "y": 137,
+ "w": 43,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 43,
+ "h": 69
+ },
+ "frame": {
+ "x": 91,
+ "y": 137,
+ "w": 43,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 43,
+ "h": 69
+ },
+ "frame": {
+ "x": 91,
+ "y": 137,
+ "w": 43,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 43,
+ "h": 69
+ },
+ "frame": {
+ "x": 91,
+ "y": 137,
+ "w": 43,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 43,
+ "h": 69
+ },
+ "frame": {
+ "x": 91,
+ "y": 137,
+ "w": 43,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 43,
+ "h": 69
+ },
+ "frame": {
+ "x": 91,
+ "y": 137,
+ "w": 43,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 43,
+ "h": 69
+ },
+ "frame": {
+ "x": 134,
+ "y": 136,
+ "w": 43,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 43,
+ "h": 69
+ },
+ "frame": {
+ "x": 134,
+ "y": 136,
+ "w": 43,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 43,
+ "h": 69
+ },
+ "frame": {
+ "x": 134,
+ "y": 136,
+ "w": 43,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 43,
+ "h": 69
+ },
+ "frame": {
+ "x": 134,
+ "y": 136,
+ "w": 43,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 43,
+ "h": 69
+ },
+ "frame": {
+ "x": 134,
+ "y": 136,
+ "w": 43,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 43,
+ "h": 69
+ },
+ "frame": {
+ "x": 134,
+ "y": 136,
+ "w": 43,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 43,
+ "h": 69
+ },
+ "frame": {
+ "x": 134,
+ "y": 136,
+ "w": 43,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 43,
+ "h": 69
+ },
+ "frame": {
+ "x": 134,
+ "y": 136,
+ "w": 43,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 44,
+ "h": 69
+ },
+ "frame": {
+ "x": 177,
+ "y": 132,
+ "w": 44,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 44,
+ "h": 69
+ },
+ "frame": {
+ "x": 177,
+ "y": 132,
+ "w": 44,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 44,
+ "h": 69
+ },
+ "frame": {
+ "x": 177,
+ "y": 132,
+ "w": 44,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 44,
+ "h": 69
+ },
+ "frame": {
+ "x": 177,
+ "y": 132,
+ "w": 44,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 44,
+ "h": 69
+ },
+ "frame": {
+ "x": 177,
+ "y": 132,
+ "w": 44,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 44,
+ "h": 69
+ },
+ "frame": {
+ "x": 177,
+ "y": 132,
+ "w": 44,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 44,
+ "h": 69
+ },
+ "frame": {
+ "x": 177,
+ "y": 132,
+ "w": 44,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 44,
+ "h": 69
+ },
+ "frame": {
+ "x": 177,
+ "y": 132,
+ "w": 44,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 221,
+ "y": 132,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 221,
+ "y": 132,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 221,
+ "y": 132,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 221,
+ "y": 132,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 221,
+ "y": 132,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 221,
+ "y": 132,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 221,
+ "y": 132,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 221,
+ "y": 132,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 221,
+ "y": 199,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 221,
+ "y": 199,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 221,
+ "y": 199,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 221,
+ "y": 199,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 221,
+ "y": 199,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 221,
+ "y": 199,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 221,
+ "y": 199,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 47,
+ "h": 69
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 221,
+ "y": 199,
+ "w": 44,
+ "h": 67
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:f7050848291dfd3bdda64f1c36a74874:8cde32a5dc191f254a4c4d513bc9fc17:bc51e3cc0328bafe405b03008252dcb5$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/199_1.png b/public/images/pokemon/variant/199_1.png
new file mode 100644
index 00000000000..9899cae4e7f
Binary files /dev/null and b/public/images/pokemon/variant/199_1.png differ
diff --git a/public/images/pokemon/variant/2052.json b/public/images/pokemon/variant/2052.json
new file mode 100644
index 00000000000..adcd32d0470
--- /dev/null
+++ b/public/images/pokemon/variant/2052.json
@@ -0,0 +1,32 @@
+{
+ "1": {
+ "45505f": "8c583b",
+ "101010": "101010",
+ "91a3bf": "ffda5c",
+ "262b3c": "41185e",
+ "995433": "493473",
+ "627986": "de974e",
+ "f3f3f3": "f3f3f3",
+ "e3cc2b": "a66db5",
+ "ca833c": "7a519a",
+ "798071": "7a4888",
+ "b5b6b9": "bb92d5",
+ "bcbdc0": "bcbdc0",
+ "f0f0f0": "f4ceff"
+ },
+ "2": {
+ "45505f": "271420",
+ "101010": "101010",
+ "91a3bf": "7c4e42",
+ "262b3c": "1d1b33",
+ "995433": "45328e",
+ "627986": "5f3036",
+ "f3f3f3": "f3f3f3",
+ "e3cc2b": "b5b8f9",
+ "ca833c": "7b7fda",
+ "798071": "5f5c7e",
+ "b5b6b9": "7b7895",
+ "bcbdc0": "bcbdc0",
+ "f0f0f0": "d1daf5"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/2053.json b/public/images/pokemon/variant/2053.json
new file mode 100644
index 00000000000..9c5fcd4c20b
--- /dev/null
+++ b/public/images/pokemon/variant/2053.json
@@ -0,0 +1,30 @@
+{
+ "1": {
+ "101010": "101010",
+ "464457": "8c583b",
+ "262b3c": "41185e",
+ "45505f": "512d6c",
+ "627986": "7c488a",
+ "6c7791": "de974e",
+ "9ba8b7": "ffda5c",
+ "1784d5": "6945aa",
+ "fdfdfd": "fdfdfd",
+ "11b8f7": "9d67d8",
+ "1149a8": "2e2575",
+ "b6b6b6": "b6b6b6"
+ },
+ "2": {
+ "101010": "101010",
+ "464457": "271420",
+ "262b3c": "111323",
+ "45505f": "1d1b33",
+ "627986": "27253a",
+ "6c7791": "5f3036",
+ "9ba8b7": "7c4e42",
+ "1784d5": "7b7fda",
+ "fdfdfd": "eeefff",
+ "11b8f7": "b5b8f9",
+ "1149a8": "5952ba",
+ "b6b6b6": "9fa2ec"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/222.json b/public/images/pokemon/variant/222.json
new file mode 100644
index 00000000000..61681ff421a
--- /dev/null
+++ b/public/images/pokemon/variant/222.json
@@ -0,0 +1,26 @@
+{
+ "1": {
+ "101010": "101010",
+ "ffcee6": "f5eab0",
+ "bd004a": "b76600",
+ "ffa5c5": "f6cc70",
+ "e66394": "f39806",
+ "f77bb5": "f6b64e",
+ "ffffff": "ffffff",
+ "dee6f7": "d9fafa",
+ "adc5de": "9fdbd8",
+ "5a7bad": "0095a1"
+ },
+ "2": {
+ "101010": "0e110d",
+ "ffcee6": "f4fbd5",
+ "bd004a": "298d1e",
+ "ffa5c5": "c7e5a0",
+ "e66394": "85ba58",
+ "f77bb5": "adca66",
+ "ffffff": "ffffff",
+ "dee6f7": "1da7a3",
+ "adc5de": "207a80",
+ "5a7bad": "1c5469"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/227.json b/public/images/pokemon/variant/227.json
new file mode 100644
index 00000000000..592d33eea65
--- /dev/null
+++ b/public/images/pokemon/variant/227.json
@@ -0,0 +1,36 @@
+{
+ "1": {
+ "7b94bd": "2b4b60",
+ "31527b": "132d42",
+ "9cb5d6": "49748c",
+ "bdcee6": "6d93a4",
+ "deefff": "97bcce",
+ "637bad": "062233",
+ "101010": "101010",
+ "941019": "4a0451",
+ "c5314a": "912790",
+ "ff8494": "c47acc",
+ "ef5a63": "ad57ba",
+ "ce9400": "d34b21",
+ "ffde00": "f87642",
+ "841921": "841921",
+ "ffffff": "97bcce"
+ },
+ "2": {
+ "7b94bd": "4c2143",
+ "31527b": "260e21",
+ "9cb5d6": "773c5b",
+ "bdcee6": "ac6f7d",
+ "deefff": "c8aeae",
+ "637bad": "231429",
+ "101010": "101010",
+ "941019": "10255a",
+ "c5314a": "245a98",
+ "ff8494": "9ef8e2",
+ "ef5a63": "54b8d1",
+ "ce9400": "36989a",
+ "ffde00": "69d3c3",
+ "841921": "6c2611",
+ "ffffff": "c8aeae"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/228.json b/public/images/pokemon/variant/228.json
new file mode 100644
index 00000000000..e9634ee0a05
--- /dev/null
+++ b/public/images/pokemon/variant/228.json
@@ -0,0 +1,40 @@
+{
+ "1": {
+ "101921": "321b32",
+ "080808": "080808",
+ "4a4a52": "76546b",
+ "46435c": "471d23",
+ "767085": "a84b50",
+ "ffffff": "f3bd87",
+ "a59cad": "c87966",
+ "292931": "553454",
+ "292929": "292929",
+ "f8f9ff": "f8f9ff",
+ "f1fcff": "f1fcff",
+ "f7a57b": "f8f1e7",
+ "734229": "77545b",
+ "1b1b23": "352241",
+ "ad7352": "ceb0a5",
+ "e2e0e3": "e2e0e3",
+ "8c1900": "8c1900"
+ },
+ "2": {
+ "101921": "2c2335",
+ "080808": "080808",
+ "4a4a52": "f8faf3",
+ "46435c": "171635",
+ "767085": "223657",
+ "ffffff": "5c8d95",
+ "a59cad": "38576c",
+ "292931": "b1a3b1",
+ "292929": "292929",
+ "f8f9ff": "f8f9ff",
+ "f1fcff": "f1fcff",
+ "f7a57b": "72557e",
+ "734229": "311f3a",
+ "1b1b23": "ecb592",
+ "ad7352": "533960",
+ "e2e0e3": "e2e0e3",
+ "8c1900": "a87ea3"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/229-mega.json b/public/images/pokemon/variant/229-mega.json
new file mode 100644
index 00000000000..7f2956d6bb0
--- /dev/null
+++ b/public/images/pokemon/variant/229-mega.json
@@ -0,0 +1,40 @@
+{
+ "1": {
+ "83738b": "7c323c",
+ "a49cac": "a84b50",
+ "cdd5d5": "c87966",
+ "fcfcfc": "f3bd87",
+ "010101": "010101",
+ "622910": "77545b",
+ "182029": "321b32",
+ "a45a4a": "ceb0a5",
+ "4a4a52": "76546b",
+ "f69c83": "f8f1e7",
+ "313139": "553454",
+ "c5cdd1": "c5cdd1",
+ "ce0a10": "455d92",
+ "f8f9ff": "f8f9ff",
+ "000000": "000000",
+ "e2e0e3": "e2e0e3",
+ "cb070d": "aa8c82"
+ },
+ "2": {
+ "83738b": "100f27",
+ "a49cac": "223657",
+ "cdd5d5": "38576c",
+ "fcfcfc": "5c8d95",
+ "010101": "010101",
+ "622910": "311f3a",
+ "182029": "321b32",
+ "a45a4a": "533960",
+ "4a4a52": "f8faf3",
+ "f69c83": "72557e",
+ "313139": "b1a3b1",
+ "c5cdd1": "100f27",
+ "ce0a10": "e58142",
+ "f8f9ff": "223657",
+ "000000": "000000",
+ "e2e0e3": "e2e0e3",
+ "cb070d": "534b6a"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/229.json b/public/images/pokemon/variant/229.json
new file mode 100644
index 00000000000..fe532e0c908
--- /dev/null
+++ b/public/images/pokemon/variant/229.json
@@ -0,0 +1,38 @@
+{
+ "1": {
+ "84738c": "5a1f30",
+ "ffffff": "ffcf9a",
+ "ced6d6": "dc7e67",
+ "a59cad": "a84244",
+ "192129": "431129",
+ "4a4a52": "85324a",
+ "000000": "000000",
+ "a55a4a": "ceb0a5",
+ "f79c84": "f8f1e7",
+ "841021": "41578c",
+ "31313a": "631e3f",
+ "ada5b3": "ada5b3",
+ "632910": "8c6362",
+ "f8f9ff": "f8f9ff",
+ "e2e0e3": "e2e0e3",
+ "9c293a": "9c293a"
+ },
+ "2": {
+ "84738c": "111a33",
+ "ffffff": "5c8d95",
+ "ced6d6": "38576c",
+ "a59cad": "223657",
+ "192129": "616f8c",
+ "4a4a52": "e8f8ff",
+ "000000": "000000",
+ "a55a4a": "4a3a5e",
+ "f79c84": "665a83",
+ "841021": "f37755",
+ "31313a": "a9bfd1",
+ "ada5b3": "111a33",
+ "632910": "2d203c",
+ "f8f9ff": "223657",
+ "e2e0e3": "e2e0e3",
+ "9c293a": "9e6b77"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/231.json b/public/images/pokemon/variant/231.json
new file mode 100644
index 00000000000..ad75f38a1d3
--- /dev/null
+++ b/public/images/pokemon/variant/231.json
@@ -0,0 +1,30 @@
+{
+ "1": {
+ "527bb5": "717e98",
+ "add6ef": "e8e8e8",
+ "525294": "4d5271",
+ "9cbdef": "bac4ca",
+ "101010": "101010",
+ "bd3a31": "4b6aa1",
+ "840000": "394e85",
+ "f76b52": "859abf",
+ "ffffff": "ffffff",
+ "6b9cce": "97a5b5",
+ "8c8c8c": "8c8baa",
+ "d6d6d6": "d6d6d6"
+ },
+ "2": {
+ "527bb5": "4f2955",
+ "add6ef": "a56898",
+ "525294": "3a2043",
+ "9cbdef": "814c79",
+ "101010": "101010",
+ "bd3a31": "cea141",
+ "840000": "b17333",
+ "f76b52": "f1d35b",
+ "ffffff": "fff8d5",
+ "6b9cce": "673a67",
+ "8c8c8c": "755873",
+ "d6d6d6": "eac18f"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/232.json b/public/images/pokemon/variant/232.json
new file mode 100644
index 00000000000..97f598a8545
--- /dev/null
+++ b/public/images/pokemon/variant/232.json
@@ -0,0 +1,42 @@
+{
+ "1": {
+ "101010": "101010",
+ "6b7373": "7fa0d7",
+ "4a5252": "5f74c7",
+ "3a3a3a": "333a77",
+ "849494": "b0d8ff",
+ "842129": "1d2a54",
+ "c54210": "3b70c3",
+ "9ca5a5": "9ca3b5",
+ "d6ded6": "f4f4f4",
+ "424242": "2f3441",
+ "738484": "6c7488",
+ "f9f9f9": "f9f9f9",
+ "d6d6d6": "d6d6d6",
+ "bdc5c5": "cdd1dc",
+ "707f7f": "b6511d",
+ "bdbdbd": "de913e",
+ "ffffff": "f2db98",
+ "dedede": "edbb5e"
+ },
+ "2": {
+ "101010": "101010",
+ "6b7373": "d17e47",
+ "4a5252": "994e30",
+ "3a3a3a": "6f2219",
+ "849494": "f4b975",
+ "842129": "1d2a54",
+ "c54210": "3b70c3",
+ "9ca5a5": "3c283f",
+ "d6ded6": "665263",
+ "424242": "2c1f2e",
+ "738484": "1e1225",
+ "f9f9f9": "f9f9f9",
+ "d6d6d6": "d6d6d6",
+ "bdc5c5": "584158",
+ "707f7f": "1d2a54",
+ "bdbdbd": "3b70c3",
+ "ffffff": "92c3e9",
+ "dedede": "69a2d9"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/330.json b/public/images/pokemon/variant/330.json
index 694a0c64ff3..71dfe226dfc 100644
--- a/public/images/pokemon/variant/330.json
+++ b/public/images/pokemon/variant/330.json
@@ -1,20 +1,20 @@
{
"1": {
- "84293a": "89370b",
- "315a5a": "7a5703",
+ "84293a": "752d0c",
+ "315a5a": "7a4205",
"de6373": "e99339",
"101010": "101010",
"6ba573": "d8b430",
- "5a7b52": "a07b0f",
+ "5a7b52": "8b6009",
"ce3a4a": "bc6427",
"94d69c": "f6e85f",
- "b5de73": "90dd71",
+ "b5de73": "e4ee9e",
"ffffff": "ffffff",
"ffa5b5": "f5cd2d",
- "8ca552": "58af58",
- "84bd63": "84bd63",
- "deff8c": "d0f088",
- "526321": "1e4320"
+ "8ca552": "b3c46a",
+ "84bd63": "8aa963",
+ "deff8c": "f5f9c3",
+ "526321": "555e3d"
},
"2": {
"84293a": "a84e20",
diff --git a/public/images/pokemon/variant/353.json b/public/images/pokemon/variant/353.json
new file mode 100644
index 00000000000..09a77ba1f2b
--- /dev/null
+++ b/public/images/pokemon/variant/353.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "635a8c": "9c4572",
+ "000000": "000000",
+ "a5add6": "e2a8b2",
+ "8484ad": "d57b96",
+ "3a4a7b": "5c203e",
+ "73739c": "c25e87",
+ "19315a": "2c1432",
+ "428cad": "5452c7",
+ "4273ad": "404bad",
+ "73b5d6": "8476d7",
+ "b58c00": "cc9e79",
+ "e6bd52": "e9dbb3",
+ "ff73bd": "6ea1a7",
+ "b5317b": "37838b"
+ },
+ "2": {
+ "635a8c": "487c5d",
+ "000000": "000000",
+ "a5add6": "b8c2a8",
+ "8484ad": "93aa7f",
+ "3a4a7b": "1d4547",
+ "73739c": "6d9772",
+ "19315a": "20311c",
+ "428cad": "47b858",
+ "4273ad": "2e6264",
+ "73b5d6": "71d765",
+ "b58c00": "8282b5",
+ "e6bd52": "cdcde5",
+ "ff73bd": "983226",
+ "b5317b": "751a1c"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/354-mega.json b/public/images/pokemon/variant/354-mega.json
new file mode 100644
index 00000000000..a781dfe624c
--- /dev/null
+++ b/public/images/pokemon/variant/354-mega.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "4d464f": "592145",
+ "523900": "361a2d",
+ "7c777d": "934861",
+ "010101": "010101",
+ "d59c39": "7d656d",
+ "eebd5a": "b78d90",
+ "7b5a29": "624858",
+ "685f6b": "6c2f4c",
+ "322c33": "30142a",
+ "918c92": "b0697b",
+ "d74477": "37838b",
+ "ea7bb6": "73bdbd",
+ "f9f9f9": "f9f9f9",
+ "80313d": "1c4d5d"
+ },
+ "2": {
+ "4d464f": "5b777b",
+ "523900": "151433",
+ "7c777d": "9cbf81",
+ "010101": "010101",
+ "d59c39": "3b3d54",
+ "eebd5a": "4d4f5b",
+ "7b5a29": "292941",
+ "685f6b": "71a680",
+ "322c33": "2b454a",
+ "918c92": "b6d192",
+ "d74477": "751a1c",
+ "ea7bb6": "983226",
+ "f9f9f9": "e0e0ef",
+ "80313d": "4f0209"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/354.json b/public/images/pokemon/variant/354.json
new file mode 100644
index 00000000000..f51713573a2
--- /dev/null
+++ b/public/images/pokemon/variant/354.json
@@ -0,0 +1,36 @@
+{
+ "1": {
+ "5a5263": "511e48",
+ "3a3142": "2e0920",
+ "9c9ca5": "934861",
+ "7b7b84": "6c2f4c",
+ "000000": "000000",
+ "b5adbd": "b0697b",
+ "ad293a": "00667f",
+ "c5425a": "1697a6",
+ "ffffff": "ffffff",
+ "e66373": "6bc1c9",
+ "523a00": "361a2d",
+ "a57b10": "715568",
+ "d69c3a": "926c7b",
+ "7b5a29": "624858",
+ "efbd5a": "b78d90"
+ },
+ "2": {
+ "5a5263": "5b777b",
+ "3a3142": "2b454a",
+ "9c9ca5": "9ed18a",
+ "7b7b84": "84bd95",
+ "000000": "000000",
+ "b5adbd": "cbeab9",
+ "ad293a": "4f0209",
+ "c5425a": "751a1c",
+ "ffffff": "e5e5f5",
+ "e66373": "983226",
+ "523a00": "151433",
+ "a57b10": "33365e",
+ "d69c3a": "3b3d54",
+ "7b5a29": "292941",
+ "efbd5a": "4d4f5b"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/357.json b/public/images/pokemon/variant/357.json
new file mode 100644
index 00000000000..a731ebf1aed
--- /dev/null
+++ b/public/images/pokemon/variant/357.json
@@ -0,0 +1,38 @@
+{
+ "1": {
+ "000000": "2c100a",
+ "216321": "9e462c",
+ "52ad52": "f5c266",
+ "3a8c4a": "e58b48",
+ "6bc56b": "ffeeae",
+ "ffffff": "ffffff",
+ "523a31": "754a30",
+ "947352": "eeccab",
+ "b5946b": "ffefd5",
+ "7b5a4a": "ce9a7a",
+ "9c4a63": "725ea3",
+ "e66b8c": "a687d1",
+ "935621": "2f3561",
+ "efbd3a": "81c1dc",
+ "bf691d": "5268a1",
+ "ffff6b": "b5feff"
+ },
+ "2": {
+ "000000": "000000",
+ "216321": "101121",
+ "52ad52": "2d3c5c",
+ "3a8c4a": "1f2547",
+ "6bc56b": "48637c",
+ "ffffff": "ffffff",
+ "523a31": "28345c",
+ "947352": "45899e",
+ "b5946b": "78c9c9",
+ "7b5a4a": "366688",
+ "9c4a63": "725ea3",
+ "e66b8c": "a687d1",
+ "935621": "4e1a2e",
+ "efbd3a": "a54358",
+ "bf691d": "67263f",
+ "ffff6b": "d56f69"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/369.json b/public/images/pokemon/variant/369.json
new file mode 100644
index 00000000000..1be34201a4b
--- /dev/null
+++ b/public/images/pokemon/variant/369.json
@@ -0,0 +1,36 @@
+{
+ "1": {
+ "6b5242": "1e2432",
+ "efcea5": "757e99",
+ "ceb594": "4b5368",
+ "52423a": "16181d",
+ "000000": "000000",
+ "524242": "91603c",
+ "b59c9c": "fcbc8e",
+ "8c734a": "282f41",
+ "9c847b": "e09966",
+ "3a2929": "64432b",
+ "b5946b": "31384a",
+ "ffefce": "aab1c6",
+ "7b6b63": "bd7d4f",
+ "ef4a73": "4e87cd",
+ "ce4231": "c87f53"
+ },
+ "2": {
+ "6b5242": "33421e",
+ "efcea5": "85a558",
+ "ceb594": "6b8745",
+ "52423a": "4b523a",
+ "000000": "000000",
+ "524242": "21234a",
+ "b59c9c": "5459a2",
+ "8c734a": "42532c",
+ "9c847b": "3d417d",
+ "3a2929": "191b34",
+ "b5946b": "576d39",
+ "ffefce": "a1c174",
+ "7b6b63": "2e3063",
+ "ef4a73": "ff4949",
+ "ce4231": "405b87"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/37.json b/public/images/pokemon/variant/37.json
new file mode 100644
index 00000000000..e82a2f00914
--- /dev/null
+++ b/public/images/pokemon/variant/37.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "bd4a29": "714795",
+ "732100": "381d5b",
+ "de7329": "9667b1",
+ "5a3100": "511f4c",
+ "f7bd7b": "f2b4e4",
+ "e6946b": "dc91d5",
+ "101010": "101010",
+ "845231": "743a67",
+ "ff945a": "c18fcf",
+ "bd735a": "ba6cbd",
+ "a57342": "865175",
+ "ffffff": "ffffff",
+ "ffe6b5": "e8e0d1",
+ "ffde94": "d4c5b6"
+ },
+ "2": {
+ "bd4a29": "532446",
+ "732100": "1e1323",
+ "de7329": "833a51",
+ "5a3100": "100f1b",
+ "f7bd7b": "68689f",
+ "e6946b": "45457c",
+ "101010": "101010",
+ "845231": "1b1b47",
+ "ff945a": "a8516c",
+ "bd735a": "33325e",
+ "a57342": "2a3457",
+ "ffffff": "ffffff",
+ "ffe6b5": "d8e4e8",
+ "ffde94": "9fb3c1"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/38.json b/public/images/pokemon/variant/38.json
new file mode 100644
index 00000000000..0d9c4c3f940
--- /dev/null
+++ b/public/images/pokemon/variant/38.json
@@ -0,0 +1,28 @@
+{
+ "1": {
+ "846319": "613260",
+ "101010": "101010",
+ "e6c552": "ca91ba",
+ "f7e67b": "f0c2dc",
+ "ce9c4a": "b16da0",
+ "ffffff": "ffffff",
+ "b51000": "3c44d9",
+ "de2110": "368abd",
+ "ff6b29": "3664bd",
+ "ffa53a": "8963b5",
+ "ef8429": "593d85"
+ },
+ "2": {
+ "846319": "0b0b2a",
+ "101010": "101010",
+ "e6c552": "293272",
+ "f7e67b": "3f548b",
+ "ce9c4a": "1a1a52",
+ "ffffff": "ffffff",
+ "b51000": "e3382d",
+ "de2110": "b83e0e",
+ "ff6b29": "a42920",
+ "ffa53a": "a9354a",
+ "ef8429": "811d39"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/387.json b/public/images/pokemon/variant/387.json
new file mode 100644
index 00000000000..04e2eb81fea
--- /dev/null
+++ b/public/images/pokemon/variant/387.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "3aa542": "e3a6c1",
+ "3a5a29": "6e314a",
+ "7bd66b": "f5def0",
+ "634a3a": "320a2a",
+ "8c6b42": "511b41",
+ "000000": "000000",
+ "5a7b42": "320a2a",
+ "b58452": "934974",
+ "94ad5a": "b1516b",
+ "dee68c": "f7a8af",
+ "bdce84": "e37d90",
+ "f7e65a": "8fae94",
+ "c5bd3a": "4b6b63",
+ "ffffff": "ffffff"
+ },
+ "2": {
+ "3aa542": "d6e1e9",
+ "3a5a29": "372835",
+ "7bd66b": "ffffff",
+ "634a3a": "2c4a78",
+ "8c6b42": "93adcb",
+ "000000": "241423",
+ "5a7b42": "1c1a1a",
+ "b58452": "d0d6d6",
+ "94ad5a": "5b4959",
+ "dee68c": "958790",
+ "bdce84": "7d6d7a",
+ "f7e65a": "8bcadd",
+ "c5bd3a": "3875a1",
+ "ffffff": "ffffff"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/388.json b/public/images/pokemon/variant/388.json
new file mode 100644
index 00000000000..42702aefa93
--- /dev/null
+++ b/public/images/pokemon/variant/388.json
@@ -0,0 +1,36 @@
+{
+ "1": {
+ "3a8c42": "e79ac2",
+ "3a5a29": "3b1228",
+ "63b56b": "ffd3f2",
+ "101019": "101019",
+ "634a3a": "0d2520",
+ "b58452": "3f5e4c",
+ "8c6b42": "19322b",
+ "deb542": "738f7a",
+ "efd642": "9cc096",
+ "6b8c4a": "773859",
+ "94ad5a": "954e6c",
+ "adc563": "b07587",
+ "ffffff": "ffffff",
+ "d6d6d6": "d6d6d6",
+ "949494": "949494"
+ },
+ "2": {
+ "3a8c42": "d6e1e9",
+ "3a5a29": "1c1a1a",
+ "63b56b": "ffffff",
+ "101019": "101019",
+ "634a3a": "251c3d",
+ "b58452": "2c4a78",
+ "8c6b42": "20284e",
+ "deb542": "3875a1",
+ "efd642": "8bcadd",
+ "6b8c4a": "362f2f",
+ "94ad5a": "463d3e",
+ "adc563": "756667",
+ "ffffff": "ffffff",
+ "d6d6d6": "d6d6d6",
+ "949494": "949494"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/389.json b/public/images/pokemon/variant/389.json
new file mode 100644
index 00000000000..799d606ff37
--- /dev/null
+++ b/public/images/pokemon/variant/389.json
@@ -0,0 +1,32 @@
+{
+ "1": {
+ "196319": "ba597b",
+ "318c3a": "e799bb",
+ "42ad42": "fddcf6",
+ "101010": "101010",
+ "a5a5a5": "365f49",
+ "6b737b": "1f4133",
+ "e6e6e6": "8faf89",
+ "bdbdbd": "588162",
+ "634a3a": "241a21",
+ "8c6b42": "3d2a37",
+ "3a5a29": "ba597b",
+ "b58452": "573a4b",
+ "4a525a": "0f2924"
+ },
+ "2": {
+ "196319": "738d9d",
+ "318c3a": "a7bcc9",
+ "42ad42": "d6e1e9",
+ "101010": "101010",
+ "a5a5a5": "2c4a78",
+ "6b737b": "20284e",
+ "e6e6e6": "8bcadd",
+ "bdbdbd": "3875a1",
+ "634a3a": "251c3d",
+ "8c6b42": "444661",
+ "3a5a29": "251c3d",
+ "b58452": "5c5b75",
+ "4a525a": "1d1b40"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/4.json b/public/images/pokemon/variant/4.json
new file mode 100644
index 00000000000..a8cdf9d99ac
--- /dev/null
+++ b/public/images/pokemon/variant/4.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "de523a": "1a5752",
+ "8c2900": "0f3234",
+ "ff9442": "26837c",
+ "ffc563": "38bc90",
+ "101010": "101010",
+ "e63a00": "5033ce",
+ "083a8c": "8e0b25",
+ "198cb5": "c40f0f",
+ "ffffff": "ffffff",
+ "31adef": "f23113",
+ "ffd608": "e9bfff",
+ "f7a500": "9e59db",
+ "e6ad5a": "60c5c8",
+ "ffd67b": "99f4f7"
+ },
+ "2": {
+ "de523a": "294c91",
+ "8c2900": "20346f",
+ "ff9442": "3a78b7",
+ "ffc563": "54a3d8",
+ "101010": "101010",
+ "e63a00": "4c83d4",
+ "083a8c": "0021a8",
+ "198cb5": "0059ff",
+ "ffffff": "ffffff",
+ "31adef": "1e8eff",
+ "ffd608": "f9fffa",
+ "f7a500": "96e8e8",
+ "e6ad5a": "380f6e",
+ "ffd67b": "5e238e"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/401.json b/public/images/pokemon/variant/401.json
new file mode 100644
index 00000000000..9e1fd614922
--- /dev/null
+++ b/public/images/pokemon/variant/401.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "524a42": "cf8439",
+ "9c9c94": "ffeea0",
+ "7b7363": "f6bb47",
+ "101010": "101010",
+ "8c6b08": "272344",
+ "e6c56b": "454389",
+ "ffefad": "56769d",
+ "945219": "973939",
+ "5a2100": "272344",
+ "6b4221": "541b23",
+ "e66b63": "afd3df",
+ "b54a3a": "498ebe",
+ "fff2be": "fff9e3",
+ "f3d277": "ff7e7e"
+ },
+ "2": {
+ "524a42": "453565",
+ "9c9c94": "ae85ba",
+ "7b7363": "71558c",
+ "101010": "101010",
+ "8c6b08": "784341",
+ "e6c56b": "e59a75",
+ "ffefad": "ffd47c",
+ "945219": "b5567a",
+ "5a2100": "2a545f",
+ "6b4221": "853360",
+ "e66b63": "70af85",
+ "b54a3a": "2f9378",
+ "fff2be": "fff4ca",
+ "f3d277": "ffd8ed"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/402.json b/public/images/pokemon/variant/402.json
new file mode 100644
index 00000000000..26008d941d1
--- /dev/null
+++ b/public/images/pokemon/variant/402.json
@@ -0,0 +1,42 @@
+{
+ "1": {
+ "633100": "272344",
+ "de5a52": "afd3df",
+ "101010": "101010",
+ "9c4231": "498ebe",
+ "31293a": "592a22",
+ "fff3e3": "fff3e3",
+ "524a42": "cf8439",
+ "7b7363": "f6bb47",
+ "945219": "973939",
+ "ffe4ae": "ff7e7e",
+ "5a3a21": "541b23",
+ "8c6b08": "272344",
+ "bd9c63": "454389",
+ "9c9c94": "26264b",
+ "ffd684": "56769d",
+ "000000": "000000",
+ "424252": "0e0e23",
+ "ffffff": "454389"
+ },
+ "2": {
+ "633100": "2a545f",
+ "de5a52": "70af85",
+ "101010": "101010",
+ "9c4231": "2f9378",
+ "31293a": "281c41",
+ "fff3e3": "fff3e3",
+ "524a42": "453565",
+ "7b7363": "71558c",
+ "945219": "b5567a",
+ "ffe4ae": "ffd8ed",
+ "5a3a21": "853360",
+ "8c6b08": "784341",
+ "bd9c63": "e59a75",
+ "9c9c94": "f1be84",
+ "ffd684": "ffd47c",
+ "000000": "864b51",
+ "424252": "732f36",
+ "ffffff": "fff3c3"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/4080_1.json b/public/images/pokemon/variant/4080_1.json
new file mode 100644
index 00000000000..f69a09e3616
--- /dev/null
+++ b/public/images/pokemon/variant/4080_1.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "4080_1.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 71,
+ "h": 71
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 71,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 71,
+ "h": 60
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 71,
+ "h": 60
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:483de3c9314b7d600845c48ab3d72e32:ac1fea1cc273759370df61d5b7124494:015ff34e49c83f5df583f6ee4f397d44$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/4080_1.png b/public/images/pokemon/variant/4080_1.png
new file mode 100644
index 00000000000..2508ea4c736
Binary files /dev/null and b/public/images/pokemon/variant/4080_1.png differ
diff --git a/public/images/pokemon/variant/4199_1.json b/public/images/pokemon/variant/4199_1.json
new file mode 100644
index 00000000000..0b34ab653cd
--- /dev/null
+++ b/public/images/pokemon/variant/4199_1.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "4199_1.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 68,
+ "h": 68
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 45,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 45,
+ "h": 68
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 45,
+ "h": 68
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:27c2d70c7e5101b7c6ab6babde47c1d2:f7943da1ac39c61260eeba8ae682863a:427382f12be0d488e7af870a65d1099b$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/4199_1.png b/public/images/pokemon/variant/4199_1.png
new file mode 100644
index 00000000000..e2fe544a480
Binary files /dev/null and b/public/images/pokemon/variant/4199_1.png differ
diff --git a/public/images/pokemon/variant/436.json b/public/images/pokemon/variant/436.json
new file mode 100644
index 00000000000..b695af1a3fc
--- /dev/null
+++ b/public/images/pokemon/variant/436.json
@@ -0,0 +1,22 @@
+{
+ "1": {
+ "103a4a": "3e3b45",
+ "2984a5": "9192a6",
+ "195a7b": "737185",
+ "42a5c5": "c3c3de",
+ "101010": "101010",
+ "ffde73": "ed87ff",
+ "94b58c": "a15ed9",
+ "63c5e6": "dfe1f4"
+ },
+ "2": {
+ "103a4a": "400f06",
+ "2984a5": "9d4e16",
+ "195a7b": "7e2b15",
+ "42a5c5": "d0662a",
+ "101010": "101010",
+ "ffde73": "82d562",
+ "94b58c": "899945",
+ "63c5e6": "e98851"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/437.json b/public/images/pokemon/variant/437.json
new file mode 100644
index 00000000000..d5dedea3748
--- /dev/null
+++ b/public/images/pokemon/variant/437.json
@@ -0,0 +1,28 @@
+{
+ "1": {
+ "217384": "6a6994",
+ "73d6ef": "eeeaff",
+ "214a5a": "202429",
+ "42adce": "dedede",
+ "101010": "101010",
+ "3194b5": "9c9db4",
+ "bdd6de": "bd9173",
+ "a5c5ce": "a27661",
+ "8cadb5": "8b5952",
+ "9c6b7b": "b45594",
+ "ff4a4a": "ee81c5"
+ },
+ "2": {
+ "217384": "783827",
+ "73d6ef": "f4a97f",
+ "214a5a": "3a1812",
+ "42adce": "d58151",
+ "101010": "101010",
+ "3194b5": "9d5f33",
+ "bdd6de": "e0da82",
+ "a5c5ce": "ccbd73",
+ "8cadb5": "b4a55b",
+ "9c6b7b": "899945",
+ "ff4a4a": "82d562"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/5.json b/public/images/pokemon/variant/5.json
new file mode 100644
index 00000000000..3bb5b8d92f6
--- /dev/null
+++ b/public/images/pokemon/variant/5.json
@@ -0,0 +1,36 @@
+{
+ "1": {
+ "ce3a3a": "1a4848",
+ "942110": "10292c",
+ "ff846b": "40a78f",
+ "ff524a": "2a6e70",
+ "101010": "101010",
+ "b5b5b5": "b5b5b5",
+ "ffffff": "ffffff",
+ "005aff": "ce1010",
+ "ff4200": "5033ce",
+ "ffa500": "9e59db",
+ "e6cead": "99f4f7",
+ "cead7b": "6ee3e5",
+ "ffde29": "e9bfff",
+ "6b6b6b": "6b6b6b",
+ "b58c5a": "60c5c8"
+ },
+ "2": {
+ "ce3a3a": "163793",
+ "942110": "101a70",
+ "ff846b": "418ae2",
+ "ff524a": "2564bc",
+ "101010": "101010",
+ "b5b5b5": "b5b5b5",
+ "ffffff": "ffffff",
+ "005aff": "2b75ff",
+ "ff4200": "4c83d4",
+ "ffa500": "96e8e8",
+ "e6cead": "5e238e",
+ "cead7b": "47177a",
+ "ffde29": "f9fffa",
+ "6b6b6b": "6b6b6b",
+ "b58c5a": "340d6b"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/531-mega.json b/public/images/pokemon/variant/531-mega.json
new file mode 100644
index 00000000000..eedd2b17f19
--- /dev/null
+++ b/public/images/pokemon/variant/531-mega.json
@@ -0,0 +1,32 @@
+{
+ "1": {
+ "6a624a": "7c4b3b",
+ "f6e6ac": "fff6f0",
+ "887d81": "6b0a46",
+ "cdb483": "d6bfb4",
+ "ffb3ae": "f5a779",
+ "ffe1ec": "f17475",
+ "fbfbfb": "f0728d",
+ "181818": "181818",
+ "c4b3b6": "cc3a74",
+ "df7b95": "870505",
+ "ffebee": "fcb7c5",
+ "eaaaba": "f96731",
+ "a48b62": "a86d57"
+ },
+ "2": {
+ "6a624a": "09232a",
+ "f6e6ac": "4bb9a6",
+ "887d81": "111322",
+ "cdb483": "29878f",
+ "ffb3ae": "f6e3a8",
+ "ffe1ec": "637971",
+ "fbfbfb": "323c52",
+ "181818": "181818",
+ "c4b3b6": "202537",
+ "df7b95": "e8a245",
+ "ffebee": "fdf2ce",
+ "eaaaba": "cc6948",
+ "a48b62": "164d54"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/531.json b/public/images/pokemon/variant/531.json
new file mode 100644
index 00000000000..fb0689f6784
--- /dev/null
+++ b/public/images/pokemon/variant/531.json
@@ -0,0 +1,32 @@
+{
+ "1": {
+ "ce6b73": "ce6b73",
+ "de8c94": "f5a779",
+ "734a4a": "b64231",
+ "6b634a": "874231",
+ "f7e6ad": "fff6f0",
+ "ceb584": "d6bfb4",
+ "1963ad": "ae0771",
+ "a58c63": "a86d57",
+ "101010": "101010",
+ "ffffff": "ffffff",
+ "63636b": "782b3e",
+ "d6d6e6": "cd5178",
+ "c55a3a": "c55a3a"
+ },
+ "2": {
+ "ce6b73": "cf9a4a",
+ "de8c94": "f6e3a8",
+ "734a4a": "a0602f",
+ "6b634a": "09232a",
+ "f7e6ad": "4bb9a6",
+ "ceb584": "29878f",
+ "1963ad": "841f21",
+ "a58c63": "195359",
+ "101010": "101010",
+ "ffffff": "ffffff",
+ "63636b": "13253c",
+ "d6d6e6": "394d6d",
+ "c55a3a": "c55a3a"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/543.json b/public/images/pokemon/variant/543.json
new file mode 100644
index 00000000000..82284461dd4
--- /dev/null
+++ b/public/images/pokemon/variant/543.json
@@ -0,0 +1,18 @@
+{
+ "1": {
+ "632131": "052727",
+ "101010": "190d20",
+ "bd3152": "238071",
+ "940042": "135c56",
+ "e6637b": "38a38b",
+ "ff94a5": "62c6af",
+ "084a3a": "4a063b",
+ "733142": "0b4a45",
+ "31313a": "522b71",
+ "00945a": "a63c9f",
+ "00733a": "831774",
+ "8c5a00": "358698",
+ "bd8c08": "467eb8",
+ "efb508": "7ab7e6"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/543_3.json b/public/images/pokemon/variant/543_3.json
new file mode 100644
index 00000000000..c7b54d31cdb
--- /dev/null
+++ b/public/images/pokemon/variant/543_3.json
@@ -0,0 +1,4136 @@
+{
+ "textures": [
+ {
+ "image": "543_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 194,
+ "h": 194
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 51,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 51,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 51,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 51,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 51,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 51,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 51,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 51,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 51,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 51,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 51,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 51,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 51,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 51,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 51,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 51,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 51,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 51,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 51,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 51,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 51,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 51,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 51,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 51,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 51,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 51,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 51,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 51,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0138.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 51,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 51,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0139.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 51,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 51,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0150.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 51,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 51,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0151.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 51,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 51,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 50,
+ "h": 35
+ },
+ "frame": {
+ "x": 51,
+ "y": 0,
+ "w": 50,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 50,
+ "h": 35
+ },
+ "frame": {
+ "x": 51,
+ "y": 0,
+ "w": 50,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 50,
+ "h": 35
+ },
+ "frame": {
+ "x": 51,
+ "y": 0,
+ "w": 50,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 50,
+ "h": 35
+ },
+ "frame": {
+ "x": 51,
+ "y": 0,
+ "w": 50,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 50,
+ "h": 35
+ },
+ "frame": {
+ "x": 51,
+ "y": 0,
+ "w": 50,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 50,
+ "h": 35
+ },
+ "frame": {
+ "x": 51,
+ "y": 0,
+ "w": 50,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 50,
+ "h": 35
+ },
+ "frame": {
+ "x": 51,
+ "y": 0,
+ "w": 50,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 50,
+ "h": 35
+ },
+ "frame": {
+ "x": 51,
+ "y": 0,
+ "w": 50,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 50,
+ "h": 35
+ },
+ "frame": {
+ "x": 51,
+ "y": 0,
+ "w": 50,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 50,
+ "h": 35
+ },
+ "frame": {
+ "x": 51,
+ "y": 0,
+ "w": 50,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 50,
+ "h": 35
+ },
+ "frame": {
+ "x": 51,
+ "y": 0,
+ "w": 50,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 50,
+ "h": 35
+ },
+ "frame": {
+ "x": 51,
+ "y": 0,
+ "w": 50,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 50,
+ "h": 35
+ },
+ "frame": {
+ "x": 51,
+ "y": 0,
+ "w": 50,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 50,
+ "h": 35
+ },
+ "frame": {
+ "x": 51,
+ "y": 0,
+ "w": 50,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0140.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 50,
+ "h": 35
+ },
+ "frame": {
+ "x": 51,
+ "y": 0,
+ "w": 50,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0141.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 50,
+ "h": 35
+ },
+ "frame": {
+ "x": 51,
+ "y": 0,
+ "w": 50,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0152.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 50,
+ "h": 35
+ },
+ "frame": {
+ "x": 51,
+ "y": 0,
+ "w": 50,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0153.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 50,
+ "h": 35
+ },
+ "frame": {
+ "x": 51,
+ "y": 0,
+ "w": 50,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 49,
+ "h": 35
+ },
+ "frame": {
+ "x": 101,
+ "y": 0,
+ "w": 49,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 49,
+ "h": 35
+ },
+ "frame": {
+ "x": 101,
+ "y": 0,
+ "w": 49,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0176.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 49,
+ "h": 35
+ },
+ "frame": {
+ "x": 101,
+ "y": 0,
+ "w": 49,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0177.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 49,
+ "h": 35
+ },
+ "frame": {
+ "x": 101,
+ "y": 0,
+ "w": 49,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0156.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0157.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0158.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0159.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0190.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0191.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0192.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0193.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0194.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0195.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0196.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 48,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 48,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0162.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 48,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0163.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 48,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 96,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 96,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 96,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 96,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 96,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 96,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0166.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 96,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0167.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 96,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0170.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 96,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0171.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 96,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0174.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 96,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0175.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 96,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 144,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 144,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 144,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 144,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 144,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 144,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 144,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 144,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 144,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 144,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 144,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 144,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 144,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 144,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 144,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 144,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0144.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 144,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0145.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 144,
+ "y": 35,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 70,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 70,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 70,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 70,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 70,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 70,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 70,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 70,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 70,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 70,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 70,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 70,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 70,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 70,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0142.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 70,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0143.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 70,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0154.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 70,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0155.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 35
+ },
+ "frame": {
+ "x": 0,
+ "y": 70,
+ "w": 48,
+ "h": 35
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 48,
+ "h": 34
+ },
+ "frame": {
+ "x": 0,
+ "y": 105,
+ "w": 48,
+ "h": 34
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 48,
+ "h": 34
+ },
+ "frame": {
+ "x": 0,
+ "y": 105,
+ "w": 48,
+ "h": 34
+ }
+ },
+ {
+ "filename": "0178.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 48,
+ "h": 34
+ },
+ "frame": {
+ "x": 0,
+ "y": 105,
+ "w": 48,
+ "h": 34
+ }
+ },
+ {
+ "filename": "0179.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 48,
+ "h": 34
+ },
+ "frame": {
+ "x": 0,
+ "y": 105,
+ "w": 48,
+ "h": 34
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 48,
+ "h": 34
+ },
+ "frame": {
+ "x": 0,
+ "y": 139,
+ "w": 48,
+ "h": 34
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 48,
+ "h": 34
+ },
+ "frame": {
+ "x": 0,
+ "y": 139,
+ "w": 48,
+ "h": 34
+ }
+ },
+ {
+ "filename": "0188.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 48,
+ "h": 34
+ },
+ "frame": {
+ "x": 0,
+ "y": 139,
+ "w": 48,
+ "h": 34
+ }
+ },
+ {
+ "filename": "0189.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 48,
+ "h": 34
+ },
+ "frame": {
+ "x": 0,
+ "y": 139,
+ "w": 48,
+ "h": 34
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 51,
+ "h": 32
+ },
+ "frame": {
+ "x": 48,
+ "y": 70,
+ "w": 51,
+ "h": 32
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 51,
+ "h": 32
+ },
+ "frame": {
+ "x": 48,
+ "y": 70,
+ "w": 51,
+ "h": 32
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 51,
+ "h": 32
+ },
+ "frame": {
+ "x": 48,
+ "y": 70,
+ "w": 51,
+ "h": 32
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 51,
+ "h": 32
+ },
+ "frame": {
+ "x": 48,
+ "y": 70,
+ "w": 51,
+ "h": 32
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 51,
+ "h": 32
+ },
+ "frame": {
+ "x": 48,
+ "y": 70,
+ "w": 51,
+ "h": 32
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 51,
+ "h": 32
+ },
+ "frame": {
+ "x": 48,
+ "y": 70,
+ "w": 51,
+ "h": 32
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 51,
+ "h": 32
+ },
+ "frame": {
+ "x": 48,
+ "y": 70,
+ "w": 51,
+ "h": 32
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 51,
+ "h": 32
+ },
+ "frame": {
+ "x": 48,
+ "y": 70,
+ "w": 51,
+ "h": 32
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 51,
+ "h": 32
+ },
+ "frame": {
+ "x": 48,
+ "y": 70,
+ "w": 51,
+ "h": 32
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 51,
+ "h": 32
+ },
+ "frame": {
+ "x": 48,
+ "y": 70,
+ "w": 51,
+ "h": 32
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 51,
+ "h": 32
+ },
+ "frame": {
+ "x": 48,
+ "y": 70,
+ "w": 51,
+ "h": 32
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 51,
+ "h": 32
+ },
+ "frame": {
+ "x": 48,
+ "y": 70,
+ "w": 51,
+ "h": 32
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 51,
+ "h": 32
+ },
+ "frame": {
+ "x": 48,
+ "y": 70,
+ "w": 51,
+ "h": 32
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 51,
+ "h": 32
+ },
+ "frame": {
+ "x": 48,
+ "y": 70,
+ "w": 51,
+ "h": 32
+ }
+ },
+ {
+ "filename": "0136.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 51,
+ "h": 32
+ },
+ "frame": {
+ "x": 48,
+ "y": 70,
+ "w": 51,
+ "h": 32
+ }
+ },
+ {
+ "filename": "0137.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 51,
+ "h": 32
+ },
+ "frame": {
+ "x": 48,
+ "y": 70,
+ "w": 51,
+ "h": 32
+ }
+ },
+ {
+ "filename": "0148.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 51,
+ "h": 32
+ },
+ "frame": {
+ "x": 48,
+ "y": 70,
+ "w": 51,
+ "h": 32
+ }
+ },
+ {
+ "filename": "0149.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 51,
+ "h": 32
+ },
+ "frame": {
+ "x": 48,
+ "y": 70,
+ "w": 51,
+ "h": 32
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 49,
+ "h": 33
+ },
+ "frame": {
+ "x": 99,
+ "y": 70,
+ "w": 49,
+ "h": 33
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 49,
+ "h": 33
+ },
+ "frame": {
+ "x": 99,
+ "y": 70,
+ "w": 49,
+ "h": 33
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 49,
+ "h": 33
+ },
+ "frame": {
+ "x": 99,
+ "y": 70,
+ "w": 49,
+ "h": 33
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 49,
+ "h": 33
+ },
+ "frame": {
+ "x": 99,
+ "y": 70,
+ "w": 49,
+ "h": 33
+ }
+ },
+ {
+ "filename": "0168.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 49,
+ "h": 33
+ },
+ "frame": {
+ "x": 99,
+ "y": 70,
+ "w": 49,
+ "h": 33
+ }
+ },
+ {
+ "filename": "0169.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 49,
+ "h": 33
+ },
+ "frame": {
+ "x": 99,
+ "y": 70,
+ "w": 49,
+ "h": 33
+ }
+ },
+ {
+ "filename": "0172.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 49,
+ "h": 33
+ },
+ "frame": {
+ "x": 99,
+ "y": 70,
+ "w": 49,
+ "h": 33
+ }
+ },
+ {
+ "filename": "0173.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 49,
+ "h": 33
+ },
+ "frame": {
+ "x": 99,
+ "y": 70,
+ "w": 49,
+ "h": 33
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 50,
+ "h": 32
+ },
+ "frame": {
+ "x": 48,
+ "y": 102,
+ "w": 50,
+ "h": 32
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 50,
+ "h": 32
+ },
+ "frame": {
+ "x": 48,
+ "y": 102,
+ "w": 50,
+ "h": 32
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 50,
+ "h": 32
+ },
+ "frame": {
+ "x": 48,
+ "y": 102,
+ "w": 50,
+ "h": 32
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 50,
+ "h": 32
+ },
+ "frame": {
+ "x": 48,
+ "y": 102,
+ "w": 50,
+ "h": 32
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 50,
+ "h": 32
+ },
+ "frame": {
+ "x": 48,
+ "y": 102,
+ "w": 50,
+ "h": 32
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 50,
+ "h": 32
+ },
+ "frame": {
+ "x": 48,
+ "y": 102,
+ "w": 50,
+ "h": 32
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 50,
+ "h": 32
+ },
+ "frame": {
+ "x": 48,
+ "y": 102,
+ "w": 50,
+ "h": 32
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 50,
+ "h": 32
+ },
+ "frame": {
+ "x": 48,
+ "y": 102,
+ "w": 50,
+ "h": 32
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 50,
+ "h": 32
+ },
+ "frame": {
+ "x": 48,
+ "y": 102,
+ "w": 50,
+ "h": 32
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 50,
+ "h": 32
+ },
+ "frame": {
+ "x": 48,
+ "y": 102,
+ "w": 50,
+ "h": 32
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 50,
+ "h": 32
+ },
+ "frame": {
+ "x": 48,
+ "y": 102,
+ "w": 50,
+ "h": 32
+ }
+ },
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 50,
+ "h": 32
+ },
+ "frame": {
+ "x": 48,
+ "y": 102,
+ "w": 50,
+ "h": 32
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 50,
+ "h": 32
+ },
+ "frame": {
+ "x": 48,
+ "y": 102,
+ "w": 50,
+ "h": 32
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 50,
+ "h": 32
+ },
+ "frame": {
+ "x": 48,
+ "y": 102,
+ "w": 50,
+ "h": 32
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 50,
+ "h": 32
+ },
+ "frame": {
+ "x": 48,
+ "y": 102,
+ "w": 50,
+ "h": 32
+ }
+ },
+ {
+ "filename": "0135.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 50,
+ "h": 32
+ },
+ "frame": {
+ "x": 48,
+ "y": 102,
+ "w": 50,
+ "h": 32
+ }
+ },
+ {
+ "filename": "0146.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 50,
+ "h": 32
+ },
+ "frame": {
+ "x": 48,
+ "y": 102,
+ "w": 50,
+ "h": 32
+ }
+ },
+ {
+ "filename": "0147.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 50,
+ "h": 32
+ },
+ "frame": {
+ "x": 48,
+ "y": 102,
+ "w": 50,
+ "h": 32
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 46,
+ "h": 31
+ },
+ "frame": {
+ "x": 148,
+ "y": 70,
+ "w": 46,
+ "h": 31
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 46,
+ "h": 31
+ },
+ "frame": {
+ "x": 148,
+ "y": 70,
+ "w": 46,
+ "h": 31
+ }
+ },
+ {
+ "filename": "0184.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 46,
+ "h": 31
+ },
+ "frame": {
+ "x": 148,
+ "y": 70,
+ "w": 46,
+ "h": 31
+ }
+ },
+ {
+ "filename": "0185.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 46,
+ "h": 31
+ },
+ "frame": {
+ "x": 148,
+ "y": 70,
+ "w": 46,
+ "h": 31
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 48,
+ "h": 33
+ },
+ "frame": {
+ "x": 98,
+ "y": 103,
+ "w": 48,
+ "h": 33
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 48,
+ "h": 33
+ },
+ "frame": {
+ "x": 98,
+ "y": 103,
+ "w": 48,
+ "h": 33
+ }
+ },
+ {
+ "filename": "0160.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 48,
+ "h": 33
+ },
+ "frame": {
+ "x": 98,
+ "y": 103,
+ "w": 48,
+ "h": 33
+ }
+ },
+ {
+ "filename": "0161.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 48,
+ "h": 33
+ },
+ "frame": {
+ "x": 98,
+ "y": 103,
+ "w": 48,
+ "h": 33
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 48,
+ "h": 33
+ },
+ "frame": {
+ "x": 48,
+ "y": 134,
+ "w": 48,
+ "h": 33
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 48,
+ "h": 33
+ },
+ "frame": {
+ "x": 48,
+ "y": 134,
+ "w": 48,
+ "h": 33
+ }
+ },
+ {
+ "filename": "0164.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 48,
+ "h": 33
+ },
+ "frame": {
+ "x": 48,
+ "y": 134,
+ "w": 48,
+ "h": 33
+ }
+ },
+ {
+ "filename": "0165.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 48,
+ "h": 33
+ },
+ "frame": {
+ "x": 48,
+ "y": 134,
+ "w": 48,
+ "h": 33
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 48,
+ "h": 33
+ },
+ "frame": {
+ "x": 146,
+ "y": 103,
+ "w": 48,
+ "h": 33
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 48,
+ "h": 33
+ },
+ "frame": {
+ "x": 146,
+ "y": 103,
+ "w": 48,
+ "h": 33
+ }
+ },
+ {
+ "filename": "0180.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 48,
+ "h": 33
+ },
+ "frame": {
+ "x": 146,
+ "y": 103,
+ "w": 48,
+ "h": 33
+ }
+ },
+ {
+ "filename": "0181.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 48,
+ "h": 33
+ },
+ "frame": {
+ "x": 146,
+ "y": 103,
+ "w": 48,
+ "h": 33
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 47,
+ "h": 33
+ },
+ "frame": {
+ "x": 96,
+ "y": 136,
+ "w": 47,
+ "h": 33
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 47,
+ "h": 33
+ },
+ "frame": {
+ "x": 96,
+ "y": 136,
+ "w": 47,
+ "h": 33
+ }
+ },
+ {
+ "filename": "0186.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 47,
+ "h": 33
+ },
+ "frame": {
+ "x": 96,
+ "y": 136,
+ "w": 47,
+ "h": 33
+ }
+ },
+ {
+ "filename": "0187.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 47,
+ "h": 33
+ },
+ "frame": {
+ "x": 96,
+ "y": 136,
+ "w": 47,
+ "h": 33
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 47,
+ "h": 31
+ },
+ "frame": {
+ "x": 143,
+ "y": 136,
+ "w": 47,
+ "h": 31
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 47,
+ "h": 31
+ },
+ "frame": {
+ "x": 143,
+ "y": 136,
+ "w": 47,
+ "h": 31
+ }
+ },
+ {
+ "filename": "0182.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 47,
+ "h": 31
+ },
+ "frame": {
+ "x": 143,
+ "y": 136,
+ "w": 47,
+ "h": 31
+ }
+ },
+ {
+ "filename": "0183.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 51,
+ "h": 35
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 47,
+ "h": 31
+ },
+ "frame": {
+ "x": 143,
+ "y": 136,
+ "w": 47,
+ "h": 31
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:503cb4d5ef7f3f7e798d90dae13954ee:baf0dc8117c8101d35a3906fbb7ddb91:6a7272aa232471cf2334e4bb25199601$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/543_3.png b/public/images/pokemon/variant/543_3.png
new file mode 100644
index 00000000000..f10317e806d
Binary files /dev/null and b/public/images/pokemon/variant/543_3.png differ
diff --git a/public/images/pokemon/variant/544.json b/public/images/pokemon/variant/544.json
new file mode 100644
index 00000000000..2cd6862c924
--- /dev/null
+++ b/public/images/pokemon/variant/544.json
@@ -0,0 +1,18 @@
+{
+ "1": {
+ "5a4a63": "0a3939",
+ "000000": "000000",
+ "84739c": "135c56",
+ "c5195a": "a63c9f",
+ "bd5294": "0d635c",
+ "ad94c5": "238071",
+ "31313a": "522b71",
+ "424252": "6f519c",
+ "73637b": "0b4a45",
+ "292929": "34214a",
+ "e6ad10": "467eb8",
+ "ffff00": "7ab7e6",
+ "a50052": "831774",
+ "943a73": "04403f"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/544_3.json b/public/images/pokemon/variant/544_3.json
new file mode 100644
index 00000000000..4922089b1f5
--- /dev/null
+++ b/public/images/pokemon/variant/544_3.json
@@ -0,0 +1,3044 @@
+{
+ "textures": [
+ {
+ "image": "544_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 263,
+ "h": 263
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 18,
+ "w": 65,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 18,
+ "w": 65,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 18,
+ "w": 65,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 18,
+ "w": 65,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 18,
+ "w": 65,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 18,
+ "w": 65,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 19,
+ "w": 65,
+ "h": 43
+ },
+ "frame": {
+ "x": 65,
+ "y": 0,
+ "w": 65,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 19,
+ "w": 65,
+ "h": 43
+ },
+ "frame": {
+ "x": 65,
+ "y": 0,
+ "w": 65,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 19,
+ "w": 65,
+ "h": 43
+ },
+ "frame": {
+ "x": 65,
+ "y": 0,
+ "w": 65,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 19,
+ "w": 65,
+ "h": 43
+ },
+ "frame": {
+ "x": 65,
+ "y": 0,
+ "w": 65,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 19,
+ "w": 65,
+ "h": 43
+ },
+ "frame": {
+ "x": 65,
+ "y": 0,
+ "w": 65,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 19,
+ "w": 65,
+ "h": 43
+ },
+ "frame": {
+ "x": 65,
+ "y": 0,
+ "w": 65,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 18,
+ "w": 64,
+ "h": 44
+ },
+ "frame": {
+ "x": 130,
+ "y": 0,
+ "w": 64,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 18,
+ "w": 64,
+ "h": 44
+ },
+ "frame": {
+ "x": 130,
+ "y": 0,
+ "w": 64,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 18,
+ "w": 64,
+ "h": 44
+ },
+ "frame": {
+ "x": 130,
+ "y": 0,
+ "w": 64,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 18,
+ "w": 64,
+ "h": 44
+ },
+ "frame": {
+ "x": 130,
+ "y": 0,
+ "w": 64,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 18,
+ "w": 64,
+ "h": 44
+ },
+ "frame": {
+ "x": 130,
+ "y": 0,
+ "w": 64,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 18,
+ "w": 64,
+ "h": 44
+ },
+ "frame": {
+ "x": 130,
+ "y": 0,
+ "w": 64,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 19,
+ "w": 64,
+ "h": 42
+ },
+ "frame": {
+ "x": 65,
+ "y": 43,
+ "w": 64,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 19,
+ "w": 64,
+ "h": 42
+ },
+ "frame": {
+ "x": 65,
+ "y": 43,
+ "w": 64,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 19,
+ "w": 64,
+ "h": 42
+ },
+ "frame": {
+ "x": 65,
+ "y": 43,
+ "w": 64,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 19,
+ "w": 64,
+ "h": 42
+ },
+ "frame": {
+ "x": 65,
+ "y": 43,
+ "w": 64,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 19,
+ "w": 64,
+ "h": 42
+ },
+ "frame": {
+ "x": 65,
+ "y": 43,
+ "w": 64,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0135.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 19,
+ "w": 64,
+ "h": 42
+ },
+ "frame": {
+ "x": 65,
+ "y": 43,
+ "w": 64,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 20,
+ "w": 64,
+ "h": 41
+ },
+ "frame": {
+ "x": 0,
+ "y": 44,
+ "w": 64,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 20,
+ "w": 64,
+ "h": 41
+ },
+ "frame": {
+ "x": 0,
+ "y": 44,
+ "w": 64,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 20,
+ "w": 64,
+ "h": 41
+ },
+ "frame": {
+ "x": 0,
+ "y": 44,
+ "w": 64,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 20,
+ "w": 64,
+ "h": 41
+ },
+ "frame": {
+ "x": 0,
+ "y": 44,
+ "w": 64,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 20,
+ "w": 64,
+ "h": 41
+ },
+ "frame": {
+ "x": 0,
+ "y": 44,
+ "w": 64,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 20,
+ "w": 64,
+ "h": 41
+ },
+ "frame": {
+ "x": 0,
+ "y": 44,
+ "w": 64,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 20,
+ "w": 64,
+ "h": 41
+ },
+ "frame": {
+ "x": 0,
+ "y": 44,
+ "w": 64,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 20,
+ "w": 64,
+ "h": 41
+ },
+ "frame": {
+ "x": 0,
+ "y": 44,
+ "w": 64,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 18,
+ "w": 63,
+ "h": 44
+ },
+ "frame": {
+ "x": 194,
+ "y": 0,
+ "w": 63,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 18,
+ "w": 63,
+ "h": 44
+ },
+ "frame": {
+ "x": 194,
+ "y": 0,
+ "w": 63,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 18,
+ "w": 63,
+ "h": 44
+ },
+ "frame": {
+ "x": 194,
+ "y": 0,
+ "w": 63,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 18,
+ "w": 63,
+ "h": 44
+ },
+ "frame": {
+ "x": 194,
+ "y": 0,
+ "w": 63,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 18,
+ "w": 63,
+ "h": 44
+ },
+ "frame": {
+ "x": 194,
+ "y": 0,
+ "w": 63,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 18,
+ "w": 63,
+ "h": 44
+ },
+ "frame": {
+ "x": 194,
+ "y": 0,
+ "w": 63,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 19,
+ "w": 63,
+ "h": 42
+ },
+ "frame": {
+ "x": 129,
+ "y": 44,
+ "w": 63,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 19,
+ "w": 63,
+ "h": 42
+ },
+ "frame": {
+ "x": 129,
+ "y": 44,
+ "w": 63,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 19,
+ "w": 63,
+ "h": 42
+ },
+ "frame": {
+ "x": 129,
+ "y": 44,
+ "w": 63,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 19,
+ "w": 63,
+ "h": 42
+ },
+ "frame": {
+ "x": 129,
+ "y": 44,
+ "w": 63,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 19,
+ "w": 63,
+ "h": 42
+ },
+ "frame": {
+ "x": 129,
+ "y": 44,
+ "w": 63,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 19,
+ "w": 63,
+ "h": 42
+ },
+ "frame": {
+ "x": 129,
+ "y": 44,
+ "w": 63,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0136.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 19,
+ "w": 63,
+ "h": 42
+ },
+ "frame": {
+ "x": 129,
+ "y": 44,
+ "w": 63,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0137.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 19,
+ "w": 63,
+ "h": 42
+ },
+ "frame": {
+ "x": 129,
+ "y": 44,
+ "w": 63,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 20,
+ "w": 63,
+ "h": 41
+ },
+ "frame": {
+ "x": 192,
+ "y": 44,
+ "w": 63,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 20,
+ "w": 63,
+ "h": 41
+ },
+ "frame": {
+ "x": 192,
+ "y": 44,
+ "w": 63,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 20,
+ "w": 63,
+ "h": 41
+ },
+ "frame": {
+ "x": 192,
+ "y": 44,
+ "w": 63,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 20,
+ "w": 63,
+ "h": 41
+ },
+ "frame": {
+ "x": 192,
+ "y": 44,
+ "w": 63,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 20,
+ "w": 63,
+ "h": 41
+ },
+ "frame": {
+ "x": 192,
+ "y": 44,
+ "w": 63,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 20,
+ "w": 63,
+ "h": 41
+ },
+ "frame": {
+ "x": 192,
+ "y": 44,
+ "w": 63,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 21,
+ "w": 63,
+ "h": 40
+ },
+ "frame": {
+ "x": 192,
+ "y": 85,
+ "w": 63,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 21,
+ "w": 63,
+ "h": 40
+ },
+ "frame": {
+ "x": 192,
+ "y": 85,
+ "w": 63,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 21,
+ "w": 63,
+ "h": 40
+ },
+ "frame": {
+ "x": 192,
+ "y": 85,
+ "w": 63,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 21,
+ "w": 63,
+ "h": 40
+ },
+ "frame": {
+ "x": 192,
+ "y": 85,
+ "w": 63,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 21,
+ "w": 63,
+ "h": 40
+ },
+ "frame": {
+ "x": 192,
+ "y": 85,
+ "w": 63,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 21,
+ "w": 63,
+ "h": 40
+ },
+ "frame": {
+ "x": 192,
+ "y": 85,
+ "w": 63,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 17,
+ "w": 62,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 85,
+ "w": 62,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 17,
+ "w": 62,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 85,
+ "w": 62,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 17,
+ "w": 62,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 85,
+ "w": 62,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 17,
+ "w": 62,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 85,
+ "w": 62,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 17,
+ "w": 62,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 85,
+ "w": 62,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 17,
+ "w": 62,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 85,
+ "w": 62,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0141.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 17,
+ "w": 62,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 85,
+ "w": 62,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0142.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 17,
+ "w": 62,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 85,
+ "w": 62,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 17,
+ "w": 62,
+ "h": 44
+ },
+ "frame": {
+ "x": 62,
+ "y": 85,
+ "w": 62,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 17,
+ "w": 62,
+ "h": 44
+ },
+ "frame": {
+ "x": 62,
+ "y": 85,
+ "w": 62,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 17,
+ "w": 62,
+ "h": 44
+ },
+ "frame": {
+ "x": 62,
+ "y": 85,
+ "w": 62,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 17,
+ "w": 62,
+ "h": 44
+ },
+ "frame": {
+ "x": 62,
+ "y": 85,
+ "w": 62,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 17,
+ "w": 62,
+ "h": 44
+ },
+ "frame": {
+ "x": 62,
+ "y": 85,
+ "w": 62,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0140.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 17,
+ "w": 62,
+ "h": 44
+ },
+ "frame": {
+ "x": 62,
+ "y": 85,
+ "w": 62,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 18,
+ "w": 62,
+ "h": 43
+ },
+ "frame": {
+ "x": 124,
+ "y": 86,
+ "w": 62,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 18,
+ "w": 62,
+ "h": 43
+ },
+ "frame": {
+ "x": 124,
+ "y": 86,
+ "w": 62,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 18,
+ "w": 62,
+ "h": 43
+ },
+ "frame": {
+ "x": 124,
+ "y": 86,
+ "w": 62,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 18,
+ "w": 62,
+ "h": 43
+ },
+ "frame": {
+ "x": 124,
+ "y": 86,
+ "w": 62,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0138.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 18,
+ "w": 62,
+ "h": 43
+ },
+ "frame": {
+ "x": 124,
+ "y": 86,
+ "w": 62,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0139.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 18,
+ "w": 62,
+ "h": 43
+ },
+ "frame": {
+ "x": 124,
+ "y": 86,
+ "w": 62,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 17,
+ "w": 61,
+ "h": 45
+ },
+ "frame": {
+ "x": 186,
+ "y": 125,
+ "w": 61,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 17,
+ "w": 61,
+ "h": 45
+ },
+ "frame": {
+ "x": 186,
+ "y": 125,
+ "w": 61,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 17,
+ "w": 61,
+ "h": 45
+ },
+ "frame": {
+ "x": 186,
+ "y": 125,
+ "w": 61,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 17,
+ "w": 61,
+ "h": 45
+ },
+ "frame": {
+ "x": 186,
+ "y": 125,
+ "w": 61,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 17,
+ "w": 61,
+ "h": 45
+ },
+ "frame": {
+ "x": 186,
+ "y": 125,
+ "w": 61,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 17,
+ "w": 61,
+ "h": 45
+ },
+ "frame": {
+ "x": 186,
+ "y": 125,
+ "w": 61,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 17,
+ "w": 61,
+ "h": 45
+ },
+ "frame": {
+ "x": 186,
+ "y": 125,
+ "w": 61,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 17,
+ "w": 61,
+ "h": 45
+ },
+ "frame": {
+ "x": 186,
+ "y": 125,
+ "w": 61,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 17,
+ "w": 61,
+ "h": 45
+ },
+ "frame": {
+ "x": 186,
+ "y": 125,
+ "w": 61,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 17,
+ "w": 61,
+ "h": 45
+ },
+ "frame": {
+ "x": 186,
+ "y": 125,
+ "w": 61,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 17,
+ "w": 61,
+ "h": 45
+ },
+ "frame": {
+ "x": 186,
+ "y": 125,
+ "w": 61,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 17,
+ "w": 61,
+ "h": 45
+ },
+ "frame": {
+ "x": 186,
+ "y": 125,
+ "w": 61,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 17,
+ "w": 61,
+ "h": 45
+ },
+ "frame": {
+ "x": 186,
+ "y": 125,
+ "w": 61,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 17,
+ "w": 61,
+ "h": 45
+ },
+ "frame": {
+ "x": 186,
+ "y": 125,
+ "w": 61,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 17,
+ "w": 61,
+ "h": 45
+ },
+ "frame": {
+ "x": 186,
+ "y": 125,
+ "w": 61,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 17,
+ "w": 61,
+ "h": 45
+ },
+ "frame": {
+ "x": 186,
+ "y": 125,
+ "w": 61,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 17,
+ "w": 61,
+ "h": 45
+ },
+ "frame": {
+ "x": 186,
+ "y": 125,
+ "w": 61,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 17,
+ "w": 61,
+ "h": 45
+ },
+ "frame": {
+ "x": 186,
+ "y": 125,
+ "w": 61,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 17,
+ "w": 61,
+ "h": 45
+ },
+ "frame": {
+ "x": 186,
+ "y": 125,
+ "w": 61,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 17,
+ "w": 61,
+ "h": 45
+ },
+ "frame": {
+ "x": 186,
+ "y": 125,
+ "w": 61,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0143.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 17,
+ "w": 61,
+ "h": 45
+ },
+ "frame": {
+ "x": 186,
+ "y": 125,
+ "w": 61,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0144.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 17,
+ "w": 61,
+ "h": 45
+ },
+ "frame": {
+ "x": 186,
+ "y": 125,
+ "w": 61,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 0,
+ "w": 48,
+ "h": 48
+ },
+ "frame": {
+ "x": 0,
+ "y": 170,
+ "w": 48,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 0,
+ "w": 48,
+ "h": 48
+ },
+ "frame": {
+ "x": 0,
+ "y": 170,
+ "w": 48,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 22,
+ "w": 61,
+ "h": 40
+ },
+ "frame": {
+ "x": 0,
+ "y": 129,
+ "w": 61,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 22,
+ "w": 61,
+ "h": 40
+ },
+ "frame": {
+ "x": 0,
+ "y": 129,
+ "w": 61,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 22,
+ "w": 61,
+ "h": 40
+ },
+ "frame": {
+ "x": 0,
+ "y": 129,
+ "w": 61,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 22,
+ "w": 61,
+ "h": 40
+ },
+ "frame": {
+ "x": 0,
+ "y": 129,
+ "w": 61,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 17,
+ "w": 59,
+ "h": 45
+ },
+ "frame": {
+ "x": 0,
+ "y": 218,
+ "w": 59,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 17,
+ "w": 59,
+ "h": 45
+ },
+ "frame": {
+ "x": 0,
+ "y": 218,
+ "w": 59,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 17,
+ "w": 59,
+ "h": 45
+ },
+ "frame": {
+ "x": 0,
+ "y": 218,
+ "w": 59,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 17,
+ "w": 59,
+ "h": 45
+ },
+ "frame": {
+ "x": 0,
+ "y": 218,
+ "w": 59,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 17,
+ "w": 59,
+ "h": 45
+ },
+ "frame": {
+ "x": 0,
+ "y": 218,
+ "w": 59,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 17,
+ "w": 59,
+ "h": 45
+ },
+ "frame": {
+ "x": 0,
+ "y": 218,
+ "w": 59,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 1,
+ "w": 51,
+ "h": 47
+ },
+ "frame": {
+ "x": 48,
+ "y": 170,
+ "w": 51,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 1,
+ "w": 51,
+ "h": 47
+ },
+ "frame": {
+ "x": 48,
+ "y": 170,
+ "w": 51,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 20,
+ "w": 61,
+ "h": 40
+ },
+ "frame": {
+ "x": 61,
+ "y": 129,
+ "w": 61,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 20,
+ "w": 61,
+ "h": 40
+ },
+ "frame": {
+ "x": 61,
+ "y": 129,
+ "w": 61,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 20,
+ "w": 61,
+ "h": 40
+ },
+ "frame": {
+ "x": 61,
+ "y": 129,
+ "w": 61,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 20,
+ "w": 61,
+ "h": 40
+ },
+ "frame": {
+ "x": 61,
+ "y": 129,
+ "w": 61,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 12,
+ "w": 59,
+ "h": 45
+ },
+ "frame": {
+ "x": 59,
+ "y": 217,
+ "w": 59,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 12,
+ "w": 59,
+ "h": 45
+ },
+ "frame": {
+ "x": 59,
+ "y": 217,
+ "w": 59,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 17,
+ "w": 57,
+ "h": 45
+ },
+ "frame": {
+ "x": 99,
+ "y": 170,
+ "w": 57,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 17,
+ "w": 57,
+ "h": 45
+ },
+ "frame": {
+ "x": 99,
+ "y": 170,
+ "w": 57,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 17,
+ "w": 57,
+ "h": 45
+ },
+ "frame": {
+ "x": 99,
+ "y": 170,
+ "w": 57,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 17,
+ "w": 57,
+ "h": 45
+ },
+ "frame": {
+ "x": 99,
+ "y": 170,
+ "w": 57,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 17,
+ "w": 57,
+ "h": 45
+ },
+ "frame": {
+ "x": 99,
+ "y": 170,
+ "w": 57,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 17,
+ "w": 57,
+ "h": 45
+ },
+ "frame": {
+ "x": 99,
+ "y": 170,
+ "w": 57,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 26,
+ "w": 61,
+ "h": 36
+ },
+ "frame": {
+ "x": 122,
+ "y": 129,
+ "w": 61,
+ "h": 36
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 26,
+ "w": 61,
+ "h": 36
+ },
+ "frame": {
+ "x": 122,
+ "y": 129,
+ "w": 61,
+ "h": 36
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 9,
+ "w": 56,
+ "h": 45
+ },
+ "frame": {
+ "x": 118,
+ "y": 215,
+ "w": 56,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 9,
+ "w": 56,
+ "h": 45
+ },
+ "frame": {
+ "x": 118,
+ "y": 215,
+ "w": 56,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 6,
+ "w": 53,
+ "h": 45
+ },
+ "frame": {
+ "x": 156,
+ "y": 170,
+ "w": 53,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 6,
+ "w": 53,
+ "h": 45
+ },
+ "frame": {
+ "x": 156,
+ "y": 170,
+ "w": 53,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 15,
+ "y": 18,
+ "w": 54,
+ "h": 44
+ },
+ "frame": {
+ "x": 209,
+ "y": 170,
+ "w": 54,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 15,
+ "y": 18,
+ "w": 54,
+ "h": 44
+ },
+ "frame": {
+ "x": 209,
+ "y": 170,
+ "w": 54,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 15,
+ "y": 18,
+ "w": 54,
+ "h": 44
+ },
+ "frame": {
+ "x": 209,
+ "y": 170,
+ "w": 54,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 15,
+ "y": 18,
+ "w": 54,
+ "h": 44
+ },
+ "frame": {
+ "x": 209,
+ "y": 170,
+ "w": 54,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 15,
+ "y": 18,
+ "w": 54,
+ "h": 44
+ },
+ "frame": {
+ "x": 209,
+ "y": 170,
+ "w": 54,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 15,
+ "y": 18,
+ "w": 54,
+ "h": 44
+ },
+ "frame": {
+ "x": 209,
+ "y": 170,
+ "w": 54,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 17,
+ "w": 51,
+ "h": 45
+ },
+ "frame": {
+ "x": 209,
+ "y": 214,
+ "w": 51,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 17,
+ "w": 51,
+ "h": 45
+ },
+ "frame": {
+ "x": 209,
+ "y": 214,
+ "w": 51,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 17,
+ "w": 51,
+ "h": 45
+ },
+ "frame": {
+ "x": 209,
+ "y": 214,
+ "w": 51,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 17,
+ "w": 51,
+ "h": 45
+ },
+ "frame": {
+ "x": 209,
+ "y": 214,
+ "w": 51,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 17,
+ "w": 51,
+ "h": 45
+ },
+ "frame": {
+ "x": 209,
+ "y": 214,
+ "w": 51,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 62
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 17,
+ "w": 51,
+ "h": 45
+ },
+ "frame": {
+ "x": 209,
+ "y": 214,
+ "w": 51,
+ "h": 45
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:cd420f28a315fee8c2789e004d9201c7:7d861d099238964c867bf12e4f4ddebf:eee15e1e8c3674e6eefdea63680e6d29$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/544_3.png b/public/images/pokemon/variant/544_3.png
new file mode 100644
index 00000000000..921a667741d
Binary files /dev/null and b/public/images/pokemon/variant/544_3.png differ
diff --git a/public/images/pokemon/variant/545.json b/public/images/pokemon/variant/545.json
new file mode 100644
index 00000000000..c7c78da1a55
--- /dev/null
+++ b/public/images/pokemon/variant/545.json
@@ -0,0 +1,32 @@
+{
+ "1": {
+ "631010": "0b4a45",
+ "c5195a": "238071",
+ "101010": "101010",
+ "6b216b": "831774",
+ "8c3a9c": "a63c9f",
+ "ad297b": "0d635c",
+ "9c1042": "135c56",
+ "4a0000": "0a3939",
+ "212931": "34214a",
+ "424a63": "6f519c",
+ "84084a": "04403f",
+ "3a3a4a": "522b71",
+ "dead10": "7ab7e6"
+ },
+ "2": {
+ "631010": "8f795c",
+ "c5195a": "dddaaf",
+ "101010": "101010",
+ "6b216b": "b37830",
+ "8c3a9c": "d7b444",
+ "ad297b": "b37830",
+ "9c1042": "bdaf8a",
+ "4a0000": "6d5435",
+ "212931": "212931",
+ "424a63": "5a93a5",
+ "84084a": "965840",
+ "3a3a4a": "466f90",
+ "dead10": "a5d3ff"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/551.json b/public/images/pokemon/variant/551.json
new file mode 100644
index 00000000000..9e4903a6701
--- /dev/null
+++ b/public/images/pokemon/variant/551.json
@@ -0,0 +1,28 @@
+{
+ "1": {
+ "8c7331": "b83b28",
+ "212121": "262347",
+ "debd84": "f29973",
+ "523a10": "27172f",
+ "101010": "101010",
+ "c59c5a": "d8693a",
+ "42424a": "343958",
+ "b5b5bd": "b5b5bd",
+ "525263": "525263",
+ "ce737b": "307681",
+ "ef94a5": "4cbda2"
+ },
+ "2": {
+ "8c7331": "484b64",
+ "212121": "290c2a",
+ "debd84": "8688a0",
+ "523a10": "1c2231",
+ "101010": "101010",
+ "c59c5a": "646781",
+ "42424a": "301f40",
+ "b5b5bd": "b5b5bd",
+ "525263": "525263",
+ "ce737b": "91a1b7",
+ "ef94a5": "d6e2eb"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/552.json b/public/images/pokemon/variant/552.json
new file mode 100644
index 00000000000..efb650485c4
--- /dev/null
+++ b/public/images/pokemon/variant/552.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "8c7331": "b83b28",
+ "523a10": "261d35",
+ "c59c5a": "d8693a",
+ "debd84": "f29973",
+ "101010": "101010",
+ "292931": "343958",
+ "b5b5bd": "b5b5bd",
+ "191921": "232044",
+ "5a5a6b": "7c4c1f",
+ "ffffff": "ebce81",
+ "ce737b": "307681",
+ "ef94a5": "4cbda2",
+ "c5c5c5": "b37941",
+ "b5525a": "e67448"
+ },
+ "2": {
+ "8c7331": "484b64",
+ "523a10": "161b23",
+ "c59c5a": "646781",
+ "debd84": "8688a0",
+ "101010": "101010",
+ "292931": "412853",
+ "b5b5bd": "b5b5bd",
+ "191921": "281842",
+ "5a5a6b": "27353d",
+ "ffffff": "90a0a7",
+ "ce737b": "91a1b7",
+ "ef94a5": "d6e2eb",
+ "c5c5c5": "5b6d75",
+ "b5525a": "7996aa"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/553.json b/public/images/pokemon/variant/553.json
new file mode 100644
index 00000000000..b89de1b329b
--- /dev/null
+++ b/public/images/pokemon/variant/553.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "8c3142": "143a4b",
+ "522921": "0b2033",
+ "c55252": "1b7871",
+ "191921": "100f2b",
+ "212129": "192540",
+ "101010": "101010",
+ "e67b73": "40a592",
+ "52525a": "52525a",
+ "b5b5b5": "c98e5c",
+ "8c948c": "d8693a",
+ "ffffff": "ffefa7",
+ "bdc5ce": "f7a452",
+ "525263": "6b3b20",
+ "7b7b84": "835a48"
+ },
+ "2": {
+ "8c3142": "8b93a5",
+ "522921": "272f33",
+ "c55252": "c5cbd0",
+ "191921": "3d1947",
+ "212129": "58265a",
+ "101010": "101010",
+ "e67b73": "e8e9eb",
+ "52525a": "52525a",
+ "b5b5b5": "45545d",
+ "8c948c": "13171b",
+ "ffffff": "69777e",
+ "bdc5ce": "262d31",
+ "525263": "273136",
+ "7b7b84": "141a1e"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/56.json b/public/images/pokemon/variant/56.json
new file mode 100644
index 00000000000..d349c7003dc
--- /dev/null
+++ b/public/images/pokemon/variant/56.json
@@ -0,0 +1,18 @@
+{
+ "0": {
+ "101010": "101010",
+ "ffc584": "98b5cb",
+ "6b4a29": "5f4e8a",
+ "d6ad9c": "867ba4",
+ "c5734a": "5c798f",
+ "f7deb5": "ada2cd",
+ "dea573": "7b96ab",
+ "734200": "476983",
+ "fff7ce": "c8bfe3",
+ "ffffff": "ffffff",
+ "dedede": "dedede",
+ "ef7363": "ef7363",
+ "b54231": "b54231",
+ "efb58c": "efb58c"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/56_2.json b/public/images/pokemon/variant/56_2.json
new file mode 100644
index 00000000000..df61b1599a4
--- /dev/null
+++ b/public/images/pokemon/variant/56_2.json
@@ -0,0 +1,2540 @@
+{
+ "textures": [
+ {
+ "image": "56_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 252,
+ "h": 252
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 19,
+ "w": 66,
+ "h": 42
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 19,
+ "w": 66,
+ "h": 42
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 19,
+ "w": 66,
+ "h": 42
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 19,
+ "w": 66,
+ "h": 42
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 19,
+ "w": 66,
+ "h": 42
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 19,
+ "w": 66,
+ "h": 42
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 19,
+ "w": 66,
+ "h": 42
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 16,
+ "w": 66,
+ "h": 45
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 66,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 16,
+ "w": 66,
+ "h": 45
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 66,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 16,
+ "w": 66,
+ "h": 45
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 66,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 16,
+ "w": 66,
+ "h": 45
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 66,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 16,
+ "w": 66,
+ "h": 45
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 66,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 16,
+ "w": 66,
+ "h": 45
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 66,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 16,
+ "w": 66,
+ "h": 45
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 66,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 16,
+ "w": 66,
+ "h": 45
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 66,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 16,
+ "w": 66,
+ "h": 45
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 66,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 16,
+ "w": 66,
+ "h": 45
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 66,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 16,
+ "w": 66,
+ "h": 45
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 66,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 16,
+ "w": 66,
+ "h": 45
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 66,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 16,
+ "w": 66,
+ "h": 45
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 66,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 16,
+ "w": 66,
+ "h": 45
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 66,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 16,
+ "w": 65,
+ "h": 45
+ },
+ "frame": {
+ "x": 132,
+ "y": 0,
+ "w": 65,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 16,
+ "w": 65,
+ "h": 45
+ },
+ "frame": {
+ "x": 132,
+ "y": 0,
+ "w": 65,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 16,
+ "w": 65,
+ "h": 45
+ },
+ "frame": {
+ "x": 132,
+ "y": 0,
+ "w": 65,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 16,
+ "w": 65,
+ "h": 45
+ },
+ "frame": {
+ "x": 132,
+ "y": 0,
+ "w": 65,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 16,
+ "w": 65,
+ "h": 45
+ },
+ "frame": {
+ "x": 132,
+ "y": 0,
+ "w": 65,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 16,
+ "w": 65,
+ "h": 45
+ },
+ "frame": {
+ "x": 132,
+ "y": 0,
+ "w": 65,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 16,
+ "w": 65,
+ "h": 45
+ },
+ "frame": {
+ "x": 132,
+ "y": 0,
+ "w": 65,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 66,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 42,
+ "w": 66,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 66,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 42,
+ "w": 66,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 66,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 42,
+ "w": 66,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 66,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 42,
+ "w": 66,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 66,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 42,
+ "w": 66,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 66,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 42,
+ "w": 66,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 66,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 42,
+ "w": 66,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 63,
+ "h": 47
+ },
+ "frame": {
+ "x": 66,
+ "y": 45,
+ "w": 63,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 63,
+ "h": 47
+ },
+ "frame": {
+ "x": 66,
+ "y": 45,
+ "w": 63,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 63,
+ "h": 47
+ },
+ "frame": {
+ "x": 66,
+ "y": 45,
+ "w": 63,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 63,
+ "h": 47
+ },
+ "frame": {
+ "x": 66,
+ "y": 45,
+ "w": 63,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 63,
+ "h": 47
+ },
+ "frame": {
+ "x": 66,
+ "y": 45,
+ "w": 63,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 63,
+ "h": 47
+ },
+ "frame": {
+ "x": 66,
+ "y": 45,
+ "w": 63,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 63,
+ "h": 47
+ },
+ "frame": {
+ "x": 66,
+ "y": 45,
+ "w": 63,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 63,
+ "h": 47
+ },
+ "frame": {
+ "x": 66,
+ "y": 45,
+ "w": 63,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 63,
+ "h": 47
+ },
+ "frame": {
+ "x": 66,
+ "y": 45,
+ "w": 63,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 63,
+ "h": 47
+ },
+ "frame": {
+ "x": 66,
+ "y": 45,
+ "w": 63,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 63,
+ "h": 47
+ },
+ "frame": {
+ "x": 66,
+ "y": 45,
+ "w": 63,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 63,
+ "h": 47
+ },
+ "frame": {
+ "x": 66,
+ "y": 45,
+ "w": 63,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 63,
+ "h": 47
+ },
+ "frame": {
+ "x": 66,
+ "y": 45,
+ "w": 63,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 63,
+ "h": 47
+ },
+ "frame": {
+ "x": 66,
+ "y": 45,
+ "w": 63,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 66,
+ "h": 49
+ },
+ "frame": {
+ "x": 129,
+ "y": 45,
+ "w": 66,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 66,
+ "h": 49
+ },
+ "frame": {
+ "x": 129,
+ "y": 45,
+ "w": 66,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 66,
+ "h": 49
+ },
+ "frame": {
+ "x": 129,
+ "y": 45,
+ "w": 66,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 66,
+ "h": 49
+ },
+ "frame": {
+ "x": 129,
+ "y": 45,
+ "w": 66,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 66,
+ "h": 49
+ },
+ "frame": {
+ "x": 129,
+ "y": 45,
+ "w": 66,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 66,
+ "h": 49
+ },
+ "frame": {
+ "x": 129,
+ "y": 45,
+ "w": 66,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 66,
+ "h": 49
+ },
+ "frame": {
+ "x": 129,
+ "y": 45,
+ "w": 66,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 65,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 89,
+ "w": 65,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 65,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 89,
+ "w": 65,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 65,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 89,
+ "w": 65,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 65,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 89,
+ "w": 65,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 65,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 89,
+ "w": 65,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 65,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 89,
+ "w": 65,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 65,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 89,
+ "w": 65,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 61,
+ "h": 51
+ },
+ "frame": {
+ "x": 65,
+ "y": 92,
+ "w": 61,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 61,
+ "h": 51
+ },
+ "frame": {
+ "x": 65,
+ "y": 92,
+ "w": 61,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 61,
+ "h": 51
+ },
+ "frame": {
+ "x": 65,
+ "y": 92,
+ "w": 61,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 126,
+ "y": 94,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 126,
+ "y": 94,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 126,
+ "y": 94,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 126,
+ "y": 94,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 126,
+ "y": 94,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 126,
+ "y": 94,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 126,
+ "y": 94,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 126,
+ "y": 94,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 126,
+ "y": 94,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 126,
+ "y": 94,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 126,
+ "y": 94,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 126,
+ "y": 94,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 126,
+ "y": 94,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 126,
+ "y": 94,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 61,
+ "h": 53
+ },
+ "frame": {
+ "x": 191,
+ "y": 94,
+ "w": 61,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 61,
+ "h": 53
+ },
+ "frame": {
+ "x": 191,
+ "y": 94,
+ "w": 61,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 61,
+ "h": 53
+ },
+ "frame": {
+ "x": 191,
+ "y": 94,
+ "w": 61,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 0,
+ "y": 138,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 0,
+ "y": 138,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 0,
+ "y": 138,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 0,
+ "y": 138,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 0,
+ "y": 138,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 0,
+ "y": 138,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 0,
+ "y": 138,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 0,
+ "y": 138,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 0,
+ "y": 138,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 0,
+ "y": 138,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 66,
+ "h": 51
+ },
+ "frame": {
+ "x": 65,
+ "y": 145,
+ "w": 66,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 66,
+ "h": 51
+ },
+ "frame": {
+ "x": 65,
+ "y": 145,
+ "w": 66,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 66,
+ "h": 51
+ },
+ "frame": {
+ "x": 65,
+ "y": 145,
+ "w": 66,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 66,
+ "h": 51
+ },
+ "frame": {
+ "x": 65,
+ "y": 145,
+ "w": 66,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 66,
+ "h": 51
+ },
+ "frame": {
+ "x": 65,
+ "y": 145,
+ "w": 66,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 66,
+ "h": 51
+ },
+ "frame": {
+ "x": 65,
+ "y": 145,
+ "w": 66,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 131,
+ "y": 147,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 131,
+ "y": 147,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 131,
+ "y": 147,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 10,
+ "w": 64,
+ "h": 51
+ },
+ "frame": {
+ "x": 0,
+ "y": 189,
+ "w": 64,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 10,
+ "w": 64,
+ "h": 51
+ },
+ "frame": {
+ "x": 0,
+ "y": 189,
+ "w": 64,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 10,
+ "w": 64,
+ "h": 51
+ },
+ "frame": {
+ "x": 0,
+ "y": 189,
+ "w": 64,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 3,
+ "w": 62,
+ "h": 52
+ },
+ "frame": {
+ "x": 64,
+ "y": 196,
+ "w": 62,
+ "h": 52
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 3,
+ "w": 62,
+ "h": 52
+ },
+ "frame": {
+ "x": 64,
+ "y": 196,
+ "w": 62,
+ "h": 52
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 3,
+ "w": 62,
+ "h": 52
+ },
+ "frame": {
+ "x": 64,
+ "y": 196,
+ "w": 62,
+ "h": 52
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 3,
+ "w": 62,
+ "h": 52
+ },
+ "frame": {
+ "x": 64,
+ "y": 196,
+ "w": 62,
+ "h": 52
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 3,
+ "w": 62,
+ "h": 52
+ },
+ "frame": {
+ "x": 64,
+ "y": 196,
+ "w": 62,
+ "h": 52
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 3,
+ "w": 62,
+ "h": 52
+ },
+ "frame": {
+ "x": 64,
+ "y": 196,
+ "w": 62,
+ "h": 52
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 6,
+ "w": 64,
+ "h": 53
+ },
+ "frame": {
+ "x": 126,
+ "y": 198,
+ "w": 64,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 6,
+ "w": 64,
+ "h": 53
+ },
+ "frame": {
+ "x": 126,
+ "y": 198,
+ "w": 64,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 6,
+ "w": 64,
+ "h": 53
+ },
+ "frame": {
+ "x": 126,
+ "y": 198,
+ "w": 64,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 61,
+ "h": 53
+ },
+ "frame": {
+ "x": 190,
+ "y": 198,
+ "w": 61,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 61,
+ "h": 53
+ },
+ "frame": {
+ "x": 190,
+ "y": 198,
+ "w": 61,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 61,
+ "h": 53
+ },
+ "frame": {
+ "x": 190,
+ "y": 198,
+ "w": 61,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 61,
+ "h": 53
+ },
+ "frame": {
+ "x": 190,
+ "y": 198,
+ "w": 61,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 61,
+ "h": 53
+ },
+ "frame": {
+ "x": 190,
+ "y": 198,
+ "w": 61,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 61,
+ "h": 53
+ },
+ "frame": {
+ "x": 190,
+ "y": 198,
+ "w": 61,
+ "h": 53
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:e72b421d32886c87a001cd9b94b15101:e42444e92fd52816c6ad297348ed4c48:3afecc8ee78ad810b6b9b55f88aa7411$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/56_2.png b/public/images/pokemon/variant/56_2.png
new file mode 100644
index 00000000000..a4d69550157
Binary files /dev/null and b/public/images/pokemon/variant/56_2.png differ
diff --git a/public/images/pokemon/variant/56_3.json b/public/images/pokemon/variant/56_3.json
new file mode 100644
index 00000000000..755c3222ef8
--- /dev/null
+++ b/public/images/pokemon/variant/56_3.json
@@ -0,0 +1,2540 @@
+{
+ "textures": [
+ {
+ "image": "56_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 252,
+ "h": 252
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 19,
+ "w": 66,
+ "h": 42
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 19,
+ "w": 66,
+ "h": 42
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 19,
+ "w": 66,
+ "h": 42
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 19,
+ "w": 66,
+ "h": 42
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 19,
+ "w": 66,
+ "h": 42
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 19,
+ "w": 66,
+ "h": 42
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 19,
+ "w": 66,
+ "h": 42
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 16,
+ "w": 66,
+ "h": 45
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 66,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 16,
+ "w": 66,
+ "h": 45
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 66,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 16,
+ "w": 66,
+ "h": 45
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 66,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 16,
+ "w": 66,
+ "h": 45
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 66,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 16,
+ "w": 66,
+ "h": 45
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 66,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 16,
+ "w": 66,
+ "h": 45
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 66,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 16,
+ "w": 66,
+ "h": 45
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 66,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 16,
+ "w": 66,
+ "h": 45
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 66,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 16,
+ "w": 66,
+ "h": 45
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 66,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 16,
+ "w": 66,
+ "h": 45
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 66,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 16,
+ "w": 66,
+ "h": 45
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 66,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 16,
+ "w": 66,
+ "h": 45
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 66,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 16,
+ "w": 66,
+ "h": 45
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 66,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 16,
+ "w": 66,
+ "h": 45
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 66,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 16,
+ "w": 65,
+ "h": 45
+ },
+ "frame": {
+ "x": 132,
+ "y": 0,
+ "w": 65,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 16,
+ "w": 65,
+ "h": 45
+ },
+ "frame": {
+ "x": 132,
+ "y": 0,
+ "w": 65,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 16,
+ "w": 65,
+ "h": 45
+ },
+ "frame": {
+ "x": 132,
+ "y": 0,
+ "w": 65,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 16,
+ "w": 65,
+ "h": 45
+ },
+ "frame": {
+ "x": 132,
+ "y": 0,
+ "w": 65,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 16,
+ "w": 65,
+ "h": 45
+ },
+ "frame": {
+ "x": 132,
+ "y": 0,
+ "w": 65,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 16,
+ "w": 65,
+ "h": 45
+ },
+ "frame": {
+ "x": 132,
+ "y": 0,
+ "w": 65,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 16,
+ "w": 65,
+ "h": 45
+ },
+ "frame": {
+ "x": 132,
+ "y": 0,
+ "w": 65,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 66,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 42,
+ "w": 66,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 66,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 42,
+ "w": 66,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 66,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 42,
+ "w": 66,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 66,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 42,
+ "w": 66,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 66,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 42,
+ "w": 66,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 66,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 42,
+ "w": 66,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 66,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 42,
+ "w": 66,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 63,
+ "h": 47
+ },
+ "frame": {
+ "x": 66,
+ "y": 45,
+ "w": 63,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 63,
+ "h": 47
+ },
+ "frame": {
+ "x": 66,
+ "y": 45,
+ "w": 63,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 63,
+ "h": 47
+ },
+ "frame": {
+ "x": 66,
+ "y": 45,
+ "w": 63,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 63,
+ "h": 47
+ },
+ "frame": {
+ "x": 66,
+ "y": 45,
+ "w": 63,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 63,
+ "h": 47
+ },
+ "frame": {
+ "x": 66,
+ "y": 45,
+ "w": 63,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 63,
+ "h": 47
+ },
+ "frame": {
+ "x": 66,
+ "y": 45,
+ "w": 63,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 63,
+ "h": 47
+ },
+ "frame": {
+ "x": 66,
+ "y": 45,
+ "w": 63,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 63,
+ "h": 47
+ },
+ "frame": {
+ "x": 66,
+ "y": 45,
+ "w": 63,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 63,
+ "h": 47
+ },
+ "frame": {
+ "x": 66,
+ "y": 45,
+ "w": 63,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 63,
+ "h": 47
+ },
+ "frame": {
+ "x": 66,
+ "y": 45,
+ "w": 63,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 63,
+ "h": 47
+ },
+ "frame": {
+ "x": 66,
+ "y": 45,
+ "w": 63,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 63,
+ "h": 47
+ },
+ "frame": {
+ "x": 66,
+ "y": 45,
+ "w": 63,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 63,
+ "h": 47
+ },
+ "frame": {
+ "x": 66,
+ "y": 45,
+ "w": 63,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 14,
+ "w": 63,
+ "h": 47
+ },
+ "frame": {
+ "x": 66,
+ "y": 45,
+ "w": 63,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 66,
+ "h": 49
+ },
+ "frame": {
+ "x": 129,
+ "y": 45,
+ "w": 66,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 66,
+ "h": 49
+ },
+ "frame": {
+ "x": 129,
+ "y": 45,
+ "w": 66,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 66,
+ "h": 49
+ },
+ "frame": {
+ "x": 129,
+ "y": 45,
+ "w": 66,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 66,
+ "h": 49
+ },
+ "frame": {
+ "x": 129,
+ "y": 45,
+ "w": 66,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 66,
+ "h": 49
+ },
+ "frame": {
+ "x": 129,
+ "y": 45,
+ "w": 66,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 66,
+ "h": 49
+ },
+ "frame": {
+ "x": 129,
+ "y": 45,
+ "w": 66,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 66,
+ "h": 49
+ },
+ "frame": {
+ "x": 129,
+ "y": 45,
+ "w": 66,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 65,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 89,
+ "w": 65,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 65,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 89,
+ "w": 65,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 65,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 89,
+ "w": 65,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 65,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 89,
+ "w": 65,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 65,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 89,
+ "w": 65,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 65,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 89,
+ "w": 65,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 12,
+ "w": 65,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 89,
+ "w": 65,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 61,
+ "h": 51
+ },
+ "frame": {
+ "x": 65,
+ "y": 92,
+ "w": 61,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 61,
+ "h": 51
+ },
+ "frame": {
+ "x": 65,
+ "y": 92,
+ "w": 61,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 61,
+ "h": 51
+ },
+ "frame": {
+ "x": 65,
+ "y": 92,
+ "w": 61,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 126,
+ "y": 94,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 126,
+ "y": 94,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 126,
+ "y": 94,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 126,
+ "y": 94,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 126,
+ "y": 94,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 126,
+ "y": 94,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 126,
+ "y": 94,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 126,
+ "y": 94,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 126,
+ "y": 94,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 126,
+ "y": 94,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 126,
+ "y": 94,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 126,
+ "y": 94,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 126,
+ "y": 94,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 126,
+ "y": 94,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 61,
+ "h": 53
+ },
+ "frame": {
+ "x": 191,
+ "y": 94,
+ "w": 61,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 61,
+ "h": 53
+ },
+ "frame": {
+ "x": 191,
+ "y": 94,
+ "w": 61,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 61,
+ "h": 53
+ },
+ "frame": {
+ "x": 191,
+ "y": 94,
+ "w": 61,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 0,
+ "y": 138,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 0,
+ "y": 138,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 0,
+ "y": 138,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 0,
+ "y": 138,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 0,
+ "y": 138,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 0,
+ "y": 138,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 0,
+ "y": 138,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 0,
+ "y": 138,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 0,
+ "y": 138,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 0,
+ "y": 138,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 66,
+ "h": 51
+ },
+ "frame": {
+ "x": 65,
+ "y": 145,
+ "w": 66,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 66,
+ "h": 51
+ },
+ "frame": {
+ "x": 65,
+ "y": 145,
+ "w": 66,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 66,
+ "h": 51
+ },
+ "frame": {
+ "x": 65,
+ "y": 145,
+ "w": 66,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 66,
+ "h": 51
+ },
+ "frame": {
+ "x": 65,
+ "y": 145,
+ "w": 66,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 66,
+ "h": 51
+ },
+ "frame": {
+ "x": 65,
+ "y": 145,
+ "w": 66,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 66,
+ "h": 51
+ },
+ "frame": {
+ "x": 65,
+ "y": 145,
+ "w": 66,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 131,
+ "y": 147,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 131,
+ "y": 147,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 10,
+ "w": 65,
+ "h": 51
+ },
+ "frame": {
+ "x": 131,
+ "y": 147,
+ "w": 65,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 10,
+ "w": 64,
+ "h": 51
+ },
+ "frame": {
+ "x": 0,
+ "y": 189,
+ "w": 64,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 10,
+ "w": 64,
+ "h": 51
+ },
+ "frame": {
+ "x": 0,
+ "y": 189,
+ "w": 64,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 10,
+ "w": 64,
+ "h": 51
+ },
+ "frame": {
+ "x": 0,
+ "y": 189,
+ "w": 64,
+ "h": 51
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 3,
+ "w": 62,
+ "h": 52
+ },
+ "frame": {
+ "x": 64,
+ "y": 196,
+ "w": 62,
+ "h": 52
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 3,
+ "w": 62,
+ "h": 52
+ },
+ "frame": {
+ "x": 64,
+ "y": 196,
+ "w": 62,
+ "h": 52
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 3,
+ "w": 62,
+ "h": 52
+ },
+ "frame": {
+ "x": 64,
+ "y": 196,
+ "w": 62,
+ "h": 52
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 3,
+ "w": 62,
+ "h": 52
+ },
+ "frame": {
+ "x": 64,
+ "y": 196,
+ "w": 62,
+ "h": 52
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 3,
+ "w": 62,
+ "h": 52
+ },
+ "frame": {
+ "x": 64,
+ "y": 196,
+ "w": 62,
+ "h": 52
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 3,
+ "w": 62,
+ "h": 52
+ },
+ "frame": {
+ "x": 64,
+ "y": 196,
+ "w": 62,
+ "h": 52
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 6,
+ "w": 64,
+ "h": 53
+ },
+ "frame": {
+ "x": 126,
+ "y": 198,
+ "w": 64,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 6,
+ "w": 64,
+ "h": 53
+ },
+ "frame": {
+ "x": 126,
+ "y": 198,
+ "w": 64,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 6,
+ "w": 64,
+ "h": 53
+ },
+ "frame": {
+ "x": 126,
+ "y": 198,
+ "w": 64,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 61,
+ "h": 53
+ },
+ "frame": {
+ "x": 190,
+ "y": 198,
+ "w": 61,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 61,
+ "h": 53
+ },
+ "frame": {
+ "x": 190,
+ "y": 198,
+ "w": 61,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 61,
+ "h": 53
+ },
+ "frame": {
+ "x": 190,
+ "y": 198,
+ "w": 61,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 61,
+ "h": 53
+ },
+ "frame": {
+ "x": 190,
+ "y": 198,
+ "w": 61,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 61,
+ "h": 53
+ },
+ "frame": {
+ "x": 190,
+ "y": 198,
+ "w": 61,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 61
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 61,
+ "h": 53
+ },
+ "frame": {
+ "x": 190,
+ "y": 198,
+ "w": 61,
+ "h": 53
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:e72b421d32886c87a001cd9b94b15101:e42444e92fd52816c6ad297348ed4c48:3afecc8ee78ad810b6b9b55f88aa7411$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/56_3.png b/public/images/pokemon/variant/56_3.png
new file mode 100644
index 00000000000..0c056ccdac9
Binary files /dev/null and b/public/images/pokemon/variant/56_3.png differ
diff --git a/public/images/pokemon/variant/57_1.json b/public/images/pokemon/variant/57_1.json
new file mode 100644
index 00000000000..248334b0870
--- /dev/null
+++ b/public/images/pokemon/variant/57_1.json
@@ -0,0 +1,1196 @@
+{
+ "textures": [
+ {
+ "image": "57_1.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 315,
+ "h": 315
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 66,
+ "h": 57
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 66,
+ "h": 57
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 66,
+ "h": 56
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 66,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 66,
+ "h": 56
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 66,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 66,
+ "h": 56
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 66,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 66,
+ "h": 56
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 66,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 66,
+ "h": 55
+ },
+ "frame": {
+ "x": 132,
+ "y": 0,
+ "w": 66,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 66,
+ "h": 55
+ },
+ "frame": {
+ "x": 132,
+ "y": 0,
+ "w": 66,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 66,
+ "h": 54
+ },
+ "frame": {
+ "x": 198,
+ "y": 0,
+ "w": 66,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 66,
+ "h": 54
+ },
+ "frame": {
+ "x": 198,
+ "y": 0,
+ "w": 66,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 66,
+ "h": 54
+ },
+ "frame": {
+ "x": 198,
+ "y": 0,
+ "w": 66,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 66,
+ "h": 54
+ },
+ "frame": {
+ "x": 198,
+ "y": 0,
+ "w": 66,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 65,
+ "h": 59
+ },
+ "frame": {
+ "x": 198,
+ "y": 54,
+ "w": 65,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 65,
+ "h": 59
+ },
+ "frame": {
+ "x": 198,
+ "y": 54,
+ "w": 65,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 65,
+ "h": 57
+ },
+ "frame": {
+ "x": 132,
+ "y": 55,
+ "w": 65,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 65,
+ "h": 57
+ },
+ "frame": {
+ "x": 132,
+ "y": 55,
+ "w": 65,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 6,
+ "w": 65,
+ "h": 54
+ },
+ "frame": {
+ "x": 66,
+ "y": 56,
+ "w": 65,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 6,
+ "w": 65,
+ "h": 54
+ },
+ "frame": {
+ "x": 66,
+ "y": 56,
+ "w": 65,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 6,
+ "w": 65,
+ "h": 54
+ },
+ "frame": {
+ "x": 0,
+ "y": 57,
+ "w": 65,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 6,
+ "w": 65,
+ "h": 54
+ },
+ "frame": {
+ "x": 0,
+ "y": 57,
+ "w": 65,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 5,
+ "w": 64,
+ "h": 55
+ },
+ "frame": {
+ "x": 65,
+ "y": 110,
+ "w": 64,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 5,
+ "w": 64,
+ "h": 55
+ },
+ "frame": {
+ "x": 65,
+ "y": 110,
+ "w": 64,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 6,
+ "w": 64,
+ "h": 54
+ },
+ "frame": {
+ "x": 0,
+ "y": 111,
+ "w": 64,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 6,
+ "w": 64,
+ "h": 54
+ },
+ "frame": {
+ "x": 0,
+ "y": 111,
+ "w": 64,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 63,
+ "h": 60
+ },
+ "frame": {
+ "x": 129,
+ "y": 112,
+ "w": 63,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 63,
+ "h": 60
+ },
+ "frame": {
+ "x": 129,
+ "y": 112,
+ "w": 63,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 63,
+ "h": 60
+ },
+ "frame": {
+ "x": 129,
+ "y": 112,
+ "w": 63,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 63,
+ "h": 60
+ },
+ "frame": {
+ "x": 129,
+ "y": 112,
+ "w": 63,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 63,
+ "h": 59
+ },
+ "frame": {
+ "x": 192,
+ "y": 113,
+ "w": 63,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 63,
+ "h": 59
+ },
+ "frame": {
+ "x": 192,
+ "y": 113,
+ "w": 63,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 0,
+ "y": 165,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 0,
+ "y": 165,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 0,
+ "y": 165,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 0,
+ "y": 165,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 63,
+ "y": 165,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 63,
+ "y": 165,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 0,
+ "y": 222,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 0,
+ "y": 222,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 63,
+ "y": 222,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 63,
+ "y": 222,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 63,
+ "y": 222,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 63,
+ "y": 222,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 126,
+ "y": 172,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 126,
+ "y": 172,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 126,
+ "y": 229,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 126,
+ "y": 229,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 4,
+ "w": 63,
+ "h": 56
+ },
+ "frame": {
+ "x": 189,
+ "y": 172,
+ "w": 63,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 4,
+ "w": 63,
+ "h": 56
+ },
+ "frame": {
+ "x": 189,
+ "y": 172,
+ "w": 63,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 5,
+ "w": 63,
+ "h": 55
+ },
+ "frame": {
+ "x": 252,
+ "y": 172,
+ "w": 63,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 5,
+ "w": 63,
+ "h": 55
+ },
+ "frame": {
+ "x": 252,
+ "y": 172,
+ "w": 63,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 5,
+ "w": 63,
+ "h": 55
+ },
+ "frame": {
+ "x": 252,
+ "y": 172,
+ "w": 63,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 5,
+ "w": 63,
+ "h": 55
+ },
+ "frame": {
+ "x": 252,
+ "y": 172,
+ "w": 63,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 5,
+ "w": 63,
+ "h": 55
+ },
+ "frame": {
+ "x": 252,
+ "y": 227,
+ "w": 63,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 5,
+ "w": 63,
+ "h": 55
+ },
+ "frame": {
+ "x": 252,
+ "y": 227,
+ "w": 63,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 5,
+ "w": 63,
+ "h": 55
+ },
+ "frame": {
+ "x": 252,
+ "y": 227,
+ "w": 63,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 5,
+ "w": 63,
+ "h": 55
+ },
+ "frame": {
+ "x": 252,
+ "y": 227,
+ "w": 63,
+ "h": 55
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:2449b071ea9bfab28f2ac6f92c4092d8:0f7ab9dff7e1f1ce13bc69cb8bcecb9c:bb9c164332d07f011fedcf43d9252e5d$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/57_1.png b/public/images/pokemon/variant/57_1.png
new file mode 100644
index 00000000000..73db688c129
Binary files /dev/null and b/public/images/pokemon/variant/57_1.png differ
diff --git a/public/images/pokemon/variant/57_2.json b/public/images/pokemon/variant/57_2.json
new file mode 100644
index 00000000000..eee828d5223
--- /dev/null
+++ b/public/images/pokemon/variant/57_2.json
@@ -0,0 +1,1196 @@
+{
+ "textures": [
+ {
+ "image": "57_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 315,
+ "h": 315
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 66,
+ "h": 57
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 66,
+ "h": 57
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 66,
+ "h": 56
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 66,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 66,
+ "h": 56
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 66,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 66,
+ "h": 56
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 66,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 66,
+ "h": 56
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 66,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 66,
+ "h": 55
+ },
+ "frame": {
+ "x": 132,
+ "y": 0,
+ "w": 66,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 66,
+ "h": 55
+ },
+ "frame": {
+ "x": 132,
+ "y": 0,
+ "w": 66,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 66,
+ "h": 54
+ },
+ "frame": {
+ "x": 198,
+ "y": 0,
+ "w": 66,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 66,
+ "h": 54
+ },
+ "frame": {
+ "x": 198,
+ "y": 0,
+ "w": 66,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 66,
+ "h": 54
+ },
+ "frame": {
+ "x": 198,
+ "y": 0,
+ "w": 66,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 66,
+ "h": 54
+ },
+ "frame": {
+ "x": 198,
+ "y": 0,
+ "w": 66,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 65,
+ "h": 59
+ },
+ "frame": {
+ "x": 198,
+ "y": 54,
+ "w": 65,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 65,
+ "h": 59
+ },
+ "frame": {
+ "x": 198,
+ "y": 54,
+ "w": 65,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 65,
+ "h": 57
+ },
+ "frame": {
+ "x": 132,
+ "y": 55,
+ "w": 65,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 65,
+ "h": 57
+ },
+ "frame": {
+ "x": 132,
+ "y": 55,
+ "w": 65,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 6,
+ "w": 65,
+ "h": 54
+ },
+ "frame": {
+ "x": 66,
+ "y": 56,
+ "w": 65,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 6,
+ "w": 65,
+ "h": 54
+ },
+ "frame": {
+ "x": 66,
+ "y": 56,
+ "w": 65,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 6,
+ "w": 65,
+ "h": 54
+ },
+ "frame": {
+ "x": 0,
+ "y": 57,
+ "w": 65,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 6,
+ "w": 65,
+ "h": 54
+ },
+ "frame": {
+ "x": 0,
+ "y": 57,
+ "w": 65,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 5,
+ "w": 64,
+ "h": 55
+ },
+ "frame": {
+ "x": 65,
+ "y": 110,
+ "w": 64,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 5,
+ "w": 64,
+ "h": 55
+ },
+ "frame": {
+ "x": 65,
+ "y": 110,
+ "w": 64,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 6,
+ "w": 64,
+ "h": 54
+ },
+ "frame": {
+ "x": 0,
+ "y": 111,
+ "w": 64,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 6,
+ "w": 64,
+ "h": 54
+ },
+ "frame": {
+ "x": 0,
+ "y": 111,
+ "w": 64,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 63,
+ "h": 60
+ },
+ "frame": {
+ "x": 129,
+ "y": 112,
+ "w": 63,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 63,
+ "h": 60
+ },
+ "frame": {
+ "x": 129,
+ "y": 112,
+ "w": 63,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 63,
+ "h": 60
+ },
+ "frame": {
+ "x": 129,
+ "y": 112,
+ "w": 63,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 63,
+ "h": 60
+ },
+ "frame": {
+ "x": 129,
+ "y": 112,
+ "w": 63,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 63,
+ "h": 59
+ },
+ "frame": {
+ "x": 192,
+ "y": 113,
+ "w": 63,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 63,
+ "h": 59
+ },
+ "frame": {
+ "x": 192,
+ "y": 113,
+ "w": 63,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 0,
+ "y": 165,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 0,
+ "y": 165,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 0,
+ "y": 165,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 0,
+ "y": 165,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 63,
+ "y": 165,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 63,
+ "y": 165,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 0,
+ "y": 222,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 0,
+ "y": 222,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 63,
+ "y": 222,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 63,
+ "y": 222,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 63,
+ "y": 222,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 63,
+ "y": 222,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 126,
+ "y": 172,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 126,
+ "y": 172,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 126,
+ "y": 229,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 126,
+ "y": 229,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 4,
+ "w": 63,
+ "h": 56
+ },
+ "frame": {
+ "x": 189,
+ "y": 172,
+ "w": 63,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 4,
+ "w": 63,
+ "h": 56
+ },
+ "frame": {
+ "x": 189,
+ "y": 172,
+ "w": 63,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 5,
+ "w": 63,
+ "h": 55
+ },
+ "frame": {
+ "x": 252,
+ "y": 172,
+ "w": 63,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 5,
+ "w": 63,
+ "h": 55
+ },
+ "frame": {
+ "x": 252,
+ "y": 172,
+ "w": 63,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 5,
+ "w": 63,
+ "h": 55
+ },
+ "frame": {
+ "x": 252,
+ "y": 172,
+ "w": 63,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 5,
+ "w": 63,
+ "h": 55
+ },
+ "frame": {
+ "x": 252,
+ "y": 172,
+ "w": 63,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 5,
+ "w": 63,
+ "h": 55
+ },
+ "frame": {
+ "x": 252,
+ "y": 227,
+ "w": 63,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 5,
+ "w": 63,
+ "h": 55
+ },
+ "frame": {
+ "x": 252,
+ "y": 227,
+ "w": 63,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 5,
+ "w": 63,
+ "h": 55
+ },
+ "frame": {
+ "x": 252,
+ "y": 227,
+ "w": 63,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 5,
+ "w": 63,
+ "h": 55
+ },
+ "frame": {
+ "x": 252,
+ "y": 227,
+ "w": 63,
+ "h": 55
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:2449b071ea9bfab28f2ac6f92c4092d8:0f7ab9dff7e1f1ce13bc69cb8bcecb9c:bb9c164332d07f011fedcf43d9252e5d$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/57_2.png b/public/images/pokemon/variant/57_2.png
new file mode 100644
index 00000000000..b2edfa6cea7
Binary files /dev/null and b/public/images/pokemon/variant/57_2.png differ
diff --git a/public/images/pokemon/variant/57_3.json b/public/images/pokemon/variant/57_3.json
new file mode 100644
index 00000000000..bfca35b2e97
--- /dev/null
+++ b/public/images/pokemon/variant/57_3.json
@@ -0,0 +1,1196 @@
+{
+ "textures": [
+ {
+ "image": "57_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 315,
+ "h": 315
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 66,
+ "h": 57
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 66,
+ "h": 57
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 66,
+ "h": 56
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 66,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 66,
+ "h": 56
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 66,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 66,
+ "h": 56
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 66,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 66,
+ "h": 56
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 66,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 66,
+ "h": 55
+ },
+ "frame": {
+ "x": 132,
+ "y": 0,
+ "w": 66,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 66,
+ "h": 55
+ },
+ "frame": {
+ "x": 132,
+ "y": 0,
+ "w": 66,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 66,
+ "h": 54
+ },
+ "frame": {
+ "x": 198,
+ "y": 0,
+ "w": 66,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 66,
+ "h": 54
+ },
+ "frame": {
+ "x": 198,
+ "y": 0,
+ "w": 66,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 66,
+ "h": 54
+ },
+ "frame": {
+ "x": 198,
+ "y": 0,
+ "w": 66,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 66,
+ "h": 54
+ },
+ "frame": {
+ "x": 198,
+ "y": 0,
+ "w": 66,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 65,
+ "h": 59
+ },
+ "frame": {
+ "x": 198,
+ "y": 54,
+ "w": 65,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 65,
+ "h": 59
+ },
+ "frame": {
+ "x": 198,
+ "y": 54,
+ "w": 65,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 65,
+ "h": 57
+ },
+ "frame": {
+ "x": 132,
+ "y": 55,
+ "w": 65,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 65,
+ "h": 57
+ },
+ "frame": {
+ "x": 132,
+ "y": 55,
+ "w": 65,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 6,
+ "w": 65,
+ "h": 54
+ },
+ "frame": {
+ "x": 66,
+ "y": 56,
+ "w": 65,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 6,
+ "w": 65,
+ "h": 54
+ },
+ "frame": {
+ "x": 66,
+ "y": 56,
+ "w": 65,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 6,
+ "w": 65,
+ "h": 54
+ },
+ "frame": {
+ "x": 0,
+ "y": 57,
+ "w": 65,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 6,
+ "w": 65,
+ "h": 54
+ },
+ "frame": {
+ "x": 0,
+ "y": 57,
+ "w": 65,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 5,
+ "w": 64,
+ "h": 55
+ },
+ "frame": {
+ "x": 65,
+ "y": 110,
+ "w": 64,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 5,
+ "w": 64,
+ "h": 55
+ },
+ "frame": {
+ "x": 65,
+ "y": 110,
+ "w": 64,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 6,
+ "w": 64,
+ "h": 54
+ },
+ "frame": {
+ "x": 0,
+ "y": 111,
+ "w": 64,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 6,
+ "w": 64,
+ "h": 54
+ },
+ "frame": {
+ "x": 0,
+ "y": 111,
+ "w": 64,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 63,
+ "h": 60
+ },
+ "frame": {
+ "x": 129,
+ "y": 112,
+ "w": 63,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 63,
+ "h": 60
+ },
+ "frame": {
+ "x": 129,
+ "y": 112,
+ "w": 63,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 63,
+ "h": 60
+ },
+ "frame": {
+ "x": 129,
+ "y": 112,
+ "w": 63,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 63,
+ "h": 60
+ },
+ "frame": {
+ "x": 129,
+ "y": 112,
+ "w": 63,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 63,
+ "h": 59
+ },
+ "frame": {
+ "x": 192,
+ "y": 113,
+ "w": 63,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 63,
+ "h": 59
+ },
+ "frame": {
+ "x": 192,
+ "y": 113,
+ "w": 63,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 0,
+ "y": 165,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 0,
+ "y": 165,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 0,
+ "y": 165,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 0,
+ "y": 165,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 63,
+ "y": 165,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 63,
+ "y": 165,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 0,
+ "y": 222,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 0,
+ "y": 222,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 63,
+ "y": 222,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 63,
+ "y": 222,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 63,
+ "y": 222,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 63,
+ "y": 222,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 126,
+ "y": 172,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 126,
+ "y": 172,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 126,
+ "y": 229,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 126,
+ "y": 229,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 4,
+ "w": 63,
+ "h": 56
+ },
+ "frame": {
+ "x": 189,
+ "y": 172,
+ "w": 63,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 4,
+ "w": 63,
+ "h": 56
+ },
+ "frame": {
+ "x": 189,
+ "y": 172,
+ "w": 63,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 5,
+ "w": 63,
+ "h": 55
+ },
+ "frame": {
+ "x": 252,
+ "y": 172,
+ "w": 63,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 5,
+ "w": 63,
+ "h": 55
+ },
+ "frame": {
+ "x": 252,
+ "y": 172,
+ "w": 63,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 5,
+ "w": 63,
+ "h": 55
+ },
+ "frame": {
+ "x": 252,
+ "y": 172,
+ "w": 63,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 5,
+ "w": 63,
+ "h": 55
+ },
+ "frame": {
+ "x": 252,
+ "y": 172,
+ "w": 63,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 5,
+ "w": 63,
+ "h": 55
+ },
+ "frame": {
+ "x": 252,
+ "y": 227,
+ "w": 63,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 5,
+ "w": 63,
+ "h": 55
+ },
+ "frame": {
+ "x": 252,
+ "y": 227,
+ "w": 63,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 5,
+ "w": 63,
+ "h": 55
+ },
+ "frame": {
+ "x": 252,
+ "y": 227,
+ "w": 63,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 5,
+ "w": 63,
+ "h": 55
+ },
+ "frame": {
+ "x": 252,
+ "y": 227,
+ "w": 63,
+ "h": 55
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:2449b071ea9bfab28f2ac6f92c4092d8:0f7ab9dff7e1f1ce13bc69cb8bcecb9c:bb9c164332d07f011fedcf43d9252e5d$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/57_3.png b/public/images/pokemon/variant/57_3.png
new file mode 100644
index 00000000000..9ec02aa03a9
Binary files /dev/null and b/public/images/pokemon/variant/57_3.png differ
diff --git a/public/images/pokemon/variant/6-gigantamax.json b/public/images/pokemon/variant/6-gigantamax.json
new file mode 100644
index 00000000000..8cdb79ca267
--- /dev/null
+++ b/public/images/pokemon/variant/6-gigantamax.json
@@ -0,0 +1,18 @@
+{
+ "1": {
+ "ff4200": "5d4cde",
+ "ffd610": "4ff7bc",
+ "f7a510": "429dff",
+ "843119": "552982",
+ "ef8429": "b77cb2",
+ "ce5242": "9052af",
+ "101010": "101010",
+ "ffe877": "adffcc",
+ "fcfcfc": "eafff4",
+ "efb55a": "d8a3e2",
+ "d6292c": "1b1bb5",
+ "ff0000": "3d30cc",
+ "a2362b": "662b87",
+ "d5cfae": "8effc8"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/6-gigantamax_3.json b/public/images/pokemon/variant/6-gigantamax_3.json
new file mode 100644
index 00000000000..af0f3b0d4be
--- /dev/null
+++ b/public/images/pokemon/variant/6-gigantamax_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "6-gigantamax_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 95,
+ "h": 95
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 96,
+ "h": 96
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 93,
+ "h": 95
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 93,
+ "h": 95
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:48f0c3561ec0cb6de477079187cdd60d:c7593c0b0231260cc248927024a78c2c:ccdd809633adb361311bc5ccf1403764$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/6-gigantamax_3.png b/public/images/pokemon/variant/6-gigantamax_3.png
new file mode 100644
index 00000000000..8362d06a329
Binary files /dev/null and b/public/images/pokemon/variant/6-gigantamax_3.png differ
diff --git a/public/images/pokemon/variant/6-mega-x.json b/public/images/pokemon/variant/6-mega-x.json
new file mode 100644
index 00000000000..67924c8d011
--- /dev/null
+++ b/public/images/pokemon/variant/6-mega-x.json
@@ -0,0 +1,18 @@
+{
+ "1": {
+ "1f1f1f": "08225e",
+ "60a6c8": "82d179",
+ "5a5a5a": "317396",
+ "99d9f7": "e6ffcc",
+ "080808": "080808",
+ "009de1": "3da542",
+ "383838": "163d82",
+ "1e4167": "4c1f76",
+ "92a09c": "66afcc",
+ "2b629c": "7341a6",
+ "00b1e6": "af66ff",
+ "f8f8f8": "f8f8f8",
+ "ce1010": "aa299d",
+ "e481b5": "ff91cb"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/6-mega-x_3.json b/public/images/pokemon/variant/6-mega-x_3.json
new file mode 100644
index 00000000000..be5e87f0481
--- /dev/null
+++ b/public/images/pokemon/variant/6-mega-x_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "6-mega-x_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 89,
+ "h": 89
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 89,
+ "h": 82
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 82
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 82
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:76db76bd8af07472fa4a7eb2aff72929:b24998ee8741711ee22e9b41d505ade2:32b3c4da50b10827622193937c163dd3$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/6-mega-x_3.png b/public/images/pokemon/variant/6-mega-x_3.png
new file mode 100644
index 00000000000..68077ba591d
Binary files /dev/null and b/public/images/pokemon/variant/6-mega-x_3.png differ
diff --git a/public/images/pokemon/variant/6-mega-y.json b/public/images/pokemon/variant/6-mega-y.json
new file mode 100644
index 00000000000..9429b1d1773
--- /dev/null
+++ b/public/images/pokemon/variant/6-mega-y.json
@@ -0,0 +1,17 @@
+{
+ "1": {
+ "833118": "552982",
+ "ee8329": "b27cbc",
+ "101010": "101010",
+ "cd5241": "8053b2",
+ "eeb45a": "d8a3e2",
+ "f8f8f8": "f8f8f8",
+ "207394": "41a86e",
+ "084152": "196045",
+ "eede7b": "fae5ff",
+ "f6a410": "9e59db",
+ "e64110": "5033ce",
+ "ffd510": "e9bfff",
+ "cdcdcd": "cdcdcd"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/6-mega-y_3.json b/public/images/pokemon/variant/6-mega-y_3.json
new file mode 100644
index 00000000000..1b9b97bfa2e
--- /dev/null
+++ b/public/images/pokemon/variant/6-mega-y_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "6-mega-y_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 95,
+ "h": 95
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 95,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 95,
+ "h": 85
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:7fffe7b82546f68c8aaf72aa051f9ff5:2f5c7e42d4e81cb75f02dc5c7fed952a:c409677bb6775acab5f1bcff6530455e$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/6-mega-y_3.png b/public/images/pokemon/variant/6-mega-y_3.png
new file mode 100644
index 00000000000..de41eee7f05
Binary files /dev/null and b/public/images/pokemon/variant/6-mega-y_3.png differ
diff --git a/public/images/pokemon/variant/641-incarnate.json b/public/images/pokemon/variant/641-incarnate.json
deleted file mode 100644
index 973f983d2cd..00000000000
--- a/public/images/pokemon/variant/641-incarnate.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "0": {
- "737373": "737373",
- "ffffff": "ffffff",
- "101010": "101010",
- "b5b5bd": "b5b5bd",
- "8442ad": "282828",
- "5a3173": "121212",
- "294a31": "294a31",
- "4a9c42": "5fd054",
- "422152": "000000",
- "ffc500": "ffc500",
- "42733a": "317c25",
- "6b4229": "6b4229",
- "ad7b4a": "ad7b4a",
- "deb56b": "deb56b"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/641-therian.json b/public/images/pokemon/variant/641-therian.json
deleted file mode 100644
index 5b43a3d7fbf..00000000000
--- a/public/images/pokemon/variant/641-therian.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "0": {
- "5a3a73": "121212",
- "8442ad": "282828",
- "101010": "101010",
- "422152": "000000",
- "737373": "737373",
- "ffffff": "ffffff",
- "b5b5bd": "b5b5bd",
- "294a31": "294a31",
- "4a9c42": "5fd054",
- "deb56b": "ffc500",
- "42733a": "317c25",
- "ad7b4a": "ad7b4a",
- "6b4229": "6b4229",
- "de3a29": "deb56b"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/642-incarnate.json b/public/images/pokemon/variant/642-incarnate.json
deleted file mode 100644
index 6c247996481..00000000000
--- a/public/images/pokemon/variant/642-incarnate.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "0": {
- "737373": "737373",
- "101010": "101010",
- "b5b5bd": "878787",
- "ffffff": "ffffff",
- "102152": "521010",
- "5a42ad": "992828",
- "29426b": "6b2929",
- "5284a5": "952f2f",
- "63c5ff": "ff6363",
- "313131": "313131",
- "31317b": "3a1111",
- "4a4a4a": "4a4a4a",
- "212121": "212121",
- "ffc55a": "ffc55a",
- "d69431": "d69431"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/642-therian.json b/public/images/pokemon/variant/642-therian.json
deleted file mode 100644
index c53d2dbc0fc..00000000000
--- a/public/images/pokemon/variant/642-therian.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "0": {
- "192952": "521010",
- "737373": "6a0d0d",
- "ffffff": "ffffff",
- "101010": "101010",
- "5a4aad": "952f2f",
- "b5b5bd": "a49696",
- "3a3a84": "3a1111",
- "5284a5": "7c0b0b",
- "29426b": "6b2929",
- "63c5ff": "c83f3f",
- "d69431": "ffc55a",
- "ffc55a": "d69431",
- "313131": "313131",
- "212121": "212121"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/645-incarnate.json b/public/images/pokemon/variant/645-incarnate.json
deleted file mode 100644
index 01a6c034b19..00000000000
--- a/public/images/pokemon/variant/645-incarnate.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "0": {
- "b5b5bd": "999999",
- "737373": "737373",
- "101010": "101010",
- "ffffff": "d0d0d0",
- "6b213a": "838383",
- "bd4a52": "380d5f",
- "a55a3a": "451c6a",
- "f77b42": "69418e",
- "633110": "2c2c2c",
- "ffce63": "9386ff",
- "4a2919": "191919",
- "634231": "2c143a",
- "84634a": "311e42",
- "943142": "0b0b0b"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/645-therian.json b/public/images/pokemon/variant/645-therian.json
deleted file mode 100644
index b18f38dcfab..00000000000
--- a/public/images/pokemon/variant/645-therian.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "0": {
- "634231": "2c143a",
- "101010": "101010",
- "bd4a52": "380d5f",
- "84634a": "311e42",
- "4a2919": "191919",
- "737373": "737373",
- "ffffff": "d0d0d0",
- "b5b5bd": "999999",
- "73313a": "838383",
- "633110": "2c2c2c",
- "f77b42": "69418e",
- "a55a3a": "451c6a",
- "943142": "0b0b0b",
- "ffce63": "9386ff"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/6713.json b/public/images/pokemon/variant/6713.json
new file mode 100644
index 00000000000..ce1113cb3f9
--- /dev/null
+++ b/public/images/pokemon/variant/6713.json
@@ -0,0 +1,36 @@
+{
+ "1": {
+ "729ac2": "d97389",
+ "bff4ff": "ffbfda",
+ "85d7f2": "f29eb3",
+ "6b5442": "732334",
+ "335980": "994255",
+ "fbffff": "ffebf2",
+ "101010": "101010",
+ "492d25": "101010",
+ "553e33": "4c131f",
+ "927863": "994255",
+ "737373": "7a993d",
+ "bfbfbf": "9dcc3e",
+ "e8e8e8": "cfe68a",
+ "944620": "101010",
+ "f1b44b": "9dcc3e"
+ },
+ "2": {
+ "729ac2": "cc7b1e",
+ "bff4ff": "fcc95c",
+ "85d7f2": "e69e2b",
+ "6b5442": "2c7a75",
+ "335980": "824628",
+ "fbffff": "fff2ad",
+ "101010": "101010",
+ "492d25": "00403d",
+ "553e33": "006761",
+ "927863": "5ba6a1",
+ "737373": "641531",
+ "bfbfbf": "993554",
+ "e8e8e8": "bf576b",
+ "944620": "cc7b1e",
+ "f1b44b": "8dd9d4"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/672.json b/public/images/pokemon/variant/672.json
new file mode 100644
index 00000000000..7ee3888e36d
--- /dev/null
+++ b/public/images/pokemon/variant/672.json
@@ -0,0 +1,18 @@
+{
+ "1": {
+ "101010": "101010",
+ "737373": "9e2c3d",
+ "404040": "73132e",
+ "403830": "642509",
+ "998673": "b3743e",
+ "66594c": "89431b",
+ "b4b4b4": "e3a378",
+ "f8f8f8": "f8e2b7",
+ "4d4d4d": "9b6751",
+ "174d3b": "8c6859",
+ "36b389": "f8f0e2",
+ "268062": "d2af94",
+ "99522e": "321512",
+ "ff884c": "552d30"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/672_3.json b/public/images/pokemon/variant/672_3.json
new file mode 100644
index 00000000000..e3f780eff59
--- /dev/null
+++ b/public/images/pokemon/variant/672_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "672_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 50,
+ "h": 50
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 42,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 42,
+ "h": 50
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 42,
+ "h": 50
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:a5389856891adb93e4e47b311ec032fc:ff2b44df2ba78f8e713e7ecfbd8a40e8:2e4767b7cd134fc0ab1bb6e9eee82bc7$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/672_3.png b/public/images/pokemon/variant/672_3.png
new file mode 100644
index 00000000000..47e1401b99f
Binary files /dev/null and b/public/images/pokemon/variant/672_3.png differ
diff --git a/public/images/pokemon/variant/673.json b/public/images/pokemon/variant/673.json
new file mode 100644
index 00000000000..e6d03313a9f
--- /dev/null
+++ b/public/images/pokemon/variant/673.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "101010": "101010",
+ "404040": "73132e",
+ "666666": "9e2c3d",
+ "542914": "471405",
+ "7a4932": "61240a",
+ "f8f8f8": "f8e2b7",
+ "bfbfbf": "e3a378",
+ "144f26": "8c6859",
+ "9f2f1d": "321512",
+ "21833e": "d2af94",
+ "ff543a": "552d30",
+ "2fb657": "f8f0e2",
+ "9e895c": "9e4e21",
+ "d6b778": "ce8648"
+ },
+ "2": {
+ "101010": "101010",
+ "404040": "161526",
+ "666666": "2d2b40",
+ "542914": "37224d",
+ "7a4932": "513a6b",
+ "f8f8f8": "ffeffe",
+ "bfbfbf": "d4b3d7",
+ "144f26": "36466c",
+ "9f2f1d": "612c6b",
+ "21833e": "6893b6",
+ "ff543a": "9f5f9b",
+ "2fb657": "96e3e3",
+ "9e895c": "74a0a5",
+ "d6b778": "c3e1cf"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/6_2.json b/public/images/pokemon/variant/6_2.json
new file mode 100644
index 00000000000..1571476b125
--- /dev/null
+++ b/public/images/pokemon/variant/6_2.json
@@ -0,0 +1,3044 @@
+{
+ "textures": [
+ {
+ "image": "6_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 612,
+ "h": 612
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 91
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 91
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 91
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 91
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 91
+ },
+ "frame": {
+ "x": 0,
+ "y": 91,
+ "w": 89,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 91
+ },
+ "frame": {
+ "x": 0,
+ "y": 91,
+ "w": 89,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 91
+ },
+ "frame": {
+ "x": 0,
+ "y": 182,
+ "w": 89,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 91
+ },
+ "frame": {
+ "x": 0,
+ "y": 182,
+ "w": 89,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 83,
+ "h": 91
+ },
+ "frame": {
+ "x": 0,
+ "y": 273,
+ "w": 83,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 83,
+ "h": 91
+ },
+ "frame": {
+ "x": 0,
+ "y": 273,
+ "w": 83,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 83,
+ "h": 91
+ },
+ "frame": {
+ "x": 0,
+ "y": 273,
+ "w": 83,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 83,
+ "h": 91
+ },
+ "frame": {
+ "x": 0,
+ "y": 273,
+ "w": 83,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 83,
+ "h": 91
+ },
+ "frame": {
+ "x": 0,
+ "y": 364,
+ "w": 83,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 83,
+ "h": 91
+ },
+ "frame": {
+ "x": 0,
+ "y": 364,
+ "w": 83,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 83,
+ "h": 91
+ },
+ "frame": {
+ "x": 0,
+ "y": 455,
+ "w": 83,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 83,
+ "h": 91
+ },
+ "frame": {
+ "x": 0,
+ "y": 455,
+ "w": 83,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 83,
+ "h": 90
+ },
+ "frame": {
+ "x": 83,
+ "y": 273,
+ "w": 83,
+ "h": 90
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 83,
+ "h": 90
+ },
+ "frame": {
+ "x": 83,
+ "y": 273,
+ "w": 83,
+ "h": 90
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 83,
+ "h": 90
+ },
+ "frame": {
+ "x": 83,
+ "y": 273,
+ "w": 83,
+ "h": 90
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 83,
+ "h": 90
+ },
+ "frame": {
+ "x": 83,
+ "y": 273,
+ "w": 83,
+ "h": 90
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 83,
+ "h": 90
+ },
+ "frame": {
+ "x": 83,
+ "y": 273,
+ "w": 83,
+ "h": 90
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 83,
+ "h": 90
+ },
+ "frame": {
+ "x": 83,
+ "y": 273,
+ "w": 83,
+ "h": 90
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 83,
+ "h": 90
+ },
+ "frame": {
+ "x": 83,
+ "y": 363,
+ "w": 83,
+ "h": 90
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 83,
+ "h": 90
+ },
+ "frame": {
+ "x": 83,
+ "y": 363,
+ "w": 83,
+ "h": 90
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 78,
+ "h": 89
+ },
+ "frame": {
+ "x": 83,
+ "y": 453,
+ "w": 78,
+ "h": 89
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 78,
+ "h": 89
+ },
+ "frame": {
+ "x": 83,
+ "y": 453,
+ "w": 78,
+ "h": 89
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 78,
+ "h": 89
+ },
+ "frame": {
+ "x": 83,
+ "y": 453,
+ "w": 78,
+ "h": 89
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 78,
+ "h": 89
+ },
+ "frame": {
+ "x": 83,
+ "y": 453,
+ "w": 78,
+ "h": 89
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 78,
+ "h": 89
+ },
+ "frame": {
+ "x": 161,
+ "y": 453,
+ "w": 78,
+ "h": 89
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 78,
+ "h": 89
+ },
+ "frame": {
+ "x": 161,
+ "y": 453,
+ "w": 78,
+ "h": 89
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 78,
+ "h": 89
+ },
+ "frame": {
+ "x": 89,
+ "y": 0,
+ "w": 78,
+ "h": 89
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 78,
+ "h": 89
+ },
+ "frame": {
+ "x": 89,
+ "y": 0,
+ "w": 78,
+ "h": 89
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 76,
+ "h": 91
+ },
+ "frame": {
+ "x": 89,
+ "y": 89,
+ "w": 76,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 76,
+ "h": 91
+ },
+ "frame": {
+ "x": 89,
+ "y": 89,
+ "w": 76,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 76,
+ "h": 91
+ },
+ "frame": {
+ "x": 89,
+ "y": 89,
+ "w": 76,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 76,
+ "h": 91
+ },
+ "frame": {
+ "x": 89,
+ "y": 89,
+ "w": 76,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 76,
+ "h": 91
+ },
+ "frame": {
+ "x": 89,
+ "y": 180,
+ "w": 76,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 76,
+ "h": 91
+ },
+ "frame": {
+ "x": 89,
+ "y": 180,
+ "w": 76,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 76,
+ "h": 91
+ },
+ "frame": {
+ "x": 165,
+ "y": 89,
+ "w": 76,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 76,
+ "h": 91
+ },
+ "frame": {
+ "x": 165,
+ "y": 89,
+ "w": 76,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 75,
+ "h": 88
+ },
+ "frame": {
+ "x": 167,
+ "y": 0,
+ "w": 75,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 75,
+ "h": 88
+ },
+ "frame": {
+ "x": 167,
+ "y": 0,
+ "w": 75,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 75,
+ "h": 90
+ },
+ "frame": {
+ "x": 165,
+ "y": 180,
+ "w": 75,
+ "h": 90
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 75,
+ "h": 90
+ },
+ "frame": {
+ "x": 165,
+ "y": 180,
+ "w": 75,
+ "h": 90
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 74,
+ "h": 90
+ },
+ "frame": {
+ "x": 166,
+ "y": 270,
+ "w": 74,
+ "h": 90
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 74,
+ "h": 90
+ },
+ "frame": {
+ "x": 166,
+ "y": 270,
+ "w": 74,
+ "h": 90
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 74,
+ "h": 90
+ },
+ "frame": {
+ "x": 166,
+ "y": 270,
+ "w": 74,
+ "h": 90
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 74,
+ "h": 90
+ },
+ "frame": {
+ "x": 166,
+ "y": 270,
+ "w": 74,
+ "h": 90
+ }
+ },
+ {
+ "filename": "0135.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 75,
+ "h": 88
+ },
+ "frame": {
+ "x": 166,
+ "y": 360,
+ "w": 75,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0136.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 75,
+ "h": 88
+ },
+ "frame": {
+ "x": 166,
+ "y": 360,
+ "w": 75,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 73,
+ "h": 90
+ },
+ "frame": {
+ "x": 239,
+ "y": 448,
+ "w": 73,
+ "h": 90
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 73,
+ "h": 90
+ },
+ "frame": {
+ "x": 239,
+ "y": 448,
+ "w": 73,
+ "h": 90
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 75,
+ "h": 87
+ },
+ "frame": {
+ "x": 240,
+ "y": 180,
+ "w": 75,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 75,
+ "h": 87
+ },
+ "frame": {
+ "x": 240,
+ "y": 180,
+ "w": 75,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0137.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 75,
+ "h": 87
+ },
+ "frame": {
+ "x": 241,
+ "y": 88,
+ "w": 75,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0138.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 75,
+ "h": 87
+ },
+ "frame": {
+ "x": 241,
+ "y": 88,
+ "w": 75,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 74,
+ "h": 88
+ },
+ "frame": {
+ "x": 242,
+ "y": 0,
+ "w": 74,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 74,
+ "h": 88
+ },
+ "frame": {
+ "x": 242,
+ "y": 0,
+ "w": 74,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 74,
+ "h": 88
+ },
+ "frame": {
+ "x": 242,
+ "y": 0,
+ "w": 74,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 74,
+ "h": 88
+ },
+ "frame": {
+ "x": 242,
+ "y": 0,
+ "w": 74,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 73,
+ "h": 88
+ },
+ "frame": {
+ "x": 240,
+ "y": 267,
+ "w": 73,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 73,
+ "h": 88
+ },
+ "frame": {
+ "x": 240,
+ "y": 267,
+ "w": 73,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 73,
+ "h": 88
+ },
+ "frame": {
+ "x": 240,
+ "y": 267,
+ "w": 73,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 73,
+ "h": 88
+ },
+ "frame": {
+ "x": 240,
+ "y": 267,
+ "w": 73,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 73,
+ "h": 88
+ },
+ "frame": {
+ "x": 241,
+ "y": 355,
+ "w": 73,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 73,
+ "h": 88
+ },
+ "frame": {
+ "x": 241,
+ "y": 355,
+ "w": 73,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 73,
+ "h": 88
+ },
+ "frame": {
+ "x": 313,
+ "y": 267,
+ "w": 73,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 73,
+ "h": 88
+ },
+ "frame": {
+ "x": 313,
+ "y": 267,
+ "w": 73,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0139.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 75,
+ "h": 85
+ },
+ "frame": {
+ "x": 315,
+ "y": 175,
+ "w": 75,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0140.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 75,
+ "h": 85
+ },
+ "frame": {
+ "x": 315,
+ "y": 175,
+ "w": 75,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 74,
+ "h": 86
+ },
+ "frame": {
+ "x": 312,
+ "y": 443,
+ "w": 74,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 74,
+ "h": 86
+ },
+ "frame": {
+ "x": 312,
+ "y": 443,
+ "w": 74,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 75,
+ "h": 83
+ },
+ "frame": {
+ "x": 312,
+ "y": 529,
+ "w": 75,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 75,
+ "h": 83
+ },
+ "frame": {
+ "x": 312,
+ "y": 529,
+ "w": 75,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 73,
+ "h": 87
+ },
+ "frame": {
+ "x": 314,
+ "y": 355,
+ "w": 73,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 73,
+ "h": 87
+ },
+ "frame": {
+ "x": 314,
+ "y": 355,
+ "w": 73,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 73,
+ "h": 87
+ },
+ "frame": {
+ "x": 314,
+ "y": 355,
+ "w": 73,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 73,
+ "h": 87
+ },
+ "frame": {
+ "x": 314,
+ "y": 355,
+ "w": 73,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 73,
+ "h": 87
+ },
+ "frame": {
+ "x": 386,
+ "y": 442,
+ "w": 73,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 73,
+ "h": 87
+ },
+ "frame": {
+ "x": 386,
+ "y": 442,
+ "w": 73,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0141.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 75,
+ "h": 83
+ },
+ "frame": {
+ "x": 387,
+ "y": 529,
+ "w": 75,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0142.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 75,
+ "h": 83
+ },
+ "frame": {
+ "x": 387,
+ "y": 529,
+ "w": 75,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 72,
+ "h": 87
+ },
+ "frame": {
+ "x": 386,
+ "y": 260,
+ "w": 72,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 72,
+ "h": 87
+ },
+ "frame": {
+ "x": 386,
+ "y": 260,
+ "w": 72,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 72,
+ "h": 87
+ },
+ "frame": {
+ "x": 386,
+ "y": 260,
+ "w": 72,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 72,
+ "h": 87
+ },
+ "frame": {
+ "x": 386,
+ "y": 260,
+ "w": 72,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 4,
+ "w": 72,
+ "h": 87
+ },
+ "frame": {
+ "x": 387,
+ "y": 347,
+ "w": 72,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 4,
+ "w": 72,
+ "h": 87
+ },
+ "frame": {
+ "x": 387,
+ "y": 347,
+ "w": 72,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 7,
+ "w": 74,
+ "h": 84
+ },
+ "frame": {
+ "x": 316,
+ "y": 0,
+ "w": 74,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 7,
+ "w": 74,
+ "h": 84
+ },
+ "frame": {
+ "x": 316,
+ "y": 0,
+ "w": 74,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 73,
+ "h": 85
+ },
+ "frame": {
+ "x": 316,
+ "y": 84,
+ "w": 73,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 73,
+ "h": 85
+ },
+ "frame": {
+ "x": 316,
+ "y": 84,
+ "w": 73,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 73,
+ "h": 85
+ },
+ "frame": {
+ "x": 316,
+ "y": 84,
+ "w": 73,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 73,
+ "h": 85
+ },
+ "frame": {
+ "x": 316,
+ "y": 84,
+ "w": 73,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 73,
+ "h": 85
+ },
+ "frame": {
+ "x": 389,
+ "y": 84,
+ "w": 73,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 73,
+ "h": 85
+ },
+ "frame": {
+ "x": 389,
+ "y": 84,
+ "w": 73,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 9,
+ "w": 75,
+ "h": 82
+ },
+ "frame": {
+ "x": 390,
+ "y": 0,
+ "w": 75,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 9,
+ "w": 75,
+ "h": 82
+ },
+ "frame": {
+ "x": 390,
+ "y": 0,
+ "w": 75,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 9,
+ "w": 75,
+ "h": 82
+ },
+ "frame": {
+ "x": 390,
+ "y": 0,
+ "w": 75,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 9,
+ "w": 75,
+ "h": 82
+ },
+ "frame": {
+ "x": 390,
+ "y": 0,
+ "w": 75,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 9,
+ "w": 75,
+ "h": 82
+ },
+ "frame": {
+ "x": 390,
+ "y": 0,
+ "w": 75,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 9,
+ "w": 75,
+ "h": 82
+ },
+ "frame": {
+ "x": 390,
+ "y": 0,
+ "w": 75,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 72,
+ "h": 86
+ },
+ "frame": {
+ "x": 390,
+ "y": 169,
+ "w": 72,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 72,
+ "h": 86
+ },
+ "frame": {
+ "x": 390,
+ "y": 169,
+ "w": 72,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 72,
+ "h": 86
+ },
+ "frame": {
+ "x": 390,
+ "y": 169,
+ "w": 72,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 72,
+ "h": 86
+ },
+ "frame": {
+ "x": 390,
+ "y": 169,
+ "w": 72,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 5,
+ "w": 72,
+ "h": 86
+ },
+ "frame": {
+ "x": 458,
+ "y": 255,
+ "w": 72,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 5,
+ "w": 72,
+ "h": 86
+ },
+ "frame": {
+ "x": 458,
+ "y": 255,
+ "w": 72,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 9,
+ "w": 75,
+ "h": 82
+ },
+ "frame": {
+ "x": 462,
+ "y": 82,
+ "w": 75,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 9,
+ "w": 75,
+ "h": 82
+ },
+ "frame": {
+ "x": 462,
+ "y": 82,
+ "w": 75,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 9,
+ "w": 75,
+ "h": 82
+ },
+ "frame": {
+ "x": 462,
+ "y": 82,
+ "w": 75,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 9,
+ "w": 75,
+ "h": 82
+ },
+ "frame": {
+ "x": 462,
+ "y": 82,
+ "w": 75,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0143.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 9,
+ "w": 75,
+ "h": 82
+ },
+ "frame": {
+ "x": 462,
+ "y": 82,
+ "w": 75,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0144.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 9,
+ "w": 75,
+ "h": 82
+ },
+ "frame": {
+ "x": 462,
+ "y": 82,
+ "w": 75,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 9,
+ "w": 70,
+ "h": 82
+ },
+ "frame": {
+ "x": 465,
+ "y": 0,
+ "w": 70,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 9,
+ "w": 70,
+ "h": 82
+ },
+ "frame": {
+ "x": 465,
+ "y": 0,
+ "w": 70,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 9,
+ "w": 70,
+ "h": 82
+ },
+ "frame": {
+ "x": 535,
+ "y": 0,
+ "w": 70,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 9,
+ "w": 70,
+ "h": 82
+ },
+ "frame": {
+ "x": 535,
+ "y": 0,
+ "w": 70,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 74,
+ "h": 83
+ },
+ "frame": {
+ "x": 462,
+ "y": 164,
+ "w": 74,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 74,
+ "h": 83
+ },
+ "frame": {
+ "x": 462,
+ "y": 164,
+ "w": 74,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 74,
+ "h": 83
+ },
+ "frame": {
+ "x": 462,
+ "y": 164,
+ "w": 74,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 74,
+ "h": 83
+ },
+ "frame": {
+ "x": 462,
+ "y": 164,
+ "w": 74,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 74,
+ "h": 83
+ },
+ "frame": {
+ "x": 459,
+ "y": 341,
+ "w": 74,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 74,
+ "h": 83
+ },
+ "frame": {
+ "x": 459,
+ "y": 341,
+ "w": 74,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 74,
+ "h": 83
+ },
+ "frame": {
+ "x": 459,
+ "y": 341,
+ "w": 74,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 74,
+ "h": 83
+ },
+ "frame": {
+ "x": 459,
+ "y": 341,
+ "w": 74,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 7,
+ "w": 73,
+ "h": 84
+ },
+ "frame": {
+ "x": 530,
+ "y": 247,
+ "w": 73,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 7,
+ "w": 73,
+ "h": 84
+ },
+ "frame": {
+ "x": 530,
+ "y": 247,
+ "w": 73,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 7,
+ "w": 73,
+ "h": 84
+ },
+ "frame": {
+ "x": 530,
+ "y": 247,
+ "w": 73,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 7,
+ "w": 73,
+ "h": 84
+ },
+ "frame": {
+ "x": 530,
+ "y": 247,
+ "w": 73,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 8,
+ "w": 70,
+ "h": 83
+ },
+ "frame": {
+ "x": 536,
+ "y": 164,
+ "w": 70,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 8,
+ "w": 70,
+ "h": 83
+ },
+ "frame": {
+ "x": 536,
+ "y": 164,
+ "w": 70,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 72,
+ "h": 85
+ },
+ "frame": {
+ "x": 459,
+ "y": 424,
+ "w": 72,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 72,
+ "h": 85
+ },
+ "frame": {
+ "x": 459,
+ "y": 424,
+ "w": 72,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 72,
+ "h": 85
+ },
+ "frame": {
+ "x": 459,
+ "y": 424,
+ "w": 72,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 72,
+ "h": 85
+ },
+ "frame": {
+ "x": 459,
+ "y": 424,
+ "w": 72,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 6,
+ "w": 70,
+ "h": 85
+ },
+ "frame": {
+ "x": 531,
+ "y": 424,
+ "w": 70,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 6,
+ "w": 70,
+ "h": 85
+ },
+ "frame": {
+ "x": 531,
+ "y": 424,
+ "w": 70,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 6,
+ "w": 70,
+ "h": 85
+ },
+ "frame": {
+ "x": 533,
+ "y": 331,
+ "w": 70,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 6,
+ "w": 70,
+ "h": 85
+ },
+ "frame": {
+ "x": 533,
+ "y": 331,
+ "w": 70,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 7,
+ "w": 70,
+ "h": 84
+ },
+ "frame": {
+ "x": 462,
+ "y": 509,
+ "w": 70,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 7,
+ "w": 70,
+ "h": 84
+ },
+ "frame": {
+ "x": 462,
+ "y": 509,
+ "w": 70,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 8,
+ "w": 70,
+ "h": 83
+ },
+ "frame": {
+ "x": 532,
+ "y": 509,
+ "w": 70,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 8,
+ "w": 70,
+ "h": 83
+ },
+ "frame": {
+ "x": 532,
+ "y": 509,
+ "w": 70,
+ "h": 83
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:896bdce1e384e15b7efc04506d4b6761:e9a5c12009e1255328b1ba3b0ef15705:b30ae2c608d28a7c3d6ec02e78bcf668$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/6_2.png b/public/images/pokemon/variant/6_2.png
new file mode 100644
index 00000000000..f899f96d441
Binary files /dev/null and b/public/images/pokemon/variant/6_2.png differ
diff --git a/public/images/pokemon/variant/6_3.json b/public/images/pokemon/variant/6_3.json
new file mode 100644
index 00000000000..e707039ad11
--- /dev/null
+++ b/public/images/pokemon/variant/6_3.json
@@ -0,0 +1,3044 @@
+{
+ "textures": [
+ {
+ "image": "6_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 612,
+ "h": 612
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 91
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 91
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 91
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 91
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 91
+ },
+ "frame": {
+ "x": 0,
+ "y": 91,
+ "w": 89,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 91
+ },
+ "frame": {
+ "x": 0,
+ "y": 91,
+ "w": 89,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 91
+ },
+ "frame": {
+ "x": 0,
+ "y": 182,
+ "w": 89,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 91
+ },
+ "frame": {
+ "x": 0,
+ "y": 182,
+ "w": 89,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 83,
+ "h": 91
+ },
+ "frame": {
+ "x": 0,
+ "y": 273,
+ "w": 83,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 83,
+ "h": 91
+ },
+ "frame": {
+ "x": 0,
+ "y": 273,
+ "w": 83,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 83,
+ "h": 91
+ },
+ "frame": {
+ "x": 0,
+ "y": 273,
+ "w": 83,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 83,
+ "h": 91
+ },
+ "frame": {
+ "x": 0,
+ "y": 273,
+ "w": 83,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 83,
+ "h": 91
+ },
+ "frame": {
+ "x": 0,
+ "y": 364,
+ "w": 83,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 83,
+ "h": 91
+ },
+ "frame": {
+ "x": 0,
+ "y": 364,
+ "w": 83,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 83,
+ "h": 91
+ },
+ "frame": {
+ "x": 0,
+ "y": 455,
+ "w": 83,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 83,
+ "h": 91
+ },
+ "frame": {
+ "x": 0,
+ "y": 455,
+ "w": 83,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 83,
+ "h": 90
+ },
+ "frame": {
+ "x": 83,
+ "y": 273,
+ "w": 83,
+ "h": 90
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 83,
+ "h": 90
+ },
+ "frame": {
+ "x": 83,
+ "y": 273,
+ "w": 83,
+ "h": 90
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 83,
+ "h": 90
+ },
+ "frame": {
+ "x": 83,
+ "y": 273,
+ "w": 83,
+ "h": 90
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 83,
+ "h": 90
+ },
+ "frame": {
+ "x": 83,
+ "y": 273,
+ "w": 83,
+ "h": 90
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 83,
+ "h": 90
+ },
+ "frame": {
+ "x": 83,
+ "y": 273,
+ "w": 83,
+ "h": 90
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 83,
+ "h": 90
+ },
+ "frame": {
+ "x": 83,
+ "y": 273,
+ "w": 83,
+ "h": 90
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 83,
+ "h": 90
+ },
+ "frame": {
+ "x": 83,
+ "y": 363,
+ "w": 83,
+ "h": 90
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 83,
+ "h": 90
+ },
+ "frame": {
+ "x": 83,
+ "y": 363,
+ "w": 83,
+ "h": 90
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 78,
+ "h": 89
+ },
+ "frame": {
+ "x": 83,
+ "y": 453,
+ "w": 78,
+ "h": 89
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 78,
+ "h": 89
+ },
+ "frame": {
+ "x": 83,
+ "y": 453,
+ "w": 78,
+ "h": 89
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 78,
+ "h": 89
+ },
+ "frame": {
+ "x": 83,
+ "y": 453,
+ "w": 78,
+ "h": 89
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 78,
+ "h": 89
+ },
+ "frame": {
+ "x": 83,
+ "y": 453,
+ "w": 78,
+ "h": 89
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 78,
+ "h": 89
+ },
+ "frame": {
+ "x": 161,
+ "y": 453,
+ "w": 78,
+ "h": 89
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 78,
+ "h": 89
+ },
+ "frame": {
+ "x": 161,
+ "y": 453,
+ "w": 78,
+ "h": 89
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 78,
+ "h": 89
+ },
+ "frame": {
+ "x": 89,
+ "y": 0,
+ "w": 78,
+ "h": 89
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 78,
+ "h": 89
+ },
+ "frame": {
+ "x": 89,
+ "y": 0,
+ "w": 78,
+ "h": 89
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 76,
+ "h": 91
+ },
+ "frame": {
+ "x": 89,
+ "y": 89,
+ "w": 76,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 76,
+ "h": 91
+ },
+ "frame": {
+ "x": 89,
+ "y": 89,
+ "w": 76,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 76,
+ "h": 91
+ },
+ "frame": {
+ "x": 89,
+ "y": 89,
+ "w": 76,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 76,
+ "h": 91
+ },
+ "frame": {
+ "x": 89,
+ "y": 89,
+ "w": 76,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 76,
+ "h": 91
+ },
+ "frame": {
+ "x": 89,
+ "y": 180,
+ "w": 76,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 76,
+ "h": 91
+ },
+ "frame": {
+ "x": 89,
+ "y": 180,
+ "w": 76,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 76,
+ "h": 91
+ },
+ "frame": {
+ "x": 165,
+ "y": 89,
+ "w": 76,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 76,
+ "h": 91
+ },
+ "frame": {
+ "x": 165,
+ "y": 89,
+ "w": 76,
+ "h": 91
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 75,
+ "h": 88
+ },
+ "frame": {
+ "x": 167,
+ "y": 0,
+ "w": 75,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 75,
+ "h": 88
+ },
+ "frame": {
+ "x": 167,
+ "y": 0,
+ "w": 75,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 75,
+ "h": 90
+ },
+ "frame": {
+ "x": 165,
+ "y": 180,
+ "w": 75,
+ "h": 90
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 75,
+ "h": 90
+ },
+ "frame": {
+ "x": 165,
+ "y": 180,
+ "w": 75,
+ "h": 90
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 74,
+ "h": 90
+ },
+ "frame": {
+ "x": 166,
+ "y": 270,
+ "w": 74,
+ "h": 90
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 74,
+ "h": 90
+ },
+ "frame": {
+ "x": 166,
+ "y": 270,
+ "w": 74,
+ "h": 90
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 74,
+ "h": 90
+ },
+ "frame": {
+ "x": 166,
+ "y": 270,
+ "w": 74,
+ "h": 90
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 74,
+ "h": 90
+ },
+ "frame": {
+ "x": 166,
+ "y": 270,
+ "w": 74,
+ "h": 90
+ }
+ },
+ {
+ "filename": "0135.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 75,
+ "h": 88
+ },
+ "frame": {
+ "x": 166,
+ "y": 360,
+ "w": 75,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0136.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 75,
+ "h": 88
+ },
+ "frame": {
+ "x": 166,
+ "y": 360,
+ "w": 75,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 73,
+ "h": 90
+ },
+ "frame": {
+ "x": 239,
+ "y": 448,
+ "w": 73,
+ "h": 90
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 73,
+ "h": 90
+ },
+ "frame": {
+ "x": 239,
+ "y": 448,
+ "w": 73,
+ "h": 90
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 75,
+ "h": 87
+ },
+ "frame": {
+ "x": 240,
+ "y": 180,
+ "w": 75,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 75,
+ "h": 87
+ },
+ "frame": {
+ "x": 240,
+ "y": 180,
+ "w": 75,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0137.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 75,
+ "h": 87
+ },
+ "frame": {
+ "x": 241,
+ "y": 88,
+ "w": 75,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0138.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 75,
+ "h": 87
+ },
+ "frame": {
+ "x": 241,
+ "y": 88,
+ "w": 75,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 74,
+ "h": 88
+ },
+ "frame": {
+ "x": 242,
+ "y": 0,
+ "w": 74,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 74,
+ "h": 88
+ },
+ "frame": {
+ "x": 242,
+ "y": 0,
+ "w": 74,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 74,
+ "h": 88
+ },
+ "frame": {
+ "x": 242,
+ "y": 0,
+ "w": 74,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 74,
+ "h": 88
+ },
+ "frame": {
+ "x": 242,
+ "y": 0,
+ "w": 74,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 73,
+ "h": 88
+ },
+ "frame": {
+ "x": 240,
+ "y": 267,
+ "w": 73,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 73,
+ "h": 88
+ },
+ "frame": {
+ "x": 240,
+ "y": 267,
+ "w": 73,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 73,
+ "h": 88
+ },
+ "frame": {
+ "x": 240,
+ "y": 267,
+ "w": 73,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 73,
+ "h": 88
+ },
+ "frame": {
+ "x": 240,
+ "y": 267,
+ "w": 73,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 73,
+ "h": 88
+ },
+ "frame": {
+ "x": 241,
+ "y": 355,
+ "w": 73,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 73,
+ "h": 88
+ },
+ "frame": {
+ "x": 241,
+ "y": 355,
+ "w": 73,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 73,
+ "h": 88
+ },
+ "frame": {
+ "x": 313,
+ "y": 267,
+ "w": 73,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 73,
+ "h": 88
+ },
+ "frame": {
+ "x": 313,
+ "y": 267,
+ "w": 73,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0139.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 75,
+ "h": 85
+ },
+ "frame": {
+ "x": 315,
+ "y": 175,
+ "w": 75,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0140.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 75,
+ "h": 85
+ },
+ "frame": {
+ "x": 315,
+ "y": 175,
+ "w": 75,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 74,
+ "h": 86
+ },
+ "frame": {
+ "x": 312,
+ "y": 443,
+ "w": 74,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 74,
+ "h": 86
+ },
+ "frame": {
+ "x": 312,
+ "y": 443,
+ "w": 74,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 75,
+ "h": 83
+ },
+ "frame": {
+ "x": 312,
+ "y": 529,
+ "w": 75,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 75,
+ "h": 83
+ },
+ "frame": {
+ "x": 312,
+ "y": 529,
+ "w": 75,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 73,
+ "h": 87
+ },
+ "frame": {
+ "x": 314,
+ "y": 355,
+ "w": 73,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 73,
+ "h": 87
+ },
+ "frame": {
+ "x": 314,
+ "y": 355,
+ "w": 73,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 73,
+ "h": 87
+ },
+ "frame": {
+ "x": 314,
+ "y": 355,
+ "w": 73,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 73,
+ "h": 87
+ },
+ "frame": {
+ "x": 314,
+ "y": 355,
+ "w": 73,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 73,
+ "h": 87
+ },
+ "frame": {
+ "x": 386,
+ "y": 442,
+ "w": 73,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 73,
+ "h": 87
+ },
+ "frame": {
+ "x": 386,
+ "y": 442,
+ "w": 73,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0141.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 75,
+ "h": 83
+ },
+ "frame": {
+ "x": 387,
+ "y": 529,
+ "w": 75,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0142.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 75,
+ "h": 83
+ },
+ "frame": {
+ "x": 387,
+ "y": 529,
+ "w": 75,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 72,
+ "h": 87
+ },
+ "frame": {
+ "x": 386,
+ "y": 260,
+ "w": 72,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 72,
+ "h": 87
+ },
+ "frame": {
+ "x": 386,
+ "y": 260,
+ "w": 72,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 72,
+ "h": 87
+ },
+ "frame": {
+ "x": 386,
+ "y": 260,
+ "w": 72,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 72,
+ "h": 87
+ },
+ "frame": {
+ "x": 386,
+ "y": 260,
+ "w": 72,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 4,
+ "w": 72,
+ "h": 87
+ },
+ "frame": {
+ "x": 387,
+ "y": 347,
+ "w": 72,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 4,
+ "w": 72,
+ "h": 87
+ },
+ "frame": {
+ "x": 387,
+ "y": 347,
+ "w": 72,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 7,
+ "w": 74,
+ "h": 84
+ },
+ "frame": {
+ "x": 316,
+ "y": 0,
+ "w": 74,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 7,
+ "w": 74,
+ "h": 84
+ },
+ "frame": {
+ "x": 316,
+ "y": 0,
+ "w": 74,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 73,
+ "h": 85
+ },
+ "frame": {
+ "x": 316,
+ "y": 84,
+ "w": 73,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 73,
+ "h": 85
+ },
+ "frame": {
+ "x": 316,
+ "y": 84,
+ "w": 73,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 73,
+ "h": 85
+ },
+ "frame": {
+ "x": 316,
+ "y": 84,
+ "w": 73,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 73,
+ "h": 85
+ },
+ "frame": {
+ "x": 316,
+ "y": 84,
+ "w": 73,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 73,
+ "h": 85
+ },
+ "frame": {
+ "x": 389,
+ "y": 84,
+ "w": 73,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 73,
+ "h": 85
+ },
+ "frame": {
+ "x": 389,
+ "y": 84,
+ "w": 73,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 9,
+ "w": 75,
+ "h": 82
+ },
+ "frame": {
+ "x": 390,
+ "y": 0,
+ "w": 75,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 9,
+ "w": 75,
+ "h": 82
+ },
+ "frame": {
+ "x": 390,
+ "y": 0,
+ "w": 75,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 9,
+ "w": 75,
+ "h": 82
+ },
+ "frame": {
+ "x": 390,
+ "y": 0,
+ "w": 75,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 9,
+ "w": 75,
+ "h": 82
+ },
+ "frame": {
+ "x": 390,
+ "y": 0,
+ "w": 75,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 9,
+ "w": 75,
+ "h": 82
+ },
+ "frame": {
+ "x": 390,
+ "y": 0,
+ "w": 75,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 9,
+ "w": 75,
+ "h": 82
+ },
+ "frame": {
+ "x": 390,
+ "y": 0,
+ "w": 75,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 72,
+ "h": 86
+ },
+ "frame": {
+ "x": 390,
+ "y": 169,
+ "w": 72,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 72,
+ "h": 86
+ },
+ "frame": {
+ "x": 390,
+ "y": 169,
+ "w": 72,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 72,
+ "h": 86
+ },
+ "frame": {
+ "x": 390,
+ "y": 169,
+ "w": 72,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 72,
+ "h": 86
+ },
+ "frame": {
+ "x": 390,
+ "y": 169,
+ "w": 72,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 5,
+ "w": 72,
+ "h": 86
+ },
+ "frame": {
+ "x": 458,
+ "y": 255,
+ "w": 72,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 5,
+ "w": 72,
+ "h": 86
+ },
+ "frame": {
+ "x": 458,
+ "y": 255,
+ "w": 72,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 9,
+ "w": 75,
+ "h": 82
+ },
+ "frame": {
+ "x": 462,
+ "y": 82,
+ "w": 75,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 9,
+ "w": 75,
+ "h": 82
+ },
+ "frame": {
+ "x": 462,
+ "y": 82,
+ "w": 75,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 9,
+ "w": 75,
+ "h": 82
+ },
+ "frame": {
+ "x": 462,
+ "y": 82,
+ "w": 75,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 9,
+ "w": 75,
+ "h": 82
+ },
+ "frame": {
+ "x": 462,
+ "y": 82,
+ "w": 75,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0143.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 9,
+ "w": 75,
+ "h": 82
+ },
+ "frame": {
+ "x": 462,
+ "y": 82,
+ "w": 75,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0144.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 9,
+ "w": 75,
+ "h": 82
+ },
+ "frame": {
+ "x": 462,
+ "y": 82,
+ "w": 75,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 9,
+ "w": 70,
+ "h": 82
+ },
+ "frame": {
+ "x": 465,
+ "y": 0,
+ "w": 70,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 9,
+ "w": 70,
+ "h": 82
+ },
+ "frame": {
+ "x": 465,
+ "y": 0,
+ "w": 70,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 9,
+ "w": 70,
+ "h": 82
+ },
+ "frame": {
+ "x": 535,
+ "y": 0,
+ "w": 70,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 9,
+ "w": 70,
+ "h": 82
+ },
+ "frame": {
+ "x": 535,
+ "y": 0,
+ "w": 70,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 74,
+ "h": 83
+ },
+ "frame": {
+ "x": 462,
+ "y": 164,
+ "w": 74,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 74,
+ "h": 83
+ },
+ "frame": {
+ "x": 462,
+ "y": 164,
+ "w": 74,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 74,
+ "h": 83
+ },
+ "frame": {
+ "x": 462,
+ "y": 164,
+ "w": 74,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 74,
+ "h": 83
+ },
+ "frame": {
+ "x": 462,
+ "y": 164,
+ "w": 74,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 74,
+ "h": 83
+ },
+ "frame": {
+ "x": 459,
+ "y": 341,
+ "w": 74,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 74,
+ "h": 83
+ },
+ "frame": {
+ "x": 459,
+ "y": 341,
+ "w": 74,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 74,
+ "h": 83
+ },
+ "frame": {
+ "x": 459,
+ "y": 341,
+ "w": 74,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 74,
+ "h": 83
+ },
+ "frame": {
+ "x": 459,
+ "y": 341,
+ "w": 74,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 7,
+ "w": 73,
+ "h": 84
+ },
+ "frame": {
+ "x": 530,
+ "y": 247,
+ "w": 73,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 7,
+ "w": 73,
+ "h": 84
+ },
+ "frame": {
+ "x": 530,
+ "y": 247,
+ "w": 73,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 7,
+ "w": 73,
+ "h": 84
+ },
+ "frame": {
+ "x": 530,
+ "y": 247,
+ "w": 73,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 7,
+ "w": 73,
+ "h": 84
+ },
+ "frame": {
+ "x": 530,
+ "y": 247,
+ "w": 73,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 8,
+ "w": 70,
+ "h": 83
+ },
+ "frame": {
+ "x": 536,
+ "y": 164,
+ "w": 70,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 8,
+ "w": 70,
+ "h": 83
+ },
+ "frame": {
+ "x": 536,
+ "y": 164,
+ "w": 70,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 72,
+ "h": 85
+ },
+ "frame": {
+ "x": 459,
+ "y": 424,
+ "w": 72,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 72,
+ "h": 85
+ },
+ "frame": {
+ "x": 459,
+ "y": 424,
+ "w": 72,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 72,
+ "h": 85
+ },
+ "frame": {
+ "x": 459,
+ "y": 424,
+ "w": 72,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 72,
+ "h": 85
+ },
+ "frame": {
+ "x": 459,
+ "y": 424,
+ "w": 72,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 6,
+ "w": 70,
+ "h": 85
+ },
+ "frame": {
+ "x": 531,
+ "y": 424,
+ "w": 70,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 6,
+ "w": 70,
+ "h": 85
+ },
+ "frame": {
+ "x": 531,
+ "y": 424,
+ "w": 70,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 6,
+ "w": 70,
+ "h": 85
+ },
+ "frame": {
+ "x": 533,
+ "y": 331,
+ "w": 70,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 6,
+ "w": 70,
+ "h": 85
+ },
+ "frame": {
+ "x": 533,
+ "y": 331,
+ "w": 70,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 7,
+ "w": 70,
+ "h": 84
+ },
+ "frame": {
+ "x": 462,
+ "y": 509,
+ "w": 70,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 7,
+ "w": 70,
+ "h": 84
+ },
+ "frame": {
+ "x": 462,
+ "y": 509,
+ "w": 70,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 8,
+ "w": 70,
+ "h": 83
+ },
+ "frame": {
+ "x": 532,
+ "y": 509,
+ "w": 70,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 91
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 8,
+ "w": 70,
+ "h": 83
+ },
+ "frame": {
+ "x": 532,
+ "y": 509,
+ "w": 70,
+ "h": 83
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:896bdce1e384e15b7efc04506d4b6761:e9a5c12009e1255328b1ba3b0ef15705:b30ae2c608d28a7c3d6ec02e78bcf668$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/6_3.png b/public/images/pokemon/variant/6_3.png
new file mode 100644
index 00000000000..1c419ff419c
Binary files /dev/null and b/public/images/pokemon/variant/6_3.png differ
diff --git a/public/images/pokemon/variant/712.json b/public/images/pokemon/variant/712.json
new file mode 100644
index 00000000000..9663215b117
--- /dev/null
+++ b/public/images/pokemon/variant/712.json
@@ -0,0 +1,32 @@
+{
+ "1": {
+ "a5c4d2": "f29eb3",
+ "e8f5fe": "ffebf2",
+ "58647b": "bf566d",
+ "719aa9": "d97389",
+ "b3eaf8": "ffbfda",
+ "101010": "101010",
+ "705c99": "732334",
+ "f2ba49": "9dcc3e",
+ "967acc": "994255",
+ "ffd98c": "cbe696",
+ "737373": "737373",
+ "bfbfbf": "bfbfbf",
+ "f8f8f8": "f8f8f8"
+ },
+ "2": {
+ "a5c4d2": "e69e2b",
+ "e8f5fe": "fff2ad",
+ "58647b": "a8632a",
+ "719aa9": "cc7b1e",
+ "b3eaf8": "fcc95c",
+ "101010": "101010",
+ "705c99": "006761",
+ "f2ba49": "6cb3ae",
+ "967acc": "2c7a75",
+ "ffd98c": "b9f2ee",
+ "737373": "2c7a75",
+ "bfbfbf": "6cb3ae",
+ "f8f8f8": "b9f2ee"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/713.json b/public/images/pokemon/variant/713.json
new file mode 100644
index 00000000000..ca45360ecea
--- /dev/null
+++ b/public/images/pokemon/variant/713.json
@@ -0,0 +1,32 @@
+{
+ "1": {
+ "608cba": "bf566d",
+ "bff4ff": "ffbfda",
+ "85d7f2": "f29eb3",
+ "967acc": "732334",
+ "77b8d9": "d97389",
+ "335980": "994255",
+ "f2ffff": "ffebf2",
+ "101010": "101010",
+ "737373": "737373",
+ "bfbfbf": "bfbfbf",
+ "efab34": "9dcc3e",
+ "ffe46a": "cbe696",
+ "f8f8f8": "f8f8f8"
+ },
+ "2": {
+ "608cba": "a8632a",
+ "bff4ff": "fcc95c",
+ "85d7f2": "e69e2b",
+ "967acc": "2c7a75",
+ "77b8d9": "cc7b1e",
+ "335980": "824628",
+ "f2ffff": "fff2ad",
+ "101010": "101010",
+ "737373": "737373",
+ "bfbfbf": "6cb3ae",
+ "efab34": "6cb3ae",
+ "ffe46a": "b9f2ee",
+ "f8f8f8": "b9f2ee"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/734.json b/public/images/pokemon/variant/734.json
new file mode 100644
index 00000000000..e85de98e300
--- /dev/null
+++ b/public/images/pokemon/variant/734.json
@@ -0,0 +1,32 @@
+{
+ "1": {
+ "946827": "523a44",
+ "753933": "03192d",
+ "f8e478": "c1aaaa",
+ "db9f4f": "907e82",
+ "9c5b50": "2a3f52",
+ "ba836d": "35576b",
+ "ea8c96": "c1715c",
+ "080808": "080808",
+ "f8f8f8": "f8f8f8",
+ "686d77": "686d77",
+ "433f3a": "433f3a",
+ "a5a8af": "a5a8af",
+ "413d38": "523716"
+ },
+ "2": {
+ "946827": "241b1b",
+ "753933": "26201f",
+ "f8e478": "4d4242",
+ "db9f4f": "362e2e",
+ "9c5b50": "786a66",
+ "ba836d": "a69c98",
+ "ea8c96": "a38b89",
+ "080808": "080808",
+ "f8f8f8": "f8f8f8",
+ "686d77": "6c6c6c",
+ "433f3a": "3f3f3f",
+ "a5a8af": "a7a7a7",
+ "413d38": "464a4d"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/735.json b/public/images/pokemon/variant/735.json
new file mode 100644
index 00000000000..7e6e6e65449
--- /dev/null
+++ b/public/images/pokemon/variant/735.json
@@ -0,0 +1,32 @@
+{
+ "1": {
+ "84521a": "462f39",
+ "ecd96c": "b99d95",
+ "8d473d": "2a3252",
+ "602c24": "03102d",
+ "af754e": "354c6b",
+ "101010": "101010",
+ "b6973a": "7a6a6d",
+ "393633": "5f3d1c",
+ "f8f8f8": "f8f8f8",
+ "787885": "787885",
+ "ea6f91": "c1715c",
+ "a3a3ab": "a3a3ab",
+ "2d2b28": "5a3215"
+ },
+ "2": {
+ "84521a": "241b1b",
+ "ecd96c": "4d4242",
+ "8d473d": "90827e",
+ "602c24": "524b4b",
+ "af754e": "ada5a4",
+ "101010": "101010",
+ "b6973a": "362e2e",
+ "393633": "393633",
+ "f8f8f8": "f8f8f8",
+ "787885": "6e6e7b",
+ "ea6f91": "846a68",
+ "a3a3ab": "989898",
+ "2d2b28": "423d3d"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/742_2.json b/public/images/pokemon/variant/742_2.json
new file mode 100644
index 00000000000..767ed580d9c
--- /dev/null
+++ b/public/images/pokemon/variant/742_2.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "742_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 40,
+ "h": 40
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 40,
+ "h": 40
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 40,
+ "h": 40
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 40,
+ "h": 40
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:c90b1b7516a4570a8d1e64926a17ee3a:c44b2eac6e499d9765934cfc3ab09d96:c5fe5d6bbd2066d37202b0b755129ba5$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/742_2.png b/public/images/pokemon/variant/742_2.png
new file mode 100644
index 00000000000..43103181126
Binary files /dev/null and b/public/images/pokemon/variant/742_2.png differ
diff --git a/public/images/pokemon/variant/742_3.json b/public/images/pokemon/variant/742_3.json
new file mode 100644
index 00000000000..e55933e24da
--- /dev/null
+++ b/public/images/pokemon/variant/742_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "742_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 40,
+ "h": 40
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 40,
+ "h": 40
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 40,
+ "h": 40
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 40,
+ "h": 40
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:c90b1b7516a4570a8d1e64926a17ee3a:c44b2eac6e499d9765934cfc3ab09d96:c5fe5d6bbd2066d37202b0b755129ba5$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/742_3.png b/public/images/pokemon/variant/742_3.png
new file mode 100644
index 00000000000..88002632e61
Binary files /dev/null and b/public/images/pokemon/variant/742_3.png differ
diff --git a/public/images/pokemon/variant/743_2.json b/public/images/pokemon/variant/743_2.json
new file mode 100644
index 00000000000..e6d0bd6d239
--- /dev/null
+++ b/public/images/pokemon/variant/743_2.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "743_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 51,
+ "h": 51
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 45,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 45,
+ "h": 51
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 45,
+ "h": 51
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:a19f9e60c810185ff764fe26317ba667:1e84a64270b27d1f722a003f47736a8e:c8a06588e3ef3c7c5201d3917470f092$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/743_2.png b/public/images/pokemon/variant/743_2.png
new file mode 100644
index 00000000000..fe5fbfae5d3
Binary files /dev/null and b/public/images/pokemon/variant/743_2.png differ
diff --git a/public/images/pokemon/variant/743_3.json b/public/images/pokemon/variant/743_3.json
new file mode 100644
index 00000000000..aa4528e32de
--- /dev/null
+++ b/public/images/pokemon/variant/743_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "743_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 51,
+ "h": 51
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 45,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 45,
+ "h": 51
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 45,
+ "h": 51
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:a19f9e60c810185ff764fe26317ba667:1e84a64270b27d1f722a003f47736a8e:c8a06588e3ef3c7c5201d3917470f092$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/743_3.png b/public/images/pokemon/variant/743_3.png
new file mode 100644
index 00000000000..36a3ae6513b
Binary files /dev/null and b/public/images/pokemon/variant/743_3.png differ
diff --git a/public/images/pokemon/variant/751.json b/public/images/pokemon/variant/751.json
new file mode 100644
index 00000000000..19dc7bedb56
--- /dev/null
+++ b/public/images/pokemon/variant/751.json
@@ -0,0 +1,30 @@
+{
+ "1": {
+ "8895ac": "ae504b",
+ "e8e8ea": "ffc8d1",
+ "9bad34": "4e1f42",
+ "69670e": "3a112f",
+ "cedf42": "673252",
+ "fcfcfc": "fcfcfc",
+ "3c4459": "4c152c",
+ "aed7ee": "aed7ee",
+ "79c4d4": "f3bd8a",
+ "101010": "101010",
+ "516a7b": "812b3e",
+ "5e9cbd": "cc7854"
+ },
+ "2": {
+ "8895ac": "ea9b43",
+ "e8e8ea": "f1dcc2",
+ "9bad34": "4980ac",
+ "69670e": "263756",
+ "cedf42": "72add9",
+ "fcfcfc": "fcfcfc",
+ "3c4459": "73312f",
+ "aed7ee": "aed7ee",
+ "79c4d4": "3b5373",
+ "101010": "101010",
+ "516a7b": "ba5c2c",
+ "5e9cbd": "253155"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/752.json b/public/images/pokemon/variant/752.json
new file mode 100644
index 00000000000..448e2c5dbf5
--- /dev/null
+++ b/public/images/pokemon/variant/752.json
@@ -0,0 +1,36 @@
+{
+ "1": {
+ "426b84": "7c3b51",
+ "b7d7e6": "ffc8d1",
+ "81afc9": "d187a0",
+ "fdfdfd": "fdfdfd",
+ "101010": "101010",
+ "69670e": "3a112f",
+ "9bad34": "4e1f42",
+ "cedf42": "673252",
+ "30455a": "4c152c",
+ "4d6d87": "ae504b",
+ "675a4d": "395677",
+ "8b7969": "5ea3b8",
+ "598aae": "a35884",
+ "87c9d8": "f3bd8a",
+ "3b546c": "812b3e"
+ },
+ "2": {
+ "426b84": "55506a",
+ "b7d7e6": "dce7ee",
+ "81afc9": "a7a2bc",
+ "fdfdfd": "f3fbff",
+ "101010": "101010",
+ "69670e": "263756",
+ "9bad34": "4980ac",
+ "cedf42": "72add9",
+ "30455a": "834723",
+ "4d6d87": "f5cf52",
+ "675a4d": "75291a",
+ "8b7969": "bc521d",
+ "598aae": "836671",
+ "87c9d8": "3b5373",
+ "3b546c": "d49435"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/772.json b/public/images/pokemon/variant/772.json
new file mode 100644
index 00000000000..38afba110bf
--- /dev/null
+++ b/public/images/pokemon/variant/772.json
@@ -0,0 +1,48 @@
+{
+ "1": {
+ "454f55": "232843",
+ "92a6a9": "889db1",
+ "642515": "7e4f36",
+ "6b777e": "526085",
+ "080808": "080808",
+ "c55e3a": "eed8a1",
+ "934031": "c8976c",
+ "c0cecf": "bdc4e5",
+ "79615e": "504a75",
+ "1d1845": "2e191f",
+ "1a9d23": "2a5f7e",
+ "565969": "35394c",
+ "0073bf": "7a4949",
+ "a0b6b8": "b59489",
+ "718793": "936262",
+ "5a6871": "526085",
+ "483c39": "3a2d53",
+ "251845": "753c32",
+ "9618e0": "dc9c4d",
+ "125d4b": "ce7f3f",
+ "1e9378": "f8ce64"
+ },
+ "2": {
+ "454f55": "18182a",
+ "92a6a9": "65657c",
+ "642515": "444961",
+ "6b777e": "3b3b51",
+ "080808": "080808",
+ "c55e3a": "c1cfd8",
+ "934031": "7f94b1",
+ "c0cecf": "dbd8e8",
+ "79615e": "d6d4d4",
+ "1d1845": "41434e",
+ "1a9d23": "4f2e61",
+ "565969": "1d1d2e",
+ "0073bf": "6a6c75",
+ "a0b6b8": "92949e",
+ "718793": "6b777e",
+ "5a6871": "3b3b51",
+ "483c39": "778894",
+ "251845": "425735",
+ "9618e0": "ade265",
+ "125d4b": "242433",
+ "1e9378": "444455"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/773-bug_2.json b/public/images/pokemon/variant/773-bug_2.json
new file mode 100644
index 00000000000..9a6ea7d6a8a
--- /dev/null
+++ b/public/images/pokemon/variant/773-bug_2.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-bug_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 83,
+ "h": 83
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 65,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:bf64cbae011fb438589101089097a872:0e78e79027eef1aa92d0909fe34152d9:1786a671c3b9676c87853a0a70567554$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/773-bug_2.png b/public/images/pokemon/variant/773-bug_2.png
new file mode 100644
index 00000000000..5e83ece4e21
Binary files /dev/null and b/public/images/pokemon/variant/773-bug_2.png differ
diff --git a/public/images/pokemon/variant/773-bug_3.json b/public/images/pokemon/variant/773-bug_3.json
new file mode 100644
index 00000000000..21fc5c511fe
--- /dev/null
+++ b/public/images/pokemon/variant/773-bug_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-bug_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 83,
+ "h": 83
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 65,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:bf64cbae011fb438589101089097a872:0e78e79027eef1aa92d0909fe34152d9:1786a671c3b9676c87853a0a70567554$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/773-bug_3.png b/public/images/pokemon/variant/773-bug_3.png
new file mode 100644
index 00000000000..a76f21af38b
Binary files /dev/null and b/public/images/pokemon/variant/773-bug_3.png differ
diff --git a/public/images/pokemon/variant/773-dark_2.json b/public/images/pokemon/variant/773-dark_2.json
new file mode 100644
index 00000000000..4eff915b95f
--- /dev/null
+++ b/public/images/pokemon/variant/773-dark_2.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-dark_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 83,
+ "h": 83
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 65,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:e5010b29372802d71f5806de2c47e39a:7b0e34a025b67e5e90f322b7b3f079af:267125b3b5f5d18142ae5fffbef27592$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/773-dark_2.png b/public/images/pokemon/variant/773-dark_2.png
new file mode 100644
index 00000000000..f4a24be8ac9
Binary files /dev/null and b/public/images/pokemon/variant/773-dark_2.png differ
diff --git a/public/images/pokemon/variant/773-dark_3.json b/public/images/pokemon/variant/773-dark_3.json
new file mode 100644
index 00000000000..822d9e26bbc
--- /dev/null
+++ b/public/images/pokemon/variant/773-dark_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-dark_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 83,
+ "h": 83
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 65,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:e5010b29372802d71f5806de2c47e39a:7b0e34a025b67e5e90f322b7b3f079af:267125b3b5f5d18142ae5fffbef27592$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/773-dark_3.png b/public/images/pokemon/variant/773-dark_3.png
new file mode 100644
index 00000000000..2a39118439a
Binary files /dev/null and b/public/images/pokemon/variant/773-dark_3.png differ
diff --git a/public/images/pokemon/variant/773-dragon_2.json b/public/images/pokemon/variant/773-dragon_2.json
new file mode 100644
index 00000000000..0b8c32c52d1
--- /dev/null
+++ b/public/images/pokemon/variant/773-dragon_2.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-dragon_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 83,
+ "h": 83
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 65,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:f6d84e4243fdee8eddd6e0597d855d94:537fa40f266dc62e130af348ea1771f8:59453f2ad0e681735b3b15ab728caa7c$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/773-dragon_2.png b/public/images/pokemon/variant/773-dragon_2.png
new file mode 100644
index 00000000000..1b4e089e74e
Binary files /dev/null and b/public/images/pokemon/variant/773-dragon_2.png differ
diff --git a/public/images/pokemon/variant/773-dragon_3.json b/public/images/pokemon/variant/773-dragon_3.json
new file mode 100644
index 00000000000..1b3ae8c2f6c
--- /dev/null
+++ b/public/images/pokemon/variant/773-dragon_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-dragon_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 83,
+ "h": 83
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 65,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:f6d84e4243fdee8eddd6e0597d855d94:537fa40f266dc62e130af348ea1771f8:59453f2ad0e681735b3b15ab728caa7c$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/773-dragon_3.png b/public/images/pokemon/variant/773-dragon_3.png
new file mode 100644
index 00000000000..2ef7d3888e6
Binary files /dev/null and b/public/images/pokemon/variant/773-dragon_3.png differ
diff --git a/public/images/pokemon/variant/773-electric_2.json b/public/images/pokemon/variant/773-electric_2.json
new file mode 100644
index 00000000000..b85eeeb32bb
--- /dev/null
+++ b/public/images/pokemon/variant/773-electric_2.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-electric_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 83,
+ "h": 83
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 65,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:24e2686eb3e38ace457e83aff292317b:35c1f3320090d294afe853fc19c0838a:e9f7f627b4aa057d8a352e938221d903$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/773-electric_2.png b/public/images/pokemon/variant/773-electric_2.png
new file mode 100644
index 00000000000..26539899d51
Binary files /dev/null and b/public/images/pokemon/variant/773-electric_2.png differ
diff --git a/public/images/pokemon/variant/773-electric_3.json b/public/images/pokemon/variant/773-electric_3.json
new file mode 100644
index 00000000000..4ed33ea0e2d
--- /dev/null
+++ b/public/images/pokemon/variant/773-electric_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-electric_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 83,
+ "h": 83
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 65,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:24e2686eb3e38ace457e83aff292317b:35c1f3320090d294afe853fc19c0838a:e9f7f627b4aa057d8a352e938221d903$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/773-electric_3.png b/public/images/pokemon/variant/773-electric_3.png
new file mode 100644
index 00000000000..2e9f7285d7c
Binary files /dev/null and b/public/images/pokemon/variant/773-electric_3.png differ
diff --git a/public/images/pokemon/variant/773-fairy_2.json b/public/images/pokemon/variant/773-fairy_2.json
new file mode 100644
index 00000000000..fc6c2fb258d
--- /dev/null
+++ b/public/images/pokemon/variant/773-fairy_2.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-fairy_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 83,
+ "h": 83
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 65,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:9d1073d5e324f3164a68296e1c76fe9a:5f054b1628c09b44b4d60480d07c0a63:50e5ca45ea677d44a2fea72d4ec14fc2$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/773-fairy_2.png b/public/images/pokemon/variant/773-fairy_2.png
new file mode 100644
index 00000000000..15a499b07d8
Binary files /dev/null and b/public/images/pokemon/variant/773-fairy_2.png differ
diff --git a/public/images/pokemon/variant/773-fairy_3.json b/public/images/pokemon/variant/773-fairy_3.json
new file mode 100644
index 00000000000..528be34aca2
--- /dev/null
+++ b/public/images/pokemon/variant/773-fairy_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-fairy_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 83,
+ "h": 83
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 65,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:9d1073d5e324f3164a68296e1c76fe9a:5f054b1628c09b44b4d60480d07c0a63:50e5ca45ea677d44a2fea72d4ec14fc2$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/773-fairy_3.png b/public/images/pokemon/variant/773-fairy_3.png
new file mode 100644
index 00000000000..422fdb6bd9f
Binary files /dev/null and b/public/images/pokemon/variant/773-fairy_3.png differ
diff --git a/public/images/pokemon/variant/773-fighting_2.json b/public/images/pokemon/variant/773-fighting_2.json
new file mode 100644
index 00000000000..be5a1a46e92
--- /dev/null
+++ b/public/images/pokemon/variant/773-fighting_2.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-fighting_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 83,
+ "h": 83
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 65,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:42c101a54fd0dc2fe7a4cf33ea5d29ad:c4c4f509074a0f015d20c2018d42c9cb:70f70b07c9d5b3013cbd3b3f25c7f7fa$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/773-fighting_2.png b/public/images/pokemon/variant/773-fighting_2.png
new file mode 100644
index 00000000000..f4d3af408e6
Binary files /dev/null and b/public/images/pokemon/variant/773-fighting_2.png differ
diff --git a/public/images/pokemon/variant/773-fighting_3.json b/public/images/pokemon/variant/773-fighting_3.json
new file mode 100644
index 00000000000..7d51c9ec493
--- /dev/null
+++ b/public/images/pokemon/variant/773-fighting_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-fighting_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 83,
+ "h": 83
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 65,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:42c101a54fd0dc2fe7a4cf33ea5d29ad:c4c4f509074a0f015d20c2018d42c9cb:70f70b07c9d5b3013cbd3b3f25c7f7fa$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/773-fighting_3.png b/public/images/pokemon/variant/773-fighting_3.png
new file mode 100644
index 00000000000..f2430eddfb9
Binary files /dev/null and b/public/images/pokemon/variant/773-fighting_3.png differ
diff --git a/public/images/pokemon/variant/773-fire_2.json b/public/images/pokemon/variant/773-fire_2.json
new file mode 100644
index 00000000000..a08e08ff1ea
--- /dev/null
+++ b/public/images/pokemon/variant/773-fire_2.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-fire_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 83,
+ "h": 83
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 65,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:b6cfaa82accfdac376c8980846dc1b5c:b4a618a0c497424ae576ad7fa24cc820:690c285b19cb1e8f7b7aa9dfafbe36b2$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/773-fire_2.png b/public/images/pokemon/variant/773-fire_2.png
new file mode 100644
index 00000000000..d81ad03151d
Binary files /dev/null and b/public/images/pokemon/variant/773-fire_2.png differ
diff --git a/public/images/pokemon/variant/773-fire_3.json b/public/images/pokemon/variant/773-fire_3.json
new file mode 100644
index 00000000000..03469bebaa6
--- /dev/null
+++ b/public/images/pokemon/variant/773-fire_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-fire_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 83,
+ "h": 83
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 65,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:b6cfaa82accfdac376c8980846dc1b5c:b4a618a0c497424ae576ad7fa24cc820:690c285b19cb1e8f7b7aa9dfafbe36b2$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/773-fire_3.png b/public/images/pokemon/variant/773-fire_3.png
new file mode 100644
index 00000000000..ba54e3ab8cf
Binary files /dev/null and b/public/images/pokemon/variant/773-fire_3.png differ
diff --git a/public/images/pokemon/variant/773-flying_2.json b/public/images/pokemon/variant/773-flying_2.json
new file mode 100644
index 00000000000..a36d78d96c5
--- /dev/null
+++ b/public/images/pokemon/variant/773-flying_2.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-flying_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 83,
+ "h": 83
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 65,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:4a783ce82c207cfac0a91d8a7585bd2a:a9680e08457413d4bd4fa0c590feb6fb:fd9cc965ca8a0f017385425d924045d6$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/773-flying_2.png b/public/images/pokemon/variant/773-flying_2.png
new file mode 100644
index 00000000000..3d752716a98
Binary files /dev/null and b/public/images/pokemon/variant/773-flying_2.png differ
diff --git a/public/images/pokemon/variant/773-flying_3.json b/public/images/pokemon/variant/773-flying_3.json
new file mode 100644
index 00000000000..a5429c18d3e
--- /dev/null
+++ b/public/images/pokemon/variant/773-flying_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-flying_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 83,
+ "h": 83
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 65,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:4a783ce82c207cfac0a91d8a7585bd2a:a9680e08457413d4bd4fa0c590feb6fb:fd9cc965ca8a0f017385425d924045d6$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/773-flying_3.png b/public/images/pokemon/variant/773-flying_3.png
new file mode 100644
index 00000000000..2c2ae37da99
Binary files /dev/null and b/public/images/pokemon/variant/773-flying_3.png differ
diff --git a/public/images/pokemon/variant/773-ghost_2.json b/public/images/pokemon/variant/773-ghost_2.json
new file mode 100644
index 00000000000..f9fd197ee53
--- /dev/null
+++ b/public/images/pokemon/variant/773-ghost_2.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-ghost_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 83,
+ "h": 83
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 65,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:0187e6a29f9e47b36ff518910cfa5a3b:5217988d03f6a259878a7f6330a8c8f3:dff8d338685b93339ecf30f1d807fbe6$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/773-ghost_2.png b/public/images/pokemon/variant/773-ghost_2.png
new file mode 100644
index 00000000000..5bc5c5eb238
Binary files /dev/null and b/public/images/pokemon/variant/773-ghost_2.png differ
diff --git a/public/images/pokemon/variant/773-ghost_3.json b/public/images/pokemon/variant/773-ghost_3.json
new file mode 100644
index 00000000000..a72a6cc6ed3
--- /dev/null
+++ b/public/images/pokemon/variant/773-ghost_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-ghost_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 83,
+ "h": 83
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 65,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:0187e6a29f9e47b36ff518910cfa5a3b:5217988d03f6a259878a7f6330a8c8f3:dff8d338685b93339ecf30f1d807fbe6$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/773-ghost_3.png b/public/images/pokemon/variant/773-ghost_3.png
new file mode 100644
index 00000000000..2bcb3253254
Binary files /dev/null and b/public/images/pokemon/variant/773-ghost_3.png differ
diff --git a/public/images/pokemon/variant/773-grass_2.json b/public/images/pokemon/variant/773-grass_2.json
new file mode 100644
index 00000000000..1610b458f1a
--- /dev/null
+++ b/public/images/pokemon/variant/773-grass_2.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-grass_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 83,
+ "h": 83
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 65,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:1b83cb2851c54b5912a9540b69583425:94d90bc5c7284c47f0de55761bfbf43e:c892d42603d88b410862efcb4f750000$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/773-grass_2.png b/public/images/pokemon/variant/773-grass_2.png
new file mode 100644
index 00000000000..3d1e5567f3b
Binary files /dev/null and b/public/images/pokemon/variant/773-grass_2.png differ
diff --git a/public/images/pokemon/variant/773-grass_3.json b/public/images/pokemon/variant/773-grass_3.json
new file mode 100644
index 00000000000..ede74cb8bab
--- /dev/null
+++ b/public/images/pokemon/variant/773-grass_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-grass_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 83,
+ "h": 83
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 65,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:1b83cb2851c54b5912a9540b69583425:94d90bc5c7284c47f0de55761bfbf43e:c892d42603d88b410862efcb4f750000$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/773-grass_3.png b/public/images/pokemon/variant/773-grass_3.png
new file mode 100644
index 00000000000..d77fc49d802
Binary files /dev/null and b/public/images/pokemon/variant/773-grass_3.png differ
diff --git a/public/images/pokemon/variant/773-ground_2.json b/public/images/pokemon/variant/773-ground_2.json
new file mode 100644
index 00000000000..93ea259ec3a
--- /dev/null
+++ b/public/images/pokemon/variant/773-ground_2.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-ground_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 83,
+ "h": 83
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 65,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:c65c6c5c6cc3e8a7878ca5817e283881:51d311b8dfbb1977a1c68a05261c1907:a8b1ae37d6ef4c526891c3cd392866cd$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/773-ground_2.png b/public/images/pokemon/variant/773-ground_2.png
new file mode 100644
index 00000000000..fab45e3f898
Binary files /dev/null and b/public/images/pokemon/variant/773-ground_2.png differ
diff --git a/public/images/pokemon/variant/773-ground_3.json b/public/images/pokemon/variant/773-ground_3.json
new file mode 100644
index 00000000000..165ebe06884
--- /dev/null
+++ b/public/images/pokemon/variant/773-ground_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-ground_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 83,
+ "h": 83
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 65,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:c65c6c5c6cc3e8a7878ca5817e283881:51d311b8dfbb1977a1c68a05261c1907:a8b1ae37d6ef4c526891c3cd392866cd$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/773-ground_3.png b/public/images/pokemon/variant/773-ground_3.png
new file mode 100644
index 00000000000..9d41832c27a
Binary files /dev/null and b/public/images/pokemon/variant/773-ground_3.png differ
diff --git a/public/images/pokemon/variant/773-ice_2.json b/public/images/pokemon/variant/773-ice_2.json
new file mode 100644
index 00000000000..9c8cf9b3bdb
--- /dev/null
+++ b/public/images/pokemon/variant/773-ice_2.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-ice_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 83,
+ "h": 83
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 65,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:1d23efa5e9b3d275d4a3f1a7f9eeac2c:df7e8bd7cd5bdc82656537e9b98c5301:bbb81164af15638f1aae91f14ca0ac1d$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/773-ice_2.png b/public/images/pokemon/variant/773-ice_2.png
new file mode 100644
index 00000000000..90f429ab6f6
Binary files /dev/null and b/public/images/pokemon/variant/773-ice_2.png differ
diff --git a/public/images/pokemon/variant/773-ice_3.json b/public/images/pokemon/variant/773-ice_3.json
new file mode 100644
index 00000000000..909c816a588
--- /dev/null
+++ b/public/images/pokemon/variant/773-ice_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-ice_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 83,
+ "h": 83
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 65,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:1d23efa5e9b3d275d4a3f1a7f9eeac2c:df7e8bd7cd5bdc82656537e9b98c5301:bbb81164af15638f1aae91f14ca0ac1d$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/773-ice_3.png b/public/images/pokemon/variant/773-ice_3.png
new file mode 100644
index 00000000000..63abf3d3095
Binary files /dev/null and b/public/images/pokemon/variant/773-ice_3.png differ
diff --git a/public/images/pokemon/variant/773-poison_2.json b/public/images/pokemon/variant/773-poison_2.json
new file mode 100644
index 00000000000..0f7de42c9a1
--- /dev/null
+++ b/public/images/pokemon/variant/773-poison_2.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-poison_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 83,
+ "h": 83
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 65,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:dfe035db7a0f7cf612f32bd2f5c4eb04:888201f6fcde4f12dac2ceea3b7ac2a5:2e43d6e4a409b7aabc1efd3ec3981f96$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/773-poison_2.png b/public/images/pokemon/variant/773-poison_2.png
new file mode 100644
index 00000000000..92bc0f8a3d1
Binary files /dev/null and b/public/images/pokemon/variant/773-poison_2.png differ
diff --git a/public/images/pokemon/variant/773-poison_3.json b/public/images/pokemon/variant/773-poison_3.json
new file mode 100644
index 00000000000..4b769c97c9e
--- /dev/null
+++ b/public/images/pokemon/variant/773-poison_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-poison_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 83,
+ "h": 83
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 65,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:dfe035db7a0f7cf612f32bd2f5c4eb04:888201f6fcde4f12dac2ceea3b7ac2a5:2e43d6e4a409b7aabc1efd3ec3981f96$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/773-poison_3.png b/public/images/pokemon/variant/773-poison_3.png
new file mode 100644
index 00000000000..47091d9cb8a
Binary files /dev/null and b/public/images/pokemon/variant/773-poison_3.png differ
diff --git a/public/images/pokemon/variant/773-psychic_2.json b/public/images/pokemon/variant/773-psychic_2.json
new file mode 100644
index 00000000000..4a253910382
--- /dev/null
+++ b/public/images/pokemon/variant/773-psychic_2.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-psychic_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 83,
+ "h": 83
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 65,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:8033b35ef569ca4c4c6d2ad1ae519b70:5293c3498393ac01d648a935b942dded:9fb489b40d17b047a9dacb47533ceda4$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/773-psychic_2.png b/public/images/pokemon/variant/773-psychic_2.png
new file mode 100644
index 00000000000..b7f56fae94f
Binary files /dev/null and b/public/images/pokemon/variant/773-psychic_2.png differ
diff --git a/public/images/pokemon/variant/773-psychic_3.json b/public/images/pokemon/variant/773-psychic_3.json
new file mode 100644
index 00000000000..8e4b8ede99d
--- /dev/null
+++ b/public/images/pokemon/variant/773-psychic_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-psychic_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 83,
+ "h": 83
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 65,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:8033b35ef569ca4c4c6d2ad1ae519b70:5293c3498393ac01d648a935b942dded:9fb489b40d17b047a9dacb47533ceda4$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/773-psychic_3.png b/public/images/pokemon/variant/773-psychic_3.png
new file mode 100644
index 00000000000..8a254486e7e
Binary files /dev/null and b/public/images/pokemon/variant/773-psychic_3.png differ
diff --git a/public/images/pokemon/variant/773-rock_2.json b/public/images/pokemon/variant/773-rock_2.json
new file mode 100644
index 00000000000..18244ffef66
--- /dev/null
+++ b/public/images/pokemon/variant/773-rock_2.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-rock_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 83,
+ "h": 83
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 65,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:922747a62af7e365b70407e0760a23e7:656409d4ba7bef1578674365e77b4408:b6fcb5d1ff917a13e5e912a7f40fcbe2$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/773-rock_2.png b/public/images/pokemon/variant/773-rock_2.png
new file mode 100644
index 00000000000..cb75da9cbea
Binary files /dev/null and b/public/images/pokemon/variant/773-rock_2.png differ
diff --git a/public/images/pokemon/variant/773-rock_3.json b/public/images/pokemon/variant/773-rock_3.json
new file mode 100644
index 00000000000..fe77e866a1d
--- /dev/null
+++ b/public/images/pokemon/variant/773-rock_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-rock_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 83,
+ "h": 83
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 65,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:922747a62af7e365b70407e0760a23e7:656409d4ba7bef1578674365e77b4408:b6fcb5d1ff917a13e5e912a7f40fcbe2$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/773-rock_3.png b/public/images/pokemon/variant/773-rock_3.png
new file mode 100644
index 00000000000..0baff166415
Binary files /dev/null and b/public/images/pokemon/variant/773-rock_3.png differ
diff --git a/public/images/pokemon/variant/773-steel_2.json b/public/images/pokemon/variant/773-steel_2.json
new file mode 100644
index 00000000000..ed81bc3f2f3
--- /dev/null
+++ b/public/images/pokemon/variant/773-steel_2.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-steel_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 83,
+ "h": 83
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 65,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:457a0cbf13798ec9abc1d1ef475cc61b:2312082b81a525c2b4d2beddc123c92f:28dcfb1ac7091bec326d67f7b8d4eaa6$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/773-steel_2.png b/public/images/pokemon/variant/773-steel_2.png
new file mode 100644
index 00000000000..9923e26d937
Binary files /dev/null and b/public/images/pokemon/variant/773-steel_2.png differ
diff --git a/public/images/pokemon/variant/773-steel_3.json b/public/images/pokemon/variant/773-steel_3.json
new file mode 100644
index 00000000000..d2f18cfe976
--- /dev/null
+++ b/public/images/pokemon/variant/773-steel_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-steel_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 83,
+ "h": 83
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 65,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:457a0cbf13798ec9abc1d1ef475cc61b:2312082b81a525c2b4d2beddc123c92f:28dcfb1ac7091bec326d67f7b8d4eaa6$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/773-steel_3.png b/public/images/pokemon/variant/773-steel_3.png
new file mode 100644
index 00000000000..694dace6bb7
Binary files /dev/null and b/public/images/pokemon/variant/773-steel_3.png differ
diff --git a/public/images/pokemon/variant/773-water_2.json b/public/images/pokemon/variant/773-water_2.json
new file mode 100644
index 00000000000..fdadc5fa173
--- /dev/null
+++ b/public/images/pokemon/variant/773-water_2.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-water_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 83,
+ "h": 83
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 65,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:641069390eb79c5af35647b55879f603:0626f05d3311e8fe5ccaf77a20eaa741:609e3c1a2aa54ec6d5110acf831a822b$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/773-water_2.png b/public/images/pokemon/variant/773-water_2.png
new file mode 100644
index 00000000000..933bd9b6076
Binary files /dev/null and b/public/images/pokemon/variant/773-water_2.png differ
diff --git a/public/images/pokemon/variant/773-water_3.json b/public/images/pokemon/variant/773-water_3.json
new file mode 100644
index 00000000000..5dbc11657f6
--- /dev/null
+++ b/public/images/pokemon/variant/773-water_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-water_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 83,
+ "h": 83
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 65,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 83
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:641069390eb79c5af35647b55879f603:0626f05d3311e8fe5ccaf77a20eaa741:609e3c1a2aa54ec6d5110acf831a822b$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/773-water_3.png b/public/images/pokemon/variant/773-water_3.png
new file mode 100644
index 00000000000..568eac10857
Binary files /dev/null and b/public/images/pokemon/variant/773-water_3.png differ
diff --git a/public/images/pokemon/variant/773.json b/public/images/pokemon/variant/773.json
new file mode 100644
index 00000000000..b64796b9bf9
--- /dev/null
+++ b/public/images/pokemon/variant/773.json
@@ -0,0 +1,50 @@
+{
+ "1": {
+ "939f9e": "738093",
+ "ededed": "eef1f3",
+ "f9f9f9": "cdd6dc",
+ "d3d7df": "98a8be",
+ "565969": "30365c",
+ "bcbbc5": "788fb5",
+ "e3e6ec": "bdd1e5",
+ "3f3b50": "1e172a",
+ "aba7bc": "493d55",
+ "080808": "080808",
+ "e64f5e": "f1944a",
+ "483c39": "3a2d53",
+ "79615e": "504a75",
+ "1d1845": "2e191f",
+ "e9eaf8": "e7ebed",
+ "0073bf": "7a4949",
+ "5399df": "b59489",
+ "fffef5": "fffef5",
+ "251845": "753c32",
+ "9618e0": "dc9c4d",
+ "125d4b": "ce7f3f",
+ "1e9378": "f8ce64"
+ },
+ "2": {
+ "939f9e": "738093",
+ "ededed": "ffffff",
+ "f9f9f9": "e7eef2",
+ "d3d7df": "b4bcc4",
+ "565969": "0f0f1b",
+ "bcbbc5": "242433",
+ "e3e6ec": "444455",
+ "3f3b50": "3f3b50",
+ "aba7bc": "dbd8e8",
+ "080808": "080808",
+ "e64f5e": "98ce58",
+ "483c39": "778894",
+ "79615e": "d6d4d4",
+ "1d1845": "41434e",
+ "e9eaf8": "eef4f8",
+ "0073bf": "6a6c75",
+ "5399df": "92949e",
+ "fffef5": "fffef5",
+ "251845": "425735",
+ "9618e0": "ade265",
+ "125d4b": "686981",
+ "1e9378": "eef4f8"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/776.json b/public/images/pokemon/variant/776.json
new file mode 100644
index 00000000000..295f413292e
--- /dev/null
+++ b/public/images/pokemon/variant/776.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "281715": "39221d",
+ "080808": "080808",
+ "71171a": "2c0f2d",
+ "6b473c": "f4eba2",
+ "e74545": "4f3d66",
+ "b7282c": "3f2350",
+ "fadd3d": "32d9e5",
+ "cc8720": "2f98cd",
+ "635a4e": "5a4c65",
+ "ccccad": "b4b8c8",
+ "969678": "887c97",
+ "3c2b24": "d5966f",
+ "fdfdfd": "fdfdfd",
+ "9b6500": "276da5"
+ },
+ "2": {
+ "281715": "0a413b",
+ "080808": "080808",
+ "71171a": "be8a7a",
+ "6b473c": "caee67",
+ "e74545": "faeecd",
+ "b7282c": "e1bf9f",
+ "fadd3d": "6e45a0",
+ "cc8720": "4d2e5e",
+ "635a4e": "4c4276",
+ "ccccad": "adc4e9",
+ "969678": "7983c1",
+ "3c2b24": "61b551",
+ "fdfdfd": "fdfdfd",
+ "9b6500": "341a3c"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/777.json b/public/images/pokemon/variant/777.json
new file mode 100644
index 00000000000..f434d0446ea
--- /dev/null
+++ b/public/images/pokemon/variant/777.json
@@ -0,0 +1,32 @@
+{
+ "1": {
+ "101010": "101010",
+ "ffea80": "dec2f0",
+ "ccb852": "ac8fbb",
+ "4d4d4d": "362952",
+ "b3b3b3": "8e71cd",
+ "808080": "645393",
+ "595959": "444147",
+ "f8f8f8": "f8f8f8",
+ "8c8c8c": "99979b",
+ "fbfbfb": "fbfbfb",
+ "bfbfbf": "d0dadb",
+ "977d63": "d263b0",
+ "73593f": "ae428a"
+ },
+ "2": {
+ "101010": "101010",
+ "ffea80": "d65d3c",
+ "ccb852": "7b3c26",
+ "4d4d4d": "294127",
+ "b3b3b3": "4cb568",
+ "808080": "2e804f",
+ "595959": "342a20",
+ "f8f8f8": "e5b38c",
+ "8c8c8c": "634c41",
+ "fbfbfb": "fbfbfb",
+ "bfbfbf": "b27f64",
+ "977d63": "724b39",
+ "73593f": "47240f"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/778-busted.json b/public/images/pokemon/variant/778-busted.json
new file mode 100644
index 00000000000..c3f37914667
--- /dev/null
+++ b/public/images/pokemon/variant/778-busted.json
@@ -0,0 +1,26 @@
+{
+ "1": {
+ "101010": "000000",
+ "404040": "3a200c",
+ "b3a76b": "8d4f3d",
+ "f2e291": "aa6f46",
+ "665f3d": "542c21",
+ "f28b24": "d9ae6c",
+ "a55c18": "c58850",
+ "4d361f": "a0561d",
+ "b37d47": "fabc5f",
+ "404039": "381a15"
+ },
+ "2": {
+ "101010": "000000",
+ "404040": "0c123a",
+ "b3a76b": "3d2e4f",
+ "f2e291": "5b496b",
+ "665f3d": "1b1031",
+ "f28b24": "69a3cb",
+ "a55c18": "5b8abd",
+ "4d361f": "3e5075",
+ "b37d47": "8eb5cd",
+ "404039": "ff766e"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/778-disguised.json b/public/images/pokemon/variant/778-disguised.json
new file mode 100644
index 00000000000..3fb6d0c98c2
--- /dev/null
+++ b/public/images/pokemon/variant/778-disguised.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "101010": "000000",
+ "404040": "3a200c",
+ "b3a76b": "8d4f3d",
+ "f2e291": "aa6f46",
+ "665f3d": "542c21",
+ "1c1b1b": "180c05",
+ "555137": "382313",
+ "f28b24": "d9ae6c",
+ "a55c18": "c58850",
+ "45402b": "060b28",
+ "4d361f": "a0561d",
+ "b37d47": "fabc5f",
+ "805933": "d18e33",
+ "3c3838": "381a15"
+ },
+ "2": {
+ "101010": "000000",
+ "404040": "0c123a",
+ "b3a76b": "3d2e4f",
+ "f2e291": "5b496b",
+ "665f3d": "1b1031",
+ "1c1b1b": "0b1231",
+ "555137": "25213a",
+ "f28b24": "69a3cb",
+ "a55c18": "5b8abd",
+ "45402b": "060b28",
+ "4d361f": "3e5075",
+ "b37d47": "8eb5cd",
+ "805933": "6d80a4",
+ "3c3838": "ff766e"
+ }
+}
diff --git a/public/images/pokemon/variant/778.json b/public/images/pokemon/variant/778.json
deleted file mode 100644
index 3b8eca6ee7f..00000000000
--- a/public/images/pokemon/variant/778.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "1": {
- "101010": "000000",
- "404040": "3a200c",
- "b3a76b": "8d4f3d",
- "f2e291": "aa6f46",
- "665f3d": "542c21",
- "1c1b1b": "180c05",
- "555137": "382313",
- "f28b24": "d9ae6c",
- "a55c18": "c58850",
- "45402b": "060b28",
- "4d361f": "a0561d",
- "b37d47": "fabc5f",
- "805933": "d18e33",
- "3c3838": "381a15"
- },
- "2": {
- "101010": "000000",
- "404040": "0c123a",
- "b3a76b": "3d2e4f",
- "f2e291": "5b496b",
- "665f3d": "1b1031",
- "1c1b1b": "0b1231",
- "555137": "25213a",
- "f28b24": "69a3cb",
- "a55c18": "5b8abd",
- "45402b": "060b28",
- "4d361f": "3e5075",
- "b37d47": "8eb5cd",
- "805933": "6d80a4",
- "3c3838": "ff766e"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/779.json b/public/images/pokemon/variant/779.json
new file mode 100644
index 00000000000..a550ffadda3
--- /dev/null
+++ b/public/images/pokemon/variant/779.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "58295f": "a52121",
+ "834589": "c62c2c",
+ "b75eb7": "f65656",
+ "101010": "101010",
+ "de5c8a": "602b7a",
+ "97354e": "2e0c3f",
+ "ef87b5": "84539d",
+ "314d8e": "667fb2",
+ "93d3e1": "caefff",
+ "5e9fc4": "94c5da",
+ "cfae3f": "d65e5e",
+ "efe85f": "faa28c",
+ "fdfdfd": "fdfdfd",
+ "969696": "969696"
+ },
+ "2": {
+ "58295f": "4545c4",
+ "834589": "6666e2",
+ "b75eb7": "8585ff",
+ "101010": "101010",
+ "de5c8a": "dca032",
+ "97354e": "935b3b",
+ "ef87b5": "ffd166",
+ "314d8e": "7878ca",
+ "93d3e1": "eeeeff",
+ "5e9fc4": "afafe1",
+ "cfae3f": "2d2c43",
+ "efe85f": "454457",
+ "fdfdfd": "fdfdfd",
+ "969696": "969696"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/79.json b/public/images/pokemon/variant/79.json
new file mode 100644
index 00000000000..f9a866f85e4
--- /dev/null
+++ b/public/images/pokemon/variant/79.json
@@ -0,0 +1,17 @@
+{
+ "0": {
+ "6b6363": "6b6363",
+ "101010": "101010",
+ "d6cece": "d6cece",
+ "ffffff": "ffffff",
+ "ffa5a5": "cebdff",
+ "de637b": "846bbd",
+ "ff8494": "ad94ff",
+ "ad4252": "6f539e",
+ "7b2131": "52397b",
+ "dea563": "deb55a",
+ "8c5a19": "8c6b10",
+ "efc58c": "efc58c",
+ "ffe6b5": "fff7b5"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/797.json b/public/images/pokemon/variant/797.json
new file mode 100644
index 00000000000..05e51ab62bd
--- /dev/null
+++ b/public/images/pokemon/variant/797.json
@@ -0,0 +1,30 @@
+{
+ "1": {
+ "1d948a": "bb6e1d",
+ "2dc8b3": "e0a135",
+ "4c7e71": "2d3cb0",
+ "fefefe": "f9e5d1",
+ "2b584b": "19155c",
+ "82ada4": "506ee3",
+ "bccfc4": "f2b97f",
+ "b3e088": "ffc785",
+ "101010": "101010",
+ "a3e2bb": "9db7f4",
+ "53ca89": "f0f5f9",
+ "193124": "09112e"
+ },
+ "2": {
+ "1d948a": "77d4a9",
+ "2dc8b3": "bff3bb",
+ "4c7e71": "69132d",
+ "fefefe": "534757",
+ "2b584b": "410425",
+ "82ada4": "8b1933",
+ "bccfc4": "242733",
+ "b3e088": "232323",
+ "101010": "101010",
+ "a3e2bb": "bd2f62",
+ "53ca89": "bbf3ef",
+ "193124": "330007"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/816.json b/public/images/pokemon/variant/816.json
new file mode 100644
index 00000000000..32174bf545b
--- /dev/null
+++ b/public/images/pokemon/variant/816.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "1f2d63": "631c1c",
+ "e8d16a": "635753",
+ "8f7a43": "322a27",
+ "2b699f": "9d2331",
+ "425493": "7d292a",
+ "6ab6d2": "e66371",
+ "add7e7": "e6828e",
+ "718b93": "a7664c",
+ "5091c0": "b5464b",
+ "fbfbfb": "fbfbfb",
+ "bdc6ca": "d9c5bc",
+ "d2e7ec": "eecaa2",
+ "9fbac1": "e19b78",
+ "101010": "101010"
+ },
+ "2": {
+ "1f2d63": "6e1a4c",
+ "e8d16a": "6ab2d3",
+ "8f7a43": "3b72a3",
+ "2b699f": "a32c59",
+ "425493": "813535",
+ "6ab6d2": "ffeeb8",
+ "add7e7": "fffbec",
+ "718b93": "933644",
+ "5091c0": "dea26c",
+ "fbfbfb": "fbfbfb",
+ "bdc6ca": "c5e4ea",
+ "d2e7ec": "ec8b48",
+ "9fbac1": "d5543c",
+ "101010": "101010"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/817.json b/public/images/pokemon/variant/817.json
new file mode 100644
index 00000000000..f6650317915
--- /dev/null
+++ b/public/images/pokemon/variant/817.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "183569": "572225",
+ "0a5fba": "80222e",
+ "6c4499": "a1572f",
+ "a278c7": "dd8a4f",
+ "0b89bf": "9a3538",
+ "005980": "631425",
+ "70cce0": "eb8577",
+ "31b5d0": "cf5b5d",
+ "6ba01b": "a36d5d",
+ "101010": "101010",
+ "ccc7cd": "c7c1bd",
+ "fefefe": "fefefe",
+ "3d6424": "83403e",
+ "8cd222": "d99f8d"
+ },
+ "2": {
+ "183569": "731f4e",
+ "0a5fba": "da5c8a",
+ "6c4499": "2c68a3",
+ "a278c7": "65c2e5",
+ "0b89bf": "dc7647",
+ "005980": "7c2f23",
+ "70cce0": "ffe5a3",
+ "31b5d0": "fcbe6d",
+ "6ba01b": "ba2c22",
+ "101010": "101010",
+ "ccc7cd": "becee1",
+ "fefefe": "fefefe",
+ "3d6424": "731317",
+ "8cd222": "d85633"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/818-gigantamax.json b/public/images/pokemon/variant/818-gigantamax.json
new file mode 100644
index 00000000000..82fc117bf7b
--- /dev/null
+++ b/public/images/pokemon/variant/818-gigantamax.json
@@ -0,0 +1,56 @@
+{
+ "0": {
+ "003e6a": "004472",
+ "f2f889": "f889b6",
+ "e9cd5f": "e95f92",
+ "1c7bc1": "06cccf",
+ "01599a": "0ea6a8",
+ "9cd2e2": "107ac0",
+ "549bc3": "0060a4",
+ "101010": "101010",
+ "ee3e5c": "ee3e5c",
+ "31302f": "989dac",
+ "646565": "f7fbfc",
+ "4a4a4d": "c4ccd4",
+ "5e9bc3": "0a60a4",
+ "b0faff": "b0faff",
+ "5cdada": "5cdada",
+ "fdfdfd": "fdfdfd"
+ },
+ "1": {
+ "003e6a": "4c1819",
+ "f2f889": "82664c",
+ "e9cd5f": "614432",
+ "1c7bc1": "d94a4c",
+ "01599a": "9c2734",
+ "9cd2e2": "e1926f",
+ "549bc3": "a45e4a",
+ "101010": "101010",
+ "ee3e5c": "5885a2",
+ "31302f": "251e1c",
+ "646565": "4c4643",
+ "4a4a4d": "342b2a",
+ "5e9bc3": "2b1f1e",
+ "b0faff": "57524d",
+ "5cdada": "3e3532",
+ "fdfdfd": "787878"
+ },
+ "2": {
+ "003e6a": "412b45",
+ "f2f889": "65c2e5",
+ "e9cd5f": "4484c3",
+ "1c7bc1": "fff2cc",
+ "01599a": "d8b284",
+ "9cd2e2": "ffcd57",
+ "549bc3": "e38544",
+ "101010": "101010",
+ "ee3e5c": "5885a2",
+ "31302f": "571342",
+ "646565": "be3a7d",
+ "4a4a4d": "771b54",
+ "5e9bc3": "522a55",
+ "b0faff": "be87b1",
+ "5cdada": "854d81",
+ "fdfdfd": "daa4c6"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/818.json b/public/images/pokemon/variant/818.json
new file mode 100644
index 00000000000..d4563f39dd6
--- /dev/null
+++ b/public/images/pokemon/variant/818.json
@@ -0,0 +1,36 @@
+{
+ "1": {
+ "003e6a": "4e1819",
+ "88632b": "452a1e",
+ "1c7bc1": "d94a4c",
+ "e9cd5f": "614432",
+ "f2f889": "82664c",
+ "01599a": "9c2734",
+ "549bc3": "a55846",
+ "9cd2e2": "e1926f",
+ "fdfdfd": "fdfdfd",
+ "e3a32b": "5885a2",
+ "101010": "101010",
+ "31302f": "251e1c",
+ "646565": "4c4643",
+ "4a4a4d": "342b2a",
+ "fcfcfc": "e6d3ca"
+ },
+ "2": {
+ "003e6a": "6c2d21",
+ "88632b": "3046a1",
+ "1c7bc1": "fff2cc",
+ "e9cd5f": "4484c3",
+ "f2f889": "65c2e5",
+ "01599a": "d8b284",
+ "549bc3": "e38544",
+ "9cd2e2": "ffcd57",
+ "fdfdfd": "fdfdfd",
+ "e3a32b": "a13047",
+ "101010": "101010",
+ "31302f": "571342",
+ "646565": "be3a7d",
+ "4a4a4d": "771b54",
+ "fcfcfc": "c85f36"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/859_2.json b/public/images/pokemon/variant/859_2.json
new file mode 100644
index 00000000000..1494c4909f7
--- /dev/null
+++ b/public/images/pokemon/variant/859_2.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "859_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 51,
+ "h": 51
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 51,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 51,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 51,
+ "h": 47
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:214cad7b549c6f4fdfaf238d82156c4e:50dda7cd3a060b6b559148b2a281e2fe:40139ec0718e207e11a4ee81c686e004$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/859_2.png b/public/images/pokemon/variant/859_2.png
new file mode 100644
index 00000000000..111e51b0892
Binary files /dev/null and b/public/images/pokemon/variant/859_2.png differ
diff --git a/public/images/pokemon/variant/859_3.json b/public/images/pokemon/variant/859_3.json
new file mode 100644
index 00000000000..e0d6c3779a8
--- /dev/null
+++ b/public/images/pokemon/variant/859_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "859_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 51,
+ "h": 51
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 51,
+ "h": 47
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 51,
+ "h": 47
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 51,
+ "h": 47
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:214cad7b549c6f4fdfaf238d82156c4e:50dda7cd3a060b6b559148b2a281e2fe:40139ec0718e207e11a4ee81c686e004$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/859_3.png b/public/images/pokemon/variant/859_3.png
new file mode 100644
index 00000000000..1c6888a0f95
Binary files /dev/null and b/public/images/pokemon/variant/859_3.png differ
diff --git a/public/images/pokemon/variant/860.json b/public/images/pokemon/variant/860.json
new file mode 100644
index 00000000000..784d8e3bb64
--- /dev/null
+++ b/public/images/pokemon/variant/860.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "902748": "2d582c",
+ "f75c90": "7daf56",
+ "352954": "3b1528",
+ "5d4694": "8b332d",
+ "8872b6": "c45949",
+ "e93761": "638a48",
+ "fd0b42": "d24309",
+ "433568": "5a1d27",
+ "101010": "101010",
+ "c9c9c9": "c9c9c9",
+ "fdfdfd": "fdfdfd",
+ "409555": "244849",
+ "47be62": "366c59",
+ "356a3c": "162a35"
+ },
+ "2": {
+ "902748": "320d19",
+ "f75c90": "64233b",
+ "352954": "a26458",
+ "5d4694": "dfc784",
+ "8872b6": "f6e8b8",
+ "e93761": "491337",
+ "fd0b42": "f0443e",
+ "433568": "c98e63",
+ "101010": "101010",
+ "c9c9c9": "dad6bf",
+ "fdfdfd": "fdfdfd",
+ "409555": "272664",
+ "47be62": "3f386f",
+ "356a3c": "090d50"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/861-gigantamax.json b/public/images/pokemon/variant/861-gigantamax.json
new file mode 100644
index 00000000000..45d7da58c75
--- /dev/null
+++ b/public/images/pokemon/variant/861-gigantamax.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "2f184e": "290527",
+ "5d4694": "8b332d",
+ "101010": "101010",
+ "433568": "5a1d27",
+ "352954": "3b1528",
+ "409555": "244849",
+ "47be62": "366c59",
+ "356a3c": "162a35",
+ "fd0b42": "d24309",
+ "c9c9c9": "c9c9c9",
+ "fdfdfd": "fdfdfd",
+ "f874a0": "ea812f",
+ "e93761": "638a48",
+ "f75c90": "7daf56"
+ },
+ "2": {
+ "2f184e": "6a2f3a",
+ "5d4694": "dfc784",
+ "101010": "101010",
+ "433568": "c98e63",
+ "352954": "a26458",
+ "409555": "272664",
+ "47be62": "3f386f",
+ "356a3c": "090d50",
+ "fd0b42": "f0443e",
+ "c9c9c9": "dad6bf",
+ "fdfdfd": "fdfdfd",
+ "f874a0": "f291bf",
+ "e93761": "491337",
+ "f75c90": "64233b"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/861.json b/public/images/pokemon/variant/861.json
new file mode 100644
index 00000000000..f60f7b31a56
--- /dev/null
+++ b/public/images/pokemon/variant/861.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "356a3c": "162a35",
+ "47be62": "366c59",
+ "2f184e": "290527",
+ "101010": "101010",
+ "5d4694": "8b332d",
+ "409555": "244849",
+ "fd0b42": "d24309",
+ "433568": "5a1d27",
+ "c9c9c9": "c9c9c9",
+ "fdfdfd": "fdfdfd",
+ "352954": "3b1528",
+ "7c8089": "7c8089",
+ "e93761": "638a48",
+ "f75c90": "7daf56"
+ },
+ "2": {
+ "356a3c": "090d50",
+ "47be62": "3f386f",
+ "2f184e": "6a2f3a",
+ "101010": "101010",
+ "5d4694": "dfc784",
+ "409555": "272664",
+ "fd0b42": "f0443e",
+ "433568": "c98e63",
+ "c9c9c9": "dad6bf",
+ "fdfdfd": "fdfdfd",
+ "352954": "a26458",
+ "7c8089": "7c8089",
+ "e93761": "491337",
+ "f75c90": "64233b"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/876-female.json b/public/images/pokemon/variant/876-female.json
new file mode 100644
index 00000000000..3d34ed7afae
--- /dev/null
+++ b/public/images/pokemon/variant/876-female.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "2e2641": "2c1419",
+ "7d7493": "5a3736",
+ "564c6c": "4a282a",
+ "2f2642": "2c1419",
+ "6c64a6": "b72e3e",
+ "101010": "101010",
+ "d872e7": "79e28d",
+ "ccb7c2": "c4a691",
+ "fefefe": "e8d4bf",
+ "92605f": "14742d",
+ "4d447e": "8c1932",
+ "733737": "043e1f",
+ "826882": "826458",
+ "3d3055": "64102c"
+ },
+ "2": {
+ "2e2641": "853861",
+ "7d7493": "ecb2c5",
+ "564c6c": "d58da4",
+ "2f2642": "444a8e",
+ "6c64a6": "78aae5",
+ "101010": "101010",
+ "d872e7": "ff9cca",
+ "ccb7c2": "cbdbe6",
+ "fefefe": "f0f2f3",
+ "92605f": "c53f8d",
+ "4d447e": "5c7bc5",
+ "733737": "8c174c",
+ "826882": "6f8ba1",
+ "3d3055": "4c5db1"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/876.json b/public/images/pokemon/variant/876.json
new file mode 100644
index 00000000000..0f7b7dbd9d4
--- /dev/null
+++ b/public/images/pokemon/variant/876.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "2e2641": "2c1419",
+ "7d7493": "5a3736",
+ "101010": "101010",
+ "564c6c": "4a282a",
+ "2f2642": "2c1419",
+ "6c64a6": "b72e3e",
+ "ccb7c2": "c4a691",
+ "fefefe": "e8d4bf",
+ "4d447e": "8c1932",
+ "92605f": "14742d",
+ "733737": "043e1f",
+ "28b0e3": "79e28d",
+ "826882": "826458",
+ "3d3055": "64102c"
+ },
+ "2": {
+ "2e2641": "314c7c",
+ "7d7493": "a3c5e8",
+ "101010": "101010",
+ "564c6c": "78a5d4",
+ "2f2642": "7a316c",
+ "6c64a6": "f589bb",
+ "ccb7c2": "e6d2e7",
+ "fefefe": "faeefa",
+ "4d447e": "d268a7",
+ "92605f": "0077dc",
+ "733737": "2d4697",
+ "28b0e3": "acd2ff",
+ "826882": "9b7e9e",
+ "3d3055": "aa518a"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/896.json b/public/images/pokemon/variant/896.json
new file mode 100644
index 00000000000..afb9c0209a0
--- /dev/null
+++ b/public/images/pokemon/variant/896.json
@@ -0,0 +1,38 @@
+{
+ "0": {
+ "8cacdd": "8f84c9",
+ "101010": "101010",
+ "bbd2ff": "b9abea",
+ "eeeef3": "f6ebf6",
+ "cbc1cc": "c9c0d4",
+ "003071": "2f104f",
+ "4679b7": "5952a1",
+ "6c6271": "68627a",
+ "eeeef2": "f6ebf6",
+ "cac0cb": "c9c0d4"
+ },
+ "1": {
+ "8cacdd": "41d5b3",
+ "101010": "101010",
+ "bbd2ff": "9dffff",
+ "eeeef3": "d7ffff",
+ "cbc1cc": "90f6da",
+ "003071": "014837",
+ "4679b7": "00816c",
+ "6c6271": "35486b",
+ "eeeef2": "93bbf1",
+ "cac0cb": "6f8ec1"
+ },
+ "2": {
+ "8cacdd": "bc393b",
+ "101010": "101010",
+ "bbd2ff": "f68c79",
+ "eeeef3": "fde3d6",
+ "cbc1cc": "f3bca6",
+ "003071": "520016",
+ "4679b7": "780024",
+ "6c6271": "21161a",
+ "eeeef2": "534444",
+ "cac0cb": "3c2c2f"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/897.json b/public/images/pokemon/variant/897.json
new file mode 100644
index 00000000000..d0171d386fa
--- /dev/null
+++ b/public/images/pokemon/variant/897.json
@@ -0,0 +1,28 @@
+{
+ "1": {
+ "3c3c3c": "622d51",
+ "101010": "101010",
+ "525852": "904c75",
+ "00285c": "6e1817",
+ "49478f": "932f27",
+ "7c5bcf": "cc5837",
+ "d9a4e3": "ff8478",
+ "fcfcfc": "fff3c6",
+ "755179": "a63938",
+ "504e8e": "b86441",
+ "8776e4": "ef8956"
+ },
+ "2": {
+ "3c3c3c": "3a6965",
+ "101010": "101010",
+ "525852": "5c8a7b",
+ "00285c": "0d2222",
+ "49478f": "13312b",
+ "7c5bcf": "254a34",
+ "d9a4e3": "7dc3ad",
+ "fcfcfc": "cffce7",
+ "755179": "2e6a62",
+ "504e8e": "244056",
+ "8776e4": "3c6371"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/897_1.json b/public/images/pokemon/variant/897_1.json
new file mode 100644
index 00000000000..a5e72df18a3
--- /dev/null
+++ b/public/images/pokemon/variant/897_1.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "897_1.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 79,
+ "h": 79
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 70,
+ "h": 79
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 70,
+ "h": 79
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 70,
+ "h": 79
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:07b31e48487f0bffadecf4f3f77d0f50:4eea1ea4491a773d5eb26cc9886ac2c4:7c4bce2516dc11034c10ee594ee60868$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/897_1.png b/public/images/pokemon/variant/897_1.png
new file mode 100644
index 00000000000..74e793e31fa
Binary files /dev/null and b/public/images/pokemon/variant/897_1.png differ
diff --git a/public/images/pokemon/variant/898-ice.json b/public/images/pokemon/variant/898-ice.json
new file mode 100644
index 00000000000..b74cf26d567
--- /dev/null
+++ b/public/images/pokemon/variant/898-ice.json
@@ -0,0 +1,65 @@
+{
+ "0": {
+ "8cacdd": "8f84c9",
+ "101010": "101010",
+ "bbd2ff": "b9abea",
+ "004037": "00403c",
+ "007766": "00776f",
+ "00584b": "005852",
+ "eeeef3": "f6ebf6",
+ "4d524d": "6a5837",
+ "cbc1cc": "c9c0d4",
+ "fbfbfb": "fbfbfb",
+ "c6c7cc": "ccc6d1",
+ "d1c8be": "d7c881",
+ "9e8f87": "ae8b50",
+ "003071": "2f104f",
+ "4679b7": "5952a1",
+ "6c6271": "68627a",
+ "eeeef2": "f6ebf6",
+ "cac0cb": "c9c0d4",
+ "00285b": "3b2948"
+ },
+ "1": {
+ "8cacdd": "41d5b3",
+ "101010": "101010",
+ "bbd2ff": "9dffff",
+ "004037": "00124d",
+ "007766": "345ab5",
+ "00584b": "183986",
+ "eeeef3": "d7ffff",
+ "4d524d": "38255f",
+ "cbc1cc": "90f6da",
+ "fbfbfb": "fbfbfb",
+ "c6c7cc": "c6c7cc",
+ "d1c8be": "ba9ded",
+ "9e8f87": "927ec4",
+ "003071": "014837",
+ "4679b7": "00816c",
+ "6c6271": "35486b",
+ "eeeef2": "93bbf1",
+ "cac0cb": "6f8ec1",
+ "00285b": "8d075a"
+ },
+ "2": {
+ "8cacdd": "bc393b",
+ "101010": "101010",
+ "bbd2ff": "f68c79",
+ "004037": "3c1522",
+ "007766": "88253e",
+ "00584b": "601b35",
+ "eeeef3": "fde3d6",
+ "4d524d": "181935",
+ "cbc1cc": "f3bca6",
+ "fbfbfb": "fefdeb",
+ "c6c7cc": "c4bdb3",
+ "d1c8be": "4378b1",
+ "9e8f87": "354d8a",
+ "003071": "520016",
+ "4679b7": "780024",
+ "6c6271": "21161a",
+ "eeeef2": "534444",
+ "cac0cb": "3c2c2f",
+ "00285b": "e4ba56"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/898-shadow.json b/public/images/pokemon/variant/898-shadow.json
new file mode 100644
index 00000000000..8394ad0f19e
--- /dev/null
+++ b/public/images/pokemon/variant/898-shadow.json
@@ -0,0 +1,71 @@
+{
+ "0": {
+ "004037": "00403c",
+ "007766": "00776f",
+ "00584b": "005852",
+ "3c3c3c": "3c3c3c",
+ "4d524d": "6a5837",
+ "101010": "101010",
+ "525852": "5d5458",
+ "fbfbfb": "fbfbfb",
+ "00285c": "632741",
+ "c7c8cd": "ccc6d1",
+ "d1c8be": "d7c881",
+ "9e8f87": "ae8b50",
+ "49478f": "894061",
+ "7c5bcf": "d05a82",
+ "d9a4e3": "d9a4e3",
+ "fcfcfc": "fcfcfc",
+ "755179": "755179",
+ "3b3b3b": "6a5837",
+ "00285b": "3b2948",
+ "504e8e": "80447d",
+ "8776e4": "b862b3"
+ },
+ "1": {
+ "004037": "00124d",
+ "007766": "345ab5",
+ "00584b": "183986",
+ "3c3c3c": "622d51",
+ "4d524d": "38255f",
+ "101010": "101010",
+ "525852": "904c75",
+ "fbfbfb": "fbfbfb",
+ "00285c": "6e1817",
+ "c7c8cd": "c7c8cd",
+ "d1c8be": "ba9ded",
+ "9e8f87": "927ec4",
+ "49478f": "932f27",
+ "7c5bcf": "cc5837",
+ "d9a4e3": "ff8478",
+ "fcfcfc": "fff3c6",
+ "755179": "a63938",
+ "3b3b3b": "38255f",
+ "00285b": "8d075a",
+ "504e8e": "b86441",
+ "8776e4": "ef8956"
+ },
+ "2": {
+ "004037": "3c1522",
+ "007766": "88253e",
+ "00584b": "601b35",
+ "3c3c3c": "3a6965",
+ "4d524d": "181935",
+ "101010": "101010",
+ "525852": "5c8a7b",
+ "fbfbfb": "fefdeb",
+ "00285c": "0d2222",
+ "c7c8cd": "c4bdb3",
+ "d1c8be": "4378b1",
+ "9e8f87": "354d8a",
+ "49478f": "13312b",
+ "7c5bcf": "254a34",
+ "d9a4e3": "7dc3ad",
+ "fcfcfc": "cffce7",
+ "755179": "2e6a62",
+ "3b3b3b": "181935",
+ "00285b": "e4ba56",
+ "504e8e": "244056",
+ "8776e4": "3c6371"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/898.json b/public/images/pokemon/variant/898.json
new file mode 100644
index 00000000000..ccc39d3a5eb
--- /dev/null
+++ b/public/images/pokemon/variant/898.json
@@ -0,0 +1,50 @@
+{
+ "0": {
+ "525752": "71517a",
+ "a9acc7": "c4abc1",
+ "004037": "00403c",
+ "00584b": "005852",
+ "504e8e": "71517a",
+ "007766": "00776f",
+ "101010": "101010",
+ "525852": "6a5837",
+ "fcfcfc": "fcfcfc",
+ "c7c8cd": "ccc6d1",
+ "9e8f87": "ae8b50",
+ "d1c8be": "d7c881",
+ "00285c": "3b2948",
+ "797b8f": "8e778d"
+ },
+ "1": {
+ "525752": "f55a95",
+ "a9acc7": "fa9ac3",
+ "004037": "00124d",
+ "00584b": "183986",
+ "504e8e": "c64883",
+ "007766": "345ab5",
+ "101010": "101010",
+ "525852": "38255f",
+ "fcfcfc": "fcfcfc",
+ "c7c8cd": "ccc6d1",
+ "9e8f87": "927ec4",
+ "d1c8be": "ba9ded",
+ "00285c": "8d075a",
+ "797b8f": "ec6196"
+ },
+ "2": {
+ "525752": "cc8c49",
+ "a9acc7": "decfa1",
+ "004037": "3c1522",
+ "00584b": "601b35",
+ "504e8e": "cc8c49",
+ "007766": "88253e",
+ "101010": "101010",
+ "525852": "181935",
+ "fcfcfc": "fefdeb",
+ "c7c8cd": "c4bdb3",
+ "9e8f87": "354d8a",
+ "d1c8be": "4378b1",
+ "00285c": "a16035",
+ "797b8f": "ecc260"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/951.json b/public/images/pokemon/variant/951.json
new file mode 100644
index 00000000000..11e0575d7f4
--- /dev/null
+++ b/public/images/pokemon/variant/951.json
@@ -0,0 +1,32 @@
+{
+ "1": {
+ "587266": "d38c43",
+ "244828": "32131a",
+ "f0fbe3": "ffeacc",
+ "2e302f": "1f0c17",
+ "3f9a5f": "be8a84",
+ "2f683c": "9d6b5b",
+ "0f0f0f": "0f0f0f",
+ "5c7c5c": "4c292f",
+ "79b97b": "704f4f",
+ "a6b496": "facf81",
+ "acd2ae": "aa867f",
+ "ff9115": "ffb676",
+ "1c3520": "43211a"
+ },
+ "2": {
+ "587266": "cb486d",
+ "244828": "5d4d80",
+ "f0fbe3": "fecff5",
+ "2e302f": "3b2e3a",
+ "3f9a5f": "a78bdc",
+ "2f683c": "7456a8",
+ "0f0f0f": "0f0f0f",
+ "5c7c5c": "8e7eb1",
+ "79b97b": "cfbfe6",
+ "a6b496": "fa95d1",
+ "acd2ae": "f8f3fe",
+ "ff9115": "b6dfff",
+ "1c3520": "452a75"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/952.json b/public/images/pokemon/variant/952.json
new file mode 100644
index 00000000000..cdf83f43e8f
--- /dev/null
+++ b/public/images/pokemon/variant/952.json
@@ -0,0 +1,42 @@
+{
+ "1": {
+ "294e25": "55321d",
+ "51c444": "facf81",
+ "3f8147": "d38c43",
+ "0f0f0f": "0f0f0f",
+ "1f1f1f": "1f1f1f",
+ "641e1c": "8c2f0a",
+ "a23424": "bb5a2b",
+ "ef5131": "f8975d",
+ "69ab7b": "be8a84",
+ "cdcdcd": "ffd2cc",
+ "42804b": "9d6b5b",
+ "dd5800": "ffb676",
+ "192021": "192021",
+ "fffff7": "ffd2cc",
+ "eff3e6": "ffd2cc",
+ "476b51": "704f4f",
+ "262826": "32131a",
+ "3c5042": "4c292f"
+ },
+ "2": {
+ "294e25": "3f3399",
+ "51c444": "90c3ea",
+ "3f8147": "627bcd",
+ "0f0f0f": "0f0f0f",
+ "1f1f1f": "1f1f1f",
+ "641e1c": "8c1f39",
+ "a23424": "cb486d",
+ "ef5131": "f77baf",
+ "69ab7b": "c4a4eb",
+ "cdcdcd": "f8f3fe",
+ "42804b": "9884d3",
+ "dd5800": "f597cf",
+ "192021": "192021",
+ "fffff7": "fffff7",
+ "eff3e6": "eff3e6",
+ "476b51": "f8f3fe",
+ "262826": "9986b3",
+ "3c5042": "cfbfe6"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/974.json b/public/images/pokemon/variant/974.json
new file mode 100644
index 00000000000..6d2662547de
--- /dev/null
+++ b/public/images/pokemon/variant/974.json
@@ -0,0 +1,36 @@
+{
+ "1": {
+ "736875": "8c2727",
+ "bebaba": "ee9065",
+ "524951": "661427",
+ "efefef": "ffcc9e",
+ "0f0f0f": "0f0f0f",
+ "a29793": "c85442",
+ "a44667": "2c7193",
+ "c7639c": "48aeba",
+ "f493c9": "71e2d3",
+ "fcfcfc": "fcfcfc",
+ "832041": "6a193e",
+ "c9c9c9": "c9c9c9",
+ "cd394a": "ac5070",
+ "5e5e5e": "5e5e5e",
+ "dc7569": "e37c8e"
+ },
+ "2": {
+ "736875": "1f355e",
+ "bebaba": "2a607f",
+ "524951": "172651",
+ "efefef": "438aa0",
+ "0f0f0f": "0f0f0f",
+ "a29793": "1c426b",
+ "a44667": "ae664a",
+ "c7639c": "daa470",
+ "f493c9": "ffdfa1",
+ "fcfcfc": "fcfcfc",
+ "832041": "433363",
+ "c9c9c9": "c9c9c9",
+ "cd394a": "775b8c",
+ "5e5e5e": "5e5e5e",
+ "dc7569": "a87fae"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/975_2.json b/public/images/pokemon/variant/975_2.json
new file mode 100644
index 00000000000..273d2ae722c
--- /dev/null
+++ b/public/images/pokemon/variant/975_2.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "975_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 77,
+ "h": 77
+ },
+ "scale": 0.5,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 96,
+ "h": 96
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 20,
+ "w": 77,
+ "h": 55
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 77,
+ "h": 55
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:cf48041a2943e9c72f52031ff2440235:dc1a6743e45041d4e85ed8e4a39da388:b92d59e06cdcb96dde84f81fc0eff4a2$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/975_2.png b/public/images/pokemon/variant/975_2.png
new file mode 100644
index 00000000000..a122990f639
Binary files /dev/null and b/public/images/pokemon/variant/975_2.png differ
diff --git a/public/images/pokemon/variant/975_3.json b/public/images/pokemon/variant/975_3.json
new file mode 100644
index 00000000000..0f0692bd576
--- /dev/null
+++ b/public/images/pokemon/variant/975_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "975_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 77,
+ "h": 77
+ },
+ "scale": 0.5,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 96,
+ "h": 96
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 20,
+ "w": 77,
+ "h": 55
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 77,
+ "h": 55
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:cf48041a2943e9c72f52031ff2440235:dc1a6743e45041d4e85ed8e4a39da388:b92d59e06cdcb96dde84f81fc0eff4a2$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/975_3.png b/public/images/pokemon/variant/975_3.png
new file mode 100644
index 00000000000..e1cb9773902
Binary files /dev/null and b/public/images/pokemon/variant/975_3.png differ
diff --git a/public/images/pokemon/variant/979_1.json b/public/images/pokemon/variant/979_1.json
new file mode 100644
index 00000000000..8e3d7b66a05
--- /dev/null
+++ b/public/images/pokemon/variant/979_1.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "979_1.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 73,
+ "h": 73
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 70,
+ "h": 73
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 70,
+ "h": 73
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 70,
+ "h": 73
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:51f3ace36cdb5b2eb6da0754ceb9e752:78d3f766440457264fd929a39b9fb4d2:351422d30d3be13e0d9d234ec7c8c043$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/979_1.png b/public/images/pokemon/variant/979_1.png
new file mode 100644
index 00000000000..01216516c57
Binary files /dev/null and b/public/images/pokemon/variant/979_1.png differ
diff --git a/public/images/pokemon/variant/979_2.json b/public/images/pokemon/variant/979_2.json
new file mode 100644
index 00000000000..9161530e8aa
--- /dev/null
+++ b/public/images/pokemon/variant/979_2.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "979_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 73,
+ "h": 73
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 70,
+ "h": 73
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 70,
+ "h": 73
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 70,
+ "h": 73
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:51f3ace36cdb5b2eb6da0754ceb9e752:78d3f766440457264fd929a39b9fb4d2:351422d30d3be13e0d9d234ec7c8c043$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/979_2.png b/public/images/pokemon/variant/979_2.png
new file mode 100644
index 00000000000..52828c62f1e
Binary files /dev/null and b/public/images/pokemon/variant/979_2.png differ
diff --git a/public/images/pokemon/variant/979_3.json b/public/images/pokemon/variant/979_3.json
new file mode 100644
index 00000000000..7a86990c499
--- /dev/null
+++ b/public/images/pokemon/variant/979_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "979_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 73,
+ "h": 73
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 70,
+ "h": 73
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 70,
+ "h": 73
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 70,
+ "h": 73
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:51f3ace36cdb5b2eb6da0754ceb9e752:78d3f766440457264fd929a39b9fb4d2:351422d30d3be13e0d9d234ec7c8c043$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/979_3.png b/public/images/pokemon/variant/979_3.png
new file mode 100644
index 00000000000..ed4407c2a38
Binary files /dev/null and b/public/images/pokemon/variant/979_3.png differ
diff --git a/public/images/pokemon/variant/993.json b/public/images/pokemon/variant/993.json
new file mode 100644
index 00000000000..74fb021387d
--- /dev/null
+++ b/public/images/pokemon/variant/993.json
@@ -0,0 +1,38 @@
+{
+ "1": {
+ "282828": "1c1606",
+ "7a787a": "f8f5e2",
+ "463741": "754711",
+ "4f4d51": "c59b4b",
+ "0f0f0f": "0f0f0f",
+ "952b7d": "585a5c",
+ "ff4dcb": "b7c6d6",
+ "4a424a": "533310",
+ "333539": "333539",
+ "fcfcfc": "ffffff",
+ "20459b": "3c236a",
+ "172e57": "160832",
+ "86abf0": "7e5f9c",
+ "e9e9e9": "dab1ff",
+ "6c82d5": "a58fcd",
+ "3a75e6": "543280"
+ },
+ "2": {
+ "282828": "0d1514",
+ "7a787a": "a4bfbe",
+ "463741": "2a545a",
+ "4f4d51": "467678",
+ "0f0f0f": "0f0f0f",
+ "952b7d": "873954",
+ "ff4dcb": "e3bbd3",
+ "4a424a": "1e2b37",
+ "333539": "333539",
+ "fcfcfc": "fcfcfc",
+ "20459b": "600f40",
+ "172e57": "470e2c",
+ "86abf0": "ba1e51",
+ "e9e9e9": "eabed1",
+ "6c82d5": "8a143d",
+ "3a75e6": "983b5c"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/_masterlist.json b/public/images/pokemon/variant/_masterlist.json
index adca124fc89..f3e690395e1 100644
--- a/public/images/pokemon/variant/_masterlist.json
+++ b/public/images/pokemon/variant/_masterlist.json
@@ -24,6 +24,36 @@
1,
1
],
+ "4": [
+ 0,
+ 1,
+ 1
+ ],
+ "5": [
+ 0,
+ 1,
+ 1
+ ],
+ "6-mega-x": [
+ 0,
+ 1,
+ 2
+ ],
+ "6-gigantamax": [
+ 0,
+ 1,
+ 2
+ ],
+ "6-mega-y": [
+ 0,
+ 1,
+ 2
+ ],
+ "6": [
+ 0,
+ 2,
+ 2
+ ],
"7": [
0,
2,
@@ -84,6 +114,16 @@
1,
1
],
+ "37": [
+ 0,
+ 1,
+ 1
+ ],
+ "38": [
+ 0,
+ 1,
+ 1
+ ],
"41": [
1,
1,
@@ -129,6 +169,16 @@
1,
1
],
+ "56": [
+ 1,
+ 2,
+ 2
+ ],
+ "57": [
+ 2,
+ 2,
+ 2
+ ],
"69": [
0,
2,
@@ -154,6 +204,11 @@
1,
1
],
+ "79": [
+ 1,
+ 0,
+ 0
+ ],
"81": [
0,
1,
@@ -484,6 +539,11 @@
1,
1
],
+ "199": [
+ 2,
+ 0,
+ 0
+ ],
"200": [
1,
1,
@@ -664,11 +724,46 @@
1,
1
],
+ "222": [
+ 0,
+ 1,
+ 1
+ ],
"226": [
0,
2,
2
],
+ "227": [
+ 0,
+ 1,
+ 1
+ ],
+ "228": [
+ 0,
+ 1,
+ 1
+ ],
+ "229": [
+ 0,
+ 1,
+ 1
+ ],
+ "229-mega": [
+ 0,
+ 1,
+ 1
+ ],
+ "231": [
+ 0,
+ 1,
+ 1
+ ],
+ "232": [
+ 0,
+ 1,
+ 1
+ ],
"235": [
0,
1,
@@ -999,6 +1094,26 @@
1,
1
],
+ "353": [
+ 0,
+ 1,
+ 1
+ ],
+ "354": [
+ 0,
+ 1,
+ 1
+ ],
+ "354-mega": [
+ 0,
+ 1,
+ 1
+ ],
+ "357": [
+ 0,
+ 1,
+ 1
+ ],
"358": [
2,
1,
@@ -1019,6 +1134,11 @@
1,
1
],
+ "369": [
+ 0,
+ 1,
+ 1
+ ],
"370": [
0,
1,
@@ -1119,6 +1239,21 @@
1,
1
],
+ "387": [
+ 0,
+ 1,
+ 1
+ ],
+ "388": [
+ 0,
+ 1,
+ 1
+ ],
+ "389": [
+ 0,
+ 1,
+ 1
+ ],
"399": [
0,
1,
@@ -1129,6 +1264,16 @@
1,
1
],
+ "401": [
+ 0,
+ 1,
+ 1
+ ],
+ "402": [
+ 0,
+ 1,
+ 1
+ ],
"406": [
0,
1,
@@ -1229,6 +1374,16 @@
1,
1
],
+ "436": [
+ 0,
+ 1,
+ 1
+ ],
+ "437": [
+ 0,
+ 1,
+ 1
+ ],
"440": [
1,
1,
@@ -1449,6 +1604,16 @@
2,
2
],
+ "531": [
+ 0,
+ 1,
+ 1
+ ],
+ "531-mega": [
+ 0,
+ 1,
+ 1
+ ],
"532": [
0,
1,
@@ -1489,6 +1654,21 @@
1,
1
],
+ "543": [
+ 0,
+ 1,
+ 2
+ ],
+ "544": [
+ 0,
+ 1,
+ 2
+ ],
+ "545": [
+ 0,
+ 1,
+ 1
+ ],
"546": [
0,
1,
@@ -1509,6 +1689,21 @@
1,
2
],
+ "551": [
+ 0,
+ 1,
+ 1
+ ],
+ "552": [
+ 0,
+ 1,
+ 1
+ ],
+ "553": [
+ 0,
+ 1,
+ 1
+ ],
"559": [
1,
1,
@@ -1745,32 +1940,32 @@
1
],
"641-incarnate": [
- 1,
+ 0,
0,
0
],
"641-therian": [
- 1,
+ 0,
0,
0
],
"642-incarnate": [
- 1,
+ 0,
0,
0
],
"642-therian": [
- 1,
+ 0,
0,
0
],
"645-incarnate": [
- 1,
+ 0,
0,
0
],
"645-therian": [
- 1,
+ 0,
0,
0
],
@@ -1944,6 +2139,16 @@
1,
1
],
+ "672": [
+ 0,
+ 1,
+ 2
+ ],
+ "673": [
+ 0,
+ 1,
+ 1
+ ],
"690": [
0,
1,
@@ -2004,6 +2209,16 @@
1,
1
],
+ "712": [
+ 0,
+ 1,
+ 1
+ ],
+ "713": [
+ 0,
+ 1,
+ 1
+ ],
"714": [
0,
1,
@@ -2054,6 +2269,26 @@
1,
1
],
+ "734": [
+ 0,
+ 1,
+ 1
+ ],
+ "735": [
+ 0,
+ 1,
+ 1
+ ],
+ "742": [
+ 0,
+ 2,
+ 2
+ ],
+ "743": [
+ 0,
+ 2,
+ 2
+ ],
"747": [
0,
1,
@@ -2064,6 +2299,16 @@
1,
1
],
+ "751": [
+ 0,
+ 1,
+ 1
+ ],
+ "752": [
+ 0,
+ 1,
+ 1
+ ],
"753": [
0,
1,
@@ -2114,7 +2359,122 @@
1,
1
],
- "778": [
+ "772": [
+ 0,
+ 1,
+ 1
+ ],
+ "773-fighting": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-psychic": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-poison": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-ground": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-ghost": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-steel": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-rock": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-grass": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-dragon": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-bug": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-ice": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-dark": [
+ 0,
+ 2,
+ 2
+ ],
+ "773": [
+ 0,
+ 1,
+ 1
+ ],
+ "773-fairy": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-water": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-electric": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-flying": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-fire": [
+ 0,
+ 2,
+ 2
+ ],
+ "776": [
+ 0,
+ 1,
+ 1
+ ],
+ "777": [
+ 0,
+ 1,
+ 1
+ ],
+ "778-busted": [
+ 0,
+ 1,
+ 1
+ ],
+ "778-disguised": [
+ 0,
+ 1,
+ 1
+ ],
+ "779": [
0,
1,
1
@@ -2154,6 +2514,11 @@
1,
1
],
+ "797": [
+ 0,
+ 1,
+ 1
+ ],
"798": [
0,
1,
@@ -2199,6 +2564,26 @@
1,
1
],
+ "816": [
+ 0,
+ 1,
+ 1
+ ],
+ "817": [
+ 0,
+ 1,
+ 1
+ ],
+ "818-gigantamax": [
+ 1,
+ 1,
+ 1
+ ],
+ "818": [
+ 0,
+ 1,
+ 1
+ ],
"821": [
0,
1,
@@ -2284,6 +2669,26 @@
1,
1
],
+ "859": [
+ 0,
+ 2,
+ 2
+ ],
+ "860": [
+ 0,
+ 1,
+ 1
+ ],
+ "861-gigantamax": [
+ 0,
+ 1,
+ 1
+ ],
+ "861": [
+ 0,
+ 1,
+ 1
+ ],
"862": [
0,
1,
@@ -2309,6 +2714,16 @@
1,
1
],
+ "876-female": [
+ 0,
+ 1,
+ 1
+ ],
+ "876": [
+ 0,
+ 1,
+ 1
+ ],
"877-hangry": [
1,
1,
@@ -2379,6 +2794,31 @@
2,
2
],
+ "896": [
+ 1,
+ 1,
+ 1
+ ],
+ "897": [
+ 2,
+ 1,
+ 1
+ ],
+ "898": [
+ 1,
+ 1,
+ 1
+ ],
+ "898-ice": [
+ 1,
+ 1,
+ 1
+ ],
+ "898-shadow": [
+ 1,
+ 1,
+ 1
+ ],
"900": [
0,
1,
@@ -2474,6 +2914,16 @@
1,
1
],
+ "951": [
+ 0,
+ 1,
+ 1
+ ],
+ "952": [
+ 0,
+ 1,
+ 1
+ ],
"957": [
1,
2,
@@ -2519,6 +2969,16 @@
2,
2
],
+ "974": [
+ 0,
+ 1,
+ 1
+ ],
+ "975": [
+ 0,
+ 2,
+ 2
+ ],
"978-curly": [
0,
2,
@@ -2534,6 +2994,11 @@
2,
2
],
+ "979": [
+ 2,
+ 2,
+ 2
+ ],
"982": [
0,
1,
@@ -2554,6 +3019,11 @@
1,
2
],
+ "993": [
+ 0,
+ 1,
+ 1
+ ],
"994": [
0,
1,
@@ -2624,6 +3094,16 @@
1,
1
],
+ "2052": [
+ 0,
+ 1,
+ 1
+ ],
+ "2053": [
+ 0,
+ 1,
+ 1
+ ],
"4052": [
0,
1,
@@ -2639,6 +3119,11 @@
1,
1
],
+ "4080": [
+ 2,
+ 0,
+ 0
+ ],
"4144": [
0,
2,
@@ -2654,6 +3139,11 @@
2,
2
],
+ "4199": [
+ 2,
+ 0,
+ 0
+ ],
"4222": [
0,
1,
@@ -2709,6 +3199,11 @@
2,
2
],
+ "6713": [
+ 0,
+ 1,
+ 1
+ ],
"8901": [
1,
1,
@@ -2770,6 +3265,11 @@
1,
1
],
+ "123": [
+ 1,
+ 1,
+ 1
+ ],
"129": [
0,
1,
@@ -2790,6 +3290,16 @@
1,
1
],
+ "229": [
+ 0,
+ 1,
+ 1
+ ],
+ "232": [
+ 0,
+ 1,
+ 1
+ ],
"308": [
0,
1,
@@ -2800,6 +3310,11 @@
1,
1
],
+ "369": [
+ 0,
+ 1,
+ 1
+ ],
"399": [
0,
1,
@@ -2810,6 +3325,16 @@
1,
1
],
+ "401": [
+ 0,
+ 1,
+ 1
+ ],
+ "402": [
+ 0,
+ 2,
+ 2
+ ],
"407": [
0,
1,
@@ -2887,6 +3412,36 @@
1,
1
],
+ "4": [
+ 0,
+ 1,
+ 1
+ ],
+ "5": [
+ 0,
+ 1,
+ 1
+ ],
+ "6-mega-x": [
+ 0,
+ 1,
+ 2
+ ],
+ "6-gigantamax": [
+ 0,
+ 1,
+ 2
+ ],
+ "6-mega-y": [
+ 0,
+ 1,
+ 2
+ ],
+ "6": [
+ 0,
+ 2,
+ 2
+ ],
"7": [
0,
2,
@@ -2947,6 +3502,16 @@
2,
1
],
+ "37": [
+ 0,
+ 1,
+ 1
+ ],
+ "38": [
+ 0,
+ 1,
+ 1
+ ],
"41": [
1,
1,
@@ -2992,6 +3557,16 @@
1,
1
],
+ "56": [
+ 1,
+ 1,
+ 1
+ ],
+ "57": [
+ 1,
+ 1,
+ 1
+ ],
"69": [
0,
1,
@@ -3017,6 +3592,11 @@
1,
1
],
+ "79": [
+ 1,
+ 0,
+ 0
+ ],
"81": [
0,
1,
@@ -3347,6 +3927,11 @@
1,
1
],
+ "199": [
+ 2,
+ 0,
+ 0
+ ],
"200": [
1,
2,
@@ -3527,11 +4112,46 @@
1,
1
],
+ "222": [
+ 0,
+ 1,
+ 1
+ ],
"226": [
0,
1,
1
],
+ "227": [
+ 0,
+ 1,
+ 1
+ ],
+ "228": [
+ 0,
+ 1,
+ 1
+ ],
+ "229": [
+ 0,
+ 1,
+ 1
+ ],
+ "229-mega": [
+ 0,
+ 1,
+ 1
+ ],
+ "231": [
+ 0,
+ 1,
+ 1
+ ],
+ "232": [
+ 0,
+ 1,
+ 1
+ ],
"235": [
0,
1,
@@ -3862,6 +4482,26 @@
1,
1
],
+ "353": [
+ 0,
+ 1,
+ 1
+ ],
+ "354": [
+ 0,
+ 1,
+ 1
+ ],
+ "354-mega": [
+ 0,
+ 1,
+ 1
+ ],
+ "357": [
+ 0,
+ 1,
+ 1
+ ],
"358": [
1,
1,
@@ -3882,6 +4522,11 @@
1,
1
],
+ "369": [
+ 0,
+ 2,
+ 2
+ ],
"370": [
0,
2,
@@ -3982,6 +4627,21 @@
1,
1
],
+ "387": [
+ 0,
+ 2,
+ 1
+ ],
+ "388": [
+ 0,
+ 1,
+ 1
+ ],
+ "389": [
+ 0,
+ 1,
+ 1
+ ],
"399": [
0,
2,
@@ -3992,6 +4652,16 @@
1,
1
],
+ "401": [
+ 0,
+ 1,
+ 1
+ ],
+ "402": [
+ 0,
+ 1,
+ 1
+ ],
"406": [
0,
1,
@@ -4092,6 +4762,16 @@
1,
1
],
+ "436": [
+ 0,
+ 1,
+ 1
+ ],
+ "437": [
+ 0,
+ 1,
+ 1
+ ],
"440": [
1,
1,
@@ -4312,6 +4992,16 @@
1,
2
],
+ "531": [
+ 0,
+ 1,
+ 1
+ ],
+ "531-mega": [
+ 0,
+ 1,
+ 1
+ ],
"532": [
0,
1,
@@ -4352,6 +5042,21 @@
1,
1
],
+ "543": [
+ 0,
+ 1,
+ 1
+ ],
+ "544": [
+ 0,
+ 1,
+ 1
+ ],
+ "545": [
+ 0,
+ 1,
+ 1
+ ],
"546": [
0,
1,
@@ -4372,6 +5077,21 @@
1,
1
],
+ "551": [
+ 0,
+ 1,
+ 1
+ ],
+ "552": [
+ 0,
+ 1,
+ 1
+ ],
+ "553": [
+ 0,
+ 1,
+ 1
+ ],
"559": [
1,
1,
@@ -4608,32 +5328,32 @@
1
],
"641-incarnate": [
- 1,
+ 0,
0,
0
],
"641-therian": [
- 1,
+ 0,
0,
0
],
"642-incarnate": [
- 1,
+ 0,
0,
0
],
"642-therian": [
- 1,
+ 0,
0,
0
],
"645-incarnate": [
- 1,
+ 0,
0,
0
],
"645-therian": [
- 1,
+ 0,
0,
0
],
@@ -4867,6 +5587,16 @@
1,
1
],
+ "712": [
+ 0,
+ 1,
+ 1
+ ],
+ "713": [
+ 0,
+ 1,
+ 1
+ ],
"714": [
0,
1,
@@ -4917,6 +5647,26 @@
1,
1
],
+ "734": [
+ 0,
+ 1,
+ 1
+ ],
+ "735": [
+ 0,
+ 1,
+ 1
+ ],
+ "742": [
+ 0,
+ 2,
+ 2
+ ],
+ "743": [
+ 0,
+ 2,
+ 2
+ ],
"747": [
0,
1,
@@ -4927,6 +5677,16 @@
1,
1
],
+ "751": [
+ 0,
+ 1,
+ 1
+ ],
+ "752": [
+ 0,
+ 1,
+ 1
+ ],
"753": [
0,
1,
@@ -4977,7 +5737,122 @@
1,
1
],
- "778": [
+ "772": [
+ 0,
+ 1,
+ 1
+ ],
+ "773-fighting": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-psychic": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-poison": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-ground": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-ghost": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-steel": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-rock": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-grass": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-dragon": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-bug": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-ice": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-dark": [
+ 0,
+ 2,
+ 2
+ ],
+ "773": [
+ 0,
+ 1,
+ 1
+ ],
+ "773-fairy": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-water": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-electric": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-flying": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-fire": [
+ 0,
+ 2,
+ 2
+ ],
+ "776": [
+ 0,
+ 1,
+ 1
+ ],
+ "777": [
+ 0,
+ 1,
+ 1
+ ],
+ "778-busted": [
+ 0,
+ 1,
+ 1
+ ],
+ "778-disguised": [
+ 0,
+ 1,
+ 1
+ ],
+ "779": [
0,
1,
1
@@ -5017,6 +5892,11 @@
1,
1
],
+ "797": [
+ 0,
+ 1,
+ 1
+ ],
"798": [
0,
1,
@@ -5062,6 +5942,26 @@
1,
1
],
+ "816": [
+ 0,
+ 1,
+ 1
+ ],
+ "817": [
+ 0,
+ 1,
+ 1
+ ],
+ "818-gigantamax": [
+ 1,
+ 1,
+ 1
+ ],
+ "818": [
+ 0,
+ 1,
+ 1
+ ],
"821": [
0,
1,
@@ -5147,6 +6047,26 @@
1,
1
],
+ "859": [
+ 0,
+ 1,
+ 1
+ ],
+ "860": [
+ 0,
+ 1,
+ 1
+ ],
+ "861-gigantamax": [
+ 0,
+ 1,
+ 1
+ ],
+ "861": [
+ 0,
+ 1,
+ 1
+ ],
"862": [
0,
1,
@@ -5172,6 +6092,16 @@
1,
1
],
+ "876-female": [
+ 0,
+ 1,
+ 1
+ ],
+ "876": [
+ 0,
+ 1,
+ 1
+ ],
"877-hangry": [
1,
1,
@@ -5242,6 +6172,31 @@
2,
2
],
+ "896": [
+ 1,
+ 1,
+ 1
+ ],
+ "897": [
+ 1,
+ 1,
+ 1
+ ],
+ "898": [
+ 1,
+ 1,
+ 1
+ ],
+ "898-ice": [
+ 1,
+ 1,
+ 1
+ ],
+ "898-shadow": [
+ 1,
+ 1,
+ 1
+ ],
"900": [
0,
1,
@@ -5337,6 +6292,16 @@
1,
1
],
+ "951": [
+ 0,
+ 1,
+ 1
+ ],
+ "952": [
+ 0,
+ 1,
+ 1
+ ],
"957": [
1,
1,
@@ -5382,6 +6347,16 @@
1,
1
],
+ "974": [
+ 0,
+ 1,
+ 1
+ ],
+ "975": [
+ 0,
+ 1,
+ 1
+ ],
"978-curly": [
0,
2,
@@ -5397,6 +6372,11 @@
1,
1
],
+ "979": [
+ 1,
+ 1,
+ 1
+ ],
"982": [
0,
1,
@@ -5417,6 +6397,11 @@
1,
1
],
+ "993": [
+ 0,
+ 1,
+ 1
+ ],
"994": [
0,
1,
@@ -5487,6 +6472,16 @@
1,
1
],
+ "2052": [
+ 0,
+ 1,
+ 1
+ ],
+ "2053": [
+ 0,
+ 1,
+ 1
+ ],
"4052": [
0,
1,
@@ -5502,6 +6497,11 @@
1,
1
],
+ "4080": [
+ 2,
+ 0,
+ 0
+ ],
"4144": [
0,
2,
@@ -5517,6 +6517,11 @@
2,
2
],
+ "4199": [
+ 2,
+ 0,
+ 0
+ ],
"4222": [
0,
1,
@@ -5572,6 +6577,11 @@
2,
2
],
+ "6713": [
+ 0,
+ 1,
+ 1
+ ],
"8901": [
1,
1,
@@ -5633,6 +6643,11 @@
1,
1
],
+ "123": [
+ 1,
+ 1,
+ 1
+ ],
"129": [
0,
1,
@@ -5653,6 +6668,16 @@
1,
1
],
+ "229": [
+ 0,
+ 1,
+ 1
+ ],
+ "232": [
+ 0,
+ 1,
+ 1
+ ],
"308": [
0,
1,
@@ -5663,6 +6688,11 @@
1,
1
],
+ "369": [
+ 0,
+ 1,
+ 1
+ ],
"399": [
0,
2,
@@ -5673,6 +6703,16 @@
1,
1
],
+ "401": [
+ 0,
+ 1,
+ 1
+ ],
+ "402": [
+ 0,
+ 1,
+ 1
+ ],
"407": [
0,
1,
@@ -5731,6 +6771,16 @@
2,
2
],
+ "6-mega-x": [
+ 0,
+ 2,
+ 2
+ ],
+ "6-mega-y": [
+ 0,
+ 2,
+ 2
+ ],
"94-mega": [
2,
2,
@@ -5771,6 +6821,11 @@
1,
2
],
+ "229-mega": [
+ 0,
+ 1,
+ 1
+ ],
"248-mega": [
0,
1,
@@ -5811,6 +6866,11 @@
2,
1
],
+ "354-mega": [
+ 0,
+ 1,
+ 1
+ ],
"362-mega": [
0,
1,
@@ -5871,6 +6931,11 @@
2,
2
],
+ "531-mega": [
+ 0,
+ 1,
+ 1
+ ],
"653": [
0,
1,
@@ -5996,6 +7061,16 @@
1,
1
],
+ "672": [
+ 0,
+ 1,
+ 1
+ ],
+ "673": [
+ 0,
+ 1,
+ 1
+ ],
"690": [
0,
1,
@@ -6056,6 +7131,16 @@
1,
1
],
+ "712": [
+ 0,
+ 1,
+ 1
+ ],
+ "713": [
+ 0,
+ 1,
+ 1
+ ],
"714": [
0,
1,
@@ -6106,6 +7191,26 @@
2,
1
],
+ "734": [
+ 0,
+ 1,
+ 1
+ ],
+ "735": [
+ 0,
+ 1,
+ 1
+ ],
+ "742": [
+ 0,
+ 2,
+ 2
+ ],
+ "743": [
+ 0,
+ 2,
+ 2
+ ],
"747": [
0,
2,
@@ -6116,6 +7221,16 @@
1,
1
],
+ "751": [
+ 0,
+ 1,
+ 1
+ ],
+ "752": [
+ 0,
+ 1,
+ 1
+ ],
"753": [
0,
1,
@@ -6171,11 +7286,126 @@
2,
2
],
- "778": [
+ "772": [
0,
1,
+ 1
+ ],
+ "773-fighting": [
+ 0,
+ 2,
2
],
+ "773-psychic": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-poison": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-ground": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-ghost": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-steel": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-rock": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-grass": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-dragon": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-bug": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-ice": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-dark": [
+ 0,
+ 2,
+ 2
+ ],
+ "773": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-fairy": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-water": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-electric": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-flying": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-fire": [
+ 0,
+ 2,
+ 2
+ ],
+ "776": [
+ 0,
+ 1,
+ 1
+ ],
+ "777": [
+ 0,
+ 1,
+ 1
+ ],
+ "778-busted": [
+ 0,
+ 1,
+ 1
+ ],
+ "778-disguised": [
+ 0,
+ 1,
+ 1
+ ],
+ "779": [
+ 0,
+ 1,
+ 1
+ ],
"789": [
1,
1,
@@ -6201,6 +7431,11 @@
2,
2
],
+ "797": [
+ 0,
+ 1,
+ 1
+ ],
"798": [
0,
1,
@@ -6241,6 +7476,21 @@
1,
1
],
+ "816": [
+ 0,
+ 1,
+ 1
+ ],
+ "817": [
+ 0,
+ 1,
+ 1
+ ],
+ "818": [
+ 1,
+ 1,
+ 1
+ ],
"821": [
0,
2,
@@ -6311,6 +7561,21 @@
1,
1
],
+ "859": [
+ 0,
+ 1,
+ 1
+ ],
+ "860": [
+ 0,
+ 1,
+ 1
+ ],
+ "861": [
+ 0,
+ 1,
+ 1
+ ],
"862": [
0,
1,
@@ -6336,6 +7601,16 @@
1,
1
],
+ "876-female": [
+ 0,
+ 1,
+ 1
+ ],
+ "876": [
+ 0,
+ 1,
+ 1
+ ],
"877-hangry": [
1,
1,
@@ -6391,6 +7666,31 @@
1,
1
],
+ "896": [
+ 1,
+ 1,
+ 1
+ ],
+ "897": [
+ 1,
+ 1,
+ 1
+ ],
+ "898": [
+ 1,
+ 1,
+ 1
+ ],
+ "898-ice": [
+ 1,
+ 1,
+ 1
+ ],
+ "898-shadow": [
+ 1,
+ 1,
+ 1
+ ],
"900": [
0,
1,
@@ -6486,6 +7786,16 @@
1,
1
],
+ "951": [
+ 0,
+ 1,
+ 1
+ ],
+ "952": [
+ 0,
+ 1,
+ 1
+ ],
"957": [
2,
2,
@@ -6531,6 +7841,16 @@
1,
1
],
+ "974": [
+ 0,
+ 1,
+ 1
+ ],
+ "975": [
+ 0,
+ 1,
+ 1
+ ],
"978-curly": [
0,
2,
@@ -6546,6 +7866,11 @@
2,
2
],
+ "979": [
+ 2,
+ 2,
+ 2
+ ],
"982": [
0,
1,
@@ -6566,6 +7891,11 @@
1,
2
],
+ "993": [
+ 0,
+ 1,
+ 1
+ ],
"994": [
0,
1,
@@ -6621,6 +7951,16 @@
1,
1
],
+ "2052": [
+ 0,
+ 1,
+ 1
+ ],
+ "2053": [
+ 0,
+ 1,
+ 0
+ ],
"4052": [
0,
1,
@@ -6636,6 +7976,11 @@
1,
1
],
+ "4080": [
+ 2,
+ 0,
+ 0
+ ],
"4144": [
0,
2,
@@ -6651,6 +7996,11 @@
2,
2
],
+ "4199": [
+ 2,
+ 0,
+ 0
+ ],
"4222": [
0,
1,
@@ -6713,6 +8063,16 @@
2,
2
],
+ "6-mega-x": [
+ 0,
+ 2,
+ 2
+ ],
+ "6-mega-y": [
+ 0,
+ 1,
+ 2
+ ],
"94-mega": [
1,
1,
@@ -6753,6 +8113,11 @@
2,
2
],
+ "229-mega": [
+ 0,
+ 1,
+ 1
+ ],
"248-mega": [
0,
2,
@@ -6793,6 +8158,11 @@
1,
1
],
+ "354-mega": [
+ 0,
+ 1,
+ 1
+ ],
"362-mega": [
0,
1,
@@ -6853,6 +8223,11 @@
2,
2
],
+ "531-mega": [
+ 0,
+ 1,
+ 1
+ ],
"653": [
0,
1,
@@ -6978,6 +8353,16 @@
2,
2
],
+ "672": [
+ 0,
+ 2,
+ 1
+ ],
+ "673": [
+ 0,
+ 2,
+ 1
+ ],
"690": [
0,
1,
@@ -7038,6 +8423,16 @@
1,
1
],
+ "712": [
+ 0,
+ 1,
+ 1
+ ],
+ "713": [
+ 0,
+ 1,
+ 1
+ ],
"714": [
0,
1,
@@ -7088,6 +8483,26 @@
2,
1
],
+ "734": [
+ 0,
+ 1,
+ 1
+ ],
+ "735": [
+ 0,
+ 1,
+ 1
+ ],
+ "742": [
+ 0,
+ 2,
+ 2
+ ],
+ "743": [
+ 0,
+ 2,
+ 2
+ ],
"747": [
0,
2,
@@ -7098,6 +8513,16 @@
1,
1
],
+ "751": [
+ 0,
+ 1,
+ 1
+ ],
+ "752": [
+ 0,
+ 1,
+ 1
+ ],
"753": [
0,
1,
@@ -7148,7 +8573,122 @@
1,
1
],
- "778": [
+ "772": [
+ 0,
+ 1,
+ 1
+ ],
+ "773-fighting": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-psychic": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-poison": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-ground": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-ghost": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-steel": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-rock": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-grass": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-dragon": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-bug": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-ice": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-dark": [
+ 0,
+ 2,
+ 2
+ ],
+ "773": [
+ 0,
+ 1,
+ 1
+ ],
+ "773-fairy": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-water": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-electric": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-flying": [
+ 0,
+ 2,
+ 2
+ ],
+ "773-fire": [
+ 0,
+ 2,
+ 2
+ ],
+ "776": [
+ 0,
+ 2,
+ 2
+ ],
+ "777": [
+ 0,
+ 1,
+ 1
+ ],
+ "778-busted": [
+ 0,
+ 1,
+ 1
+ ],
+ "778-disguised": [
+ 0,
+ 1,
+ 1
+ ],
+ "779": [
0,
1,
1
@@ -7178,6 +8718,11 @@
1,
1
],
+ "797": [
+ 0,
+ 1,
+ 1
+ ],
"798": [
0,
1,
@@ -7218,6 +8763,21 @@
1,
1
],
+ "816": [
+ 0,
+ 1,
+ 1
+ ],
+ "817": [
+ 0,
+ 1,
+ 1
+ ],
+ "818": [
+ 0,
+ 1,
+ 1
+ ],
"821": [
0,
1,
@@ -7288,6 +8848,21 @@
1,
1
],
+ "859": [
+ 0,
+ 1,
+ 1
+ ],
+ "860": [
+ 0,
+ 1,
+ 1
+ ],
+ "861": [
+ 0,
+ 1,
+ 1
+ ],
"862": [
0,
1,
@@ -7313,6 +8888,16 @@
1,
1
],
+ "876-female": [
+ 0,
+ 1,
+ 1
+ ],
+ "876": [
+ 0,
+ 1,
+ 1
+ ],
"877-hangry": [
1,
1,
@@ -7363,6 +8948,31 @@
1,
1
],
+ "896": [
+ 1,
+ 1,
+ 1
+ ],
+ "897": [
+ 1,
+ 1,
+ 1
+ ],
+ "898": [
+ 1,
+ 1,
+ 1
+ ],
+ "898-ice": [
+ 1,
+ 1,
+ 1
+ ],
+ "898-shadow": [
+ 1,
+ 1,
+ 1
+ ],
"900": [
0,
1,
@@ -7458,6 +9068,16 @@
1,
1
],
+ "951": [
+ 0,
+ 1,
+ 1
+ ],
+ "952": [
+ 0,
+ 2,
+ 1
+ ],
"957": [
1,
1,
@@ -7503,6 +9123,16 @@
1,
1
],
+ "974": [
+ 0,
+ 1,
+ 1
+ ],
+ "975": [
+ 0,
+ 1,
+ 1
+ ],
"978-curly": [
0,
2,
@@ -7518,6 +9148,11 @@
1,
1
],
+ "979": [
+ 1,
+ 1,
+ 1
+ ],
"982": [
0,
1,
@@ -7538,6 +9173,11 @@
1,
1
],
+ "993": [
+ 0,
+ 1,
+ 1
+ ],
"994": [
0,
1,
@@ -7593,6 +9233,16 @@
1,
1
],
+ "2052": [
+ 0,
+ 1,
+ 1
+ ],
+ "2053": [
+ 0,
+ 1,
+ 1
+ ],
"4052": [
0,
1,
@@ -7608,6 +9258,11 @@
1,
1
],
+ "4080": [
+ 2,
+ 0,
+ 0
+ ],
"4144": [
0,
1,
@@ -7623,6 +9278,11 @@
1,
1
],
+ "4199": [
+ 2,
+ 0,
+ 0
+ ],
"4222": [
0,
1,
@@ -7677,7 +9337,17 @@
0,
2,
2
+ ],
+ "6713": [
+ 0,
+ 1,
+ 1
]
- }
+ },
+ "6713": [
+ 0,
+ 1,
+ 1
+ ]
}
}
diff --git a/public/images/pokemon/variant/back/199_1.json b/public/images/pokemon/variant/back/199_1.json
new file mode 100644
index 00000000000..248b8c04f8a
--- /dev/null
+++ b/public/images/pokemon/variant/back/199_1.json
@@ -0,0 +1,2876 @@
+{
+ "textures": [
+ {
+ "image": "199_1.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 269,
+ "h": 269
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 49,
+ "h": 68
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 49,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 49,
+ "h": 68
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 49,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 49,
+ "h": 68
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 49,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 49,
+ "h": 68
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 49,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 49,
+ "h": 68
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 49,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 49,
+ "h": 68
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 49,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 49,
+ "h": 68
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 49,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 49,
+ "h": 68
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 49,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 48,
+ "h": 68
+ },
+ "frame": {
+ "x": 0,
+ "y": 68,
+ "w": 48,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 48,
+ "h": 68
+ },
+ "frame": {
+ "x": 0,
+ "y": 68,
+ "w": 48,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 48,
+ "h": 68
+ },
+ "frame": {
+ "x": 0,
+ "y": 68,
+ "w": 48,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 48,
+ "h": 68
+ },
+ "frame": {
+ "x": 0,
+ "y": 68,
+ "w": 48,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 48,
+ "h": 68
+ },
+ "frame": {
+ "x": 0,
+ "y": 68,
+ "w": 48,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 48,
+ "h": 68
+ },
+ "frame": {
+ "x": 0,
+ "y": 68,
+ "w": 48,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 48,
+ "h": 68
+ },
+ "frame": {
+ "x": 0,
+ "y": 68,
+ "w": 48,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 48,
+ "h": 68
+ },
+ "frame": {
+ "x": 0,
+ "y": 68,
+ "w": 48,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 68
+ },
+ "frame": {
+ "x": 0,
+ "y": 136,
+ "w": 48,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 68
+ },
+ "frame": {
+ "x": 0,
+ "y": 136,
+ "w": 48,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 68
+ },
+ "frame": {
+ "x": 0,
+ "y": 136,
+ "w": 48,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 68
+ },
+ "frame": {
+ "x": 0,
+ "y": 136,
+ "w": 48,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 68
+ },
+ "frame": {
+ "x": 0,
+ "y": 136,
+ "w": 48,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 68
+ },
+ "frame": {
+ "x": 0,
+ "y": 136,
+ "w": 48,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 68
+ },
+ "frame": {
+ "x": 0,
+ "y": 136,
+ "w": 48,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 68
+ },
+ "frame": {
+ "x": 0,
+ "y": 136,
+ "w": 48,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 48,
+ "y": 68,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 48,
+ "y": 68,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 48,
+ "y": 68,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 48,
+ "y": 68,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 48,
+ "y": 68,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 48,
+ "y": 68,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 48,
+ "y": 68,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 48,
+ "y": 68,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 49,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 49,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 49,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 49,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 49,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 49,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 49,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 49,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 48,
+ "y": 136,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 48,
+ "y": 136,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 48,
+ "y": 136,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 48,
+ "y": 136,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 48,
+ "y": 136,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 48,
+ "y": 136,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 48,
+ "y": 136,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 48,
+ "y": 136,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 48,
+ "h": 67
+ },
+ "frame": {
+ "x": 96,
+ "y": 0,
+ "w": 48,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 48,
+ "h": 67
+ },
+ "frame": {
+ "x": 96,
+ "y": 0,
+ "w": 48,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 48,
+ "h": 67
+ },
+ "frame": {
+ "x": 96,
+ "y": 0,
+ "w": 48,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 48,
+ "h": 67
+ },
+ "frame": {
+ "x": 96,
+ "y": 0,
+ "w": 48,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 48,
+ "h": 67
+ },
+ "frame": {
+ "x": 96,
+ "y": 0,
+ "w": 48,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 48,
+ "h": 67
+ },
+ "frame": {
+ "x": 96,
+ "y": 0,
+ "w": 48,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 48,
+ "h": 67
+ },
+ "frame": {
+ "x": 96,
+ "y": 0,
+ "w": 48,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 48,
+ "h": 67
+ },
+ "frame": {
+ "x": 96,
+ "y": 0,
+ "w": 48,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 144,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 144,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 144,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 144,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 144,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 144,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 144,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 144,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 96,
+ "y": 67,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 96,
+ "y": 67,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 96,
+ "y": 67,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 96,
+ "y": 67,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 96,
+ "y": 67,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 96,
+ "y": 67,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0135.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 96,
+ "y": 67,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0136.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 96,
+ "y": 67,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 68
+ },
+ "frame": {
+ "x": 191,
+ "y": 0,
+ "w": 46,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 68
+ },
+ "frame": {
+ "x": 191,
+ "y": 0,
+ "w": 46,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 68
+ },
+ "frame": {
+ "x": 191,
+ "y": 0,
+ "w": 46,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 68
+ },
+ "frame": {
+ "x": 191,
+ "y": 0,
+ "w": 46,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 68
+ },
+ "frame": {
+ "x": 191,
+ "y": 0,
+ "w": 46,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 68
+ },
+ "frame": {
+ "x": 191,
+ "y": 0,
+ "w": 46,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 68
+ },
+ "frame": {
+ "x": 191,
+ "y": 0,
+ "w": 46,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 68
+ },
+ "frame": {
+ "x": 191,
+ "y": 0,
+ "w": 46,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 45,
+ "h": 67
+ },
+ "frame": {
+ "x": 95,
+ "y": 135,
+ "w": 45,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 45,
+ "h": 67
+ },
+ "frame": {
+ "x": 95,
+ "y": 135,
+ "w": 45,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 45,
+ "h": 67
+ },
+ "frame": {
+ "x": 95,
+ "y": 135,
+ "w": 45,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 45,
+ "h": 67
+ },
+ "frame": {
+ "x": 95,
+ "y": 135,
+ "w": 45,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 45,
+ "h": 67
+ },
+ "frame": {
+ "x": 95,
+ "y": 135,
+ "w": 45,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 45,
+ "h": 67
+ },
+ "frame": {
+ "x": 95,
+ "y": 135,
+ "w": 45,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 45,
+ "h": 67
+ },
+ "frame": {
+ "x": 95,
+ "y": 135,
+ "w": 45,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 45,
+ "h": 67
+ },
+ "frame": {
+ "x": 95,
+ "y": 135,
+ "w": 45,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 45,
+ "h": 67
+ },
+ "frame": {
+ "x": 95,
+ "y": 202,
+ "w": 45,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 45,
+ "h": 67
+ },
+ "frame": {
+ "x": 95,
+ "y": 202,
+ "w": 45,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 45,
+ "h": 67
+ },
+ "frame": {
+ "x": 95,
+ "y": 202,
+ "w": 45,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 45,
+ "h": 67
+ },
+ "frame": {
+ "x": 95,
+ "y": 202,
+ "w": 45,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 45,
+ "h": 67
+ },
+ "frame": {
+ "x": 95,
+ "y": 202,
+ "w": 45,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 45,
+ "h": 67
+ },
+ "frame": {
+ "x": 95,
+ "y": 202,
+ "w": 45,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 45,
+ "h": 67
+ },
+ "frame": {
+ "x": 95,
+ "y": 202,
+ "w": 45,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 45,
+ "h": 67
+ },
+ "frame": {
+ "x": 95,
+ "y": 202,
+ "w": 45,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 140,
+ "y": 135,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 140,
+ "y": 135,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 140,
+ "y": 135,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 140,
+ "y": 135,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 140,
+ "y": 135,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 140,
+ "y": 135,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 140,
+ "y": 135,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 140,
+ "y": 135,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 143,
+ "y": 68,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 143,
+ "y": 68,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 143,
+ "y": 68,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 143,
+ "y": 68,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 143,
+ "y": 68,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 143,
+ "y": 68,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 143,
+ "y": 68,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 143,
+ "y": 68,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 140,
+ "y": 202,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 140,
+ "y": 202,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 140,
+ "y": 202,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 140,
+ "y": 202,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 140,
+ "y": 202,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 140,
+ "y": 202,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 140,
+ "y": 202,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 140,
+ "y": 202,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 187,
+ "y": 68,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 187,
+ "y": 68,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 187,
+ "y": 68,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 187,
+ "y": 68,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 187,
+ "y": 68,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 187,
+ "y": 68,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 187,
+ "y": 68,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 44,
+ "h": 67
+ },
+ "frame": {
+ "x": 187,
+ "y": 68,
+ "w": 44,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 2,
+ "w": 44,
+ "h": 66
+ },
+ "frame": {
+ "x": 184,
+ "y": 135,
+ "w": 44,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 2,
+ "w": 44,
+ "h": 66
+ },
+ "frame": {
+ "x": 184,
+ "y": 135,
+ "w": 44,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 2,
+ "w": 44,
+ "h": 66
+ },
+ "frame": {
+ "x": 184,
+ "y": 135,
+ "w": 44,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 2,
+ "w": 44,
+ "h": 66
+ },
+ "frame": {
+ "x": 184,
+ "y": 135,
+ "w": 44,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 2,
+ "w": 44,
+ "h": 66
+ },
+ "frame": {
+ "x": 184,
+ "y": 135,
+ "w": 44,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 2,
+ "w": 44,
+ "h": 66
+ },
+ "frame": {
+ "x": 184,
+ "y": 135,
+ "w": 44,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 2,
+ "w": 44,
+ "h": 66
+ },
+ "frame": {
+ "x": 184,
+ "y": 135,
+ "w": 44,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 49,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 2,
+ "w": 44,
+ "h": 66
+ },
+ "frame": {
+ "x": 184,
+ "y": 135,
+ "w": 44,
+ "h": 66
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:081ad6e720fb87e407b3db81b10bd704:fc328af7599f59ba73e50127823f9d54:bc51e3cc0328bafe405b03008252dcb5$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/199_1.png b/public/images/pokemon/variant/back/199_1.png
new file mode 100644
index 00000000000..004346df151
Binary files /dev/null and b/public/images/pokemon/variant/back/199_1.png differ
diff --git a/public/images/pokemon/variant/back/2052.json b/public/images/pokemon/variant/back/2052.json
new file mode 100644
index 00000000000..97ce82e0380
--- /dev/null
+++ b/public/images/pokemon/variant/back/2052.json
@@ -0,0 +1,28 @@
+{
+ "1": {
+ "45505f": "8c583b",
+ "91a3bf": "ffda5c",
+ "101010": "101010",
+ "995433": "493473",
+ "627986": "de974e",
+ "f3f3f3": "f3f3f3",
+ "e3cc2b": "a66db5",
+ "ca833c": "7a519a",
+ "798071": "7a4888",
+ "b5b6b9": "bb92d5",
+ "f0f0f0": "f4ceff"
+ },
+ "2": {
+ "45505f": "271420",
+ "91a3bf": "7c4e42",
+ "101010": "101010",
+ "995433": "45328e",
+ "627986": "5f3036",
+ "f3f3f3": "f3f3f3",
+ "e3cc2b": "b5b8f9",
+ "ca833c": "7b7fda",
+ "798071": "5f5c7e",
+ "b5b6b9": "7b7895",
+ "f0f0f0": "d1daf5"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/2053.json b/public/images/pokemon/variant/back/2053.json
new file mode 100644
index 00000000000..3924a1a57f8
--- /dev/null
+++ b/public/images/pokemon/variant/back/2053.json
@@ -0,0 +1,18 @@
+{
+ "1": {
+ "101010": "101010",
+ "262b3c": "41185e",
+ "464457": "71442a",
+ "6c7791": "de974e",
+ "9ba8b7": "ffda5c",
+ "5f6281": "8c583b"
+ },
+ "2": {
+ "101010": "101010",
+ "262b3c": "1d1b33",
+ "464457": "271420",
+ "6c7791": "5f3036",
+ "9ba8b7": "7c4e42",
+ "5f6281": "3a1e2c"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/222.json b/public/images/pokemon/variant/back/222.json
new file mode 100644
index 00000000000..2c50d3c55a8
--- /dev/null
+++ b/public/images/pokemon/variant/back/222.json
@@ -0,0 +1,22 @@
+{
+ "1": {
+ "bd004a": "b76600",
+ "7b0008": "73490d",
+ "000000": "000000",
+ "ffa5c5": "f6cc70",
+ "e66394": "f39806",
+ "ffcee6": "f5eab0",
+ "adc5de": "9fdbd8",
+ "5a7bad": "0095a1"
+ },
+ "2": {
+ "bd004a": "2b8c23",
+ "7b0008": "0f660f",
+ "000000": "000000",
+ "ffa5c5": "cae4a2",
+ "e66394": "89b958",
+ "ffcee6": "f4fad7",
+ "adc5de": "217a7f",
+ "5a7bad": "16556c"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/227.json b/public/images/pokemon/variant/back/227.json
new file mode 100644
index 00000000000..3615df8fc2e
--- /dev/null
+++ b/public/images/pokemon/variant/back/227.json
@@ -0,0 +1,26 @@
+{
+ "1": {
+ "31527b": "132d42",
+ "7b94bd": "2b4b60",
+ "9cb5d6": "49748c",
+ "deefff": "97bcce",
+ "bdcee6": "6d93a4",
+ "101010": "101010",
+ "ce9400": "d34b21",
+ "ffde00": "f87642",
+ "637bad": "062233",
+ "841921": "841921"
+ },
+ "2": {
+ "31527b": "260e21",
+ "7b94bd": "4c2143",
+ "9cb5d6": "773c5b",
+ "deefff": "c8aeae",
+ "bdcee6": "ac6f7d",
+ "101010": "101010",
+ "ce9400": "36989a",
+ "ffde00": "69d3c3",
+ "637bad": "231429",
+ "841921": "6c2611"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/228.json b/public/images/pokemon/variant/back/228.json
new file mode 100644
index 00000000000..7da9f57826e
--- /dev/null
+++ b/public/images/pokemon/variant/back/228.json
@@ -0,0 +1,32 @@
+{
+ "1": {
+ "292931": "553454",
+ "080808": "181223",
+ "4a4a52": "76546b",
+ "101921": "101921",
+ "767085": "a84b50",
+ "ffffff": "f3bd87",
+ "a59cad": "c87966",
+ "f8f9ff": "f8f9ff",
+ "ada5b3": "414d67",
+ "f7a57b": "f8f1e7",
+ "734229": "311f3a",
+ "b57b5a": "ceb0a5",
+ "e2e0e3": "e2e0e3"
+ },
+ "2": {
+ "292931": "b1a3b1",
+ "080808": "181223",
+ "4a4a52": "f8faf3",
+ "101921": "101921",
+ "767085": "223657",
+ "ffffff": "5c8d95",
+ "a59cad": "38576c",
+ "f8f9ff": "f8f9ff",
+ "ada5b3": "292929",
+ "f7a57b": "72557e",
+ "734229": "311f3a",
+ "b57b5a": "533960",
+ "e2e0e3": "e2e0e3"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/229-mega.json b/public/images/pokemon/variant/back/229-mega.json
new file mode 100644
index 00000000000..4e85412dd72
--- /dev/null
+++ b/public/images/pokemon/variant/back/229-mega.json
@@ -0,0 +1,42 @@
+{
+ "1": {
+ "83738b": "7c323c",
+ "000000": "000000",
+ "ffffff": "f3bd87",
+ "a49cac": "a84b50",
+ "cdd5d5": "c87966",
+ "182029": "321b32",
+ "313139": "553454",
+ "4a4a52": "76546b",
+ "f7f9fa": "f7f9fa",
+ "af1b1b": "455d92",
+ "bbc3ce": "bbc3ce",
+ "732422": "314075",
+ "622910": "77545b",
+ "f69c83": "f8f1e7",
+ "a45a4a": "ceb0a5",
+ "f5eeee": "f5eeee",
+ "aa1919": "aa8c82",
+ "671f1e": "856458"
+ },
+ "2": {
+ "83738b": "121d3c",
+ "000000": "000000",
+ "ffffff": "5c8d95",
+ "a49cac": "223657",
+ "cdd5d5": "38576c",
+ "182029": "321b32",
+ "313139": "b1a3b1",
+ "4a4a52": "f8faf3",
+ "f7f9fa": "223657",
+ "af1b1b": "e58142",
+ "bbc3ce": "100f27",
+ "732422": "c85431",
+ "622910": "311f3a",
+ "f69c83": "72557e",
+ "a45a4a": "533960",
+ "f5eeee": "f5eeee",
+ "aa1919": "534b6a",
+ "671f1e": "423655"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/229.json b/public/images/pokemon/variant/back/229.json
new file mode 100644
index 00000000000..a4d9316078e
--- /dev/null
+++ b/public/images/pokemon/variant/back/229.json
@@ -0,0 +1,38 @@
+{
+ "1": {
+ "84738c": "5a1f30",
+ "a59cad": "a84244",
+ "ced6d6": "dc7e67",
+ "ffffff": "f8c288",
+ "192129": "431129",
+ "000000": "000000",
+ "31313a": "631e3f",
+ "4a4a52": "85324a",
+ "f8f9ff": "f8f9ff",
+ "841021": "41578c",
+ "ada5b3": "ada5b3",
+ "632910": "8c6362",
+ "f79c84": "f8f1e7",
+ "a55a4a": "ceb0a5",
+ "9c293a": "4c2a31",
+ "e2e0e3": "e2e0e3"
+ },
+ "2": {
+ "84738c": "111a33",
+ "a59cad": "223657",
+ "ced6d6": "38576c",
+ "ffffff": "5c8d95",
+ "192129": "444e6c",
+ "000000": "000000",
+ "31313a": "a9bfd1",
+ "4a4a52": "e8f8ff",
+ "f8f9ff": "1d2d4e",
+ "841021": "f37755",
+ "ada5b3": "ada5b3",
+ "632910": "2d203c",
+ "f79c84": "665a83",
+ "a55a4a": "4a3a5e",
+ "9c293a": "8c5a98",
+ "e2e0e3": "e2e0e3"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/231.json b/public/images/pokemon/variant/back/231.json
new file mode 100644
index 00000000000..7c4e6c5bc9a
--- /dev/null
+++ b/public/images/pokemon/variant/back/231.json
@@ -0,0 +1,28 @@
+{
+ "1": {
+ "6b9cce": "97a5b5",
+ "add6ef": "e8e8e8",
+ "527bb5": "717e98",
+ "9cbdef": "bac4ca",
+ "525294": "4d5271",
+ "bd3a31": "4b6aa1",
+ "f76b52": "859abf",
+ "101010": "101010",
+ "840000": "394e85",
+ "8c8c8c": "8c8baa",
+ "d6d6d6": "d6d6d6"
+ },
+ "2": {
+ "6b9cce": "673a67",
+ "add6ef": "a56898",
+ "527bb5": "4f2955",
+ "9cbdef": "814c79",
+ "525294": "3a2043",
+ "bd3a31": "cea141",
+ "f76b52": "f1d35b",
+ "101010": "101010",
+ "840000": "b17333",
+ "8c8c8c": "755873",
+ "d6d6d6": "fff8d5"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/232.json b/public/images/pokemon/variant/back/232.json
new file mode 100644
index 00000000000..2c5174d42c4
--- /dev/null
+++ b/public/images/pokemon/variant/back/232.json
@@ -0,0 +1,38 @@
+{
+ "1": {
+ "4a5252": "5f74c7",
+ "3a3a3a": "333a77",
+ "849494": "b0d8ff",
+ "101010": "101010",
+ "6b7373": "7fa0d7",
+ "842129": "c8563f",
+ "9ca5a5": "9ca3b5",
+ "c54210": "db8160",
+ "738484": "6c7488",
+ "bdc5c5": "cdd1dc",
+ "d6ded6": "f4f4f4",
+ "707f7f": "b6511d",
+ "ffffff": "f2db98",
+ "dedede": "edbb5e",
+ "424242": "2f3441",
+ "bdbdbd": "de913e"
+ },
+ "2": {
+ "4a5252": "994e30",
+ "3a3a3a": "6f2219",
+ "849494": "f4b975",
+ "101010": "101010",
+ "6b7373": "d17e47",
+ "842129": "1d2a54",
+ "9ca5a5": "3c283f",
+ "c54210": "3b70c3",
+ "738484": "2c1f2e",
+ "bdc5c5": "584158",
+ "d6ded6": "665263",
+ "707f7f": "1d2a54",
+ "ffffff": "92c3e9",
+ "dedede": "69a2d9",
+ "424242": "1e1225",
+ "bdbdbd": "3b70c3"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/330.json b/public/images/pokemon/variant/back/330.json
index 9969647119d..96ade337889 100644
--- a/public/images/pokemon/variant/back/330.json
+++ b/public/images/pokemon/variant/back/330.json
@@ -1,18 +1,18 @@
{
"1": {
- "315a5a": "7a5703",
- "84293a": "89370b",
+ "315a5a": "7a4205",
+ "84293a": "752d0c",
"6ba573": "d8b430",
"ce3a4a": "bc6427",
"101010": "101010",
- "5a7b52": "a07b0f",
+ "5a7b52": "8b6009",
"de6373": "e99339",
"94d69c": "f6e85f",
- "b5de73": "90dd71",
+ "b5de73": "e4ee9e",
"ffffff": "ffffff",
- "8ca552": "58af58",
- "526321": "426b31",
- "deff8c": "d0f088"
+ "8ca552": "b3c46a",
+ "526321": "555e3d",
+ "deff8c": "deff8c"
},
"2": {
"315a5a": "171997",
diff --git a/public/images/pokemon/variant/back/353.json b/public/images/pokemon/variant/back/353.json
new file mode 100644
index 00000000000..40c30d2720c
--- /dev/null
+++ b/public/images/pokemon/variant/back/353.json
@@ -0,0 +1,26 @@
+{
+ "1": {
+ "3a4a7b": "5c203e",
+ "635a8c": "9c4572",
+ "73739c": "c25e87",
+ "8484ad": "d57b96",
+ "000000": "000000",
+ "19315a": "2c1432",
+ "428cad": "5452c7",
+ "73b5d6": "8476d7",
+ "4273ad": "404bad",
+ "b5317b": "37838b"
+ },
+ "2": {
+ "3a4a7b": "1d4547",
+ "635a8c": "487c5d",
+ "73739c": "6d9772",
+ "8484ad": "93aa7f",
+ "000000": "000000",
+ "19315a": "20311c",
+ "428cad": "47b858",
+ "73b5d6": "71d765",
+ "4273ad": "2e6264",
+ "b5317b": "751a1c"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/354-mega.json b/public/images/pokemon/variant/back/354-mega.json
new file mode 100644
index 00000000000..01632fcde0f
--- /dev/null
+++ b/public/images/pokemon/variant/back/354-mega.json
@@ -0,0 +1,32 @@
+{
+ "1": {
+ "7b5a29": "624858",
+ "523900": "361a2d",
+ "eebd5a": "b78d90",
+ "d59c39": "7d656d",
+ "322c33": "30142a",
+ "010101": "010101",
+ "685f6b": "6c2f4c",
+ "4d464f": "592145",
+ "7c777d": "934861",
+ "a47b10": "533c4e",
+ "d74477": "37838b",
+ "80313d": "1c4d5d",
+ "ea7bb6": "73bdbd"
+ },
+ "2": {
+ "7b5a29": "292941",
+ "523900": "151433",
+ "eebd5a": "4d4f5b",
+ "d59c39": "3b3d54",
+ "322c33": "2b454a",
+ "010101": "010101",
+ "685f6b": "71a680",
+ "4d464f": "5b777b",
+ "7c777d": "9cbf81",
+ "a47b10": "373c56",
+ "d74477": "751a1c",
+ "80313d": "4f0209",
+ "ea7bb6": "983226"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/354.json b/public/images/pokemon/variant/back/354.json
new file mode 100644
index 00000000000..2cf56096218
--- /dev/null
+++ b/public/images/pokemon/variant/back/354.json
@@ -0,0 +1,26 @@
+{
+ "1": {
+ "5a5263": "511e48",
+ "9c9ca5": "934861",
+ "3a3142": "2e0920",
+ "7b7b84": "6c2f4c",
+ "000000": "000000",
+ "a57b10": "715568",
+ "523a00": "372a38",
+ "efbd5a": "b78d90",
+ "7b5a29": "5b4151",
+ "d69c3a": "926c7b"
+ },
+ "2": {
+ "5a5263": "5b777b",
+ "9c9ca5": "9ed18a",
+ "3a3142": "2b454a",
+ "7b7b84": "84bd95",
+ "000000": "000000",
+ "a57b10": "33365e",
+ "523a00": "151433",
+ "efbd5a": "4d4f5b",
+ "7b5a29": "292941",
+ "d69c3a": "3b3d54"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/357.json b/public/images/pokemon/variant/back/357.json
new file mode 100644
index 00000000000..c2b00a581c0
--- /dev/null
+++ b/public/images/pokemon/variant/back/357.json
@@ -0,0 +1,32 @@
+{
+ "1": {
+ "000000": "25110b",
+ "52ad52": "f5c266",
+ "216321": "9e462c",
+ "3a8c4a": "e58b48",
+ "6bc56b": "ffeeae",
+ "947352": "eeccab",
+ "523a31": "754a30",
+ "7b5a4a": "ce9a7a",
+ "bf691d": "5268a1",
+ "935621": "2f3561",
+ "efbd3a": "81c1dc",
+ "ffff6b": "b5feff",
+ "b5946b": "ffefd5"
+ },
+ "2": {
+ "000000": "000000",
+ "52ad52": "2d3c5c",
+ "216321": "101121",
+ "3a8c4a": "1f2547",
+ "6bc56b": "48637c",
+ "947352": "45899e",
+ "523a31": "28345c",
+ "7b5a4a": "366688",
+ "bf691d": "67263f",
+ "935621": "4e1a2e",
+ "efbd3a": "a54358",
+ "ffff6b": "d56f69",
+ "b5946b": "78c9c9"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/369_2.json b/public/images/pokemon/variant/back/369_2.json
new file mode 100644
index 00000000000..00db73b2f13
--- /dev/null
+++ b/public/images/pokemon/variant/back/369_2.json
@@ -0,0 +1,2540 @@
+{
+ "textures": [
+ {
+ "image": "369_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 228,
+ "h": 228
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 50
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 50
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 50
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 50
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 50
+ },
+ "frame": {
+ "x": 0,
+ "y": 50,
+ "w": 53,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 50
+ },
+ "frame": {
+ "x": 0,
+ "y": 50,
+ "w": 53,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 50
+ },
+ "frame": {
+ "x": 0,
+ "y": 50,
+ "w": 53,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 53,
+ "h": 50
+ },
+ "frame": {
+ "x": 53,
+ "y": 0,
+ "w": 53,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 53,
+ "h": 50
+ },
+ "frame": {
+ "x": 53,
+ "y": 0,
+ "w": 53,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 53,
+ "h": 50
+ },
+ "frame": {
+ "x": 53,
+ "y": 0,
+ "w": 53,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 53,
+ "h": 50
+ },
+ "frame": {
+ "x": 53,
+ "y": 0,
+ "w": 53,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 100,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 100,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 100,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 100,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 100,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 100,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 100,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 100,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 100,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 100,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 100,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 100,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 53,
+ "y": 50,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 53,
+ "y": 50,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 53,
+ "y": 50,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 53,
+ "y": 50,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 53,
+ "y": 50,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 53,
+ "y": 50,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 53,
+ "y": 50,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 53,
+ "y": 50,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 53,
+ "y": 50,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 53,
+ "y": 50,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 53,
+ "y": 50,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 53,
+ "y": 50,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 106,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 106,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 106,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 52,
+ "h": 50
+ },
+ "frame": {
+ "x": 0,
+ "y": 149,
+ "w": 52,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 52,
+ "h": 50
+ },
+ "frame": {
+ "x": 0,
+ "y": 149,
+ "w": 52,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 52,
+ "h": 50
+ },
+ "frame": {
+ "x": 0,
+ "y": 149,
+ "w": 52,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 52,
+ "h": 49
+ },
+ "frame": {
+ "x": 53,
+ "y": 99,
+ "w": 52,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 52,
+ "h": 49
+ },
+ "frame": {
+ "x": 53,
+ "y": 99,
+ "w": 52,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 52,
+ "h": 49
+ },
+ "frame": {
+ "x": 53,
+ "y": 99,
+ "w": 52,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 52,
+ "h": 49
+ },
+ "frame": {
+ "x": 106,
+ "y": 49,
+ "w": 52,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 52,
+ "h": 49
+ },
+ "frame": {
+ "x": 106,
+ "y": 49,
+ "w": 52,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 52,
+ "h": 49
+ },
+ "frame": {
+ "x": 106,
+ "y": 49,
+ "w": 52,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 52,
+ "h": 49
+ },
+ "frame": {
+ "x": 106,
+ "y": 49,
+ "w": 52,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 52,
+ "h": 48
+ },
+ "frame": {
+ "x": 159,
+ "y": 0,
+ "w": 52,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 52,
+ "h": 48
+ },
+ "frame": {
+ "x": 159,
+ "y": 0,
+ "w": 52,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 52,
+ "h": 48
+ },
+ "frame": {
+ "x": 159,
+ "y": 0,
+ "w": 52,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 52,
+ "h": 47
+ },
+ "frame": {
+ "x": 53,
+ "y": 148,
+ "w": 52,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 52,
+ "h": 47
+ },
+ "frame": {
+ "x": 53,
+ "y": 148,
+ "w": 52,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 52,
+ "h": 47
+ },
+ "frame": {
+ "x": 53,
+ "y": 148,
+ "w": 52,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 52,
+ "h": 47
+ },
+ "frame": {
+ "x": 53,
+ "y": 148,
+ "w": 52,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 52,
+ "h": 47
+ },
+ "frame": {
+ "x": 53,
+ "y": 148,
+ "w": 52,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 52,
+ "h": 47
+ },
+ "frame": {
+ "x": 53,
+ "y": 148,
+ "w": 52,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 52,
+ "h": 47
+ },
+ "frame": {
+ "x": 53,
+ "y": 148,
+ "w": 52,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 52,
+ "h": 47
+ },
+ "frame": {
+ "x": 53,
+ "y": 148,
+ "w": 52,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 52,
+ "h": 47
+ },
+ "frame": {
+ "x": 53,
+ "y": 148,
+ "w": 52,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 52,
+ "h": 47
+ },
+ "frame": {
+ "x": 106,
+ "y": 98,
+ "w": 52,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 52,
+ "h": 47
+ },
+ "frame": {
+ "x": 106,
+ "y": 98,
+ "w": 52,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 52,
+ "h": 47
+ },
+ "frame": {
+ "x": 106,
+ "y": 98,
+ "w": 52,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 52,
+ "h": 47
+ },
+ "frame": {
+ "x": 106,
+ "y": 98,
+ "w": 52,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 52,
+ "h": 47
+ },
+ "frame": {
+ "x": 106,
+ "y": 98,
+ "w": 52,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 52,
+ "h": 47
+ },
+ "frame": {
+ "x": 106,
+ "y": 98,
+ "w": 52,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 52,
+ "h": 47
+ },
+ "frame": {
+ "x": 106,
+ "y": 98,
+ "w": 52,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 52,
+ "h": 47
+ },
+ "frame": {
+ "x": 106,
+ "y": 98,
+ "w": 52,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 52,
+ "h": 47
+ },
+ "frame": {
+ "x": 106,
+ "y": 98,
+ "w": 52,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 51,
+ "h": 46
+ },
+ "frame": {
+ "x": 105,
+ "y": 145,
+ "w": 51,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 51,
+ "h": 46
+ },
+ "frame": {
+ "x": 105,
+ "y": 145,
+ "w": 51,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 51,
+ "h": 46
+ },
+ "frame": {
+ "x": 105,
+ "y": 145,
+ "w": 51,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 51,
+ "h": 46
+ },
+ "frame": {
+ "x": 105,
+ "y": 145,
+ "w": 51,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 51,
+ "h": 46
+ },
+ "frame": {
+ "x": 105,
+ "y": 145,
+ "w": 51,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 51,
+ "h": 46
+ },
+ "frame": {
+ "x": 105,
+ "y": 145,
+ "w": 51,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 51,
+ "h": 46
+ },
+ "frame": {
+ "x": 105,
+ "y": 145,
+ "w": 51,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 51,
+ "h": 46
+ },
+ "frame": {
+ "x": 105,
+ "y": 145,
+ "w": 51,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 51,
+ "h": 46
+ },
+ "frame": {
+ "x": 105,
+ "y": 145,
+ "w": 51,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 51,
+ "h": 46
+ },
+ "frame": {
+ "x": 105,
+ "y": 145,
+ "w": 51,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 51,
+ "h": 46
+ },
+ "frame": {
+ "x": 105,
+ "y": 145,
+ "w": 51,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 51,
+ "h": 46
+ },
+ "frame": {
+ "x": 105,
+ "y": 145,
+ "w": 51,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 51,
+ "h": 46
+ },
+ "frame": {
+ "x": 159,
+ "y": 48,
+ "w": 51,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 51,
+ "h": 46
+ },
+ "frame": {
+ "x": 159,
+ "y": 48,
+ "w": 51,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 51,
+ "h": 46
+ },
+ "frame": {
+ "x": 159,
+ "y": 48,
+ "w": 51,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 51,
+ "h": 46
+ },
+ "frame": {
+ "x": 159,
+ "y": 48,
+ "w": 51,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 51,
+ "h": 46
+ },
+ "frame": {
+ "x": 159,
+ "y": 48,
+ "w": 51,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 51,
+ "h": 46
+ },
+ "frame": {
+ "x": 159,
+ "y": 48,
+ "w": 51,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 51,
+ "h": 46
+ },
+ "frame": {
+ "x": 159,
+ "y": 48,
+ "w": 51,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 51,
+ "h": 46
+ },
+ "frame": {
+ "x": 159,
+ "y": 48,
+ "w": 51,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 51,
+ "h": 46
+ },
+ "frame": {
+ "x": 159,
+ "y": 48,
+ "w": 51,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 1,
+ "w": 50,
+ "h": 45
+ },
+ "frame": {
+ "x": 158,
+ "y": 94,
+ "w": 50,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 1,
+ "w": 50,
+ "h": 45
+ },
+ "frame": {
+ "x": 158,
+ "y": 94,
+ "w": 50,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 1,
+ "w": 50,
+ "h": 45
+ },
+ "frame": {
+ "x": 158,
+ "y": 94,
+ "w": 50,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 1,
+ "w": 50,
+ "h": 45
+ },
+ "frame": {
+ "x": 158,
+ "y": 94,
+ "w": 50,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 1,
+ "w": 50,
+ "h": 45
+ },
+ "frame": {
+ "x": 158,
+ "y": 94,
+ "w": 50,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 1,
+ "w": 50,
+ "h": 45
+ },
+ "frame": {
+ "x": 158,
+ "y": 94,
+ "w": 50,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 1,
+ "w": 50,
+ "h": 45
+ },
+ "frame": {
+ "x": 158,
+ "y": 94,
+ "w": 50,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 1,
+ "w": 50,
+ "h": 45
+ },
+ "frame": {
+ "x": 158,
+ "y": 94,
+ "w": 50,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 1,
+ "w": 50,
+ "h": 45
+ },
+ "frame": {
+ "x": 158,
+ "y": 94,
+ "w": 50,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 1,
+ "w": 50,
+ "h": 45
+ },
+ "frame": {
+ "x": 158,
+ "y": 139,
+ "w": 50,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 1,
+ "w": 50,
+ "h": 45
+ },
+ "frame": {
+ "x": 158,
+ "y": 139,
+ "w": 50,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 1,
+ "w": 50,
+ "h": 45
+ },
+ "frame": {
+ "x": 158,
+ "y": 139,
+ "w": 50,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 1,
+ "w": 50,
+ "h": 45
+ },
+ "frame": {
+ "x": 158,
+ "y": 139,
+ "w": 50,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 1,
+ "w": 50,
+ "h": 45
+ },
+ "frame": {
+ "x": 158,
+ "y": 139,
+ "w": 50,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 1,
+ "w": 50,
+ "h": 45
+ },
+ "frame": {
+ "x": 158,
+ "y": 139,
+ "w": 50,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 1,
+ "w": 50,
+ "h": 45
+ },
+ "frame": {
+ "x": 158,
+ "y": 139,
+ "w": 50,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 1,
+ "w": 50,
+ "h": 45
+ },
+ "frame": {
+ "x": 158,
+ "y": 139,
+ "w": 50,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 1,
+ "w": 50,
+ "h": 45
+ },
+ "frame": {
+ "x": 158,
+ "y": 139,
+ "w": 50,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 1,
+ "w": 50,
+ "h": 45
+ },
+ "frame": {
+ "x": 158,
+ "y": 139,
+ "w": 50,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 1,
+ "w": 50,
+ "h": 45
+ },
+ "frame": {
+ "x": 158,
+ "y": 139,
+ "w": 50,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 1,
+ "w": 50,
+ "h": 45
+ },
+ "frame": {
+ "x": 158,
+ "y": 139,
+ "w": 50,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 1,
+ "w": 48,
+ "h": 44
+ },
+ "frame": {
+ "x": 156,
+ "y": 184,
+ "w": 48,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 1,
+ "w": 48,
+ "h": 44
+ },
+ "frame": {
+ "x": 156,
+ "y": 184,
+ "w": 48,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 1,
+ "w": 48,
+ "h": 44
+ },
+ "frame": {
+ "x": 156,
+ "y": 184,
+ "w": 48,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 1,
+ "w": 48,
+ "h": 44
+ },
+ "frame": {
+ "x": 156,
+ "y": 184,
+ "w": 48,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 1,
+ "w": 48,
+ "h": 44
+ },
+ "frame": {
+ "x": 156,
+ "y": 184,
+ "w": 48,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 1,
+ "w": 48,
+ "h": 44
+ },
+ "frame": {
+ "x": 156,
+ "y": 184,
+ "w": 48,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 1,
+ "w": 48,
+ "h": 44
+ },
+ "frame": {
+ "x": 156,
+ "y": 184,
+ "w": 48,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 1,
+ "w": 48,
+ "h": 44
+ },
+ "frame": {
+ "x": 156,
+ "y": 184,
+ "w": 48,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 1,
+ "w": 48,
+ "h": 44
+ },
+ "frame": {
+ "x": 156,
+ "y": 184,
+ "w": 48,
+ "h": 44
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:7b2a5fc98cfd638fe4ad317b6a142d30:af67d424037ece265d960072efd23756:6f6ad71dbb16d27e907ac0690c644804$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/369_2.png b/public/images/pokemon/variant/back/369_2.png
new file mode 100644
index 00000000000..8510afc4eb4
Binary files /dev/null and b/public/images/pokemon/variant/back/369_2.png differ
diff --git a/public/images/pokemon/variant/back/369_3.json b/public/images/pokemon/variant/back/369_3.json
new file mode 100644
index 00000000000..f821ce015b4
--- /dev/null
+++ b/public/images/pokemon/variant/back/369_3.json
@@ -0,0 +1,2540 @@
+{
+ "textures": [
+ {
+ "image": "369_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 228,
+ "h": 228
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 50
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 50
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 50
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 50
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 50
+ },
+ "frame": {
+ "x": 0,
+ "y": 50,
+ "w": 53,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 50
+ },
+ "frame": {
+ "x": 0,
+ "y": 50,
+ "w": 53,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 50
+ },
+ "frame": {
+ "x": 0,
+ "y": 50,
+ "w": 53,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 53,
+ "h": 50
+ },
+ "frame": {
+ "x": 53,
+ "y": 0,
+ "w": 53,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 53,
+ "h": 50
+ },
+ "frame": {
+ "x": 53,
+ "y": 0,
+ "w": 53,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 53,
+ "h": 50
+ },
+ "frame": {
+ "x": 53,
+ "y": 0,
+ "w": 53,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 53,
+ "h": 50
+ },
+ "frame": {
+ "x": 53,
+ "y": 0,
+ "w": 53,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 100,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 100,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 100,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 100,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 100,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 100,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 100,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 100,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 100,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 100,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 100,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 0,
+ "y": 100,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 53,
+ "y": 50,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 53,
+ "y": 50,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 53,
+ "y": 50,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 53,
+ "y": 50,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 53,
+ "y": 50,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 53,
+ "y": 50,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 53,
+ "y": 50,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 53,
+ "y": 50,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 53,
+ "y": 50,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 53,
+ "y": 50,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 53,
+ "y": 50,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 53,
+ "y": 50,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 106,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 106,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 53,
+ "h": 49
+ },
+ "frame": {
+ "x": 106,
+ "y": 0,
+ "w": 53,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 52,
+ "h": 50
+ },
+ "frame": {
+ "x": 0,
+ "y": 149,
+ "w": 52,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 52,
+ "h": 50
+ },
+ "frame": {
+ "x": 0,
+ "y": 149,
+ "w": 52,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 52,
+ "h": 50
+ },
+ "frame": {
+ "x": 0,
+ "y": 149,
+ "w": 52,
+ "h": 50
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 52,
+ "h": 49
+ },
+ "frame": {
+ "x": 53,
+ "y": 99,
+ "w": 52,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 52,
+ "h": 49
+ },
+ "frame": {
+ "x": 53,
+ "y": 99,
+ "w": 52,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 52,
+ "h": 49
+ },
+ "frame": {
+ "x": 53,
+ "y": 99,
+ "w": 52,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 52,
+ "h": 49
+ },
+ "frame": {
+ "x": 106,
+ "y": 49,
+ "w": 52,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 52,
+ "h": 49
+ },
+ "frame": {
+ "x": 106,
+ "y": 49,
+ "w": 52,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 52,
+ "h": 49
+ },
+ "frame": {
+ "x": 106,
+ "y": 49,
+ "w": 52,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 52,
+ "h": 49
+ },
+ "frame": {
+ "x": 106,
+ "y": 49,
+ "w": 52,
+ "h": 49
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 52,
+ "h": 48
+ },
+ "frame": {
+ "x": 159,
+ "y": 0,
+ "w": 52,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 52,
+ "h": 48
+ },
+ "frame": {
+ "x": 159,
+ "y": 0,
+ "w": 52,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 52,
+ "h": 48
+ },
+ "frame": {
+ "x": 159,
+ "y": 0,
+ "w": 52,
+ "h": 48
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 52,
+ "h": 47
+ },
+ "frame": {
+ "x": 53,
+ "y": 148,
+ "w": 52,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 52,
+ "h": 47
+ },
+ "frame": {
+ "x": 53,
+ "y": 148,
+ "w": 52,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 52,
+ "h": 47
+ },
+ "frame": {
+ "x": 53,
+ "y": 148,
+ "w": 52,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 52,
+ "h": 47
+ },
+ "frame": {
+ "x": 53,
+ "y": 148,
+ "w": 52,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 52,
+ "h": 47
+ },
+ "frame": {
+ "x": 53,
+ "y": 148,
+ "w": 52,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 52,
+ "h": 47
+ },
+ "frame": {
+ "x": 53,
+ "y": 148,
+ "w": 52,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 52,
+ "h": 47
+ },
+ "frame": {
+ "x": 53,
+ "y": 148,
+ "w": 52,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 52,
+ "h": 47
+ },
+ "frame": {
+ "x": 53,
+ "y": 148,
+ "w": 52,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 52,
+ "h": 47
+ },
+ "frame": {
+ "x": 53,
+ "y": 148,
+ "w": 52,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 52,
+ "h": 47
+ },
+ "frame": {
+ "x": 106,
+ "y": 98,
+ "w": 52,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 52,
+ "h": 47
+ },
+ "frame": {
+ "x": 106,
+ "y": 98,
+ "w": 52,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 52,
+ "h": 47
+ },
+ "frame": {
+ "x": 106,
+ "y": 98,
+ "w": 52,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 52,
+ "h": 47
+ },
+ "frame": {
+ "x": 106,
+ "y": 98,
+ "w": 52,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 52,
+ "h": 47
+ },
+ "frame": {
+ "x": 106,
+ "y": 98,
+ "w": 52,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 52,
+ "h": 47
+ },
+ "frame": {
+ "x": 106,
+ "y": 98,
+ "w": 52,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 52,
+ "h": 47
+ },
+ "frame": {
+ "x": 106,
+ "y": 98,
+ "w": 52,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 52,
+ "h": 47
+ },
+ "frame": {
+ "x": 106,
+ "y": 98,
+ "w": 52,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 52,
+ "h": 47
+ },
+ "frame": {
+ "x": 106,
+ "y": 98,
+ "w": 52,
+ "h": 47
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 51,
+ "h": 46
+ },
+ "frame": {
+ "x": 105,
+ "y": 145,
+ "w": 51,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 51,
+ "h": 46
+ },
+ "frame": {
+ "x": 105,
+ "y": 145,
+ "w": 51,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 51,
+ "h": 46
+ },
+ "frame": {
+ "x": 105,
+ "y": 145,
+ "w": 51,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 51,
+ "h": 46
+ },
+ "frame": {
+ "x": 105,
+ "y": 145,
+ "w": 51,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 51,
+ "h": 46
+ },
+ "frame": {
+ "x": 105,
+ "y": 145,
+ "w": 51,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 51,
+ "h": 46
+ },
+ "frame": {
+ "x": 105,
+ "y": 145,
+ "w": 51,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 51,
+ "h": 46
+ },
+ "frame": {
+ "x": 105,
+ "y": 145,
+ "w": 51,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 51,
+ "h": 46
+ },
+ "frame": {
+ "x": 105,
+ "y": 145,
+ "w": 51,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 51,
+ "h": 46
+ },
+ "frame": {
+ "x": 105,
+ "y": 145,
+ "w": 51,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 51,
+ "h": 46
+ },
+ "frame": {
+ "x": 105,
+ "y": 145,
+ "w": 51,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 51,
+ "h": 46
+ },
+ "frame": {
+ "x": 105,
+ "y": 145,
+ "w": 51,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 51,
+ "h": 46
+ },
+ "frame": {
+ "x": 105,
+ "y": 145,
+ "w": 51,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 51,
+ "h": 46
+ },
+ "frame": {
+ "x": 159,
+ "y": 48,
+ "w": 51,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 51,
+ "h": 46
+ },
+ "frame": {
+ "x": 159,
+ "y": 48,
+ "w": 51,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 51,
+ "h": 46
+ },
+ "frame": {
+ "x": 159,
+ "y": 48,
+ "w": 51,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 51,
+ "h": 46
+ },
+ "frame": {
+ "x": 159,
+ "y": 48,
+ "w": 51,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 51,
+ "h": 46
+ },
+ "frame": {
+ "x": 159,
+ "y": 48,
+ "w": 51,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 51,
+ "h": 46
+ },
+ "frame": {
+ "x": 159,
+ "y": 48,
+ "w": 51,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 51,
+ "h": 46
+ },
+ "frame": {
+ "x": 159,
+ "y": 48,
+ "w": 51,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 51,
+ "h": 46
+ },
+ "frame": {
+ "x": 159,
+ "y": 48,
+ "w": 51,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 51,
+ "h": 46
+ },
+ "frame": {
+ "x": 159,
+ "y": 48,
+ "w": 51,
+ "h": 46
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 1,
+ "w": 50,
+ "h": 45
+ },
+ "frame": {
+ "x": 158,
+ "y": 94,
+ "w": 50,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 1,
+ "w": 50,
+ "h": 45
+ },
+ "frame": {
+ "x": 158,
+ "y": 94,
+ "w": 50,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 1,
+ "w": 50,
+ "h": 45
+ },
+ "frame": {
+ "x": 158,
+ "y": 94,
+ "w": 50,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 1,
+ "w": 50,
+ "h": 45
+ },
+ "frame": {
+ "x": 158,
+ "y": 94,
+ "w": 50,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 1,
+ "w": 50,
+ "h": 45
+ },
+ "frame": {
+ "x": 158,
+ "y": 94,
+ "w": 50,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 1,
+ "w": 50,
+ "h": 45
+ },
+ "frame": {
+ "x": 158,
+ "y": 94,
+ "w": 50,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 1,
+ "w": 50,
+ "h": 45
+ },
+ "frame": {
+ "x": 158,
+ "y": 94,
+ "w": 50,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 1,
+ "w": 50,
+ "h": 45
+ },
+ "frame": {
+ "x": 158,
+ "y": 94,
+ "w": 50,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 1,
+ "w": 50,
+ "h": 45
+ },
+ "frame": {
+ "x": 158,
+ "y": 94,
+ "w": 50,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 1,
+ "w": 50,
+ "h": 45
+ },
+ "frame": {
+ "x": 158,
+ "y": 139,
+ "w": 50,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 1,
+ "w": 50,
+ "h": 45
+ },
+ "frame": {
+ "x": 158,
+ "y": 139,
+ "w": 50,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 1,
+ "w": 50,
+ "h": 45
+ },
+ "frame": {
+ "x": 158,
+ "y": 139,
+ "w": 50,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 1,
+ "w": 50,
+ "h": 45
+ },
+ "frame": {
+ "x": 158,
+ "y": 139,
+ "w": 50,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 1,
+ "w": 50,
+ "h": 45
+ },
+ "frame": {
+ "x": 158,
+ "y": 139,
+ "w": 50,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 1,
+ "w": 50,
+ "h": 45
+ },
+ "frame": {
+ "x": 158,
+ "y": 139,
+ "w": 50,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 1,
+ "w": 50,
+ "h": 45
+ },
+ "frame": {
+ "x": 158,
+ "y": 139,
+ "w": 50,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 1,
+ "w": 50,
+ "h": 45
+ },
+ "frame": {
+ "x": 158,
+ "y": 139,
+ "w": 50,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 1,
+ "w": 50,
+ "h": 45
+ },
+ "frame": {
+ "x": 158,
+ "y": 139,
+ "w": 50,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 1,
+ "w": 50,
+ "h": 45
+ },
+ "frame": {
+ "x": 158,
+ "y": 139,
+ "w": 50,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 1,
+ "w": 50,
+ "h": 45
+ },
+ "frame": {
+ "x": 158,
+ "y": 139,
+ "w": 50,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 1,
+ "w": 50,
+ "h": 45
+ },
+ "frame": {
+ "x": 158,
+ "y": 139,
+ "w": 50,
+ "h": 45
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 1,
+ "w": 48,
+ "h": 44
+ },
+ "frame": {
+ "x": 156,
+ "y": 184,
+ "w": 48,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 1,
+ "w": 48,
+ "h": 44
+ },
+ "frame": {
+ "x": 156,
+ "y": 184,
+ "w": 48,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 1,
+ "w": 48,
+ "h": 44
+ },
+ "frame": {
+ "x": 156,
+ "y": 184,
+ "w": 48,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 1,
+ "w": 48,
+ "h": 44
+ },
+ "frame": {
+ "x": 156,
+ "y": 184,
+ "w": 48,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 1,
+ "w": 48,
+ "h": 44
+ },
+ "frame": {
+ "x": 156,
+ "y": 184,
+ "w": 48,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 1,
+ "w": 48,
+ "h": 44
+ },
+ "frame": {
+ "x": 156,
+ "y": 184,
+ "w": 48,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 1,
+ "w": 48,
+ "h": 44
+ },
+ "frame": {
+ "x": 156,
+ "y": 184,
+ "w": 48,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 1,
+ "w": 48,
+ "h": 44
+ },
+ "frame": {
+ "x": 156,
+ "y": 184,
+ "w": 48,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 57,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 1,
+ "w": 48,
+ "h": 44
+ },
+ "frame": {
+ "x": 156,
+ "y": 184,
+ "w": 48,
+ "h": 44
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:7b2a5fc98cfd638fe4ad317b6a142d30:af67d424037ece265d960072efd23756:6f6ad71dbb16d27e907ac0690c644804$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/369_3.png b/public/images/pokemon/variant/back/369_3.png
new file mode 100644
index 00000000000..165b5ad0199
Binary files /dev/null and b/public/images/pokemon/variant/back/369_3.png differ
diff --git a/public/images/pokemon/variant/back/37.json b/public/images/pokemon/variant/back/37.json
new file mode 100644
index 00000000000..1c7262f4d92
--- /dev/null
+++ b/public/images/pokemon/variant/back/37.json
@@ -0,0 +1,28 @@
+{
+ "1": {
+ "bd4a29": "714795",
+ "de7329": "9667b1",
+ "732100": "381d5b",
+ "bd735a": "ba6cbd",
+ "e6946b": "dc91d5",
+ "101010": "101010",
+ "ffde94": "d4c5b6",
+ "ffe6b5": "e8e0d1",
+ "845231": "743a67",
+ "5a3100": "511f4c",
+ "a57342": "865175"
+ },
+ "2": {
+ "bd4a29": "532446",
+ "de7329": "833a51",
+ "732100": "1e1323",
+ "bd735a": "33325e",
+ "e6946b": "45457c",
+ "101010": "101010",
+ "ffde94": "9fb3c1",
+ "ffe6b5": "d8e4e8",
+ "845231": "1b1b47",
+ "5a3100": "100f1b",
+ "a57342": "2a3457"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/38.json b/public/images/pokemon/variant/back/38.json
new file mode 100644
index 00000000000..bd8b6202381
--- /dev/null
+++ b/public/images/pokemon/variant/back/38.json
@@ -0,0 +1,20 @@
+{
+ "1": {
+ "846319": "613260",
+ "ce9c4a": "b16da0",
+ "f7e67b": "f0c2dc",
+ "101010": "101010",
+ "e6c552": "ca91ba",
+ "ffa53a": "8963b5",
+ "ef8429": "593d85"
+ },
+ "2": {
+ "846319": "0b0b2a",
+ "ce9c4a": "1a1a52",
+ "f7e67b": "3f548b",
+ "101010": "101010",
+ "e6c552": "293272",
+ "ffa53a": "a9354a",
+ "ef8429": "811d39"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/387.json b/public/images/pokemon/variant/back/387.json
new file mode 100644
index 00000000000..a858e24d088
--- /dev/null
+++ b/public/images/pokemon/variant/back/387.json
@@ -0,0 +1,18 @@
+{
+ "2": {
+ "3aa542": "d0d6d6",
+ "7bd66b": "ffffff",
+ "3a5a29": "241423",
+ "000000": "000000",
+ "634a3a": "2c4a78",
+ "b58452": "d6e1e9",
+ "5a7b42": "372835",
+ "8c6b42": "93adcb",
+ "94ad5a": "5b4959",
+ "bdce84": "7d6d7a",
+ "dee68c": "958790",
+ "f7e65a": "8bcadd",
+ "c5bd3a": "3875a1",
+ "ffffff": "ffffff"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/387_2.json b/public/images/pokemon/variant/back/387_2.json
new file mode 100644
index 00000000000..34b54074848
--- /dev/null
+++ b/public/images/pokemon/variant/back/387_2.json
@@ -0,0 +1,1868 @@
+{
+ "textures": [
+ {
+ "image": "387_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 237,
+ "h": 237
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 0,
+ "y": 43,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 0,
+ "y": 43,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 0,
+ "y": 43,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 0,
+ "y": 43,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 0,
+ "y": 129,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 0,
+ "y": 129,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 34,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 34,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 68,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 68,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 102,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 102,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 136,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 136,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 170,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 170,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 33,
+ "h": 43
+ },
+ "frame": {
+ "x": 204,
+ "y": 0,
+ "w": 33,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 33,
+ "h": 43
+ },
+ "frame": {
+ "x": 204,
+ "y": 0,
+ "w": 33,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 34,
+ "y": 43,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 34,
+ "y": 43,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 34,
+ "y": 86,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 34,
+ "y": 86,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 34,
+ "y": 129,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 34,
+ "y": 129,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 34,
+ "y": 129,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 34,
+ "y": 129,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 34,
+ "y": 172,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 34,
+ "y": 172,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 68,
+ "y": 43,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 68,
+ "y": 43,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 102,
+ "y": 43,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 102,
+ "y": 43,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 136,
+ "y": 43,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 136,
+ "y": 43,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 34,
+ "h": 42
+ },
+ "frame": {
+ "x": 170,
+ "y": 43,
+ "w": 34,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 34,
+ "h": 42
+ },
+ "frame": {
+ "x": 170,
+ "y": 43,
+ "w": 34,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 33,
+ "h": 42
+ },
+ "frame": {
+ "x": 204,
+ "y": 43,
+ "w": 33,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 33,
+ "h": 42
+ },
+ "frame": {
+ "x": 204,
+ "y": 43,
+ "w": 33,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 34,
+ "h": 42
+ },
+ "frame": {
+ "x": 170,
+ "y": 85,
+ "w": 34,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 34,
+ "h": 42
+ },
+ "frame": {
+ "x": 170,
+ "y": 85,
+ "w": 34,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 33,
+ "h": 42
+ },
+ "frame": {
+ "x": 204,
+ "y": 85,
+ "w": 33,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 33,
+ "h": 42
+ },
+ "frame": {
+ "x": 204,
+ "y": 85,
+ "w": 33,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 34,
+ "h": 42
+ },
+ "frame": {
+ "x": 68,
+ "y": 86,
+ "w": 34,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 34,
+ "h": 42
+ },
+ "frame": {
+ "x": 68,
+ "y": 86,
+ "w": 34,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 34,
+ "h": 42
+ },
+ "frame": {
+ "x": 68,
+ "y": 86,
+ "w": 34,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 34,
+ "h": 42
+ },
+ "frame": {
+ "x": 68,
+ "y": 86,
+ "w": 34,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 34,
+ "h": 42
+ },
+ "frame": {
+ "x": 102,
+ "y": 86,
+ "w": 34,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 34,
+ "h": 42
+ },
+ "frame": {
+ "x": 102,
+ "y": 86,
+ "w": 34,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 34,
+ "h": 42
+ },
+ "frame": {
+ "x": 102,
+ "y": 86,
+ "w": 34,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 34,
+ "h": 42
+ },
+ "frame": {
+ "x": 102,
+ "y": 86,
+ "w": 34,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 34,
+ "h": 41
+ },
+ "frame": {
+ "x": 136,
+ "y": 86,
+ "w": 34,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 34,
+ "h": 41
+ },
+ "frame": {
+ "x": 136,
+ "y": 86,
+ "w": 34,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 34,
+ "h": 41
+ },
+ "frame": {
+ "x": 136,
+ "y": 127,
+ "w": 34,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 34,
+ "h": 41
+ },
+ "frame": {
+ "x": 136,
+ "y": 127,
+ "w": 34,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 34,
+ "h": 41
+ },
+ "frame": {
+ "x": 68,
+ "y": 168,
+ "w": 34,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 34,
+ "h": 41
+ },
+ "frame": {
+ "x": 68,
+ "y": 168,
+ "w": 34,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 34,
+ "h": 40
+ },
+ "frame": {
+ "x": 68,
+ "y": 128,
+ "w": 34,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 34,
+ "h": 40
+ },
+ "frame": {
+ "x": 68,
+ "y": 128,
+ "w": 34,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 34,
+ "h": 41
+ },
+ "frame": {
+ "x": 102,
+ "y": 128,
+ "w": 34,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 34,
+ "h": 41
+ },
+ "frame": {
+ "x": 102,
+ "y": 128,
+ "w": 34,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 34,
+ "h": 41
+ },
+ "frame": {
+ "x": 102,
+ "y": 169,
+ "w": 34,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 34,
+ "h": 41
+ },
+ "frame": {
+ "x": 102,
+ "y": 169,
+ "w": 34,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 34,
+ "h": 41
+ },
+ "frame": {
+ "x": 136,
+ "y": 168,
+ "w": 34,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 34,
+ "h": 41
+ },
+ "frame": {
+ "x": 136,
+ "y": 168,
+ "w": 34,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 34,
+ "h": 40
+ },
+ "frame": {
+ "x": 170,
+ "y": 127,
+ "w": 34,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 34,
+ "h": 40
+ },
+ "frame": {
+ "x": 170,
+ "y": 127,
+ "w": 34,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 33,
+ "h": 40
+ },
+ "frame": {
+ "x": 204,
+ "y": 127,
+ "w": 33,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 33,
+ "h": 40
+ },
+ "frame": {
+ "x": 204,
+ "y": 127,
+ "w": 33,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 34,
+ "h": 40
+ },
+ "frame": {
+ "x": 170,
+ "y": 167,
+ "w": 34,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 34,
+ "h": 43
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 34,
+ "h": 40
+ },
+ "frame": {
+ "x": 170,
+ "y": 167,
+ "w": 34,
+ "h": 40
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:dee67e721c5d80c1c44560b632058da4:f398f329cc1b785ba313db29f4bf73ee:9c1e99f4320ee13a2d815e217a07b3f3$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/387_2.png b/public/images/pokemon/variant/back/387_2.png
new file mode 100644
index 00000000000..d55cb1c5384
Binary files /dev/null and b/public/images/pokemon/variant/back/387_2.png differ
diff --git a/public/images/pokemon/variant/back/388.json b/public/images/pokemon/variant/back/388.json
new file mode 100644
index 00000000000..9ddb71ba8c8
--- /dev/null
+++ b/public/images/pokemon/variant/back/388.json
@@ -0,0 +1,36 @@
+{
+ "1": {
+ "3a5a29": "3b1228",
+ "3a8c42": "e79ac2",
+ "63b56b": "ffd3f2",
+ "101019": "101019",
+ "634a3a": "112a24",
+ "b58452": "3f5e4c",
+ "8c6b42": "2c483c",
+ "deb542": "738f7a",
+ "efd642": "9cc096",
+ "ffffff": "ffffff",
+ "6b8c4a": "773859",
+ "adc563": "b07587",
+ "94ad5a": "954e6c",
+ "949494": "949494",
+ "d6d6d6": "d6d6d6"
+ },
+ "2": {
+ "3a5a29": "362f2f",
+ "3a8c42": "d6e1e9",
+ "63b56b": "ffffff",
+ "101019": "101019",
+ "634a3a": "251c3d",
+ "b58452": "2c4a78",
+ "8c6b42": "20284e",
+ "deb542": "3875a1",
+ "efd642": "8bcadd",
+ "ffffff": "ffffff",
+ "6b8c4a": "463d3e",
+ "adc563": "949494",
+ "94ad5a": "756667",
+ "949494": "949494",
+ "d6d6d6": "d6d6d6"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/389.json b/public/images/pokemon/variant/back/389.json
new file mode 100644
index 00000000000..db18c1f2d10
--- /dev/null
+++ b/public/images/pokemon/variant/back/389.json
@@ -0,0 +1,32 @@
+{
+ "1": {
+ "196319": "ba597b",
+ "42ad42": "fddcf6",
+ "318c3a": "e799bb",
+ "101010": "101010",
+ "634a3a": "241a21",
+ "8c6b42": "3d2a37",
+ "b58452": "573a4b",
+ "4a525a": "1f4133",
+ "e6e6e6": "8faf89",
+ "bdbdbd": "588162",
+ "a5a5a5": "365f49",
+ "6b737b": "1b1c00",
+ "3a5a29": "0f2924"
+ },
+ "2": {
+ "196319": "738d9d",
+ "42ad42": "d6e1e9",
+ "318c3a": "a7bcc9",
+ "101010": "101010",
+ "634a3a": "251c3d",
+ "8c6b42": "444661",
+ "b58452": "5c5b75",
+ "4a525a": "1d1b40",
+ "e6e6e6": "8bcadd",
+ "bdbdbd": "3875a1",
+ "a5a5a5": "2c4a78",
+ "6b737b": "20284e",
+ "3a5a29": "272a54"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/4.json b/public/images/pokemon/variant/back/4.json
new file mode 100644
index 00000000000..d3271eebf43
--- /dev/null
+++ b/public/images/pokemon/variant/back/4.json
@@ -0,0 +1,32 @@
+{
+ "1": {
+ "e63a00": "5033ce",
+ "de523a": "1a5752",
+ "8c2900": "0f3234",
+ "ff9442": "26837c",
+ "ffd608": "e9bfff",
+ "101010": "101010",
+ "f7a500": "9e59db",
+ "ffffff": "ffffff",
+ "31adef": "c40f0f",
+ "083a8c": "8e0b25",
+ "ffd67b": "99f4f7",
+ "e6ad5a": "60c5c8",
+ "b5b5b5": "b5b5b5"
+ },
+ "2": {
+ "e63a00": "4c83d4",
+ "de523a": "294c91",
+ "8c2900": "20346f",
+ "ff9442": "3a78b7",
+ "ffd608": "f9fffa",
+ "101010": "101010",
+ "f7a500": "96e8e8",
+ "ffffff": "ffffff",
+ "31adef": "1e8eff",
+ "083a8c": "0059ff",
+ "ffd67b": "5e238e",
+ "e6ad5a": "380f6e",
+ "b5b5b5": "b5b5b5"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/401.json b/public/images/pokemon/variant/back/401.json
new file mode 100644
index 00000000000..446e2648182
--- /dev/null
+++ b/public/images/pokemon/variant/back/401.json
@@ -0,0 +1,24 @@
+{
+ "1": {
+ "524a42": "cf8439",
+ "7b7363": "f6bb47",
+ "101010": "101010",
+ "8c6b08": "272344",
+ "ffefad": "56769d",
+ "e6c56b": "454389",
+ "5a2100": "272344",
+ "b54a3a": "498ebe",
+ "e66b63": "afd3df"
+ },
+ "2": {
+ "524a42": "453565",
+ "7b7363": "71558c",
+ "101010": "101010",
+ "8c6b08": "784341",
+ "ffefad": "ffd47c",
+ "e6c56b": "e59a75",
+ "5a2100": "2a545f",
+ "b54a3a": "2f9378",
+ "e66b63": "70af85"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/402.json b/public/images/pokemon/variant/back/402.json
new file mode 100644
index 00000000000..7b6ca4a615e
--- /dev/null
+++ b/public/images/pokemon/variant/back/402.json
@@ -0,0 +1,32 @@
+{
+ "1": {
+ "633100": "272344",
+ "de5a52": "afd3df",
+ "101010": "101010",
+ "9c4231": "498ebe",
+ "31293a": "31293a",
+ "524a42": "cf8439",
+ "7b7363": "f6bb47",
+ "424252": "0e0e23",
+ "9c9c94": "26264b",
+ "63687b": "0e0e23",
+ "ffffff": "454389",
+ "8c6b08": "272344",
+ "bd9c63": "454389"
+ },
+ "2": {
+ "633100": "2a545f",
+ "de5a52": "70af85",
+ "101010": "101010",
+ "9c4231": "2f9378",
+ "31293a": "281c41",
+ "524a42": "453565",
+ "7b7363": "71558c",
+ "424252": "732f36",
+ "9c9c94": "f1be84",
+ "63687b": "732f36",
+ "ffffff": "fff3c3",
+ "8c6b08": "784341",
+ "bd9c63": "e59a75"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/4080_1.json b/public/images/pokemon/variant/back/4080_1.json
new file mode 100644
index 00000000000..33f0d652176
--- /dev/null
+++ b/public/images/pokemon/variant/back/4080_1.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "4080_1.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 65,
+ "h": 65
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 65,
+ "h": 56
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 56
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 56
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:30ed0833bd06abcb39e46beee66d17ac:2e3588a8d423961e3cee059062dea557:015ff34e49c83f5df583f6ee4f397d44$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/4080_1.png b/public/images/pokemon/variant/back/4080_1.png
new file mode 100644
index 00000000000..7f6ba3be1c4
Binary files /dev/null and b/public/images/pokemon/variant/back/4080_1.png differ
diff --git a/public/images/pokemon/variant/back/4199_1.json b/public/images/pokemon/variant/back/4199_1.json
new file mode 100644
index 00000000000..ad9573d0ba2
--- /dev/null
+++ b/public/images/pokemon/variant/back/4199_1.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "4199_1.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 68,
+ "h": 68
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 45,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 45,
+ "h": 68
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 45,
+ "h": 68
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:f825e73e1337a52e63c9d7589dd36cbb:c50772833cbdc1588b4e7d14ff6d7daf:427382f12be0d488e7af870a65d1099b$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/4199_1.png b/public/images/pokemon/variant/back/4199_1.png
new file mode 100644
index 00000000000..daaac5a6448
Binary files /dev/null and b/public/images/pokemon/variant/back/4199_1.png differ
diff --git a/public/images/pokemon/variant/back/436.json b/public/images/pokemon/variant/back/436.json
new file mode 100644
index 00000000000..372a91449aa
--- /dev/null
+++ b/public/images/pokemon/variant/back/436.json
@@ -0,0 +1,18 @@
+{
+ "1": {
+ "103a4a": "3e3b45",
+ "101010": "101010",
+ "2984a5": "9192a6",
+ "195a7b": "737185",
+ "63c5e6": "dfe1f4",
+ "42a5c5": "c3c3de"
+ },
+ "2": {
+ "103a4a": "400f06",
+ "101010": "101010",
+ "2984a5": "9d4e16",
+ "195a7b": "7e2b15",
+ "63c5e6": "e98851",
+ "42a5c5": "d0662a"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/437.json b/public/images/pokemon/variant/back/437.json
new file mode 100644
index 00000000000..cccd9954d5d
--- /dev/null
+++ b/public/images/pokemon/variant/back/437.json
@@ -0,0 +1,26 @@
+{
+ "1": {
+ "217384": "9c9db4",
+ "3194b5": "dedede",
+ "214a5a": "6a6994",
+ "42adce": "eeeaff",
+ "101010": "101010",
+ "bdd6de": "bd9173",
+ "73d6ef": "ffffff",
+ "a5c5ce": "a27661",
+ "8cadb5": "8b5952",
+ "103a4a": "202429"
+ },
+ "2": {
+ "217384": "9d5f33",
+ "3194b5": "d58151",
+ "214a5a": "783827",
+ "42adce": "f4a97f",
+ "101010": "101010",
+ "bdd6de": "e0da82",
+ "73d6ef": "edc590",
+ "a5c5ce": "ccbd73",
+ "8cadb5": "b4a55b",
+ "103a4a": "3a1812"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/5.json b/public/images/pokemon/variant/back/5.json
new file mode 100644
index 00000000000..fc9c313b8b9
--- /dev/null
+++ b/public/images/pokemon/variant/back/5.json
@@ -0,0 +1,36 @@
+{
+ "1": {
+ "942110": "10292c",
+ "ffa500": "9e59db",
+ "101010": "101010",
+ "ff524a": "2a6e70",
+ "ce3a3a": "1a4848",
+ "ff4200": "5033ce",
+ "ff846b": "40a78f",
+ "ffde29": "e9bfff",
+ "b5b5b5": "b5b5b5",
+ "005aff": "ce1010",
+ "ffffff": "ffffff",
+ "6b6b6b": "6b6b6b",
+ "e6cead": "99f4f7",
+ "b58c5a": "60c5c8",
+ "cead7b": "6ee3e5"
+ },
+ "2": {
+ "942110": "101a70",
+ "ffa500": "96e8e8",
+ "101010": "101010",
+ "ff524a": "2564bc",
+ "ce3a3a": "163793",
+ "ff4200": "4c83d4",
+ "ff846b": "418ae2",
+ "ffde29": "f9fffa",
+ "b5b5b5": "b5b5b5",
+ "005aff": "2b75ff",
+ "ffffff": "ffffff",
+ "6b6b6b": "6b6b6b",
+ "e6cead": "5e238e",
+ "b58c5a": "340d6b",
+ "cead7b": "47177a"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/531-mega.json b/public/images/pokemon/variant/back/531-mega.json
new file mode 100644
index 00000000000..f78a2d37074
--- /dev/null
+++ b/public/images/pokemon/variant/back/531-mega.json
@@ -0,0 +1,24 @@
+{
+ "1": {
+ "80734d": "7c4b3b",
+ "ffecb2": "fff6f0",
+ "101010": "101010",
+ "ccb87a": "d6bfb4",
+ "b35968": "b64231",
+ "ffbfca": "f5a779",
+ "737373": "6b0a46",
+ "bfbfbf": "cc3a74",
+ "f8f8f8": "f0728d"
+ },
+ "2": {
+ "80734d": "09232a",
+ "ffecb2": "4bb9a6",
+ "101010": "101010",
+ "ccb87a": "29878f",
+ "b35968": "a0602f",
+ "ffbfca": "f6e3a8",
+ "737373": "111322",
+ "bfbfbf": "202537",
+ "f8f8f8": "323c52"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/531.json b/public/images/pokemon/variant/back/531.json
new file mode 100644
index 00000000000..8a96bebb946
--- /dev/null
+++ b/public/images/pokemon/variant/back/531.json
@@ -0,0 +1,28 @@
+{
+ "1": {
+ "734a4a": "734a4a",
+ "ce6b73": "cc6348",
+ "de8c94": "f5a779",
+ "6b634a": "a86d57",
+ "ceb584": "d6bfb4",
+ "101010": "101010",
+ "f7e6ad": "fff6f0",
+ "a58c63": "7c4b3b",
+ "63636b": "782b3e",
+ "efeff7": "df81a6",
+ "d6d6e6": "cd5178"
+ },
+ "2": {
+ "734a4a": "a0602f",
+ "ce6b73": "cf9a4a",
+ "de8c94": "f6e3a8",
+ "6b634a": "09232a",
+ "ceb584": "29878f",
+ "101010": "101010",
+ "f7e6ad": "4bb9a6",
+ "a58c63": "164d54",
+ "63636b": "1a2135",
+ "efeff7": "57637a",
+ "d6d6e6": "414b65"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/543.json b/public/images/pokemon/variant/back/543.json
new file mode 100644
index 00000000000..5100aa499c9
--- /dev/null
+++ b/public/images/pokemon/variant/back/543.json
@@ -0,0 +1,32 @@
+{
+ "1": {
+ "101010": "190d20",
+ "632131": "052727",
+ "bd3152": "238071",
+ "940042": "135c56",
+ "e6637b": "38a38b",
+ "ff94a5": "62c6af",
+ "733142": "135c56",
+ "31313a": "522b71",
+ "00733a": "831774",
+ "084a3a": "4a063b",
+ "00945a": "a63c9f",
+ "bd8c08": "467eb8",
+ "efb508": "7ab7e6"
+ },
+ "2": {
+ "101010": "101010",
+ "632131": "6d5332",
+ "bd3152": "d3c9ae",
+ "940042": "968167",
+ "e6637b": "e6dcc0",
+ "ff94a5": "fefdf1",
+ "733142": "735f44",
+ "31313a": "553e2a",
+ "00733a": "466f90",
+ "084a3a": "2d4575",
+ "00945a": "5a93a5",
+ "bd8c08": "7b97d8",
+ "efb508": "a5d3ff"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/544.json b/public/images/pokemon/variant/back/544.json
new file mode 100644
index 00000000000..5d02ae2b196
--- /dev/null
+++ b/public/images/pokemon/variant/back/544.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "000000": "000000",
+ "5a4a63": "0a3939",
+ "ad94c5": "238071",
+ "84739c": "135c56",
+ "943a73": "04403f",
+ "bd5294": "0d635c",
+ "c5195a": "a63c9f",
+ "73637b": "0b4a45",
+ "31313a": "522b71",
+ "424252": "6f519c",
+ "292929": "34214a",
+ "a50052": "831774",
+ "e6ad10": "467eb8",
+ "ffff00": "7ab7e6"
+ },
+ "2": {
+ "000000": "000000",
+ "5a4a63": "452e23",
+ "ad94c5": "a67645",
+ "84739c": "764f2d",
+ "943a73": "92763c",
+ "bd5294": "a39051",
+ "c5195a": "c2c050",
+ "73637b": "5a412f",
+ "31313a": "9b9378",
+ "424252": "cfccae",
+ "292929": "7f7665",
+ "a50052": "ae9f45",
+ "e6ad10": "5d7f88",
+ "ffff00": "79a4a8"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/545.json b/public/images/pokemon/variant/back/545.json
new file mode 100644
index 00000000000..c1e2a523206
--- /dev/null
+++ b/public/images/pokemon/variant/back/545.json
@@ -0,0 +1,30 @@
+{
+ "1": {
+ "631010": "0b4a45",
+ "c5195a": "238071",
+ "101010": "101010",
+ "6b216b": "831774",
+ "8c3a9c": "a63c9f",
+ "9c1042": "135c56",
+ "424a63": "6f519c",
+ "ad297b": "0d635c",
+ "3a3a4a": "522b71",
+ "846b19": "467eb8",
+ "dead10": "7ab7e6",
+ "84084a": "04403f"
+ },
+ "2": {
+ "631010": "8f795c",
+ "c5195a": "dddaaf",
+ "101010": "101010",
+ "6b216b": "b37830",
+ "8c3a9c": "d7b444",
+ "9c1042": "bdaf8a",
+ "424a63": "5a93a5",
+ "ad297b": "b37830",
+ "3a3a4a": "466f90",
+ "846b19": "759cea",
+ "dead10": "a5d3ff",
+ "84084a": "965840"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/551.json b/public/images/pokemon/variant/back/551.json
new file mode 100644
index 00000000000..b173b167f9c
--- /dev/null
+++ b/public/images/pokemon/variant/back/551.json
@@ -0,0 +1,22 @@
+{
+ "1": {
+ "523a10": "27172f",
+ "c59c5a": "d8693a",
+ "101010": "101010",
+ "8c7331": "b83b28",
+ "42424a": "343958",
+ "212121": "262347",
+ "ce737b": "307681",
+ "ef94a5": "4cbda2"
+ },
+ "2": {
+ "523a10": "1c2231",
+ "c59c5a": "8688a0",
+ "101010": "101010",
+ "8c7331": "646781",
+ "42424a": "301f40",
+ "212121": "290c2a",
+ "ce737b": "91a1b7",
+ "ef94a5": "d6e2eb"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/552.json b/public/images/pokemon/variant/back/552.json
new file mode 100644
index 00000000000..3b0bed5f6b6
--- /dev/null
+++ b/public/images/pokemon/variant/back/552.json
@@ -0,0 +1,30 @@
+{
+ "1": {
+ "8c7331": "b83b28",
+ "debd84": "f29973",
+ "c59c5a": "d8693a",
+ "523a10": "261d35",
+ "191921": "232044",
+ "101010": "101010",
+ "292931": "343958",
+ "ffffff": "ebce81",
+ "c5c5c5": "b37941",
+ "ef94a5": "4cbda2",
+ "ce737b": "307681",
+ "5a5a6b": "7c4c1f"
+ },
+ "2": {
+ "8c7331": "484b64",
+ "debd84": "8688a0",
+ "c59c5a": "646781",
+ "523a10": "161b23",
+ "191921": "281842",
+ "101010": "101010",
+ "292931": "412853",
+ "ffffff": "90a0a7",
+ "c5c5c5": "5b6d75",
+ "ef94a5": "d6e2eb",
+ "ce737b": "91a1b7",
+ "5a5a6b": "27353d"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/553.json b/public/images/pokemon/variant/back/553.json
new file mode 100644
index 00000000000..63d29c62863
--- /dev/null
+++ b/public/images/pokemon/variant/back/553.json
@@ -0,0 +1,26 @@
+{
+ "1": {
+ "101010": "101010",
+ "8c3142": "143a4b",
+ "212129": "192540",
+ "c55252": "1b7871",
+ "e67b73": "40a592",
+ "522921": "0b2033",
+ "525263": "6b3b20",
+ "191921": "100f2b",
+ "b5b5b5": "c98e5c",
+ "ffffff": "ffefa7"
+ },
+ "2": {
+ "101010": "101010",
+ "8c3142": "8b93a5",
+ "212129": "58265a",
+ "c55252": "c5cbd0",
+ "e67b73": "e8e9eb",
+ "522921": "272f33",
+ "525263": "273136",
+ "191921": "3d1947",
+ "b5b5b5": "45545d",
+ "ffffff": "69777e"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/56.json b/public/images/pokemon/variant/back/56.json
new file mode 100644
index 00000000000..adede31e531
--- /dev/null
+++ b/public/images/pokemon/variant/back/56.json
@@ -0,0 +1,35 @@
+{
+ "0": {
+ "6b4a29": "385367",
+ "c5734a": "5c798f",
+ "734200": "476983",
+ "ffc584": "98b5cb",
+ "fff7ce": "c8bfe3",
+ "101010": "101010",
+ "d6ad9c": "867ba4",
+ "f7deb5": "ada2cd",
+ "dea573": "7b96ab"
+ },
+ "1": {
+ "6b4a29": "322c26",
+ "c5734a": "3a302e",
+ "734200": "302927",
+ "ffc584": "5b5757",
+ "fff7ce": "f9e9bd",
+ "101010": "101010",
+ "d6ad9c": "d2a357",
+ "f7deb5": "ddbf6b",
+ "dea573": "4c4442"
+ },
+ "2": {
+ "6b4a29": "463936",
+ "c5734a": "313930",
+ "734200": "212a20",
+ "ffc584": "678674",
+ "fff7ce": "ee5d26",
+ "101010": "101010",
+ "d6ad9c": "a72510",
+ "f7deb5": "cf361c",
+ "dea573": "5d6962"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/57.json b/public/images/pokemon/variant/back/57.json
new file mode 100644
index 00000000000..dcd82aa40da
--- /dev/null
+++ b/public/images/pokemon/variant/back/57.json
@@ -0,0 +1,41 @@
+{
+ "0": {
+ "634a21": "41306b",
+ "9c6b6b": "476983",
+ "000000": "000000",
+ "ffe6b5": "ada2cd",
+ "ffffd6": "c8bfe3",
+ "e6bd9c": "867ba4",
+ "5a3100": "233a4c",
+ "ce8c5a": "5c798f",
+ "e6b58c": "98b5cb",
+ "424242": "424242",
+ "7b7b7b": "7b7b7b"
+ },
+ "1": {
+ "634a21": "634a21",
+ "9c6b6b": "3a302e",
+ "000000": "000000",
+ "ffe6b5": "ddbf6b",
+ "ffffd6": "f9e9bd",
+ "e6bd9c": "d2a357",
+ "5a3100": "302927",
+ "ce8c5a": "4c4442",
+ "e6b58c": "5b5757",
+ "424242": "3e4f91",
+ "7b7b7b": "5472b6"
+ },
+ "2": {
+ "634a21": "802819",
+ "9c6b6b": "313930",
+ "000000": "000000",
+ "ffe6b5": "cf361c",
+ "ffffd6": "ee5d26",
+ "e6bd9c": "a72510",
+ "5a3100": "232b22",
+ "ce8c5a": "5d6962",
+ "e6b58c": "6c8275",
+ "424242": "989292",
+ "7b7b7b": "d0d0d0"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/6-gigantamax.json b/public/images/pokemon/variant/back/6-gigantamax.json
new file mode 100644
index 00000000000..2cb22a53810
--- /dev/null
+++ b/public/images/pokemon/variant/back/6-gigantamax.json
@@ -0,0 +1,18 @@
+{
+ "1": {
+ "ff4200": "5d4cde",
+ "f7a510": "42bcff",
+ "ffd610": "4ff7bc",
+ "843119": "552982",
+ "ef8429": "b77cb2",
+ "fcfcfc": "eafff4",
+ "ce5242": "9052af",
+ "101010": "101010",
+ "ffe877": "adffcc",
+ "efb55a": "d8a3e2",
+ "ff0000": "3d30cc",
+ "d6292c": "1b1bb5",
+ "d5cfae": "8effc8",
+ "a2362b": "50a8b7"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/6-gigantamax_3.json b/public/images/pokemon/variant/back/6-gigantamax_3.json
new file mode 100644
index 00000000000..b7446b2e506
--- /dev/null
+++ b/public/images/pokemon/variant/back/6-gigantamax_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "6-gigantamax_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 96,
+ "h": 96
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 96,
+ "h": 96
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 96,
+ "h": 91
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 96,
+ "h": 91
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:6ae53d4a4f54a7aa7712214d2969213d:3eb0d582b5ae407fa6a8776f24760fd2:ccdd809633adb361311bc5ccf1403764$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/6-gigantamax_3.png b/public/images/pokemon/variant/back/6-gigantamax_3.png
new file mode 100644
index 00000000000..e7927826cea
Binary files /dev/null and b/public/images/pokemon/variant/back/6-gigantamax_3.png differ
diff --git a/public/images/pokemon/variant/back/6-mega-x.json b/public/images/pokemon/variant/back/6-mega-x.json
new file mode 100644
index 00000000000..7e281e5d094
--- /dev/null
+++ b/public/images/pokemon/variant/back/6-mega-x.json
@@ -0,0 +1,15 @@
+{
+ "1": {
+ "1f1f1f": "08225e",
+ "080808": "080808",
+ "5a5a5a": "317396",
+ "383838": "163d82",
+ "009de1": "3da542",
+ "1e4167": "4c1f76",
+ "99d9f7": "e6ffcc",
+ "60a6c8": "82d179",
+ "00b1e6": "af66ff",
+ "2b629c": "7341a6",
+ "f8f8f8": "f8f8f8"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/6-mega-x_3.json b/public/images/pokemon/variant/back/6-mega-x_3.json
new file mode 100644
index 00000000000..a89145b8dfd
--- /dev/null
+++ b/public/images/pokemon/variant/back/6-mega-x_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "6-mega-x_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 94,
+ "h": 94
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 94,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 94,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 94,
+ "h": 81
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:ff922bea9ec944a2d14d6a0863e4a505:19adf500391dab730239aafe2bc504b7:32b3c4da50b10827622193937c163dd3$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/6-mega-x_3.png b/public/images/pokemon/variant/back/6-mega-x_3.png
new file mode 100644
index 00000000000..4ec1aca85b5
Binary files /dev/null and b/public/images/pokemon/variant/back/6-mega-x_3.png differ
diff --git a/public/images/pokemon/variant/back/6-mega-y.json b/public/images/pokemon/variant/back/6-mega-y.json
new file mode 100644
index 00000000000..1780f6949e1
--- /dev/null
+++ b/public/images/pokemon/variant/back/6-mega-y.json
@@ -0,0 +1,18 @@
+{
+ "1": {
+ "e64210": "5033ce",
+ "f7a510": "9e59db",
+ "833118": "552982",
+ "000000": "000000",
+ "ee8329": "b27cbc",
+ "ffd610": "e9bfff",
+ "cd5241": "8053b2",
+ "eeb45a": "d8a3e2",
+ "cdcdcd": "cdcdcd",
+ "eede7b": "fae5ff",
+ "f2f2f2": "f2f2f2",
+ "217394": "41a86e",
+ "ffffff": "ffffff",
+ "636363": "636363"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/6-mega-y_3.json b/public/images/pokemon/variant/back/6-mega-y_3.json
new file mode 100644
index 00000000000..fb290f0c3d1
--- /dev/null
+++ b/public/images/pokemon/variant/back/6-mega-y_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "6-mega-y_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 87,
+ "h": 87
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 87,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 87,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 87,
+ "h": 85
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:163b8110537b5d54f1fb192fcb1e082f:0621065258216153dde29696c3a3a978:c409677bb6775acab5f1bcff6530455e$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/6-mega-y_3.png b/public/images/pokemon/variant/back/6-mega-y_3.png
new file mode 100644
index 00000000000..7e00f6200c7
Binary files /dev/null and b/public/images/pokemon/variant/back/6-mega-y_3.png differ
diff --git a/public/images/pokemon/variant/back/641-incarnate.json b/public/images/pokemon/variant/back/641-incarnate.json
deleted file mode 100644
index 200c2bbd112..00000000000
--- a/public/images/pokemon/variant/back/641-incarnate.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "0": {
- "737373": "737373",
- "101010": "101010",
- "ffffff": "ffffff",
- "b5b5bd": "b5b5bd",
- "6b4229": "6b4229",
- "deb56b": "deb56b",
- "ad7b4a": "ad7b4a",
- "5a3173": "121212",
- "8442ad": "282828",
- "4a9c42": "5fd054",
- "294a31": "294a31",
- "42733a": "317c25",
- "422152": "000000"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/641-therian.json b/public/images/pokemon/variant/back/641-therian.json
deleted file mode 100644
index b4ecb861ac8..00000000000
--- a/public/images/pokemon/variant/back/641-therian.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "0": {
- "422152": "000000",
- "5a3a73": "121212",
- "8442ad": "282828",
- "101010": "101010",
- "ffffff": "ffffff",
- "b5b5bd": "b5b5bd",
- "737373": "737373",
- "294a31": "294a31",
- "42733a": "317c25",
- "4a9c42": "5fd054",
- "ad7b4a": "ad7b4a",
- "deb56b": "deb56b",
- "6b4229": "6b4229"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/642-incarnate.json b/public/images/pokemon/variant/back/642-incarnate.json
deleted file mode 100644
index 10125a512ee..00000000000
--- a/public/images/pokemon/variant/back/642-incarnate.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "0": {
- "737373": "737373",
- "b5b5bd": "878787",
- "ffffff": "ffffff",
- "101010": "101010",
- "31317b": "3a1111",
- "5a42ad": "992828",
- "102152": "521010",
- "5284a5": "952f2f",
- "63c5ff": "ff6363",
- "313131": "313131",
- "4a4a4a": "4a4a4a",
- "212121": "212121",
- "29426b": "6b2929"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/642-therian.json b/public/images/pokemon/variant/back/642-therian.json
deleted file mode 100644
index 181321289c6..00000000000
--- a/public/images/pokemon/variant/back/642-therian.json
+++ /dev/null
@@ -1,18 +0,0 @@
-{
- "0": {
- "737373": "6a0d0d",
- "ffffff": "ffffff",
- "101010": "101010",
- "192952": "521010",
- "5a4aad": "952f2f",
- "3a3a84": "3a1111",
- "b5b5bd": "a49696",
- "29426b": "6b2929",
- "63c5ff": "c83f3f",
- "5284a5": "7c0b0b",
- "ffc55a": "d69431",
- "d69431": "ffc55a",
- "313131": "313131",
- "212121": "212121"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/645-incarnate.json b/public/images/pokemon/variant/back/645-incarnate.json
deleted file mode 100644
index c3e0980c7eb..00000000000
--- a/public/images/pokemon/variant/back/645-incarnate.json
+++ /dev/null
@@ -1,17 +0,0 @@
-{
- "0": {
- "101010": "101010",
- "ffffff": "d0d0d0",
- "737373": "737373",
- "4a2919": "191919",
- "bd4a52": "380d5f",
- "943142": "0b0b0b",
- "b5b5bd": "999999",
- "84634a": "311e42",
- "634231": "2c143a",
- "6b213a": "838383",
- "a55a3a": "451c6a",
- "633110": "2c2c2c",
- "f77b42": "69418e"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/645-therian.json b/public/images/pokemon/variant/back/645-therian.json
deleted file mode 100644
index 7b38aaeb747..00000000000
--- a/public/images/pokemon/variant/back/645-therian.json
+++ /dev/null
@@ -1,19 +0,0 @@
-{
- "0": {
- "101010": "101010",
- "634231": "531975",
- "84634a": "311e42",
- "4a2919": "191919",
- "bd4a52": "380d5f",
- "737373": "737373",
- "b5b5bd": "999999",
- "ffffff": "d0d0d0",
- "73313a": "2c143a",
- "943142": "311e42",
- "633110": "2c2c2c",
- "a55a3a": "451c6a",
- "ad8c3a": "380d5f",
- "f77b42": "69418e",
- "ffce63": "9386ff"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/6713.json b/public/images/pokemon/variant/back/6713.json
new file mode 100644
index 00000000000..a0ba9eb72ad
--- /dev/null
+++ b/public/images/pokemon/variant/back/6713.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "737373": "7a993d",
+ "e8e8e8": "cfe68a",
+ "729ac2": "d97389",
+ "101010": "101010",
+ "bfbfbf": "9dcc3e",
+ "bff4ff": "ffbfda",
+ "6b5442": "732334",
+ "85d7f2": "f29eb3",
+ "fbffff": "ffebf2",
+ "f1b44b": "9dcc3e",
+ "553e33": "4c131f",
+ "927863": "994255",
+ "492d25": "101010",
+ "944620": "101010"
+ },
+ "2": {
+ "737373": "641531",
+ "e8e8e8": "bf576b",
+ "729ac2": "cc7b1e",
+ "101010": "101010",
+ "bfbfbf": "993554",
+ "bff4ff": "fcc95c",
+ "6b5442": "2c7a75",
+ "85d7f2": "e69e2b",
+ "fbffff": "fff2ad",
+ "f1b44b": "8dd9d4",
+ "553e33": "006761",
+ "927863": "5ba6a1",
+ "492d25": "00403d",
+ "944620": "cc7b1e"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/6_2.json b/public/images/pokemon/variant/back/6_2.json
new file mode 100644
index 00000000000..002ce375076
--- /dev/null
+++ b/public/images/pokemon/variant/back/6_2.json
@@ -0,0 +1,3044 @@
+{
+ "textures": [
+ {
+ "image": "6_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 627,
+ "h": 627
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 98,
+ "h": 77
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 98,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 98,
+ "h": 77
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 98,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 98,
+ "h": 77
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 98,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 98,
+ "h": 77
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 98,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 98,
+ "h": 77
+ },
+ "frame": {
+ "x": 0,
+ "y": 77,
+ "w": 98,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 98,
+ "h": 77
+ },
+ "frame": {
+ "x": 0,
+ "y": 77,
+ "w": 98,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 98,
+ "h": 77
+ },
+ "frame": {
+ "x": 98,
+ "y": 0,
+ "w": 98,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 98,
+ "h": 77
+ },
+ "frame": {
+ "x": 98,
+ "y": 0,
+ "w": 98,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 6,
+ "w": 94,
+ "h": 77
+ },
+ "frame": {
+ "x": 0,
+ "y": 154,
+ "w": 94,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 6,
+ "w": 94,
+ "h": 77
+ },
+ "frame": {
+ "x": 0,
+ "y": 154,
+ "w": 94,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 6,
+ "w": 93,
+ "h": 77
+ },
+ "frame": {
+ "x": 98,
+ "y": 77,
+ "w": 93,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 6,
+ "w": 93,
+ "h": 77
+ },
+ "frame": {
+ "x": 98,
+ "y": 77,
+ "w": 93,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 6,
+ "w": 93,
+ "h": 77
+ },
+ "frame": {
+ "x": 98,
+ "y": 77,
+ "w": 93,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 6,
+ "w": 93,
+ "h": 77
+ },
+ "frame": {
+ "x": 98,
+ "y": 77,
+ "w": 93,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 6,
+ "w": 93,
+ "h": 77
+ },
+ "frame": {
+ "x": 98,
+ "y": 77,
+ "w": 93,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 6,
+ "w": 93,
+ "h": 77
+ },
+ "frame": {
+ "x": 98,
+ "y": 77,
+ "w": 93,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 6,
+ "w": 93,
+ "h": 77
+ },
+ "frame": {
+ "x": 196,
+ "y": 0,
+ "w": 93,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 6,
+ "w": 93,
+ "h": 77
+ },
+ "frame": {
+ "x": 196,
+ "y": 0,
+ "w": 93,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 8,
+ "w": 94,
+ "h": 75
+ },
+ "frame": {
+ "x": 0,
+ "y": 231,
+ "w": 94,
+ "h": 75
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 8,
+ "w": 94,
+ "h": 75
+ },
+ "frame": {
+ "x": 0,
+ "y": 231,
+ "w": 94,
+ "h": 75
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 8,
+ "w": 94,
+ "h": 75
+ },
+ "frame": {
+ "x": 0,
+ "y": 231,
+ "w": 94,
+ "h": 75
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 8,
+ "w": 94,
+ "h": 75
+ },
+ "frame": {
+ "x": 0,
+ "y": 231,
+ "w": 94,
+ "h": 75
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 6,
+ "w": 92,
+ "h": 77
+ },
+ "frame": {
+ "x": 94,
+ "y": 154,
+ "w": 92,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 6,
+ "w": 92,
+ "h": 77
+ },
+ "frame": {
+ "x": 94,
+ "y": 154,
+ "w": 92,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 0,
+ "w": 85,
+ "h": 83
+ },
+ "frame": {
+ "x": 0,
+ "y": 306,
+ "w": 85,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 0,
+ "w": 85,
+ "h": 83
+ },
+ "frame": {
+ "x": 0,
+ "y": 306,
+ "w": 85,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0139.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 0,
+ "w": 85,
+ "h": 83
+ },
+ "frame": {
+ "x": 0,
+ "y": 389,
+ "w": 85,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0140.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 0,
+ "w": 85,
+ "h": 83
+ },
+ "frame": {
+ "x": 0,
+ "y": 389,
+ "w": 85,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 1,
+ "w": 85,
+ "h": 82
+ },
+ "frame": {
+ "x": 0,
+ "y": 472,
+ "w": 85,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 1,
+ "w": 85,
+ "h": 82
+ },
+ "frame": {
+ "x": 0,
+ "y": 472,
+ "w": 85,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 1,
+ "w": 85,
+ "h": 82
+ },
+ "frame": {
+ "x": 0,
+ "y": 472,
+ "w": 85,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 1,
+ "w": 85,
+ "h": 82
+ },
+ "frame": {
+ "x": 0,
+ "y": 472,
+ "w": 85,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 1,
+ "w": 85,
+ "h": 82
+ },
+ "frame": {
+ "x": 0,
+ "y": 472,
+ "w": 85,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 1,
+ "w": 85,
+ "h": 82
+ },
+ "frame": {
+ "x": 0,
+ "y": 472,
+ "w": 85,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 6,
+ "w": 88,
+ "h": 77
+ },
+ "frame": {
+ "x": 191,
+ "y": 77,
+ "w": 88,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 6,
+ "w": 88,
+ "h": 77
+ },
+ "frame": {
+ "x": 191,
+ "y": 77,
+ "w": 88,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 6,
+ "w": 87,
+ "h": 77
+ },
+ "frame": {
+ "x": 289,
+ "y": 0,
+ "w": 87,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 6,
+ "w": 87,
+ "h": 77
+ },
+ "frame": {
+ "x": 289,
+ "y": 0,
+ "w": 87,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 88,
+ "h": 75
+ },
+ "frame": {
+ "x": 94,
+ "y": 231,
+ "w": 88,
+ "h": 75
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 88,
+ "h": 75
+ },
+ "frame": {
+ "x": 94,
+ "y": 231,
+ "w": 88,
+ "h": 75
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 88,
+ "h": 75
+ },
+ "frame": {
+ "x": 94,
+ "y": 231,
+ "w": 88,
+ "h": 75
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 88,
+ "h": 75
+ },
+ "frame": {
+ "x": 94,
+ "y": 231,
+ "w": 88,
+ "h": 75
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 1,
+ "w": 85,
+ "h": 82
+ },
+ "frame": {
+ "x": 85,
+ "y": 306,
+ "w": 85,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 1,
+ "w": 85,
+ "h": 82
+ },
+ "frame": {
+ "x": 85,
+ "y": 306,
+ "w": 85,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0141.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 1,
+ "w": 85,
+ "h": 82
+ },
+ "frame": {
+ "x": 85,
+ "y": 388,
+ "w": 85,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0142.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 1,
+ "w": 85,
+ "h": 82
+ },
+ "frame": {
+ "x": 85,
+ "y": 388,
+ "w": 85,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 2,
+ "w": 85,
+ "h": 81
+ },
+ "frame": {
+ "x": 85,
+ "y": 470,
+ "w": 85,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 2,
+ "w": 85,
+ "h": 81
+ },
+ "frame": {
+ "x": 85,
+ "y": 470,
+ "w": 85,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 2,
+ "w": 85,
+ "h": 81
+ },
+ "frame": {
+ "x": 85,
+ "y": 470,
+ "w": 85,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 2,
+ "w": 85,
+ "h": 81
+ },
+ "frame": {
+ "x": 85,
+ "y": 470,
+ "w": 85,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0143.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 2,
+ "w": 85,
+ "h": 81
+ },
+ "frame": {
+ "x": 85,
+ "y": 470,
+ "w": 85,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0144.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 2,
+ "w": 85,
+ "h": 81
+ },
+ "frame": {
+ "x": 85,
+ "y": 470,
+ "w": 85,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 15,
+ "y": 7,
+ "w": 83,
+ "h": 76
+ },
+ "frame": {
+ "x": 85,
+ "y": 551,
+ "w": 83,
+ "h": 76
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 15,
+ "y": 7,
+ "w": 83,
+ "h": 76
+ },
+ "frame": {
+ "x": 85,
+ "y": 551,
+ "w": 83,
+ "h": 76
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 15,
+ "y": 7,
+ "w": 83,
+ "h": 76
+ },
+ "frame": {
+ "x": 85,
+ "y": 551,
+ "w": 83,
+ "h": 76
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 15,
+ "y": 7,
+ "w": 83,
+ "h": 76
+ },
+ "frame": {
+ "x": 85,
+ "y": 551,
+ "w": 83,
+ "h": 76
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 2,
+ "w": 85,
+ "h": 81
+ },
+ "frame": {
+ "x": 186,
+ "y": 154,
+ "w": 85,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 2,
+ "w": 85,
+ "h": 81
+ },
+ "frame": {
+ "x": 186,
+ "y": 154,
+ "w": 85,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 2,
+ "w": 85,
+ "h": 81
+ },
+ "frame": {
+ "x": 279,
+ "y": 77,
+ "w": 85,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 2,
+ "w": 85,
+ "h": 81
+ },
+ "frame": {
+ "x": 279,
+ "y": 77,
+ "w": 85,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 4,
+ "w": 85,
+ "h": 79
+ },
+ "frame": {
+ "x": 376,
+ "y": 0,
+ "w": 85,
+ "h": 79
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 4,
+ "w": 85,
+ "h": 79
+ },
+ "frame": {
+ "x": 376,
+ "y": 0,
+ "w": 85,
+ "h": 79
+ }
+ },
+ {
+ "filename": "0135.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 4,
+ "w": 85,
+ "h": 79
+ },
+ "frame": {
+ "x": 461,
+ "y": 0,
+ "w": 85,
+ "h": 79
+ }
+ },
+ {
+ "filename": "0136.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 4,
+ "w": 85,
+ "h": 79
+ },
+ "frame": {
+ "x": 461,
+ "y": 0,
+ "w": 85,
+ "h": 79
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 2,
+ "w": 80,
+ "h": 81
+ },
+ "frame": {
+ "x": 546,
+ "y": 0,
+ "w": 80,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 2,
+ "w": 80,
+ "h": 81
+ },
+ "frame": {
+ "x": 546,
+ "y": 0,
+ "w": 80,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 2,
+ "w": 80,
+ "h": 81
+ },
+ "frame": {
+ "x": 546,
+ "y": 0,
+ "w": 80,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 2,
+ "w": 80,
+ "h": 81
+ },
+ "frame": {
+ "x": 546,
+ "y": 0,
+ "w": 80,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 20,
+ "y": 7,
+ "w": 78,
+ "h": 76
+ },
+ "frame": {
+ "x": 168,
+ "y": 551,
+ "w": 78,
+ "h": 76
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 20,
+ "y": 7,
+ "w": 78,
+ "h": 76
+ },
+ "frame": {
+ "x": 168,
+ "y": 551,
+ "w": 78,
+ "h": 76
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 20,
+ "y": 7,
+ "w": 78,
+ "h": 76
+ },
+ "frame": {
+ "x": 168,
+ "y": 551,
+ "w": 78,
+ "h": 76
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 20,
+ "y": 7,
+ "w": 78,
+ "h": 76
+ },
+ "frame": {
+ "x": 168,
+ "y": 551,
+ "w": 78,
+ "h": 76
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 9,
+ "w": 87,
+ "h": 74
+ },
+ "frame": {
+ "x": 182,
+ "y": 235,
+ "w": 87,
+ "h": 74
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 9,
+ "w": 87,
+ "h": 74
+ },
+ "frame": {
+ "x": 182,
+ "y": 235,
+ "w": 87,
+ "h": 74
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 9,
+ "w": 87,
+ "h": 74
+ },
+ "frame": {
+ "x": 182,
+ "y": 235,
+ "w": 87,
+ "h": 74
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 9,
+ "w": 87,
+ "h": 74
+ },
+ "frame": {
+ "x": 182,
+ "y": 235,
+ "w": 87,
+ "h": 74
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 5,
+ "w": 85,
+ "h": 78
+ },
+ "frame": {
+ "x": 271,
+ "y": 158,
+ "w": 85,
+ "h": 78
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 5,
+ "w": 85,
+ "h": 78
+ },
+ "frame": {
+ "x": 271,
+ "y": 158,
+ "w": 85,
+ "h": 78
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 6,
+ "w": 85,
+ "h": 77
+ },
+ "frame": {
+ "x": 269,
+ "y": 236,
+ "w": 85,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 6,
+ "w": 85,
+ "h": 77
+ },
+ "frame": {
+ "x": 269,
+ "y": 236,
+ "w": 85,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0137.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 2,
+ "w": 85,
+ "h": 81
+ },
+ "frame": {
+ "x": 170,
+ "y": 309,
+ "w": 85,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0138.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 2,
+ "w": 85,
+ "h": 81
+ },
+ "frame": {
+ "x": 170,
+ "y": 309,
+ "w": 85,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 16,
+ "y": 2,
+ "w": 82,
+ "h": 81
+ },
+ "frame": {
+ "x": 170,
+ "y": 390,
+ "w": 82,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 16,
+ "y": 2,
+ "w": 82,
+ "h": 81
+ },
+ "frame": {
+ "x": 170,
+ "y": 390,
+ "w": 82,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 16,
+ "y": 2,
+ "w": 82,
+ "h": 81
+ },
+ "frame": {
+ "x": 170,
+ "y": 390,
+ "w": 82,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 16,
+ "y": 2,
+ "w": 82,
+ "h": 81
+ },
+ "frame": {
+ "x": 170,
+ "y": 390,
+ "w": 82,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 16,
+ "y": 3,
+ "w": 82,
+ "h": 80
+ },
+ "frame": {
+ "x": 170,
+ "y": 471,
+ "w": 82,
+ "h": 80
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 16,
+ "y": 3,
+ "w": 82,
+ "h": 80
+ },
+ "frame": {
+ "x": 170,
+ "y": 471,
+ "w": 82,
+ "h": 80
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 16,
+ "y": 3,
+ "w": 82,
+ "h": 80
+ },
+ "frame": {
+ "x": 170,
+ "y": 471,
+ "w": 82,
+ "h": 80
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 16,
+ "y": 3,
+ "w": 82,
+ "h": 80
+ },
+ "frame": {
+ "x": 170,
+ "y": 471,
+ "w": 82,
+ "h": 80
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 5,
+ "w": 85,
+ "h": 78
+ },
+ "frame": {
+ "x": 364,
+ "y": 79,
+ "w": 85,
+ "h": 78
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 5,
+ "w": 85,
+ "h": 78
+ },
+ "frame": {
+ "x": 364,
+ "y": 79,
+ "w": 85,
+ "h": 78
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 6,
+ "w": 84,
+ "h": 77
+ },
+ "frame": {
+ "x": 449,
+ "y": 79,
+ "w": 84,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 6,
+ "w": 84,
+ "h": 77
+ },
+ "frame": {
+ "x": 449,
+ "y": 79,
+ "w": 84,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 5,
+ "w": 83,
+ "h": 78
+ },
+ "frame": {
+ "x": 255,
+ "y": 313,
+ "w": 83,
+ "h": 78
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 5,
+ "w": 83,
+ "h": 78
+ },
+ "frame": {
+ "x": 255,
+ "y": 313,
+ "w": 83,
+ "h": 78
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 1,
+ "w": 80,
+ "h": 82
+ },
+ "frame": {
+ "x": 252,
+ "y": 391,
+ "w": 80,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 1,
+ "w": 80,
+ "h": 82
+ },
+ "frame": {
+ "x": 252,
+ "y": 391,
+ "w": 80,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 1,
+ "w": 80,
+ "h": 82
+ },
+ "frame": {
+ "x": 252,
+ "y": 391,
+ "w": 80,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 1,
+ "w": 80,
+ "h": 82
+ },
+ "frame": {
+ "x": 252,
+ "y": 391,
+ "w": 80,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 4,
+ "w": 80,
+ "h": 79
+ },
+ "frame": {
+ "x": 252,
+ "y": 473,
+ "w": 80,
+ "h": 79
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 4,
+ "w": 80,
+ "h": 79
+ },
+ "frame": {
+ "x": 252,
+ "y": 473,
+ "w": 80,
+ "h": 79
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 15,
+ "y": 8,
+ "w": 83,
+ "h": 75
+ },
+ "frame": {
+ "x": 246,
+ "y": 552,
+ "w": 83,
+ "h": 75
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 15,
+ "y": 8,
+ "w": 83,
+ "h": 75
+ },
+ "frame": {
+ "x": 246,
+ "y": 552,
+ "w": 83,
+ "h": 75
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 15,
+ "y": 8,
+ "w": 83,
+ "h": 75
+ },
+ "frame": {
+ "x": 246,
+ "y": 552,
+ "w": 83,
+ "h": 75
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 15,
+ "y": 8,
+ "w": 83,
+ "h": 75
+ },
+ "frame": {
+ "x": 246,
+ "y": 552,
+ "w": 83,
+ "h": 75
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 21,
+ "y": 8,
+ "w": 77,
+ "h": 75
+ },
+ "frame": {
+ "x": 329,
+ "y": 552,
+ "w": 77,
+ "h": 75
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 21,
+ "y": 8,
+ "w": 77,
+ "h": 75
+ },
+ "frame": {
+ "x": 329,
+ "y": 552,
+ "w": 77,
+ "h": 75
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 21,
+ "y": 8,
+ "w": 77,
+ "h": 75
+ },
+ "frame": {
+ "x": 329,
+ "y": 552,
+ "w": 77,
+ "h": 75
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 21,
+ "y": 8,
+ "w": 77,
+ "h": 75
+ },
+ "frame": {
+ "x": 329,
+ "y": 552,
+ "w": 77,
+ "h": 75
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 5,
+ "w": 83,
+ "h": 78
+ },
+ "frame": {
+ "x": 533,
+ "y": 81,
+ "w": 83,
+ "h": 78
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 5,
+ "w": 83,
+ "h": 78
+ },
+ "frame": {
+ "x": 533,
+ "y": 81,
+ "w": 83,
+ "h": 78
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 20,
+ "y": 4,
+ "w": 78,
+ "h": 79
+ },
+ "frame": {
+ "x": 338,
+ "y": 313,
+ "w": 78,
+ "h": 79
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 20,
+ "y": 4,
+ "w": 78,
+ "h": 79
+ },
+ "frame": {
+ "x": 338,
+ "y": 313,
+ "w": 78,
+ "h": 79
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 20,
+ "y": 4,
+ "w": 78,
+ "h": 79
+ },
+ "frame": {
+ "x": 338,
+ "y": 313,
+ "w": 78,
+ "h": 79
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 20,
+ "y": 4,
+ "w": 78,
+ "h": 79
+ },
+ "frame": {
+ "x": 338,
+ "y": 313,
+ "w": 78,
+ "h": 79
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 2,
+ "w": 78,
+ "h": 81
+ },
+ "frame": {
+ "x": 332,
+ "y": 392,
+ "w": 78,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 2,
+ "w": 78,
+ "h": 81
+ },
+ "frame": {
+ "x": 332,
+ "y": 392,
+ "w": 78,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 4,
+ "w": 80,
+ "h": 79
+ },
+ "frame": {
+ "x": 332,
+ "y": 473,
+ "w": 80,
+ "h": 79
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 4,
+ "w": 80,
+ "h": 79
+ },
+ "frame": {
+ "x": 332,
+ "y": 473,
+ "w": 80,
+ "h": 79
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 22,
+ "y": 6,
+ "w": 76,
+ "h": 77
+ },
+ "frame": {
+ "x": 354,
+ "y": 236,
+ "w": 76,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 22,
+ "y": 6,
+ "w": 76,
+ "h": 77
+ },
+ "frame": {
+ "x": 354,
+ "y": 236,
+ "w": 76,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 22,
+ "y": 6,
+ "w": 76,
+ "h": 77
+ },
+ "frame": {
+ "x": 354,
+ "y": 236,
+ "w": 76,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 22,
+ "y": 6,
+ "w": 76,
+ "h": 77
+ },
+ "frame": {
+ "x": 354,
+ "y": 236,
+ "w": 76,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 20,
+ "y": 5,
+ "w": 78,
+ "h": 78
+ },
+ "frame": {
+ "x": 356,
+ "y": 158,
+ "w": 78,
+ "h": 78
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 20,
+ "y": 5,
+ "w": 78,
+ "h": 78
+ },
+ "frame": {
+ "x": 356,
+ "y": 158,
+ "w": 78,
+ "h": 78
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 20,
+ "y": 5,
+ "w": 78,
+ "h": 78
+ },
+ "frame": {
+ "x": 356,
+ "y": 158,
+ "w": 78,
+ "h": 78
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 20,
+ "y": 5,
+ "w": 78,
+ "h": 78
+ },
+ "frame": {
+ "x": 356,
+ "y": 158,
+ "w": 78,
+ "h": 78
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 0,
+ "w": 75,
+ "h": 83
+ },
+ "frame": {
+ "x": 416,
+ "y": 313,
+ "w": 75,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 0,
+ "w": 75,
+ "h": 83
+ },
+ "frame": {
+ "x": 416,
+ "y": 313,
+ "w": 75,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 1,
+ "w": 75,
+ "h": 82
+ },
+ "frame": {
+ "x": 434,
+ "y": 157,
+ "w": 75,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 1,
+ "w": 75,
+ "h": 82
+ },
+ "frame": {
+ "x": 434,
+ "y": 157,
+ "w": 75,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 2,
+ "w": 78,
+ "h": 81
+ },
+ "frame": {
+ "x": 509,
+ "y": 159,
+ "w": 78,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 2,
+ "w": 78,
+ "h": 81
+ },
+ "frame": {
+ "x": 509,
+ "y": 159,
+ "w": 78,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 0,
+ "w": 75,
+ "h": 83
+ },
+ "frame": {
+ "x": 412,
+ "y": 396,
+ "w": 75,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 0,
+ "w": 75,
+ "h": 83
+ },
+ "frame": {
+ "x": 412,
+ "y": 396,
+ "w": 75,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 1,
+ "w": 75,
+ "h": 82
+ },
+ "frame": {
+ "x": 412,
+ "y": 479,
+ "w": 75,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 1,
+ "w": 75,
+ "h": 82
+ },
+ "frame": {
+ "x": 412,
+ "y": 479,
+ "w": 75,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 16,
+ "y": 1,
+ "w": 73,
+ "h": 82
+ },
+ "frame": {
+ "x": 487,
+ "y": 396,
+ "w": 73,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 16,
+ "y": 1,
+ "w": 73,
+ "h": 82
+ },
+ "frame": {
+ "x": 487,
+ "y": 396,
+ "w": 73,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 15,
+ "y": 2,
+ "w": 74,
+ "h": 81
+ },
+ "frame": {
+ "x": 487,
+ "y": 478,
+ "w": 74,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 15,
+ "y": 2,
+ "w": 74,
+ "h": 81
+ },
+ "frame": {
+ "x": 487,
+ "y": 478,
+ "w": 74,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 15,
+ "y": 2,
+ "w": 74,
+ "h": 81
+ },
+ "frame": {
+ "x": 491,
+ "y": 240,
+ "w": 74,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 15,
+ "y": 2,
+ "w": 74,
+ "h": 81
+ },
+ "frame": {
+ "x": 491,
+ "y": 240,
+ "w": 74,
+ "h": 81
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:f4ac895371f993b4cf9a881368f702b7:0f03bc254ae1d7dc777cba054ed1b6be:b30ae2c608d28a7c3d6ec02e78bcf668$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/6_2.png b/public/images/pokemon/variant/back/6_2.png
new file mode 100644
index 00000000000..c7d5a8140f9
Binary files /dev/null and b/public/images/pokemon/variant/back/6_2.png differ
diff --git a/public/images/pokemon/variant/back/6_3.json b/public/images/pokemon/variant/back/6_3.json
new file mode 100644
index 00000000000..f0c8fd264d8
--- /dev/null
+++ b/public/images/pokemon/variant/back/6_3.json
@@ -0,0 +1,3044 @@
+{
+ "textures": [
+ {
+ "image": "6_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 627,
+ "h": 627
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 98,
+ "h": 77
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 98,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 98,
+ "h": 77
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 98,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 98,
+ "h": 77
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 98,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 98,
+ "h": 77
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 98,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 98,
+ "h": 77
+ },
+ "frame": {
+ "x": 0,
+ "y": 77,
+ "w": 98,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 98,
+ "h": 77
+ },
+ "frame": {
+ "x": 0,
+ "y": 77,
+ "w": 98,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 98,
+ "h": 77
+ },
+ "frame": {
+ "x": 98,
+ "y": 0,
+ "w": 98,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 98,
+ "h": 77
+ },
+ "frame": {
+ "x": 98,
+ "y": 0,
+ "w": 98,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 6,
+ "w": 94,
+ "h": 77
+ },
+ "frame": {
+ "x": 0,
+ "y": 154,
+ "w": 94,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 6,
+ "w": 94,
+ "h": 77
+ },
+ "frame": {
+ "x": 0,
+ "y": 154,
+ "w": 94,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 6,
+ "w": 93,
+ "h": 77
+ },
+ "frame": {
+ "x": 98,
+ "y": 77,
+ "w": 93,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 6,
+ "w": 93,
+ "h": 77
+ },
+ "frame": {
+ "x": 98,
+ "y": 77,
+ "w": 93,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 6,
+ "w": 93,
+ "h": 77
+ },
+ "frame": {
+ "x": 98,
+ "y": 77,
+ "w": 93,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 6,
+ "w": 93,
+ "h": 77
+ },
+ "frame": {
+ "x": 98,
+ "y": 77,
+ "w": 93,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 6,
+ "w": 93,
+ "h": 77
+ },
+ "frame": {
+ "x": 98,
+ "y": 77,
+ "w": 93,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 6,
+ "w": 93,
+ "h": 77
+ },
+ "frame": {
+ "x": 98,
+ "y": 77,
+ "w": 93,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 6,
+ "w": 93,
+ "h": 77
+ },
+ "frame": {
+ "x": 196,
+ "y": 0,
+ "w": 93,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 6,
+ "w": 93,
+ "h": 77
+ },
+ "frame": {
+ "x": 196,
+ "y": 0,
+ "w": 93,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 8,
+ "w": 94,
+ "h": 75
+ },
+ "frame": {
+ "x": 0,
+ "y": 231,
+ "w": 94,
+ "h": 75
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 8,
+ "w": 94,
+ "h": 75
+ },
+ "frame": {
+ "x": 0,
+ "y": 231,
+ "w": 94,
+ "h": 75
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 8,
+ "w": 94,
+ "h": 75
+ },
+ "frame": {
+ "x": 0,
+ "y": 231,
+ "w": 94,
+ "h": 75
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 8,
+ "w": 94,
+ "h": 75
+ },
+ "frame": {
+ "x": 0,
+ "y": 231,
+ "w": 94,
+ "h": 75
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 6,
+ "w": 92,
+ "h": 77
+ },
+ "frame": {
+ "x": 94,
+ "y": 154,
+ "w": 92,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 6,
+ "w": 92,
+ "h": 77
+ },
+ "frame": {
+ "x": 94,
+ "y": 154,
+ "w": 92,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 0,
+ "w": 85,
+ "h": 83
+ },
+ "frame": {
+ "x": 0,
+ "y": 306,
+ "w": 85,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 0,
+ "w": 85,
+ "h": 83
+ },
+ "frame": {
+ "x": 0,
+ "y": 306,
+ "w": 85,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0139.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 0,
+ "w": 85,
+ "h": 83
+ },
+ "frame": {
+ "x": 0,
+ "y": 389,
+ "w": 85,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0140.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 0,
+ "w": 85,
+ "h": 83
+ },
+ "frame": {
+ "x": 0,
+ "y": 389,
+ "w": 85,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 1,
+ "w": 85,
+ "h": 82
+ },
+ "frame": {
+ "x": 0,
+ "y": 472,
+ "w": 85,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 1,
+ "w": 85,
+ "h": 82
+ },
+ "frame": {
+ "x": 0,
+ "y": 472,
+ "w": 85,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 1,
+ "w": 85,
+ "h": 82
+ },
+ "frame": {
+ "x": 0,
+ "y": 472,
+ "w": 85,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 1,
+ "w": 85,
+ "h": 82
+ },
+ "frame": {
+ "x": 0,
+ "y": 472,
+ "w": 85,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 1,
+ "w": 85,
+ "h": 82
+ },
+ "frame": {
+ "x": 0,
+ "y": 472,
+ "w": 85,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 1,
+ "w": 85,
+ "h": 82
+ },
+ "frame": {
+ "x": 0,
+ "y": 472,
+ "w": 85,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 6,
+ "w": 88,
+ "h": 77
+ },
+ "frame": {
+ "x": 191,
+ "y": 77,
+ "w": 88,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 6,
+ "w": 88,
+ "h": 77
+ },
+ "frame": {
+ "x": 191,
+ "y": 77,
+ "w": 88,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 6,
+ "w": 87,
+ "h": 77
+ },
+ "frame": {
+ "x": 289,
+ "y": 0,
+ "w": 87,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 6,
+ "w": 87,
+ "h": 77
+ },
+ "frame": {
+ "x": 289,
+ "y": 0,
+ "w": 87,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 88,
+ "h": 75
+ },
+ "frame": {
+ "x": 94,
+ "y": 231,
+ "w": 88,
+ "h": 75
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 88,
+ "h": 75
+ },
+ "frame": {
+ "x": 94,
+ "y": 231,
+ "w": 88,
+ "h": 75
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 88,
+ "h": 75
+ },
+ "frame": {
+ "x": 94,
+ "y": 231,
+ "w": 88,
+ "h": 75
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 88,
+ "h": 75
+ },
+ "frame": {
+ "x": 94,
+ "y": 231,
+ "w": 88,
+ "h": 75
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 1,
+ "w": 85,
+ "h": 82
+ },
+ "frame": {
+ "x": 85,
+ "y": 306,
+ "w": 85,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 1,
+ "w": 85,
+ "h": 82
+ },
+ "frame": {
+ "x": 85,
+ "y": 306,
+ "w": 85,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0141.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 1,
+ "w": 85,
+ "h": 82
+ },
+ "frame": {
+ "x": 85,
+ "y": 388,
+ "w": 85,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0142.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 1,
+ "w": 85,
+ "h": 82
+ },
+ "frame": {
+ "x": 85,
+ "y": 388,
+ "w": 85,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 2,
+ "w": 85,
+ "h": 81
+ },
+ "frame": {
+ "x": 85,
+ "y": 470,
+ "w": 85,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 2,
+ "w": 85,
+ "h": 81
+ },
+ "frame": {
+ "x": 85,
+ "y": 470,
+ "w": 85,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 2,
+ "w": 85,
+ "h": 81
+ },
+ "frame": {
+ "x": 85,
+ "y": 470,
+ "w": 85,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 2,
+ "w": 85,
+ "h": 81
+ },
+ "frame": {
+ "x": 85,
+ "y": 470,
+ "w": 85,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0143.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 2,
+ "w": 85,
+ "h": 81
+ },
+ "frame": {
+ "x": 85,
+ "y": 470,
+ "w": 85,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0144.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 2,
+ "w": 85,
+ "h": 81
+ },
+ "frame": {
+ "x": 85,
+ "y": 470,
+ "w": 85,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 15,
+ "y": 7,
+ "w": 83,
+ "h": 76
+ },
+ "frame": {
+ "x": 85,
+ "y": 551,
+ "w": 83,
+ "h": 76
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 15,
+ "y": 7,
+ "w": 83,
+ "h": 76
+ },
+ "frame": {
+ "x": 85,
+ "y": 551,
+ "w": 83,
+ "h": 76
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 15,
+ "y": 7,
+ "w": 83,
+ "h": 76
+ },
+ "frame": {
+ "x": 85,
+ "y": 551,
+ "w": 83,
+ "h": 76
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 15,
+ "y": 7,
+ "w": 83,
+ "h": 76
+ },
+ "frame": {
+ "x": 85,
+ "y": 551,
+ "w": 83,
+ "h": 76
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 2,
+ "w": 85,
+ "h": 81
+ },
+ "frame": {
+ "x": 186,
+ "y": 154,
+ "w": 85,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 2,
+ "w": 85,
+ "h": 81
+ },
+ "frame": {
+ "x": 186,
+ "y": 154,
+ "w": 85,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 2,
+ "w": 85,
+ "h": 81
+ },
+ "frame": {
+ "x": 279,
+ "y": 77,
+ "w": 85,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 2,
+ "w": 85,
+ "h": 81
+ },
+ "frame": {
+ "x": 279,
+ "y": 77,
+ "w": 85,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 4,
+ "w": 85,
+ "h": 79
+ },
+ "frame": {
+ "x": 376,
+ "y": 0,
+ "w": 85,
+ "h": 79
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 4,
+ "w": 85,
+ "h": 79
+ },
+ "frame": {
+ "x": 376,
+ "y": 0,
+ "w": 85,
+ "h": 79
+ }
+ },
+ {
+ "filename": "0135.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 4,
+ "w": 85,
+ "h": 79
+ },
+ "frame": {
+ "x": 461,
+ "y": 0,
+ "w": 85,
+ "h": 79
+ }
+ },
+ {
+ "filename": "0136.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 4,
+ "w": 85,
+ "h": 79
+ },
+ "frame": {
+ "x": 461,
+ "y": 0,
+ "w": 85,
+ "h": 79
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 2,
+ "w": 80,
+ "h": 81
+ },
+ "frame": {
+ "x": 546,
+ "y": 0,
+ "w": 80,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 2,
+ "w": 80,
+ "h": 81
+ },
+ "frame": {
+ "x": 546,
+ "y": 0,
+ "w": 80,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 2,
+ "w": 80,
+ "h": 81
+ },
+ "frame": {
+ "x": 546,
+ "y": 0,
+ "w": 80,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 2,
+ "w": 80,
+ "h": 81
+ },
+ "frame": {
+ "x": 546,
+ "y": 0,
+ "w": 80,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 20,
+ "y": 7,
+ "w": 78,
+ "h": 76
+ },
+ "frame": {
+ "x": 168,
+ "y": 551,
+ "w": 78,
+ "h": 76
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 20,
+ "y": 7,
+ "w": 78,
+ "h": 76
+ },
+ "frame": {
+ "x": 168,
+ "y": 551,
+ "w": 78,
+ "h": 76
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 20,
+ "y": 7,
+ "w": 78,
+ "h": 76
+ },
+ "frame": {
+ "x": 168,
+ "y": 551,
+ "w": 78,
+ "h": 76
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 20,
+ "y": 7,
+ "w": 78,
+ "h": 76
+ },
+ "frame": {
+ "x": 168,
+ "y": 551,
+ "w": 78,
+ "h": 76
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 9,
+ "w": 87,
+ "h": 74
+ },
+ "frame": {
+ "x": 182,
+ "y": 235,
+ "w": 87,
+ "h": 74
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 9,
+ "w": 87,
+ "h": 74
+ },
+ "frame": {
+ "x": 182,
+ "y": 235,
+ "w": 87,
+ "h": 74
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 9,
+ "w": 87,
+ "h": 74
+ },
+ "frame": {
+ "x": 182,
+ "y": 235,
+ "w": 87,
+ "h": 74
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 9,
+ "w": 87,
+ "h": 74
+ },
+ "frame": {
+ "x": 182,
+ "y": 235,
+ "w": 87,
+ "h": 74
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 5,
+ "w": 85,
+ "h": 78
+ },
+ "frame": {
+ "x": 271,
+ "y": 158,
+ "w": 85,
+ "h": 78
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 5,
+ "w": 85,
+ "h": 78
+ },
+ "frame": {
+ "x": 271,
+ "y": 158,
+ "w": 85,
+ "h": 78
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 6,
+ "w": 85,
+ "h": 77
+ },
+ "frame": {
+ "x": 269,
+ "y": 236,
+ "w": 85,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 6,
+ "w": 85,
+ "h": 77
+ },
+ "frame": {
+ "x": 269,
+ "y": 236,
+ "w": 85,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0137.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 2,
+ "w": 85,
+ "h": 81
+ },
+ "frame": {
+ "x": 170,
+ "y": 309,
+ "w": 85,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0138.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 2,
+ "w": 85,
+ "h": 81
+ },
+ "frame": {
+ "x": 170,
+ "y": 309,
+ "w": 85,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 16,
+ "y": 2,
+ "w": 82,
+ "h": 81
+ },
+ "frame": {
+ "x": 170,
+ "y": 390,
+ "w": 82,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 16,
+ "y": 2,
+ "w": 82,
+ "h": 81
+ },
+ "frame": {
+ "x": 170,
+ "y": 390,
+ "w": 82,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 16,
+ "y": 2,
+ "w": 82,
+ "h": 81
+ },
+ "frame": {
+ "x": 170,
+ "y": 390,
+ "w": 82,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 16,
+ "y": 2,
+ "w": 82,
+ "h": 81
+ },
+ "frame": {
+ "x": 170,
+ "y": 390,
+ "w": 82,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 16,
+ "y": 3,
+ "w": 82,
+ "h": 80
+ },
+ "frame": {
+ "x": 170,
+ "y": 471,
+ "w": 82,
+ "h": 80
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 16,
+ "y": 3,
+ "w": 82,
+ "h": 80
+ },
+ "frame": {
+ "x": 170,
+ "y": 471,
+ "w": 82,
+ "h": 80
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 16,
+ "y": 3,
+ "w": 82,
+ "h": 80
+ },
+ "frame": {
+ "x": 170,
+ "y": 471,
+ "w": 82,
+ "h": 80
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 16,
+ "y": 3,
+ "w": 82,
+ "h": 80
+ },
+ "frame": {
+ "x": 170,
+ "y": 471,
+ "w": 82,
+ "h": 80
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 5,
+ "w": 85,
+ "h": 78
+ },
+ "frame": {
+ "x": 364,
+ "y": 79,
+ "w": 85,
+ "h": 78
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 5,
+ "w": 85,
+ "h": 78
+ },
+ "frame": {
+ "x": 364,
+ "y": 79,
+ "w": 85,
+ "h": 78
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 6,
+ "w": 84,
+ "h": 77
+ },
+ "frame": {
+ "x": 449,
+ "y": 79,
+ "w": 84,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 6,
+ "w": 84,
+ "h": 77
+ },
+ "frame": {
+ "x": 449,
+ "y": 79,
+ "w": 84,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 5,
+ "w": 83,
+ "h": 78
+ },
+ "frame": {
+ "x": 255,
+ "y": 313,
+ "w": 83,
+ "h": 78
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 5,
+ "w": 83,
+ "h": 78
+ },
+ "frame": {
+ "x": 255,
+ "y": 313,
+ "w": 83,
+ "h": 78
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 1,
+ "w": 80,
+ "h": 82
+ },
+ "frame": {
+ "x": 252,
+ "y": 391,
+ "w": 80,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 1,
+ "w": 80,
+ "h": 82
+ },
+ "frame": {
+ "x": 252,
+ "y": 391,
+ "w": 80,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 1,
+ "w": 80,
+ "h": 82
+ },
+ "frame": {
+ "x": 252,
+ "y": 391,
+ "w": 80,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 1,
+ "w": 80,
+ "h": 82
+ },
+ "frame": {
+ "x": 252,
+ "y": 391,
+ "w": 80,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 4,
+ "w": 80,
+ "h": 79
+ },
+ "frame": {
+ "x": 252,
+ "y": 473,
+ "w": 80,
+ "h": 79
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 4,
+ "w": 80,
+ "h": 79
+ },
+ "frame": {
+ "x": 252,
+ "y": 473,
+ "w": 80,
+ "h": 79
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 15,
+ "y": 8,
+ "w": 83,
+ "h": 75
+ },
+ "frame": {
+ "x": 246,
+ "y": 552,
+ "w": 83,
+ "h": 75
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 15,
+ "y": 8,
+ "w": 83,
+ "h": 75
+ },
+ "frame": {
+ "x": 246,
+ "y": 552,
+ "w": 83,
+ "h": 75
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 15,
+ "y": 8,
+ "w": 83,
+ "h": 75
+ },
+ "frame": {
+ "x": 246,
+ "y": 552,
+ "w": 83,
+ "h": 75
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 15,
+ "y": 8,
+ "w": 83,
+ "h": 75
+ },
+ "frame": {
+ "x": 246,
+ "y": 552,
+ "w": 83,
+ "h": 75
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 21,
+ "y": 8,
+ "w": 77,
+ "h": 75
+ },
+ "frame": {
+ "x": 329,
+ "y": 552,
+ "w": 77,
+ "h": 75
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 21,
+ "y": 8,
+ "w": 77,
+ "h": 75
+ },
+ "frame": {
+ "x": 329,
+ "y": 552,
+ "w": 77,
+ "h": 75
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 21,
+ "y": 8,
+ "w": 77,
+ "h": 75
+ },
+ "frame": {
+ "x": 329,
+ "y": 552,
+ "w": 77,
+ "h": 75
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 21,
+ "y": 8,
+ "w": 77,
+ "h": 75
+ },
+ "frame": {
+ "x": 329,
+ "y": 552,
+ "w": 77,
+ "h": 75
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 5,
+ "w": 83,
+ "h": 78
+ },
+ "frame": {
+ "x": 533,
+ "y": 81,
+ "w": 83,
+ "h": 78
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 5,
+ "w": 83,
+ "h": 78
+ },
+ "frame": {
+ "x": 533,
+ "y": 81,
+ "w": 83,
+ "h": 78
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 20,
+ "y": 4,
+ "w": 78,
+ "h": 79
+ },
+ "frame": {
+ "x": 338,
+ "y": 313,
+ "w": 78,
+ "h": 79
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 20,
+ "y": 4,
+ "w": 78,
+ "h": 79
+ },
+ "frame": {
+ "x": 338,
+ "y": 313,
+ "w": 78,
+ "h": 79
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 20,
+ "y": 4,
+ "w": 78,
+ "h": 79
+ },
+ "frame": {
+ "x": 338,
+ "y": 313,
+ "w": 78,
+ "h": 79
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 20,
+ "y": 4,
+ "w": 78,
+ "h": 79
+ },
+ "frame": {
+ "x": 338,
+ "y": 313,
+ "w": 78,
+ "h": 79
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 2,
+ "w": 78,
+ "h": 81
+ },
+ "frame": {
+ "x": 332,
+ "y": 392,
+ "w": 78,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 2,
+ "w": 78,
+ "h": 81
+ },
+ "frame": {
+ "x": 332,
+ "y": 392,
+ "w": 78,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 4,
+ "w": 80,
+ "h": 79
+ },
+ "frame": {
+ "x": 332,
+ "y": 473,
+ "w": 80,
+ "h": 79
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 4,
+ "w": 80,
+ "h": 79
+ },
+ "frame": {
+ "x": 332,
+ "y": 473,
+ "w": 80,
+ "h": 79
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 22,
+ "y": 6,
+ "w": 76,
+ "h": 77
+ },
+ "frame": {
+ "x": 354,
+ "y": 236,
+ "w": 76,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 22,
+ "y": 6,
+ "w": 76,
+ "h": 77
+ },
+ "frame": {
+ "x": 354,
+ "y": 236,
+ "w": 76,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 22,
+ "y": 6,
+ "w": 76,
+ "h": 77
+ },
+ "frame": {
+ "x": 354,
+ "y": 236,
+ "w": 76,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 22,
+ "y": 6,
+ "w": 76,
+ "h": 77
+ },
+ "frame": {
+ "x": 354,
+ "y": 236,
+ "w": 76,
+ "h": 77
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 20,
+ "y": 5,
+ "w": 78,
+ "h": 78
+ },
+ "frame": {
+ "x": 356,
+ "y": 158,
+ "w": 78,
+ "h": 78
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 20,
+ "y": 5,
+ "w": 78,
+ "h": 78
+ },
+ "frame": {
+ "x": 356,
+ "y": 158,
+ "w": 78,
+ "h": 78
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 20,
+ "y": 5,
+ "w": 78,
+ "h": 78
+ },
+ "frame": {
+ "x": 356,
+ "y": 158,
+ "w": 78,
+ "h": 78
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 20,
+ "y": 5,
+ "w": 78,
+ "h": 78
+ },
+ "frame": {
+ "x": 356,
+ "y": 158,
+ "w": 78,
+ "h": 78
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 0,
+ "w": 75,
+ "h": 83
+ },
+ "frame": {
+ "x": 416,
+ "y": 313,
+ "w": 75,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 0,
+ "w": 75,
+ "h": 83
+ },
+ "frame": {
+ "x": 416,
+ "y": 313,
+ "w": 75,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 1,
+ "w": 75,
+ "h": 82
+ },
+ "frame": {
+ "x": 434,
+ "y": 157,
+ "w": 75,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 1,
+ "w": 75,
+ "h": 82
+ },
+ "frame": {
+ "x": 434,
+ "y": 157,
+ "w": 75,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 2,
+ "w": 78,
+ "h": 81
+ },
+ "frame": {
+ "x": 509,
+ "y": 159,
+ "w": 78,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 2,
+ "w": 78,
+ "h": 81
+ },
+ "frame": {
+ "x": 509,
+ "y": 159,
+ "w": 78,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 0,
+ "w": 75,
+ "h": 83
+ },
+ "frame": {
+ "x": 412,
+ "y": 396,
+ "w": 75,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 0,
+ "w": 75,
+ "h": 83
+ },
+ "frame": {
+ "x": 412,
+ "y": 396,
+ "w": 75,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 1,
+ "w": 75,
+ "h": 82
+ },
+ "frame": {
+ "x": 412,
+ "y": 479,
+ "w": 75,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 1,
+ "w": 75,
+ "h": 82
+ },
+ "frame": {
+ "x": 412,
+ "y": 479,
+ "w": 75,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 16,
+ "y": 1,
+ "w": 73,
+ "h": 82
+ },
+ "frame": {
+ "x": 487,
+ "y": 396,
+ "w": 73,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 16,
+ "y": 1,
+ "w": 73,
+ "h": 82
+ },
+ "frame": {
+ "x": 487,
+ "y": 396,
+ "w": 73,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 15,
+ "y": 2,
+ "w": 74,
+ "h": 81
+ },
+ "frame": {
+ "x": 487,
+ "y": 478,
+ "w": 74,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 15,
+ "y": 2,
+ "w": 74,
+ "h": 81
+ },
+ "frame": {
+ "x": 487,
+ "y": 478,
+ "w": 74,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 15,
+ "y": 2,
+ "w": 74,
+ "h": 81
+ },
+ "frame": {
+ "x": 491,
+ "y": 240,
+ "w": 74,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 98,
+ "h": 83
+ },
+ "spriteSourceSize": {
+ "x": 15,
+ "y": 2,
+ "w": 74,
+ "h": 81
+ },
+ "frame": {
+ "x": 491,
+ "y": 240,
+ "w": 74,
+ "h": 81
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:f4ac895371f993b4cf9a881368f702b7:0f03bc254ae1d7dc777cba054ed1b6be:b30ae2c608d28a7c3d6ec02e78bcf668$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/6_3.png b/public/images/pokemon/variant/back/6_3.png
new file mode 100644
index 00000000000..f2a14a5feb9
Binary files /dev/null and b/public/images/pokemon/variant/back/6_3.png differ
diff --git a/public/images/pokemon/variant/back/712.json b/public/images/pokemon/variant/back/712.json
new file mode 100644
index 00000000000..59ad2436866
--- /dev/null
+++ b/public/images/pokemon/variant/back/712.json
@@ -0,0 +1,24 @@
+{
+ "1": {
+ "719aa9": "d97389",
+ "58647b": "bf566d",
+ "b3eaf8": "ffbfda",
+ "a5c4d2": "f29eb3",
+ "e8f5fe": "ffebf2",
+ "101010": "101010",
+ "bfbfbf": "bfbfbf",
+ "737373": "737373",
+ "f8f8f8": "f8f8f8"
+ },
+ "2": {
+ "719aa9": "cc7b1e",
+ "58647b": "a8632a",
+ "b3eaf8": "fcc95c",
+ "a5c4d2": "e69e2b",
+ "e8f5fe": "fff2ad",
+ "101010": "101010",
+ "bfbfbf": "6cb3ae",
+ "737373": "2c7a75",
+ "f8f8f8": "b9f2ee"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/713.json b/public/images/pokemon/variant/back/713.json
new file mode 100644
index 00000000000..61977f60470
--- /dev/null
+++ b/public/images/pokemon/variant/back/713.json
@@ -0,0 +1,22 @@
+{
+ "1": {
+ "608cba": "bf566d",
+ "967acc": "732334",
+ "85d7f2": "f29eb3",
+ "bff4ff": "ffbfda",
+ "335980": "994255",
+ "f2ffff": "ffebf2",
+ "77b8d9": "d97389",
+ "101010": "101010"
+ },
+ "2": {
+ "608cba": "a8632a",
+ "967acc": "2c7a75",
+ "85d7f2": "e69e2b",
+ "bff4ff": "fcc95c",
+ "335980": "824628",
+ "f2ffff": "fff2ad",
+ "77b8d9": "cc7b1e",
+ "101010": "101010"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/734.json b/public/images/pokemon/variant/back/734.json
new file mode 100644
index 00000000000..0a47457f284
--- /dev/null
+++ b/public/images/pokemon/variant/back/734.json
@@ -0,0 +1,22 @@
+{
+ "1": {
+ "946827": "523a44",
+ "753933": "03192d",
+ "f8e478": "c1aaaa",
+ "ba836d": "35576b",
+ "db9f4f": "907e82",
+ "9c5b50": "2a3f52",
+ "080808": "080808",
+ "413d38": "523716"
+ },
+ "2": {
+ "946827": "241b1b",
+ "753933": "26201f",
+ "f8e478": "4d4242",
+ "ba836d": "a69c98",
+ "db9f4f": "362e2e",
+ "9c5b50": "786a66",
+ "080808": "080808",
+ "413d38": "464a4d"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/735.json b/public/images/pokemon/variant/back/735.json
new file mode 100644
index 00000000000..ed9354a9ee8
--- /dev/null
+++ b/public/images/pokemon/variant/back/735.json
@@ -0,0 +1,24 @@
+{
+ "1": {
+ "84521a": "462f39",
+ "ecd96c": "b99d95",
+ "b6973a": "7a6a6d",
+ "101010": "101010",
+ "af754e": "354c6b",
+ "8d473d": "2a3252",
+ "602c24": "03102d",
+ "2d2b28": "5a3215",
+ "ea6f91": "c1715c"
+ },
+ "2": {
+ "84521a": "241b1b",
+ "ecd96c": "4d4242",
+ "b6973a": "362e2e",
+ "101010": "101010",
+ "af754e": "ada5a4",
+ "8d473d": "90827e",
+ "602c24": "524b4b",
+ "2d2b28": "423d3d",
+ "ea6f91": "846a68"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/742_2.json b/public/images/pokemon/variant/back/742_2.json
new file mode 100644
index 00000000000..50aba95aa27
--- /dev/null
+++ b/public/images/pokemon/variant/back/742_2.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "742_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 40,
+ "h": 40
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 40,
+ "h": 40
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 40,
+ "h": 40
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 40,
+ "h": 40
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:495235adc3d7417dacc32dc6f55389b1:e5d14f40f2d73273367504f97e55d77d:c5fe5d6bbd2066d37202b0b755129ba5$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/742_2.png b/public/images/pokemon/variant/back/742_2.png
new file mode 100644
index 00000000000..955cd3514ae
Binary files /dev/null and b/public/images/pokemon/variant/back/742_2.png differ
diff --git a/public/images/pokemon/variant/back/742_3.json b/public/images/pokemon/variant/back/742_3.json
new file mode 100644
index 00000000000..bc8f8a0d62d
--- /dev/null
+++ b/public/images/pokemon/variant/back/742_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "742_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 40,
+ "h": 40
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 40,
+ "h": 40
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 40,
+ "h": 40
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 40,
+ "h": 40
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:495235adc3d7417dacc32dc6f55389b1:e5d14f40f2d73273367504f97e55d77d:c5fe5d6bbd2066d37202b0b755129ba5$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/742_3.png b/public/images/pokemon/variant/back/742_3.png
new file mode 100644
index 00000000000..a42604a6b56
Binary files /dev/null and b/public/images/pokemon/variant/back/742_3.png differ
diff --git a/public/images/pokemon/variant/back/743_2.json b/public/images/pokemon/variant/back/743_2.json
new file mode 100644
index 00000000000..e553f0a292d
--- /dev/null
+++ b/public/images/pokemon/variant/back/743_2.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "743_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 51,
+ "h": 51
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 45,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 45,
+ "h": 51
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 45,
+ "h": 51
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:ed9d44c004bd046ca1abc60e79c17142:55a2deff4b3a2b6477cd2f3109ce76be:c8a06588e3ef3c7c5201d3917470f092$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/743_2.png b/public/images/pokemon/variant/back/743_2.png
new file mode 100644
index 00000000000..983addac875
Binary files /dev/null and b/public/images/pokemon/variant/back/743_2.png differ
diff --git a/public/images/pokemon/variant/back/743_3.json b/public/images/pokemon/variant/back/743_3.json
new file mode 100644
index 00000000000..fb3dd448fd2
--- /dev/null
+++ b/public/images/pokemon/variant/back/743_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "743_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 51,
+ "h": 51
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 45,
+ "h": 51
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 45,
+ "h": 51
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 45,
+ "h": 51
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:ed9d44c004bd046ca1abc60e79c17142:55a2deff4b3a2b6477cd2f3109ce76be:c8a06588e3ef3c7c5201d3917470f092$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/743_3.png b/public/images/pokemon/variant/back/743_3.png
new file mode 100644
index 00000000000..b892f735a5b
Binary files /dev/null and b/public/images/pokemon/variant/back/743_3.png differ
diff --git a/public/images/pokemon/variant/back/751.json b/public/images/pokemon/variant/back/751.json
new file mode 100644
index 00000000000..40dc82691e9
--- /dev/null
+++ b/public/images/pokemon/variant/back/751.json
@@ -0,0 +1,32 @@
+{
+ "1": {
+ "8895ac": "ae504b",
+ "e8e8ea": "ffc8d1",
+ "69670e": "3a112f",
+ "fcfcfc": "fcfcfc",
+ "878330": "431632",
+ "9bad34": "4e1f42",
+ "cedf42": "673252",
+ "3c4459": "4c152c",
+ "79c4d4": "f3bd8a",
+ "aed7ee": "fcfcfc",
+ "516a7b": "812b3e",
+ "5e9cbd": "cc7854",
+ "101010": "101010"
+ },
+ "2": {
+ "8895ac": "ea9b43",
+ "e8e8ea": "f1dcc2",
+ "69670e": "263756",
+ "fcfcfc": "fcfcfc",
+ "878330": "37619a",
+ "9bad34": "4980ac",
+ "cedf42": "72add9",
+ "3c4459": "73312f",
+ "79c4d4": "3b5373",
+ "aed7ee": "aed7ee",
+ "516a7b": "ba5c2c",
+ "5e9cbd": "253155",
+ "101010": "101010"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/752.json b/public/images/pokemon/variant/back/752.json
new file mode 100644
index 00000000000..19976c0f3ec
--- /dev/null
+++ b/public/images/pokemon/variant/back/752.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "426b84": "7c3b51",
+ "b7d7e6": "ffc8d1",
+ "81afc9": "d187a0",
+ "fdfdfd": "fdfdfd",
+ "101010": "101010",
+ "69670e": "3a112f",
+ "9bad34": "4e1f42",
+ "cedf42": "673252",
+ "30455a": "4c152c",
+ "4d6d87": "ae504b",
+ "3b546c": "812b3e",
+ "675a4d": "395677",
+ "8b7969": "5ea3b8",
+ "87c9d8": "f3bd8a"
+ },
+ "2": {
+ "426b84": "55506a",
+ "b7d7e6": "dce7ee",
+ "81afc9": "a7a2bc",
+ "fdfdfd": "fdfdfd",
+ "101010": "101010",
+ "69670e": "263756",
+ "9bad34": "4980ac",
+ "cedf42": "72add9",
+ "30455a": "834723",
+ "4d6d87": "f5cf52",
+ "3b546c": "d49435",
+ "675a4d": "75291a",
+ "8b7969": "bc521d",
+ "87c9d8": "3b5373"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/772.json b/public/images/pokemon/variant/back/772.json
new file mode 100644
index 00000000000..d367e8f88f7
--- /dev/null
+++ b/public/images/pokemon/variant/back/772.json
@@ -0,0 +1,44 @@
+{
+ "1": {
+ "454f55": "232843",
+ "92a6a9": "889db1",
+ "080808": "080808",
+ "6b777e": "526085",
+ "642515": "7e4f36",
+ "c55e3a": "eed8a1",
+ "934031": "c8976c",
+ "c0cecf": "bdc4e5",
+ "1a9d23": "2a5f7e",
+ "1d1845": "2e191f",
+ "0073bf": "7a4949",
+ "565969": "35394c",
+ "a0b6b8": "b59489",
+ "483c39": "3a2d53",
+ "79615e": "504a75",
+ "251845": "753c32",
+ "9618e0": "dc9c4d",
+ "1e9378": "f8ce64",
+ "125d4b": "ce7f3f"
+ },
+ "2": {
+ "454f55": "18182a",
+ "92a6a9": "65657c",
+ "080808": "080808",
+ "6b777e": "3b3b51",
+ "642515": "444961",
+ "c55e3a": "c1cfd8",
+ "934031": "7f94b1",
+ "c0cecf": "dbd8e8",
+ "1a9d23": "4f2e61",
+ "1d1845": "41434e",
+ "0073bf": "6a6c75",
+ "565969": "35394c",
+ "a0b6b8": "92949e",
+ "483c39": "778894",
+ "79615e": "d6d4d4",
+ "251845": "425735",
+ "9618e0": "ade265",
+ "1e9378": "444455",
+ "125d4b": "242433"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/773-bug_2.json b/public/images/pokemon/variant/back/773-bug_2.json
new file mode 100644
index 00000000000..d1259b111de
--- /dev/null
+++ b/public/images/pokemon/variant/back/773-bug_2.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-bug_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 85,
+ "h": 85
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 63,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:f7f9ddb017581440eb23f718cdf48bd9:28b14a74d4787e677a4b6e1cca53c65b:1786a671c3b9676c87853a0a70567554$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/773-bug_2.png b/public/images/pokemon/variant/back/773-bug_2.png
new file mode 100644
index 00000000000..c75d821a154
Binary files /dev/null and b/public/images/pokemon/variant/back/773-bug_2.png differ
diff --git a/public/images/pokemon/variant/back/773-bug_3.json b/public/images/pokemon/variant/back/773-bug_3.json
new file mode 100644
index 00000000000..f0af4a121c2
--- /dev/null
+++ b/public/images/pokemon/variant/back/773-bug_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-bug_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 85,
+ "h": 85
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 63,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:f7f9ddb017581440eb23f718cdf48bd9:28b14a74d4787e677a4b6e1cca53c65b:1786a671c3b9676c87853a0a70567554$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/773-bug_3.png b/public/images/pokemon/variant/back/773-bug_3.png
new file mode 100644
index 00000000000..c4eb8aa2833
Binary files /dev/null and b/public/images/pokemon/variant/back/773-bug_3.png differ
diff --git a/public/images/pokemon/variant/back/773-dark_2.json b/public/images/pokemon/variant/back/773-dark_2.json
new file mode 100644
index 00000000000..f946dcc7877
--- /dev/null
+++ b/public/images/pokemon/variant/back/773-dark_2.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-dark_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 85,
+ "h": 85
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 63,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:480a35a9101a568a9ed88e3bfcee7da4:da04c38a9bdeb5a00d2cf2c074f9df0e:267125b3b5f5d18142ae5fffbef27592$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/773-dark_2.png b/public/images/pokemon/variant/back/773-dark_2.png
new file mode 100644
index 00000000000..6bf24788182
Binary files /dev/null and b/public/images/pokemon/variant/back/773-dark_2.png differ
diff --git a/public/images/pokemon/variant/back/773-dark_3.json b/public/images/pokemon/variant/back/773-dark_3.json
new file mode 100644
index 00000000000..4dc448fe3da
--- /dev/null
+++ b/public/images/pokemon/variant/back/773-dark_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-dark_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 85,
+ "h": 85
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 63,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:480a35a9101a568a9ed88e3bfcee7da4:da04c38a9bdeb5a00d2cf2c074f9df0e:267125b3b5f5d18142ae5fffbef27592$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/773-dark_3.png b/public/images/pokemon/variant/back/773-dark_3.png
new file mode 100644
index 00000000000..5c4918d277b
Binary files /dev/null and b/public/images/pokemon/variant/back/773-dark_3.png differ
diff --git a/public/images/pokemon/variant/back/773-dragon_2.json b/public/images/pokemon/variant/back/773-dragon_2.json
new file mode 100644
index 00000000000..5e4734096be
--- /dev/null
+++ b/public/images/pokemon/variant/back/773-dragon_2.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-dragon_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 85,
+ "h": 85
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 63,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:6cfc6e922b9668b26bc32845b0989af1:78fd49f8ede01a8e4d67f82656dbdcd6:59453f2ad0e681735b3b15ab728caa7c$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/773-dragon_2.png b/public/images/pokemon/variant/back/773-dragon_2.png
new file mode 100644
index 00000000000..b95aad50cc7
Binary files /dev/null and b/public/images/pokemon/variant/back/773-dragon_2.png differ
diff --git a/public/images/pokemon/variant/back/773-dragon_3.json b/public/images/pokemon/variant/back/773-dragon_3.json
new file mode 100644
index 00000000000..88cefccc59a
--- /dev/null
+++ b/public/images/pokemon/variant/back/773-dragon_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-dragon_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 85,
+ "h": 85
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 63,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:6cfc6e922b9668b26bc32845b0989af1:78fd49f8ede01a8e4d67f82656dbdcd6:59453f2ad0e681735b3b15ab728caa7c$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/773-dragon_3.png b/public/images/pokemon/variant/back/773-dragon_3.png
new file mode 100644
index 00000000000..3e7a5ff249a
Binary files /dev/null and b/public/images/pokemon/variant/back/773-dragon_3.png differ
diff --git a/public/images/pokemon/variant/back/773-electric_2.json b/public/images/pokemon/variant/back/773-electric_2.json
new file mode 100644
index 00000000000..e15d66ee895
--- /dev/null
+++ b/public/images/pokemon/variant/back/773-electric_2.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-electric_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 85,
+ "h": 85
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 63,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:c439955af04bedc326c7d3be6c26988a:5ff7fe75002e55911c7611487d217375:e9f7f627b4aa057d8a352e938221d903$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/773-electric_2.png b/public/images/pokemon/variant/back/773-electric_2.png
new file mode 100644
index 00000000000..68d076df7b0
Binary files /dev/null and b/public/images/pokemon/variant/back/773-electric_2.png differ
diff --git a/public/images/pokemon/variant/back/773-electric_3.json b/public/images/pokemon/variant/back/773-electric_3.json
new file mode 100644
index 00000000000..3f72ec91021
--- /dev/null
+++ b/public/images/pokemon/variant/back/773-electric_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-electric_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 85,
+ "h": 85
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 63,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:c439955af04bedc326c7d3be6c26988a:5ff7fe75002e55911c7611487d217375:e9f7f627b4aa057d8a352e938221d903$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/773-electric_3.png b/public/images/pokemon/variant/back/773-electric_3.png
new file mode 100644
index 00000000000..fb096f261a2
Binary files /dev/null and b/public/images/pokemon/variant/back/773-electric_3.png differ
diff --git a/public/images/pokemon/variant/back/773-fairy_2.json b/public/images/pokemon/variant/back/773-fairy_2.json
new file mode 100644
index 00000000000..98b375c5f45
--- /dev/null
+++ b/public/images/pokemon/variant/back/773-fairy_2.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-fairy_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 85,
+ "h": 85
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 63,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:d6f47b3bab34009ef5dc5f4ea6b381bb:d04fa9480f8f14f1de8fa1b72067b54e:50e5ca45ea677d44a2fea72d4ec14fc2$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/773-fairy_2.png b/public/images/pokemon/variant/back/773-fairy_2.png
new file mode 100644
index 00000000000..fe209811598
Binary files /dev/null and b/public/images/pokemon/variant/back/773-fairy_2.png differ
diff --git a/public/images/pokemon/variant/back/773-fairy_3.json b/public/images/pokemon/variant/back/773-fairy_3.json
new file mode 100644
index 00000000000..5f1f542f447
--- /dev/null
+++ b/public/images/pokemon/variant/back/773-fairy_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-fairy_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 85,
+ "h": 85
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 63,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:d6f47b3bab34009ef5dc5f4ea6b381bb:d04fa9480f8f14f1de8fa1b72067b54e:50e5ca45ea677d44a2fea72d4ec14fc2$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/773-fairy_3.png b/public/images/pokemon/variant/back/773-fairy_3.png
new file mode 100644
index 00000000000..e4dd02063be
Binary files /dev/null and b/public/images/pokemon/variant/back/773-fairy_3.png differ
diff --git a/public/images/pokemon/variant/back/773-fighting_2.json b/public/images/pokemon/variant/back/773-fighting_2.json
new file mode 100644
index 00000000000..fb36788f6c8
--- /dev/null
+++ b/public/images/pokemon/variant/back/773-fighting_2.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-fighting_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 85,
+ "h": 85
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 63,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:6d1e675b193a41d267b024051c64bdaa:38a0b08046054adb42784f0dc0660893:70f70b07c9d5b3013cbd3b3f25c7f7fa$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/773-fighting_2.png b/public/images/pokemon/variant/back/773-fighting_2.png
new file mode 100644
index 00000000000..909e1364cd1
Binary files /dev/null and b/public/images/pokemon/variant/back/773-fighting_2.png differ
diff --git a/public/images/pokemon/variant/back/773-fighting_3.json b/public/images/pokemon/variant/back/773-fighting_3.json
new file mode 100644
index 00000000000..6ad0f058f77
--- /dev/null
+++ b/public/images/pokemon/variant/back/773-fighting_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-fighting_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 85,
+ "h": 85
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 63,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:6d1e675b193a41d267b024051c64bdaa:38a0b08046054adb42784f0dc0660893:70f70b07c9d5b3013cbd3b3f25c7f7fa$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/773-fighting_3.png b/public/images/pokemon/variant/back/773-fighting_3.png
new file mode 100644
index 00000000000..b6218cfa969
Binary files /dev/null and b/public/images/pokemon/variant/back/773-fighting_3.png differ
diff --git a/public/images/pokemon/variant/back/773-fire_2.json b/public/images/pokemon/variant/back/773-fire_2.json
new file mode 100644
index 00000000000..4b35b1549a4
--- /dev/null
+++ b/public/images/pokemon/variant/back/773-fire_2.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-fire_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 85,
+ "h": 85
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 63,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:6e80b11b982f722e388545ccee4f8968:646af571a7a39f56e61262c2a0624953:690c285b19cb1e8f7b7aa9dfafbe36b2$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/773-fire_2.png b/public/images/pokemon/variant/back/773-fire_2.png
new file mode 100644
index 00000000000..b97fa38321b
Binary files /dev/null and b/public/images/pokemon/variant/back/773-fire_2.png differ
diff --git a/public/images/pokemon/variant/back/773-fire_3.json b/public/images/pokemon/variant/back/773-fire_3.json
new file mode 100644
index 00000000000..ee8c62ade3f
--- /dev/null
+++ b/public/images/pokemon/variant/back/773-fire_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-fire_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 85,
+ "h": 85
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 63,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:6e80b11b982f722e388545ccee4f8968:646af571a7a39f56e61262c2a0624953:690c285b19cb1e8f7b7aa9dfafbe36b2$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/773-fire_3.png b/public/images/pokemon/variant/back/773-fire_3.png
new file mode 100644
index 00000000000..f30a14d9d09
Binary files /dev/null and b/public/images/pokemon/variant/back/773-fire_3.png differ
diff --git a/public/images/pokemon/variant/back/773-flying_2.json b/public/images/pokemon/variant/back/773-flying_2.json
new file mode 100644
index 00000000000..4defa0bcd9b
--- /dev/null
+++ b/public/images/pokemon/variant/back/773-flying_2.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-flying_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 85,
+ "h": 85
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 63,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:6df6a83b02e02bdf559b519ab64315f1:eb39e07af66501d77f50784797319c52:fd9cc965ca8a0f017385425d924045d6$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/773-flying_2.png b/public/images/pokemon/variant/back/773-flying_2.png
new file mode 100644
index 00000000000..7767c172826
Binary files /dev/null and b/public/images/pokemon/variant/back/773-flying_2.png differ
diff --git a/public/images/pokemon/variant/back/773-flying_3.json b/public/images/pokemon/variant/back/773-flying_3.json
new file mode 100644
index 00000000000..859009c1bbd
--- /dev/null
+++ b/public/images/pokemon/variant/back/773-flying_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-flying_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 85,
+ "h": 85
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 63,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:6df6a83b02e02bdf559b519ab64315f1:eb39e07af66501d77f50784797319c52:fd9cc965ca8a0f017385425d924045d6$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/773-flying_3.png b/public/images/pokemon/variant/back/773-flying_3.png
new file mode 100644
index 00000000000..dfa5b8bb81c
Binary files /dev/null and b/public/images/pokemon/variant/back/773-flying_3.png differ
diff --git a/public/images/pokemon/variant/back/773-ghost_2.json b/public/images/pokemon/variant/back/773-ghost_2.json
new file mode 100644
index 00000000000..6f1b9f5dae5
--- /dev/null
+++ b/public/images/pokemon/variant/back/773-ghost_2.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-ghost_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 85,
+ "h": 85
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 63,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:ae82863a2f5d819a20ff6bde3925330b:e48ac8252ba2c97208f37a50158dcf1b:dff8d338685b93339ecf30f1d807fbe6$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/773-ghost_2.png b/public/images/pokemon/variant/back/773-ghost_2.png
new file mode 100644
index 00000000000..d75d265ff87
Binary files /dev/null and b/public/images/pokemon/variant/back/773-ghost_2.png differ
diff --git a/public/images/pokemon/variant/back/773-ghost_3.json b/public/images/pokemon/variant/back/773-ghost_3.json
new file mode 100644
index 00000000000..3e04e334b43
--- /dev/null
+++ b/public/images/pokemon/variant/back/773-ghost_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-ghost_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 85,
+ "h": 85
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 63,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:ae82863a2f5d819a20ff6bde3925330b:e48ac8252ba2c97208f37a50158dcf1b:dff8d338685b93339ecf30f1d807fbe6$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/773-ghost_3.png b/public/images/pokemon/variant/back/773-ghost_3.png
new file mode 100644
index 00000000000..991b2b2a18e
Binary files /dev/null and b/public/images/pokemon/variant/back/773-ghost_3.png differ
diff --git a/public/images/pokemon/variant/back/773-grass_2.json b/public/images/pokemon/variant/back/773-grass_2.json
new file mode 100644
index 00000000000..f18dccf3f25
--- /dev/null
+++ b/public/images/pokemon/variant/back/773-grass_2.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-grass_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 85,
+ "h": 85
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 63,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:ade83101b436abb70288e4cd94ff5592:63cdb8f6e74efc570f81dea1385e7606:c892d42603d88b410862efcb4f750000$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/773-grass_2.png b/public/images/pokemon/variant/back/773-grass_2.png
new file mode 100644
index 00000000000..c1cd23a53ba
Binary files /dev/null and b/public/images/pokemon/variant/back/773-grass_2.png differ
diff --git a/public/images/pokemon/variant/back/773-grass_3.json b/public/images/pokemon/variant/back/773-grass_3.json
new file mode 100644
index 00000000000..773e3688662
--- /dev/null
+++ b/public/images/pokemon/variant/back/773-grass_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-grass_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 85,
+ "h": 85
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 63,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:ade83101b436abb70288e4cd94ff5592:63cdb8f6e74efc570f81dea1385e7606:c892d42603d88b410862efcb4f750000$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/773-grass_3.png b/public/images/pokemon/variant/back/773-grass_3.png
new file mode 100644
index 00000000000..ce5e6ced229
Binary files /dev/null and b/public/images/pokemon/variant/back/773-grass_3.png differ
diff --git a/public/images/pokemon/variant/back/773-ground_2.json b/public/images/pokemon/variant/back/773-ground_2.json
new file mode 100644
index 00000000000..0f4cbe72836
--- /dev/null
+++ b/public/images/pokemon/variant/back/773-ground_2.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-ground_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 85,
+ "h": 85
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 63,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:66e22c74c60049c804b1dd1a21e832ad:56b76fceb24ac15c97e2e1c036070bcb:a8b1ae37d6ef4c526891c3cd392866cd$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/773-ground_2.png b/public/images/pokemon/variant/back/773-ground_2.png
new file mode 100644
index 00000000000..bc2d1bde847
Binary files /dev/null and b/public/images/pokemon/variant/back/773-ground_2.png differ
diff --git a/public/images/pokemon/variant/back/773-ground_3.json b/public/images/pokemon/variant/back/773-ground_3.json
new file mode 100644
index 00000000000..fb8c3e88cd8
--- /dev/null
+++ b/public/images/pokemon/variant/back/773-ground_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-ground_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 85,
+ "h": 85
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 63,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:66e22c74c60049c804b1dd1a21e832ad:56b76fceb24ac15c97e2e1c036070bcb:a8b1ae37d6ef4c526891c3cd392866cd$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/773-ground_3.png b/public/images/pokemon/variant/back/773-ground_3.png
new file mode 100644
index 00000000000..41512f481cf
Binary files /dev/null and b/public/images/pokemon/variant/back/773-ground_3.png differ
diff --git a/public/images/pokemon/variant/back/773-ice_2.json b/public/images/pokemon/variant/back/773-ice_2.json
new file mode 100644
index 00000000000..bfa08d90ff2
--- /dev/null
+++ b/public/images/pokemon/variant/back/773-ice_2.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-ice_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 85,
+ "h": 85
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 63,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:bef2035e1fedd0b00de78ff0478bf168:b5c0b82104adca9c2fa8621d61e276ae:bbb81164af15638f1aae91f14ca0ac1d$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/773-ice_2.png b/public/images/pokemon/variant/back/773-ice_2.png
new file mode 100644
index 00000000000..272338a61c9
Binary files /dev/null and b/public/images/pokemon/variant/back/773-ice_2.png differ
diff --git a/public/images/pokemon/variant/back/773-ice_3.json b/public/images/pokemon/variant/back/773-ice_3.json
new file mode 100644
index 00000000000..da095257172
--- /dev/null
+++ b/public/images/pokemon/variant/back/773-ice_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-ice_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 85,
+ "h": 85
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 63,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:bef2035e1fedd0b00de78ff0478bf168:b5c0b82104adca9c2fa8621d61e276ae:bbb81164af15638f1aae91f14ca0ac1d$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/773-ice_3.png b/public/images/pokemon/variant/back/773-ice_3.png
new file mode 100644
index 00000000000..e523cba4a1b
Binary files /dev/null and b/public/images/pokemon/variant/back/773-ice_3.png differ
diff --git a/public/images/pokemon/variant/back/773-poison_2.json b/public/images/pokemon/variant/back/773-poison_2.json
new file mode 100644
index 00000000000..e5032708fa1
--- /dev/null
+++ b/public/images/pokemon/variant/back/773-poison_2.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-poison_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 85,
+ "h": 85
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 63,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:623460b2a2e54347e8bbc45cea13a8d1:c297e8e8e5d250a948a1d3471cec8e0e:2e43d6e4a409b7aabc1efd3ec3981f96$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/773-poison_2.png b/public/images/pokemon/variant/back/773-poison_2.png
new file mode 100644
index 00000000000..d980ced2c30
Binary files /dev/null and b/public/images/pokemon/variant/back/773-poison_2.png differ
diff --git a/public/images/pokemon/variant/back/773-poison_3.json b/public/images/pokemon/variant/back/773-poison_3.json
new file mode 100644
index 00000000000..4a319d7738e
--- /dev/null
+++ b/public/images/pokemon/variant/back/773-poison_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-poison_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 85,
+ "h": 85
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 63,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:623460b2a2e54347e8bbc45cea13a8d1:c297e8e8e5d250a948a1d3471cec8e0e:2e43d6e4a409b7aabc1efd3ec3981f96$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/773-poison_3.png b/public/images/pokemon/variant/back/773-poison_3.png
new file mode 100644
index 00000000000..30c1d866ea0
Binary files /dev/null and b/public/images/pokemon/variant/back/773-poison_3.png differ
diff --git a/public/images/pokemon/variant/back/773-psychic_2.json b/public/images/pokemon/variant/back/773-psychic_2.json
new file mode 100644
index 00000000000..bbea6924cd8
--- /dev/null
+++ b/public/images/pokemon/variant/back/773-psychic_2.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-psychic_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 85,
+ "h": 85
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 63,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:076140ebda30b6ad19473e55cc5498c2:15077ada33ea6ff7f34c502e66f38cb9:9fb489b40d17b047a9dacb47533ceda4$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/773-psychic_2.png b/public/images/pokemon/variant/back/773-psychic_2.png
new file mode 100644
index 00000000000..1cc713d702e
Binary files /dev/null and b/public/images/pokemon/variant/back/773-psychic_2.png differ
diff --git a/public/images/pokemon/variant/back/773-psychic_3.json b/public/images/pokemon/variant/back/773-psychic_3.json
new file mode 100644
index 00000000000..37619cdbe18
--- /dev/null
+++ b/public/images/pokemon/variant/back/773-psychic_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-psychic_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 85,
+ "h": 85
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 63,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:076140ebda30b6ad19473e55cc5498c2:15077ada33ea6ff7f34c502e66f38cb9:9fb489b40d17b047a9dacb47533ceda4$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/773-psychic_3.png b/public/images/pokemon/variant/back/773-psychic_3.png
new file mode 100644
index 00000000000..37c87fa3e24
Binary files /dev/null and b/public/images/pokemon/variant/back/773-psychic_3.png differ
diff --git a/public/images/pokemon/variant/back/773-rock_2.json b/public/images/pokemon/variant/back/773-rock_2.json
new file mode 100644
index 00000000000..3c82a376544
--- /dev/null
+++ b/public/images/pokemon/variant/back/773-rock_2.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-rock_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 85,
+ "h": 85
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 63,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:40aafe2781f7ccb60801c3dc205c2462:78709b437e1fffc8f971a34f3f5303db:b6fcb5d1ff917a13e5e912a7f40fcbe2$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/773-rock_2.png b/public/images/pokemon/variant/back/773-rock_2.png
new file mode 100644
index 00000000000..a2430527c74
Binary files /dev/null and b/public/images/pokemon/variant/back/773-rock_2.png differ
diff --git a/public/images/pokemon/variant/back/773-rock_3.json b/public/images/pokemon/variant/back/773-rock_3.json
new file mode 100644
index 00000000000..e0376bf5569
--- /dev/null
+++ b/public/images/pokemon/variant/back/773-rock_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-rock_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 85,
+ "h": 85
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 63,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:40aafe2781f7ccb60801c3dc205c2462:78709b437e1fffc8f971a34f3f5303db:b6fcb5d1ff917a13e5e912a7f40fcbe2$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/773-rock_3.png b/public/images/pokemon/variant/back/773-rock_3.png
new file mode 100644
index 00000000000..8f347b580bf
Binary files /dev/null and b/public/images/pokemon/variant/back/773-rock_3.png differ
diff --git a/public/images/pokemon/variant/back/773-steel_2.json b/public/images/pokemon/variant/back/773-steel_2.json
new file mode 100644
index 00000000000..19e2baf2f0b
--- /dev/null
+++ b/public/images/pokemon/variant/back/773-steel_2.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-steel_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 85,
+ "h": 85
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 63,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:337b01484fad266b75efd72e86bebee2:0527d8e3f21b9fc9f840090ea062b642:28dcfb1ac7091bec326d67f7b8d4eaa6$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/773-steel_2.png b/public/images/pokemon/variant/back/773-steel_2.png
new file mode 100644
index 00000000000..12244f7dbe4
Binary files /dev/null and b/public/images/pokemon/variant/back/773-steel_2.png differ
diff --git a/public/images/pokemon/variant/back/773-steel_3.json b/public/images/pokemon/variant/back/773-steel_3.json
new file mode 100644
index 00000000000..54a7553bcb5
--- /dev/null
+++ b/public/images/pokemon/variant/back/773-steel_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-steel_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 85,
+ "h": 85
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 63,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:337b01484fad266b75efd72e86bebee2:0527d8e3f21b9fc9f840090ea062b642:28dcfb1ac7091bec326d67f7b8d4eaa6$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/773-steel_3.png b/public/images/pokemon/variant/back/773-steel_3.png
new file mode 100644
index 00000000000..da0ce3d7c43
Binary files /dev/null and b/public/images/pokemon/variant/back/773-steel_3.png differ
diff --git a/public/images/pokemon/variant/back/773-water_2.json b/public/images/pokemon/variant/back/773-water_2.json
new file mode 100644
index 00000000000..9df99a16888
--- /dev/null
+++ b/public/images/pokemon/variant/back/773-water_2.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-water_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 85,
+ "h": 85
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 63,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:f94551f1224191b67e0ae587e065ec6b:d24addb57cd174d5ef9826fb0720f71f:609e3c1a2aa54ec6d5110acf831a822b$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/773-water_2.png b/public/images/pokemon/variant/back/773-water_2.png
new file mode 100644
index 00000000000..26cba80cd72
Binary files /dev/null and b/public/images/pokemon/variant/back/773-water_2.png differ
diff --git a/public/images/pokemon/variant/back/773-water_3.json b/public/images/pokemon/variant/back/773-water_3.json
new file mode 100644
index 00000000000..2bd2476645d
--- /dev/null
+++ b/public/images/pokemon/variant/back/773-water_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "773-water_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 85,
+ "h": 85
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 63,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 85
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:f94551f1224191b67e0ae587e065ec6b:d24addb57cd174d5ef9826fb0720f71f:609e3c1a2aa54ec6d5110acf831a822b$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/773-water_3.png b/public/images/pokemon/variant/back/773-water_3.png
new file mode 100644
index 00000000000..b631825b370
Binary files /dev/null and b/public/images/pokemon/variant/back/773-water_3.png differ
diff --git a/public/images/pokemon/variant/back/773.json b/public/images/pokemon/variant/back/773.json
new file mode 100644
index 00000000000..4b76892c9db
--- /dev/null
+++ b/public/images/pokemon/variant/back/773.json
@@ -0,0 +1,48 @@
+{
+ "1": {
+ "939f9e": "738093",
+ "ededed": "eef1f3",
+ "f9f9f9": "cdd6dc",
+ "565969": "30365c",
+ "d3d7df": "98a8be",
+ "e3e6ec": "bdd1e5",
+ "bcbbc5": "788fb5",
+ "080808": "080808",
+ "3f3b50": "1e172a",
+ "aba7bc": "493d55",
+ "483c39": "3a2d53",
+ "e9eaf8": "e7ebed",
+ "e64f5e": "f1944a",
+ "1d1845": "2e191f",
+ "0073bf": "7a4949",
+ "5399df": "b59489",
+ "79615e": "504a75",
+ "251845": "753c32",
+ "9618e0": "dc9c4d",
+ "1e9378": "f8ce64",
+ "125d4b": "ce7f3f"
+ },
+ "2": {
+ "939f9e": "738093",
+ "ededed": "ffffff",
+ "f9f9f9": "e7eef2",
+ "565969": "0f0f1b",
+ "d3d7df": "b4bcc4",
+ "e3e6ec": "444455",
+ "bcbbc5": "242433",
+ "080808": "080808",
+ "3f3b50": "3f3b50",
+ "aba7bc": "dbd8e8",
+ "483c39": "778894",
+ "e9eaf8": "e9eaf8",
+ "e64f5e": "98ce58",
+ "1d1845": "41434e",
+ "0073bf": "6a6c75",
+ "5399df": "92949e",
+ "79615e": "d6d4d4",
+ "251845": "425735",
+ "9618e0": "ade265",
+ "1e9378": "eef4f8",
+ "125d4b": "686981"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/776.json b/public/images/pokemon/variant/back/776.json
new file mode 100644
index 00000000000..e35f08c7c5b
--- /dev/null
+++ b/public/images/pokemon/variant/back/776.json
@@ -0,0 +1,32 @@
+{
+ "1": {
+ "635a4e": "5a4c65",
+ "969678": "887c97",
+ "ccccad": "b4b8c8",
+ "080808": "080808",
+ "71171a": "210920",
+ "b7282c": "3f2350",
+ "e74545": "4f3d66",
+ "281715": "492b25",
+ "6b473c": "f4eba2",
+ "3c2b24": "d5966f",
+ "8f1f22": "311132",
+ "cc8720": "2f98cd",
+ "9b6500": "276da5"
+ },
+ "2": {
+ "635a4e": "4c4276",
+ "969678": "7983c1",
+ "ccccad": "adc4e9",
+ "080808": "080808",
+ "71171a": "976b65",
+ "b7282c": "e1bf9f",
+ "e74545": "faeecd",
+ "281715": "0f514a",
+ "6b473c": "caee67",
+ "3c2b24": "61b551",
+ "8f1f22": "be8a7a",
+ "cc8720": "4d2e5e",
+ "9b6500": "341a3c"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/777.json b/public/images/pokemon/variant/back/777.json
new file mode 100644
index 00000000000..ab44e252c60
--- /dev/null
+++ b/public/images/pokemon/variant/back/777.json
@@ -0,0 +1,26 @@
+{
+ "1": {
+ "101010": "101010",
+ "ffea80": "dec2f0",
+ "ccb852": "ac8fbb",
+ "b3b3b3": "8e71cd",
+ "4d4d4d": "362952",
+ "808080": "645393",
+ "73593f": "ae428a",
+ "bfbfbf": "d0dadb",
+ "f8f8f8": "f8f8f8",
+ "595959": "444147"
+ },
+ "2": {
+ "101010": "101010",
+ "ffea80": "d65d3c",
+ "ccb852": "7b3c26",
+ "b3b3b3": "4cb568",
+ "4d4d4d": "294127",
+ "808080": "2e804f",
+ "73593f": "47240f",
+ "bfbfbf": "ae7e58",
+ "f8f8f8": "e5b38c",
+ "595959": "342a20"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/778-busted.json b/public/images/pokemon/variant/back/778-busted.json
new file mode 100644
index 00000000000..70c365d1ff7
--- /dev/null
+++ b/public/images/pokemon/variant/back/778-busted.json
@@ -0,0 +1,22 @@
+{
+ "1": {
+ "101010": "101010",
+ "404040": "2d1818",
+ "b3a76b": "8d4f3d",
+ "f2e291": "aa6f46",
+ "665f3d": "542c21",
+ "4d361f": "844b20",
+ "b37d47": "fabc5f",
+ "805933": "b97d2c"
+ },
+ "2": {
+ "101010": "000000",
+ "404040": "0c123a",
+ "b3a76b": "3d2e4f",
+ "f2e291": "5b496b",
+ "665f3d": "1b1031",
+ "4d361f": "3e5075",
+ "b37d47": "8eb5cd",
+ "805933": "6d80a4"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/778-disguised.json b/public/images/pokemon/variant/back/778-disguised.json
new file mode 100644
index 00000000000..9b8340c7562
--- /dev/null
+++ b/public/images/pokemon/variant/back/778-disguised.json
@@ -0,0 +1,22 @@
+{
+ "1": {
+ "101010": "101010",
+ "404040": "2d1818",
+ "b3a76b": "8d4f3d",
+ "f2e291": "aa6f46",
+ "665f3d": "542c21",
+ "4d361f": "844b20",
+ "b37d47": "fabc5f",
+ "805933": "b97d2c"
+ },
+ "2": {
+ "101010": "000000",
+ "404040": "0c123a",
+ "b3a76b": "3d2e4f",
+ "f2e291": "5b496b",
+ "665f3d": "1b1031",
+ "4d361f": "3e5075",
+ "b37d47": "8eb5cd",
+ "805933": "6d80a4"
+ }
+}
diff --git a/public/images/pokemon/variant/back/778.json b/public/images/pokemon/variant/back/778.json
deleted file mode 100644
index 2c6ce68a299..00000000000
--- a/public/images/pokemon/variant/back/778.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "1": {
- "101010": "101010",
- "404040": "2d1818",
- "b3a76b": "8d4f3d",
- "f2e291": "aa6f46",
- "665f3d": "542c21",
- "4d361f": "844b20",
- "b37d47": "fabc5f",
- "805933": "b97d2c"
- },
- "2": {
- "101010": "000000",
- "404040": "0c123a",
- "b3a76b": "3d2e4f",
- "f2e291": "5b496b",
- "665f3d": "1b1031",
- "4d361f": "3e5075",
- "b37d47": "8eb5cd",
- "805933": "6d80a4"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/779.json b/public/images/pokemon/variant/back/779.json
new file mode 100644
index 00000000000..f8bebbf1e1f
--- /dev/null
+++ b/public/images/pokemon/variant/back/779.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "58295f": "a52121",
+ "b75eb7": "f65656",
+ "101010": "101010",
+ "834589": "c62c2c",
+ "de5c8a": "602b7a",
+ "314d8e": "667fb2",
+ "ef87b5": "84539d",
+ "97354e": "2e0c3f",
+ "5e9fc4": "94c5da",
+ "93d3e1": "caefff",
+ "cfae3f": "d65e5e",
+ "efe85f": "faa28c",
+ "fdfdfd": "fdfdfd",
+ "969696": "969696"
+ },
+ "2": {
+ "58295f": "4545c4",
+ "b75eb7": "8585ff",
+ "101010": "101010",
+ "834589": "6666e2",
+ "de5c8a": "dca032",
+ "314d8e": "7878ca",
+ "ef87b5": "ffd166",
+ "97354e": "935b3b",
+ "5e9fc4": "afafe1",
+ "93d3e1": "eeeeff",
+ "cfae3f": "2d2c43",
+ "efe85f": "454457",
+ "fdfdfd": "fdfdfd",
+ "969696": "969696"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/79.json b/public/images/pokemon/variant/back/79.json
new file mode 100644
index 00000000000..223f60349a2
--- /dev/null
+++ b/public/images/pokemon/variant/back/79.json
@@ -0,0 +1,17 @@
+{
+ "0": {
+ "6b6363": "6b6363",
+ "d6cece": "d6cece",
+ "101010": "101010",
+ "ffffff": "ffffff",
+ "ffa5a5": "cebdff",
+ "de637b": "846bbd",
+ "ff8494": "ad94ff",
+ "ad4252": "6f539e",
+ "7b2131": "52397b",
+ "8c5a19": "8c6b10",
+ "ffe6b5": "fff7b5",
+ "dea563": "deb55a",
+ "efc58c": "efc58c"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/797.json b/public/images/pokemon/variant/back/797.json
new file mode 100644
index 00000000000..488b7a6b7de
--- /dev/null
+++ b/public/images/pokemon/variant/back/797.json
@@ -0,0 +1,30 @@
+{
+ "1": {
+ "4c7e71": "2d3cb0",
+ "101010": "101010",
+ "fefefe": "f9e5d1",
+ "bccfc4": "f2b97f",
+ "2b584b": "19155c",
+ "82ada4": "506ee3",
+ "2dc8b3": "e0a135",
+ "b3e088": "ffc785",
+ "1d948a": "bb6e1d",
+ "53ca89": "f0f5f9",
+ "a3e2bb": "9db7f4",
+ "193124": "09112e"
+ },
+ "2": {
+ "4c7e71": "69132d",
+ "101010": "101010",
+ "fefefe": "534757",
+ "bccfc4": "242733",
+ "2b584b": "410425",
+ "82ada4": "8b1933",
+ "2dc8b3": "bff3bb",
+ "b3e088": "232323",
+ "1d948a": "77d4a9",
+ "53ca89": "bbf3ef",
+ "a3e2bb": "bd2f62",
+ "193124": "330007"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/816.json b/public/images/pokemon/variant/back/816.json
new file mode 100644
index 00000000000..8153a53decd
--- /dev/null
+++ b/public/images/pokemon/variant/back/816.json
@@ -0,0 +1,24 @@
+{
+ "1": {
+ "1f2d63": "631c1c",
+ "8f7a43": "322a27",
+ "e8d16a": "635753",
+ "2b699f": "9d2331",
+ "425493": "7d292a",
+ "5091c0": "b5464b",
+ "6ab6d2": "e66371",
+ "add7e7": "e6828e",
+ "101010": "101010"
+ },
+ "2": {
+ "1f2d63": "6e1a4c",
+ "8f7a43": "204375",
+ "e8d16a": "3b72a3",
+ "2b699f": "a32c59",
+ "425493": "813535",
+ "5091c0": "dea26c",
+ "6ab6d2": "ffeeb8",
+ "add7e7": "fffbec",
+ "101010": "101010"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/817.json b/public/images/pokemon/variant/back/817.json
new file mode 100644
index 00000000000..7c74f55eef9
--- /dev/null
+++ b/public/images/pokemon/variant/back/817.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "183569": "572225",
+ "0a5fba": "80222e",
+ "005980": "631425",
+ "31b5d0": "cf5b5d",
+ "0b89bf": "9a3538",
+ "6c4499": "a1572f",
+ "70cce0": "eb8577",
+ "a278c7": "dd8a4f",
+ "101010": "101010",
+ "3d6424": "83403e",
+ "6ba01b": "a36d5d",
+ "8cd222": "d99f8d",
+ "ccc7cd": "c7c1bd",
+ "fefefe": "fefefe"
+ },
+ "2": {
+ "183569": "731f4e",
+ "0a5fba": "da5c8a",
+ "005980": "7c2f23",
+ "31b5d0": "fcbe6d",
+ "0b89bf": "dc7647",
+ "6c4499": "2c5aa8",
+ "70cce0": "ffe5a3",
+ "a278c7": "459dca",
+ "101010": "101010",
+ "3d6424": "731317",
+ "6ba01b": "ba2c22",
+ "8cd222": "d85633",
+ "ccc7cd": "becee1",
+ "fefefe": "fefefe"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/818-gigantamax.json b/public/images/pokemon/variant/back/818-gigantamax.json
new file mode 100644
index 00000000000..e885e058b5a
--- /dev/null
+++ b/public/images/pokemon/variant/back/818-gigantamax.json
@@ -0,0 +1,56 @@
+{
+ "0": {
+ "003e6a": "004472",
+ "f2f889": "f889b6",
+ "1c7bc1": "06cccf",
+ "e9cd5f": "e95f92",
+ "101010": "101010",
+ "01599a": "0ea6a8",
+ "549bc3": "0060a4",
+ "9cd2e2": "107ac0",
+ "ee3e5c": "ee3e5c",
+ "31302f": "989dac",
+ "4a4a4d": "c4ccd4",
+ "5cdada": "5cdada",
+ "5e9bc3": "0a60a4",
+ "fdfdfd": "fdfdfd",
+ "b0faff": "b0faff",
+ "646565": "f7fbfc"
+ },
+ "1": {
+ "003e6a": "4c1819",
+ "f2f889": "82664c",
+ "1c7bc1": "d94a4c",
+ "e9cd5f": "614432",
+ "101010": "101010",
+ "01599a": "9c2734",
+ "549bc3": "a45e4a",
+ "9cd2e2": "e1926f",
+ "ee3e5c": "5885a2",
+ "31302f": "251e1c",
+ "4a4a4d": "342b2a",
+ "5cdada": "3e3532",
+ "5e9bc3": "2b1f1e",
+ "fdfdfd": "787878",
+ "b0faff": "57524d",
+ "646565": "4c4643"
+ },
+ "2": {
+ "003e6a": "412b45",
+ "f2f889": "65c2e5",
+ "1c7bc1": "fff2cc",
+ "e9cd5f": "4484c3",
+ "101010": "101010",
+ "01599a": "d8b284",
+ "549bc3": "e38544",
+ "9cd2e2": "ffcd57",
+ "ee3e5c": "5885a2",
+ "31302f": "571342",
+ "4a4a4d": "771b54",
+ "5cdada": "854d81",
+ "5e9bc3": "522a55",
+ "fdfdfd": "daa4c6",
+ "b0faff": "be87b1",
+ "646565": "be3a7d"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/818.json b/public/images/pokemon/variant/back/818.json
new file mode 100644
index 00000000000..fc948072c94
--- /dev/null
+++ b/public/images/pokemon/variant/back/818.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "88632b": "452a1e",
+ "003e6a": "4e1819",
+ "f2f889": "82664c",
+ "1c7bc1": "d94a4c",
+ "e9cd5f": "614432",
+ "549bc3": "a55846",
+ "9cd2e2": "e1926f",
+ "101010": "101010",
+ "fdfdfd": "fdfdfd",
+ "ff7c00": "5885a2",
+ "31302f": "251e1c",
+ "646565": "4c4643",
+ "4a4a4d": "342b2a",
+ "01599a": "9c2734"
+ },
+ "2": {
+ "88632b": "3046a1",
+ "003e6a": "6c2d21",
+ "f2f889": "65c2e5",
+ "1c7bc1": "fff2cc",
+ "e9cd5f": "4484c3",
+ "549bc3": "e38544",
+ "9cd2e2": "ffcd57",
+ "101010": "101010",
+ "fdfdfd": "fdfdfd",
+ "ff7c00": "a13047",
+ "31302f": "510e3c",
+ "646565": "be3a7d",
+ "4a4a4d": "771b54",
+ "01599a": "d8b284"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/859.json b/public/images/pokemon/variant/back/859.json
new file mode 100644
index 00000000000..16dcecb181e
--- /dev/null
+++ b/public/images/pokemon/variant/back/859.json
@@ -0,0 +1,22 @@
+{
+ "1": {
+ "e65984": "619544",
+ "8d3856": "376b2d",
+ "f589c2": "9aba6d",
+ "ffbff5": "dbe797",
+ "101010": "101010",
+ "45366d": "5b1d15",
+ "735aac": "a4332d",
+ "947cd8": "cc5836"
+ },
+ "2": {
+ "e65984": "4b1736",
+ "8d3856": "30082d",
+ "f589c2": "6b2b3e",
+ "ffbff5": "904f55",
+ "101010": "101010",
+ "45366d": "794935",
+ "735aac": "f0c475",
+ "947cd8": "f9e9a4"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/860.json b/public/images/pokemon/variant/back/860.json
new file mode 100644
index 00000000000..f318490f04c
--- /dev/null
+++ b/public/images/pokemon/variant/back/860.json
@@ -0,0 +1,28 @@
+{
+ "1": {
+ "902748": "2d582c",
+ "e93761": "638a48",
+ "f75c90": "7daf56",
+ "352954": "3b1528",
+ "101010": "101010",
+ "5d4694": "8b332d",
+ "8872b6": "c45949",
+ "433568": "5a1d27",
+ "409555": "244849",
+ "47be62": "366c59",
+ "356a3c": "162a35"
+ },
+ "2": {
+ "902748": "2b072d",
+ "e93761": "491337",
+ "f75c90": "64233b",
+ "352954": "a26458",
+ "101010": "101010",
+ "5d4694": "dfc784",
+ "8872b6": "f6e8b8",
+ "433568": "c98e63",
+ "409555": "272664",
+ "47be62": "3f386f",
+ "356a3c": "090d50"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/861-gigantamax.json b/public/images/pokemon/variant/back/861-gigantamax.json
new file mode 100644
index 00000000000..e97032b5a26
--- /dev/null
+++ b/public/images/pokemon/variant/back/861-gigantamax.json
@@ -0,0 +1,16 @@
+{
+ "1": {
+ "2f184e": "290527",
+ "101010": "101010",
+ "433568": "5a1d27",
+ "5d4694": "8b332d",
+ "352954": "3b1528"
+ },
+ "2": {
+ "2f184e": "6a2f3a",
+ "101010": "101010",
+ "433568": "c98e63",
+ "5d4694": "dfc784",
+ "352954": "a26458"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/861.json b/public/images/pokemon/variant/back/861.json
new file mode 100644
index 00000000000..acdc2e3c502
--- /dev/null
+++ b/public/images/pokemon/variant/back/861.json
@@ -0,0 +1,22 @@
+{
+ "1": {
+ "356a3c": "162a35",
+ "101010": "101010",
+ "47be62": "366c59",
+ "409555": "244849",
+ "433568": "5a1d27",
+ "2f184e": "290527",
+ "5d4694": "8b332d",
+ "352954": "3b1528"
+ },
+ "2": {
+ "356a3c": "090d50",
+ "101010": "101010",
+ "47be62": "3f386f",
+ "409555": "272664",
+ "433568": "c98e63",
+ "2f184e": "6a2f3a",
+ "5d4694": "dfc784",
+ "352954": "a26458"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/876-female.json b/public/images/pokemon/variant/back/876-female.json
new file mode 100644
index 00000000000..38892176d0d
--- /dev/null
+++ b/public/images/pokemon/variant/back/876-female.json
@@ -0,0 +1,28 @@
+{
+ "1": {
+ "2e2641": "2c1419",
+ "7d7493": "5a3736",
+ "2f2642": "2c1419",
+ "564c6c": "4a282a",
+ "101010": "101010",
+ "6c64a6": "b72e3e",
+ "4d447e": "8c1932",
+ "3d3055": "64102c",
+ "826882": "826458",
+ "ccb7c2": "c4a691",
+ "fefefe": "e8d4bf"
+ },
+ "2": {
+ "2e2641": "853861",
+ "7d7493": "ecb2c5",
+ "2f2642": "444a8e",
+ "564c6c": "d58da4",
+ "101010": "101010",
+ "6c64a6": "78aae5",
+ "4d447e": "5c7bc5",
+ "3d3055": "4c5db1",
+ "826882": "6f8ba1",
+ "ccb7c2": "cbdbe6",
+ "fefefe": "f0f2f3"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/876.json b/public/images/pokemon/variant/back/876.json
new file mode 100644
index 00000000000..af4f5492efe
--- /dev/null
+++ b/public/images/pokemon/variant/back/876.json
@@ -0,0 +1,28 @@
+{
+ "1": {
+ "2e2641": "2c1419",
+ "7d7493": "5a3736",
+ "564c6c": "4a282a",
+ "101010": "101010",
+ "2f2642": "2c1419",
+ "6c64a6": "b72e3e",
+ "4d447e": "8c1932",
+ "3d3055": "64102c",
+ "826882": "826458",
+ "ccb7c2": "c4a691",
+ "fefefe": "e8d4bf"
+ },
+ "2": {
+ "2e2641": "314c7c",
+ "7d7493": "a3c5e8",
+ "564c6c": "78a5d4",
+ "101010": "101010",
+ "2f2642": "7a316c",
+ "6c64a6": "f589bb",
+ "4d447e": "d268a7",
+ "3d3055": "aa518a",
+ "826882": "9b7e9e",
+ "ccb7c2": "e6d2e7",
+ "fefefe": "faeefa"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/896.json b/public/images/pokemon/variant/back/896.json
new file mode 100644
index 00000000000..f1c459febd1
--- /dev/null
+++ b/public/images/pokemon/variant/back/896.json
@@ -0,0 +1,41 @@
+{
+ "0": {
+ "000000": "000000",
+ "8cacdd": "8f84c9",
+ "bbd2ff": "b9abea",
+ "4679b7": "5952a1",
+ "003071": "2f104f",
+ "cbc1cc": "c9c0d4",
+ "eeeef3": "f6ebf6",
+ "eeeef2": "f6ebf6",
+ "cac0cb": "c9c0d4",
+ "83818f": "6f6982",
+ "6c6271": "68627a"
+ },
+ "1": {
+ "000000": "000000",
+ "8cacdd": "41d5b3",
+ "bbd2ff": "9dffff",
+ "4679b7": "00816c",
+ "003071": "014837",
+ "cbc1cc": "90f6da",
+ "eeeef3": "d7ffff",
+ "eeeef2": "93bbf1",
+ "cac0cb": "6f8ec1",
+ "83818f": "506698",
+ "6c6271": "35486b"
+ },
+ "2": {
+ "000000": "000000",
+ "8cacdd": "bc393b",
+ "bbd2ff": "f68c79",
+ "4679b7": "780024",
+ "003071": "520016",
+ "cbc1cc": "f3bca6",
+ "eeeef3": "fde3d6",
+ "eeeef2": "534444",
+ "cac0cb": "3c2c2f",
+ "83818f": "2b1b1e",
+ "6c6271": "21161a"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/897.json b/public/images/pokemon/variant/back/897.json
new file mode 100644
index 00000000000..2d14655e39b
--- /dev/null
+++ b/public/images/pokemon/variant/back/897.json
@@ -0,0 +1,41 @@
+{
+ "0": {
+ "101010": "101010",
+ "3c3c3c": "3c3c3c",
+ "525852": "5d5458",
+ "49478f": "894061",
+ "7c5bcf": "d05a82",
+ "00285c": "632741",
+ "d9a4e3": "d9a4e3",
+ "fcfcfc": "fcfcfc",
+ "755179": "755179",
+ "504e8e": "80447d",
+ "8776e4": "b862b3"
+ },
+ "1": {
+ "101010": "101010",
+ "3c3c3c": "622d51",
+ "525852": "904c75",
+ "49478f": "932f27",
+ "7c5bcf": "cc5837",
+ "00285c": "6e1817",
+ "d9a4e3": "ff8478",
+ "fcfcfc": "fff3c6",
+ "755179": "a63938",
+ "504e8e": "b86441",
+ "8776e4": "ef8956"
+ },
+ "2": {
+ "101010": "101010",
+ "3c3c3c": "3a6965",
+ "525852": "5c8a7b",
+ "49478f": "13312b",
+ "7c5bcf": "254a34",
+ "00285c": "0d2222",
+ "d9a4e3": "7dc3ad",
+ "fcfcfc": "cffce7",
+ "755179": "2e6a62",
+ "504e8e": "244056",
+ "8776e4": "3c6371"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/898-ice.json b/public/images/pokemon/variant/back/898-ice.json
new file mode 100644
index 00000000000..ec65a41c97a
--- /dev/null
+++ b/public/images/pokemon/variant/back/898-ice.json
@@ -0,0 +1,71 @@
+{
+ "0": {
+ "101010": "101010",
+ "8cacdd": "8f84c9",
+ "004037": "00403c",
+ "bbd2ff": "b9abea",
+ "007766": "00776f",
+ "00584b": "005852",
+ "4679b7": "5952a1",
+ "525752": "6a5837",
+ "fbfbfb": "fbfbfb",
+ "c6c7cc": "c6c7cc",
+ "9e8f87": "ae8b50",
+ "d1c8be": "d7c881",
+ "003071": "2f104f",
+ "cbc1cc": "c9c0d4",
+ "eeeef3": "f6ebf6",
+ "eeeef2": "f6ebf6",
+ "00285b": "3b2948",
+ "cac0cb": "c9c0d4",
+ "83818f": "6f6982",
+ "6c6271": "68627a",
+ "3c3c3c": "3c3c3c"
+ },
+ "1": {
+ "101010": "101010",
+ "8cacdd": "41d5b3",
+ "004037": "00124d",
+ "bbd2ff": "9dffff",
+ "007766": "345ab5",
+ "00584b": "183986",
+ "4679b7": "00816c",
+ "525752": "38255f",
+ "fbfbfb": "fbfbfb",
+ "c6c7cc": "c6c7cc",
+ "9e8f87": "927ec4",
+ "d1c8be": "ba9ded",
+ "003071": "014837",
+ "cbc1cc": "90f6da",
+ "eeeef3": "d7ffff",
+ "eeeef2": "93bbf1",
+ "00285b": "8d075a",
+ "cac0cb": "6f8ec1",
+ "83818f": "506698",
+ "6c6271": "35486b",
+ "3c3c3c": "3c3c3c"
+ },
+ "2": {
+ "101010": "101010",
+ "8cacdd": "bc393b",
+ "004037": "3c1522",
+ "bbd2ff": "f68c79",
+ "007766": "88253e",
+ "00584b": "601b35",
+ "4679b7": "780024",
+ "525752": "181935",
+ "fbfbfb": "fefdeb",
+ "c6c7cc": "ccc5bb",
+ "9e8f87": "354d8a",
+ "d1c8be": "4378b1",
+ "003071": "520016",
+ "cbc1cc": "f3bca6",
+ "eeeef3": "fde3d6",
+ "eeeef2": "534444",
+ "00285b": "deb551",
+ "cac0cb": "3c2c2f",
+ "83818f": "2b1b1e",
+ "6c6271": "21161a",
+ "3c3c3c": "181935"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/898-shadow.json b/public/images/pokemon/variant/back/898-shadow.json
new file mode 100644
index 00000000000..336ba31bc8d
--- /dev/null
+++ b/public/images/pokemon/variant/back/898-shadow.json
@@ -0,0 +1,71 @@
+{
+ "0": {
+ "004037": "00403c",
+ "007766": "00776f",
+ "00584b": "005852",
+ "525752": "6a5837",
+ "101010": "101010",
+ "fbfbfb": "fbfbfb",
+ "3c3c3c": "3c3c3c",
+ "c7c8cd": "c7c8cd",
+ "525852": "5d5458",
+ "9e8f87": "ae8b50",
+ "d1c8be": "d7c881",
+ "49478f": "894061",
+ "7c5bcf": "d05a82",
+ "00285c": "632741",
+ "d9a4e3": "d9a4e3",
+ "3b3b3b": "6a5837",
+ "fcfcfc": "fcfcfc",
+ "00285b": "3b2948",
+ "755179": "755179",
+ "504e8e": "80447d",
+ "8776e4": "b862b3"
+ },
+ "1": {
+ "004037": "00124d",
+ "007766": "345ab5",
+ "00584b": "183986",
+ "525752": "38255f",
+ "101010": "101010",
+ "fbfbfb": "fbfbfb",
+ "3c3c3c": "622d51",
+ "c7c8cd": "c7c8cd",
+ "525852": "904c75",
+ "9e8f87": "927ec4",
+ "d1c8be": "ba9ded",
+ "49478f": "932f27",
+ "7c5bcf": "cc5837",
+ "00285c": "6e1817",
+ "d9a4e3": "ff8478",
+ "3b3b3b": "38255f",
+ "fcfcfc": "fff3c6",
+ "00285b": "8d075a",
+ "755179": "a63938",
+ "504e8e": "b86441",
+ "8776e4": "ef8956"
+ },
+ "2": {
+ "004037": "3c1522",
+ "007766": "88253e",
+ "00584b": "601b35",
+ "525752": "181935",
+ "101010": "101010",
+ "fbfbfb": "fefdeb",
+ "3c3c3c": "3a6965",
+ "c7c8cd": "ccc5bb",
+ "525852": "5c8a7b",
+ "9e8f87": "354d8a",
+ "d1c8be": "4378b1",
+ "49478f": "13312b",
+ "7c5bcf": "254a34",
+ "00285c": "0d2222",
+ "d9a4e3": "7dc3ad",
+ "3b3b3b": "181935",
+ "fcfcfc": "cffce7",
+ "00285b": "deb551",
+ "755179": "2e6a62",
+ "504e8e": "244056",
+ "8776e4": "3c6371"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/898.json b/public/images/pokemon/variant/back/898.json
new file mode 100644
index 00000000000..b05b80efd5e
--- /dev/null
+++ b/public/images/pokemon/variant/back/898.json
@@ -0,0 +1,50 @@
+{
+ "0": {
+ "525752": "71517a",
+ "a9acc7": "c4abc1",
+ "00584b": "005852",
+ "004037": "00403c",
+ "504e8e": "71517a",
+ "007766": "00776f",
+ "525852": "6a5837",
+ "101010": "101010",
+ "fcfcfc": "fcfcfc",
+ "c7c8cd": "ccc6d1",
+ "9e8f87": "ae8b50",
+ "797b8f": "8e778d",
+ "00285c": "3b2948",
+ "c6c7cc": "8e778d"
+ },
+ "1": {
+ "525752": "f55a95",
+ "a9acc7": "fa9ac3",
+ "00584b": "183986",
+ "004037": "00124d",
+ "504e8e": "f55a95",
+ "007766": "345ab5",
+ "525852": "38255f",
+ "101010": "101010",
+ "fcfcfc": "fcfcfc",
+ "c7c8cd": "ccc6d1",
+ "9e8f87": "927ec4",
+ "797b8f": "c64883",
+ "00285c": "8d075a",
+ "c6c7cc": "c64883"
+ },
+ "2": {
+ "525752": "cc8c49",
+ "a9acc7": "decfa1",
+ "00584b": "601b35",
+ "004037": "3c1522",
+ "504e8e": "cc8c49",
+ "007766": "88253e",
+ "525852": "181935",
+ "101010": "101010",
+ "fcfcfc": "fefdeb",
+ "c7c8cd": "c4bdb3",
+ "9e8f87": "354d8a",
+ "797b8f": "ecc260",
+ "00285c": "a16035",
+ "c6c7cc": "ecc260"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/951.json b/public/images/pokemon/variant/back/951.json
new file mode 100644
index 00000000000..600d22ebc33
--- /dev/null
+++ b/public/images/pokemon/variant/back/951.json
@@ -0,0 +1,28 @@
+{
+ "1": {
+ "244828": "32131a",
+ "587266": "d38c43",
+ "3f9a5f": "be8a84",
+ "a6b496": "facf81",
+ "f0fbe3": "ffeacc",
+ "2f683c": "9d6b5b",
+ "0f0f0f": "0f0f0f",
+ "5c7c5c": "4c292f",
+ "ff9115": "ffb676",
+ "2e302f": "2e302f",
+ "79b97b": "704f4f"
+ },
+ "2": {
+ "244828": "4e3e70",
+ "587266": "cb486d",
+ "3f9a5f": "a78bdc",
+ "a6b496": "fa95d1",
+ "f0fbe3": "fecff5",
+ "2f683c": "7456a8",
+ "0f0f0f": "0f0f0f",
+ "5c7c5c": "8e7eb1",
+ "ff9115": "b6dfff",
+ "2e302f": "2e302f",
+ "79b97b": "cfbfe6"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/952.json b/public/images/pokemon/variant/back/952.json
new file mode 100644
index 00000000000..4f6d47d615d
--- /dev/null
+++ b/public/images/pokemon/variant/back/952.json
@@ -0,0 +1,32 @@
+{
+ "1": {
+ "a23424": "bb5a2b",
+ "641e1c": "8c2f0a",
+ "ef5131": "f8975d",
+ "294e25": "55321d",
+ "51c444": "facf81",
+ "3f8147": "d38c43",
+ "69ab7b": "be8a84",
+ "42804b": "9d6b5b",
+ "0f0f0f": "0f0f0f",
+ "262826": "3b1720",
+ "476b51": "704f4f",
+ "3c5042": "4c292f",
+ "cdcdcd": "ffd2cc"
+ },
+ "2": {
+ "a23424": "cb486d",
+ "641e1c": "8c1f39",
+ "ef5131": "f77baf",
+ "294e25": "3f3399",
+ "51c444": "90c3ea",
+ "3f8147": "627bcd",
+ "69ab7b": "c4a4eb",
+ "42804b": "9884d3",
+ "0f0f0f": "0f0f0f",
+ "262826": "7a6597",
+ "476b51": "f8f3fe",
+ "3c5042": "cfbfe6",
+ "cdcdcd": "f8f3fe"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/974.json b/public/images/pokemon/variant/back/974.json
new file mode 100644
index 00000000000..31a1cf892b1
--- /dev/null
+++ b/public/images/pokemon/variant/back/974.json
@@ -0,0 +1,28 @@
+{
+ "1": {
+ "736875": "8c2727",
+ "524951": "661427",
+ "bebaba": "ee9065",
+ "efefef": "ffcc9e",
+ "0f0f0f": "0f0f0f",
+ "c7639c": "48aeba",
+ "f493c9": "71e2d3",
+ "fcfcfc": "efefef",
+ "5e5e5e": "524951",
+ "a29793": "c85442",
+ "a44667": "2c7193"
+ },
+ "2": {
+ "736875": "1f355e",
+ "524951": "172651",
+ "bebaba": "2a607f",
+ "efefef": "438aa0",
+ "0f0f0f": "0f0f0f",
+ "c7639c": "daa470",
+ "f493c9": "ffdfa1",
+ "fcfcfc": "efefef",
+ "5e5e5e": "524951",
+ "a29793": "1c426b",
+ "a44667": "ae664a"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/975.json b/public/images/pokemon/variant/back/975.json
new file mode 100644
index 00000000000..428947aa317
--- /dev/null
+++ b/public/images/pokemon/variant/back/975.json
@@ -0,0 +1,32 @@
+{
+ "1": {
+ "6a6069": "8c2727",
+ "c8c4c4": "ee9065",
+ "0f0f0f": "0f0f0f",
+ "a29793": "c85442",
+ "fefefe": "ffcc9e",
+ "c7639c": "48aeba",
+ "a44667": "2c7193",
+ "555566": "660e45",
+ "b6b6c0": "d85661",
+ "8c8899": "b53653",
+ "f493c9": "71e2d3",
+ "69697e": "931d50",
+ "fcfcfc": "fcfcfc"
+ },
+ "2": {
+ "6a6069": "121f43",
+ "c8c4c4": "265777",
+ "0f0f0f": "0f0f0f",
+ "a29793": "193e66",
+ "fefefe": "357489",
+ "c7639c": "daa470",
+ "a44667": "ae664a",
+ "555566": "a05c56",
+ "b6b6c0": "ffe9d6",
+ "8c8899": "ddbcaa",
+ "f493c9": "ffdfa1",
+ "69697e": "69697e",
+ "fcfcfc": "fcfcfc"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/979.json b/public/images/pokemon/variant/back/979.json
new file mode 100644
index 00000000000..f5051737038
--- /dev/null
+++ b/public/images/pokemon/variant/back/979.json
@@ -0,0 +1,44 @@
+{
+ "0": {
+ "7b7786": "706394",
+ "c0c1c8": "bbb3d6",
+ "fafafc": "ddd2ff",
+ "111111": "111111",
+ "a5a6b2": "ada2cd",
+ "8f8d9c": "867ba4",
+ "55525c": "625583",
+ "474958": "38496a",
+ "555c69": "3f5275",
+ "323132": "323132",
+ "5d6976": "4d6289",
+ "464546": "464546"
+ },
+ "1": {
+ "7b7786": "c88945",
+ "c0c1c8": "ebd494",
+ "fafafc": "f9e9bd",
+ "111111": "111111",
+ "a5a6b2": "ddbf6b",
+ "8f8d9c": "d2a357",
+ "55525c": "895b29",
+ "474958": "3a302e",
+ "555c69": "4c4442",
+ "323132": "3e4f91",
+ "5d6976": "5b5757",
+ "464546": "5472b6"
+ },
+ "2": {
+ "7b7786": "b12009",
+ "c0c1c8": "f26a3c",
+ "fafafc": "ffa050",
+ "111111": "111111",
+ "a5a6b2": "e9492f",
+ "8f8d9c": "d22c10",
+ "55525c": "951500",
+ "474958": "313930",
+ "555c69": "475149",
+ "323132": "716969",
+ "5d6976": "5d6962",
+ "464546": "bfb5b5"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/982-three-segment_3.png b/public/images/pokemon/variant/back/982-three-segment_3.png
index b6b0ef0c2f4..3286d3331a5 100644
Binary files a/public/images/pokemon/variant/back/982-three-segment_3.png and b/public/images/pokemon/variant/back/982-three-segment_3.png differ
diff --git a/public/images/pokemon/variant/back/982_3.png b/public/images/pokemon/variant/back/982_3.png
index 3286d3331a5..b6b0ef0c2f4 100644
Binary files a/public/images/pokemon/variant/back/982_3.png and b/public/images/pokemon/variant/back/982_3.png differ
diff --git a/public/images/pokemon/variant/back/993.json b/public/images/pokemon/variant/back/993.json
new file mode 100644
index 00000000000..5668106b6b9
--- /dev/null
+++ b/public/images/pokemon/variant/back/993.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "282828": "292109",
+ "7a787a": "f8f5e2",
+ "0f0f0f": "0f0f0f",
+ "463741": "754711",
+ "4f4d51": "c59b4b",
+ "4a424a": "533310",
+ "20459b": "3c236a",
+ "86abf0": "a58fcd",
+ "3a75e6": "543280",
+ "952b7d": "585a5c",
+ "ff4dcb": "b7c6d6",
+ "fcfcfc": "fcfcfc",
+ "172e57": "160832",
+ "749eed": "b98bd6"
+ },
+ "2": {
+ "282828": "172220",
+ "7a787a": "a4bfbe",
+ "0f0f0f": "0f0f0f",
+ "463741": "264953",
+ "4f4d51": "467678",
+ "4a424a": "24323e",
+ "20459b": "600f40",
+ "86abf0": "ba1e51",
+ "3a75e6": "983b5c",
+ "952b7d": "873954",
+ "ff4dcb": "e3bbd3",
+ "fcfcfc": "fcfcfc",
+ "172e57": "470e2c",
+ "749eed": "f17ea6"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/female/123.json b/public/images/pokemon/variant/back/female/123.json
new file mode 100644
index 00000000000..049e6e23435
--- /dev/null
+++ b/public/images/pokemon/variant/back/female/123.json
@@ -0,0 +1,47 @@
+{
+ "0": {
+ "425a21": "632929",
+ "bde673": "e67373",
+ "e6d6ad": "b5b5ce",
+ "9c8c31": "632929",
+ "8cce73": "f76b6b",
+ "101010": "101010",
+ "fff7d6": "ffffff",
+ "5a9c4a": "d63a3a",
+ "bdbdbd": "bdbdbd",
+ "c5a573": "b5b5ce",
+ "dedede": "dedede",
+ "ffffff": "ffffff",
+ "737373": "737373"
+ },
+ "1": {
+ "425a21": "484e75",
+ "bde673": "bdbdbd",
+ "e6d6ad": "e6d6ad",
+ "9c8c31": "9c8c31",
+ "8cce73": "92b0db",
+ "101010": "101010",
+ "fff7d6": "fff7d6",
+ "5a9c4a": "7b94d6",
+ "bdbdbd": "ffffff",
+ "c5a573": "9cc5ff",
+ "dedede": "dedede",
+ "ffffff": "ffffff",
+ "737373": "737373"
+ },
+ "2": {
+ "425a21": "8f3907",
+ "bde673": "f8f581",
+ "e6d6ad": "e6d6ad",
+ "9c8c31": "9c8c31",
+ "8cce73": "f0c947",
+ "101010": "101010",
+ "fff7d6": "fff7d6",
+ "5a9c4a": "e6a027",
+ "bdbdbd": "bdbdbd",
+ "c5a573": "c5a573",
+ "dedede": "dedede",
+ "ffffff": "ffffff",
+ "737373": "737373"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/female/229.json b/public/images/pokemon/variant/back/female/229.json
new file mode 100644
index 00000000000..eeff43a6184
--- /dev/null
+++ b/public/images/pokemon/variant/back/female/229.json
@@ -0,0 +1,38 @@
+{
+ "1": {
+ "84738c": "5a1f30",
+ "a59cad": "a84244",
+ "ced6d6": "dc7e67",
+ "ffffff": "ffcf9a",
+ "192129": "402b41",
+ "000000": "000000",
+ "31313a": "5c435d",
+ "4a4a52": "85738c",
+ "f8f9ff": "f8f9ff",
+ "841021": "3b59a1",
+ "ada5b3": "ada5b3",
+ "632910": "8c6362",
+ "f79c84": "f8f1e7",
+ "a55a4a": "ceb0a5",
+ "9c293a": "9c293a",
+ "e2e0e3": "e2e0e3"
+ },
+ "2": {
+ "84738c": "101028",
+ "a59cad": "223657",
+ "ced6d6": "38576c",
+ "ffffff": "5c8d95",
+ "192129": "3a2d35",
+ "000000": "000000",
+ "31313a": "b3a5a2",
+ "4a4a52": "f8faf3",
+ "f8f9ff": "3d5f75",
+ "841021": "fe8d53",
+ "ada5b3": "ada5b3",
+ "632910": "3f2440",
+ "f79c84": "844d76",
+ "a55a4a": "613762",
+ "9c293a": "8c5273",
+ "e2e0e3": "e2e0e3"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/female/232.json b/public/images/pokemon/variant/back/female/232.json
new file mode 100644
index 00000000000..7d6c59a0aa3
--- /dev/null
+++ b/public/images/pokemon/variant/back/female/232.json
@@ -0,0 +1,38 @@
+{
+ "1": {
+ "4a5252": "5f74c7",
+ "3a3a3a": "333a77",
+ "849494": "b0d8ff",
+ "101010": "101010",
+ "6b7373": "7fa0d7",
+ "842129": "c8563f",
+ "9ca5a5": "9ca3b5",
+ "c54210": "db8160",
+ "738484": "6c7488",
+ "bdc5c5": "cdd1dc",
+ "d6ded6": "f4f4f4",
+ "707f7f": "b6511d",
+ "424242": "2f3441",
+ "ffffff": "f2db98",
+ "dedede": "edbb5e",
+ "bdbdbd": "de913e"
+ },
+ "2": {
+ "4a5252": "994e30",
+ "3a3a3a": "6f2219",
+ "849494": "f4b975",
+ "101010": "101010",
+ "6b7373": "d17e47",
+ "842129": "1d2a54",
+ "9ca5a5": "3c283f",
+ "c54210": "3b70c3",
+ "738484": "2c1f2e",
+ "bdc5c5": "584158",
+ "d6ded6": "665263",
+ "707f7f": "1d2a54",
+ "424242": "1e1225",
+ "ffffff": "92c3e9",
+ "dedede": "69a2d9",
+ "bdbdbd": "3b70c3"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/female/369.json b/public/images/pokemon/variant/back/female/369.json
new file mode 100644
index 00000000000..b3cff229c6c
--- /dev/null
+++ b/public/images/pokemon/variant/back/female/369.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "6b5242": "1e2432",
+ "8c734a": "2b3345",
+ "52423a": "16181d",
+ "ceb594": "4b5368",
+ "efcea5": "757e99",
+ "ffefce": "aab1c6",
+ "b5946b": "31384a",
+ "000000": "000000",
+ "3a2929": "644c2b",
+ "9c847b": "e0cc66",
+ "524242": "91743c",
+ "7b6b63": "bd9c4f",
+ "ef4a73": "4ecdab",
+ "ce4231": "c87f53"
+ },
+ "2": {
+ "6b5242": "3a421e",
+ "8c734a": "3d4521",
+ "52423a": "52423a",
+ "ceb594": "758745",
+ "efcea5": "96a558",
+ "ffefce": "b6c174",
+ "b5946b": "656d39",
+ "000000": "000000",
+ "3a2929": "231934",
+ "9c847b": "543d7d",
+ "524242": "32214a",
+ "7b6b63": "412e63",
+ "ef4a73": "ef4a73",
+ "ce4231": "584a95"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/female/401.json b/public/images/pokemon/variant/back/female/401.json
new file mode 100644
index 00000000000..446e2648182
--- /dev/null
+++ b/public/images/pokemon/variant/back/female/401.json
@@ -0,0 +1,24 @@
+{
+ "1": {
+ "524a42": "cf8439",
+ "7b7363": "f6bb47",
+ "101010": "101010",
+ "8c6b08": "272344",
+ "ffefad": "56769d",
+ "e6c56b": "454389",
+ "5a2100": "272344",
+ "b54a3a": "498ebe",
+ "e66b63": "afd3df"
+ },
+ "2": {
+ "524a42": "453565",
+ "7b7363": "71558c",
+ "101010": "101010",
+ "8c6b08": "784341",
+ "ffefad": "ffd47c",
+ "e6c56b": "e59a75",
+ "5a2100": "2a545f",
+ "b54a3a": "2f9378",
+ "e66b63": "70af85"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/back/female/402.json b/public/images/pokemon/variant/back/female/402.json
new file mode 100644
index 00000000000..7171c8b3629
--- /dev/null
+++ b/public/images/pokemon/variant/back/female/402.json
@@ -0,0 +1,32 @@
+{
+ "1": {
+ "633100": "272344",
+ "de5a52": "afd3df",
+ "101010": "101010",
+ "9c4231": "498ebe",
+ "31293a": "592a22",
+ "524a42": "cf8439",
+ "7b7363": "f6bb47",
+ "424252": "0e0e23",
+ "9c9c94": "26264b",
+ "63687b": "0e0e23",
+ "ffffff": "454389",
+ "8c6b08": "272344",
+ "bd9c63": "454389"
+ },
+ "2": {
+ "633100": "2a545f",
+ "de5a52": "70af85",
+ "101010": "101010",
+ "9c4231": "2f9378",
+ "31293a": "281c41",
+ "524a42": "453565",
+ "7b7363": "71558c",
+ "424252": "732f36",
+ "9c9c94": "f1be84",
+ "63687b": "732f36",
+ "ffffff": "fff3c3",
+ "8c6b08": "784341",
+ "bd9c63": "e59a75"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/130-mega.json b/public/images/pokemon/variant/exp/130-mega.json
index e2b765e489d..a2818168ba8 100644
--- a/public/images/pokemon/variant/exp/130-mega.json
+++ b/public/images/pokemon/variant/exp/130-mega.json
@@ -1,92 +1,36 @@
-{
- "1": {
- "207cc1": "c67429",
- "44b4f4": "eea747",
- "1d5486": "923d13",
- "826c4d": "dd493b",
- "f8eaba": "fff3ec",
- "cdac7b": "bd9b8e",
- "0d0d0d": "101010",
- "090909": "101010",
- "3b3f47": "c32625",
- "3c3f47": "c32625",
- "1f2025": "101010",
- "202226": "101010",
- "5e5f62": "dd493b",
- "1c5486": "923d13",
- "1f7cc1": "c67429",
- "826b4d": "dd493b",
- "992137": "8691d5",
- "e6414a": "c9d4ff",
- "000000": "101010",
- "f4f4f4": "f8f8f8",
- "992035": "8691d5",
- "2b2d33": "682a23",
- "2a2c31": "682a23",
- "282a2e": "682a23",
- "e0e0e0": "f37754",
- "030303": "101010",
- "393f47": "c32625",
- "1c1d22": "101010",
- "195486": "923d13",
- "1c7cc1": "c67429",
- "82694d": "dd493b",
- "991d31": "8691d5",
- "ffffff": "f8f8f8",
- "26282c": "682a23",
- "060606": "101010",
- "3a3f47": "c32625",
- "1d1f24": "101010",
- "1a5486": "923d13",
- "1d7cc1": "c67429",
- "826a4d": "dd493b",
- "991f33": "8691d5",
- "292b2f": "682a23",
- "27292d": "682a23"
- },
- "2": {
- "207cc1": "582c81",
- "44b4f4": "7b43a1",
- "1d5486": "411f70",
- "826c4d": "f2a366",
- "f8eaba": "ffedf4",
- "cdac7b": "d7aec0",
- "0d0d0d": "101010",
- "090909": "101010",
- "3b3f47": "bc6532",
- "3c3f47": "bc6532",
- "1f2025": "101010",
- "202226": "101010",
- "5e5f62": "f2a366",
- "1c5486": "411f70",
- "1f7cc1": "582c81",
- "826b4d": "f2a366",
- "992137": "a62869",
- "e6414a": "e15693",
- "000000": "101010",
- "f4f4f4": "f8f8f8",
- "992035": "a62869",
- "2b2d33": "202b47",
- "2a2c31": "202b47",
- "282a2e": "202b47",
- "e0e0e0": "ffdb85",
- "030303": "101010",
- "393f47": "bc6532",
- "1c1d22": "101010",
- "195486": "411f70",
- "1c7cc1": "582c81",
- "82694d": "f2a366",
- "991d31": "a62869",
- "ffffff": "f8f8f8",
- "26282c": "202b47",
- "060606": "101010",
- "3a3f47": "bc6532",
- "1d1f24": "101010",
- "1a5486": "411f70",
- "1d7cc1": "582c81",
- "826a4d": "f2a366",
- "991f33": "a62869",
- "292b2f": "202b47",
- "27292d": "202b47"
- }
+{
+ "1": {
+ "44b4f4": "eea747",
+ "826c4d": "dd493b",
+ "f8eaba": "fff3ec",
+ "cdac7b": "bd9b8e",
+ "5e5f62": "dd493b",
+ "1f7cc1": "c67429",
+ "e6414a": "c9d4ff",
+ "f4f4f4": "f8f8f8",
+ "e0e0e0": "f37754",
+ "991d31": "8691d5",
+ "060606": "101010",
+ "3a3f47": "c32625",
+ "1a5486": "923d13",
+ "1d7cc1": "c67429",
+ "27292d": "682a23"
+ },
+ "2": {
+ "44b4f4": "7b43a1",
+ "826c4d": "f2a366",
+ "f8eaba": "ffedf4",
+ "cdac7b": "d7aec0",
+ "5e5f62": "f2a366",
+ "1f7cc1": "582c81",
+ "e6414a": "e15693",
+ "f4f4f4": "f8f8f8",
+ "e0e0e0": "ffdb85",
+ "991d31": "a62869",
+ "060606": "101010",
+ "3a3f47": "bc6532",
+ "1a5486": "411f70",
+ "1d7cc1": "582c81",
+ "27292d": "202b47"
+ }
}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/2052.json b/public/images/pokemon/variant/exp/2052.json
new file mode 100644
index 00000000000..31ff32696b8
--- /dev/null
+++ b/public/images/pokemon/variant/exp/2052.json
@@ -0,0 +1,30 @@
+{
+ "1": {
+ "45505f": "8c583b",
+ "0a0a0a": "0a0a0a",
+ "91a3bf": "ffda5c",
+ "262b3c": "41185e",
+ "995433": "493473",
+ "f3f3f3": "f3f3f3",
+ "e3cc2b": "a66db5",
+ "ca833c": "7a519a",
+ "798071": "7a4888",
+ "627986": "de974e",
+ "b5b6b9": "bb92d5",
+ "f0f0f0": "f4ceff"
+ },
+ "2": {
+ "45505f": "271420",
+ "0a0a0a": "0a0a0a",
+ "91a3bf": "7c4e42",
+ "262b3c": "1d1b33",
+ "995433": "45328e",
+ "f3f3f3": "f3f3f3",
+ "e3cc2b": "b5b8f9",
+ "ca833c": "7b7fda",
+ "798071": "5f5c7e",
+ "627986": "5f3036",
+ "b5b6b9": "908dac",
+ "f0f0f0": "d1daf5"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/2053.json b/public/images/pokemon/variant/exp/2053.json
new file mode 100644
index 00000000000..6968f2f227c
--- /dev/null
+++ b/public/images/pokemon/variant/exp/2053.json
@@ -0,0 +1,16 @@
+{
+ "1": {
+ "000000": "000000",
+ "545968": "65352c",
+ "ced6ee": "ffda5c",
+ "a5adc7": "e89b4b",
+ "847f8a": "592d7a",
+ "c2bdc7": "8a519a",
+ "02b0e3": "6945aa",
+ "ffffff": "ffffff",
+ "5dc7e5": "9d67d8",
+ "0a6079": "2e2575",
+ "7b7ba8": "7c488a",
+ "d42e1c": "b8638a"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/229-mega.json b/public/images/pokemon/variant/exp/229-mega.json
new file mode 100644
index 00000000000..1cc9a9fe878
--- /dev/null
+++ b/public/images/pokemon/variant/exp/229-mega.json
@@ -0,0 +1,44 @@
+{
+ "1": {
+ "83738b": "7c323c",
+ "ffffff": "f3bd87",
+ "000000": "000000",
+ "cdd5d5": "c87966",
+ "a49cac": "a84b50",
+ "182029": "321b32",
+ "4a4a52": "76546b",
+ "f69c83": "f8f1e7",
+ "a45a4a": "ceb0a5",
+ "313139": "553454",
+ "6a211f": "314075",
+ "c5cdd1": "c5cdd1",
+ "ce0a10": "455d92",
+ "f8f9ff": "f8f9ff",
+ "622910": "77545b",
+ "e2e0e3": "e2e0e3",
+ "b6aabc": "b6aabc",
+ "732422": "856458",
+ "af1b1b": "aa8c82"
+ },
+ "2": {
+ "83738b": "100f27",
+ "ffffff": "5c8d95",
+ "000000": "000000",
+ "cdd5d5": "38576c",
+ "a49cac": "223657",
+ "182029": "321b32",
+ "4a4a52": "f8faf3",
+ "f69c83": "72557e",
+ "a45a4a": "533960",
+ "313139": "b1a3b1",
+ "6a211f": "c85431",
+ "c5cdd1": "100f27",
+ "ce0a10": "e58142",
+ "f8f9ff": "223657",
+ "622910": "311f3a",
+ "e2e0e3": "e2e0e3",
+ "b6aabc": "b6aabc",
+ "732422": "423655",
+ "af1b1b": "534b6a"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/354-mega.json b/public/images/pokemon/variant/exp/354-mega.json
new file mode 100644
index 00000000000..9e9c1b14f13
--- /dev/null
+++ b/public/images/pokemon/variant/exp/354-mega.json
@@ -0,0 +1,36 @@
+{
+ "1": {
+ "523900": "361a2d",
+ "d59c39": "7d656d",
+ "393141": "431b40",
+ "000000": "000000",
+ "5a5262": "6c2f4c",
+ "7b5a29": "624858",
+ "eebd5a": "b78d90",
+ "7b7481": "934861",
+ "8d859b": "b0697b",
+ "913e5f": "37838b",
+ "c44a8d": "73bdbd",
+ "e7e1ea": "e7e1ea",
+ "ce92c8": "b6f0f7",
+ "512843": "1c4d5d",
+ "ffffff": "ffffff"
+ },
+ "2": {
+ "523900": "151433",
+ "d59c39": "3b3d54",
+ "393141": "3b5d62",
+ "000000": "000000",
+ "5a5262": "71a680",
+ "7b5a29": "292941",
+ "eebd5a": "4d4f5b",
+ "7b7481": "9cbf81",
+ "8d859b": "b6d192",
+ "913e5f": "751a1c",
+ "c44a8d": "983226",
+ "e7e1ea": "e7e1ea",
+ "ce92c8": "d1dcaa",
+ "512843": "4f0209",
+ "ffffff": "ffffff"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/4080_1.json b/public/images/pokemon/variant/exp/4080_1.json
new file mode 100644
index 00000000000..c354ee352dd
--- /dev/null
+++ b/public/images/pokemon/variant/exp/4080_1.json
@@ -0,0 +1,1847 @@
+{
+ "textures": [
+ {
+ "image": "4080_1.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 354,
+ "h": 354
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 78,
+ "h": 60
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 78,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 78,
+ "h": 60
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 78,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 78,
+ "h": 60
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 78,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 78,
+ "h": 60
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 78,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 78,
+ "h": 60
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 78,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 78,
+ "h": 60
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 78,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 78,
+ "h": 60
+ },
+ "frame": {
+ "x": 78,
+ "y": 0,
+ "w": 78,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 78,
+ "h": 58
+ },
+ "frame": {
+ "x": 156,
+ "y": 0,
+ "w": 78,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 78,
+ "h": 58
+ },
+ "frame": {
+ "x": 156,
+ "y": 0,
+ "w": 78,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 78,
+ "h": 58
+ },
+ "frame": {
+ "x": 156,
+ "y": 0,
+ "w": 78,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 78,
+ "h": 58
+ },
+ "frame": {
+ "x": 156,
+ "y": 0,
+ "w": 78,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 78,
+ "h": 58
+ },
+ "frame": {
+ "x": 156,
+ "y": 0,
+ "w": 78,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 78,
+ "h": 58
+ },
+ "frame": {
+ "x": 156,
+ "y": 0,
+ "w": 78,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 78,
+ "h": 56
+ },
+ "frame": {
+ "x": 234,
+ "y": 0,
+ "w": 78,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 78,
+ "h": 56
+ },
+ "frame": {
+ "x": 234,
+ "y": 0,
+ "w": 78,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 78,
+ "h": 56
+ },
+ "frame": {
+ "x": 234,
+ "y": 0,
+ "w": 78,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 78,
+ "h": 56
+ },
+ "frame": {
+ "x": 234,
+ "y": 0,
+ "w": 78,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 78,
+ "h": 56
+ },
+ "frame": {
+ "x": 234,
+ "y": 0,
+ "w": 78,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 78,
+ "h": 56
+ },
+ "frame": {
+ "x": 234,
+ "y": 0,
+ "w": 78,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 77,
+ "h": 56
+ },
+ "frame": {
+ "x": 234,
+ "y": 56,
+ "w": 77,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 77,
+ "h": 56
+ },
+ "frame": {
+ "x": 234,
+ "y": 56,
+ "w": 77,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 77,
+ "h": 56
+ },
+ "frame": {
+ "x": 234,
+ "y": 56,
+ "w": 77,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 75,
+ "h": 60
+ },
+ "frame": {
+ "x": 156,
+ "y": 58,
+ "w": 75,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 75,
+ "h": 60
+ },
+ "frame": {
+ "x": 156,
+ "y": 58,
+ "w": 75,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 75,
+ "h": 60
+ },
+ "frame": {
+ "x": 156,
+ "y": 58,
+ "w": 75,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 75,
+ "h": 60
+ },
+ "frame": {
+ "x": 156,
+ "y": 58,
+ "w": 75,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 75,
+ "h": 60
+ },
+ "frame": {
+ "x": 156,
+ "y": 58,
+ "w": 75,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 75,
+ "h": 60
+ },
+ "frame": {
+ "x": 156,
+ "y": 58,
+ "w": 75,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 75,
+ "h": 60
+ },
+ "frame": {
+ "x": 231,
+ "y": 112,
+ "w": 75,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 0,
+ "w": 74,
+ "h": 60
+ },
+ "frame": {
+ "x": 0,
+ "y": 60,
+ "w": 74,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 73,
+ "h": 60
+ },
+ "frame": {
+ "x": 74,
+ "y": 60,
+ "w": 73,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 73,
+ "h": 60
+ },
+ "frame": {
+ "x": 74,
+ "y": 60,
+ "w": 73,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 73,
+ "h": 60
+ },
+ "frame": {
+ "x": 74,
+ "y": 60,
+ "w": 73,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 73,
+ "h": 60
+ },
+ "frame": {
+ "x": 74,
+ "y": 60,
+ "w": 73,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 73,
+ "h": 60
+ },
+ "frame": {
+ "x": 74,
+ "y": 60,
+ "w": 73,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 73,
+ "h": 60
+ },
+ "frame": {
+ "x": 74,
+ "y": 60,
+ "w": 73,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 73,
+ "h": 60
+ },
+ "frame": {
+ "x": 74,
+ "y": 60,
+ "w": 73,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 73,
+ "h": 60
+ },
+ "frame": {
+ "x": 147,
+ "y": 118,
+ "w": 73,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 73,
+ "h": 60
+ },
+ "frame": {
+ "x": 147,
+ "y": 118,
+ "w": 73,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 73,
+ "h": 60
+ },
+ "frame": {
+ "x": 147,
+ "y": 118,
+ "w": 73,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 73,
+ "h": 60
+ },
+ "frame": {
+ "x": 147,
+ "y": 118,
+ "w": 73,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 73,
+ "h": 60
+ },
+ "frame": {
+ "x": 147,
+ "y": 118,
+ "w": 73,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 73,
+ "h": 60
+ },
+ "frame": {
+ "x": 147,
+ "y": 118,
+ "w": 73,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 73,
+ "h": 60
+ },
+ "frame": {
+ "x": 220,
+ "y": 172,
+ "w": 73,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 73,
+ "h": 60
+ },
+ "frame": {
+ "x": 0,
+ "y": 232,
+ "w": 73,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 72,
+ "h": 60
+ },
+ "frame": {
+ "x": 73,
+ "y": 120,
+ "w": 72,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 72,
+ "h": 60
+ },
+ "frame": {
+ "x": 73,
+ "y": 120,
+ "w": 72,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 72,
+ "h": 60
+ },
+ "frame": {
+ "x": 73,
+ "y": 120,
+ "w": 72,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 72,
+ "h": 60
+ },
+ "frame": {
+ "x": 73,
+ "y": 120,
+ "w": 72,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 72,
+ "h": 60
+ },
+ "frame": {
+ "x": 73,
+ "y": 120,
+ "w": 72,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 72,
+ "h": 60
+ },
+ "frame": {
+ "x": 73,
+ "y": 120,
+ "w": 72,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 72,
+ "h": 60
+ },
+ "frame": {
+ "x": 0,
+ "y": 120,
+ "w": 72,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 72,
+ "h": 60
+ },
+ "frame": {
+ "x": 0,
+ "y": 120,
+ "w": 72,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 72,
+ "h": 60
+ },
+ "frame": {
+ "x": 0,
+ "y": 120,
+ "w": 72,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 72,
+ "h": 60
+ },
+ "frame": {
+ "x": 0,
+ "y": 120,
+ "w": 72,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 72,
+ "h": 60
+ },
+ "frame": {
+ "x": 0,
+ "y": 120,
+ "w": 72,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 72,
+ "h": 60
+ },
+ "frame": {
+ "x": 0,
+ "y": 120,
+ "w": 72,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 72,
+ "h": 60
+ },
+ "frame": {
+ "x": 0,
+ "y": 292,
+ "w": 72,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 71,
+ "h": 60
+ },
+ "frame": {
+ "x": 72,
+ "y": 292,
+ "w": 71,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 70,
+ "h": 60
+ },
+ "frame": {
+ "x": 73,
+ "y": 232,
+ "w": 70,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 1,
+ "w": 70,
+ "h": 59
+ },
+ "frame": {
+ "x": 145,
+ "y": 178,
+ "w": 70,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 1,
+ "w": 70,
+ "h": 59
+ },
+ "frame": {
+ "x": 145,
+ "y": 178,
+ "w": 70,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 1,
+ "w": 70,
+ "h": 59
+ },
+ "frame": {
+ "x": 145,
+ "y": 178,
+ "w": 70,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 1,
+ "w": 70,
+ "h": 59
+ },
+ "frame": {
+ "x": 145,
+ "y": 178,
+ "w": 70,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 1,
+ "w": 70,
+ "h": 59
+ },
+ "frame": {
+ "x": 145,
+ "y": 178,
+ "w": 70,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 1,
+ "w": 70,
+ "h": 59
+ },
+ "frame": {
+ "x": 145,
+ "y": 178,
+ "w": 70,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 1,
+ "w": 70,
+ "h": 59
+ },
+ "frame": {
+ "x": 143,
+ "y": 237,
+ "w": 70,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 1,
+ "w": 70,
+ "h": 59
+ },
+ "frame": {
+ "x": 143,
+ "y": 237,
+ "w": 70,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 1,
+ "w": 70,
+ "h": 59
+ },
+ "frame": {
+ "x": 143,
+ "y": 237,
+ "w": 70,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 1,
+ "w": 70,
+ "h": 59
+ },
+ "frame": {
+ "x": 143,
+ "y": 237,
+ "w": 70,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 2,
+ "w": 70,
+ "h": 58
+ },
+ "frame": {
+ "x": 143,
+ "y": 296,
+ "w": 70,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 2,
+ "w": 70,
+ "h": 58
+ },
+ "frame": {
+ "x": 143,
+ "y": 296,
+ "w": 70,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 2,
+ "w": 69,
+ "h": 58
+ },
+ "frame": {
+ "x": 213,
+ "y": 237,
+ "w": 69,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 2,
+ "w": 69,
+ "h": 58
+ },
+ "frame": {
+ "x": 213,
+ "y": 237,
+ "w": 69,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 2,
+ "w": 69,
+ "h": 58
+ },
+ "frame": {
+ "x": 213,
+ "y": 237,
+ "w": 69,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 2,
+ "w": 69,
+ "h": 58
+ },
+ "frame": {
+ "x": 213,
+ "y": 237,
+ "w": 69,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 2,
+ "w": 69,
+ "h": 58
+ },
+ "frame": {
+ "x": 213,
+ "y": 295,
+ "w": 69,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 2,
+ "w": 69,
+ "h": 58
+ },
+ "frame": {
+ "x": 213,
+ "y": 295,
+ "w": 69,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 3,
+ "w": 69,
+ "h": 57
+ },
+ "frame": {
+ "x": 282,
+ "y": 232,
+ "w": 69,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 3,
+ "w": 69,
+ "h": 57
+ },
+ "frame": {
+ "x": 282,
+ "y": 232,
+ "w": 69,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 3,
+ "w": 69,
+ "h": 57
+ },
+ "frame": {
+ "x": 282,
+ "y": 232,
+ "w": 69,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 3,
+ "w": 69,
+ "h": 57
+ },
+ "frame": {
+ "x": 282,
+ "y": 232,
+ "w": 69,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 3,
+ "w": 69,
+ "h": 57
+ },
+ "frame": {
+ "x": 282,
+ "y": 232,
+ "w": 69,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 3,
+ "w": 69,
+ "h": 57
+ },
+ "frame": {
+ "x": 282,
+ "y": 232,
+ "w": 69,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 3,
+ "w": 68,
+ "h": 57
+ },
+ "frame": {
+ "x": 282,
+ "y": 289,
+ "w": 68,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 3,
+ "w": 68,
+ "h": 57
+ },
+ "frame": {
+ "x": 282,
+ "y": 289,
+ "w": 68,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 82,
+ "h": 60
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 3,
+ "w": 68,
+ "h": 57
+ },
+ "frame": {
+ "x": 282,
+ "y": 289,
+ "w": 68,
+ "h": 57
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:f751b7025eb74f212634d09ef868e2fd:48373c6108edffa25e8637cb1bedde9d:015ff34e49c83f5df583f6ee4f397d44$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/4080_1.png b/public/images/pokemon/variant/exp/4080_1.png
new file mode 100644
index 00000000000..a7e6de6cff7
Binary files /dev/null and b/public/images/pokemon/variant/exp/4080_1.png differ
diff --git a/public/images/pokemon/variant/exp/4199_1.json b/public/images/pokemon/variant/exp/4199_1.json
new file mode 100644
index 00000000000..bc1dd8317dc
--- /dev/null
+++ b/public/images/pokemon/variant/exp/4199_1.json
@@ -0,0 +1,1427 @@
+{
+ "textures": [
+ {
+ "image": "4199_1.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 336,
+ "h": 336
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 49,
+ "h": 68
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 49,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 49,
+ "h": 68
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 49,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 49,
+ "h": 68
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 49,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 49,
+ "h": 68
+ },
+ "frame": {
+ "x": 0,
+ "y": 68,
+ "w": 49,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 49,
+ "h": 68
+ },
+ "frame": {
+ "x": 0,
+ "y": 68,
+ "w": 49,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 49,
+ "h": 68
+ },
+ "frame": {
+ "x": 0,
+ "y": 68,
+ "w": 49,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 49,
+ "h": 68
+ },
+ "frame": {
+ "x": 0,
+ "y": 136,
+ "w": 49,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 49,
+ "h": 68
+ },
+ "frame": {
+ "x": 0,
+ "y": 136,
+ "w": 49,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 49,
+ "h": 68
+ },
+ "frame": {
+ "x": 0,
+ "y": 136,
+ "w": 49,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 49,
+ "h": 68
+ },
+ "frame": {
+ "x": 0,
+ "y": 204,
+ "w": 49,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 49,
+ "h": 68
+ },
+ "frame": {
+ "x": 0,
+ "y": 204,
+ "w": 49,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 50,
+ "h": 66
+ },
+ "frame": {
+ "x": 49,
+ "y": 0,
+ "w": 50,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 50,
+ "h": 66
+ },
+ "frame": {
+ "x": 49,
+ "y": 0,
+ "w": 50,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 49,
+ "h": 66
+ },
+ "frame": {
+ "x": 99,
+ "y": 0,
+ "w": 49,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 49,
+ "h": 66
+ },
+ "frame": {
+ "x": 99,
+ "y": 0,
+ "w": 49,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 48,
+ "h": 68
+ },
+ "frame": {
+ "x": 148,
+ "y": 0,
+ "w": 48,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 48,
+ "h": 68
+ },
+ "frame": {
+ "x": 148,
+ "y": 0,
+ "w": 48,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 48,
+ "h": 68
+ },
+ "frame": {
+ "x": 148,
+ "y": 0,
+ "w": 48,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 48,
+ "h": 68
+ },
+ "frame": {
+ "x": 49,
+ "y": 66,
+ "w": 48,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 48,
+ "h": 68
+ },
+ "frame": {
+ "x": 49,
+ "y": 66,
+ "w": 48,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 48,
+ "h": 68
+ },
+ "frame": {
+ "x": 49,
+ "y": 66,
+ "w": 48,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 68
+ },
+ "frame": {
+ "x": 97,
+ "y": 66,
+ "w": 48,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 68
+ },
+ "frame": {
+ "x": 97,
+ "y": 66,
+ "w": 48,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 68
+ },
+ "frame": {
+ "x": 196,
+ "y": 0,
+ "w": 48,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 68
+ },
+ "frame": {
+ "x": 244,
+ "y": 0,
+ "w": 48,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 49,
+ "y": 134,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 49,
+ "y": 134,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 49,
+ "y": 134,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 49,
+ "y": 134,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 49,
+ "y": 134,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 49,
+ "y": 134,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 49,
+ "y": 134,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 49,
+ "y": 202,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 49,
+ "y": 202,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 49,
+ "y": 202,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 48,
+ "h": 66
+ },
+ "frame": {
+ "x": 49,
+ "y": 270,
+ "w": 48,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 96,
+ "y": 134,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 96,
+ "y": 134,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 96,
+ "y": 134,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 96,
+ "y": 202,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 96,
+ "y": 202,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 96,
+ "y": 202,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 48,
+ "h": 66
+ },
+ "frame": {
+ "x": 97,
+ "y": 270,
+ "w": 48,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 143,
+ "y": 134,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 143,
+ "y": 134,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 143,
+ "y": 134,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 2,
+ "w": 47,
+ "h": 66
+ },
+ "frame": {
+ "x": 145,
+ "y": 68,
+ "w": 47,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 2,
+ "w": 47,
+ "h": 66
+ },
+ "frame": {
+ "x": 145,
+ "y": 68,
+ "w": 47,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 2,
+ "w": 47,
+ "h": 66
+ },
+ "frame": {
+ "x": 145,
+ "y": 68,
+ "w": 47,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 143,
+ "y": 202,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 143,
+ "y": 202,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 47,
+ "h": 66
+ },
+ "frame": {
+ "x": 145,
+ "y": 270,
+ "w": 47,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 47,
+ "h": 66
+ },
+ "frame": {
+ "x": 145,
+ "y": 270,
+ "w": 47,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 47,
+ "h": 66
+ },
+ "frame": {
+ "x": 145,
+ "y": 270,
+ "w": 47,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 190,
+ "y": 134,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 190,
+ "y": 134,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 190,
+ "y": 202,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 190,
+ "y": 202,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 45,
+ "h": 66
+ },
+ "frame": {
+ "x": 192,
+ "y": 68,
+ "w": 45,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 237,
+ "y": 68,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 47,
+ "h": 68
+ },
+ "frame": {
+ "x": 284,
+ "y": 68,
+ "w": 47,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 47,
+ "h": 67
+ },
+ "frame": {
+ "x": 237,
+ "y": 136,
+ "w": 47,
+ "h": 67
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 45,
+ "h": 68
+ },
+ "frame": {
+ "x": 284,
+ "y": 136,
+ "w": 45,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 45,
+ "h": 68
+ },
+ "frame": {
+ "x": 284,
+ "y": 136,
+ "w": 45,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 45,
+ "h": 68
+ },
+ "frame": {
+ "x": 284,
+ "y": 136,
+ "w": 45,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 45,
+ "h": 68
+ },
+ "frame": {
+ "x": 237,
+ "y": 203,
+ "w": 45,
+ "h": 68
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 50,
+ "h": 68
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 45,
+ "h": 67
+ },
+ "frame": {
+ "x": 282,
+ "y": 204,
+ "w": 45,
+ "h": 67
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:722b4c1273b12ad684c196535d4c2856:616856adc356cabcd1e8169ff5230082:427382f12be0d488e7af870a65d1099b$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/4199_1.png b/public/images/pokemon/variant/exp/4199_1.png
new file mode 100644
index 00000000000..4ad5b00b4c7
Binary files /dev/null and b/public/images/pokemon/variant/exp/4199_1.png differ
diff --git a/public/images/pokemon/variant/exp/531-mega.json b/public/images/pokemon/variant/exp/531-mega.json
new file mode 100644
index 00000000000..112b24311c4
--- /dev/null
+++ b/public/images/pokemon/variant/exp/531-mega.json
@@ -0,0 +1,30 @@
+{
+ "1": {
+ "80734d": "7c4b3b",
+ "ffecb2": "fff6f0",
+ "ccb87a": "d6bfb4",
+ "101010": "101010",
+ "b35968": "6b0a46",
+ "ffbfca": "f5a779",
+ "737373": "6b0a46",
+ "f8f8f8": "f0728d",
+ "bfbfbf": "cc3a74",
+ "803346": "f96731",
+ "ffebee": "fcb7c5",
+ "d95777": "870505"
+ },
+ "2": {
+ "80734d": "09232a",
+ "ffecb2": "4bb9a6",
+ "ccb87a": "29878f",
+ "101010": "101010",
+ "b35968": "111322",
+ "ffbfca": "f6e3a8",
+ "737373": "111322",
+ "f8f8f8": "323c52",
+ "bfbfbf": "202537",
+ "803346": "cc6948",
+ "ffebee": "fdf2ce",
+ "d95777": "e8a245"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/6-mega-x_2.json b/public/images/pokemon/variant/exp/6-mega-x_2.json
new file mode 100644
index 00000000000..ae6f233c5fc
--- /dev/null
+++ b/public/images/pokemon/variant/exp/6-mega-x_2.json
@@ -0,0 +1,2351 @@
+{
+ "textures": [
+ {
+ "image": "6-mega-x_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 517,
+ "h": 517
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 89,
+ "h": 87
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 89,
+ "h": 87
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 89,
+ "h": 87
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 89,
+ "h": 87
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 89,
+ "h": 87
+ },
+ "frame": {
+ "x": 0,
+ "y": 87,
+ "w": 89,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 89,
+ "h": 87
+ },
+ "frame": {
+ "x": 0,
+ "y": 87,
+ "w": 89,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 89,
+ "h": 87
+ },
+ "frame": {
+ "x": 0,
+ "y": 87,
+ "w": 89,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 89,
+ "h": 87
+ },
+ "frame": {
+ "x": 0,
+ "y": 87,
+ "w": 89,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 89,
+ "h": 87
+ },
+ "frame": {
+ "x": 0,
+ "y": 87,
+ "w": 89,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 89,
+ "h": 87
+ },
+ "frame": {
+ "x": 0,
+ "y": 174,
+ "w": 89,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 88,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 261,
+ "w": 88,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 88,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 261,
+ "w": 88,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 88,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 261,
+ "w": 88,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 88,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 261,
+ "w": 88,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 88,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 261,
+ "w": 88,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 88,
+ "h": 86
+ },
+ "frame": {
+ "x": 88,
+ "y": 261,
+ "w": 88,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 88,
+ "h": 86
+ },
+ "frame": {
+ "x": 88,
+ "y": 261,
+ "w": 88,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 88,
+ "h": 86
+ },
+ "frame": {
+ "x": 88,
+ "y": 261,
+ "w": 88,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 88,
+ "h": 86
+ },
+ "frame": {
+ "x": 88,
+ "y": 261,
+ "w": 88,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 88,
+ "h": 86
+ },
+ "frame": {
+ "x": 88,
+ "y": 261,
+ "w": 88,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 88,
+ "h": 86
+ },
+ "frame": {
+ "x": 89,
+ "y": 0,
+ "w": 88,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 88,
+ "h": 86
+ },
+ "frame": {
+ "x": 89,
+ "y": 0,
+ "w": 88,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 88,
+ "h": 86
+ },
+ "frame": {
+ "x": 89,
+ "y": 0,
+ "w": 88,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 88,
+ "h": 86
+ },
+ "frame": {
+ "x": 89,
+ "y": 0,
+ "w": 88,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 88,
+ "h": 86
+ },
+ "frame": {
+ "x": 89,
+ "y": 86,
+ "w": 88,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 88,
+ "h": 86
+ },
+ "frame": {
+ "x": 89,
+ "y": 86,
+ "w": 88,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 88,
+ "h": 86
+ },
+ "frame": {
+ "x": 89,
+ "y": 86,
+ "w": 88,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 88,
+ "h": 86
+ },
+ "frame": {
+ "x": 89,
+ "y": 86,
+ "w": 88,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 87,
+ "h": 88
+ },
+ "frame": {
+ "x": 176,
+ "y": 172,
+ "w": 87,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 87,
+ "h": 88
+ },
+ "frame": {
+ "x": 176,
+ "y": 172,
+ "w": 87,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 87,
+ "h": 88
+ },
+ "frame": {
+ "x": 176,
+ "y": 172,
+ "w": 87,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 87,
+ "h": 88
+ },
+ "frame": {
+ "x": 176,
+ "y": 172,
+ "w": 87,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 87,
+ "h": 88
+ },
+ "frame": {
+ "x": 176,
+ "y": 172,
+ "w": 87,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 87,
+ "h": 88
+ },
+ "frame": {
+ "x": 89,
+ "y": 172,
+ "w": 87,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 87,
+ "h": 88
+ },
+ "frame": {
+ "x": 89,
+ "y": 172,
+ "w": 87,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 87,
+ "h": 88
+ },
+ "frame": {
+ "x": 89,
+ "y": 172,
+ "w": 87,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 87,
+ "h": 88
+ },
+ "frame": {
+ "x": 89,
+ "y": 172,
+ "w": 87,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 87,
+ "h": 88
+ },
+ "frame": {
+ "x": 89,
+ "y": 172,
+ "w": 87,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 88,
+ "h": 86
+ },
+ "frame": {
+ "x": 177,
+ "y": 0,
+ "w": 88,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 88,
+ "h": 86
+ },
+ "frame": {
+ "x": 177,
+ "y": 86,
+ "w": 88,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 87,
+ "h": 85
+ },
+ "frame": {
+ "x": 176,
+ "y": 260,
+ "w": 87,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 87,
+ "h": 85
+ },
+ "frame": {
+ "x": 176,
+ "y": 260,
+ "w": 87,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 87,
+ "h": 85
+ },
+ "frame": {
+ "x": 176,
+ "y": 260,
+ "w": 87,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 87,
+ "h": 85
+ },
+ "frame": {
+ "x": 176,
+ "y": 260,
+ "w": 87,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 87,
+ "h": 85
+ },
+ "frame": {
+ "x": 176,
+ "y": 260,
+ "w": 87,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 87,
+ "h": 85
+ },
+ "frame": {
+ "x": 176,
+ "y": 345,
+ "w": 87,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 87,
+ "h": 85
+ },
+ "frame": {
+ "x": 176,
+ "y": 345,
+ "w": 87,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 87,
+ "h": 85
+ },
+ "frame": {
+ "x": 176,
+ "y": 345,
+ "w": 87,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 87,
+ "h": 85
+ },
+ "frame": {
+ "x": 176,
+ "y": 345,
+ "w": 87,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 87,
+ "h": 85
+ },
+ "frame": {
+ "x": 176,
+ "y": 345,
+ "w": 87,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 87,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 347,
+ "w": 87,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 87,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 347,
+ "w": 87,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 87,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 347,
+ "w": 87,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 87,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 347,
+ "w": 87,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 85,
+ "h": 87
+ },
+ "frame": {
+ "x": 87,
+ "y": 347,
+ "w": 85,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 85,
+ "h": 87
+ },
+ "frame": {
+ "x": 87,
+ "y": 347,
+ "w": 85,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 85,
+ "h": 87
+ },
+ "frame": {
+ "x": 87,
+ "y": 347,
+ "w": 85,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 85,
+ "h": 87
+ },
+ "frame": {
+ "x": 87,
+ "y": 347,
+ "w": 85,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 85,
+ "h": 87
+ },
+ "frame": {
+ "x": 87,
+ "y": 347,
+ "w": 85,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 87,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 432,
+ "w": 87,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 87,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 432,
+ "w": 87,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 87,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 432,
+ "w": 87,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 87,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 432,
+ "w": 87,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 87,
+ "h": 85
+ },
+ "frame": {
+ "x": 172,
+ "y": 430,
+ "w": 87,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 5,
+ "w": 85,
+ "h": 83
+ },
+ "frame": {
+ "x": 87,
+ "y": 434,
+ "w": 85,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 5,
+ "w": 85,
+ "h": 83
+ },
+ "frame": {
+ "x": 87,
+ "y": 434,
+ "w": 85,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 5,
+ "w": 85,
+ "h": 83
+ },
+ "frame": {
+ "x": 87,
+ "y": 434,
+ "w": 85,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 5,
+ "w": 85,
+ "h": 83
+ },
+ "frame": {
+ "x": 87,
+ "y": 434,
+ "w": 85,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 87,
+ "h": 85
+ },
+ "frame": {
+ "x": 259,
+ "y": 430,
+ "w": 87,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 85,
+ "h": 87
+ },
+ "frame": {
+ "x": 263,
+ "y": 172,
+ "w": 85,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 85,
+ "h": 87
+ },
+ "frame": {
+ "x": 263,
+ "y": 172,
+ "w": 85,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 85,
+ "h": 87
+ },
+ "frame": {
+ "x": 263,
+ "y": 172,
+ "w": 85,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 85,
+ "h": 87
+ },
+ "frame": {
+ "x": 263,
+ "y": 172,
+ "w": 85,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 85,
+ "h": 87
+ },
+ "frame": {
+ "x": 263,
+ "y": 172,
+ "w": 85,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 5,
+ "w": 85,
+ "h": 83
+ },
+ "frame": {
+ "x": 265,
+ "y": 0,
+ "w": 85,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 5,
+ "w": 85,
+ "h": 83
+ },
+ "frame": {
+ "x": 265,
+ "y": 0,
+ "w": 85,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 5,
+ "w": 85,
+ "h": 83
+ },
+ "frame": {
+ "x": 265,
+ "y": 0,
+ "w": 85,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 5,
+ "w": 85,
+ "h": 83
+ },
+ "frame": {
+ "x": 265,
+ "y": 0,
+ "w": 85,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 5,
+ "w": 85,
+ "h": 83
+ },
+ "frame": {
+ "x": 265,
+ "y": 83,
+ "w": 85,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 5,
+ "w": 85,
+ "h": 83
+ },
+ "frame": {
+ "x": 263,
+ "y": 259,
+ "w": 85,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 84,
+ "h": 84
+ },
+ "frame": {
+ "x": 346,
+ "y": 342,
+ "w": 84,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 84,
+ "h": 84
+ },
+ "frame": {
+ "x": 346,
+ "y": 342,
+ "w": 84,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 84,
+ "h": 84
+ },
+ "frame": {
+ "x": 346,
+ "y": 342,
+ "w": 84,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 84,
+ "h": 84
+ },
+ "frame": {
+ "x": 346,
+ "y": 342,
+ "w": 84,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 6,
+ "w": 82,
+ "h": 82
+ },
+ "frame": {
+ "x": 263,
+ "y": 342,
+ "w": 82,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 6,
+ "w": 82,
+ "h": 82
+ },
+ "frame": {
+ "x": 263,
+ "y": 342,
+ "w": 82,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 6,
+ "w": 82,
+ "h": 82
+ },
+ "frame": {
+ "x": 263,
+ "y": 342,
+ "w": 82,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 6,
+ "w": 82,
+ "h": 82
+ },
+ "frame": {
+ "x": 263,
+ "y": 342,
+ "w": 82,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 84,
+ "h": 83
+ },
+ "frame": {
+ "x": 346,
+ "y": 426,
+ "w": 84,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 84,
+ "h": 83
+ },
+ "frame": {
+ "x": 346,
+ "y": 426,
+ "w": 84,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 84,
+ "h": 83
+ },
+ "frame": {
+ "x": 346,
+ "y": 426,
+ "w": 84,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 84,
+ "h": 83
+ },
+ "frame": {
+ "x": 346,
+ "y": 426,
+ "w": 84,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 84,
+ "h": 83
+ },
+ "frame": {
+ "x": 348,
+ "y": 166,
+ "w": 84,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 84,
+ "h": 83
+ },
+ "frame": {
+ "x": 348,
+ "y": 166,
+ "w": 84,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 84,
+ "h": 83
+ },
+ "frame": {
+ "x": 348,
+ "y": 166,
+ "w": 84,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 84,
+ "h": 83
+ },
+ "frame": {
+ "x": 348,
+ "y": 166,
+ "w": 84,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 84,
+ "h": 83
+ },
+ "frame": {
+ "x": 350,
+ "y": 0,
+ "w": 84,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 84,
+ "h": 83
+ },
+ "frame": {
+ "x": 350,
+ "y": 0,
+ "w": 84,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 84,
+ "h": 83
+ },
+ "frame": {
+ "x": 350,
+ "y": 0,
+ "w": 84,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 84,
+ "h": 83
+ },
+ "frame": {
+ "x": 350,
+ "y": 0,
+ "w": 84,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 84,
+ "h": 83
+ },
+ "frame": {
+ "x": 350,
+ "y": 83,
+ "w": 84,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 84,
+ "h": 83
+ },
+ "frame": {
+ "x": 348,
+ "y": 249,
+ "w": 84,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 84,
+ "h": 83
+ },
+ "frame": {
+ "x": 430,
+ "y": 332,
+ "w": 84,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 84,
+ "h": 83
+ },
+ "frame": {
+ "x": 430,
+ "y": 415,
+ "w": 84,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 84,
+ "h": 82
+ },
+ "frame": {
+ "x": 432,
+ "y": 166,
+ "w": 84,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 6,
+ "w": 82,
+ "h": 82
+ },
+ "frame": {
+ "x": 432,
+ "y": 248,
+ "w": 82,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 6,
+ "w": 82,
+ "h": 82
+ },
+ "frame": {
+ "x": 432,
+ "y": 248,
+ "w": 82,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 6,
+ "w": 82,
+ "h": 82
+ },
+ "frame": {
+ "x": 432,
+ "y": 248,
+ "w": 82,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 6,
+ "w": 82,
+ "h": 82
+ },
+ "frame": {
+ "x": 432,
+ "y": 248,
+ "w": 82,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 8,
+ "w": 81,
+ "h": 80
+ },
+ "frame": {
+ "x": 434,
+ "y": 0,
+ "w": 81,
+ "h": 80
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 8,
+ "w": 81,
+ "h": 80
+ },
+ "frame": {
+ "x": 434,
+ "y": 80,
+ "w": 81,
+ "h": 80
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:7d351407e1d0a4e03d4dc0d698052088:cb0796fcf2b431cd29c51bd1e9ac3bcb:32b3c4da50b10827622193937c163dd3$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/6-mega-x_2.png b/public/images/pokemon/variant/exp/6-mega-x_2.png
new file mode 100644
index 00000000000..1aafc38ba81
Binary files /dev/null and b/public/images/pokemon/variant/exp/6-mega-x_2.png differ
diff --git a/public/images/pokemon/variant/exp/6-mega-x_3.json b/public/images/pokemon/variant/exp/6-mega-x_3.json
new file mode 100644
index 00000000000..cde83927cc4
--- /dev/null
+++ b/public/images/pokemon/variant/exp/6-mega-x_3.json
@@ -0,0 +1,2351 @@
+{
+ "textures": [
+ {
+ "image": "6-mega-x_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 517,
+ "h": 517
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 89,
+ "h": 87
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 89,
+ "h": 87
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 89,
+ "h": 87
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 89,
+ "h": 87
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 89,
+ "h": 87
+ },
+ "frame": {
+ "x": 0,
+ "y": 87,
+ "w": 89,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 89,
+ "h": 87
+ },
+ "frame": {
+ "x": 0,
+ "y": 87,
+ "w": 89,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 89,
+ "h": 87
+ },
+ "frame": {
+ "x": 0,
+ "y": 87,
+ "w": 89,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 89,
+ "h": 87
+ },
+ "frame": {
+ "x": 0,
+ "y": 87,
+ "w": 89,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 89,
+ "h": 87
+ },
+ "frame": {
+ "x": 0,
+ "y": 87,
+ "w": 89,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 89,
+ "h": 87
+ },
+ "frame": {
+ "x": 0,
+ "y": 174,
+ "w": 89,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 88,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 261,
+ "w": 88,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 88,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 261,
+ "w": 88,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 88,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 261,
+ "w": 88,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 88,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 261,
+ "w": 88,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 88,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 261,
+ "w": 88,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 88,
+ "h": 86
+ },
+ "frame": {
+ "x": 88,
+ "y": 261,
+ "w": 88,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 88,
+ "h": 86
+ },
+ "frame": {
+ "x": 88,
+ "y": 261,
+ "w": 88,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 88,
+ "h": 86
+ },
+ "frame": {
+ "x": 88,
+ "y": 261,
+ "w": 88,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 88,
+ "h": 86
+ },
+ "frame": {
+ "x": 88,
+ "y": 261,
+ "w": 88,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 88,
+ "h": 86
+ },
+ "frame": {
+ "x": 88,
+ "y": 261,
+ "w": 88,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 88,
+ "h": 86
+ },
+ "frame": {
+ "x": 89,
+ "y": 0,
+ "w": 88,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 88,
+ "h": 86
+ },
+ "frame": {
+ "x": 89,
+ "y": 0,
+ "w": 88,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 88,
+ "h": 86
+ },
+ "frame": {
+ "x": 89,
+ "y": 0,
+ "w": 88,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 88,
+ "h": 86
+ },
+ "frame": {
+ "x": 89,
+ "y": 0,
+ "w": 88,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 88,
+ "h": 86
+ },
+ "frame": {
+ "x": 89,
+ "y": 86,
+ "w": 88,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 88,
+ "h": 86
+ },
+ "frame": {
+ "x": 89,
+ "y": 86,
+ "w": 88,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 88,
+ "h": 86
+ },
+ "frame": {
+ "x": 89,
+ "y": 86,
+ "w": 88,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 88,
+ "h": 86
+ },
+ "frame": {
+ "x": 89,
+ "y": 86,
+ "w": 88,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 87,
+ "h": 88
+ },
+ "frame": {
+ "x": 176,
+ "y": 172,
+ "w": 87,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 87,
+ "h": 88
+ },
+ "frame": {
+ "x": 176,
+ "y": 172,
+ "w": 87,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 87,
+ "h": 88
+ },
+ "frame": {
+ "x": 176,
+ "y": 172,
+ "w": 87,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 87,
+ "h": 88
+ },
+ "frame": {
+ "x": 176,
+ "y": 172,
+ "w": 87,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 87,
+ "h": 88
+ },
+ "frame": {
+ "x": 176,
+ "y": 172,
+ "w": 87,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 87,
+ "h": 88
+ },
+ "frame": {
+ "x": 89,
+ "y": 172,
+ "w": 87,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 87,
+ "h": 88
+ },
+ "frame": {
+ "x": 89,
+ "y": 172,
+ "w": 87,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 87,
+ "h": 88
+ },
+ "frame": {
+ "x": 89,
+ "y": 172,
+ "w": 87,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 87,
+ "h": 88
+ },
+ "frame": {
+ "x": 89,
+ "y": 172,
+ "w": 87,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 87,
+ "h": 88
+ },
+ "frame": {
+ "x": 89,
+ "y": 172,
+ "w": 87,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 88,
+ "h": 86
+ },
+ "frame": {
+ "x": 177,
+ "y": 0,
+ "w": 88,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 88,
+ "h": 86
+ },
+ "frame": {
+ "x": 177,
+ "y": 86,
+ "w": 88,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 87,
+ "h": 85
+ },
+ "frame": {
+ "x": 176,
+ "y": 260,
+ "w": 87,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 87,
+ "h": 85
+ },
+ "frame": {
+ "x": 176,
+ "y": 260,
+ "w": 87,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 87,
+ "h": 85
+ },
+ "frame": {
+ "x": 176,
+ "y": 260,
+ "w": 87,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 87,
+ "h": 85
+ },
+ "frame": {
+ "x": 176,
+ "y": 260,
+ "w": 87,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 87,
+ "h": 85
+ },
+ "frame": {
+ "x": 176,
+ "y": 260,
+ "w": 87,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 87,
+ "h": 85
+ },
+ "frame": {
+ "x": 176,
+ "y": 345,
+ "w": 87,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 87,
+ "h": 85
+ },
+ "frame": {
+ "x": 176,
+ "y": 345,
+ "w": 87,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 87,
+ "h": 85
+ },
+ "frame": {
+ "x": 176,
+ "y": 345,
+ "w": 87,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 87,
+ "h": 85
+ },
+ "frame": {
+ "x": 176,
+ "y": 345,
+ "w": 87,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 87,
+ "h": 85
+ },
+ "frame": {
+ "x": 176,
+ "y": 345,
+ "w": 87,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 87,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 347,
+ "w": 87,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 87,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 347,
+ "w": 87,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 87,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 347,
+ "w": 87,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 87,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 347,
+ "w": 87,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 85,
+ "h": 87
+ },
+ "frame": {
+ "x": 87,
+ "y": 347,
+ "w": 85,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 85,
+ "h": 87
+ },
+ "frame": {
+ "x": 87,
+ "y": 347,
+ "w": 85,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 85,
+ "h": 87
+ },
+ "frame": {
+ "x": 87,
+ "y": 347,
+ "w": 85,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 85,
+ "h": 87
+ },
+ "frame": {
+ "x": 87,
+ "y": 347,
+ "w": 85,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 85,
+ "h": 87
+ },
+ "frame": {
+ "x": 87,
+ "y": 347,
+ "w": 85,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 87,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 432,
+ "w": 87,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 87,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 432,
+ "w": 87,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 87,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 432,
+ "w": 87,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 87,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 432,
+ "w": 87,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 87,
+ "h": 85
+ },
+ "frame": {
+ "x": 172,
+ "y": 430,
+ "w": 87,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 5,
+ "w": 85,
+ "h": 83
+ },
+ "frame": {
+ "x": 87,
+ "y": 434,
+ "w": 85,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 5,
+ "w": 85,
+ "h": 83
+ },
+ "frame": {
+ "x": 87,
+ "y": 434,
+ "w": 85,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 5,
+ "w": 85,
+ "h": 83
+ },
+ "frame": {
+ "x": 87,
+ "y": 434,
+ "w": 85,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 5,
+ "w": 85,
+ "h": 83
+ },
+ "frame": {
+ "x": 87,
+ "y": 434,
+ "w": 85,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 87,
+ "h": 85
+ },
+ "frame": {
+ "x": 259,
+ "y": 430,
+ "w": 87,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 85,
+ "h": 87
+ },
+ "frame": {
+ "x": 263,
+ "y": 172,
+ "w": 85,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 85,
+ "h": 87
+ },
+ "frame": {
+ "x": 263,
+ "y": 172,
+ "w": 85,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 85,
+ "h": 87
+ },
+ "frame": {
+ "x": 263,
+ "y": 172,
+ "w": 85,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 85,
+ "h": 87
+ },
+ "frame": {
+ "x": 263,
+ "y": 172,
+ "w": 85,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 85,
+ "h": 87
+ },
+ "frame": {
+ "x": 263,
+ "y": 172,
+ "w": 85,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 5,
+ "w": 85,
+ "h": 83
+ },
+ "frame": {
+ "x": 265,
+ "y": 0,
+ "w": 85,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 5,
+ "w": 85,
+ "h": 83
+ },
+ "frame": {
+ "x": 265,
+ "y": 0,
+ "w": 85,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 5,
+ "w": 85,
+ "h": 83
+ },
+ "frame": {
+ "x": 265,
+ "y": 0,
+ "w": 85,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 5,
+ "w": 85,
+ "h": 83
+ },
+ "frame": {
+ "x": 265,
+ "y": 0,
+ "w": 85,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 5,
+ "w": 85,
+ "h": 83
+ },
+ "frame": {
+ "x": 265,
+ "y": 83,
+ "w": 85,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 5,
+ "w": 85,
+ "h": 83
+ },
+ "frame": {
+ "x": 263,
+ "y": 259,
+ "w": 85,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 84,
+ "h": 84
+ },
+ "frame": {
+ "x": 346,
+ "y": 342,
+ "w": 84,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 84,
+ "h": 84
+ },
+ "frame": {
+ "x": 346,
+ "y": 342,
+ "w": 84,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 84,
+ "h": 84
+ },
+ "frame": {
+ "x": 346,
+ "y": 342,
+ "w": 84,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 84,
+ "h": 84
+ },
+ "frame": {
+ "x": 346,
+ "y": 342,
+ "w": 84,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 6,
+ "w": 82,
+ "h": 82
+ },
+ "frame": {
+ "x": 263,
+ "y": 342,
+ "w": 82,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 6,
+ "w": 82,
+ "h": 82
+ },
+ "frame": {
+ "x": 263,
+ "y": 342,
+ "w": 82,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 6,
+ "w": 82,
+ "h": 82
+ },
+ "frame": {
+ "x": 263,
+ "y": 342,
+ "w": 82,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 6,
+ "w": 82,
+ "h": 82
+ },
+ "frame": {
+ "x": 263,
+ "y": 342,
+ "w": 82,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 84,
+ "h": 83
+ },
+ "frame": {
+ "x": 346,
+ "y": 426,
+ "w": 84,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 84,
+ "h": 83
+ },
+ "frame": {
+ "x": 346,
+ "y": 426,
+ "w": 84,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 84,
+ "h": 83
+ },
+ "frame": {
+ "x": 346,
+ "y": 426,
+ "w": 84,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 84,
+ "h": 83
+ },
+ "frame": {
+ "x": 346,
+ "y": 426,
+ "w": 84,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 84,
+ "h": 83
+ },
+ "frame": {
+ "x": 348,
+ "y": 166,
+ "w": 84,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 84,
+ "h": 83
+ },
+ "frame": {
+ "x": 348,
+ "y": 166,
+ "w": 84,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 84,
+ "h": 83
+ },
+ "frame": {
+ "x": 348,
+ "y": 166,
+ "w": 84,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 84,
+ "h": 83
+ },
+ "frame": {
+ "x": 348,
+ "y": 166,
+ "w": 84,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 84,
+ "h": 83
+ },
+ "frame": {
+ "x": 350,
+ "y": 0,
+ "w": 84,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 84,
+ "h": 83
+ },
+ "frame": {
+ "x": 350,
+ "y": 0,
+ "w": 84,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 84,
+ "h": 83
+ },
+ "frame": {
+ "x": 350,
+ "y": 0,
+ "w": 84,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 84,
+ "h": 83
+ },
+ "frame": {
+ "x": 350,
+ "y": 0,
+ "w": 84,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 84,
+ "h": 83
+ },
+ "frame": {
+ "x": 350,
+ "y": 83,
+ "w": 84,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 84,
+ "h": 83
+ },
+ "frame": {
+ "x": 348,
+ "y": 249,
+ "w": 84,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 84,
+ "h": 83
+ },
+ "frame": {
+ "x": 430,
+ "y": 332,
+ "w": 84,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 84,
+ "h": 83
+ },
+ "frame": {
+ "x": 430,
+ "y": 415,
+ "w": 84,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 84,
+ "h": 82
+ },
+ "frame": {
+ "x": 432,
+ "y": 166,
+ "w": 84,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 6,
+ "w": 82,
+ "h": 82
+ },
+ "frame": {
+ "x": 432,
+ "y": 248,
+ "w": 82,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 6,
+ "w": 82,
+ "h": 82
+ },
+ "frame": {
+ "x": 432,
+ "y": 248,
+ "w": 82,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 6,
+ "w": 82,
+ "h": 82
+ },
+ "frame": {
+ "x": 432,
+ "y": 248,
+ "w": 82,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 6,
+ "w": 82,
+ "h": 82
+ },
+ "frame": {
+ "x": 432,
+ "y": 248,
+ "w": 82,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 8,
+ "w": 81,
+ "h": 80
+ },
+ "frame": {
+ "x": 434,
+ "y": 0,
+ "w": 81,
+ "h": 80
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 8,
+ "w": 81,
+ "h": 80
+ },
+ "frame": {
+ "x": 434,
+ "y": 80,
+ "w": 81,
+ "h": 80
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:7d351407e1d0a4e03d4dc0d698052088:cb0796fcf2b431cd29c51bd1e9ac3bcb:32b3c4da50b10827622193937c163dd3$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/6-mega-x_3.png b/public/images/pokemon/variant/exp/6-mega-x_3.png
new file mode 100644
index 00000000000..ae294a8aa47
Binary files /dev/null and b/public/images/pokemon/variant/exp/6-mega-x_3.png differ
diff --git a/public/images/pokemon/variant/exp/6-mega-y_2.json b/public/images/pokemon/variant/exp/6-mega-y_2.json
new file mode 100644
index 00000000000..ef19c29a858
--- /dev/null
+++ b/public/images/pokemon/variant/exp/6-mega-y_2.json
@@ -0,0 +1,566 @@
+{
+ "textures": [
+ {
+ "image": "6-mega-y_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 499,
+ "h": 499
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 95,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 95,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 95,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 85,
+ "w": 95,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 94,
+ "h": 85
+ },
+ "frame": {
+ "x": 95,
+ "y": 0,
+ "w": 94,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 92,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 170,
+ "w": 92,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 92,
+ "h": 84
+ },
+ "frame": {
+ "x": 95,
+ "y": 85,
+ "w": 92,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 91,
+ "h": 85
+ },
+ "frame": {
+ "x": 189,
+ "y": 0,
+ "w": 91,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 91,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 255,
+ "w": 91,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 92,
+ "h": 84
+ },
+ "frame": {
+ "x": 187,
+ "y": 85,
+ "w": 92,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 90,
+ "h": 85
+ },
+ "frame": {
+ "x": 280,
+ "y": 0,
+ "w": 90,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 91,
+ "h": 84
+ },
+ "frame": {
+ "x": 0,
+ "y": 340,
+ "w": 91,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 90,
+ "h": 84
+ },
+ "frame": {
+ "x": 279,
+ "y": 85,
+ "w": 90,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 90,
+ "h": 84
+ },
+ "frame": {
+ "x": 370,
+ "y": 0,
+ "w": 90,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 89,
+ "h": 84
+ },
+ "frame": {
+ "x": 95,
+ "y": 169,
+ "w": 89,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 1,
+ "w": 89,
+ "h": 84
+ },
+ "frame": {
+ "x": 184,
+ "y": 169,
+ "w": 89,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 89,
+ "h": 84
+ },
+ "frame": {
+ "x": 273,
+ "y": 169,
+ "w": 89,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 87,
+ "h": 84
+ },
+ "frame": {
+ "x": 362,
+ "y": 169,
+ "w": 87,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 87,
+ "h": 85
+ },
+ "frame": {
+ "x": 370,
+ "y": 84,
+ "w": 87,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 2,
+ "w": 89,
+ "h": 83
+ },
+ "frame": {
+ "x": 92,
+ "y": 253,
+ "w": 89,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 87,
+ "h": 85
+ },
+ "frame": {
+ "x": 91,
+ "y": 336,
+ "w": 87,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 2,
+ "w": 88,
+ "h": 83
+ },
+ "frame": {
+ "x": 181,
+ "y": 253,
+ "w": 88,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 3,
+ "w": 88,
+ "h": 82
+ },
+ "frame": {
+ "x": 178,
+ "y": 336,
+ "w": 88,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 4,
+ "w": 87,
+ "h": 81
+ },
+ "frame": {
+ "x": 178,
+ "y": 418,
+ "w": 87,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 3,
+ "w": 88,
+ "h": 82
+ },
+ "frame": {
+ "x": 269,
+ "y": 253,
+ "w": 88,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 3,
+ "w": 87,
+ "h": 82
+ },
+ "frame": {
+ "x": 357,
+ "y": 253,
+ "w": 87,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 2,
+ "w": 86,
+ "h": 83
+ },
+ "frame": {
+ "x": 269,
+ "y": 335,
+ "w": 86,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 2,
+ "w": 84,
+ "h": 83
+ },
+ "frame": {
+ "x": 355,
+ "y": 335,
+ "w": 84,
+ "h": 83
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:fd348eaeb97bc0ebbecbcfa7129e74e4:3872d03522836a6cafe1d6cb66b4fe0b:c409677bb6775acab5f1bcff6530455e$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/6-mega-y_2.png b/public/images/pokemon/variant/exp/6-mega-y_2.png
new file mode 100644
index 00000000000..a0fa6c56d80
Binary files /dev/null and b/public/images/pokemon/variant/exp/6-mega-y_2.png differ
diff --git a/public/images/pokemon/variant/exp/6-mega-y_3.json b/public/images/pokemon/variant/exp/6-mega-y_3.json
new file mode 100644
index 00000000000..bdc27076210
--- /dev/null
+++ b/public/images/pokemon/variant/exp/6-mega-y_3.json
@@ -0,0 +1,566 @@
+{
+ "textures": [
+ {
+ "image": "6-mega-y_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 499,
+ "h": 499
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 95,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 95,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 95,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 85,
+ "w": 95,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 94,
+ "h": 85
+ },
+ "frame": {
+ "x": 95,
+ "y": 0,
+ "w": 94,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 92,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 170,
+ "w": 92,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 92,
+ "h": 84
+ },
+ "frame": {
+ "x": 95,
+ "y": 85,
+ "w": 92,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 91,
+ "h": 85
+ },
+ "frame": {
+ "x": 189,
+ "y": 0,
+ "w": 91,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 91,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 255,
+ "w": 91,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 92,
+ "h": 84
+ },
+ "frame": {
+ "x": 187,
+ "y": 85,
+ "w": 92,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 90,
+ "h": 85
+ },
+ "frame": {
+ "x": 280,
+ "y": 0,
+ "w": 90,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 91,
+ "h": 84
+ },
+ "frame": {
+ "x": 0,
+ "y": 340,
+ "w": 91,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 90,
+ "h": 84
+ },
+ "frame": {
+ "x": 279,
+ "y": 85,
+ "w": 90,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 90,
+ "h": 84
+ },
+ "frame": {
+ "x": 370,
+ "y": 0,
+ "w": 90,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 89,
+ "h": 84
+ },
+ "frame": {
+ "x": 95,
+ "y": 169,
+ "w": 89,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 1,
+ "w": 89,
+ "h": 84
+ },
+ "frame": {
+ "x": 184,
+ "y": 169,
+ "w": 89,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 89,
+ "h": 84
+ },
+ "frame": {
+ "x": 273,
+ "y": 169,
+ "w": 89,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 87,
+ "h": 84
+ },
+ "frame": {
+ "x": 362,
+ "y": 169,
+ "w": 87,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 87,
+ "h": 85
+ },
+ "frame": {
+ "x": 370,
+ "y": 84,
+ "w": 87,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 2,
+ "w": 89,
+ "h": 83
+ },
+ "frame": {
+ "x": 92,
+ "y": 253,
+ "w": 89,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 87,
+ "h": 85
+ },
+ "frame": {
+ "x": 91,
+ "y": 336,
+ "w": 87,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 2,
+ "w": 88,
+ "h": 83
+ },
+ "frame": {
+ "x": 181,
+ "y": 253,
+ "w": 88,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 3,
+ "w": 88,
+ "h": 82
+ },
+ "frame": {
+ "x": 178,
+ "y": 336,
+ "w": 88,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 4,
+ "w": 87,
+ "h": 81
+ },
+ "frame": {
+ "x": 178,
+ "y": 418,
+ "w": 87,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 3,
+ "w": 88,
+ "h": 82
+ },
+ "frame": {
+ "x": 269,
+ "y": 253,
+ "w": 88,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 3,
+ "w": 87,
+ "h": 82
+ },
+ "frame": {
+ "x": 357,
+ "y": 253,
+ "w": 87,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 2,
+ "w": 86,
+ "h": 83
+ },
+ "frame": {
+ "x": 269,
+ "y": 335,
+ "w": 86,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 95,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 2,
+ "w": 84,
+ "h": 83
+ },
+ "frame": {
+ "x": 355,
+ "y": 335,
+ "w": 84,
+ "h": 83
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:fd348eaeb97bc0ebbecbcfa7129e74e4:3872d03522836a6cafe1d6cb66b4fe0b:c409677bb6775acab5f1bcff6530455e$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/6-mega-y_3.png b/public/images/pokemon/variant/exp/6-mega-y_3.png
new file mode 100644
index 00000000000..a31753d4492
Binary files /dev/null and b/public/images/pokemon/variant/exp/6-mega-y_3.png differ
diff --git a/public/images/pokemon/variant/exp/666-meadow_2.json b/public/images/pokemon/variant/exp/666-meadow_2.json
index de3eff9b514..4d4d4d16147 100644
--- a/public/images/pokemon/variant/exp/666-meadow_2.json
+++ b/public/images/pokemon/variant/exp/666-meadow_2.json
@@ -4,177 +4,30 @@
"image": "666-meadow_2.png",
"format": "RGBA8888",
"size": {
- "w": 243,
- "h": 243
+ "w": 346,
+ "h": 346
},
"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
+ "w": 67,
+ "h": 74
},
"spriteSourceSize": {
- "x": 7,
- "y": 3,
- "w": 69,
- "h": 89
+ "x": 0,
+ "y": 1,
+ "w": 67,
+ "h": 69
},
"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,
+ "x": 0,
"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
+ "w": 67,
+ "h": 69
}
},
{
@@ -182,104 +35,125 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 84,
- "h": 93
+ "w": 67,
+ "h": 74
},
"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,
+ "x": 0,
"y": 1,
- "w": 51,
- "h": 86
+ "w": 67,
+ "h": 69
},
"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,
+ "x": 0,
"y": 0,
- "w": 46,
- "h": 86
+ "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": 197,
- "y": 86,
- "w": 46,
- "h": 86
+ "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
}
},
{
@@ -287,20 +161,1112 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 84,
- "h": 93
+ "w": 67,
+ "h": 74
},
"spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 46,
- "h": 86
+ "x": 0,
+ "y": 3,
+ "w": 67,
+ "h": 69
},
"frame": {
- "x": 197,
- "y": 86,
- "w": 46,
- "h": 86
+ "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
}
}
]
@@ -311,4 +1277,4 @@
"version": "3.0",
"smartupdate": "$TexturePacker:SmartUpdate:223ce33721ef8da9ff40286099c20de4:b82acd304c2a8b8cebeda2043a3e1f96:f8ac4807b4d6eef2256fa1b93e0f89ba$"
}
-}
\ No newline at end of file
+}
diff --git a/public/images/pokemon/variant/exp/666-meadow_3.json b/public/images/pokemon/variant/exp/666-meadow_3.json
index e97a18fb3f3..8af56626a35 100644
--- a/public/images/pokemon/variant/exp/666-meadow_3.json
+++ b/public/images/pokemon/variant/exp/666-meadow_3.json
@@ -4,177 +4,30 @@
"image": "666-meadow_3.png",
"format": "RGBA8888",
"size": {
- "w": 243,
- "h": 243
+ "w": 346,
+ "h": 346
},
"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
+ "w": 67,
+ "h": 74
},
"spriteSourceSize": {
- "x": 7,
- "y": 3,
- "w": 69,
- "h": 89
+ "x": 0,
+ "y": 1,
+ "w": 67,
+ "h": 69
},
"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,
+ "x": 0,
"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
+ "w": 67,
+ "h": 69
}
},
{
@@ -182,104 +35,125 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 84,
- "h": 93
+ "w": 67,
+ "h": 74
},
"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,
+ "x": 0,
"y": 1,
- "w": 51,
- "h": 86
+ "w": 67,
+ "h": 69
},
"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,
+ "x": 0,
"y": 0,
- "w": 46,
- "h": 86
+ "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": 197,
- "y": 86,
- "w": 46,
- "h": 86
+ "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
}
},
{
@@ -287,20 +161,1112 @@
"rotated": false,
"trimmed": true,
"sourceSize": {
- "w": 84,
- "h": 93
+ "w": 67,
+ "h": 74
},
"spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 46,
- "h": 86
+ "x": 0,
+ "y": 3,
+ "w": 67,
+ "h": 69
},
"frame": {
- "x": 197,
- "y": 86,
- "w": 46,
- "h": 86
+ "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
}
}
]
@@ -311,4 +1277,4 @@
"version": "3.0",
"smartupdate": "$TexturePacker:SmartUpdate:223ce33721ef8da9ff40286099c20de4:b82acd304c2a8b8cebeda2043a3e1f96:f8ac4807b4d6eef2256fa1b93e0f89ba$"
}
-}
\ No newline at end of file
+}
diff --git a/public/images/pokemon/variant/exp/6713.json b/public/images/pokemon/variant/exp/6713.json
new file mode 100644
index 00000000000..662fbf6b5b1
--- /dev/null
+++ b/public/images/pokemon/variant/exp/6713.json
@@ -0,0 +1,36 @@
+{
+ "1": {
+ "729ac2": "d97389",
+ "bff4ff": "ffbfda",
+ "85d7f2": "f29eb3",
+ "6b5442": "732334",
+ "335980": "994255",
+ "fbffff": "ffebf2",
+ "101010": "101010",
+ "492d25": "101010",
+ "553e33": "4c131f",
+ "927863": "994255",
+ "944620": "101010",
+ "737373": "7a993d",
+ "e8e8e8": "cfe68a",
+ "bfbfbf": "9dcc3e",
+ "f1b44b": "9dcc3e"
+ },
+ "2": {
+ "729ac2": "cc7b1e",
+ "bff4ff": "fcc95c",
+ "85d7f2": "e69e2b",
+ "6b5442": "2c7a75",
+ "335980": "824628",
+ "fbffff": "fff2ad",
+ "101010": "101010",
+ "492d25": "00403d",
+ "553e33": "006761",
+ "927863": "5ba6a1",
+ "944620": "cc7b1e",
+ "737373": "641531",
+ "e8e8e8": "bf576b",
+ "bfbfbf": "993554",
+ "f1b44b": "8dd9d4"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/672.json b/public/images/pokemon/variant/exp/672.json
new file mode 100644
index 00000000000..b13a8cd34c0
--- /dev/null
+++ b/public/images/pokemon/variant/exp/672.json
@@ -0,0 +1,36 @@
+{
+ "1": {
+ "3d3128": "642509",
+ "000000": "000000",
+ "67615b": "9e2c3d",
+ "615140": "89431b",
+ "7e6d5a": "b3743e",
+ "554538": "642509",
+ "beb8b6": "e3a378",
+ "efeded": "f8e2b7",
+ "0e5d58": "8c6859",
+ "0d8374": "d2af94",
+ "09a77c": "f8f0e2",
+ "cabfbb": "cabfbb",
+ "c16a3f": "321512",
+ "a8905c": "4b2525",
+ "c6b379": "552d30"
+ },
+ "2": {
+ "3d3128": "161526",
+ "000000": "000000",
+ "67615b": "2d2b40",
+ "615140": "4c7a68",
+ "7e6d5a": "72b692",
+ "554538": "305a4f",
+ "beb8b6": "d4b3d7",
+ "efeded": "ffeffe",
+ "0e5d58": "363e6c",
+ "0d8374": "6885b6",
+ "09a77c": "96d5e3",
+ "cabfbb": "cabfbb",
+ "c16a3f": "612c6b",
+ "a8905c": "854d87",
+ "c6b379": "9f5f9b"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/673.json b/public/images/pokemon/variant/exp/673.json
new file mode 100644
index 00000000000..d70da2c45e2
--- /dev/null
+++ b/public/images/pokemon/variant/exp/673.json
@@ -0,0 +1,36 @@
+{
+ "1": {
+ "3d3128": "641028",
+ "67615b": "9e2c3d",
+ "554538": "781329",
+ "000000": "000000",
+ "0e5d58": "8c6859",
+ "0d835a": "d2af94",
+ "74593a": "61240a",
+ "09a766": "f8f0e2",
+ "efeded": "f8e2b7",
+ "cabfbb": "e3a378",
+ "a8905c": "9e4e21",
+ "c16a3f": "552d30",
+ "0d8374": "0d8374",
+ "c6b379": "ce8648",
+ "ae492a": "321512"
+ },
+ "2": {
+ "3d3128": "121123",
+ "67615b": "201e33",
+ "554538": "201e33",
+ "000000": "000000",
+ "0e5d58": "36466c",
+ "0d835a": "6893b6",
+ "74593a": "513a6b",
+ "09a766": "96e3e3",
+ "efeded": "ffeffe",
+ "cabfbb": "d4b3d7",
+ "a8905c": "74a0a5",
+ "c16a3f": "9f5f9b",
+ "0d8374": "0d8374",
+ "c6b379": "c3e1cf",
+ "ae492a": "612c6b"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/712.json b/public/images/pokemon/variant/exp/712.json
new file mode 100644
index 00000000000..369ba54cd23
--- /dev/null
+++ b/public/images/pokemon/variant/exp/712.json
@@ -0,0 +1,32 @@
+{
+ "1": {
+ "a5c4d2": "f29eb3",
+ "e8f5fe": "ffebf2",
+ "58647b": "bf566d",
+ "719aa9": "d97389",
+ "b3eaf8": "ffbfda",
+ "101010": "101010",
+ "705c99": "732334",
+ "f2ba49": "9dcc3e",
+ "967acc": "994255",
+ "ffd98c": "cbe696",
+ "bfbfbf": "bfbfbf",
+ "737373": "737373",
+ "f8f8f8": "f8f8f8"
+ },
+ "2": {
+ "a5c4d2": "e69e2b",
+ "e8f5fe": "fff2ad",
+ "58647b": "a8632a",
+ "719aa9": "cc7b1e",
+ "b3eaf8": "fcc95c",
+ "101010": "101010",
+ "705c99": "006761",
+ "f2ba49": "6cb3ae",
+ "967acc": "2c7a75",
+ "ffd98c": "b9f2ee",
+ "bfbfbf": "6cb3ae",
+ "737373": "2c7a75",
+ "f8f8f8": "b9f2ee"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/713.json b/public/images/pokemon/variant/exp/713.json
new file mode 100644
index 00000000000..d18009819f4
--- /dev/null
+++ b/public/images/pokemon/variant/exp/713.json
@@ -0,0 +1,26 @@
+{
+ "1": {
+ "42575f": "994255",
+ "bbeef9": "ffbfda",
+ "ffffff": "ffebf2",
+ "473552": "4c131f",
+ "9e7ac1": "994255",
+ "6a4e7a": "732334",
+ "8db7c7": "d97389",
+ "000000": "000000",
+ "698e9c": "bf566d",
+ "e6c81e": "9dcc3e"
+ },
+ "2": {
+ "42575f": "42575f",
+ "bbeef9": "fcc95c",
+ "ffffff": "fff2ad",
+ "473552": "473552",
+ "9e7ac1": "6cb3ae",
+ "6a4e7a": "006761",
+ "8db7c7": "cc7b1e",
+ "000000": "000000",
+ "698e9c": "a8632a",
+ "e6c81e": "8dd9d4"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/734.json b/public/images/pokemon/variant/exp/734.json
new file mode 100644
index 00000000000..f9e52b2d090
--- /dev/null
+++ b/public/images/pokemon/variant/exp/734.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "9c5b50": "2a3f52",
+ "753933": "03192d",
+ "6b4f27": "523a44",
+ "070707": "070707",
+ "ba836d": "35576b",
+ "f0cd84": "c1aaaa",
+ "c19462": "907e82",
+ "9b7357": "523a44",
+ "ea8c96": "c1715c",
+ "322f2c": "322f2c",
+ "f5f5f5": "f5f5f5",
+ "686d77": "686d77",
+ "bbbdc1": "bbbdc1",
+ "a7aac2": "a7aac2"
+ },
+ "2": {
+ "9c5b50": "786a66",
+ "753933": "26201f",
+ "6b4f27": "241b1b",
+ "070707": "070707",
+ "ba836d": "a69c98",
+ "f0cd84": "4d4242",
+ "c19462": "362e2e",
+ "9b7357": "241b1b",
+ "ea8c96": "a38b89",
+ "322f2c": "322f2c",
+ "f5f5f5": "f5f5f5",
+ "686d77": "686d77",
+ "bbbdc1": "bbbdc1",
+ "a7aac2": "a7aac2"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/735.json b/public/images/pokemon/variant/exp/735.json
new file mode 100644
index 00000000000..3949cbe4157
--- /dev/null
+++ b/public/images/pokemon/variant/exp/735.json
@@ -0,0 +1,32 @@
+{
+ "1": {
+ "84521a": "462f39",
+ "ecd96c": "b99d95",
+ "8d473d": "2a3252",
+ "602c24": "03102d",
+ "af754e": "354c6b",
+ "101010": "101010",
+ "b6973a": "7a6a6d",
+ "393633": "5f3d1c",
+ "f8f8f8": "f8f8f8",
+ "787885": "787885",
+ "ea6f91": "c1715c",
+ "a3a3ab": "a3a3ab",
+ "2d2b28": "5a3215"
+ },
+ "2": {
+ "84521a": "241b1b",
+ "ecd96c": "4d4242",
+ "8d473d": "90827e",
+ "602c24": "524b4b",
+ "af754e": "ada6a4",
+ "101010": "101010",
+ "b6973a": "362e2e",
+ "393633": "393633",
+ "f8f8f8": "f8f8f8",
+ "787885": "6e6e7b",
+ "ea6f91": "846a68",
+ "a3a3ab": "989898",
+ "2d2b28": "423d3d"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/742_2.json b/public/images/pokemon/variant/exp/742_2.json
new file mode 100644
index 00000000000..c97b2287e3d
--- /dev/null
+++ b/public/images/pokemon/variant/exp/742_2.json
@@ -0,0 +1,356 @@
+{
+ "textures": [
+ {
+ "image": "742_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 164,
+ "h": 164
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ },
+ "frame": {
+ "x": 0,
+ "y": 42,
+ "w": 41,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 41,
+ "h": 42
+ },
+ "frame": {
+ "x": 0,
+ "y": 84,
+ "w": 41,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 41,
+ "h": 38
+ },
+ "frame": {
+ "x": 0,
+ "y": 126,
+ "w": 41,
+ "h": 38
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ },
+ "frame": {
+ "x": 41,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 41,
+ "h": 41
+ },
+ "frame": {
+ "x": 82,
+ "y": 0,
+ "w": 41,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 41,
+ "h": 41
+ },
+ "frame": {
+ "x": 123,
+ "y": 0,
+ "w": 41,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 41,
+ "h": 41
+ },
+ "frame": {
+ "x": 82,
+ "y": 41,
+ "w": 41,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 41,
+ "h": 40
+ },
+ "frame": {
+ "x": 41,
+ "y": 42,
+ "w": 41,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 41,
+ "h": 40
+ },
+ "frame": {
+ "x": 123,
+ "y": 41,
+ "w": 41,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 41,
+ "h": 40
+ },
+ "frame": {
+ "x": 123,
+ "y": 81,
+ "w": 41,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 40,
+ "h": 42
+ },
+ "frame": {
+ "x": 41,
+ "y": 121,
+ "w": 40,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 41,
+ "h": 39
+ },
+ "frame": {
+ "x": 41,
+ "y": 82,
+ "w": 41,
+ "h": 39
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 41,
+ "h": 38
+ },
+ "frame": {
+ "x": 82,
+ "y": 82,
+ "w": 41,
+ "h": 38
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 82,
+ "y": 120,
+ "w": 40,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 40,
+ "h": 37
+ },
+ "frame": {
+ "x": 122,
+ "y": 121,
+ "w": 40,
+ "h": 37
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:7dd239e2ecd1a05b897a90547a5566b4:13eead24a3c54e463eb00f04e1adf61e:c5fe5d6bbd2066d37202b0b755129ba5$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/742_2.png b/public/images/pokemon/variant/exp/742_2.png
new file mode 100644
index 00000000000..a2a238353ea
Binary files /dev/null and b/public/images/pokemon/variant/exp/742_2.png differ
diff --git a/public/images/pokemon/variant/exp/742_3.json b/public/images/pokemon/variant/exp/742_3.json
new file mode 100644
index 00000000000..f25f964e026
--- /dev/null
+++ b/public/images/pokemon/variant/exp/742_3.json
@@ -0,0 +1,356 @@
+{
+ "textures": [
+ {
+ "image": "742_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 164,
+ "h": 164
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ },
+ "frame": {
+ "x": 0,
+ "y": 42,
+ "w": 41,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 41,
+ "h": 42
+ },
+ "frame": {
+ "x": 0,
+ "y": 84,
+ "w": 41,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 41,
+ "h": 38
+ },
+ "frame": {
+ "x": 0,
+ "y": 126,
+ "w": 41,
+ "h": 38
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ },
+ "frame": {
+ "x": 41,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 41,
+ "h": 41
+ },
+ "frame": {
+ "x": 82,
+ "y": 0,
+ "w": 41,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 41,
+ "h": 41
+ },
+ "frame": {
+ "x": 123,
+ "y": 0,
+ "w": 41,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 41,
+ "h": 41
+ },
+ "frame": {
+ "x": 82,
+ "y": 41,
+ "w": 41,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 41,
+ "h": 40
+ },
+ "frame": {
+ "x": 41,
+ "y": 42,
+ "w": 41,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 41,
+ "h": 40
+ },
+ "frame": {
+ "x": 123,
+ "y": 41,
+ "w": 41,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 41,
+ "h": 40
+ },
+ "frame": {
+ "x": 123,
+ "y": 81,
+ "w": 41,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 40,
+ "h": 42
+ },
+ "frame": {
+ "x": 41,
+ "y": 121,
+ "w": 40,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 41,
+ "h": 39
+ },
+ "frame": {
+ "x": 41,
+ "y": 82,
+ "w": 41,
+ "h": 39
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 41,
+ "h": 38
+ },
+ "frame": {
+ "x": 82,
+ "y": 82,
+ "w": 41,
+ "h": 38
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 82,
+ "y": 120,
+ "w": 40,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 46
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 40,
+ "h": 37
+ },
+ "frame": {
+ "x": 122,
+ "y": 121,
+ "w": 40,
+ "h": 37
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:7dd239e2ecd1a05b897a90547a5566b4:13eead24a3c54e463eb00f04e1adf61e:c5fe5d6bbd2066d37202b0b755129ba5$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/742_3.png b/public/images/pokemon/variant/exp/742_3.png
new file mode 100644
index 00000000000..a4c4f372972
Binary files /dev/null and b/public/images/pokemon/variant/exp/742_3.png differ
diff --git a/public/images/pokemon/variant/exp/743_2.json b/public/images/pokemon/variant/exp/743_2.json
new file mode 100644
index 00000000000..81fe280e67b
--- /dev/null
+++ b/public/images/pokemon/variant/exp/743_2.json
@@ -0,0 +1,860 @@
+{
+ "textures": [
+ {
+ "image": "743_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 286,
+ "h": 286
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 62,
+ "h": 42
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 62,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 62,
+ "h": 42
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 62,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 51,
+ "h": 42
+ },
+ "frame": {
+ "x": 62,
+ "y": 0,
+ "w": 51,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 51,
+ "h": 42
+ },
+ "frame": {
+ "x": 62,
+ "y": 0,
+ "w": 51,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 0,
+ "w": 43,
+ "h": 42
+ },
+ "frame": {
+ "x": 113,
+ "y": 0,
+ "w": 43,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 0,
+ "w": 33,
+ "h": 42
+ },
+ "frame": {
+ "x": 156,
+ "y": 0,
+ "w": 33,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 7,
+ "w": 63,
+ "h": 43
+ },
+ "frame": {
+ "x": 189,
+ "y": 0,
+ "w": 63,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 29,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 252,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 15,
+ "y": 0,
+ "w": 62,
+ "h": 43
+ },
+ "frame": {
+ "x": 0,
+ "y": 42,
+ "w": 62,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 15,
+ "y": 0,
+ "w": 62,
+ "h": 43
+ },
+ "frame": {
+ "x": 0,
+ "y": 42,
+ "w": 62,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 21,
+ "y": 0,
+ "w": 51,
+ "h": 43
+ },
+ "frame": {
+ "x": 62,
+ "y": 42,
+ "w": 51,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 21,
+ "y": 0,
+ "w": 51,
+ "h": 43
+ },
+ "frame": {
+ "x": 62,
+ "y": 42,
+ "w": 51,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 24,
+ "y": 0,
+ "w": 43,
+ "h": 43
+ },
+ "frame": {
+ "x": 113,
+ "y": 42,
+ "w": 43,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 24,
+ "y": 4,
+ "w": 33,
+ "h": 44
+ },
+ "frame": {
+ "x": 156,
+ "y": 42,
+ "w": 33,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 7,
+ "w": 51,
+ "h": 43
+ },
+ "frame": {
+ "x": 189,
+ "y": 43,
+ "w": 51,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 5,
+ "w": 43,
+ "h": 44
+ },
+ "frame": {
+ "x": 240,
+ "y": 43,
+ "w": 43,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 6,
+ "w": 51,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 85,
+ "w": 51,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 3,
+ "w": 63,
+ "h": 44
+ },
+ "frame": {
+ "x": 51,
+ "y": 85,
+ "w": 63,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 28,
+ "y": 0,
+ "w": 34,
+ "h": 44
+ },
+ "frame": {
+ "x": 114,
+ "y": 85,
+ "w": 34,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 2,
+ "w": 51,
+ "h": 44
+ },
+ "frame": {
+ "x": 148,
+ "y": 86,
+ "w": 51,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 27,
+ "y": 1,
+ "w": 34,
+ "h": 44
+ },
+ "frame": {
+ "x": 199,
+ "y": 86,
+ "w": 34,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 22,
+ "y": 1,
+ "w": 43,
+ "h": 44
+ },
+ "frame": {
+ "x": 233,
+ "y": 87,
+ "w": 43,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 22,
+ "y": 0,
+ "w": 43,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 129,
+ "w": 43,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 2,
+ "w": 63,
+ "h": 44
+ },
+ "frame": {
+ "x": 43,
+ "y": 129,
+ "w": 63,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 23,
+ "y": 5,
+ "w": 33,
+ "h": 44
+ },
+ "frame": {
+ "x": 106,
+ "y": 129,
+ "w": 33,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 17,
+ "y": 3,
+ "w": 51,
+ "h": 44
+ },
+ "frame": {
+ "x": 139,
+ "y": 130,
+ "w": 51,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 4,
+ "w": 43,
+ "h": 44
+ },
+ "frame": {
+ "x": 190,
+ "y": 130,
+ "w": 43,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 5,
+ "w": 43,
+ "h": 44
+ },
+ "frame": {
+ "x": 233,
+ "y": 131,
+ "w": 43,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 6,
+ "w": 63,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 173,
+ "w": 63,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 4,
+ "w": 33,
+ "h": 44
+ },
+ "frame": {
+ "x": 63,
+ "y": 173,
+ "w": 33,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 1,
+ "w": 43,
+ "h": 44
+ },
+ "frame": {
+ "x": 96,
+ "y": 173,
+ "w": 43,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 44
+ },
+ "frame": {
+ "x": 139,
+ "y": 174,
+ "w": 63,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 2,
+ "w": 51,
+ "h": 44
+ },
+ "frame": {
+ "x": 202,
+ "y": 175,
+ "w": 51,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 0,
+ "w": 33,
+ "h": 44
+ },
+ "frame": {
+ "x": 253,
+ "y": 175,
+ "w": 33,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 0,
+ "w": 43,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 217,
+ "w": 43,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 15,
+ "y": 1,
+ "w": 33,
+ "h": 44
+ },
+ "frame": {
+ "x": 43,
+ "y": 217,
+ "w": 33,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 2,
+ "w": 63,
+ "h": 44
+ },
+ "frame": {
+ "x": 76,
+ "y": 217,
+ "w": 63,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 3,
+ "w": 51,
+ "h": 44
+ },
+ "frame": {
+ "x": 139,
+ "y": 218,
+ "w": 51,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 4,
+ "w": 43,
+ "h": 44
+ },
+ "frame": {
+ "x": 190,
+ "y": 219,
+ "w": 43,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 19,
+ "y": 5,
+ "w": 33,
+ "h": 44
+ },
+ "frame": {
+ "x": 233,
+ "y": 219,
+ "w": 33,
+ "h": 44
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:3a4f8adc51a06a673bd1c43742efbba8:283d09cfd32cbaf95f1c3abbee02e98a:c8a06588e3ef3c7c5201d3917470f092$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/743_2.png b/public/images/pokemon/variant/exp/743_2.png
new file mode 100644
index 00000000000..dae1418901d
Binary files /dev/null and b/public/images/pokemon/variant/exp/743_2.png differ
diff --git a/public/images/pokemon/variant/exp/743_3.json b/public/images/pokemon/variant/exp/743_3.json
new file mode 100644
index 00000000000..b8c83014d16
--- /dev/null
+++ b/public/images/pokemon/variant/exp/743_3.json
@@ -0,0 +1,860 @@
+{
+ "textures": [
+ {
+ "image": "743_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 286,
+ "h": 286
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 62,
+ "h": 42
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 62,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 62,
+ "h": 42
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 62,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 51,
+ "h": 42
+ },
+ "frame": {
+ "x": 62,
+ "y": 0,
+ "w": 51,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 51,
+ "h": 42
+ },
+ "frame": {
+ "x": 62,
+ "y": 0,
+ "w": 51,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 0,
+ "w": 43,
+ "h": 42
+ },
+ "frame": {
+ "x": 113,
+ "y": 0,
+ "w": 43,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 0,
+ "w": 33,
+ "h": 42
+ },
+ "frame": {
+ "x": 156,
+ "y": 0,
+ "w": 33,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 7,
+ "w": 63,
+ "h": 43
+ },
+ "frame": {
+ "x": 189,
+ "y": 0,
+ "w": 63,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 29,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ },
+ "frame": {
+ "x": 252,
+ "y": 0,
+ "w": 34,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 15,
+ "y": 0,
+ "w": 62,
+ "h": 43
+ },
+ "frame": {
+ "x": 0,
+ "y": 42,
+ "w": 62,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 15,
+ "y": 0,
+ "w": 62,
+ "h": 43
+ },
+ "frame": {
+ "x": 0,
+ "y": 42,
+ "w": 62,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 21,
+ "y": 0,
+ "w": 51,
+ "h": 43
+ },
+ "frame": {
+ "x": 62,
+ "y": 42,
+ "w": 51,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 21,
+ "y": 0,
+ "w": 51,
+ "h": 43
+ },
+ "frame": {
+ "x": 62,
+ "y": 42,
+ "w": 51,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 24,
+ "y": 0,
+ "w": 43,
+ "h": 43
+ },
+ "frame": {
+ "x": 113,
+ "y": 42,
+ "w": 43,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 24,
+ "y": 4,
+ "w": 33,
+ "h": 44
+ },
+ "frame": {
+ "x": 156,
+ "y": 42,
+ "w": 33,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 7,
+ "w": 51,
+ "h": 43
+ },
+ "frame": {
+ "x": 189,
+ "y": 43,
+ "w": 51,
+ "h": 43
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 5,
+ "w": 43,
+ "h": 44
+ },
+ "frame": {
+ "x": 240,
+ "y": 43,
+ "w": 43,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 6,
+ "w": 51,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 85,
+ "w": 51,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 3,
+ "w": 63,
+ "h": 44
+ },
+ "frame": {
+ "x": 51,
+ "y": 85,
+ "w": 63,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 28,
+ "y": 0,
+ "w": 34,
+ "h": 44
+ },
+ "frame": {
+ "x": 114,
+ "y": 85,
+ "w": 34,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 2,
+ "w": 51,
+ "h": 44
+ },
+ "frame": {
+ "x": 148,
+ "y": 86,
+ "w": 51,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 27,
+ "y": 1,
+ "w": 34,
+ "h": 44
+ },
+ "frame": {
+ "x": 199,
+ "y": 86,
+ "w": 34,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 22,
+ "y": 1,
+ "w": 43,
+ "h": 44
+ },
+ "frame": {
+ "x": 233,
+ "y": 87,
+ "w": 43,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 22,
+ "y": 0,
+ "w": 43,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 129,
+ "w": 43,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 2,
+ "w": 63,
+ "h": 44
+ },
+ "frame": {
+ "x": 43,
+ "y": 129,
+ "w": 63,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 23,
+ "y": 5,
+ "w": 33,
+ "h": 44
+ },
+ "frame": {
+ "x": 106,
+ "y": 129,
+ "w": 33,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 17,
+ "y": 3,
+ "w": 51,
+ "h": 44
+ },
+ "frame": {
+ "x": 139,
+ "y": 130,
+ "w": 51,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 4,
+ "w": 43,
+ "h": 44
+ },
+ "frame": {
+ "x": 190,
+ "y": 130,
+ "w": 43,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 5,
+ "w": 43,
+ "h": 44
+ },
+ "frame": {
+ "x": 233,
+ "y": 131,
+ "w": 43,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 6,
+ "w": 63,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 173,
+ "w": 63,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 4,
+ "w": 33,
+ "h": 44
+ },
+ "frame": {
+ "x": 63,
+ "y": 173,
+ "w": 33,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 1,
+ "w": 43,
+ "h": 44
+ },
+ "frame": {
+ "x": 96,
+ "y": 173,
+ "w": 43,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 3,
+ "w": 63,
+ "h": 44
+ },
+ "frame": {
+ "x": 139,
+ "y": 174,
+ "w": 63,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 2,
+ "w": 51,
+ "h": 44
+ },
+ "frame": {
+ "x": 202,
+ "y": 175,
+ "w": 51,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 0,
+ "w": 33,
+ "h": 44
+ },
+ "frame": {
+ "x": 253,
+ "y": 175,
+ "w": 33,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 0,
+ "w": 43,
+ "h": 44
+ },
+ "frame": {
+ "x": 0,
+ "y": 217,
+ "w": 43,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 15,
+ "y": 1,
+ "w": 33,
+ "h": 44
+ },
+ "frame": {
+ "x": 43,
+ "y": 217,
+ "w": 33,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 2,
+ "w": 63,
+ "h": 44
+ },
+ "frame": {
+ "x": 76,
+ "y": 217,
+ "w": 63,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 3,
+ "w": 51,
+ "h": 44
+ },
+ "frame": {
+ "x": 139,
+ "y": 218,
+ "w": 51,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 4,
+ "w": 43,
+ "h": 44
+ },
+ "frame": {
+ "x": 190,
+ "y": 219,
+ "w": 43,
+ "h": 44
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 77,
+ "h": 50
+ },
+ "spriteSourceSize": {
+ "x": 19,
+ "y": 5,
+ "w": 33,
+ "h": 44
+ },
+ "frame": {
+ "x": 233,
+ "y": 219,
+ "w": 33,
+ "h": 44
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:3a4f8adc51a06a673bd1c43742efbba8:283d09cfd32cbaf95f1c3abbee02e98a:c8a06588e3ef3c7c5201d3917470f092$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/743_3.png b/public/images/pokemon/variant/exp/743_3.png
new file mode 100644
index 00000000000..99d6ae3763e
Binary files /dev/null and b/public/images/pokemon/variant/exp/743_3.png differ
diff --git a/public/images/pokemon/variant/exp/751.json b/public/images/pokemon/variant/exp/751.json
new file mode 100644
index 00000000000..70af2b6d7f4
--- /dev/null
+++ b/public/images/pokemon/variant/exp/751.json
@@ -0,0 +1,50 @@
+{
+ "1": {
+ "85abc8": "ae504b",
+ "bdd9e5": "ffc8d1",
+ "acc38c": "a65f86",
+ "9bad34": "4e1f42",
+ "c6dc93": "8a4d6d",
+ "cedf42": "673252",
+ "93a079": "6c3064",
+ "697d89": "8d4358",
+ "69670e": "3a112f",
+ "8dd0e6": "f8b29c",
+ "101010": "101010",
+ "6893a5": "b0546e",
+ "8da0ac": "d37075",
+ "8397aa": "8397aa",
+ "66747a": "c75c5b",
+ "d3e1e8": "d3e1e8",
+ "81bbd1": "da826e",
+ "788a94": "9e4155",
+ "8ba8b8": "d37075",
+ "5d6773": "ae504b",
+ "15222d": "15222d",
+ "343c43": "812b3e"
+ },
+ "2": {
+ "85abc8": "ecaa61",
+ "bdd9e5": "f1dcc2",
+ "acc38c": "7196b1",
+ "9bad34": "4980ac",
+ "c6dc93": "90b8d4",
+ "cedf42": "72add9",
+ "93a079": "586d7a",
+ "697d89": "915952",
+ "69670e": "263756",
+ "8dd0e6": "667386",
+ "101010": "101010",
+ "6893a5": "b76545",
+ "8da0ac": "ecaa61",
+ "8397aa": "8397aa",
+ "66747a": "66747a",
+ "d3e1e8": "d3e1e8",
+ "81bbd1": "55596f",
+ "788a94": "c77a4f",
+ "8ba8b8": "c77a4f",
+ "5d6773": "ea9b43",
+ "15222d": "15222d",
+ "343c43": "ba5c2c"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/752.json b/public/images/pokemon/variant/exp/752.json
new file mode 100644
index 00000000000..c6c3009cd1e
--- /dev/null
+++ b/public/images/pokemon/variant/exp/752.json
@@ -0,0 +1,38 @@
+{
+ "1": {
+ "859ba7": "7c3b51",
+ "d3edfb": "ffc8d1",
+ "ffffff": "ffffff",
+ "c2d3dc": "d187a0",
+ "c3d600": "673252",
+ "707b0a": "3a112f",
+ "000000": "000000",
+ "a8ba00": "4e1f42",
+ "423e35": "395677",
+ "817b6e": "5ea3b8",
+ "1e414f": "7e2839",
+ "424a56": "ae504b",
+ "62c4e5": "f3bd8a",
+ "1a1c1e": "4c152c",
+ "2b2f34": "812b3e",
+ "4e91a7": "d3795b"
+ },
+ "2": {
+ "859ba7": "55506a",
+ "d3edfb": "dce7ee",
+ "ffffff": "ffffff",
+ "c2d3dc": "a7a2bc",
+ "c3d600": "72add9",
+ "707b0a": "263756",
+ "000000": "000000",
+ "a8ba00": "4980ac",
+ "423e35": "75291a",
+ "817b6e": "bc521d",
+ "1e414f": "1e414f",
+ "424a56": "f5cf52",
+ "62c4e5": "3b5373",
+ "1a1c1e": "834723",
+ "2b2f34": "d49435",
+ "4e91a7": "28355c"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/772.json b/public/images/pokemon/variant/exp/772.json
new file mode 100644
index 00000000000..45c81692bb6
--- /dev/null
+++ b/public/images/pokemon/variant/exp/772.json
@@ -0,0 +1,46 @@
+{
+ "1": {
+ "454f55": "232843",
+ "92a6a9": "889db1",
+ "6b777e": "526085",
+ "080808": "080808",
+ "642515": "7e4f36",
+ "c55e3a": "eed8a1",
+ "934031": "c8976c",
+ "c0cecf": "bdc4e5",
+ "1d1845": "2e191f",
+ "79615e": "504a75",
+ "a0b6b8": "b59489",
+ "565969": "35394c",
+ "0073bf": "7a4949",
+ "1a9d23": "2a5f7e",
+ "718793": "936262",
+ "483c39": "3a2d53",
+ "251845": "753c32",
+ "9618e0": "dc9c4d",
+ "125d4b": "ce7f3f",
+ "1e9378": "f8ce64"
+ },
+ "2": {
+ "454f55": "18182a",
+ "92a6a9": "65657c",
+ "6b777e": "3b3b51",
+ "080808": "080808",
+ "642515": "444961",
+ "c55e3a": "c1cfd8",
+ "934031": "7f94b1",
+ "c0cecf": "dbd8e8",
+ "1d1845": "41434e",
+ "79615e": "d6d4d4",
+ "a0b6b8": "92949e",
+ "565969": "35394c",
+ "0073bf": "6a6c75",
+ "1a9d23": "4f2e61",
+ "718793": "6b777e",
+ "483c39": "778894",
+ "251845": "425735",
+ "9618e0": "ade265",
+ "125d4b": "242433",
+ "1e9378": "444455"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/773-bug_2.json b/public/images/pokemon/variant/exp/773-bug_2.json
new file mode 100644
index 00000000000..b8c856e7671
--- /dev/null
+++ b/public/images/pokemon/variant/exp/773-bug_2.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-bug_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 335,
+ "h": 335
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 199,
+ "y": 168,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:e2907473475c1192913e48eb8ab5755a:427e3f500215054e2d2989f4755f229b:1786a671c3b9676c87853a0a70567554$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/773-bug_2.png b/public/images/pokemon/variant/exp/773-bug_2.png
new file mode 100644
index 00000000000..95c5b7071d8
Binary files /dev/null and b/public/images/pokemon/variant/exp/773-bug_2.png differ
diff --git a/public/images/pokemon/variant/exp/773-bug_3.json b/public/images/pokemon/variant/exp/773-bug_3.json
new file mode 100644
index 00000000000..8a6fd45ca56
--- /dev/null
+++ b/public/images/pokemon/variant/exp/773-bug_3.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-bug_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 335,
+ "h": 335
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 199,
+ "y": 168,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:e2907473475c1192913e48eb8ab5755a:427e3f500215054e2d2989f4755f229b:1786a671c3b9676c87853a0a70567554$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/773-bug_3.png b/public/images/pokemon/variant/exp/773-bug_3.png
new file mode 100644
index 00000000000..d274170f676
Binary files /dev/null and b/public/images/pokemon/variant/exp/773-bug_3.png differ
diff --git a/public/images/pokemon/variant/exp/773-dark_2.json b/public/images/pokemon/variant/exp/773-dark_2.json
new file mode 100644
index 00000000000..8c55fe0e56b
--- /dev/null
+++ b/public/images/pokemon/variant/exp/773-dark_2.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-dark_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 335,
+ "h": 335
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 199,
+ "y": 168,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:18cb8e89831d39e3509e75edbc790ec6:4c332c4bb4e4e507cc92538929421ad7:267125b3b5f5d18142ae5fffbef27592$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/773-dark_2.png b/public/images/pokemon/variant/exp/773-dark_2.png
new file mode 100644
index 00000000000..436fd56ac50
Binary files /dev/null and b/public/images/pokemon/variant/exp/773-dark_2.png differ
diff --git a/public/images/pokemon/variant/exp/773-dark_3.json b/public/images/pokemon/variant/exp/773-dark_3.json
new file mode 100644
index 00000000000..30a44fe6595
--- /dev/null
+++ b/public/images/pokemon/variant/exp/773-dark_3.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-dark_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 335,
+ "h": 335
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 199,
+ "y": 168,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:18cb8e89831d39e3509e75edbc790ec6:4c332c4bb4e4e507cc92538929421ad7:267125b3b5f5d18142ae5fffbef27592$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/773-dark_3.png b/public/images/pokemon/variant/exp/773-dark_3.png
new file mode 100644
index 00000000000..0e6e3b38101
Binary files /dev/null and b/public/images/pokemon/variant/exp/773-dark_3.png differ
diff --git a/public/images/pokemon/variant/exp/773-dragon_2.json b/public/images/pokemon/variant/exp/773-dragon_2.json
new file mode 100644
index 00000000000..02764770e33
--- /dev/null
+++ b/public/images/pokemon/variant/exp/773-dragon_2.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-dragon_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 335,
+ "h": 335
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 199,
+ "y": 168,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:de5acd724aeca00d5e03b7d95e6d1752:038f038ff46af2e5d09ff00b0f4227f2:59453f2ad0e681735b3b15ab728caa7c$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/773-dragon_2.png b/public/images/pokemon/variant/exp/773-dragon_2.png
new file mode 100644
index 00000000000..ff4381e8543
Binary files /dev/null and b/public/images/pokemon/variant/exp/773-dragon_2.png differ
diff --git a/public/images/pokemon/variant/exp/773-dragon_3.json b/public/images/pokemon/variant/exp/773-dragon_3.json
new file mode 100644
index 00000000000..bd66828c0d0
--- /dev/null
+++ b/public/images/pokemon/variant/exp/773-dragon_3.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-dragon_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 335,
+ "h": 335
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 199,
+ "y": 168,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:de5acd724aeca00d5e03b7d95e6d1752:038f038ff46af2e5d09ff00b0f4227f2:59453f2ad0e681735b3b15ab728caa7c$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/773-dragon_3.png b/public/images/pokemon/variant/exp/773-dragon_3.png
new file mode 100644
index 00000000000..9365cf457f2
Binary files /dev/null and b/public/images/pokemon/variant/exp/773-dragon_3.png differ
diff --git a/public/images/pokemon/variant/exp/773-electric_2.json b/public/images/pokemon/variant/exp/773-electric_2.json
new file mode 100644
index 00000000000..6f0f16618bd
--- /dev/null
+++ b/public/images/pokemon/variant/exp/773-electric_2.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-electric_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 335,
+ "h": 335
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 199,
+ "y": 168,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:6c9dad4e2de3823c74a6249f264fabdd:e2f8eae994f012a9d105d4b8029cc903:e9f7f627b4aa057d8a352e938221d903$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/773-electric_2.png b/public/images/pokemon/variant/exp/773-electric_2.png
new file mode 100644
index 00000000000..8915a2642f6
Binary files /dev/null and b/public/images/pokemon/variant/exp/773-electric_2.png differ
diff --git a/public/images/pokemon/variant/exp/773-electric_3.json b/public/images/pokemon/variant/exp/773-electric_3.json
new file mode 100644
index 00000000000..5faef0cc77e
--- /dev/null
+++ b/public/images/pokemon/variant/exp/773-electric_3.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-electric_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 335,
+ "h": 335
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 199,
+ "y": 168,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:6c9dad4e2de3823c74a6249f264fabdd:e2f8eae994f012a9d105d4b8029cc903:e9f7f627b4aa057d8a352e938221d903$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/773-electric_3.png b/public/images/pokemon/variant/exp/773-electric_3.png
new file mode 100644
index 00000000000..a75171c91d1
Binary files /dev/null and b/public/images/pokemon/variant/exp/773-electric_3.png differ
diff --git a/public/images/pokemon/variant/exp/773-fairy_2.json b/public/images/pokemon/variant/exp/773-fairy_2.json
new file mode 100644
index 00000000000..ddac1aa45a6
--- /dev/null
+++ b/public/images/pokemon/variant/exp/773-fairy_2.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-fairy_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 335,
+ "h": 335
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 199,
+ "y": 168,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:28d2f609ef335b80b06f8d37a08c3b51:1220d3f33f1dad29f00e7f3de087b847:50e5ca45ea677d44a2fea72d4ec14fc2$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/773-fairy_2.png b/public/images/pokemon/variant/exp/773-fairy_2.png
new file mode 100644
index 00000000000..1237e1848e9
Binary files /dev/null and b/public/images/pokemon/variant/exp/773-fairy_2.png differ
diff --git a/public/images/pokemon/variant/exp/773-fairy_3.json b/public/images/pokemon/variant/exp/773-fairy_3.json
new file mode 100644
index 00000000000..54fbfe04d67
--- /dev/null
+++ b/public/images/pokemon/variant/exp/773-fairy_3.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-fairy_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 335,
+ "h": 335
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 199,
+ "y": 168,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:28d2f609ef335b80b06f8d37a08c3b51:1220d3f33f1dad29f00e7f3de087b847:50e5ca45ea677d44a2fea72d4ec14fc2$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/773-fairy_3.png b/public/images/pokemon/variant/exp/773-fairy_3.png
new file mode 100644
index 00000000000..a6a9d1ba208
Binary files /dev/null and b/public/images/pokemon/variant/exp/773-fairy_3.png differ
diff --git a/public/images/pokemon/variant/exp/773-fighting_2.json b/public/images/pokemon/variant/exp/773-fighting_2.json
new file mode 100644
index 00000000000..bf11019dbc5
--- /dev/null
+++ b/public/images/pokemon/variant/exp/773-fighting_2.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-fighting_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 335,
+ "h": 335
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 199,
+ "y": 168,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:ee832e230de7f46b1c0ea11a0e9872a4:8c9f579e60e4d7eaf74c6d28c0006496:70f70b07c9d5b3013cbd3b3f25c7f7fa$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/773-fighting_2.png b/public/images/pokemon/variant/exp/773-fighting_2.png
new file mode 100644
index 00000000000..fc7890923fd
Binary files /dev/null and b/public/images/pokemon/variant/exp/773-fighting_2.png differ
diff --git a/public/images/pokemon/variant/exp/773-fighting_3.json b/public/images/pokemon/variant/exp/773-fighting_3.json
new file mode 100644
index 00000000000..f4fb23d7dbb
--- /dev/null
+++ b/public/images/pokemon/variant/exp/773-fighting_3.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-fighting_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 335,
+ "h": 335
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 199,
+ "y": 168,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:ee832e230de7f46b1c0ea11a0e9872a4:8c9f579e60e4d7eaf74c6d28c0006496:70f70b07c9d5b3013cbd3b3f25c7f7fa$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/773-fighting_3.png b/public/images/pokemon/variant/exp/773-fighting_3.png
new file mode 100644
index 00000000000..5e08a1e737a
Binary files /dev/null and b/public/images/pokemon/variant/exp/773-fighting_3.png differ
diff --git a/public/images/pokemon/variant/exp/773-fire_2.json b/public/images/pokemon/variant/exp/773-fire_2.json
new file mode 100644
index 00000000000..9b6cbc21067
--- /dev/null
+++ b/public/images/pokemon/variant/exp/773-fire_2.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-fire_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 335,
+ "h": 335
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 199,
+ "y": 168,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:a1fbcb7a6e4557190af17ef59d12ba52:916ac60fecdffe42ad54b8bba4f0c271:690c285b19cb1e8f7b7aa9dfafbe36b2$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/773-fire_2.png b/public/images/pokemon/variant/exp/773-fire_2.png
new file mode 100644
index 00000000000..d14239bdd75
Binary files /dev/null and b/public/images/pokemon/variant/exp/773-fire_2.png differ
diff --git a/public/images/pokemon/variant/exp/773-fire_3.json b/public/images/pokemon/variant/exp/773-fire_3.json
new file mode 100644
index 00000000000..631ce807d18
--- /dev/null
+++ b/public/images/pokemon/variant/exp/773-fire_3.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-fire_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 335,
+ "h": 335
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 199,
+ "y": 168,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:a1fbcb7a6e4557190af17ef59d12ba52:916ac60fecdffe42ad54b8bba4f0c271:690c285b19cb1e8f7b7aa9dfafbe36b2$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/773-fire_3.png b/public/images/pokemon/variant/exp/773-fire_3.png
new file mode 100644
index 00000000000..b2af9bf4af9
Binary files /dev/null and b/public/images/pokemon/variant/exp/773-fire_3.png differ
diff --git a/public/images/pokemon/variant/exp/773-flying_2.json b/public/images/pokemon/variant/exp/773-flying_2.json
new file mode 100644
index 00000000000..398a6031101
--- /dev/null
+++ b/public/images/pokemon/variant/exp/773-flying_2.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-flying_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 335,
+ "h": 335
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 199,
+ "y": 168,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:1efe82810ac75f65fe0b72d41000d3c3:b227bd80e066d588b7929f71e1c1c903:fd9cc965ca8a0f017385425d924045d6$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/773-flying_2.png b/public/images/pokemon/variant/exp/773-flying_2.png
new file mode 100644
index 00000000000..ef98ec821cf
Binary files /dev/null and b/public/images/pokemon/variant/exp/773-flying_2.png differ
diff --git a/public/images/pokemon/variant/exp/773-flying_3.json b/public/images/pokemon/variant/exp/773-flying_3.json
new file mode 100644
index 00000000000..1d743d0046a
--- /dev/null
+++ b/public/images/pokemon/variant/exp/773-flying_3.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-flying_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 335,
+ "h": 335
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 199,
+ "y": 168,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:1efe82810ac75f65fe0b72d41000d3c3:b227bd80e066d588b7929f71e1c1c903:fd9cc965ca8a0f017385425d924045d6$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/773-flying_3.png b/public/images/pokemon/variant/exp/773-flying_3.png
new file mode 100644
index 00000000000..0a88dbe3bbd
Binary files /dev/null and b/public/images/pokemon/variant/exp/773-flying_3.png differ
diff --git a/public/images/pokemon/variant/exp/773-ghost_2.json b/public/images/pokemon/variant/exp/773-ghost_2.json
new file mode 100644
index 00000000000..3dab9935666
--- /dev/null
+++ b/public/images/pokemon/variant/exp/773-ghost_2.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-ghost_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 335,
+ "h": 335
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 199,
+ "y": 168,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:e82fe1b788d9fd224eb3910a95277ca7:b208e2ac33e6f2c523b403321ad9a8ea:dff8d338685b93339ecf30f1d807fbe6$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/773-ghost_2.png b/public/images/pokemon/variant/exp/773-ghost_2.png
new file mode 100644
index 00000000000..3997e7cecf1
Binary files /dev/null and b/public/images/pokemon/variant/exp/773-ghost_2.png differ
diff --git a/public/images/pokemon/variant/exp/773-ghost_3.json b/public/images/pokemon/variant/exp/773-ghost_3.json
new file mode 100644
index 00000000000..1846d5969e6
--- /dev/null
+++ b/public/images/pokemon/variant/exp/773-ghost_3.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-ghost_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 335,
+ "h": 335
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 199,
+ "y": 168,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:e82fe1b788d9fd224eb3910a95277ca7:b208e2ac33e6f2c523b403321ad9a8ea:dff8d338685b93339ecf30f1d807fbe6$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/773-ghost_3.png b/public/images/pokemon/variant/exp/773-ghost_3.png
new file mode 100644
index 00000000000..7f05136b786
Binary files /dev/null and b/public/images/pokemon/variant/exp/773-ghost_3.png differ
diff --git a/public/images/pokemon/variant/exp/773-grass_2.json b/public/images/pokemon/variant/exp/773-grass_2.json
new file mode 100644
index 00000000000..d2db6dd2058
--- /dev/null
+++ b/public/images/pokemon/variant/exp/773-grass_2.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-grass_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 335,
+ "h": 335
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 199,
+ "y": 168,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:64583917485b2306d8116c137fefba57:056b7a9c0b52b33bbd4ff422e297363a:c892d42603d88b410862efcb4f750000$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/773-grass_2.png b/public/images/pokemon/variant/exp/773-grass_2.png
new file mode 100644
index 00000000000..fbb25d0d0dc
Binary files /dev/null and b/public/images/pokemon/variant/exp/773-grass_2.png differ
diff --git a/public/images/pokemon/variant/exp/773-grass_3.json b/public/images/pokemon/variant/exp/773-grass_3.json
new file mode 100644
index 00000000000..d8785066ce2
--- /dev/null
+++ b/public/images/pokemon/variant/exp/773-grass_3.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-grass_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 335,
+ "h": 335
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 199,
+ "y": 168,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:64583917485b2306d8116c137fefba57:056b7a9c0b52b33bbd4ff422e297363a:c892d42603d88b410862efcb4f750000$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/773-grass_3.png b/public/images/pokemon/variant/exp/773-grass_3.png
new file mode 100644
index 00000000000..65b123fe530
Binary files /dev/null and b/public/images/pokemon/variant/exp/773-grass_3.png differ
diff --git a/public/images/pokemon/variant/exp/773-ground_2.json b/public/images/pokemon/variant/exp/773-ground_2.json
new file mode 100644
index 00000000000..60a07eb0d0e
--- /dev/null
+++ b/public/images/pokemon/variant/exp/773-ground_2.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-ground_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 335,
+ "h": 335
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 199,
+ "y": 168,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:d8c6d082f56bea68130237d2f0408272:19a82aac79e67571460aaec5a9bb839c:a8b1ae37d6ef4c526891c3cd392866cd$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/773-ground_2.png b/public/images/pokemon/variant/exp/773-ground_2.png
new file mode 100644
index 00000000000..16d86f8e051
Binary files /dev/null and b/public/images/pokemon/variant/exp/773-ground_2.png differ
diff --git a/public/images/pokemon/variant/exp/773-ground_3.json b/public/images/pokemon/variant/exp/773-ground_3.json
new file mode 100644
index 00000000000..e86e9f44fd2
--- /dev/null
+++ b/public/images/pokemon/variant/exp/773-ground_3.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-ground_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 335,
+ "h": 335
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 199,
+ "y": 168,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:d8c6d082f56bea68130237d2f0408272:19a82aac79e67571460aaec5a9bb839c:a8b1ae37d6ef4c526891c3cd392866cd$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/773-ground_3.png b/public/images/pokemon/variant/exp/773-ground_3.png
new file mode 100644
index 00000000000..24c0ccf595e
Binary files /dev/null and b/public/images/pokemon/variant/exp/773-ground_3.png differ
diff --git a/public/images/pokemon/variant/exp/773-ice_2.json b/public/images/pokemon/variant/exp/773-ice_2.json
new file mode 100644
index 00000000000..f9799474482
--- /dev/null
+++ b/public/images/pokemon/variant/exp/773-ice_2.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-ice_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 335,
+ "h": 335
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 199,
+ "y": 168,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:8d42c8e3fd04f674b0524bfd6e743071:53b56322b7fa7324f1d2f161f63fac1b:bbb81164af15638f1aae91f14ca0ac1d$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/773-ice_2.png b/public/images/pokemon/variant/exp/773-ice_2.png
new file mode 100644
index 00000000000..6e7f395e288
Binary files /dev/null and b/public/images/pokemon/variant/exp/773-ice_2.png differ
diff --git a/public/images/pokemon/variant/exp/773-ice_3.json b/public/images/pokemon/variant/exp/773-ice_3.json
new file mode 100644
index 00000000000..d1889278f14
--- /dev/null
+++ b/public/images/pokemon/variant/exp/773-ice_3.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-ice_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 335,
+ "h": 335
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 199,
+ "y": 168,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:8d42c8e3fd04f674b0524bfd6e743071:53b56322b7fa7324f1d2f161f63fac1b:bbb81164af15638f1aae91f14ca0ac1d$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/773-ice_3.png b/public/images/pokemon/variant/exp/773-ice_3.png
new file mode 100644
index 00000000000..e1fdb9345fa
Binary files /dev/null and b/public/images/pokemon/variant/exp/773-ice_3.png differ
diff --git a/public/images/pokemon/variant/exp/773-poison_2.json b/public/images/pokemon/variant/exp/773-poison_2.json
new file mode 100644
index 00000000000..7182f55b492
--- /dev/null
+++ b/public/images/pokemon/variant/exp/773-poison_2.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-poison_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 335,
+ "h": 335
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 199,
+ "y": 168,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:9c6805004641ba1aec9211c31b452689:9ac142cbe192d67b4a9e79d871fbbb2e:2e43d6e4a409b7aabc1efd3ec3981f96$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/773-poison_2.png b/public/images/pokemon/variant/exp/773-poison_2.png
new file mode 100644
index 00000000000..9417a32cb65
Binary files /dev/null and b/public/images/pokemon/variant/exp/773-poison_2.png differ
diff --git a/public/images/pokemon/variant/exp/773-poison_3.json b/public/images/pokemon/variant/exp/773-poison_3.json
new file mode 100644
index 00000000000..1ea56f54825
--- /dev/null
+++ b/public/images/pokemon/variant/exp/773-poison_3.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-poison_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 335,
+ "h": 335
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 199,
+ "y": 168,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:9c6805004641ba1aec9211c31b452689:9ac142cbe192d67b4a9e79d871fbbb2e:2e43d6e4a409b7aabc1efd3ec3981f96$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/773-poison_3.png b/public/images/pokemon/variant/exp/773-poison_3.png
new file mode 100644
index 00000000000..992c06a9fb3
Binary files /dev/null and b/public/images/pokemon/variant/exp/773-poison_3.png differ
diff --git a/public/images/pokemon/variant/exp/773-psychic_2.json b/public/images/pokemon/variant/exp/773-psychic_2.json
new file mode 100644
index 00000000000..1c38c2359ea
--- /dev/null
+++ b/public/images/pokemon/variant/exp/773-psychic_2.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-psychic_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 335,
+ "h": 335
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 199,
+ "y": 168,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:4c64b849353c83def601bfcbb4ee960e:011431e65299810bff87dcb56dfdcc10:9fb489b40d17b047a9dacb47533ceda4$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/773-psychic_2.png b/public/images/pokemon/variant/exp/773-psychic_2.png
new file mode 100644
index 00000000000..3ffcd3c35fd
Binary files /dev/null and b/public/images/pokemon/variant/exp/773-psychic_2.png differ
diff --git a/public/images/pokemon/variant/exp/773-psychic_3.json b/public/images/pokemon/variant/exp/773-psychic_3.json
new file mode 100644
index 00000000000..d8df8e6968a
--- /dev/null
+++ b/public/images/pokemon/variant/exp/773-psychic_3.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-psychic_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 335,
+ "h": 335
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 199,
+ "y": 168,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:4c64b849353c83def601bfcbb4ee960e:011431e65299810bff87dcb56dfdcc10:9fb489b40d17b047a9dacb47533ceda4$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/773-psychic_3.png b/public/images/pokemon/variant/exp/773-psychic_3.png
new file mode 100644
index 00000000000..03fe6c56646
Binary files /dev/null and b/public/images/pokemon/variant/exp/773-psychic_3.png differ
diff --git a/public/images/pokemon/variant/exp/773-rock_2.json b/public/images/pokemon/variant/exp/773-rock_2.json
new file mode 100644
index 00000000000..fd01815d85c
--- /dev/null
+++ b/public/images/pokemon/variant/exp/773-rock_2.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-rock_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 335,
+ "h": 335
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 199,
+ "y": 168,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:1dbb200c8839b5b434a12ee845afd228:b1ceb056eb1933d502cfa229df41cae8:b6fcb5d1ff917a13e5e912a7f40fcbe2$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/773-rock_2.png b/public/images/pokemon/variant/exp/773-rock_2.png
new file mode 100644
index 00000000000..a59e0cf43b2
Binary files /dev/null and b/public/images/pokemon/variant/exp/773-rock_2.png differ
diff --git a/public/images/pokemon/variant/exp/773-rock_3.json b/public/images/pokemon/variant/exp/773-rock_3.json
new file mode 100644
index 00000000000..a66b3ab05eb
--- /dev/null
+++ b/public/images/pokemon/variant/exp/773-rock_3.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-rock_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 335,
+ "h": 335
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 199,
+ "y": 168,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:1dbb200c8839b5b434a12ee845afd228:b1ceb056eb1933d502cfa229df41cae8:b6fcb5d1ff917a13e5e912a7f40fcbe2$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/773-rock_3.png b/public/images/pokemon/variant/exp/773-rock_3.png
new file mode 100644
index 00000000000..79874ef4407
Binary files /dev/null and b/public/images/pokemon/variant/exp/773-rock_3.png differ
diff --git a/public/images/pokemon/variant/exp/773-steel_2.json b/public/images/pokemon/variant/exp/773-steel_2.json
new file mode 100644
index 00000000000..89ebe9986a6
--- /dev/null
+++ b/public/images/pokemon/variant/exp/773-steel_2.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-steel_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 335,
+ "h": 335
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 199,
+ "y": 168,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:02bbb45df2739fda0172ed1e6bf4b14b:102ef6037d53e8bb26a40306dd0105dc:28dcfb1ac7091bec326d67f7b8d4eaa6$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/773-steel_2.png b/public/images/pokemon/variant/exp/773-steel_2.png
new file mode 100644
index 00000000000..f09527c7e85
Binary files /dev/null and b/public/images/pokemon/variant/exp/773-steel_2.png differ
diff --git a/public/images/pokemon/variant/exp/773-steel_3.json b/public/images/pokemon/variant/exp/773-steel_3.json
new file mode 100644
index 00000000000..d5c504afe5d
--- /dev/null
+++ b/public/images/pokemon/variant/exp/773-steel_3.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-steel_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 335,
+ "h": 335
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 199,
+ "y": 168,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:02bbb45df2739fda0172ed1e6bf4b14b:102ef6037d53e8bb26a40306dd0105dc:28dcfb1ac7091bec326d67f7b8d4eaa6$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/773-steel_3.png b/public/images/pokemon/variant/exp/773-steel_3.png
new file mode 100644
index 00000000000..37502bbe3be
Binary files /dev/null and b/public/images/pokemon/variant/exp/773-steel_3.png differ
diff --git a/public/images/pokemon/variant/exp/773-water_2.json b/public/images/pokemon/variant/exp/773-water_2.json
new file mode 100644
index 00000000000..fb635e17e5a
--- /dev/null
+++ b/public/images/pokemon/variant/exp/773-water_2.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-water_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 335,
+ "h": 335
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 199,
+ "y": 168,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:8e4b51563159c17e49b2a80a859937d3:32a8821bc6c535a84d08d31dd22c306d:609e3c1a2aa54ec6d5110acf831a822b$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/773-water_2.png b/public/images/pokemon/variant/exp/773-water_2.png
new file mode 100644
index 00000000000..843aa772361
Binary files /dev/null and b/public/images/pokemon/variant/exp/773-water_2.png differ
diff --git a/public/images/pokemon/variant/exp/773-water_3.json b/public/images/pokemon/variant/exp/773-water_3.json
new file mode 100644
index 00000000000..2ac3e190b70
--- /dev/null
+++ b/public/images/pokemon/variant/exp/773-water_3.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-water_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 335,
+ "h": 335
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 199,
+ "y": 168,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:8e4b51563159c17e49b2a80a859937d3:32a8821bc6c535a84d08d31dd22c306d:609e3c1a2aa54ec6d5110acf831a822b$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/773-water_3.png b/public/images/pokemon/variant/exp/773-water_3.png
new file mode 100644
index 00000000000..39d52ff579d
Binary files /dev/null and b/public/images/pokemon/variant/exp/773-water_3.png differ
diff --git a/public/images/pokemon/variant/exp/773_2.json b/public/images/pokemon/variant/exp/773_2.json
new file mode 100644
index 00000000000..9d8d82b12c4
--- /dev/null
+++ b/public/images/pokemon/variant/exp/773_2.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 335,
+ "h": 335
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 199,
+ "y": 168,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:83975825c18432b27c00e1a53366fb13:03c41a3cbd3deabcd6f094e8da3e13eb:4db3598909fd9e3f8759f1832ec8e58f$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/773_2.png b/public/images/pokemon/variant/exp/773_2.png
new file mode 100644
index 00000000000..fa35cf82be1
Binary files /dev/null and b/public/images/pokemon/variant/exp/773_2.png differ
diff --git a/public/images/pokemon/variant/exp/773_3.json b/public/images/pokemon/variant/exp/773_3.json
new file mode 100644
index 00000000000..d2e9703d697
--- /dev/null
+++ b/public/images/pokemon/variant/exp/773_3.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 335,
+ "h": 335
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 66,
+ "h": 86
+ },
+ "frame": {
+ "x": 0,
+ "y": 172,
+ "w": 66,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 68,
+ "h": 84
+ },
+ "frame": {
+ "x": 202,
+ "y": 0,
+ "w": 68,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 66,
+ "y": 169,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 81
+ },
+ "frame": {
+ "x": 66,
+ "y": 254,
+ "w": 68,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 66,
+ "h": 85
+ },
+ "frame": {
+ "x": 132,
+ "y": 84,
+ "w": 66,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 84
+ },
+ "frame": {
+ "x": 132,
+ "y": 169,
+ "w": 67,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 134,
+ "y": 253,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 198,
+ "y": 84,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 2,
+ "w": 66,
+ "h": 84
+ },
+ "frame": {
+ "x": 199,
+ "y": 168,
+ "w": 66,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 68,
+ "h": 83
+ },
+ "frame": {
+ "x": 202,
+ "y": 252,
+ "w": 68,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 67,
+ "h": 83
+ },
+ "frame": {
+ "x": 264,
+ "y": 84,
+ "w": 67,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 68,
+ "h": 86
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 68,
+ "h": 82
+ },
+ "frame": {
+ "x": 265,
+ "y": 167,
+ "w": 68,
+ "h": 82
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:83975825c18432b27c00e1a53366fb13:03c41a3cbd3deabcd6f094e8da3e13eb:4db3598909fd9e3f8759f1832ec8e58f$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/773_3.png b/public/images/pokemon/variant/exp/773_3.png
new file mode 100644
index 00000000000..d21eb3a4126
Binary files /dev/null and b/public/images/pokemon/variant/exp/773_3.png differ
diff --git a/public/images/pokemon/variant/exp/776.json b/public/images/pokemon/variant/exp/776.json
new file mode 100644
index 00000000000..22bf97cd7a0
--- /dev/null
+++ b/public/images/pokemon/variant/exp/776.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "101010": "101010",
+ "666657": "5a4c65",
+ "ccccad": "b4b8c8",
+ "71171a": "2c0f2d",
+ "969678": "887c97",
+ "b7282c": "3f2350",
+ "e74545": "4f3d66",
+ "fadd3d": "32d9e5",
+ "331c1c": "39221d",
+ "f8f8f8": "f8f8f8",
+ "6b473c": "f4eba2",
+ "cc8720": "2f98cd",
+ "4d2a2a": "d5966f",
+ "9b6500": "276da5"
+ },
+ "2": {
+ "101010": "101010",
+ "666657": "4c4276",
+ "ccccad": "adc4e9",
+ "71171a": "be8a7a",
+ "969678": "7983c1",
+ "b7282c": "e1bf9f",
+ "e74545": "faeecd",
+ "fadd3d": "6e45a0",
+ "331c1c": "0a412c",
+ "f8f8f8": "f8f8f8",
+ "6b473c": "caee67",
+ "cc8720": "4d2e5e",
+ "4d2a2a": "61b551",
+ "9b6500": "341a3c"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/777.json b/public/images/pokemon/variant/exp/777.json
new file mode 100644
index 00000000000..597aad206f4
--- /dev/null
+++ b/public/images/pokemon/variant/exp/777.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "101010": "101010",
+ "ffea80": "dec2f0",
+ "ccb852": "ac8fbb",
+ "4d4d4d": "362952",
+ "b3b3b3": "8e71cd",
+ "808080": "645393",
+ "595959": "444147",
+ "f8f8f8": "f8f8f8",
+ "8c8c8c": "99979b",
+ "fbfbfb": "fbfbfb",
+ "bfbfbf": "d0dadb",
+ "73593f": "ae428a",
+ "e5dba8": "dba6b6",
+ "fff4bf": "ffd8ee"
+ },
+ "2": {
+ "101010": "101010",
+ "ffea80": "d65d3c",
+ "ccb852": "7b3c26",
+ "4d4d4d": "294127",
+ "b3b3b3": "4cb568",
+ "808080": "2e804f",
+ "595959": "342a20",
+ "f8f8f8": "e5b38c",
+ "8c8c8c": "634c41",
+ "fbfbfb": "fbfbfb",
+ "bfbfbf": "b27f64",
+ "73593f": "47240f",
+ "e5dba8": "c65757",
+ "fff4bf": "ff90ac"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/778-busted.json b/public/images/pokemon/variant/exp/778-busted.json
new file mode 100644
index 00000000000..679ebbb5f31
--- /dev/null
+++ b/public/images/pokemon/variant/exp/778-busted.json
@@ -0,0 +1,30 @@
+{
+ "1": {
+ "000000": "000000",
+ "101010": "101010",
+ "404040": "180c05",
+ "b3a76b": "8d4f3d",
+ "f2e291": "aa6f46",
+ "665f3d": "382313",
+ "f28b24": "d9ae6c",
+ "b3671b": "c58850",
+ "4d361f": "a0561d",
+ "b37d47": "fabc5f",
+ "805933": "d18e33",
+ "404039": "180c05"
+ },
+ "2": {
+ "000000": "000000",
+ "101010": "000000",
+ "404040": "0b1231",
+ "b3a76b": "3d2e4f",
+ "f2e291": "5b496b",
+ "665f3d": "25213a",
+ "f28b24": "69a3cb",
+ "b3671b": "5b8abd",
+ "4d361f": "3e5075",
+ "b37d47": "8eb5cd",
+ "805933": "6d80a4",
+ "404039": "ff766e"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/778-disguised.json b/public/images/pokemon/variant/exp/778-disguised.json
new file mode 100644
index 00000000000..7dfb153ed7e
--- /dev/null
+++ b/public/images/pokemon/variant/exp/778-disguised.json
@@ -0,0 +1,28 @@
+{
+ "1": {
+ "000000": "000000",
+ "404040": "180c05",
+ "b3a76b": "8d4f3d",
+ "f2e291": "aa6f46",
+ "665f3d": "382313",
+ "f28b24": "d9ae6c",
+ "b3671b": "c58850",
+ "4d361f": "a0561d",
+ "b37d47": "fabc5f",
+ "805933": "d18e33",
+ "404039": "180c05"
+ },
+ "2": {
+ "000000": "000000",
+ "404040": "0b1231",
+ "b3a76b": "3d2e4f",
+ "f2e291": "5b496b",
+ "665f3d": "25213a",
+ "f28b24": "69a3cb",
+ "b3671b": "5b8abd",
+ "4d361f": "3e5075",
+ "b37d47": "8eb5cd",
+ "805933": "6d80a4",
+ "404039": "ff766e"
+ }
+}
diff --git a/public/images/pokemon/variant/exp/778.json b/public/images/pokemon/variant/exp/778.json
deleted file mode 100644
index 5b4d0baa505..00000000000
--- a/public/images/pokemon/variant/exp/778.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "1": {
- "000000": "000000",
- "404040": "180c05",
- "b3a76b": "8d4f3d",
- "f2e291": "aa6f46",
- "665f3d": "382313",
- "f28b24": "d9ae6c",
- "b3671b": "c58850",
- "4d361f": "a0561d",
- "b37d47": "fabc5f",
- "805933": "d18e33"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/778_3.json b/public/images/pokemon/variant/exp/778_3.json
deleted file mode 100644
index a51f14647c1..00000000000
--- a/public/images/pokemon/variant/exp/778_3.json
+++ /dev/null
@@ -1,1343 +0,0 @@
-{
- "textures": [
- {
- "image": "778_3.png",
- "format": "RGBA8888",
- "size": {
- "w": 219,
- "h": 219
- },
- "scale": 1,
- "frames": [
- {
- "filename": "0056.png",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 60,
- "h": 48
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 60,
- "h": 48
- }
- },
- {
- "filename": "0057.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 60,
- "h": 47
- },
- "frame": {
- "x": 0,
- "y": 48,
- "w": 60,
- "h": 47
- }
- },
- {
- "filename": "0055.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 0,
- "w": 57,
- "h": 48
- },
- "frame": {
- "x": 60,
- "y": 0,
- "w": 57,
- "h": 48
- }
- },
- {
- "filename": "0058.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 0,
- "w": 54,
- "h": 48
- },
- "frame": {
- "x": 0,
- "y": 95,
- "w": 54,
- "h": 48
- }
- },
- {
- "filename": "0059.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 52,
- "h": 48
- },
- "frame": {
- "x": 117,
- "y": 0,
- "w": 52,
- "h": 48
- }
- },
- {
- "filename": "0060.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 0,
- "w": 48,
- "h": 48
- },
- "frame": {
- "x": 0,
- "y": 143,
- "w": 48,
- "h": 48
- }
- },
- {
- "filename": "0054.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 0,
- "w": 47,
- "h": 48
- },
- "frame": {
- "x": 169,
- "y": 0,
- "w": 47,
- "h": 48
- }
- },
- {
- "filename": "0004.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 44,
- "h": 47
- },
- "frame": {
- "x": 60,
- "y": 48,
- "w": 44,
- "h": 47
- }
- },
- {
- "filename": "0011.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 44,
- "h": 47
- },
- "frame": {
- "x": 60,
- "y": 48,
- "w": 44,
- "h": 47
- }
- },
- {
- "filename": "0018.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 44,
- "h": 47
- },
- "frame": {
- "x": 60,
- "y": 48,
- "w": 44,
- "h": 47
- }
- },
- {
- "filename": "0025.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 44,
- "h": 47
- },
- "frame": {
- "x": 60,
- "y": 48,
- "w": 44,
- "h": 47
- }
- },
- {
- "filename": "0032.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 44,
- "h": 47
- },
- "frame": {
- "x": 60,
- "y": 48,
- "w": 44,
- "h": 47
- }
- },
- {
- "filename": "0039.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 44,
- "h": 47
- },
- "frame": {
- "x": 60,
- "y": 48,
- "w": 44,
- "h": 47
- }
- },
- {
- "filename": "0046.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 16,
- "y": 1,
- "w": 44,
- "h": 47
- },
- "frame": {
- "x": 60,
- "y": 48,
- "w": 44,
- "h": 47
- }
- },
- {
- "filename": "0053.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 0,
- "w": 44,
- "h": 48
- },
- "frame": {
- "x": 54,
- "y": 95,
- "w": 44,
- "h": 48
- }
- },
- {
- "filename": "0061.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 15,
- "y": 0,
- "w": 44,
- "h": 48
- },
- "frame": {
- "x": 48,
- "y": 143,
- "w": 44,
- "h": 48
- }
- },
- {
- "filename": "0003.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 43,
- "h": 48
- },
- "frame": {
- "x": 104,
- "y": 48,
- "w": 43,
- "h": 48
- }
- },
- {
- "filename": "0010.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 43,
- "h": 48
- },
- "frame": {
- "x": 104,
- "y": 48,
- "w": 43,
- "h": 48
- }
- },
- {
- "filename": "0017.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 43,
- "h": 48
- },
- "frame": {
- "x": 104,
- "y": 48,
- "w": 43,
- "h": 48
- }
- },
- {
- "filename": "0024.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 43,
- "h": 48
- },
- "frame": {
- "x": 104,
- "y": 48,
- "w": 43,
- "h": 48
- }
- },
- {
- "filename": "0031.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 43,
- "h": 48
- },
- "frame": {
- "x": 104,
- "y": 48,
- "w": 43,
- "h": 48
- }
- },
- {
- "filename": "0038.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 43,
- "h": 48
- },
- "frame": {
- "x": 104,
- "y": 48,
- "w": 43,
- "h": 48
- }
- },
- {
- "filename": "0045.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 43,
- "h": 48
- },
- "frame": {
- "x": 104,
- "y": 48,
- "w": 43,
- "h": 48
- }
- },
- {
- "filename": "0052.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 42,
- "h": 48
- },
- "frame": {
- "x": 147,
- "y": 48,
- "w": 42,
- "h": 48
- }
- },
- {
- "filename": "0001.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 98,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0002.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 98,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0008.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 98,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0009.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 98,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0015.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 98,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0016.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 98,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0022.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 98,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0023.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 98,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0029.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 98,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0030.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 98,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0036.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 98,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0037.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 98,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0043.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 98,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0044.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 98,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0050.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 98,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0005.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 139,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0012.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 139,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0019.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 139,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0026.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 139,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0033.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 139,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0040.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 139,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0047.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 17,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 139,
- "y": 96,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0051.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 92,
- "y": 144,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0063.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 92,
- "y": 144,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0062.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 41,
- "h": 48
- },
- "frame": {
- "x": 133,
- "y": 144,
- "w": 41,
- "h": 48
- }
- },
- {
- "filename": "0006.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 39,
- "h": 48
- },
- "frame": {
- "x": 180,
- "y": 96,
- "w": 39,
- "h": 48
- }
- },
- {
- "filename": "0013.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 39,
- "h": 48
- },
- "frame": {
- "x": 180,
- "y": 96,
- "w": 39,
- "h": 48
- }
- },
- {
- "filename": "0020.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 39,
- "h": 48
- },
- "frame": {
- "x": 180,
- "y": 96,
- "w": 39,
- "h": 48
- }
- },
- {
- "filename": "0027.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 39,
- "h": 48
- },
- "frame": {
- "x": 180,
- "y": 96,
- "w": 39,
- "h": 48
- }
- },
- {
- "filename": "0034.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 39,
- "h": 48
- },
- "frame": {
- "x": 180,
- "y": 96,
- "w": 39,
- "h": 48
- }
- },
- {
- "filename": "0041.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 39,
- "h": 48
- },
- "frame": {
- "x": 180,
- "y": 96,
- "w": 39,
- "h": 48
- }
- },
- {
- "filename": "0048.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 39,
- "h": 48
- },
- "frame": {
- "x": 180,
- "y": 96,
- "w": 39,
- "h": 48
- }
- },
- {
- "filename": "0007.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 39,
- "h": 48
- },
- "frame": {
- "x": 174,
- "y": 144,
- "w": 39,
- "h": 48
- }
- },
- {
- "filename": "0014.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 39,
- "h": 48
- },
- "frame": {
- "x": 174,
- "y": 144,
- "w": 39,
- "h": 48
- }
- },
- {
- "filename": "0021.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 39,
- "h": 48
- },
- "frame": {
- "x": 174,
- "y": 144,
- "w": 39,
- "h": 48
- }
- },
- {
- "filename": "0028.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 39,
- "h": 48
- },
- "frame": {
- "x": 174,
- "y": 144,
- "w": 39,
- "h": 48
- }
- },
- {
- "filename": "0035.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 39,
- "h": 48
- },
- "frame": {
- "x": 174,
- "y": 144,
- "w": 39,
- "h": 48
- }
- },
- {
- "filename": "0042.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 39,
- "h": 48
- },
- "frame": {
- "x": 174,
- "y": 144,
- "w": 39,
- "h": 48
- }
- },
- {
- "filename": "0049.png",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 60,
- "h": 48
- },
- "spriteSourceSize": {
- "x": 18,
- "y": 0,
- "w": 39,
- "h": 48
- },
- "frame": {
- "x": 174,
- "y": 144,
- "w": 39,
- "h": 48
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:cf70bf2fa66c37035eb9b4da1a4c93ff:11ac0c3ddb365960d306dba5909a72c7:92ecadef6e0cb53020b8cd41fbeaf2cd$"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/778_3.png b/public/images/pokemon/variant/exp/778_3.png
deleted file mode 100644
index 87a4cbefc8d..00000000000
Binary files a/public/images/pokemon/variant/exp/778_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/exp/779.json b/public/images/pokemon/variant/exp/779.json
new file mode 100644
index 00000000000..d7976e85262
--- /dev/null
+++ b/public/images/pokemon/variant/exp/779.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "58295f": "a52121",
+ "834589": "c62c2c",
+ "b75eb7": "f65656",
+ "101010": "101010",
+ "de5c8a": "602b7a",
+ "97354e": "2e0c3f",
+ "ef87b5": "84539d",
+ "314d8e": "94c5da",
+ "93d3e1": "caefff",
+ "5e9fc4": "94c5da",
+ "cfae3f": "d65e5e",
+ "efe85f": "faa28c",
+ "fdfdfd": "fdfdfd",
+ "969696": "969696"
+ },
+ "2": {
+ "58295f": "4545c4",
+ "834589": "6666e2",
+ "b75eb7": "8585ff",
+ "101010": "101010",
+ "de5c8a": "dca032",
+ "97354e": "935b3b",
+ "ef87b5": "ffd166",
+ "314d8e": "4545c4",
+ "93d3e1": "eeeeff",
+ "5e9fc4": "afafe1",
+ "cfae3f": "2d2c43",
+ "efe85f": "454457",
+ "fdfdfd": "fdfdfd",
+ "969696": "969696"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/797.json b/public/images/pokemon/variant/exp/797.json
new file mode 100644
index 00000000000..05e51ab62bd
--- /dev/null
+++ b/public/images/pokemon/variant/exp/797.json
@@ -0,0 +1,30 @@
+{
+ "1": {
+ "1d948a": "bb6e1d",
+ "2dc8b3": "e0a135",
+ "4c7e71": "2d3cb0",
+ "fefefe": "f9e5d1",
+ "2b584b": "19155c",
+ "82ada4": "506ee3",
+ "bccfc4": "f2b97f",
+ "b3e088": "ffc785",
+ "101010": "101010",
+ "a3e2bb": "9db7f4",
+ "53ca89": "f0f5f9",
+ "193124": "09112e"
+ },
+ "2": {
+ "1d948a": "77d4a9",
+ "2dc8b3": "bff3bb",
+ "4c7e71": "69132d",
+ "fefefe": "534757",
+ "2b584b": "410425",
+ "82ada4": "8b1933",
+ "bccfc4": "242733",
+ "b3e088": "232323",
+ "101010": "101010",
+ "a3e2bb": "bd2f62",
+ "53ca89": "bbf3ef",
+ "193124": "330007"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/816.json b/public/images/pokemon/variant/exp/816.json
new file mode 100644
index 00000000000..62c875c5941
--- /dev/null
+++ b/public/images/pokemon/variant/exp/816.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "1f2d63": "631c1c",
+ "e8d16a": "635753",
+ "8f7a43": "322a27",
+ "2b699f": "9d2331",
+ "425493": "7d292a",
+ "6ab6d2": "e66371",
+ "add7e7": "e6828e",
+ "718b93": "a7664c",
+ "fbfbfb": "fbfbfb",
+ "5091c0": "b5464b",
+ "bdc6ca": "d9c5bc",
+ "d2e7ec": "eecaa2",
+ "9fbac1": "e19b78",
+ "101010": "101010"
+ },
+ "2": {
+ "1f2d63": "6e1a4c",
+ "e8d16a": "6ab2d3",
+ "8f7a43": "3b72a3",
+ "2b699f": "a32c59",
+ "425493": "813535",
+ "6ab6d2": "ffeeb8",
+ "add7e7": "fffbec",
+ "718b93": "933644",
+ "fbfbfb": "fbfbfb",
+ "5091c0": "dea26c",
+ "bdc6ca": "c5e4ea",
+ "d2e7ec": "ec8b48",
+ "9fbac1": "d5543c",
+ "101010": "101010"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/817.json b/public/images/pokemon/variant/exp/817.json
new file mode 100644
index 00000000000..5a54b6bdab3
--- /dev/null
+++ b/public/images/pokemon/variant/exp/817.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "183569": "572225",
+ "0a5fba": "80222e",
+ "6c4499": "a1572f",
+ "a278c7": "dd8a4f",
+ "0b89bf": "9a3538",
+ "005980": "631425",
+ "70cce0": "eb8577",
+ "31b5d0": "cf5b5d",
+ "101010": "101010",
+ "6ba01b": "a36d5d",
+ "ccc7cd": "c7c1bd",
+ "fefefe": "fefefe",
+ "3d6424": "83403e",
+ "8cd222": "d99f8d"
+ },
+ "2": {
+ "183569": "731f4e",
+ "0a5fba": "da5c8a",
+ "6c4499": "2c68a3",
+ "a278c7": "65c2e5",
+ "0b89bf": "dc7647",
+ "005980": "7c2f23",
+ "70cce0": "ffe5a3",
+ "31b5d0": "fcbe6d",
+ "101010": "101010",
+ "6ba01b": "ba2c22",
+ "ccc7cd": "becee1",
+ "fefefe": "fefefe",
+ "3d6424": "731317",
+ "8cd222": "d85633"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/818.json b/public/images/pokemon/variant/exp/818.json
new file mode 100644
index 00000000000..f624c2fd14a
--- /dev/null
+++ b/public/images/pokemon/variant/exp/818.json
@@ -0,0 +1,53 @@
+{
+ "0": {
+ "88632b": "882a3d",
+ "003e6a": "004472",
+ "f2f889": "f889b6",
+ "1c7bc1": "06cccf",
+ "e9cd5f": "e95f92",
+ "01599a": "0ea6a8",
+ "549bc3": "0060a4",
+ "9cd2e2": "107ac0",
+ "fdfdfd": "fdfdfd",
+ "e3a32b": "e3a32b",
+ "101010": "101010",
+ "31302f": "989dac",
+ "646565": "f7fbfc",
+ "4a4a4d": "c4ccd4",
+ "fcfcfc": "646464"
+ },
+ "1": {
+ "88632b": "452a1e",
+ "003e6a": "4e1819",
+ "f2f889": "82664c",
+ "1c7bc1": "d94a4c",
+ "e9cd5f": "614432",
+ "01599a": "9c2734",
+ "549bc3": "a55846",
+ "9cd2e2": "e1926f",
+ "fdfdfd": "fdfdfd",
+ "e3a32b": "5885a2",
+ "101010": "101010",
+ "31302f": "251e1c",
+ "646565": "4c4643",
+ "4a4a4d": "342b2a",
+ "fcfcfc": "e6d3ca"
+ },
+ "2": {
+ "88632b": "3046a1",
+ "003e6a": "6c2d21",
+ "f2f889": "65c2e5",
+ "1c7bc1": "fff2cc",
+ "e9cd5f": "4484c3",
+ "01599a": "d8b284",
+ "549bc3": "e38544",
+ "9cd2e2": "ffcd57",
+ "fdfdfd": "fdfdfd",
+ "e3a32b": "a13047",
+ "101010": "101010",
+ "31302f": "571342",
+ "646565": "be3a7d",
+ "4a4a4d": "771b54",
+ "fcfcfc": "c85f36"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/859.json b/public/images/pokemon/variant/exp/859.json
new file mode 100644
index 00000000000..703d5d67218
--- /dev/null
+++ b/public/images/pokemon/variant/exp/859.json
@@ -0,0 +1,30 @@
+{
+ "1": {
+ "e65984": "619544",
+ "8d3856": "376b2d",
+ "ffbff5": "dbe797",
+ "f589c2": "9aba6d",
+ "45366d": "5b1d15",
+ "735aac": "a4332d",
+ "947cd8": "cd643d",
+ "f42252": "f55c14",
+ "101010": "101010",
+ "fdfdfd": "fdfdfd",
+ "c9c9c9": "c9c9c9",
+ "8b73d5": "cc5836"
+ },
+ "2": {
+ "e65984": "4b1736",
+ "8d3856": "30082d",
+ "ffbff5": "904f55",
+ "f589c2": "6b2b3e",
+ "45366d": "794935",
+ "735aac": "f0c475",
+ "947cd8": "d9975b",
+ "f42252": "fc645a",
+ "101010": "101010",
+ "fdfdfd": "fdfdfd",
+ "c9c9c9": "dad6bf",
+ "8b73d5": "f9e9a4"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/860.json b/public/images/pokemon/variant/exp/860.json
new file mode 100644
index 00000000000..64c279dc81d
--- /dev/null
+++ b/public/images/pokemon/variant/exp/860.json
@@ -0,0 +1,36 @@
+{
+ "1": {
+ "902748": "2d582c",
+ "f75c90": "7daf56",
+ "e93761": "638a48",
+ "352954": "3b1528",
+ "fd0b42": "d24309",
+ "5d4694": "8b332d",
+ "101010": "101010",
+ "433568": "5a1d27",
+ "8872b6": "c45949",
+ "c9c9c9": "c9c9c9",
+ "fdfdfd": "fdfdfd",
+ "409555": "244849",
+ "000000": "000000",
+ "47be62": "366c59",
+ "356a3c": "162a35"
+ },
+ "2": {
+ "902748": "2b072d",
+ "f75c90": "64233b",
+ "e93761": "491337",
+ "352954": "a26458",
+ "fd0b42": "f0443e",
+ "5d4694": "dfc784",
+ "101010": "101010",
+ "433568": "c98e63",
+ "8872b6": "f6e8b8",
+ "c9c9c9": "dad6bf",
+ "fdfdfd": "fdfdfd",
+ "409555": "272664",
+ "000000": "000000",
+ "47be62": "3f386f",
+ "356a3c": "090d50"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/861.json b/public/images/pokemon/variant/exp/861.json
new file mode 100644
index 00000000000..f60f7b31a56
--- /dev/null
+++ b/public/images/pokemon/variant/exp/861.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "356a3c": "162a35",
+ "47be62": "366c59",
+ "2f184e": "290527",
+ "101010": "101010",
+ "5d4694": "8b332d",
+ "409555": "244849",
+ "fd0b42": "d24309",
+ "433568": "5a1d27",
+ "c9c9c9": "c9c9c9",
+ "fdfdfd": "fdfdfd",
+ "352954": "3b1528",
+ "7c8089": "7c8089",
+ "e93761": "638a48",
+ "f75c90": "7daf56"
+ },
+ "2": {
+ "356a3c": "090d50",
+ "47be62": "3f386f",
+ "2f184e": "6a2f3a",
+ "101010": "101010",
+ "5d4694": "dfc784",
+ "409555": "272664",
+ "fd0b42": "f0443e",
+ "433568": "c98e63",
+ "c9c9c9": "dad6bf",
+ "fdfdfd": "fdfdfd",
+ "352954": "a26458",
+ "7c8089": "7c8089",
+ "e93761": "491337",
+ "f75c90": "64233b"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/876-female.json b/public/images/pokemon/variant/exp/876-female.json
new file mode 100644
index 00000000000..6803493d5e3
--- /dev/null
+++ b/public/images/pokemon/variant/exp/876-female.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "2e2641": "2c1419",
+ "7d7493": "5a3736",
+ "564c6c": "4a282a",
+ "2f2642": "2c1419",
+ "6c64a6": "b72e3e",
+ "101010": "101010",
+ "d872e7": "79e28d",
+ "ccb7c2": "c4a691",
+ "fefefe": "e8d4bf",
+ "4d447e": "8c1932",
+ "92605f": "14742d",
+ "733737": "043e1f",
+ "826882": "826458",
+ "3d3055": "64102c"
+ },
+ "2": {
+ "2e2641": "853861",
+ "7d7493": "ecb2c5",
+ "564c6c": "d58da4",
+ "2f2642": "444a8e",
+ "6c64a6": "78aae5",
+ "101010": "101010",
+ "d872e7": "ff9cca",
+ "ccb7c2": "cbdbe6",
+ "fefefe": "f0f2f3",
+ "4d447e": "5c7bc5",
+ "92605f": "c53f8d",
+ "733737": "8c174c",
+ "826882": "6f8ba1",
+ "3d3055": "4c5db1"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/876.json b/public/images/pokemon/variant/exp/876.json
new file mode 100644
index 00000000000..4760b75fd31
--- /dev/null
+++ b/public/images/pokemon/variant/exp/876.json
@@ -0,0 +1,36 @@
+{
+ "1": {
+ "2e2641": "2c1419",
+ "7d7493": "5a3736",
+ "564c6c": "4a282a",
+ "101010": "101010",
+ "2f2642": "2c1419",
+ "000000": "000000",
+ "6c64a6": "b72e3e",
+ "ccb7c2": "c4a691",
+ "fefefe": "e8d4bf",
+ "4d447e": "8c1932",
+ "92605f": "14742d",
+ "733737": "043e1f",
+ "28b0e3": "79e28d",
+ "826882": "826458",
+ "3d3055": "64102c"
+ },
+ "2": {
+ "2e2641": "314c7c",
+ "7d7493": "a3c5e8",
+ "564c6c": "78a5d4",
+ "101010": "101010",
+ "2f2642": "7a316c",
+ "000000": "000000",
+ "6c64a6": "f589bb",
+ "ccb7c2": "e6d2e7",
+ "fefefe": "faeefa",
+ "4d447e": "d268a7",
+ "92605f": "0077dc",
+ "733737": "2d4697",
+ "28b0e3": "28b0e3",
+ "826882": "9b7e9e",
+ "3d3055": "aa518a"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/896.json b/public/images/pokemon/variant/exp/896.json
new file mode 100644
index 00000000000..46c929da9e3
--- /dev/null
+++ b/public/images/pokemon/variant/exp/896.json
@@ -0,0 +1,38 @@
+{
+ "0": {
+ "8cacdd": "8f84c9",
+ "101010": "101010",
+ "bbd2ff": "b9abea",
+ "eeeef3": "f6ebf6",
+ "cbc1cc": "c9c0d4",
+ "003071": "2f104f",
+ "6c6271": "68627a",
+ "4679b7": "5952a1",
+ "eeeef2": "f6ebf6",
+ "cac0cb": "c9c0d4"
+ },
+ "1": {
+ "8cacdd": "41d5b3",
+ "101010": "101010",
+ "bbd2ff": "9dffff",
+ "eeeef3": "d7ffff",
+ "cbc1cc": "90f6da",
+ "003071": "014837",
+ "6c6271": "35486b",
+ "4679b7": "00816c",
+ "eeeef2": "93bbf1",
+ "cac0cb": "6f8ec1"
+ },
+ "2": {
+ "8cacdd": "bc393b",
+ "101010": "101010",
+ "bbd2ff": "f68c79",
+ "eeeef3": "fde3d6",
+ "cbc1cc": "f3bca6",
+ "003071": "520016",
+ "6c6271": "21161a",
+ "4679b7": "780024",
+ "eeeef2": "534444",
+ "cac0cb": "3c2c2f"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/897.json b/public/images/pokemon/variant/exp/897.json
new file mode 100644
index 00000000000..4d99bd33678
--- /dev/null
+++ b/public/images/pokemon/variant/exp/897.json
@@ -0,0 +1,41 @@
+{
+ "0": {
+ "3c3c3c": "3c3c3c",
+ "101010": "101010",
+ "525852": "5d5458",
+ "00285c": "632741",
+ "49478f": "894061",
+ "7c5bcf": "d05a82",
+ "d9a4e3": "d9a4e3",
+ "fcfcfc": "fcfcfc",
+ "755179": "755179",
+ "504e8e": "80447d",
+ "8776e4": "b862b3"
+ },
+ "1": {
+ "3c3c3c": "622d51",
+ "101010": "101010",
+ "525852": "904c75",
+ "00285c": "6e1817",
+ "49478f": "932f27",
+ "7c5bcf": "cc5837",
+ "d9a4e3": "ff8478",
+ "fcfcfc": "fff3c6",
+ "755179": "a63938",
+ "504e8e": "b86441",
+ "8776e4": "ef8956"
+ },
+ "2": {
+ "3c3c3c": "3a6965",
+ "101010": "101010",
+ "525852": "5c8a7b",
+ "00285c": "0d2222",
+ "49478f": "13312b",
+ "7c5bcf": "254a34",
+ "d9a4e3": "7dc3ad",
+ "fcfcfc": "cffce7",
+ "755179": "2e6a62",
+ "504e8e": "244056",
+ "8776e4": "3c6371"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/898-ice.json b/public/images/pokemon/variant/exp/898-ice.json
new file mode 100644
index 00000000000..fc6f15bc841
--- /dev/null
+++ b/public/images/pokemon/variant/exp/898-ice.json
@@ -0,0 +1,65 @@
+{
+ "0": {
+ "8cacdd": "8f84c9",
+ "101010": "101010",
+ "bbd2ff": "b9abea",
+ "004037": "00403c",
+ "007766": "00776f",
+ "00584b": "005852",
+ "eeeef3": "f6ebf6",
+ "cbc1cc": "c9c0d4",
+ "525852": "6a5837",
+ "fcfcfc": "fcfcfc",
+ "d1c8be": "d7c881",
+ "c7c8cd": "c7c8cd",
+ "9e8f87": "ae8b50",
+ "003071": "2f104f",
+ "6c6271": "68627a",
+ "4679b7": "5952a1",
+ "eeeef2": "f6ebf6",
+ "cac0cb": "c9c0d4",
+ "00285c": "3b2948"
+ },
+ "1": {
+ "8cacdd": "41d5b3",
+ "101010": "101010",
+ "bbd2ff": "9dffff",
+ "004037": "00124d",
+ "007766": "345ab5",
+ "00584b": "183986",
+ "eeeef3": "d7ffff",
+ "cbc1cc": "90f6da",
+ "525852": "38255f",
+ "fcfcfc": "fcfcfc",
+ "d1c8be": "ba9ded",
+ "c7c8cd": "c7c8cd",
+ "9e8f87": "927ec4",
+ "003071": "014837",
+ "6c6271": "35486b",
+ "4679b7": "00816c",
+ "eeeef2": "93bbf1",
+ "cac0cb": "6f8ec1",
+ "00285c": "8d075a"
+ },
+ "2": {
+ "8cacdd": "bc393b",
+ "101010": "101010",
+ "bbd2ff": "f68c79",
+ "004037": "3c1522",
+ "007766": "88253e",
+ "00584b": "601b35",
+ "eeeef3": "fde3d6",
+ "cbc1cc": "f3bca6",
+ "525852": "181935",
+ "fcfcfc": "fefdeb",
+ "d1c8be": "4378b1",
+ "c7c8cd": "c4bdb3",
+ "9e8f87": "354d8a",
+ "003071": "520016",
+ "6c6271": "21161a",
+ "4679b7": "780024",
+ "eeeef2": "534444",
+ "cac0cb": "3c2c2f",
+ "00285c": "e4ba56"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/898-shadow.json b/public/images/pokemon/variant/exp/898-shadow.json
new file mode 100644
index 00000000000..b4aad1b5ce9
--- /dev/null
+++ b/public/images/pokemon/variant/exp/898-shadow.json
@@ -0,0 +1,71 @@
+{
+ "0": {
+ "004037": "00403c",
+ "007766": "00776f",
+ "3c3c3c": "3c3c3c",
+ "00584b": "005852",
+ "101010": "101010",
+ "525852": "5d5458",
+ "00285c": "632741",
+ "fbfbfb": "fbfbfb",
+ "4d524d": "6a5837",
+ "d1c8be": "d7c881",
+ "49478f": "894061",
+ "7c5bcf": "d05a82",
+ "d9a4e3": "d9a4e3",
+ "9e8f87": "ae8b50",
+ "c7c8cd": "c7c8cd",
+ "fcfcfc": "fcfcfc",
+ "755179": "755179",
+ "4679b7": "3b2948",
+ "00285b": "3b2948",
+ "504e8e": "80447d",
+ "8776e4": "b862b3"
+ },
+ "1": {
+ "004037": "00124d",
+ "007766": "345ab5",
+ "3c3c3c": "622d51",
+ "00584b": "183986",
+ "101010": "101010",
+ "525852": "904c75",
+ "00285c": "6e1817",
+ "fbfbfb": "fbfbfb",
+ "4d524d": "38255f",
+ "d1c8be": "ba9ded",
+ "49478f": "932f27",
+ "7c5bcf": "cc5837",
+ "d9a4e3": "ff8478",
+ "9e8f87": "927ec4",
+ "c7c8cd": "c7c8cd",
+ "fcfcfc": "fff3c6",
+ "755179": "a63938",
+ "4679b7": "8d075a",
+ "00285b": "8d075a",
+ "504e8e": "b86441",
+ "8776e4": "ef8956"
+ },
+ "2": {
+ "004037": "3c1522",
+ "007766": "88253e",
+ "3c3c3c": "3a6965",
+ "00584b": "601b35",
+ "101010": "101010",
+ "525852": "5c8a7b",
+ "00285c": "0d2222",
+ "fbfbfb": "fefdeb",
+ "4d524d": "181935",
+ "d1c8be": "4378b1",
+ "49478f": "13312b",
+ "7c5bcf": "254a34",
+ "d9a4e3": "7dc3ad",
+ "9e8f87": "354d8a",
+ "c7c8cd": "c4bdb3",
+ "fcfcfc": "cffce7",
+ "755179": "2e6a62",
+ "4679b7": "e4ba56",
+ "00285b": "e4ba56",
+ "504e8e": "244056",
+ "8776e4": "3c6371"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/898.json b/public/images/pokemon/variant/exp/898.json
new file mode 100644
index 00000000000..f22e19ed94d
--- /dev/null
+++ b/public/images/pokemon/variant/exp/898.json
@@ -0,0 +1,50 @@
+{
+ "0": {
+ "6b7489": "71517a",
+ "a9acc7": "c4abc1",
+ "004037": "00403c",
+ "00584b": "005852",
+ "007766": "00776f",
+ "003a87": "71517a",
+ "101010": "101010",
+ "615350": "6a5837",
+ "fcfcfc": "fcfcfc",
+ "c7c8cd": "ccc6d1",
+ "9e8f87": "ae8b50",
+ "d1c8be": "d7c881",
+ "797b8f": "8e778d",
+ "00285c": "3b2948"
+ },
+ "1": {
+ "6b7489": "f55a95",
+ "a9acc7": "fa9ac3",
+ "004037": "00124d",
+ "00584b": "183986",
+ "007766": "345ab5",
+ "003a87": "c64883",
+ "101010": "101010",
+ "615350": "38255f",
+ "fcfcfc": "fcfcfc",
+ "c7c8cd": "ccc6d1",
+ "9e8f87": "927ec4",
+ "d1c8be": "ba9ded",
+ "797b8f": "ec6196",
+ "00285c": "8d075a"
+ },
+ "2": {
+ "6b7489": "cc8c49",
+ "a9acc7": "decfa1",
+ "004037": "3c1522",
+ "00584b": "601b35",
+ "007766": "88253e",
+ "003a87": "cc8c49",
+ "101010": "101010",
+ "615350": "181935",
+ "fcfcfc": "fefdeb",
+ "c7c8cd": "c4bdb3",
+ "9e8f87": "354d8a",
+ "d1c8be": "4378b1",
+ "797b8f": "ecc260",
+ "00285c": "a16035"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/9-mega_2.json b/public/images/pokemon/variant/exp/9-mega_2.json
new file mode 100644
index 00000000000..ab160a44451
--- /dev/null
+++ b/public/images/pokemon/variant/exp/9-mega_2.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "9-mega_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 88,
+ "h": 88
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 88,
+ "h": 87
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 88,
+ "h": 87
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 88,
+ "h": 87
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:9b1bebbbe735399ba2678aa35a42b156:2dc7c20135acd855e9e97cb010985396:00f61506d33ec61875296e0fb5a82ee9$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/9-mega_2.png b/public/images/pokemon/variant/exp/9-mega_2.png
new file mode 100644
index 00000000000..c3c06c1eca7
Binary files /dev/null and b/public/images/pokemon/variant/exp/9-mega_2.png differ
diff --git a/public/images/pokemon/variant/exp/9-mega_3.json b/public/images/pokemon/variant/exp/9-mega_3.json
new file mode 100644
index 00000000000..24363c06a12
--- /dev/null
+++ b/public/images/pokemon/variant/exp/9-mega_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "9-mega_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 88,
+ "h": 88
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 88,
+ "h": 87
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 88,
+ "h": 87
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 88,
+ "h": 87
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:9b1bebbbe735399ba2678aa35a42b156:2dc7c20135acd855e9e97cb010985396:00f61506d33ec61875296e0fb5a82ee9$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/9-mega_3.png b/public/images/pokemon/variant/exp/9-mega_3.png
new file mode 100644
index 00000000000..d7a4b6f9140
Binary files /dev/null and b/public/images/pokemon/variant/exp/9-mega_3.png differ
diff --git a/public/images/pokemon/variant/exp/951.json b/public/images/pokemon/variant/exp/951.json
new file mode 100644
index 00000000000..7361474a6f3
--- /dev/null
+++ b/public/images/pokemon/variant/exp/951.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "587266": "d38c43",
+ "244828": "32131a",
+ "f0fbe3": "ffeacc",
+ "2e302f": "1f0c17",
+ "3f9a5f": "be8a84",
+ "2f683c": "9d6b5b",
+ "0f0f0f": "0f0f0f",
+ "5c7c5c": "4c292f",
+ "79b97b": "704f4f",
+ "a6b496": "facf81",
+ "acd2ae": "aa867f",
+ "ff9115": "ffb676",
+ "d06382": "da8343",
+ "1c3520": "43211a"
+ },
+ "2": {
+ "587266": "cb486d",
+ "244828": "5d4d80",
+ "f0fbe3": "fecff5",
+ "2e302f": "3b2e3a",
+ "3f9a5f": "a78bdc",
+ "2f683c": "7456a8",
+ "0f0f0f": "0f0f0f",
+ "5c7c5c": "8e7eb1",
+ "79b97b": "cfbfe6",
+ "a6b496": "fa95d1",
+ "acd2ae": "f8f3fe",
+ "ff9115": "b6dfff",
+ "d06382": "d06382",
+ "1c3520": "452a75"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/952.json b/public/images/pokemon/variant/exp/952.json
new file mode 100644
index 00000000000..5413205c023
--- /dev/null
+++ b/public/images/pokemon/variant/exp/952.json
@@ -0,0 +1,54 @@
+{
+ "1": {
+ "294e25": "55321d",
+ "51c444": "facf81",
+ "3f8147": "d38c43",
+ "0f0f0f": "0f0f0f",
+ "1f1f1f": "1f1f1f",
+ "641e1c": "8c2f0a",
+ "a23424": "bb5a2b",
+ "ef5131": "f8975d",
+ "69ab7b": "be8a84",
+ "cdcdcd": "ffd2cc",
+ "dd5800": "ffb676",
+ "42804b": "9d6b5b",
+ "192021": "192021",
+ "fffff7": "fffff7",
+ "000000": "000000",
+ "ee3131": "9d560e",
+ "eff3e6": "eff3e6",
+ "e65a29": "c8833c",
+ "ff9c18": "e4ce6d",
+ "ffde52": "fffaa5",
+ "476b51": "704f4f",
+ "262826": "3b1720",
+ "3c5042": "4c292f",
+ "733131": "7d3c04"
+ },
+ "2": {
+ "294e25": "3f3399",
+ "51c444": "90c3ea",
+ "3f8147": "627bcd",
+ "0f0f0f": "0f0f0f",
+ "1f1f1f": "1f1f1f",
+ "641e1c": "8c1f39",
+ "a23424": "cb486d",
+ "ef5131": "f77baf",
+ "69ab7b": "c4a4eb",
+ "cdcdcd": "f8f3fe",
+ "dd5800": "f597cf",
+ "42804b": "9884d3",
+ "192021": "192021",
+ "fffff7": "fffff7",
+ "000000": "000000",
+ "ee3131": "e03d64",
+ "eff3e6": "eff3e6",
+ "e65a29": "f577a1",
+ "ff9c18": "fa95d1",
+ "ffde52": "fecff5",
+ "476b51": "f8f3fe",
+ "262826": "9986b3",
+ "3c5042": "cfbfe6",
+ "733131": "aa1e40"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/974.json b/public/images/pokemon/variant/exp/974.json
new file mode 100644
index 00000000000..fab4a8d61d1
--- /dev/null
+++ b/public/images/pokemon/variant/exp/974.json
@@ -0,0 +1,36 @@
+{
+ "1": {
+ "736875": "8c2727",
+ "bebaba": "ee9065",
+ "524951": "661427",
+ "0f0f0f": "0f0f0f",
+ "efefef": "ffcc9e",
+ "a29793": "c85442",
+ "a44667": "2c7193",
+ "c7639c": "48aeba",
+ "f493c9": "71e2d3",
+ "fcfcfc": "fcfcfc",
+ "c9c9c9": "c9c9c9",
+ "5e5e5e": "5e5e5e",
+ "832041": "6a193e",
+ "cd394a": "ac5070",
+ "dc7569": "e37c8e"
+ },
+ "2": {
+ "736875": "1f355e",
+ "bebaba": "2a607f",
+ "524951": "172651",
+ "0f0f0f": "0f0f0f",
+ "efefef": "438aa0",
+ "a29793": "1c426b",
+ "a44667": "ae664a",
+ "c7639c": "daa470",
+ "f493c9": "ffdfa1",
+ "fcfcfc": "fcfcfc",
+ "c9c9c9": "c9c9c9",
+ "5e5e5e": "5e5e5e",
+ "832041": "433363",
+ "cd394a": "775b8c",
+ "dc7569": "a87fae"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/975.json b/public/images/pokemon/variant/exp/975.json
new file mode 100644
index 00000000000..7ac0645ce57
--- /dev/null
+++ b/public/images/pokemon/variant/exp/975.json
@@ -0,0 +1,36 @@
+{
+ "1": {
+ "0f0f0f": "0f0f0f",
+ "b6b6c0": "d85661",
+ "555566": "660e45",
+ "6a6069": "8c2727",
+ "fefefe": "ffcc9e",
+ "c8c4c4": "ee9065",
+ "8c8899": "b53653",
+ "a29793": "c85442",
+ "69697e": "88214d",
+ "c7639c": "48aeba",
+ "a44667": "2c7193",
+ "f493c9": "71e2d3",
+ "ded6c0": "db9b76",
+ "f7f6f2": "ffcfa8",
+ "fcfcfc": "fcfcfc"
+ },
+ "2": {
+ "0f0f0f": "0f0f0f",
+ "b6b6c0": "ffe9d6",
+ "555566": "a05c56",
+ "6a6069": "121f43",
+ "fefefe": "357489",
+ "c8c4c4": "265777",
+ "8c8899": "ddbcaa",
+ "a29793": "193e66",
+ "69697e": "bc887a",
+ "c7639c": "daa470",
+ "a44667": "ae664a",
+ "f493c9": "ffdfa1",
+ "ded6c0": "2b5a70",
+ "f7f6f2": "3a7687",
+ "fcfcfc": "fcfcfc"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/979_1.json b/public/images/pokemon/variant/exp/979_1.json
new file mode 100644
index 00000000000..310f37cf5f1
--- /dev/null
+++ b/public/images/pokemon/variant/exp/979_1.json
@@ -0,0 +1,692 @@
+{
+ "textures": [
+ {
+ "image": "979_1.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 162,
+ "h": 162
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 81,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 81,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 81,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 81,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 81,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 81,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 81,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 81,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 79,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 79,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 79,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 79,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 79,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 79,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 79,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 79,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 79,
+ "h": 80
+ },
+ "frame": {
+ "x": 79,
+ "y": 81,
+ "w": 79,
+ "h": 80
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 79,
+ "h": 80
+ },
+ "frame": {
+ "x": 79,
+ "y": 81,
+ "w": 79,
+ "h": 80
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 79,
+ "h": 80
+ },
+ "frame": {
+ "x": 79,
+ "y": 81,
+ "w": 79,
+ "h": 80
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 79,
+ "h": 80
+ },
+ "frame": {
+ "x": 79,
+ "y": 81,
+ "w": 79,
+ "h": 80
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 79,
+ "h": 80
+ },
+ "frame": {
+ "x": 79,
+ "y": 81,
+ "w": 79,
+ "h": 80
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 79,
+ "h": 80
+ },
+ "frame": {
+ "x": 79,
+ "y": 81,
+ "w": 79,
+ "h": 80
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 79,
+ "h": 80
+ },
+ "frame": {
+ "x": 79,
+ "y": 81,
+ "w": 79,
+ "h": 80
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 79,
+ "h": 80
+ },
+ "frame": {
+ "x": 79,
+ "y": 81,
+ "w": 79,
+ "h": 80
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:9debf960d57a2bcaf3d20262a44d1a92:a4963ee6e40775b2b7356906478c016d:351422d30d3be13e0d9d234ec7c8c043$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/979_1.png b/public/images/pokemon/variant/exp/979_1.png
new file mode 100644
index 00000000000..9d07620bf16
Binary files /dev/null and b/public/images/pokemon/variant/exp/979_1.png differ
diff --git a/public/images/pokemon/variant/exp/979_2.json b/public/images/pokemon/variant/exp/979_2.json
new file mode 100644
index 00000000000..3c414f74bdd
--- /dev/null
+++ b/public/images/pokemon/variant/exp/979_2.json
@@ -0,0 +1,692 @@
+{
+ "textures": [
+ {
+ "image": "979_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 162,
+ "h": 162
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 81,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 81,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 81,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 81,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 81,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 81,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 81,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 81,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 79,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 79,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 79,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 79,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 79,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 79,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 79,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 79,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 79,
+ "h": 80
+ },
+ "frame": {
+ "x": 79,
+ "y": 81,
+ "w": 79,
+ "h": 80
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 79,
+ "h": 80
+ },
+ "frame": {
+ "x": 79,
+ "y": 81,
+ "w": 79,
+ "h": 80
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 79,
+ "h": 80
+ },
+ "frame": {
+ "x": 79,
+ "y": 81,
+ "w": 79,
+ "h": 80
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 79,
+ "h": 80
+ },
+ "frame": {
+ "x": 79,
+ "y": 81,
+ "w": 79,
+ "h": 80
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 79,
+ "h": 80
+ },
+ "frame": {
+ "x": 79,
+ "y": 81,
+ "w": 79,
+ "h": 80
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 79,
+ "h": 80
+ },
+ "frame": {
+ "x": 79,
+ "y": 81,
+ "w": 79,
+ "h": 80
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 79,
+ "h": 80
+ },
+ "frame": {
+ "x": 79,
+ "y": 81,
+ "w": 79,
+ "h": 80
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 79,
+ "h": 80
+ },
+ "frame": {
+ "x": 79,
+ "y": 81,
+ "w": 79,
+ "h": 80
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:9debf960d57a2bcaf3d20262a44d1a92:a4963ee6e40775b2b7356906478c016d:351422d30d3be13e0d9d234ec7c8c043$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/979_2.png b/public/images/pokemon/variant/exp/979_2.png
new file mode 100644
index 00000000000..07c6ece9b07
Binary files /dev/null and b/public/images/pokemon/variant/exp/979_2.png differ
diff --git a/public/images/pokemon/variant/exp/979_3.json b/public/images/pokemon/variant/exp/979_3.json
new file mode 100644
index 00000000000..7a85cd535bb
--- /dev/null
+++ b/public/images/pokemon/variant/exp/979_3.json
@@ -0,0 +1,692 @@
+{
+ "textures": [
+ {
+ "image": "979_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 162,
+ "h": 162
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 81,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 81,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 81,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 81,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 81,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 81,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 81,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 0,
+ "y": 81,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 79,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 79,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 79,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 79,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 79,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 79,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 79,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ },
+ "frame": {
+ "x": 79,
+ "y": 0,
+ "w": 79,
+ "h": 81
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 79,
+ "h": 80
+ },
+ "frame": {
+ "x": 79,
+ "y": 81,
+ "w": 79,
+ "h": 80
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 79,
+ "h": 80
+ },
+ "frame": {
+ "x": 79,
+ "y": 81,
+ "w": 79,
+ "h": 80
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 79,
+ "h": 80
+ },
+ "frame": {
+ "x": 79,
+ "y": 81,
+ "w": 79,
+ "h": 80
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 79,
+ "h": 80
+ },
+ "frame": {
+ "x": 79,
+ "y": 81,
+ "w": 79,
+ "h": 80
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 79,
+ "h": 80
+ },
+ "frame": {
+ "x": 79,
+ "y": 81,
+ "w": 79,
+ "h": 80
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 79,
+ "h": 80
+ },
+ "frame": {
+ "x": 79,
+ "y": 81,
+ "w": 79,
+ "h": 80
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 79,
+ "h": 80
+ },
+ "frame": {
+ "x": 79,
+ "y": 81,
+ "w": 79,
+ "h": 80
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 79,
+ "h": 81
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 79,
+ "h": 80
+ },
+ "frame": {
+ "x": 79,
+ "y": 81,
+ "w": 79,
+ "h": 80
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:9debf960d57a2bcaf3d20262a44d1a92:a4963ee6e40775b2b7356906478c016d:351422d30d3be13e0d9d234ec7c8c043$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/979_3.png b/public/images/pokemon/variant/exp/979_3.png
new file mode 100644
index 00000000000..da84b866c39
Binary files /dev/null and b/public/images/pokemon/variant/exp/979_3.png differ
diff --git a/public/images/pokemon/variant/exp/993.json b/public/images/pokemon/variant/exp/993.json
new file mode 100644
index 00000000000..3a9ed405d1f
--- /dev/null
+++ b/public/images/pokemon/variant/exp/993.json
@@ -0,0 +1,100 @@
+{
+ "1": {
+ "272629": "754711",
+ "47454a": "c59b4b",
+ "000000": "000000",
+ "787578": "f8f5e2",
+ "ff4dcb": "b7c6d6",
+ "ff82db": "d9d9ea",
+ "984983": "58585c",
+ "ffe3ea": "f8f5f5",
+ "0d1e3d": "0d1e3d",
+ "1f468f": "3c236a",
+ "83a2e5": "c9b0f8",
+ "3f7be5": "a58fcd",
+ "3266d6": "8c6bac",
+ "222421": "91988f",
+ "2a66d6": "662ad6",
+ "2f2d2f": "2f2d2f",
+ "3c393c": "3c393c",
+ "2e2c2e": "2e2c2e",
+ "316bda": "8931da",
+ "4a454a": "4a454a",
+ "fa4dd6": "e3dde2",
+ "ff5ade": "d6d3d5",
+ "fc55db": "c1bbc0",
+ "f84dd7": "c1b9bf",
+ "ff80db": "ff80db",
+ "494449": "494449",
+ "1d1f1b": "1d1f1b",
+ "242423": "242423",
+ "281d21": "281d21",
+ "ff51de": "ff51de",
+ "212421": "212421",
+ "342631": "342631",
+ "262829": "262829",
+ "ffa8e6": "e5e4ea",
+ "a95994": "aca5aa",
+ "b42a8c": "7c7a7a",
+ "9b2478": "454445",
+ "454348": "c59b4b",
+ "2b0b21": "070707",
+ "0f040c": "0f040c",
+ "6d1a55": "1c1b1b",
+ "2c1526": "2c1526",
+ "5d5255": "5d5255",
+ "373237": "373237",
+ "3d383c": "3d383c",
+ "161414": "161414",
+ "150a11": "150a11"
+ },
+ "2": {
+ "272629": "203c45",
+ "47454a": "467678",
+ "000000": "000000",
+ "787578": "a4bfbe",
+ "ff4dcb": "e3bbd3",
+ "ff82db": "f1d9e7",
+ "984983": "873954",
+ "ffe3ea": "ffe3ea",
+ "0d1e3d": "470e2c",
+ "1f468f": "600f40",
+ "83a2e5": "e583a5",
+ "3f7be5": "8a143d",
+ "3266d6": "ba1e51",
+ "222421": "222421",
+ "2a66d6": "f1c4d4",
+ "2f2d2f": "2f2d2f",
+ "3c393c": "3c393c",
+ "2e2c2e": "2e2c2e",
+ "316bda": "f1bdd8",
+ "4a454a": "4a454a",
+ "fa4dd6": "f8d1de",
+ "ff5ade": "f8e6ee",
+ "fc55db": "f8eaf1",
+ "f84dd7": "f8dfec",
+ "ff80db": "ffe5f8",
+ "494449": "494449",
+ "1d1f1b": "1d1f1b",
+ "242423": "242423",
+ "281d21": "281d21",
+ "ff51de": "f8e3f4",
+ "212421": "212421",
+ "342631": "342631",
+ "262829": "262829",
+ "ffa8e6": "f8edf4",
+ "a95994": "a95994",
+ "b42a8c": "c181a7",
+ "9b2478": "83486b",
+ "454348": "454348",
+ "2b0b21": "2b0b21",
+ "0f040c": "0f040c",
+ "6d1a55": "4c1f39",
+ "2c1526": "2c1526",
+ "5d5255": "5d5255",
+ "373237": "373237",
+ "3d383c": "3d383c",
+ "161414": "161414",
+ "150a11": "150a11"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/2052.json b/public/images/pokemon/variant/exp/back/2052.json
new file mode 100644
index 00000000000..31bcb35f0dc
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/2052.json
@@ -0,0 +1,30 @@
+{
+ "1": {
+ "45505f": "8c583b",
+ "0a0a0a": "0a0a0a",
+ "91a3bf": "ffda5c",
+ "627986": "de974e",
+ "995433": "493473",
+ "262b3c": "41185e",
+ "f3f3f3": "f3f3f3",
+ "e3cc2b": "a66db5",
+ "ca833c": "7a519a",
+ "798071": "7a4888",
+ "b5b6b9": "bb92d5",
+ "f0f0f0": "f4ceff"
+ },
+ "2": {
+ "45505f": "271420",
+ "0a0a0a": "0a0a0a",
+ "91a3bf": "7c4e42",
+ "627986": "5f3036",
+ "995433": "45328e",
+ "262b3c": "1d1b33",
+ "f3f3f3": "f3f3f3",
+ "e3cc2b": "b5b8f9",
+ "ca833c": "7b7fda",
+ "798071": "5f5c7e",
+ "b5b6b9": "7b7895",
+ "f0f0f0": "d1daf5"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/2053.json b/public/images/pokemon/variant/exp/back/2053.json
new file mode 100644
index 00000000000..f833d9b1dd2
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/2053.json
@@ -0,0 +1,18 @@
+{
+ "1": {
+ "0a0a0a": "0a0a0a",
+ "45505f": "8c583b",
+ "627986": "de974e",
+ "262b3c": "41185e",
+ "99abc9": "ffda5c",
+ "080808": "080808"
+ },
+ "2": {
+ "0a0a0a": "0a0a0a",
+ "45505f": "271420",
+ "627986": "5f3036",
+ "262b3c": "150e1c",
+ "99abc9": "7c4e42",
+ "080808": "080808"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/229-mega.json b/public/images/pokemon/variant/exp/back/229-mega.json
new file mode 100644
index 00000000000..817dd33272c
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/229-mega.json
@@ -0,0 +1,56 @@
+{
+ "1": {
+ "83738b": "7c323c",
+ "000000": "000000",
+ "ffffff": "f3bd87",
+ "a49cac": "a84b50",
+ "cdd5d5": "c87966",
+ "182029": "321b32",
+ "313139": "553454",
+ "4a4a52": "76546b",
+ "010101": "010101",
+ "f8f9ff": "f8f9ff",
+ "e14825": "9f94cc",
+ "ce0a10": "455d92",
+ "6a211f": "314075",
+ "e89368": "c1c2e8",
+ "f69c83": "f8f1e7",
+ "622910": "77545b",
+ "0f0f0f": "0f0f0f",
+ "c5cdd1": "bbc3ce",
+ "a45a4a": "ceb0a5",
+ "ffe0b3": "eef5ff",
+ "e2e0e3": "e2e0e3",
+ "830c28": "830c28",
+ "f7f7f7": "f7f7f7",
+ "af1b1b": "aa8c82",
+ "732422": "856458"
+ },
+ "2": {
+ "83738b": "121d3c",
+ "000000": "000000",
+ "ffffff": "5c8d95",
+ "a49cac": "223657",
+ "cdd5d5": "38576c",
+ "182029": "321b32",
+ "313139": "b1a3b1",
+ "4a4a52": "f8faf3",
+ "010101": "010101",
+ "f8f9ff": "223657",
+ "e14825": "2582ce",
+ "ce0a10": "e58142",
+ "6a211f": "c85431",
+ "e89368": "4ad1de",
+ "f69c83": "72557e",
+ "622910": "321b32",
+ "0f0f0f": "0f0f0f",
+ "c5cdd1": "100f27",
+ "a45a4a": "533960",
+ "ffe0b3": "a9f8ef",
+ "e2e0e3": "e2e0e3",
+ "830c28": "a5657c",
+ "f7f7f7": "f7f7f7",
+ "af1b1b": "534b6a",
+ "732422": "423655"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/354-mega.json b/public/images/pokemon/variant/exp/back/354-mega.json
new file mode 100644
index 00000000000..d335b807b07
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/354-mega.json
@@ -0,0 +1,32 @@
+{
+ "1": {
+ "7b5a29": "624858",
+ "523900": "361a2d",
+ "322c33": "30142a",
+ "eebd5a": "b78d90",
+ "4d464f": "592145",
+ "d59c39": "7d656d",
+ "010101": "010101",
+ "685f6b": "6c2f4c",
+ "7c777d": "934861",
+ "a47b10": "533c4e",
+ "80313d": "1c4d5d",
+ "d74477": "37838b",
+ "ea7bb6": "73bdbd"
+ },
+ "2": {
+ "7b5a29": "292941",
+ "523900": "151433",
+ "322c33": "2b454a",
+ "eebd5a": "4d4f5b",
+ "4d464f": "5b777b",
+ "d59c39": "3b3d54",
+ "010101": "010101",
+ "685f6b": "71a680",
+ "7c777d": "9cbf81",
+ "a47b10": "373c56",
+ "80313d": "4f0209",
+ "d74477": "751a1c",
+ "ea7bb6": "983226"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/4080_1.json b/public/images/pokemon/variant/exp/back/4080_1.json
new file mode 100644
index 00000000000..0b27606efa8
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/4080_1.json
@@ -0,0 +1,230 @@
+{
+ "textures": [
+ {
+ "image": "4080_1.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 173,
+ "h": 173
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 66,
+ "h": 57
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 66,
+ "h": 57
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 66,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 66,
+ "h": 57
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 66,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 64,
+ "h": 58
+ },
+ "frame": {
+ "x": 0,
+ "y": 57,
+ "w": 64,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 64,
+ "h": 58
+ },
+ "frame": {
+ "x": 0,
+ "y": 57,
+ "w": 64,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 61,
+ "h": 58
+ },
+ "frame": {
+ "x": 0,
+ "y": 115,
+ "w": 61,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 61,
+ "h": 58
+ },
+ "frame": {
+ "x": 0,
+ "y": 115,
+ "w": 61,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 59,
+ "h": 58
+ },
+ "frame": {
+ "x": 61,
+ "y": 115,
+ "w": 59,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 59,
+ "h": 58
+ },
+ "frame": {
+ "x": 61,
+ "y": 115,
+ "w": 59,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 58
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 0,
+ "w": 57,
+ "h": 58
+ },
+ "frame": {
+ "x": 64,
+ "y": 57,
+ "w": 57,
+ "h": 58
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:66364c3fa8f967bd9310393d8a1b25e1:0e96af7d45da466b62eff36d92a3f121:015ff34e49c83f5df583f6ee4f397d44$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/4080_1.png b/public/images/pokemon/variant/exp/back/4080_1.png
new file mode 100644
index 00000000000..580548f6d3a
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/4080_1.png differ
diff --git a/public/images/pokemon/variant/exp/back/4199_1.json b/public/images/pokemon/variant/exp/back/4199_1.json
new file mode 100644
index 00000000000..10b3539c369
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/4199_1.json
@@ -0,0 +1,230 @@
+{
+ "textures": [
+ {
+ "image": "4199_1.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 153,
+ "h": 153
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 56,
+ "h": 70
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 54,
+ "h": 69
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 54,
+ "h": 69
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 56,
+ "h": 70
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 53,
+ "h": 70
+ },
+ "frame": {
+ "x": 54,
+ "y": 0,
+ "w": 53,
+ "h": 70
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 56,
+ "h": 70
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 53,
+ "h": 70
+ },
+ "frame": {
+ "x": 54,
+ "y": 0,
+ "w": 53,
+ "h": 70
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 56,
+ "h": 70
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 51,
+ "h": 70
+ },
+ "frame": {
+ "x": 0,
+ "y": 69,
+ "w": 51,
+ "h": 70
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 56,
+ "h": 70
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 51,
+ "h": 70
+ },
+ "frame": {
+ "x": 0,
+ "y": 69,
+ "w": 51,
+ "h": 70
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 56,
+ "h": 70
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 49,
+ "h": 70
+ },
+ "frame": {
+ "x": 51,
+ "y": 70,
+ "w": 49,
+ "h": 70
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 56,
+ "h": 70
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 49,
+ "h": 70
+ },
+ "frame": {
+ "x": 51,
+ "y": 70,
+ "w": 49,
+ "h": 70
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 56,
+ "h": 70
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 47,
+ "h": 70
+ },
+ "frame": {
+ "x": 100,
+ "y": 70,
+ "w": 47,
+ "h": 70
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 56,
+ "h": 70
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 47,
+ "h": 70
+ },
+ "frame": {
+ "x": 100,
+ "y": 70,
+ "w": 47,
+ "h": 70
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 56,
+ "h": 70
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 46,
+ "h": 69
+ },
+ "frame": {
+ "x": 107,
+ "y": 0,
+ "w": 46,
+ "h": 69
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:1a64dc077843e2450e6e1402f7e1c0c4:e6c03132cf554068d7f457a913175ce4:427382f12be0d488e7af870a65d1099b$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/4199_1.png b/public/images/pokemon/variant/exp/back/4199_1.png
new file mode 100644
index 00000000000..17e691cb35b
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/4199_1.png differ
diff --git a/public/images/pokemon/variant/exp/back/531-mega.json b/public/images/pokemon/variant/exp/back/531-mega.json
new file mode 100644
index 00000000000..7bc420db09e
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/531-mega.json
@@ -0,0 +1,26 @@
+{
+ "1": {
+ "80734d": "7c4b3b",
+ "ffecb2": "fff6f0",
+ "101010": "101010",
+ "ccb87a": "d6bfb4",
+ "b35968": "b64231",
+ "ffbfca": "f5a779",
+ "737373": "6b0a46",
+ "bfbfbf": "cc3a74",
+ "f8f8f8": "f0728d",
+ "000000": "000000"
+ },
+ "2": {
+ "80734d": "09232a",
+ "ffecb2": "4bb9a6",
+ "101010": "101010",
+ "ccb87a": "29878f",
+ "b35968": "a0602f",
+ "ffbfca": "f6e3a8",
+ "737373": "111322",
+ "bfbfbf": "202537",
+ "f8f8f8": "323c52",
+ "000000": "000000"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/6-mega-x_2.json b/public/images/pokemon/variant/exp/back/6-mega-x_2.json
new file mode 100644
index 00000000000..9c322e13516
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/6-mega-x_2.json
@@ -0,0 +1,272 @@
+{
+ "textures": [
+ {
+ "image": "6-mega-x_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 238,
+ "h": 238
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 89,
+ "h": 80
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 80
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 80
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 89,
+ "h": 80
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 80
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 80
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 89,
+ "h": 80
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 80
+ },
+ "frame": {
+ "x": 89,
+ "y": 0,
+ "w": 89,
+ "h": 80
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 89,
+ "h": 80
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 80
+ },
+ "frame": {
+ "x": 89,
+ "y": 0,
+ "w": 89,
+ "h": 80
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 89,
+ "h": 80
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 80
+ },
+ "frame": {
+ "x": 0,
+ "y": 80,
+ "w": 89,
+ "h": 80
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 89,
+ "h": 80
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 80
+ },
+ "frame": {
+ "x": 0,
+ "y": 80,
+ "w": 89,
+ "h": 80
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 80
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 89,
+ "h": 78
+ },
+ "frame": {
+ "x": 0,
+ "y": 160,
+ "w": 89,
+ "h": 78
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 80
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 89,
+ "h": 78
+ },
+ "frame": {
+ "x": 0,
+ "y": 160,
+ "w": 89,
+ "h": 78
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 80
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 89,
+ "h": 79
+ },
+ "frame": {
+ "x": 89,
+ "y": 80,
+ "w": 89,
+ "h": 79
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 80
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 89,
+ "h": 79
+ },
+ "frame": {
+ "x": 89,
+ "y": 80,
+ "w": 89,
+ "h": 79
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 80
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 89,
+ "h": 79
+ },
+ "frame": {
+ "x": 89,
+ "y": 159,
+ "w": 89,
+ "h": 79
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 80
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 89,
+ "h": 79
+ },
+ "frame": {
+ "x": 89,
+ "y": 159,
+ "w": 89,
+ "h": 79
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:8aee80b85e8d6705238d02eb5f29a9b4:b802f1eaa4714884315479b67b93eaf3:32b3c4da50b10827622193937c163dd3$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/6-mega-x_2.png b/public/images/pokemon/variant/exp/back/6-mega-x_2.png
new file mode 100644
index 00000000000..2ce28df44c3
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/6-mega-x_2.png differ
diff --git a/public/images/pokemon/variant/exp/back/6-mega-x_3.json b/public/images/pokemon/variant/exp/back/6-mega-x_3.json
new file mode 100644
index 00000000000..4b0cc189caa
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/6-mega-x_3.json
@@ -0,0 +1,272 @@
+{
+ "textures": [
+ {
+ "image": "6-mega-x_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 238,
+ "h": 238
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 89,
+ "h": 80
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 80
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 80
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 89,
+ "h": 80
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 80
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 80
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 89,
+ "h": 80
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 80
+ },
+ "frame": {
+ "x": 89,
+ "y": 0,
+ "w": 89,
+ "h": 80
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 89,
+ "h": 80
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 80
+ },
+ "frame": {
+ "x": 89,
+ "y": 0,
+ "w": 89,
+ "h": 80
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 89,
+ "h": 80
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 80
+ },
+ "frame": {
+ "x": 0,
+ "y": 80,
+ "w": 89,
+ "h": 80
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 89,
+ "h": 80
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 89,
+ "h": 80
+ },
+ "frame": {
+ "x": 0,
+ "y": 80,
+ "w": 89,
+ "h": 80
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 80
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 89,
+ "h": 78
+ },
+ "frame": {
+ "x": 0,
+ "y": 160,
+ "w": 89,
+ "h": 78
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 80
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 89,
+ "h": 78
+ },
+ "frame": {
+ "x": 0,
+ "y": 160,
+ "w": 89,
+ "h": 78
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 80
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 89,
+ "h": 79
+ },
+ "frame": {
+ "x": 89,
+ "y": 80,
+ "w": 89,
+ "h": 79
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 80
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 89,
+ "h": 79
+ },
+ "frame": {
+ "x": 89,
+ "y": 80,
+ "w": 89,
+ "h": 79
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 80
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 89,
+ "h": 79
+ },
+ "frame": {
+ "x": 89,
+ "y": 159,
+ "w": 89,
+ "h": 79
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 89,
+ "h": 80
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 89,
+ "h": 79
+ },
+ "frame": {
+ "x": 89,
+ "y": 159,
+ "w": 89,
+ "h": 79
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:8aee80b85e8d6705238d02eb5f29a9b4:b802f1eaa4714884315479b67b93eaf3:32b3c4da50b10827622193937c163dd3$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/6-mega-x_3.png b/public/images/pokemon/variant/exp/back/6-mega-x_3.png
new file mode 100644
index 00000000000..480e3deed3f
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/6-mega-x_3.png differ
diff --git a/public/images/pokemon/variant/exp/back/6-mega-y.json b/public/images/pokemon/variant/exp/back/6-mega-y.json
new file mode 100644
index 00000000000..fa5dede4662
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/6-mega-y.json
@@ -0,0 +1,20 @@
+{
+ "1": {
+ "e64210": "5033ce",
+ "843119": "552982",
+ "000000": "000000",
+ "ffd610": "e9bfff",
+ "ef8429": "b27cbc",
+ "f7a510": "9e59db",
+ "ce5242": "8053b2",
+ "833118": "552982",
+ "cd5241": "8053b2",
+ "ee8329": "b27cbc",
+ "efb55a": "d8a3e2",
+ "cecece": "cecece",
+ "217394": "41a86e",
+ "ffffff": "ffffff",
+ "efde7b": "fae5ff",
+ "636363": "636363"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/6-mega-y_3.json b/public/images/pokemon/variant/exp/back/6-mega-y_3.json
new file mode 100644
index 00000000000..c7e3a6a57e0
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/6-mega-y_3.json
@@ -0,0 +1,209 @@
+{
+ "textures": [
+ {
+ "image": "6-mega-y_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 222,
+ "h": 222
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 88,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 20,
+ "y": 2,
+ "w": 64,
+ "h": 83
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 83
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 88,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 19,
+ "y": 1,
+ "w": 63,
+ "h": 84
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 63,
+ "h": 84
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 88,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 88,
+ "h": 85
+ },
+ "frame": {
+ "x": 127,
+ "y": 0,
+ "w": 88,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 88,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 82,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 84,
+ "w": 82,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 88,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 82,
+ "h": 85
+ },
+ "frame": {
+ "x": 0,
+ "y": 84,
+ "w": 82,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 88,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 0,
+ "w": 71,
+ "h": 85
+ },
+ "frame": {
+ "x": 82,
+ "y": 85,
+ "w": 71,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 88,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 0,
+ "w": 71,
+ "h": 85
+ },
+ "frame": {
+ "x": 82,
+ "y": 85,
+ "w": 71,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 88,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 0,
+ "w": 69,
+ "h": 85
+ },
+ "frame": {
+ "x": 153,
+ "y": 85,
+ "w": 69,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 88,
+ "h": 85
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 0,
+ "w": 69,
+ "h": 85
+ },
+ "frame": {
+ "x": 153,
+ "y": 85,
+ "w": 69,
+ "h": 85
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:e20af579c28cf4de65307941740bf4ff:ed2c3c60628f92b9acdba852533447b6:c409677bb6775acab5f1bcff6530455e$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/6-mega-y_3.png b/public/images/pokemon/variant/exp/back/6-mega-y_3.png
new file mode 100644
index 00000000000..c78835fa2be
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/6-mega-y_3.png differ
diff --git a/public/images/pokemon/variant/exp/back/6713.json b/public/images/pokemon/variant/exp/back/6713.json
new file mode 100644
index 00000000000..a0ba9eb72ad
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/6713.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "737373": "7a993d",
+ "e8e8e8": "cfe68a",
+ "729ac2": "d97389",
+ "101010": "101010",
+ "bfbfbf": "9dcc3e",
+ "bff4ff": "ffbfda",
+ "6b5442": "732334",
+ "85d7f2": "f29eb3",
+ "fbffff": "ffebf2",
+ "f1b44b": "9dcc3e",
+ "553e33": "4c131f",
+ "927863": "994255",
+ "492d25": "101010",
+ "944620": "101010"
+ },
+ "2": {
+ "737373": "641531",
+ "e8e8e8": "bf576b",
+ "729ac2": "cc7b1e",
+ "101010": "101010",
+ "bfbfbf": "993554",
+ "bff4ff": "fcc95c",
+ "6b5442": "2c7a75",
+ "85d7f2": "e69e2b",
+ "fbffff": "fff2ad",
+ "f1b44b": "8dd9d4",
+ "553e33": "006761",
+ "927863": "5ba6a1",
+ "492d25": "00403d",
+ "944620": "cc7b1e"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/672.json b/public/images/pokemon/variant/exp/back/672.json
new file mode 100644
index 00000000000..8ee91469917
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/672.json
@@ -0,0 +1,18 @@
+{
+ "2": {
+ "3d3128": "161526",
+ "000000": "000000",
+ "67615b": "2d2b40",
+ "615140": "4c7a68",
+ "7e6d5a": "72b692",
+ "554538": "305a4f",
+ "efeded": "ffeffe",
+ "beb8b6": "d4b3d7",
+ "0e5d58": "363e6c",
+ "09a77c": "96d5e3",
+ "0d8374": "6885b6",
+ "c16a3f": "612c6b",
+ "c6b379": "9f5f9b",
+ "a8905c": "854d87"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/672_2.json b/public/images/pokemon/variant/exp/back/672_2.json
new file mode 100644
index 00000000000..216c213bc12
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/672_2.json
@@ -0,0 +1,965 @@
+{
+ "textures": [
+ {
+ "image": "672_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 282,
+ "h": 282
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 41,
+ "h": 42
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 41,
+ "h": 42
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 41,
+ "h": 42
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 41,
+ "h": 42
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 41,
+ "h": 42
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 41,
+ "h": 42
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 41,
+ "h": 42
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 41,
+ "h": 42
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ },
+ "frame": {
+ "x": 0,
+ "y": 42,
+ "w": 41,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 41,
+ "h": 42
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ },
+ "frame": {
+ "x": 0,
+ "y": 42,
+ "w": 41,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 41,
+ "h": 42
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ },
+ "frame": {
+ "x": 0,
+ "y": 84,
+ "w": 41,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 41,
+ "h": 42
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ },
+ "frame": {
+ "x": 0,
+ "y": 126,
+ "w": 41,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 41,
+ "h": 42
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ },
+ "frame": {
+ "x": 0,
+ "y": 168,
+ "w": 41,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 41,
+ "h": 42
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ },
+ "frame": {
+ "x": 0,
+ "y": 210,
+ "w": 41,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 41,
+ "h": 42
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ },
+ "frame": {
+ "x": 41,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 41,
+ "h": 42
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ },
+ "frame": {
+ "x": 82,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 41,
+ "h": 42
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ },
+ "frame": {
+ "x": 123,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 41,
+ "h": 42
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ },
+ "frame": {
+ "x": 164,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 41,
+ "h": 42
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ },
+ "frame": {
+ "x": 205,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 41,
+ "h": 42
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ },
+ "frame": {
+ "x": 41,
+ "y": 42,
+ "w": 41,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 41,
+ "h": 42
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ },
+ "frame": {
+ "x": 41,
+ "y": 84,
+ "w": 41,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 41,
+ "h": 42
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 41,
+ "h": 42
+ },
+ "frame": {
+ "x": 41,
+ "y": 126,
+ "w": 41,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 42
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 41,
+ "h": 41
+ },
+ "frame": {
+ "x": 41,
+ "y": 168,
+ "w": 41,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 42
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 41,
+ "h": 41
+ },
+ "frame": {
+ "x": 41,
+ "y": 209,
+ "w": 41,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 42
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 41,
+ "h": 41
+ },
+ "frame": {
+ "x": 82,
+ "y": 42,
+ "w": 41,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 42
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 41,
+ "h": 41
+ },
+ "frame": {
+ "x": 123,
+ "y": 42,
+ "w": 41,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 42
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 41,
+ "h": 41
+ },
+ "frame": {
+ "x": 164,
+ "y": 42,
+ "w": 41,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 42
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 41,
+ "h": 41
+ },
+ "frame": {
+ "x": 205,
+ "y": 42,
+ "w": 41,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 42
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 41,
+ "h": 41
+ },
+ "frame": {
+ "x": 82,
+ "y": 83,
+ "w": 41,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 42
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 41,
+ "h": 41
+ },
+ "frame": {
+ "x": 82,
+ "y": 124,
+ "w": 41,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 42
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 40,
+ "h": 42
+ },
+ "frame": {
+ "x": 82,
+ "y": 165,
+ "w": 40,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 42
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 40,
+ "h": 42
+ },
+ "frame": {
+ "x": 82,
+ "y": 207,
+ "w": 40,
+ "h": 42
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 42
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 122,
+ "y": 165,
+ "w": 40,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 42
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 122,
+ "y": 206,
+ "w": 40,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 42
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 123,
+ "y": 83,
+ "w": 40,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 42
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 123,
+ "y": 124,
+ "w": 40,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 42
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 162,
+ "y": 165,
+ "w": 40,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 42
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 162,
+ "y": 206,
+ "w": 40,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 42
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 40,
+ "h": 41
+ },
+ "frame": {
+ "x": 163,
+ "y": 83,
+ "w": 40,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 42
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 41,
+ "h": 40
+ },
+ "frame": {
+ "x": 163,
+ "y": 124,
+ "w": 41,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 42
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 41,
+ "h": 40
+ },
+ "frame": {
+ "x": 203,
+ "y": 83,
+ "w": 41,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 42
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 40,
+ "h": 40
+ },
+ "frame": {
+ "x": 202,
+ "y": 164,
+ "w": 40,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 42
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 40,
+ "h": 40
+ },
+ "frame": {
+ "x": 204,
+ "y": 123,
+ "w": 40,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 42
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 40,
+ "h": 40
+ },
+ "frame": {
+ "x": 242,
+ "y": 163,
+ "w": 40,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 42
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 40,
+ "h": 40
+ },
+ "frame": {
+ "x": 242,
+ "y": 203,
+ "w": 40,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 41,
+ "h": 42
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 40,
+ "h": 40
+ },
+ "frame": {
+ "x": 202,
+ "y": 204,
+ "w": 40,
+ "h": 40
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:b36f1de558a8fa8ac8b56a9ba43a0dfd:5fe84a3f522e543bfbbfe0837355266b:2e4767b7cd134fc0ab1bb6e9eee82bc7$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/672_2.png b/public/images/pokemon/variant/exp/back/672_2.png
new file mode 100644
index 00000000000..a51b8cba11f
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/672_2.png differ
diff --git a/public/images/pokemon/variant/exp/back/673.json b/public/images/pokemon/variant/exp/back/673.json
new file mode 100644
index 00000000000..be9d3af3965
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/673.json
@@ -0,0 +1,18 @@
+{
+ "2": {
+ "3d3128": "121123",
+ "000000": "000000",
+ "554538": "37224d",
+ "67615b": "2d2b40",
+ "0d835a": "6893b6",
+ "0e5d58": "36466c",
+ "74593a": "37224d",
+ "09a766": "96e3e3",
+ "cabfbb": "d4b3d7",
+ "efeded": "ffeffe",
+ "a8905c": "74a0a5",
+ "c6b379": "c3e1cf",
+ "ae492a": "612c6b",
+ "c16a3f": "9f5f9b"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/673_2.json b/public/images/pokemon/variant/exp/back/673_2.json
new file mode 100644
index 00000000000..b9c2b2d54e7
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/673_2.json
@@ -0,0 +1,965 @@
+{
+ "textures": [
+ {
+ "image": "673_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 384,
+ "h": 384
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 62,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 62,
+ "h": 65
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 62,
+ "h": 65
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 62,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 62,
+ "h": 65
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 62,
+ "h": 65
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 62,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 62,
+ "h": 65
+ },
+ "frame": {
+ "x": 62,
+ "y": 0,
+ "w": 62,
+ "h": 65
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 62,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 62,
+ "h": 65
+ },
+ "frame": {
+ "x": 62,
+ "y": 0,
+ "w": 62,
+ "h": 65
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 62,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 62,
+ "h": 65
+ },
+ "frame": {
+ "x": 124,
+ "y": 0,
+ "w": 62,
+ "h": 65
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 62,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 62,
+ "h": 65
+ },
+ "frame": {
+ "x": 186,
+ "y": 0,
+ "w": 62,
+ "h": 65
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 62,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 62,
+ "h": 65
+ },
+ "frame": {
+ "x": 248,
+ "y": 0,
+ "w": 62,
+ "h": 65
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 62,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 62,
+ "h": 65
+ },
+ "frame": {
+ "x": 248,
+ "y": 0,
+ "w": 62,
+ "h": 65
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 62,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 62,
+ "h": 65
+ },
+ "frame": {
+ "x": 310,
+ "y": 0,
+ "w": 62,
+ "h": 65
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 62,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 62,
+ "h": 65
+ },
+ "frame": {
+ "x": 0,
+ "y": 65,
+ "w": 62,
+ "h": 65
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 62,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 62,
+ "h": 65
+ },
+ "frame": {
+ "x": 62,
+ "y": 65,
+ "w": 62,
+ "h": 65
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 62,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 61,
+ "h": 65
+ },
+ "frame": {
+ "x": 124,
+ "y": 65,
+ "w": 61,
+ "h": 65
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 62,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 61,
+ "h": 65
+ },
+ "frame": {
+ "x": 124,
+ "y": 65,
+ "w": 61,
+ "h": 65
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 62,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 60,
+ "h": 65
+ },
+ "frame": {
+ "x": 185,
+ "y": 65,
+ "w": 60,
+ "h": 65
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 62,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 60,
+ "h": 65
+ },
+ "frame": {
+ "x": 245,
+ "y": 65,
+ "w": 60,
+ "h": 65
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 62,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 60,
+ "h": 65
+ },
+ "frame": {
+ "x": 305,
+ "y": 65,
+ "w": 60,
+ "h": 65
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 62,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 60,
+ "h": 65
+ },
+ "frame": {
+ "x": 0,
+ "y": 130,
+ "w": 60,
+ "h": 65
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 62,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 60,
+ "h": 62
+ },
+ "frame": {
+ "x": 60,
+ "y": 130,
+ "w": 60,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 62,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 59,
+ "h": 65
+ },
+ "frame": {
+ "x": 120,
+ "y": 130,
+ "w": 59,
+ "h": 65
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 62,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 59,
+ "h": 65
+ },
+ "frame": {
+ "x": 120,
+ "y": 130,
+ "w": 59,
+ "h": 65
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 62,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 59,
+ "h": 65
+ },
+ "frame": {
+ "x": 120,
+ "y": 130,
+ "w": 59,
+ "h": 65
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 62,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 59,
+ "h": 65
+ },
+ "frame": {
+ "x": 120,
+ "y": 130,
+ "w": 59,
+ "h": 65
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 62,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 59,
+ "h": 65
+ },
+ "frame": {
+ "x": 60,
+ "y": 192,
+ "w": 59,
+ "h": 65
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 62,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 59,
+ "h": 65
+ },
+ "frame": {
+ "x": 60,
+ "y": 192,
+ "w": 59,
+ "h": 65
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 62,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 59,
+ "h": 65
+ },
+ "frame": {
+ "x": 60,
+ "y": 192,
+ "w": 59,
+ "h": 65
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 62,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 59,
+ "h": 65
+ },
+ "frame": {
+ "x": 60,
+ "y": 192,
+ "w": 59,
+ "h": 65
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 62,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 59,
+ "h": 65
+ },
+ "frame": {
+ "x": 0,
+ "y": 195,
+ "w": 59,
+ "h": 65
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 62,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 59,
+ "h": 65
+ },
+ "frame": {
+ "x": 179,
+ "y": 130,
+ "w": 59,
+ "h": 65
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 62,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 58,
+ "h": 64
+ },
+ "frame": {
+ "x": 238,
+ "y": 130,
+ "w": 58,
+ "h": 64
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 62,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 58,
+ "h": 64
+ },
+ "frame": {
+ "x": 238,
+ "y": 130,
+ "w": 58,
+ "h": 64
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 62,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 58,
+ "h": 64
+ },
+ "frame": {
+ "x": 238,
+ "y": 194,
+ "w": 58,
+ "h": 64
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 62,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 58,
+ "h": 64
+ },
+ "frame": {
+ "x": 59,
+ "y": 257,
+ "w": 58,
+ "h": 64
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 62,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 58,
+ "h": 64
+ },
+ "frame": {
+ "x": 0,
+ "y": 260,
+ "w": 58,
+ "h": 64
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 62,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 58,
+ "h": 64
+ },
+ "frame": {
+ "x": 117,
+ "y": 257,
+ "w": 58,
+ "h": 64
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 62,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 58,
+ "h": 62
+ },
+ "frame": {
+ "x": 119,
+ "y": 195,
+ "w": 58,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 62,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 57,
+ "h": 64
+ },
+ "frame": {
+ "x": 175,
+ "y": 257,
+ "w": 57,
+ "h": 64
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 62,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 3,
+ "w": 58,
+ "h": 62
+ },
+ "frame": {
+ "x": 177,
+ "y": 195,
+ "w": 58,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 62,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 2,
+ "w": 57,
+ "h": 63
+ },
+ "frame": {
+ "x": 232,
+ "y": 258,
+ "w": 57,
+ "h": 63
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 62,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 2,
+ "w": 57,
+ "h": 63
+ },
+ "frame": {
+ "x": 289,
+ "y": 258,
+ "w": 57,
+ "h": 63
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 62,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 2,
+ "w": 57,
+ "h": 63
+ },
+ "frame": {
+ "x": 296,
+ "y": 130,
+ "w": 57,
+ "h": 63
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 62,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 2,
+ "w": 57,
+ "h": 63
+ },
+ "frame": {
+ "x": 296,
+ "y": 193,
+ "w": 57,
+ "h": 63
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 62,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 2,
+ "w": 56,
+ "h": 63
+ },
+ "frame": {
+ "x": 58,
+ "y": 321,
+ "w": 56,
+ "h": 63
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 62,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 2,
+ "w": 56,
+ "h": 63
+ },
+ "frame": {
+ "x": 114,
+ "y": 321,
+ "w": 56,
+ "h": 63
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 62,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 3,
+ "w": 56,
+ "h": 62
+ },
+ "frame": {
+ "x": 170,
+ "y": 321,
+ "w": 56,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 62,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 3,
+ "w": 56,
+ "h": 62
+ },
+ "frame": {
+ "x": 226,
+ "y": 321,
+ "w": 56,
+ "h": 62
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:05149e465b79b92adcb764d8f903ce8d:523fbed3890bc743f1863e6db3150ddb:5d92dd5d09b0875a1d8f3606df775958$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/673_2.png b/public/images/pokemon/variant/exp/back/673_2.png
new file mode 100644
index 00000000000..be4e73acce4
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/673_2.png differ
diff --git a/public/images/pokemon/variant/exp/back/712.json b/public/images/pokemon/variant/exp/back/712.json
new file mode 100644
index 00000000000..59ad2436866
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/712.json
@@ -0,0 +1,24 @@
+{
+ "1": {
+ "719aa9": "d97389",
+ "58647b": "bf566d",
+ "b3eaf8": "ffbfda",
+ "a5c4d2": "f29eb3",
+ "e8f5fe": "ffebf2",
+ "101010": "101010",
+ "bfbfbf": "bfbfbf",
+ "737373": "737373",
+ "f8f8f8": "f8f8f8"
+ },
+ "2": {
+ "719aa9": "cc7b1e",
+ "58647b": "a8632a",
+ "b3eaf8": "fcc95c",
+ "a5c4d2": "e69e2b",
+ "e8f5fe": "fff2ad",
+ "101010": "101010",
+ "bfbfbf": "6cb3ae",
+ "737373": "2c7a75",
+ "f8f8f8": "b9f2ee"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/713.json b/public/images/pokemon/variant/exp/back/713.json
new file mode 100644
index 00000000000..8c54b0ab776
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/713.json
@@ -0,0 +1,22 @@
+{
+ "1": {
+ "6994bf": "bf566d",
+ "f2ffff": "ffebf2",
+ "335980": "994255",
+ "967acc": "732334",
+ "77b8d9": "d97389",
+ "85d7f2": "f29eb3",
+ "bff4ff": "ffbfda",
+ "101010": "101010"
+ },
+ "2": {
+ "6994bf": "a8632a",
+ "f2ffff": "fff2ad",
+ "335980": "824628",
+ "967acc": "2c7a75",
+ "77b8d9": "cc7b1e",
+ "85d7f2": "e69e2b",
+ "bff4ff": "fcc95c",
+ "101010": "101010"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/734.json b/public/images/pokemon/variant/exp/back/734.json
new file mode 100644
index 00000000000..03d724ed370
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/734.json
@@ -0,0 +1,24 @@
+{
+ "1": {
+ "753933": "03192d",
+ "6b4f27": "523a44",
+ "070707": "070707",
+ "ba836d": "35576b",
+ "f0cd84": "c1aaaa",
+ "c19462": "907e82",
+ "9c5b50": "2a3f52",
+ "322f2c": "523716",
+ "000000": "000000"
+ },
+ "2": {
+ "753933": "26201f",
+ "6b4f27": "241b1b",
+ "070707": "070707",
+ "ba836d": "a69c98",
+ "f0cd84": "4d4242",
+ "c19462": "362e2e",
+ "9c5b50": "786a66",
+ "322f2c": "464a4d",
+ "000000": "000000"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/735.json b/public/images/pokemon/variant/exp/back/735.json
new file mode 100644
index 00000000000..e647e22d65c
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/735.json
@@ -0,0 +1,26 @@
+{
+ "1": {
+ "804d37": "462f39",
+ "dcdf6c": "b99b95",
+ "e8eaa2": "c9b1ab",
+ "c29b49": "7a6a6d",
+ "9c7c5c": "354c6b",
+ "0f0f0f": "0f0f0f",
+ "805744": "2a3252",
+ "5a3732": "03102d",
+ "282726": "462000",
+ "484440": "5a3215"
+ },
+ "2": {
+ "804d37": "241b1b",
+ "dcdf6c": "4d4242",
+ "e8eaa2": "5c5353",
+ "c29b49": "362e2e",
+ "9c7c5c": "ada5a4",
+ "0f0f0f": "0f0f0f",
+ "805744": "90827e",
+ "5a3732": "524b4b",
+ "282726": "282726",
+ "484440": "423d3d"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/742_2.json b/public/images/pokemon/variant/exp/back/742_2.json
new file mode 100644
index 00000000000..afa97b70846
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/742_2.json
@@ -0,0 +1,356 @@
+{
+ "textures": [
+ {
+ "image": "742_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 167,
+ "h": 167
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 42,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 42,
+ "h": 41
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 42,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 42,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 42,
+ "h": 41
+ },
+ "frame": {
+ "x": 42,
+ "y": 0,
+ "w": 42,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 42,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 42,
+ "h": 41
+ },
+ "frame": {
+ "x": 84,
+ "y": 0,
+ "w": 42,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 42,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 41,
+ "h": 41
+ },
+ "frame": {
+ "x": 126,
+ "y": 0,
+ "w": 41,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 42,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 41,
+ "h": 41
+ },
+ "frame": {
+ "x": 0,
+ "y": 41,
+ "w": 41,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 42,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 41,
+ "h": 41
+ },
+ "frame": {
+ "x": 0,
+ "y": 82,
+ "w": 41,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 42,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 41,
+ "h": 41
+ },
+ "frame": {
+ "x": 0,
+ "y": 123,
+ "w": 41,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 42,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 42,
+ "h": 40
+ },
+ "frame": {
+ "x": 41,
+ "y": 41,
+ "w": 42,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 42,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 42,
+ "h": 40
+ },
+ "frame": {
+ "x": 83,
+ "y": 41,
+ "w": 42,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 42,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 42,
+ "h": 40
+ },
+ "frame": {
+ "x": 125,
+ "y": 41,
+ "w": 42,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 42,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 42,
+ "h": 39
+ },
+ "frame": {
+ "x": 41,
+ "y": 81,
+ "w": 42,
+ "h": 39
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 42,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 41,
+ "h": 39
+ },
+ "frame": {
+ "x": 41,
+ "y": 120,
+ "w": 41,
+ "h": 39
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 42,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 41,
+ "h": 39
+ },
+ "frame": {
+ "x": 82,
+ "y": 120,
+ "w": 41,
+ "h": 39
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 42,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 5,
+ "w": 41,
+ "h": 39
+ },
+ "frame": {
+ "x": 83,
+ "y": 81,
+ "w": 41,
+ "h": 39
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 42,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 5,
+ "w": 41,
+ "h": 39
+ },
+ "frame": {
+ "x": 124,
+ "y": 81,
+ "w": 41,
+ "h": 39
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 42,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 5,
+ "w": 41,
+ "h": 39
+ },
+ "frame": {
+ "x": 123,
+ "y": 120,
+ "w": 41,
+ "h": 39
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:19e22fdf7323fb04c29b4e59b4519923:0f5a1b724b5afa91ace4da490f57bc3c:c5fe5d6bbd2066d37202b0b755129ba5$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/742_2.png b/public/images/pokemon/variant/exp/back/742_2.png
new file mode 100644
index 00000000000..a442d157a0a
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/742_2.png differ
diff --git a/public/images/pokemon/variant/exp/back/742_3.json b/public/images/pokemon/variant/exp/back/742_3.json
new file mode 100644
index 00000000000..4e3ddf017dd
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/742_3.json
@@ -0,0 +1,356 @@
+{
+ "textures": [
+ {
+ "image": "742_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 167,
+ "h": 167
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 42,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 42,
+ "h": 41
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 42,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 42,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 42,
+ "h": 41
+ },
+ "frame": {
+ "x": 42,
+ "y": 0,
+ "w": 42,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 42,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 42,
+ "h": 41
+ },
+ "frame": {
+ "x": 84,
+ "y": 0,
+ "w": 42,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 42,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 41,
+ "h": 41
+ },
+ "frame": {
+ "x": 126,
+ "y": 0,
+ "w": 41,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 42,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 41,
+ "h": 41
+ },
+ "frame": {
+ "x": 0,
+ "y": 41,
+ "w": 41,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 42,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 41,
+ "h": 41
+ },
+ "frame": {
+ "x": 0,
+ "y": 82,
+ "w": 41,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 42,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 41,
+ "h": 41
+ },
+ "frame": {
+ "x": 0,
+ "y": 123,
+ "w": 41,
+ "h": 41
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 42,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 42,
+ "h": 40
+ },
+ "frame": {
+ "x": 41,
+ "y": 41,
+ "w": 42,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 42,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 42,
+ "h": 40
+ },
+ "frame": {
+ "x": 83,
+ "y": 41,
+ "w": 42,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 42,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 42,
+ "h": 40
+ },
+ "frame": {
+ "x": 125,
+ "y": 41,
+ "w": 42,
+ "h": 40
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 42,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 42,
+ "h": 39
+ },
+ "frame": {
+ "x": 41,
+ "y": 81,
+ "w": 42,
+ "h": 39
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 42,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 1,
+ "w": 41,
+ "h": 39
+ },
+ "frame": {
+ "x": 41,
+ "y": 120,
+ "w": 41,
+ "h": 39
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 42,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 41,
+ "h": 39
+ },
+ "frame": {
+ "x": 82,
+ "y": 120,
+ "w": 41,
+ "h": 39
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 42,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 5,
+ "w": 41,
+ "h": 39
+ },
+ "frame": {
+ "x": 83,
+ "y": 81,
+ "w": 41,
+ "h": 39
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 42,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 5,
+ "w": 41,
+ "h": 39
+ },
+ "frame": {
+ "x": 124,
+ "y": 81,
+ "w": 41,
+ "h": 39
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 42,
+ "h": 44
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 5,
+ "w": 41,
+ "h": 39
+ },
+ "frame": {
+ "x": 123,
+ "y": 120,
+ "w": 41,
+ "h": 39
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:19e22fdf7323fb04c29b4e59b4519923:0f5a1b724b5afa91ace4da490f57bc3c:c5fe5d6bbd2066d37202b0b755129ba5$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/742_3.png b/public/images/pokemon/variant/exp/back/742_3.png
new file mode 100644
index 00000000000..4fb526feb83
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/742_3.png differ
diff --git a/public/images/pokemon/variant/exp/back/743_2.json b/public/images/pokemon/variant/exp/back/743_2.json
new file mode 100644
index 00000000000..dcfaa407a9c
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/743_2.json
@@ -0,0 +1,1532 @@
+{
+ "textures": [
+ {
+ "image": "743_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 343,
+ "h": 343
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 46,
+ "h": 53
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 8,
+ "w": 40,
+ "h": 53
+ },
+ "frame": {
+ "x": 46,
+ "y": 0,
+ "w": 40,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 6,
+ "w": 40,
+ "h": 53
+ },
+ "frame": {
+ "x": 46,
+ "y": 0,
+ "w": 40,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 9,
+ "w": 40,
+ "h": 53
+ },
+ "frame": {
+ "x": 46,
+ "y": 0,
+ "w": 40,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 46,
+ "h": 53
+ },
+ "frame": {
+ "x": 86,
+ "y": 0,
+ "w": 46,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 6,
+ "w": 40,
+ "h": 53
+ },
+ "frame": {
+ "x": 132,
+ "y": 0,
+ "w": 40,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 46,
+ "h": 53
+ },
+ "frame": {
+ "x": 172,
+ "y": 0,
+ "w": 46,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 9,
+ "w": 46,
+ "h": 53
+ },
+ "frame": {
+ "x": 172,
+ "y": 0,
+ "w": 46,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 9,
+ "w": 46,
+ "h": 53
+ },
+ "frame": {
+ "x": 218,
+ "y": 0,
+ "w": 46,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 9,
+ "w": 40,
+ "h": 53
+ },
+ "frame": {
+ "x": 264,
+ "y": 0,
+ "w": 40,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 7,
+ "w": 33,
+ "h": 54
+ },
+ "frame": {
+ "x": 304,
+ "y": 0,
+ "w": 33,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 5,
+ "w": 33,
+ "h": 54
+ },
+ "frame": {
+ "x": 304,
+ "y": 0,
+ "w": 33,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 8,
+ "w": 33,
+ "h": 54
+ },
+ "frame": {
+ "x": 304,
+ "y": 0,
+ "w": 33,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 9,
+ "w": 50,
+ "h": 53
+ },
+ "frame": {
+ "x": 0,
+ "y": 53,
+ "w": 50,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 9,
+ "w": 45,
+ "h": 53
+ },
+ "frame": {
+ "x": 50,
+ "y": 53,
+ "w": 45,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 46,
+ "h": 54
+ },
+ "frame": {
+ "x": 95,
+ "y": 53,
+ "w": 46,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 8,
+ "w": 40,
+ "h": 54
+ },
+ "frame": {
+ "x": 141,
+ "y": 53,
+ "w": 40,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 7,
+ "w": 40,
+ "h": 54
+ },
+ "frame": {
+ "x": 141,
+ "y": 53,
+ "w": 40,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 5,
+ "w": 40,
+ "h": 54
+ },
+ "frame": {
+ "x": 141,
+ "y": 53,
+ "w": 40,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 7,
+ "w": 40,
+ "h": 54
+ },
+ "frame": {
+ "x": 141,
+ "y": 53,
+ "w": 40,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 8,
+ "w": 40,
+ "h": 54
+ },
+ "frame": {
+ "x": 141,
+ "y": 53,
+ "w": 40,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 10,
+ "w": 40,
+ "h": 54
+ },
+ "frame": {
+ "x": 141,
+ "y": 53,
+ "w": 40,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 10,
+ "w": 40,
+ "h": 54
+ },
+ "frame": {
+ "x": 141,
+ "y": 53,
+ "w": 40,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 5,
+ "w": 33,
+ "h": 54
+ },
+ "frame": {
+ "x": 181,
+ "y": 53,
+ "w": 33,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 46,
+ "h": 54
+ },
+ "frame": {
+ "x": 214,
+ "y": 53,
+ "w": 46,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 5,
+ "w": 40,
+ "h": 54
+ },
+ "frame": {
+ "x": 260,
+ "y": 53,
+ "w": 40,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 8,
+ "w": 33,
+ "h": 54
+ },
+ "frame": {
+ "x": 300,
+ "y": 54,
+ "w": 33,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 7,
+ "w": 46,
+ "h": 54
+ },
+ "frame": {
+ "x": 0,
+ "y": 106,
+ "w": 46,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 46,
+ "h": 54
+ },
+ "frame": {
+ "x": 0,
+ "y": 106,
+ "w": 46,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 46,
+ "h": 54
+ },
+ "frame": {
+ "x": 46,
+ "y": 106,
+ "w": 46,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 46,
+ "h": 54
+ },
+ "frame": {
+ "x": 92,
+ "y": 107,
+ "w": 46,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 10,
+ "w": 40,
+ "h": 54
+ },
+ "frame": {
+ "x": 138,
+ "y": 107,
+ "w": 40,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 46,
+ "h": 54
+ },
+ "frame": {
+ "x": 178,
+ "y": 107,
+ "w": 46,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 10,
+ "w": 40,
+ "h": 54
+ },
+ "frame": {
+ "x": 224,
+ "y": 107,
+ "w": 40,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 7,
+ "w": 36,
+ "h": 55
+ },
+ "frame": {
+ "x": 264,
+ "y": 107,
+ "w": 36,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 6,
+ "w": 36,
+ "h": 55
+ },
+ "frame": {
+ "x": 264,
+ "y": 107,
+ "w": 36,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 5,
+ "w": 36,
+ "h": 55
+ },
+ "frame": {
+ "x": 264,
+ "y": 107,
+ "w": 36,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 4,
+ "w": 36,
+ "h": 55
+ },
+ "frame": {
+ "x": 264,
+ "y": 107,
+ "w": 36,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 5,
+ "w": 36,
+ "h": 55
+ },
+ "frame": {
+ "x": 264,
+ "y": 107,
+ "w": 36,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 7,
+ "w": 36,
+ "h": 55
+ },
+ "frame": {
+ "x": 264,
+ "y": 107,
+ "w": 36,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 36,
+ "h": 55
+ },
+ "frame": {
+ "x": 264,
+ "y": 107,
+ "w": 36,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 9,
+ "w": 36,
+ "h": 55
+ },
+ "frame": {
+ "x": 264,
+ "y": 107,
+ "w": 36,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 6,
+ "w": 33,
+ "h": 55
+ },
+ "frame": {
+ "x": 300,
+ "y": 108,
+ "w": 33,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 4,
+ "w": 33,
+ "h": 55
+ },
+ "frame": {
+ "x": 300,
+ "y": 108,
+ "w": 33,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 7,
+ "w": 33,
+ "h": 55
+ },
+ "frame": {
+ "x": 300,
+ "y": 108,
+ "w": 33,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 9,
+ "w": 33,
+ "h": 55
+ },
+ "frame": {
+ "x": 300,
+ "y": 108,
+ "w": 33,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 7,
+ "w": 46,
+ "h": 55
+ },
+ "frame": {
+ "x": 0,
+ "y": 160,
+ "w": 46,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 46,
+ "h": 55
+ },
+ "frame": {
+ "x": 46,
+ "y": 160,
+ "w": 46,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 46,
+ "h": 55
+ },
+ "frame": {
+ "x": 92,
+ "y": 161,
+ "w": 46,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 9,
+ "w": 33,
+ "h": 55
+ },
+ "frame": {
+ "x": 138,
+ "y": 161,
+ "w": 33,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 9,
+ "w": 36,
+ "h": 55
+ },
+ "frame": {
+ "x": 171,
+ "y": 161,
+ "w": 36,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 36,
+ "h": 55
+ },
+ "frame": {
+ "x": 207,
+ "y": 161,
+ "w": 36,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 9,
+ "w": 33,
+ "h": 55
+ },
+ "frame": {
+ "x": 243,
+ "y": 162,
+ "w": 33,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 9,
+ "w": 36,
+ "h": 55
+ },
+ "frame": {
+ "x": 276,
+ "y": 163,
+ "w": 36,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 9,
+ "w": 36,
+ "h": 55
+ },
+ "frame": {
+ "x": 0,
+ "y": 215,
+ "w": 36,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 9,
+ "w": 44,
+ "h": 55
+ },
+ "frame": {
+ "x": 36,
+ "y": 215,
+ "w": 44,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 7,
+ "w": 41,
+ "h": 55
+ },
+ "frame": {
+ "x": 80,
+ "y": 216,
+ "w": 41,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 7,
+ "w": 33,
+ "h": 56
+ },
+ "frame": {
+ "x": 121,
+ "y": 216,
+ "w": 33,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 6,
+ "w": 33,
+ "h": 56
+ },
+ "frame": {
+ "x": 121,
+ "y": 216,
+ "w": 33,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 7,
+ "w": 36,
+ "h": 56
+ },
+ "frame": {
+ "x": 154,
+ "y": 216,
+ "w": 36,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 4,
+ "w": 36,
+ "h": 56
+ },
+ "frame": {
+ "x": 154,
+ "y": 216,
+ "w": 36,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 4,
+ "w": 33,
+ "h": 56
+ },
+ "frame": {
+ "x": 190,
+ "y": 216,
+ "w": 33,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 6,
+ "w": 36,
+ "h": 56
+ },
+ "frame": {
+ "x": 223,
+ "y": 217,
+ "w": 36,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 4,
+ "w": 46,
+ "h": 58
+ },
+ "frame": {
+ "x": 259,
+ "y": 218,
+ "w": 46,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 2,
+ "w": 38,
+ "h": 60
+ },
+ "frame": {
+ "x": 305,
+ "y": 218,
+ "w": 38,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 4,
+ "w": 39,
+ "h": 58
+ },
+ "frame": {
+ "x": 0,
+ "y": 270,
+ "w": 39,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 52,
+ "h": 61
+ },
+ "frame": {
+ "x": 39,
+ "y": 271,
+ "w": 52,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 2,
+ "w": 42,
+ "h": 62
+ },
+ "frame": {
+ "x": 91,
+ "y": 272,
+ "w": 42,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 0,
+ "w": 42,
+ "h": 63
+ },
+ "frame": {
+ "x": 133,
+ "y": 272,
+ "w": 42,
+ "h": 63
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 0,
+ "w": 46,
+ "h": 63
+ },
+ "frame": {
+ "x": 175,
+ "y": 272,
+ "w": 46,
+ "h": 63
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 52,
+ "h": 63
+ },
+ "frame": {
+ "x": 221,
+ "y": 276,
+ "w": 52,
+ "h": 63
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 0,
+ "w": 39,
+ "h": 64
+ },
+ "frame": {
+ "x": 273,
+ "y": 278,
+ "w": 39,
+ "h": 64
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:e5623220b8f93b4c38df6c4e29a71ce0:550a66ebbe55ef81f96a5c56af0c4c2c:c8a06588e3ef3c7c5201d3917470f092$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/743_2.png b/public/images/pokemon/variant/exp/back/743_2.png
new file mode 100644
index 00000000000..33ab2c28ab8
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/743_2.png differ
diff --git a/public/images/pokemon/variant/exp/back/743_3.json b/public/images/pokemon/variant/exp/back/743_3.json
new file mode 100644
index 00000000000..a44c03763cc
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/743_3.json
@@ -0,0 +1,1532 @@
+{
+ "textures": [
+ {
+ "image": "743_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 343,
+ "h": 343
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 46,
+ "h": 53
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 8,
+ "w": 40,
+ "h": 53
+ },
+ "frame": {
+ "x": 46,
+ "y": 0,
+ "w": 40,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 6,
+ "w": 40,
+ "h": 53
+ },
+ "frame": {
+ "x": 46,
+ "y": 0,
+ "w": 40,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 9,
+ "w": 40,
+ "h": 53
+ },
+ "frame": {
+ "x": 46,
+ "y": 0,
+ "w": 40,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 46,
+ "h": 53
+ },
+ "frame": {
+ "x": 86,
+ "y": 0,
+ "w": 46,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 6,
+ "w": 40,
+ "h": 53
+ },
+ "frame": {
+ "x": 132,
+ "y": 0,
+ "w": 40,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 6,
+ "w": 46,
+ "h": 53
+ },
+ "frame": {
+ "x": 172,
+ "y": 0,
+ "w": 46,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 9,
+ "w": 46,
+ "h": 53
+ },
+ "frame": {
+ "x": 172,
+ "y": 0,
+ "w": 46,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 9,
+ "w": 46,
+ "h": 53
+ },
+ "frame": {
+ "x": 218,
+ "y": 0,
+ "w": 46,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 9,
+ "w": 40,
+ "h": 53
+ },
+ "frame": {
+ "x": 264,
+ "y": 0,
+ "w": 40,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 7,
+ "w": 33,
+ "h": 54
+ },
+ "frame": {
+ "x": 304,
+ "y": 0,
+ "w": 33,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 5,
+ "w": 33,
+ "h": 54
+ },
+ "frame": {
+ "x": 304,
+ "y": 0,
+ "w": 33,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 8,
+ "w": 33,
+ "h": 54
+ },
+ "frame": {
+ "x": 304,
+ "y": 0,
+ "w": 33,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 9,
+ "w": 50,
+ "h": 53
+ },
+ "frame": {
+ "x": 0,
+ "y": 53,
+ "w": 50,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 9,
+ "w": 45,
+ "h": 53
+ },
+ "frame": {
+ "x": 50,
+ "y": 53,
+ "w": 45,
+ "h": 53
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 46,
+ "h": 54
+ },
+ "frame": {
+ "x": 95,
+ "y": 53,
+ "w": 46,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 8,
+ "w": 40,
+ "h": 54
+ },
+ "frame": {
+ "x": 141,
+ "y": 53,
+ "w": 40,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 7,
+ "w": 40,
+ "h": 54
+ },
+ "frame": {
+ "x": 141,
+ "y": 53,
+ "w": 40,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 5,
+ "w": 40,
+ "h": 54
+ },
+ "frame": {
+ "x": 141,
+ "y": 53,
+ "w": 40,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 7,
+ "w": 40,
+ "h": 54
+ },
+ "frame": {
+ "x": 141,
+ "y": 53,
+ "w": 40,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 8,
+ "w": 40,
+ "h": 54
+ },
+ "frame": {
+ "x": 141,
+ "y": 53,
+ "w": 40,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 10,
+ "w": 40,
+ "h": 54
+ },
+ "frame": {
+ "x": 141,
+ "y": 53,
+ "w": 40,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 10,
+ "w": 40,
+ "h": 54
+ },
+ "frame": {
+ "x": 141,
+ "y": 53,
+ "w": 40,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 5,
+ "w": 33,
+ "h": 54
+ },
+ "frame": {
+ "x": 181,
+ "y": 53,
+ "w": 33,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 5,
+ "w": 46,
+ "h": 54
+ },
+ "frame": {
+ "x": 214,
+ "y": 53,
+ "w": 46,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 5,
+ "w": 40,
+ "h": 54
+ },
+ "frame": {
+ "x": 260,
+ "y": 53,
+ "w": 40,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 8,
+ "w": 33,
+ "h": 54
+ },
+ "frame": {
+ "x": 300,
+ "y": 54,
+ "w": 33,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 7,
+ "w": 46,
+ "h": 54
+ },
+ "frame": {
+ "x": 0,
+ "y": 106,
+ "w": 46,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 46,
+ "h": 54
+ },
+ "frame": {
+ "x": 0,
+ "y": 106,
+ "w": 46,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 46,
+ "h": 54
+ },
+ "frame": {
+ "x": 46,
+ "y": 106,
+ "w": 46,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 46,
+ "h": 54
+ },
+ "frame": {
+ "x": 92,
+ "y": 107,
+ "w": 46,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 10,
+ "w": 40,
+ "h": 54
+ },
+ "frame": {
+ "x": 138,
+ "y": 107,
+ "w": 40,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 10,
+ "w": 46,
+ "h": 54
+ },
+ "frame": {
+ "x": 178,
+ "y": 107,
+ "w": 46,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 10,
+ "w": 40,
+ "h": 54
+ },
+ "frame": {
+ "x": 224,
+ "y": 107,
+ "w": 40,
+ "h": 54
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 7,
+ "w": 36,
+ "h": 55
+ },
+ "frame": {
+ "x": 264,
+ "y": 107,
+ "w": 36,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 6,
+ "w": 36,
+ "h": 55
+ },
+ "frame": {
+ "x": 264,
+ "y": 107,
+ "w": 36,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 5,
+ "w": 36,
+ "h": 55
+ },
+ "frame": {
+ "x": 264,
+ "y": 107,
+ "w": 36,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 4,
+ "w": 36,
+ "h": 55
+ },
+ "frame": {
+ "x": 264,
+ "y": 107,
+ "w": 36,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 5,
+ "w": 36,
+ "h": 55
+ },
+ "frame": {
+ "x": 264,
+ "y": 107,
+ "w": 36,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 7,
+ "w": 36,
+ "h": 55
+ },
+ "frame": {
+ "x": 264,
+ "y": 107,
+ "w": 36,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 36,
+ "h": 55
+ },
+ "frame": {
+ "x": 264,
+ "y": 107,
+ "w": 36,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 9,
+ "w": 36,
+ "h": 55
+ },
+ "frame": {
+ "x": 264,
+ "y": 107,
+ "w": 36,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 6,
+ "w": 33,
+ "h": 55
+ },
+ "frame": {
+ "x": 300,
+ "y": 108,
+ "w": 33,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 4,
+ "w": 33,
+ "h": 55
+ },
+ "frame": {
+ "x": 300,
+ "y": 108,
+ "w": 33,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 7,
+ "w": 33,
+ "h": 55
+ },
+ "frame": {
+ "x": 300,
+ "y": 108,
+ "w": 33,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 9,
+ "w": 33,
+ "h": 55
+ },
+ "frame": {
+ "x": 300,
+ "y": 108,
+ "w": 33,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 7,
+ "w": 46,
+ "h": 55
+ },
+ "frame": {
+ "x": 0,
+ "y": 160,
+ "w": 46,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 46,
+ "h": 55
+ },
+ "frame": {
+ "x": 46,
+ "y": 160,
+ "w": 46,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 8,
+ "w": 46,
+ "h": 55
+ },
+ "frame": {
+ "x": 92,
+ "y": 161,
+ "w": 46,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 9,
+ "w": 33,
+ "h": 55
+ },
+ "frame": {
+ "x": 138,
+ "y": 161,
+ "w": 33,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 9,
+ "w": 36,
+ "h": 55
+ },
+ "frame": {
+ "x": 171,
+ "y": 161,
+ "w": 36,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 36,
+ "h": 55
+ },
+ "frame": {
+ "x": 207,
+ "y": 161,
+ "w": 36,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 9,
+ "w": 33,
+ "h": 55
+ },
+ "frame": {
+ "x": 243,
+ "y": 162,
+ "w": 33,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 9,
+ "w": 36,
+ "h": 55
+ },
+ "frame": {
+ "x": 276,
+ "y": 163,
+ "w": 36,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 9,
+ "w": 36,
+ "h": 55
+ },
+ "frame": {
+ "x": 0,
+ "y": 215,
+ "w": 36,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 9,
+ "w": 44,
+ "h": 55
+ },
+ "frame": {
+ "x": 36,
+ "y": 215,
+ "w": 44,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 7,
+ "w": 41,
+ "h": 55
+ },
+ "frame": {
+ "x": 80,
+ "y": 216,
+ "w": 41,
+ "h": 55
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 7,
+ "w": 33,
+ "h": 56
+ },
+ "frame": {
+ "x": 121,
+ "y": 216,
+ "w": 33,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 6,
+ "w": 33,
+ "h": 56
+ },
+ "frame": {
+ "x": 121,
+ "y": 216,
+ "w": 33,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 7,
+ "w": 36,
+ "h": 56
+ },
+ "frame": {
+ "x": 154,
+ "y": 216,
+ "w": 36,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 4,
+ "w": 36,
+ "h": 56
+ },
+ "frame": {
+ "x": 154,
+ "y": 216,
+ "w": 36,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 4,
+ "w": 33,
+ "h": 56
+ },
+ "frame": {
+ "x": 190,
+ "y": 216,
+ "w": 33,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 6,
+ "w": 36,
+ "h": 56
+ },
+ "frame": {
+ "x": 223,
+ "y": 217,
+ "w": 36,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 4,
+ "w": 46,
+ "h": 58
+ },
+ "frame": {
+ "x": 259,
+ "y": 218,
+ "w": 46,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 2,
+ "w": 38,
+ "h": 60
+ },
+ "frame": {
+ "x": 305,
+ "y": 218,
+ "w": 38,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 4,
+ "w": 39,
+ "h": 58
+ },
+ "frame": {
+ "x": 0,
+ "y": 270,
+ "w": 39,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 52,
+ "h": 61
+ },
+ "frame": {
+ "x": 39,
+ "y": 271,
+ "w": 52,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 2,
+ "w": 42,
+ "h": 62
+ },
+ "frame": {
+ "x": 91,
+ "y": 272,
+ "w": 42,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 0,
+ "w": 42,
+ "h": 63
+ },
+ "frame": {
+ "x": 133,
+ "y": 272,
+ "w": 42,
+ "h": 63
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 0,
+ "w": 46,
+ "h": 63
+ },
+ "frame": {
+ "x": 175,
+ "y": 272,
+ "w": 46,
+ "h": 63
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 52,
+ "h": 63
+ },
+ "frame": {
+ "x": 221,
+ "y": 276,
+ "w": 52,
+ "h": 63
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 54,
+ "h": 64
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 0,
+ "w": 39,
+ "h": 64
+ },
+ "frame": {
+ "x": 273,
+ "y": 278,
+ "w": 39,
+ "h": 64
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:e5623220b8f93b4c38df6c4e29a71ce0:550a66ebbe55ef81f96a5c56af0c4c2c:c8a06588e3ef3c7c5201d3917470f092$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/743_3.png b/public/images/pokemon/variant/exp/back/743_3.png
new file mode 100644
index 00000000000..50328efe675
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/743_3.png differ
diff --git a/public/images/pokemon/variant/exp/back/751.json b/public/images/pokemon/variant/exp/back/751.json
new file mode 100644
index 00000000000..c28b7065b6a
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/751.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "32484c": "8d4358",
+ "5faecb": "ae504b",
+ "a2d5e6": "d37075",
+ "cfebf7": "ffc8d1",
+ "f7f7f7": "f7f7f7",
+ "4b5528": "3a112f",
+ "899128": "4e1f42",
+ "47849e": "f1977b",
+ "cfe436": "673252",
+ "101010": "101010",
+ "49757f": "9e4155",
+ "6a95a3": "d37075",
+ "3c434d": "812b3e",
+ "5d6874": "ae504b"
+ },
+ "2": {
+ "32484c": "915952",
+ "5faecb": "b56543",
+ "a2d5e6": "ecaa61",
+ "cfebf7": "f1dcc2",
+ "f7f7f7": "f7f7f7",
+ "4b5528": "263756",
+ "899128": "4980ac",
+ "47849e": "585b6c",
+ "cfe436": "72add9",
+ "101010": "101010",
+ "49757f": "c77a4f",
+ "6a95a3": "ecaa61",
+ "3c434d": "ba5c2c",
+ "5d6874": "ea9b43"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/752.json b/public/images/pokemon/variant/exp/back/752.json
new file mode 100644
index 00000000000..4cedfc9ad56
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/752.json
@@ -0,0 +1,42 @@
+{
+ "1": {
+ "648ca2": "7c3b51",
+ "cae1ec": "ffc8d1",
+ "f7f7f7": "f7f7f7",
+ "a1bcca": "d187a0",
+ "8c9b26": "4e1f42",
+ "101010": "101010",
+ "434a1c": "3a112f",
+ "cde425": "673252",
+ "000000": "000000",
+ "262e35": "812b3e",
+ "253f45": "4c152c",
+ "957759": "5ea3b8",
+ "62aeca": "f3bd8a",
+ "5d412d": "395677",
+ "44819b": "d3795b",
+ "4f5968": "ae504b",
+ "4e707e": "812b3e",
+ "504d3d": "ae504b"
+ },
+ "2": {
+ "648ca2": "55506a",
+ "cae1ec": "dce7ee",
+ "f7f7f7": "f7f7f7",
+ "a1bcca": "a7a2bc",
+ "8c9b26": "4980ac",
+ "101010": "101010",
+ "434a1c": "263756",
+ "cde425": "72add9",
+ "000000": "000000",
+ "262e35": "d49435",
+ "253f45": "834723",
+ "957759": "bc521d",
+ "62aeca": "3b5373",
+ "5d412d": "75291a",
+ "44819b": "28355c",
+ "4f5968": "f5cf52",
+ "4e707e": "d49435",
+ "504d3d": "f5cf52"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/772.json b/public/images/pokemon/variant/exp/back/772.json
new file mode 100644
index 00000000000..d367e8f88f7
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/772.json
@@ -0,0 +1,44 @@
+{
+ "1": {
+ "454f55": "232843",
+ "92a6a9": "889db1",
+ "080808": "080808",
+ "6b777e": "526085",
+ "642515": "7e4f36",
+ "c55e3a": "eed8a1",
+ "934031": "c8976c",
+ "c0cecf": "bdc4e5",
+ "1a9d23": "2a5f7e",
+ "1d1845": "2e191f",
+ "0073bf": "7a4949",
+ "565969": "35394c",
+ "a0b6b8": "b59489",
+ "483c39": "3a2d53",
+ "79615e": "504a75",
+ "251845": "753c32",
+ "9618e0": "dc9c4d",
+ "1e9378": "f8ce64",
+ "125d4b": "ce7f3f"
+ },
+ "2": {
+ "454f55": "18182a",
+ "92a6a9": "65657c",
+ "080808": "080808",
+ "6b777e": "3b3b51",
+ "642515": "444961",
+ "c55e3a": "c1cfd8",
+ "934031": "7f94b1",
+ "c0cecf": "dbd8e8",
+ "1a9d23": "4f2e61",
+ "1d1845": "41434e",
+ "0073bf": "6a6c75",
+ "565969": "35394c",
+ "a0b6b8": "92949e",
+ "483c39": "778894",
+ "79615e": "d6d4d4",
+ "251845": "425735",
+ "9618e0": "ade265",
+ "1e9378": "444455",
+ "125d4b": "242433"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/773-bug_2.json b/public/images/pokemon/variant/exp/back/773-bug_2.json
new file mode 100644
index 00000000000..4b57edfb1df
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/773-bug_2.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-bug_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 344,
+ "h": 344
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 258,
+ "w": 64,
+ "h": 86
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:cc6f9e1f7b1c88ec3accff83c0b55beb:2556df34a2fde34fd4ed8dcbc56982fa:1786a671c3b9676c87853a0a70567554$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/773-bug_2.png b/public/images/pokemon/variant/exp/back/773-bug_2.png
new file mode 100644
index 00000000000..3be9f5a7f22
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/773-bug_2.png differ
diff --git a/public/images/pokemon/variant/exp/back/773-bug_3.json b/public/images/pokemon/variant/exp/back/773-bug_3.json
new file mode 100644
index 00000000000..e76a73d5523
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/773-bug_3.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-bug_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 344,
+ "h": 344
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 258,
+ "w": 64,
+ "h": 86
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:cc6f9e1f7b1c88ec3accff83c0b55beb:2556df34a2fde34fd4ed8dcbc56982fa:1786a671c3b9676c87853a0a70567554$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/773-bug_3.png b/public/images/pokemon/variant/exp/back/773-bug_3.png
new file mode 100644
index 00000000000..13c6e2b5274
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/773-bug_3.png differ
diff --git a/public/images/pokemon/variant/exp/back/773-dark_2.json b/public/images/pokemon/variant/exp/back/773-dark_2.json
new file mode 100644
index 00000000000..0a067f30361
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/773-dark_2.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-dark_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 344,
+ "h": 344
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 258,
+ "w": 64,
+ "h": 86
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:1a47341c624818bb2b8ddb5e70ff16d0:111d4a9df8316c4e1d32d2a93b5ec0f1:267125b3b5f5d18142ae5fffbef27592$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/773-dark_2.png b/public/images/pokemon/variant/exp/back/773-dark_2.png
new file mode 100644
index 00000000000..fbcf144f4f0
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/773-dark_2.png differ
diff --git a/public/images/pokemon/variant/exp/back/773-dark_3.json b/public/images/pokemon/variant/exp/back/773-dark_3.json
new file mode 100644
index 00000000000..846af3d6560
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/773-dark_3.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-dark_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 344,
+ "h": 344
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 258,
+ "w": 64,
+ "h": 86
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:1a47341c624818bb2b8ddb5e70ff16d0:111d4a9df8316c4e1d32d2a93b5ec0f1:267125b3b5f5d18142ae5fffbef27592$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/773-dark_3.png b/public/images/pokemon/variant/exp/back/773-dark_3.png
new file mode 100644
index 00000000000..0c56d7bf8ff
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/773-dark_3.png differ
diff --git a/public/images/pokemon/variant/exp/back/773-dragon_2.json b/public/images/pokemon/variant/exp/back/773-dragon_2.json
new file mode 100644
index 00000000000..c1ef79e0cd2
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/773-dragon_2.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-dragon_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 344,
+ "h": 344
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 258,
+ "w": 64,
+ "h": 86
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:b9aa0234511bbc7c93c7668482879ef9:b376eee3a7c33ea1e5e2165c883ba8f3:59453f2ad0e681735b3b15ab728caa7c$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/773-dragon_2.png b/public/images/pokemon/variant/exp/back/773-dragon_2.png
new file mode 100644
index 00000000000..8ff8380a724
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/773-dragon_2.png differ
diff --git a/public/images/pokemon/variant/exp/back/773-dragon_3.json b/public/images/pokemon/variant/exp/back/773-dragon_3.json
new file mode 100644
index 00000000000..812d14c1adb
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/773-dragon_3.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-dragon_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 344,
+ "h": 344
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 258,
+ "w": 64,
+ "h": 86
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:b9aa0234511bbc7c93c7668482879ef9:b376eee3a7c33ea1e5e2165c883ba8f3:59453f2ad0e681735b3b15ab728caa7c$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/773-dragon_3.png b/public/images/pokemon/variant/exp/back/773-dragon_3.png
new file mode 100644
index 00000000000..fc476dc8f0a
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/773-dragon_3.png differ
diff --git a/public/images/pokemon/variant/exp/back/773-electric_2.json b/public/images/pokemon/variant/exp/back/773-electric_2.json
new file mode 100644
index 00000000000..ae9a63905fe
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/773-electric_2.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-electric_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 344,
+ "h": 344
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 258,
+ "w": 64,
+ "h": 86
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:a7971d80066edd2518184e437f177a6f:0acf2e3142ccc10310889552f5c5c56e:e9f7f627b4aa057d8a352e938221d903$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/773-electric_2.png b/public/images/pokemon/variant/exp/back/773-electric_2.png
new file mode 100644
index 00000000000..94cd6d77a30
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/773-electric_2.png differ
diff --git a/public/images/pokemon/variant/exp/back/773-electric_3.json b/public/images/pokemon/variant/exp/back/773-electric_3.json
new file mode 100644
index 00000000000..49373baafc3
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/773-electric_3.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-electric_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 344,
+ "h": 344
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 258,
+ "w": 64,
+ "h": 86
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:a7971d80066edd2518184e437f177a6f:0acf2e3142ccc10310889552f5c5c56e:e9f7f627b4aa057d8a352e938221d903$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/773-electric_3.png b/public/images/pokemon/variant/exp/back/773-electric_3.png
new file mode 100644
index 00000000000..e54715131af
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/773-electric_3.png differ
diff --git a/public/images/pokemon/variant/exp/back/773-fairy_2.json b/public/images/pokemon/variant/exp/back/773-fairy_2.json
new file mode 100644
index 00000000000..cac13eb5b34
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/773-fairy_2.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-fairy_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 344,
+ "h": 344
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 258,
+ "w": 64,
+ "h": 86
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:5e1c3a760868419260d9e8a02c56af28:56214faae85a6e93b04d271a6befaf4b:50e5ca45ea677d44a2fea72d4ec14fc2$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/773-fairy_2.png b/public/images/pokemon/variant/exp/back/773-fairy_2.png
new file mode 100644
index 00000000000..1f7fe16a3d4
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/773-fairy_2.png differ
diff --git a/public/images/pokemon/variant/exp/back/773-fairy_3.json b/public/images/pokemon/variant/exp/back/773-fairy_3.json
new file mode 100644
index 00000000000..1524f32b9db
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/773-fairy_3.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-fairy_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 344,
+ "h": 344
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 258,
+ "w": 64,
+ "h": 86
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:5e1c3a760868419260d9e8a02c56af28:56214faae85a6e93b04d271a6befaf4b:50e5ca45ea677d44a2fea72d4ec14fc2$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/773-fairy_3.png b/public/images/pokemon/variant/exp/back/773-fairy_3.png
new file mode 100644
index 00000000000..578dba2dfc6
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/773-fairy_3.png differ
diff --git a/public/images/pokemon/variant/exp/back/773-fighting_2.json b/public/images/pokemon/variant/exp/back/773-fighting_2.json
new file mode 100644
index 00000000000..ee3e8997f86
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/773-fighting_2.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-fighting_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 344,
+ "h": 344
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 258,
+ "w": 64,
+ "h": 86
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:f0f0b4b6a65b45aee25738b7272ec85a:9df016059ef5b89c2d1da7c1a6fdb902:70f70b07c9d5b3013cbd3b3f25c7f7fa$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/773-fighting_2.png b/public/images/pokemon/variant/exp/back/773-fighting_2.png
new file mode 100644
index 00000000000..b627a56931b
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/773-fighting_2.png differ
diff --git a/public/images/pokemon/variant/exp/back/773-fighting_3.json b/public/images/pokemon/variant/exp/back/773-fighting_3.json
new file mode 100644
index 00000000000..44c2f9fff17
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/773-fighting_3.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-fighting_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 344,
+ "h": 344
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 258,
+ "w": 64,
+ "h": 86
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:f0f0b4b6a65b45aee25738b7272ec85a:9df016059ef5b89c2d1da7c1a6fdb902:70f70b07c9d5b3013cbd3b3f25c7f7fa$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/773-fighting_3.png b/public/images/pokemon/variant/exp/back/773-fighting_3.png
new file mode 100644
index 00000000000..fadb3117107
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/773-fighting_3.png differ
diff --git a/public/images/pokemon/variant/exp/back/773-fire_2.json b/public/images/pokemon/variant/exp/back/773-fire_2.json
new file mode 100644
index 00000000000..47dafb71818
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/773-fire_2.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-fire_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 344,
+ "h": 344
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 258,
+ "w": 64,
+ "h": 86
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:a1770b4d3a8eff9c57d3d974b95f57d2:0cbcb675d6b570c94848233c26b8760c:690c285b19cb1e8f7b7aa9dfafbe36b2$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/773-fire_2.png b/public/images/pokemon/variant/exp/back/773-fire_2.png
new file mode 100644
index 00000000000..e665f87d5fc
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/773-fire_2.png differ
diff --git a/public/images/pokemon/variant/exp/back/773-fire_3.json b/public/images/pokemon/variant/exp/back/773-fire_3.json
new file mode 100644
index 00000000000..fa386266743
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/773-fire_3.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-fire_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 344,
+ "h": 344
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 258,
+ "w": 64,
+ "h": 86
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:a1770b4d3a8eff9c57d3d974b95f57d2:0cbcb675d6b570c94848233c26b8760c:690c285b19cb1e8f7b7aa9dfafbe36b2$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/773-fire_3.png b/public/images/pokemon/variant/exp/back/773-fire_3.png
new file mode 100644
index 00000000000..274ea77e7b8
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/773-fire_3.png differ
diff --git a/public/images/pokemon/variant/exp/back/773-flying_2.json b/public/images/pokemon/variant/exp/back/773-flying_2.json
new file mode 100644
index 00000000000..55415a787ba
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/773-flying_2.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-flying_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 344,
+ "h": 344
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 258,
+ "w": 64,
+ "h": 86
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:f6a20c453240fbd83239a85ecf4f14f2:796217ca49c345806c31368c8a952073:fd9cc965ca8a0f017385425d924045d6$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/773-flying_2.png b/public/images/pokemon/variant/exp/back/773-flying_2.png
new file mode 100644
index 00000000000..1083cb116e8
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/773-flying_2.png differ
diff --git a/public/images/pokemon/variant/exp/back/773-flying_3.json b/public/images/pokemon/variant/exp/back/773-flying_3.json
new file mode 100644
index 00000000000..bc6ceb06a2f
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/773-flying_3.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-flying_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 344,
+ "h": 344
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 258,
+ "w": 64,
+ "h": 86
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:f6a20c453240fbd83239a85ecf4f14f2:796217ca49c345806c31368c8a952073:fd9cc965ca8a0f017385425d924045d6$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/773-flying_3.png b/public/images/pokemon/variant/exp/back/773-flying_3.png
new file mode 100644
index 00000000000..19164ea2726
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/773-flying_3.png differ
diff --git a/public/images/pokemon/variant/exp/back/773-ghost_2.json b/public/images/pokemon/variant/exp/back/773-ghost_2.json
new file mode 100644
index 00000000000..86afaed87d9
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/773-ghost_2.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-ghost_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 344,
+ "h": 344
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 258,
+ "w": 64,
+ "h": 86
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:0474b69f98e304b26d88860f41abe308:8969ed1ff2b47be1c2a595c7cd58740e:dff8d338685b93339ecf30f1d807fbe6$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/773-ghost_2.png b/public/images/pokemon/variant/exp/back/773-ghost_2.png
new file mode 100644
index 00000000000..618753e9324
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/773-ghost_2.png differ
diff --git a/public/images/pokemon/variant/exp/back/773-ghost_3.json b/public/images/pokemon/variant/exp/back/773-ghost_3.json
new file mode 100644
index 00000000000..d2f3cfd3b26
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/773-ghost_3.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-ghost_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 344,
+ "h": 344
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 258,
+ "w": 64,
+ "h": 86
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:0474b69f98e304b26d88860f41abe308:8969ed1ff2b47be1c2a595c7cd58740e:dff8d338685b93339ecf30f1d807fbe6$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/773-ghost_3.png b/public/images/pokemon/variant/exp/back/773-ghost_3.png
new file mode 100644
index 00000000000..eca8babc28d
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/773-ghost_3.png differ
diff --git a/public/images/pokemon/variant/exp/back/773-grass_2.json b/public/images/pokemon/variant/exp/back/773-grass_2.json
new file mode 100644
index 00000000000..6c834d72fff
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/773-grass_2.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-grass_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 344,
+ "h": 344
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 258,
+ "w": 64,
+ "h": 86
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:d6114db1830a0be30bb703504ed3ed66:96e3f9b2c128c90248e2a611a7c53cbd:c892d42603d88b410862efcb4f750000$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/773-grass_2.png b/public/images/pokemon/variant/exp/back/773-grass_2.png
new file mode 100644
index 00000000000..2b36529c20b
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/773-grass_2.png differ
diff --git a/public/images/pokemon/variant/exp/back/773-grass_3.json b/public/images/pokemon/variant/exp/back/773-grass_3.json
new file mode 100644
index 00000000000..12daa1993b8
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/773-grass_3.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-grass_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 344,
+ "h": 344
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 258,
+ "w": 64,
+ "h": 86
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:d6114db1830a0be30bb703504ed3ed66:96e3f9b2c128c90248e2a611a7c53cbd:c892d42603d88b410862efcb4f750000$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/773-grass_3.png b/public/images/pokemon/variant/exp/back/773-grass_3.png
new file mode 100644
index 00000000000..a5d2b58ef87
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/773-grass_3.png differ
diff --git a/public/images/pokemon/variant/exp/back/773-ground_2.json b/public/images/pokemon/variant/exp/back/773-ground_2.json
new file mode 100644
index 00000000000..d26efb07bbf
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/773-ground_2.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-ground_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 344,
+ "h": 344
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 258,
+ "w": 64,
+ "h": 86
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:b8fb9cc9fd3eab6e6f58fd555c5ffbcf:035ac7b983998262c220c0cb2dfb033b:a8b1ae37d6ef4c526891c3cd392866cd$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/773-ground_2.png b/public/images/pokemon/variant/exp/back/773-ground_2.png
new file mode 100644
index 00000000000..ee98bf25ba2
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/773-ground_2.png differ
diff --git a/public/images/pokemon/variant/exp/back/773-ground_3.json b/public/images/pokemon/variant/exp/back/773-ground_3.json
new file mode 100644
index 00000000000..91a52527c68
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/773-ground_3.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-ground_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 344,
+ "h": 344
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 258,
+ "w": 64,
+ "h": 86
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:b8fb9cc9fd3eab6e6f58fd555c5ffbcf:035ac7b983998262c220c0cb2dfb033b:a8b1ae37d6ef4c526891c3cd392866cd$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/773-ground_3.png b/public/images/pokemon/variant/exp/back/773-ground_3.png
new file mode 100644
index 00000000000..a8e740c80d3
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/773-ground_3.png differ
diff --git a/public/images/pokemon/variant/exp/back/773-ice_2.json b/public/images/pokemon/variant/exp/back/773-ice_2.json
new file mode 100644
index 00000000000..3a2d452034a
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/773-ice_2.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-ice_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 344,
+ "h": 344
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 258,
+ "w": 64,
+ "h": 86
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:443053ac3c53cd338b75e0df4dcb301b:a3de57a8e3314116c9fcd75fc74f6984:bbb81164af15638f1aae91f14ca0ac1d$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/773-ice_2.png b/public/images/pokemon/variant/exp/back/773-ice_2.png
new file mode 100644
index 00000000000..2f8a65beb40
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/773-ice_2.png differ
diff --git a/public/images/pokemon/variant/exp/back/773-ice_3.json b/public/images/pokemon/variant/exp/back/773-ice_3.json
new file mode 100644
index 00000000000..79b57c9664d
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/773-ice_3.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-ice_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 344,
+ "h": 344
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 258,
+ "w": 64,
+ "h": 86
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:443053ac3c53cd338b75e0df4dcb301b:a3de57a8e3314116c9fcd75fc74f6984:bbb81164af15638f1aae91f14ca0ac1d$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/773-ice_3.png b/public/images/pokemon/variant/exp/back/773-ice_3.png
new file mode 100644
index 00000000000..5ae46333616
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/773-ice_3.png differ
diff --git a/public/images/pokemon/variant/exp/back/773-poison_2.json b/public/images/pokemon/variant/exp/back/773-poison_2.json
new file mode 100644
index 00000000000..6f65f59f37a
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/773-poison_2.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-poison_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 344,
+ "h": 344
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 258,
+ "w": 64,
+ "h": 86
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:d407f096a1cef259c3b4dfe006f94271:811b20f66fdb4eec8e5a4d6a85f0b9d9:2e43d6e4a409b7aabc1efd3ec3981f96$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/773-poison_2.png b/public/images/pokemon/variant/exp/back/773-poison_2.png
new file mode 100644
index 00000000000..4268dff871b
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/773-poison_2.png differ
diff --git a/public/images/pokemon/variant/exp/back/773-poison_3.json b/public/images/pokemon/variant/exp/back/773-poison_3.json
new file mode 100644
index 00000000000..b0ce4a19137
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/773-poison_3.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-poison_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 344,
+ "h": 344
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 258,
+ "w": 64,
+ "h": 86
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:d407f096a1cef259c3b4dfe006f94271:811b20f66fdb4eec8e5a4d6a85f0b9d9:2e43d6e4a409b7aabc1efd3ec3981f96$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/773-poison_3.png b/public/images/pokemon/variant/exp/back/773-poison_3.png
new file mode 100644
index 00000000000..fdce2fba3c6
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/773-poison_3.png differ
diff --git a/public/images/pokemon/variant/exp/back/773-psychic_2.json b/public/images/pokemon/variant/exp/back/773-psychic_2.json
new file mode 100644
index 00000000000..48a3f774d67
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/773-psychic_2.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-psychic_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 344,
+ "h": 344
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 258,
+ "w": 64,
+ "h": 86
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:45f7cc42f452e5d9d435761ed660a526:758b94ac0c294efd1b460a47a135ed47:9fb489b40d17b047a9dacb47533ceda4$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/773-psychic_2.png b/public/images/pokemon/variant/exp/back/773-psychic_2.png
new file mode 100644
index 00000000000..6509f56549a
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/773-psychic_2.png differ
diff --git a/public/images/pokemon/variant/exp/back/773-psychic_3.json b/public/images/pokemon/variant/exp/back/773-psychic_3.json
new file mode 100644
index 00000000000..66b1579cc65
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/773-psychic_3.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-psychic_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 344,
+ "h": 344
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 258,
+ "w": 64,
+ "h": 86
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:45f7cc42f452e5d9d435761ed660a526:758b94ac0c294efd1b460a47a135ed47:9fb489b40d17b047a9dacb47533ceda4$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/773-psychic_3.png b/public/images/pokemon/variant/exp/back/773-psychic_3.png
new file mode 100644
index 00000000000..86e8308ec60
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/773-psychic_3.png differ
diff --git a/public/images/pokemon/variant/exp/back/773-rock_2.json b/public/images/pokemon/variant/exp/back/773-rock_2.json
new file mode 100644
index 00000000000..835465d44a4
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/773-rock_2.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-rock_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 344,
+ "h": 344
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 258,
+ "w": 64,
+ "h": 86
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:a9392af064c5ae80d334870c6a304b70:a2f30d4d81427d75edaa901098097d9c:b6fcb5d1ff917a13e5e912a7f40fcbe2$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/773-rock_2.png b/public/images/pokemon/variant/exp/back/773-rock_2.png
new file mode 100644
index 00000000000..4a387720c8d
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/773-rock_2.png differ
diff --git a/public/images/pokemon/variant/exp/back/773-rock_3.json b/public/images/pokemon/variant/exp/back/773-rock_3.json
new file mode 100644
index 00000000000..5a6a68b5738
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/773-rock_3.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-rock_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 344,
+ "h": 344
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 258,
+ "w": 64,
+ "h": 86
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:a9392af064c5ae80d334870c6a304b70:a2f30d4d81427d75edaa901098097d9c:b6fcb5d1ff917a13e5e912a7f40fcbe2$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/773-rock_3.png b/public/images/pokemon/variant/exp/back/773-rock_3.png
new file mode 100644
index 00000000000..7eb8b8665e2
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/773-rock_3.png differ
diff --git a/public/images/pokemon/variant/exp/back/773-steel_2.json b/public/images/pokemon/variant/exp/back/773-steel_2.json
new file mode 100644
index 00000000000..3254cce4389
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/773-steel_2.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-steel_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 344,
+ "h": 344
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 258,
+ "w": 64,
+ "h": 86
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:acce26ec8db80708da21e57d191c1edb:a2f30d4d81427d75edaa901098097d9c:28dcfb1ac7091bec326d67f7b8d4eaa6$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/773-steel_2.png b/public/images/pokemon/variant/exp/back/773-steel_2.png
new file mode 100644
index 00000000000..0eb28ba4017
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/773-steel_2.png differ
diff --git a/public/images/pokemon/variant/exp/back/773-steel_3.json b/public/images/pokemon/variant/exp/back/773-steel_3.json
new file mode 100644
index 00000000000..4107391fb7a
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/773-steel_3.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-steel_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 344,
+ "h": 344
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 258,
+ "w": 64,
+ "h": 86
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:acce26ec8db80708da21e57d191c1edb:a2f30d4d81427d75edaa901098097d9c:28dcfb1ac7091bec326d67f7b8d4eaa6$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/773-steel_3.png b/public/images/pokemon/variant/exp/back/773-steel_3.png
new file mode 100644
index 00000000000..07dd1dc4751
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/773-steel_3.png differ
diff --git a/public/images/pokemon/variant/exp/back/773-water_2.json b/public/images/pokemon/variant/exp/back/773-water_2.json
new file mode 100644
index 00000000000..ad56e9190e8
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/773-water_2.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-water_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 344,
+ "h": 344
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 258,
+ "w": 64,
+ "h": 86
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:1d7560d86d6c95422664f1ffa4e60412:ae04b46b6c3615cd1d1722afe6063e89:609e3c1a2aa54ec6d5110acf831a822b$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/773-water_2.png b/public/images/pokemon/variant/exp/back/773-water_2.png
new file mode 100644
index 00000000000..f691dafe21f
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/773-water_2.png differ
diff --git a/public/images/pokemon/variant/exp/back/773-water_3.json b/public/images/pokemon/variant/exp/back/773-water_3.json
new file mode 100644
index 00000000000..6e131ad849f
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/773-water_3.json
@@ -0,0 +1,2834 @@
+{
+ "textures": [
+ {
+ "image": "773-water_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 344,
+ "h": 344
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0129.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0130.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0127.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0128.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 88,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0121.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0122.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0123.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0124.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0125.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0126.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 64,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0131.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0132.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 64,
+ "h": 88
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 64,
+ "h": 88
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0133.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0134.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 88,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 64,
+ "y": 175,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 87,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 192,
+ "y": 0,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 64,
+ "h": 87
+ },
+ "frame": {
+ "x": 128,
+ "y": 174,
+ "w": 64,
+ "h": 87
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 87,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 0,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 192,
+ "y": 173,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 86,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 172,
+ "w": 64,
+ "h": 86
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 64,
+ "h": 85
+ },
+ "frame": {
+ "x": 192,
+ "y": 259,
+ "w": 64,
+ "h": 85
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 64,
+ "h": 88
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 64,
+ "h": 86
+ },
+ "frame": {
+ "x": 256,
+ "y": 258,
+ "w": 64,
+ "h": 86
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:1d7560d86d6c95422664f1ffa4e60412:ae04b46b6c3615cd1d1722afe6063e89:609e3c1a2aa54ec6d5110acf831a822b$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/773-water_3.png b/public/images/pokemon/variant/exp/back/773-water_3.png
new file mode 100644
index 00000000000..6dbaf1fee17
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/773-water_3.png differ
diff --git a/public/images/pokemon/variant/exp/back/773.json b/public/images/pokemon/variant/exp/back/773.json
new file mode 100644
index 00000000000..b9a89e12871
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/773.json
@@ -0,0 +1,50 @@
+{
+ "1": {
+ "939f9e": "738093",
+ "ededed": "eef1f3",
+ "f9f9f9": "cdd6dc",
+ "565969": "30365c",
+ "e3e6ec": "bdd1e5",
+ "d3d7df": "98a8be",
+ "bcbbc5": "788fb5",
+ "080808": "080808",
+ "3f3b50": "1e172a",
+ "aba7bc": "493d55",
+ "c86741": "c86741",
+ "483c39": "3a2d53",
+ "e9eaf8": "e7ebed",
+ "e64f5e": "f1944a",
+ "1d1845": "2e191f",
+ "0073bf": "7a4949",
+ "251845": "753c32",
+ "5399df": "b59489",
+ "79615e": "504a75",
+ "9618e0": "dc9c4d",
+ "1e9378": "f8ce64",
+ "125d4b": "ce7f3f"
+ },
+ "2": {
+ "939f9e": "738093",
+ "ededed": "ffffff",
+ "f9f9f9": "e7eef2",
+ "565969": "0f0f1b",
+ "e3e6ec": "444455",
+ "d3d7df": "b4bcc4",
+ "bcbbc5": "242433",
+ "080808": "080808",
+ "3f3b50": "3f3b50",
+ "aba7bc": "dbd8e8",
+ "c86741": "c86741",
+ "483c39": "778894",
+ "e9eaf8": "e9eaf8",
+ "e64f5e": "98ce58",
+ "1d1845": "41434e",
+ "0073bf": "6a6c75",
+ "251845": "425735",
+ "5399df": "92949e",
+ "79615e": "d6d4d4",
+ "9618e0": "ade265",
+ "1e9378": "eef4f8",
+ "125d4b": "686981"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/776_2.json b/public/images/pokemon/variant/exp/back/776_2.json
new file mode 100644
index 00000000000..1147f438810
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/776_2.json
@@ -0,0 +1,230 @@
+{
+ "textures": [
+ {
+ "image": "776_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 192,
+ "h": 192
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 66,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 66
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 66,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 66
+ },
+ "frame": {
+ "x": 0,
+ "y": 66,
+ "w": 66,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 66,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 66
+ },
+ "frame": {
+ "x": 0,
+ "y": 66,
+ "w": 66,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 66
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 65,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 66
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 65,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 61,
+ "h": 66
+ },
+ "frame": {
+ "x": 131,
+ "y": 0,
+ "w": 61,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 66
+ },
+ "frame": {
+ "x": 66,
+ "y": 66,
+ "w": 63,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 66
+ },
+ "frame": {
+ "x": 66,
+ "y": 66,
+ "w": 63,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 62,
+ "h": 66
+ },
+ "frame": {
+ "x": 129,
+ "y": 66,
+ "w": 62,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 62,
+ "h": 66
+ },
+ "frame": {
+ "x": 129,
+ "y": 66,
+ "w": 62,
+ "h": 66
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:7a9f1bf6173a1c87bb716795e8fb3ef9:04242151c0ae27022a6fc328590be85c:d6e726ee361d4277fe6ceece35bcdadd$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/776_2.png b/public/images/pokemon/variant/exp/back/776_2.png
new file mode 100644
index 00000000000..61e3662b56b
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/776_2.png differ
diff --git a/public/images/pokemon/variant/exp/back/776_3.json b/public/images/pokemon/variant/exp/back/776_3.json
new file mode 100644
index 00000000000..a11304f0ab3
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/776_3.json
@@ -0,0 +1,230 @@
+{
+ "textures": [
+ {
+ "image": "776_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 192,
+ "h": 192
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 66,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 66
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 66,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 66
+ },
+ "frame": {
+ "x": 0,
+ "y": 66,
+ "w": 66,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 66,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 66,
+ "h": 66
+ },
+ "frame": {
+ "x": 0,
+ "y": 66,
+ "w": 66,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 66
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 65,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 65,
+ "h": 66
+ },
+ "frame": {
+ "x": 66,
+ "y": 0,
+ "w": 65,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 0,
+ "w": 61,
+ "h": 66
+ },
+ "frame": {
+ "x": 131,
+ "y": 0,
+ "w": 61,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 66
+ },
+ "frame": {
+ "x": 66,
+ "y": 66,
+ "w": 63,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 66
+ },
+ "frame": {
+ "x": 66,
+ "y": 66,
+ "w": 63,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 62,
+ "h": 66
+ },
+ "frame": {
+ "x": 129,
+ "y": 66,
+ "w": 62,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 66,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 62,
+ "h": 66
+ },
+ "frame": {
+ "x": 129,
+ "y": 66,
+ "w": 62,
+ "h": 66
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:7a9f1bf6173a1c87bb716795e8fb3ef9:04242151c0ae27022a6fc328590be85c:d6e726ee361d4277fe6ceece35bcdadd$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/776_3.png b/public/images/pokemon/variant/exp/back/776_3.png
new file mode 100644
index 00000000000..5094ab508d1
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/776_3.png differ
diff --git a/public/images/pokemon/variant/exp/back/777.json b/public/images/pokemon/variant/exp/back/777.json
new file mode 100644
index 00000000000..eb3a3edb5cc
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/777.json
@@ -0,0 +1,26 @@
+{
+ "1": {
+ "101010": "101010",
+ "ffea80": "dec2f0",
+ "4d4d4d": "362952",
+ "ccb852": "ac8fbb",
+ "b3b3b3": "8e71cd",
+ "808080": "645393",
+ "73593f": "ae428a",
+ "bfbfbf": "d0dadb",
+ "f8f8f8": "f8f8f8",
+ "595959": "595959"
+ },
+ "2": {
+ "101010": "101010",
+ "ffea80": "d65d3c",
+ "4d4d4d": "294127",
+ "ccb852": "7b3c26",
+ "b3b3b3": "4cb568",
+ "808080": "2e804f",
+ "73593f": "47240f",
+ "bfbfbf": "b27f64",
+ "f8f8f8": "e5b38c",
+ "595959": "342a20"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/778-busted.json b/public/images/pokemon/variant/exp/back/778-busted.json
new file mode 100644
index 00000000000..21f796f0657
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/778-busted.json
@@ -0,0 +1,26 @@
+{
+ "1": {
+ "000000": "000000",
+ "101010": "101010",
+ "404040": "2d1818",
+ "b3a76b": "8d4f3d",
+ "f2e291": "aa6f46",
+ "665f3d": "542c21",
+ "000000": "101010",
+ "4d361f": "844b20",
+ "b37d47": "fabc5f",
+ "805933": "b97d2c"
+ },
+ "2": {
+ "000000": "000000",
+ "101010": "000000",
+ "404040": "0c123a",
+ "b3a76b": "3d2e4f",
+ "f2e291": "5b496b",
+ "665f3d": "1b1031",
+ "000000": "000000",
+ "4d361f": "3e5075",
+ "b37d47": "8eb5cd",
+ "805933": "6d80a4"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/778-disguised.json b/public/images/pokemon/variant/exp/back/778-disguised.json
new file mode 100644
index 00000000000..3ebf48117fb
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/778-disguised.json
@@ -0,0 +1,24 @@
+{
+ "1": {
+ "101010": "101010",
+ "404040": "2d1818",
+ "b3a76b": "8d4f3d",
+ "f2e291": "aa6f46",
+ "665f3d": "542c21",
+ "000000": "101010",
+ "4d361f": "844b20",
+ "b37d47": "fabc5f",
+ "805933": "b97d2c"
+ },
+ "2": {
+ "101010": "000000",
+ "404040": "0c123a",
+ "b3a76b": "3d2e4f",
+ "f2e291": "5b496b",
+ "665f3d": "1b1031",
+ "000000": "000000",
+ "4d361f": "3e5075",
+ "b37d47": "8eb5cd",
+ "805933": "6d80a4"
+ }
+}
diff --git a/public/images/pokemon/variant/exp/back/778.json b/public/images/pokemon/variant/exp/back/778.json
deleted file mode 100644
index d1171e22173..00000000000
--- a/public/images/pokemon/variant/exp/back/778.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "1": {
- "101010": "101010",
- "404040": "2d1818",
- "b3a76b": "8d4f3d",
- "f2e291": "aa6f46",
- "665f3d": "542c21",
- "000000": "101010",
- "4d361f": "844b20",
- "b37d47": "fabc5f",
- "805933": "b97d2c"
- },
- "2": {
- "101010": "000000",
- "404040": "0c123a",
- "b3a76b": "3d2e4f",
- "f2e291": "5b496b",
- "665f3d": "1b1031",
- "000000": "000000",
- "4d361f": "3e5075",
- "b37d47": "8eb5cd",
- "805933": "6d80a4"
- }
-}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/779.json b/public/images/pokemon/variant/exp/back/779.json
new file mode 100644
index 00000000000..82cf0169d73
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/779.json
@@ -0,0 +1,30 @@
+{
+ "1": {
+ "553d72": "a52121",
+ "9967ba": "c62c2c",
+ "262735": "262735",
+ "729dcd": "667fb2",
+ "a4f2f7": "caefff",
+ "e66aa5": "602b7a",
+ "922755": "2e0c3f",
+ "f889bb": "84539d",
+ "fae676": "faa28c",
+ "db9957": "d65e5e",
+ "bbc8fb": "94c5da",
+ "fcfcfc": "fcfcfc"
+ },
+ "2": {
+ "553d72": "4545c4",
+ "9967ba": "6666e2",
+ "262735": "262735",
+ "729dcd": "afafe1",
+ "a4f2f7": "eeeeff",
+ "e66aa5": "dca032",
+ "922755": "935b3b",
+ "f889bb": "ffd166",
+ "fae676": "454457",
+ "db9957": "2d2c43",
+ "bbc8fb": "bbc8fb",
+ "fcfcfc": "fcfcfc"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/797.json b/public/images/pokemon/variant/exp/back/797.json
new file mode 100644
index 00000000000..1393cc2bf7d
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/797.json
@@ -0,0 +1,44 @@
+{
+ "1": {
+ "101010": "101010",
+ "135f58": "a65017",
+ "219383": "bb6e1d",
+ "bcc8c0": "f2b97f",
+ "4e6466": "211f8b",
+ "fafafa": "f9e5d1",
+ "95a5a2": "506ee3",
+ "132f2d": "0a0e2d",
+ "364240": "19155c",
+ "6c8882": "2d3cb0",
+ "2dc8b3": "e0a135",
+ "8db856": "ffc785",
+ "f0e25a": "f2b97f",
+ "a1aaa6": "f2a280",
+ "1c2420": "09112e",
+ "47976c": "f0f5f9",
+ "005c43": "a6c8f9",
+ "7bc296": "9db7f4",
+ "b3e088": "ffe4b2"
+ },
+ "2": {
+ "101010": "101010",
+ "135f58": "77d4a9",
+ "219383": "93d9a7",
+ "bcc8c0": "242733",
+ "4e6466": "4e172e",
+ "fafafa": "534757",
+ "95a5a2": "8b1933",
+ "132f2d": "290100",
+ "364240": "410425",
+ "6c8882": "69132d",
+ "2dc8b3": "bff3bb",
+ "8db856": "232323",
+ "f0e25a": "242733",
+ "a1aaa6": "1d1c33",
+ "1c2420": "330007",
+ "47976c": "bbf3ef",
+ "005c43": "7dbdc5",
+ "7bc296": "bd2f62",
+ "b3e088": "343a38"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/816.json b/public/images/pokemon/variant/exp/back/816.json
new file mode 100644
index 00000000000..8153a53decd
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/816.json
@@ -0,0 +1,24 @@
+{
+ "1": {
+ "1f2d63": "631c1c",
+ "8f7a43": "322a27",
+ "e8d16a": "635753",
+ "2b699f": "9d2331",
+ "425493": "7d292a",
+ "5091c0": "b5464b",
+ "6ab6d2": "e66371",
+ "add7e7": "e6828e",
+ "101010": "101010"
+ },
+ "2": {
+ "1f2d63": "6e1a4c",
+ "8f7a43": "204375",
+ "e8d16a": "3b72a3",
+ "2b699f": "a32c59",
+ "425493": "813535",
+ "5091c0": "dea26c",
+ "6ab6d2": "ffeeb8",
+ "add7e7": "fffbec",
+ "101010": "101010"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/817.json b/public/images/pokemon/variant/exp/back/817.json
new file mode 100644
index 00000000000..7c74f55eef9
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/817.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "183569": "572225",
+ "0a5fba": "80222e",
+ "005980": "631425",
+ "31b5d0": "cf5b5d",
+ "0b89bf": "9a3538",
+ "6c4499": "a1572f",
+ "70cce0": "eb8577",
+ "a278c7": "dd8a4f",
+ "101010": "101010",
+ "3d6424": "83403e",
+ "6ba01b": "a36d5d",
+ "8cd222": "d99f8d",
+ "ccc7cd": "c7c1bd",
+ "fefefe": "fefefe"
+ },
+ "2": {
+ "183569": "731f4e",
+ "0a5fba": "da5c8a",
+ "005980": "7c2f23",
+ "31b5d0": "fcbe6d",
+ "0b89bf": "dc7647",
+ "6c4499": "2c5aa8",
+ "70cce0": "ffe5a3",
+ "a278c7": "459dca",
+ "101010": "101010",
+ "3d6424": "731317",
+ "6ba01b": "ba2c22",
+ "8cd222": "d85633",
+ "ccc7cd": "becee1",
+ "fefefe": "fefefe"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/818.json b/public/images/pokemon/variant/exp/back/818.json
new file mode 100644
index 00000000000..5b28c8a556c
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/818.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "88632b": "452a1e",
+ "003e6a": "4e1819",
+ "f2f889": "82664c",
+ "1c7bc1": "d94a4c",
+ "e9cd5f": "614432",
+ "549bc3": "a55846",
+ "9cd2e2": "e1926f",
+ "101010": "101010",
+ "fdfdfd": "fdfdfd",
+ "ff7c00": "5885a2",
+ "31302f": "251e1c",
+ "646565": "4c4643",
+ "4a4a4d": "342b2a",
+ "01599a": "9c2734"
+ },
+ "2": {
+ "88632b": "3046a1",
+ "003e6a": "6c2d21",
+ "f2f889": "65c2e5",
+ "1c7bc1": "fff2cc",
+ "e9cd5f": "4484c3",
+ "549bc3": "e38544",
+ "9cd2e2": "ffcd57",
+ "101010": "101010",
+ "fdfdfd": "fdfdfd",
+ "ff7c00": "a13047",
+ "31302f": "571342",
+ "646565": "be3a7d",
+ "4a4a4d": "771b54",
+ "01599a": "d8b284"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/859.json b/public/images/pokemon/variant/exp/back/859.json
new file mode 100644
index 00000000000..16dcecb181e
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/859.json
@@ -0,0 +1,22 @@
+{
+ "1": {
+ "e65984": "619544",
+ "8d3856": "376b2d",
+ "f589c2": "9aba6d",
+ "ffbff5": "dbe797",
+ "101010": "101010",
+ "45366d": "5b1d15",
+ "735aac": "a4332d",
+ "947cd8": "cc5836"
+ },
+ "2": {
+ "e65984": "4b1736",
+ "8d3856": "30082d",
+ "f589c2": "6b2b3e",
+ "ffbff5": "904f55",
+ "101010": "101010",
+ "45366d": "794935",
+ "735aac": "f0c475",
+ "947cd8": "f9e9a4"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/860.json b/public/images/pokemon/variant/exp/back/860.json
new file mode 100644
index 00000000000..fa3ee7f8bc4
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/860.json
@@ -0,0 +1,30 @@
+{
+ "1": {
+ "902748": "2d582c",
+ "e93761": "638a48",
+ "f75c90": "7daf56",
+ "352954": "3b1528",
+ "8872b6": "c45949",
+ "5d4694": "8b332d",
+ "101010": "101010",
+ "433568": "5a1d27",
+ "000000": "000000",
+ "409555": "244849",
+ "356a3c": "162a35",
+ "47be62": "366c59"
+ },
+ "2": {
+ "902748": "2b072d",
+ "e93761": "491337",
+ "f75c90": "64233b",
+ "352954": "a26458",
+ "8872b6": "f6e8b8",
+ "5d4694": "dfc784",
+ "101010": "101010",
+ "433568": "c98e63",
+ "000000": "000000",
+ "409555": "272664",
+ "356a3c": "090d50",
+ "47be62": "3f386f"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/861.json b/public/images/pokemon/variant/exp/back/861.json
new file mode 100644
index 00000000000..acdc2e3c502
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/861.json
@@ -0,0 +1,22 @@
+{
+ "1": {
+ "356a3c": "162a35",
+ "101010": "101010",
+ "47be62": "366c59",
+ "409555": "244849",
+ "433568": "5a1d27",
+ "2f184e": "290527",
+ "5d4694": "8b332d",
+ "352954": "3b1528"
+ },
+ "2": {
+ "356a3c": "090d50",
+ "101010": "101010",
+ "47be62": "3f386f",
+ "409555": "272664",
+ "433568": "c98e63",
+ "2f184e": "6a2f3a",
+ "5d4694": "dfc784",
+ "352954": "a26458"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/876-female.json b/public/images/pokemon/variant/exp/back/876-female.json
new file mode 100644
index 00000000000..87ee8cb6d13
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/876-female.json
@@ -0,0 +1,28 @@
+{
+ "1": {
+ "2e2641": "2c1419",
+ "7d7493": "5a3736",
+ "2f2642": "2c1419",
+ "564c6c": "4a282a",
+ "101010": "101010",
+ "6c64a6": "b72e3e",
+ "4d447e": "8c1932",
+ "3d3055": "64102c",
+ "826882": "826458",
+ "ccb7c2": "c4a691",
+ "fefefe": "e8d4bf"
+ },
+ "2": {
+ "2e2641": "853861",
+ "7d7493": "ecb2c5",
+ "2f2642": "444a8e",
+ "564c6c": "d58da4",
+ "101010": "101010",
+ "6c64a6": "78aae5",
+ "4d447e": "4c5db1",
+ "3d3055": "4c5db1",
+ "826882": "6f8ba1",
+ "ccb7c2": "cbdbe6",
+ "fefefe": "f0f2f3"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/876.json b/public/images/pokemon/variant/exp/back/876.json
new file mode 100644
index 00000000000..af4f5492efe
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/876.json
@@ -0,0 +1,28 @@
+{
+ "1": {
+ "2e2641": "2c1419",
+ "7d7493": "5a3736",
+ "564c6c": "4a282a",
+ "101010": "101010",
+ "2f2642": "2c1419",
+ "6c64a6": "b72e3e",
+ "4d447e": "8c1932",
+ "3d3055": "64102c",
+ "826882": "826458",
+ "ccb7c2": "c4a691",
+ "fefefe": "e8d4bf"
+ },
+ "2": {
+ "2e2641": "314c7c",
+ "7d7493": "a3c5e8",
+ "564c6c": "78a5d4",
+ "101010": "101010",
+ "2f2642": "7a316c",
+ "6c64a6": "f589bb",
+ "4d447e": "d268a7",
+ "3d3055": "aa518a",
+ "826882": "9b7e9e",
+ "ccb7c2": "e6d2e7",
+ "fefefe": "faeefa"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/896.json b/public/images/pokemon/variant/exp/back/896.json
new file mode 100644
index 00000000000..48c4828ca18
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/896.json
@@ -0,0 +1,44 @@
+{
+ "0": {
+ "000000": "000000",
+ "8cacdd": "8f84c9",
+ "bbd2ff": "b9abea",
+ "4679b7": "5952a1",
+ "003071": "2f104f",
+ "cbc1cc": "c9c0d4",
+ "eeeef3": "f6ebf6",
+ "eeeef2": "f6ebf6",
+ "cac0cb": "c9c0d4",
+ "83818f": "6f6982",
+ "6c6271": "68627a",
+ "ffffff": "ffffff"
+ },
+ "1": {
+ "000000": "000000",
+ "8cacdd": "41d5b3",
+ "bbd2ff": "9dffff",
+ "4679b7": "00816c",
+ "003071": "014837",
+ "cbc1cc": "90f6da",
+ "eeeef3": "d7ffff",
+ "eeeef2": "93bbf1",
+ "cac0cb": "6f8ec1",
+ "83818f": "506698",
+ "6c6271": "35486b",
+ "ffffff": "ffffff"
+ },
+ "2": {
+ "000000": "000000",
+ "8cacdd": "bc393b",
+ "bbd2ff": "f68c79",
+ "4679b7": "780024",
+ "003071": "520016",
+ "cbc1cc": "f3bca6",
+ "eeeef3": "fde3d6",
+ "eeeef2": "534444",
+ "cac0cb": "3c2c2f",
+ "83818f": "2b1b1e",
+ "6c6271": "21161a",
+ "ffffff": "ffffff"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/897.json b/public/images/pokemon/variant/exp/back/897.json
new file mode 100644
index 00000000000..3f2c4c62b17
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/897.json
@@ -0,0 +1,41 @@
+{
+ "0": {
+ "3c3c3c": "3c3c3c",
+ "525852": "5d5458",
+ "101010": "101010",
+ "49478f": "894061",
+ "7c5bcf": "d05a82",
+ "00285c": "632741",
+ "d9a4e3": "d9a4e3",
+ "fcfcfc": "fcfcfc",
+ "755179": "755179",
+ "504e8e": "80447d",
+ "8776e4": "b862b3"
+ },
+ "1": {
+ "3c3c3c": "622d51",
+ "525852": "904c75",
+ "101010": "101010",
+ "49478f": "932f27",
+ "7c5bcf": "cc5837",
+ "00285c": "6e1817",
+ "d9a4e3": "ff8478",
+ "fcfcfc": "fff3c6",
+ "755179": "a63938",
+ "504e8e": "b86441",
+ "8776e4": "ef8956"
+ },
+ "2": {
+ "3c3c3c": "3a6965",
+ "525852": "5c8a7b",
+ "101010": "101010",
+ "49478f": "13312b",
+ "7c5bcf": "254a34",
+ "00285c": "0d2222",
+ "d9a4e3": "7dc3ad",
+ "fcfcfc": "cffce7",
+ "755179": "2e6a62",
+ "504e8e": "244056",
+ "8776e4": "3c6371"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/898-ice.json b/public/images/pokemon/variant/exp/back/898-ice.json
new file mode 100644
index 00000000000..a10a4b38293
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/898-ice.json
@@ -0,0 +1,77 @@
+{
+ "0": {
+ "004037": "00403c",
+ "000000": "000000",
+ "8cacdd": "8f84c9",
+ "007766": "00776f",
+ "bbd2ff": "b9abea",
+ "00584b": "005852",
+ "4679b7": "5952a1",
+ "525852": "6a5837",
+ "101010": "101010",
+ "c7c8cd": "c7c8cd",
+ "fcfcfc": "fcfcfc",
+ "9e8f87": "ae8b50",
+ "d1c8be": "d7c881",
+ "003071": "2f104f",
+ "cbc1cc": "c9c0d4",
+ "eeeef3": "f6ebf6",
+ "eeeef2": "f6ebf6",
+ "00285c": "3b2948",
+ "cac0cb": "c9c0d4",
+ "83818f": "6f6982",
+ "6c6271": "68627a",
+ "3c3c3c": "3c3c3c",
+ "ffffff": "ffffff"
+ },
+ "1": {
+ "004037": "00124d",
+ "000000": "000000",
+ "8cacdd": "41d5b3",
+ "007766": "345ab5",
+ "bbd2ff": "9dffff",
+ "00584b": "183986",
+ "4679b7": "00816c",
+ "525852": "38255f",
+ "101010": "101010",
+ "c7c8cd": "c7c8cd",
+ "fcfcfc": "fcfcfc",
+ "9e8f87": "927ec4",
+ "d1c8be": "ba9ded",
+ "003071": "014837",
+ "cbc1cc": "90f6da",
+ "eeeef3": "d7ffff",
+ "eeeef2": "93bbf1",
+ "00285c": "8d075a",
+ "cac0cb": "6f8ec1",
+ "83818f": "506698",
+ "6c6271": "35486b",
+ "3c3c3c": "3c3c3c",
+ "ffffff": "ffffff"
+ },
+ "2": {
+ "004037": "3c1522",
+ "000000": "000000",
+ "8cacdd": "bc393b",
+ "007766": "88253e",
+ "bbd2ff": "f68c79",
+ "00584b": "601b35",
+ "4679b7": "780024",
+ "525852": "181935",
+ "101010": "101010",
+ "c7c8cd": "ccc5bb",
+ "fcfcfc": "fefdeb",
+ "9e8f87": "354d8a",
+ "d1c8be": "4378b1",
+ "003071": "520016",
+ "cbc1cc": "f3bca6",
+ "eeeef3": "fde3d6",
+ "eeeef2": "534444",
+ "00285c": "deb551",
+ "cac0cb": "3c2c2f",
+ "83818f": "2b1b1e",
+ "6c6271": "21161a",
+ "3c3c3c": "181935",
+ "ffffff": "ffffff"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/898-shadow.json b/public/images/pokemon/variant/exp/back/898-shadow.json
new file mode 100644
index 00000000000..6b38f34ae6e
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/898-shadow.json
@@ -0,0 +1,68 @@
+{
+ "0": {
+ "004037": "00403c",
+ "007766": "00776f",
+ "00584b": "005852",
+ "525752": "6a5837",
+ "101010": "101010",
+ "c7c8cd": "c7c8cd",
+ "fbfbfb": "fbfbfb",
+ "3c3c3c": "3c3c3c",
+ "525852": "5d5458",
+ "9e8f87": "ae8b50",
+ "d1c8be": "d7c881",
+ "49478f": "894061",
+ "7c5bcf": "d05a82",
+ "00285c": "632741",
+ "d9a4e3": "d9a4e3",
+ "fcfcfc": "fcfcfc",
+ "00285b": "3b2948",
+ "755179": "755179",
+ "504e8e": "80447d",
+ "8776e4": "b862b3"
+ },
+ "1": {
+ "004037": "00124d",
+ "007766": "345ab5",
+ "00584b": "183986",
+ "525752": "38255f",
+ "101010": "101010",
+ "c7c8cd": "c7c8cd",
+ "fbfbfb": "fbfbfb",
+ "3c3c3c": "622d51",
+ "525852": "904c75",
+ "9e8f87": "927ec4",
+ "d1c8be": "ba9ded",
+ "49478f": "932f27",
+ "7c5bcf": "cc5837",
+ "00285c": "6e1817",
+ "d9a4e3": "ff8478",
+ "fcfcfc": "fff3c6",
+ "00285b": "8d075a",
+ "755179": "a63938",
+ "504e8e": "b86441",
+ "8776e4": "ef8956"
+ },
+ "2": {
+ "004037": "3c1522",
+ "007766": "88253e",
+ "00584b": "601b35",
+ "525752": "181935",
+ "101010": "101010",
+ "c7c8cd": "ccc5bb",
+ "fbfbfb": "fefdeb",
+ "3c3c3c": "3a6965",
+ "525852": "5c8a7b",
+ "9e8f87": "354d8a",
+ "d1c8be": "4378b1",
+ "49478f": "13312b",
+ "7c5bcf": "254a34",
+ "00285c": "0d2222",
+ "d9a4e3": "7dc3ad",
+ "fcfcfc": "cffce7",
+ "00285b": "deb551",
+ "755179": "2e6a62",
+ "504e8e": "244056",
+ "8776e4": "3c6371"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/898.json b/public/images/pokemon/variant/exp/back/898.json
new file mode 100644
index 00000000000..a669e986b97
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/898.json
@@ -0,0 +1,50 @@
+{
+ "0": {
+ "6b7489": "71517a",
+ "a9acc7": "c4abc1",
+ "004037": "00403c",
+ "00584b": "005852",
+ "003a87": "71517a",
+ "007766": "00776f",
+ "615350": "6a5837",
+ "101010": "101010",
+ "fcfcfc": "fcfcfc",
+ "c7c8cd": "ccc6d1",
+ "9e8f87": "ae8b50",
+ "797b8f": "8e778d",
+ "00285c": "3b2948",
+ "c6c7cc": "8e778d"
+ },
+ "1": {
+ "6b7489": "f55a95",
+ "a9acc7": "fa9ac3",
+ "004037": "00124d",
+ "00584b": "183986",
+ "003a87": "c64883",
+ "007766": "345ab5",
+ "615350": "38255f",
+ "101010": "101010",
+ "fcfcfc": "fcfcfc",
+ "c7c8cd": "ccc6d1",
+ "9e8f87": "927ec4",
+ "797b8f": "ec6196",
+ "00285c": "8d075a",
+ "c6c7cc": "ec6196"
+ },
+ "2": {
+ "6b7489": "cc8c49",
+ "a9acc7": "decfa1",
+ "004037": "3c1522",
+ "00584b": "601b35",
+ "003a87": "cc8c49",
+ "007766": "88253e",
+ "615350": "181935",
+ "101010": "101010",
+ "fcfcfc": "fefdeb",
+ "c7c8cd": "c4bdb3",
+ "9e8f87": "354d8a",
+ "797b8f": "ecc260",
+ "00285c": "a16035",
+ "c6c7cc": "ecc260"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/9-mega_2.json b/public/images/pokemon/variant/exp/back/9-mega_2.json
new file mode 100644
index 00000000000..42d17ca7d0a
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/9-mega_2.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "9-mega_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 77,
+ "h": 77
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 77,
+ "h": 77
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 77,
+ "h": 77
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 77,
+ "h": 77
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:5d9f38fc4da0e99e00a40be3452a927c:2c58504a78e2752d4c536f8a79dab703:00f61506d33ec61875296e0fb5a82ee9$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/9-mega_2.png b/public/images/pokemon/variant/exp/back/9-mega_2.png
new file mode 100644
index 00000000000..e961ace2e5c
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/9-mega_2.png differ
diff --git a/public/images/pokemon/variant/exp/back/9-mega_3.json b/public/images/pokemon/variant/exp/back/9-mega_3.json
new file mode 100644
index 00000000000..f108154d97a
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/9-mega_3.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "9-mega_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 77,
+ "h": 77
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 77,
+ "h": 77
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 77,
+ "h": 77
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 77,
+ "h": 77
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:5d9f38fc4da0e99e00a40be3452a927c:2c58504a78e2752d4c536f8a79dab703:00f61506d33ec61875296e0fb5a82ee9$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/9-mega_3.png b/public/images/pokemon/variant/exp/back/9-mega_3.png
new file mode 100644
index 00000000000..95a7babe58b
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/9-mega_3.png differ
diff --git a/public/images/pokemon/variant/exp/back/951.json b/public/images/pokemon/variant/exp/back/951.json
new file mode 100644
index 00000000000..3df07b717e6
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/951.json
@@ -0,0 +1,28 @@
+{
+ "1": {
+ "587266": "d38c43",
+ "244828": "32131a",
+ "f0fbe3": "ffeacc",
+ "a6b496": "facf81",
+ "3f9a5f": "be8a84",
+ "2f683c": "9d6b5b",
+ "0f0f0f": "0f0f0f",
+ "ff9115": "ffb676",
+ "5c7c5c": "4c292f",
+ "2e302f": "2e302f",
+ "79b97b": "704f4f"
+ },
+ "2": {
+ "587266": "cb486d",
+ "244828": "4e3e70",
+ "f0fbe3": "fecff5",
+ "a6b496": "fa95d1",
+ "3f9a5f": "a78bdc",
+ "2f683c": "7456a8",
+ "0f0f0f": "0f0f0f",
+ "ff9115": "b6dfff",
+ "5c7c5c": "8e7eb1",
+ "2e302f": "2e302f",
+ "79b97b": "cfbfe6"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/952.json b/public/images/pokemon/variant/exp/back/952.json
new file mode 100644
index 00000000000..318dd900b93
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/952.json
@@ -0,0 +1,17 @@
+{
+ "2": {
+ "a23424": "cb486d",
+ "641e1c": "8c1f39",
+ "ef5131": "f77baf",
+ "294e25": "3f3399",
+ "51c444": "90c3ea",
+ "3f8147": "627bcd",
+ "69ab7b": "c4a4eb",
+ "42804b": "9884d3",
+ "0f0f0f": "0f0f0f",
+ "262826": "7a6597",
+ "476b51": "f8f3fe",
+ "3c5042": "cfbfe6",
+ "cdcdcd": "f8f3fe"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/952_2.json b/public/images/pokemon/variant/exp/back/952_2.json
new file mode 100644
index 00000000000..5260a74ab6c
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/952_2.json
@@ -0,0 +1,398 @@
+{
+ "textures": [
+ {
+ "image": "952_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 245,
+ "h": 245
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 65,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 63,
+ "h": 62
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 65,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 63,
+ "h": 62
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 63,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 65,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 61,
+ "h": 64
+ },
+ "frame": {
+ "x": 63,
+ "y": 0,
+ "w": 61,
+ "h": 64
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 65,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 61,
+ "h": 64
+ },
+ "frame": {
+ "x": 63,
+ "y": 0,
+ "w": 61,
+ "h": 64
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 65,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 59,
+ "h": 66
+ },
+ "frame": {
+ "x": 0,
+ "y": 62,
+ "w": 59,
+ "h": 66
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 65,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 61,
+ "h": 63
+ },
+ "frame": {
+ "x": 0,
+ "y": 128,
+ "w": 61,
+ "h": 63
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 65,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 3,
+ "w": 61,
+ "h": 63
+ },
+ "frame": {
+ "x": 0,
+ "y": 128,
+ "w": 61,
+ "h": 63
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 65,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 6,
+ "w": 63,
+ "h": 60
+ },
+ "frame": {
+ "x": 59,
+ "y": 64,
+ "w": 63,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 65,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 6,
+ "w": 63,
+ "h": 60
+ },
+ "frame": {
+ "x": 59,
+ "y": 64,
+ "w": 63,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 65,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 59,
+ "h": 65
+ },
+ "frame": {
+ "x": 122,
+ "y": 64,
+ "w": 59,
+ "h": 65
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 65,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 1,
+ "w": 57,
+ "h": 65
+ },
+ "frame": {
+ "x": 61,
+ "y": 124,
+ "w": 57,
+ "h": 65
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 65,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 7,
+ "w": 64,
+ "h": 59
+ },
+ "frame": {
+ "x": 124,
+ "y": 0,
+ "w": 64,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 65,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 7,
+ "w": 64,
+ "h": 59
+ },
+ "frame": {
+ "x": 124,
+ "y": 0,
+ "w": 64,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 65,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 10,
+ "w": 63,
+ "h": 56
+ },
+ "frame": {
+ "x": 61,
+ "y": 189,
+ "w": 63,
+ "h": 56
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 65,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 8,
+ "w": 64,
+ "h": 58
+ },
+ "frame": {
+ "x": 118,
+ "y": 129,
+ "w": 64,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 65,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 9,
+ "w": 64,
+ "h": 57
+ },
+ "frame": {
+ "x": 181,
+ "y": 59,
+ "w": 64,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 65,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 9,
+ "w": 63,
+ "h": 57
+ },
+ "frame": {
+ "x": 124,
+ "y": 187,
+ "w": 63,
+ "h": 57
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 65,
+ "h": 66
+ },
+ "spriteSourceSize": {
+ "x": 2,
+ "y": 11,
+ "w": 63,
+ "h": 55
+ },
+ "frame": {
+ "x": 182,
+ "y": 116,
+ "w": 63,
+ "h": 55
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:59d1d867ea58fcbafa3e2addfb627c9c:d57b462d97ea06d89a41a94a636393d6:6b4a83231d9f9edca9df18171ea81479$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/952_2.png b/public/images/pokemon/variant/exp/back/952_2.png
new file mode 100644
index 00000000000..2518adc55ed
Binary files /dev/null and b/public/images/pokemon/variant/exp/back/952_2.png differ
diff --git a/public/images/pokemon/variant/exp/back/974.json b/public/images/pokemon/variant/exp/back/974.json
new file mode 100644
index 00000000000..e6ba5dff1b0
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/974.json
@@ -0,0 +1,22 @@
+{
+ "1": {
+ "736875": "8c2727",
+ "524951": "661427",
+ "efefef": "ffcc9e",
+ "0f0f0f": "0f0f0f",
+ "bebaba": "ee9065",
+ "a29793": "c85442",
+ "a44667": "2c7193",
+ "c7639c": "48aeba"
+ },
+ "2": {
+ "736875": "1f355e",
+ "524951": "172651",
+ "efefef": "438aa0",
+ "0f0f0f": "0f0f0f",
+ "bebaba": "2a607f",
+ "a29793": "1c426b",
+ "a44667": "ae664a",
+ "c7639c": "daa470"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/975.json b/public/images/pokemon/variant/exp/back/975.json
new file mode 100644
index 00000000000..f5ab4ec8a40
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/975.json
@@ -0,0 +1,18 @@
+{
+ "1": {
+ "000000": "000000",
+ "f7f6f2": "ffcc9e",
+ "c8c4c4": "ee9065",
+ "a44667": "2c7193",
+ "c7639c": "48aeba",
+ "f493c9": "71e2d3"
+ },
+ "2": {
+ "000000": "000000",
+ "f7f6f2": "357489",
+ "c8c4c4": "265777",
+ "a44667": "ae664a",
+ "c7639c": "daa470",
+ "f493c9": "ffdfa1"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/979.json b/public/images/pokemon/variant/exp/back/979.json
new file mode 100644
index 00000000000..11de43288e2
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/979.json
@@ -0,0 +1,44 @@
+{
+ "0": {
+ "7b7786": "706394",
+ "c0c1c8": "bbb3d6",
+ "fafafc": "ddd2ff",
+ "111111": "111111",
+ "a5a6b2": "ada2cd",
+ "8f8d9c": "867ba4",
+ "474958": "38496a",
+ "555c69": "3f5275",
+ "55525c": "625583",
+ "323132": "323132",
+ "5d6976": "4d6289",
+ "464546": "464546"
+ },
+ "1": {
+ "7b7786": "c88945",
+ "c0c1c8": "ebd494",
+ "fafafc": "f9e9bd",
+ "111111": "111111",
+ "a5a6b2": "ddbf6b",
+ "8f8d9c": "d2a357",
+ "474958": "3a302e",
+ "555c69": "4c4442",
+ "55525c": "895b29",
+ "323132": "3e4f91",
+ "5d6976": "5b5757",
+ "464546": "5472b6"
+ },
+ "2": {
+ "7b7786": "b12009",
+ "c0c1c8": "f26a3c",
+ "fafafc": "ffa050",
+ "111111": "111111",
+ "a5a6b2": "f26a3c",
+ "8f8d9c": "d22c10",
+ "474958": "313930",
+ "555c69": "475149",
+ "55525c": "951500",
+ "323132": "716969",
+ "5d6976": "5d6962",
+ "464546": "bfb5b5"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/exp/back/993.json b/public/images/pokemon/variant/exp/back/993.json
new file mode 100644
index 00000000000..981f6cf7c61
--- /dev/null
+++ b/public/images/pokemon/variant/exp/back/993.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "282828": "292109",
+ "7a787a": "f8f5e2",
+ "0f0f0f": "0f0f0f",
+ "463741": "754711",
+ "4f4d51": "c59b4b",
+ "4a424a": "533310",
+ "20459b": "3c236a",
+ "86abf0": "a58fcd",
+ "3a75e6": "543280",
+ "952b7d": "585a5c",
+ "ff4dcb": "b7c6d6",
+ "fcfcfc": "fcfcfc",
+ "172e57": "160832",
+ "749eed": "b98bd6"
+ },
+ "2": {
+ "282828": "172220",
+ "7a787a": "a4bfbe",
+ "0f0f0f": "0f0f0f",
+ "463741": "2a505a",
+ "4f4d51": "467678",
+ "4a424a": "24323e",
+ "20459b": "600f40",
+ "86abf0": "ba1e51",
+ "3a75e6": "983b5c",
+ "952b7d": "873954",
+ "ff4dcb": "e3bbd3",
+ "fcfcfc": "fcfcfc",
+ "172e57": "470e2c",
+ "749eed": "f17ea6"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/female/123.json b/public/images/pokemon/variant/female/123.json
new file mode 100644
index 00000000000..5fbefd72224
--- /dev/null
+++ b/public/images/pokemon/variant/female/123.json
@@ -0,0 +1,44 @@
+{
+ "0": {
+ "425a21": "632929",
+ "bde673": "f76b6b",
+ "101010": "101010",
+ "9c8c31": "9494a5",
+ "fff7d6": "ffffff",
+ "8cce73": "d63a3a",
+ "e6d6ad": "b5b5ce",
+ "5a9c4a": "a52929",
+ "ffffff": "ffffff",
+ "dedede": "dedede",
+ "bdbdbd": "bdbdbd",
+ "737373": "737373"
+ },
+ "1": {
+ "425a21": "484e75",
+ "bde673": "7c9ac5",
+ "101010": "101010",
+ "9c8c31": "9c8c31",
+ "fff7d6": "fff7d6",
+ "8cce73": "92b0db",
+ "e6d6ad": "e6d6ad",
+ "5a9c4a": "7b94d6",
+ "ffffff": "ffffff",
+ "dedede": "dedede",
+ "bdbdbd": "bdbdbd",
+ "737373": "737373"
+ },
+ "2": {
+ "425a21": "8f3907",
+ "bde673": "f8f581",
+ "101010": "101010",
+ "9c8c31": "9c8c31",
+ "fff7d6": "fff7d6",
+ "8cce73": "f0c947",
+ "e6d6ad": "e6d6ad",
+ "5a9c4a": "e6a027",
+ "ffffff": "ffffff",
+ "dedede": "f0c947",
+ "bdbdbd": "bdbdbd",
+ "737373": "737373"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/female/229.json b/public/images/pokemon/variant/female/229.json
new file mode 100644
index 00000000000..519ca256ec5
--- /dev/null
+++ b/public/images/pokemon/variant/female/229.json
@@ -0,0 +1,38 @@
+{
+ "1": {
+ "84738c": "5a1f30",
+ "ffffff": "ffcf9a",
+ "ced6d6": "dc7e67",
+ "a59cad": "a84244",
+ "192129": "402b41",
+ "4a4a52": "85738c",
+ "000000": "000000",
+ "a55a4a": "ceb0a5",
+ "f79c84": "f8f1e7",
+ "841021": "3b59a1",
+ "31313a": "5c435d",
+ "ada5b3": "ada5b3",
+ "632910": "8c6362",
+ "f8f9ff": "f8f9ff",
+ "e2e0e3": "e2e0e3",
+ "9c293a": "9c293a"
+ },
+ "2": {
+ "84738c": "101028",
+ "ffffff": "5c8d95",
+ "ced6d6": "38576c",
+ "a59cad": "223657",
+ "192129": "43343c",
+ "4a4a52": "f8faf3",
+ "000000": "000000",
+ "a55a4a": "613762",
+ "f79c84": "844d76",
+ "841021": "fe8d53",
+ "31313a": "b3a5a2",
+ "ada5b3": "101028",
+ "632910": "3f2440",
+ "f8f9ff": "223657",
+ "e2e0e3": "e2e0e3",
+ "9c293a": "9c293a"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/female/232.json b/public/images/pokemon/variant/female/232.json
new file mode 100644
index 00000000000..cb8ad1e06ff
--- /dev/null
+++ b/public/images/pokemon/variant/female/232.json
@@ -0,0 +1,44 @@
+{
+ "1": {
+ "101010": "101010",
+ "6b7373": "7fa0d7",
+ "4a5252": "5f74c7",
+ "3a3a3a": "333a77",
+ "849494": "b0d8ff",
+ "842129": "c8563f",
+ "c54210": "db8160",
+ "9ca5a5": "9ca3b5",
+ "d6ded6": "f4f4f4",
+ "3a3737": "444b5e",
+ "738484": "6c7488",
+ "f9f9f9": "f9f9f9",
+ "d6d6d6": "d6d6d6",
+ "bdc5c5": "cdd1dc",
+ "707f7f": "b6511d",
+ "424242": "7a330e",
+ "dedede": "edbb5e",
+ "bdbdbd": "de913e",
+ "ffffff": "f2db98"
+ },
+ "2": {
+ "101010": "101010",
+ "6b7373": "d17e47",
+ "4a5252": "994e30",
+ "3a3a3a": "6f2219",
+ "849494": "f4b975",
+ "842129": "1d2a54",
+ "c54210": "3b70c3",
+ "9ca5a5": "3c283f",
+ "d6ded6": "665263",
+ "3a3737": "2c1f2e",
+ "738484": "1e1225",
+ "f9f9f9": "f9f9f9",
+ "d6d6d6": "d6d6d6",
+ "bdc5c5": "584158",
+ "707f7f": "1d2a54",
+ "424242": "12123a",
+ "dedede": "69a2d9",
+ "bdbdbd": "3b70c3",
+ "ffffff": "92c3e9"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/female/369.json b/public/images/pokemon/variant/female/369.json
new file mode 100644
index 00000000000..1c2750e0d0f
--- /dev/null
+++ b/public/images/pokemon/variant/female/369.json
@@ -0,0 +1,36 @@
+{
+ "1": {
+ "6b5242": "1e2432",
+ "efcea5": "757e99",
+ "ceb594": "4b5368",
+ "52423a": "52423a",
+ "000000": "000000",
+ "524242": "91743c",
+ "b59c9c": "fcef8e",
+ "9c847b": "e0cc66",
+ "8c734a": "31384a",
+ "3a2929": "644c2b",
+ "b5946b": "31384a",
+ "ffefce": "aab1c6",
+ "7b6b63": "bd9c4f",
+ "ef4a73": "4ecdab",
+ "ce4231": "5761ac"
+ },
+ "2": {
+ "6b5242": "3a421e",
+ "efcea5": "96a558",
+ "ceb594": "758745",
+ "52423a": "52423a",
+ "000000": "000000",
+ "524242": "32214a",
+ "b59c9c": "6954a2",
+ "9c847b": "543d7d",
+ "8c734a": "656d39",
+ "3a2929": "231934",
+ "b5946b": "575e2e",
+ "ffefce": "b6c174",
+ "7b6b63": "412e63",
+ "ef4a73": "f85590",
+ "ce4231": "584a95"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/female/401.json b/public/images/pokemon/variant/female/401.json
new file mode 100644
index 00000000000..eea4306d842
--- /dev/null
+++ b/public/images/pokemon/variant/female/401.json
@@ -0,0 +1,34 @@
+{
+ "1": {
+ "524a42": "cf8439",
+ "9c9c94": "ffeea0",
+ "7b7363": "f6bb47",
+ "101010": "101010",
+ "8c6b08": "272344",
+ "ffefad": "56769d",
+ "e6c56b": "454389",
+ "945219": "973939",
+ "5a2100": "272344",
+ "6b4221": "541b23",
+ "e66b63": "afd3df",
+ "b54a3a": "498ebe",
+ "fff2be": "fff9e3",
+ "f3d277": "ff7e7e"
+ },
+ "2": {
+ "524a42": "453565",
+ "9c9c94": "ae85ba",
+ "7b7363": "71558c",
+ "101010": "101010",
+ "8c6b08": "784341",
+ "ffefad": "ffd47c",
+ "e6c56b": "e59a75",
+ "945219": "b5567a",
+ "5a2100": "2a545f",
+ "6b4221": "853360",
+ "e66b63": "70af85",
+ "b54a3a": "2f9378",
+ "fff2be": "fff2be",
+ "f3d277": "ffd8ed"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/female/402_2.json b/public/images/pokemon/variant/female/402_2.json
new file mode 100644
index 00000000000..da38f255c5f
--- /dev/null
+++ b/public/images/pokemon/variant/female/402_2.json
@@ -0,0 +1,2540 @@
+{
+ "textures": [
+ {
+ "image": "402_2.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 369,
+ "h": 369
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 62
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 67,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 62
+ },
+ "frame": {
+ "x": 67,
+ "y": 0,
+ "w": 67,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 66,
+ "h": 62
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 66,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 66,
+ "h": 62
+ },
+ "frame": {
+ "x": 200,
+ "y": 0,
+ "w": 66,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 66,
+ "h": 62
+ },
+ "frame": {
+ "x": 200,
+ "y": 0,
+ "w": 66,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 66,
+ "h": 62
+ },
+ "frame": {
+ "x": 266,
+ "y": 0,
+ "w": 66,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 67,
+ "h": 61
+ },
+ "frame": {
+ "x": 0,
+ "y": 62,
+ "w": 67,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 67,
+ "h": 61
+ },
+ "frame": {
+ "x": 0,
+ "y": 62,
+ "w": 67,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 67,
+ "h": 61
+ },
+ "frame": {
+ "x": 0,
+ "y": 62,
+ "w": 67,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 67,
+ "h": 61
+ },
+ "frame": {
+ "x": 0,
+ "y": 62,
+ "w": 67,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 67,
+ "h": 61
+ },
+ "frame": {
+ "x": 0,
+ "y": 62,
+ "w": 67,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 67,
+ "h": 61
+ },
+ "frame": {
+ "x": 0,
+ "y": 62,
+ "w": 67,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 67,
+ "h": 61
+ },
+ "frame": {
+ "x": 0,
+ "y": 62,
+ "w": 67,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 67,
+ "h": 61
+ },
+ "frame": {
+ "x": 0,
+ "y": 62,
+ "w": 67,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 67,
+ "h": 61
+ },
+ "frame": {
+ "x": 0,
+ "y": 123,
+ "w": 67,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 67,
+ "h": 61
+ },
+ "frame": {
+ "x": 0,
+ "y": 123,
+ "w": 67,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 65,
+ "h": 62
+ },
+ "frame": {
+ "x": 0,
+ "y": 184,
+ "w": 65,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 65,
+ "h": 62
+ },
+ "frame": {
+ "x": 0,
+ "y": 246,
+ "w": 65,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 65,
+ "h": 61
+ },
+ "frame": {
+ "x": 0,
+ "y": 308,
+ "w": 65,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 65,
+ "h": 61
+ },
+ "frame": {
+ "x": 0,
+ "y": 308,
+ "w": 65,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 65,
+ "h": 61
+ },
+ "frame": {
+ "x": 0,
+ "y": 308,
+ "w": 65,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 65,
+ "h": 61
+ },
+ "frame": {
+ "x": 0,
+ "y": 308,
+ "w": 65,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 65,
+ "h": 61
+ },
+ "frame": {
+ "x": 0,
+ "y": 308,
+ "w": 65,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 65,
+ "h": 61
+ },
+ "frame": {
+ "x": 0,
+ "y": 308,
+ "w": 65,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 65,
+ "h": 61
+ },
+ "frame": {
+ "x": 0,
+ "y": 308,
+ "w": 65,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 65,
+ "h": 61
+ },
+ "frame": {
+ "x": 0,
+ "y": 308,
+ "w": 65,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 2,
+ "w": 64,
+ "h": 62
+ },
+ "frame": {
+ "x": 65,
+ "y": 184,
+ "w": 64,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 2,
+ "w": 64,
+ "h": 62
+ },
+ "frame": {
+ "x": 67,
+ "y": 62,
+ "w": 64,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 62,
+ "h": 60
+ },
+ "frame": {
+ "x": 67,
+ "y": 124,
+ "w": 62,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 62,
+ "h": 60
+ },
+ "frame": {
+ "x": 67,
+ "y": 124,
+ "w": 62,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 62,
+ "h": 60
+ },
+ "frame": {
+ "x": 67,
+ "y": 124,
+ "w": 62,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 62,
+ "h": 60
+ },
+ "frame": {
+ "x": 67,
+ "y": 124,
+ "w": 62,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 62,
+ "h": 60
+ },
+ "frame": {
+ "x": 67,
+ "y": 124,
+ "w": 62,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 62,
+ "h": 60
+ },
+ "frame": {
+ "x": 67,
+ "y": 124,
+ "w": 62,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 62,
+ "h": 60
+ },
+ "frame": {
+ "x": 67,
+ "y": 124,
+ "w": 62,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 62,
+ "h": 60
+ },
+ "frame": {
+ "x": 67,
+ "y": 124,
+ "w": 62,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 65,
+ "h": 61
+ },
+ "frame": {
+ "x": 65,
+ "y": 246,
+ "w": 65,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 65,
+ "h": 61
+ },
+ "frame": {
+ "x": 65,
+ "y": 246,
+ "w": 65,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 64,
+ "h": 61
+ },
+ "frame": {
+ "x": 65,
+ "y": 307,
+ "w": 64,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 64,
+ "h": 61
+ },
+ "frame": {
+ "x": 65,
+ "y": 307,
+ "w": 64,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 64,
+ "h": 61
+ },
+ "frame": {
+ "x": 65,
+ "y": 307,
+ "w": 64,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 64,
+ "h": 61
+ },
+ "frame": {
+ "x": 65,
+ "y": 307,
+ "w": 64,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 64,
+ "h": 61
+ },
+ "frame": {
+ "x": 65,
+ "y": 307,
+ "w": 64,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 64,
+ "h": 61
+ },
+ "frame": {
+ "x": 65,
+ "y": 307,
+ "w": 64,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 64,
+ "h": 61
+ },
+ "frame": {
+ "x": 65,
+ "y": 307,
+ "w": 64,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 64,
+ "h": 61
+ },
+ "frame": {
+ "x": 65,
+ "y": 307,
+ "w": 64,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 3,
+ "w": 62,
+ "h": 62
+ },
+ "frame": {
+ "x": 129,
+ "y": 307,
+ "w": 62,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 3,
+ "w": 62,
+ "h": 62
+ },
+ "frame": {
+ "x": 129,
+ "y": 124,
+ "w": 62,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 62,
+ "h": 60
+ },
+ "frame": {
+ "x": 129,
+ "y": 186,
+ "w": 62,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 62,
+ "h": 60
+ },
+ "frame": {
+ "x": 129,
+ "y": 186,
+ "w": 62,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 4,
+ "w": 63,
+ "h": 61
+ },
+ "frame": {
+ "x": 130,
+ "y": 246,
+ "w": 63,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 4,
+ "w": 63,
+ "h": 61
+ },
+ "frame": {
+ "x": 191,
+ "y": 307,
+ "w": 63,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 0,
+ "w": 62,
+ "h": 61
+ },
+ "frame": {
+ "x": 131,
+ "y": 62,
+ "w": 62,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 0,
+ "w": 62,
+ "h": 61
+ },
+ "frame": {
+ "x": 191,
+ "y": 123,
+ "w": 62,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 62,
+ "h": 61
+ },
+ "frame": {
+ "x": 193,
+ "y": 62,
+ "w": 62,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 62,
+ "h": 61
+ },
+ "frame": {
+ "x": 191,
+ "y": 184,
+ "w": 62,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 60,
+ "h": 60
+ },
+ "frame": {
+ "x": 193,
+ "y": 245,
+ "w": 60,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 60,
+ "h": 60
+ },
+ "frame": {
+ "x": 193,
+ "y": 245,
+ "w": 60,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 60,
+ "h": 60
+ },
+ "frame": {
+ "x": 193,
+ "y": 245,
+ "w": 60,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 60,
+ "h": 60
+ },
+ "frame": {
+ "x": 193,
+ "y": 245,
+ "w": 60,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 60,
+ "h": 60
+ },
+ "frame": {
+ "x": 193,
+ "y": 245,
+ "w": 60,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 60,
+ "h": 60
+ },
+ "frame": {
+ "x": 193,
+ "y": 245,
+ "w": 60,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 60,
+ "h": 60
+ },
+ "frame": {
+ "x": 193,
+ "y": 245,
+ "w": 60,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 60,
+ "h": 60
+ },
+ "frame": {
+ "x": 193,
+ "y": 245,
+ "w": 60,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 60,
+ "h": 60
+ },
+ "frame": {
+ "x": 253,
+ "y": 123,
+ "w": 60,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 60,
+ "h": 60
+ },
+ "frame": {
+ "x": 253,
+ "y": 123,
+ "w": 60,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 6,
+ "w": 57,
+ "h": 59
+ },
+ "frame": {
+ "x": 255,
+ "y": 62,
+ "w": 57,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 6,
+ "w": 57,
+ "h": 59
+ },
+ "frame": {
+ "x": 255,
+ "y": 62,
+ "w": 57,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 6,
+ "w": 57,
+ "h": 59
+ },
+ "frame": {
+ "x": 255,
+ "y": 62,
+ "w": 57,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 6,
+ "w": 57,
+ "h": 59
+ },
+ "frame": {
+ "x": 255,
+ "y": 62,
+ "w": 57,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 6,
+ "w": 57,
+ "h": 59
+ },
+ "frame": {
+ "x": 255,
+ "y": 62,
+ "w": 57,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 6,
+ "w": 57,
+ "h": 59
+ },
+ "frame": {
+ "x": 255,
+ "y": 62,
+ "w": 57,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 6,
+ "w": 57,
+ "h": 59
+ },
+ "frame": {
+ "x": 255,
+ "y": 62,
+ "w": 57,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 6,
+ "w": 57,
+ "h": 59
+ },
+ "frame": {
+ "x": 255,
+ "y": 62,
+ "w": 57,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 6,
+ "w": 57,
+ "h": 59
+ },
+ "frame": {
+ "x": 312,
+ "y": 62,
+ "w": 57,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 6,
+ "w": 57,
+ "h": 59
+ },
+ "frame": {
+ "x": 312,
+ "y": 62,
+ "w": 57,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 3,
+ "w": 58,
+ "h": 62
+ },
+ "frame": {
+ "x": 253,
+ "y": 183,
+ "w": 58,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 3,
+ "w": 58,
+ "h": 62
+ },
+ "frame": {
+ "x": 253,
+ "y": 245,
+ "w": 58,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 0,
+ "w": 58,
+ "h": 62
+ },
+ "frame": {
+ "x": 253,
+ "y": 245,
+ "w": 58,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 0,
+ "w": 58,
+ "h": 62
+ },
+ "frame": {
+ "x": 254,
+ "y": 307,
+ "w": 58,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 7,
+ "w": 57,
+ "h": 58
+ },
+ "frame": {
+ "x": 311,
+ "y": 183,
+ "w": 57,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 7,
+ "w": 57,
+ "h": 58
+ },
+ "frame": {
+ "x": 311,
+ "y": 183,
+ "w": 57,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 7,
+ "w": 57,
+ "h": 58
+ },
+ "frame": {
+ "x": 311,
+ "y": 183,
+ "w": 57,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 7,
+ "w": 57,
+ "h": 58
+ },
+ "frame": {
+ "x": 311,
+ "y": 183,
+ "w": 57,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 7,
+ "w": 57,
+ "h": 58
+ },
+ "frame": {
+ "x": 311,
+ "y": 183,
+ "w": 57,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 7,
+ "w": 57,
+ "h": 58
+ },
+ "frame": {
+ "x": 311,
+ "y": 183,
+ "w": 57,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 7,
+ "w": 57,
+ "h": 58
+ },
+ "frame": {
+ "x": 311,
+ "y": 183,
+ "w": 57,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 7,
+ "w": 57,
+ "h": 58
+ },
+ "frame": {
+ "x": 311,
+ "y": 183,
+ "w": 57,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 7,
+ "w": 57,
+ "h": 58
+ },
+ "frame": {
+ "x": 311,
+ "y": 241,
+ "w": 57,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 7,
+ "w": 57,
+ "h": 58
+ },
+ "frame": {
+ "x": 311,
+ "y": 241,
+ "w": 57,
+ "h": 58
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:47d8284e73253a6224beed05d4b5f827:4aa6b19aaa8c87669b50a99a19c4dedd:0b3a2ea16d7ed47c8c9d8c5993d994c2$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/female/402_2.png b/public/images/pokemon/variant/female/402_2.png
new file mode 100644
index 00000000000..3ce28cc787a
Binary files /dev/null and b/public/images/pokemon/variant/female/402_2.png differ
diff --git a/public/images/pokemon/variant/female/402_3.json b/public/images/pokemon/variant/female/402_3.json
new file mode 100644
index 00000000000..a6c27c1422b
--- /dev/null
+++ b/public/images/pokemon/variant/female/402_3.json
@@ -0,0 +1,2540 @@
+{
+ "textures": [
+ {
+ "image": "402_3.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 369,
+ "h": 369
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0093.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 62
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 67,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0094.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 67,
+ "h": 62
+ },
+ "frame": {
+ "x": 67,
+ "y": 0,
+ "w": 67,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0091.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 66,
+ "h": 62
+ },
+ "frame": {
+ "x": 134,
+ "y": 0,
+ "w": 66,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0092.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 66,
+ "h": 62
+ },
+ "frame": {
+ "x": 200,
+ "y": 0,
+ "w": 66,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0112.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 66,
+ "h": 62
+ },
+ "frame": {
+ "x": 200,
+ "y": 0,
+ "w": 66,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0111.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 3,
+ "w": 66,
+ "h": 62
+ },
+ "frame": {
+ "x": 266,
+ "y": 0,
+ "w": 66,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0013.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 67,
+ "h": 61
+ },
+ "frame": {
+ "x": 0,
+ "y": 62,
+ "w": 67,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0014.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 67,
+ "h": 61
+ },
+ "frame": {
+ "x": 0,
+ "y": 62,
+ "w": 67,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0033.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 67,
+ "h": 61
+ },
+ "frame": {
+ "x": 0,
+ "y": 62,
+ "w": 67,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0034.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 67,
+ "h": 61
+ },
+ "frame": {
+ "x": 0,
+ "y": 62,
+ "w": 67,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0053.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 67,
+ "h": 61
+ },
+ "frame": {
+ "x": 0,
+ "y": 62,
+ "w": 67,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0054.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 67,
+ "h": 61
+ },
+ "frame": {
+ "x": 0,
+ "y": 62,
+ "w": 67,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0073.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 67,
+ "h": 61
+ },
+ "frame": {
+ "x": 0,
+ "y": 62,
+ "w": 67,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0074.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 67,
+ "h": 61
+ },
+ "frame": {
+ "x": 0,
+ "y": 62,
+ "w": 67,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0113.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 67,
+ "h": 61
+ },
+ "frame": {
+ "x": 0,
+ "y": 123,
+ "w": 67,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0114.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 67,
+ "h": 61
+ },
+ "frame": {
+ "x": 0,
+ "y": 123,
+ "w": 67,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0109.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 65,
+ "h": 62
+ },
+ "frame": {
+ "x": 0,
+ "y": 184,
+ "w": 65,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0110.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 0,
+ "w": 65,
+ "h": 62
+ },
+ "frame": {
+ "x": 0,
+ "y": 246,
+ "w": 65,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0009.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 65,
+ "h": 61
+ },
+ "frame": {
+ "x": 0,
+ "y": 308,
+ "w": 65,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0010.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 65,
+ "h": 61
+ },
+ "frame": {
+ "x": 0,
+ "y": 308,
+ "w": 65,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0029.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 65,
+ "h": 61
+ },
+ "frame": {
+ "x": 0,
+ "y": 308,
+ "w": 65,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0030.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 65,
+ "h": 61
+ },
+ "frame": {
+ "x": 0,
+ "y": 308,
+ "w": 65,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0049.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 65,
+ "h": 61
+ },
+ "frame": {
+ "x": 0,
+ "y": 308,
+ "w": 65,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0050.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 65,
+ "h": 61
+ },
+ "frame": {
+ "x": 0,
+ "y": 308,
+ "w": 65,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0069.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 65,
+ "h": 61
+ },
+ "frame": {
+ "x": 0,
+ "y": 308,
+ "w": 65,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0070.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 65,
+ "h": 61
+ },
+ "frame": {
+ "x": 0,
+ "y": 308,
+ "w": 65,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0101.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 2,
+ "w": 64,
+ "h": 62
+ },
+ "frame": {
+ "x": 65,
+ "y": 184,
+ "w": 64,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0102.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 2,
+ "w": 64,
+ "h": 62
+ },
+ "frame": {
+ "x": 67,
+ "y": 62,
+ "w": 64,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0015.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 62,
+ "h": 60
+ },
+ "frame": {
+ "x": 67,
+ "y": 124,
+ "w": 62,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0016.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 62,
+ "h": 60
+ },
+ "frame": {
+ "x": 67,
+ "y": 124,
+ "w": 62,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0035.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 62,
+ "h": 60
+ },
+ "frame": {
+ "x": 67,
+ "y": 124,
+ "w": 62,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0036.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 62,
+ "h": 60
+ },
+ "frame": {
+ "x": 67,
+ "y": 124,
+ "w": 62,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0055.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 62,
+ "h": 60
+ },
+ "frame": {
+ "x": 67,
+ "y": 124,
+ "w": 62,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0056.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 62,
+ "h": 60
+ },
+ "frame": {
+ "x": 67,
+ "y": 124,
+ "w": 62,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0075.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 62,
+ "h": 60
+ },
+ "frame": {
+ "x": 67,
+ "y": 124,
+ "w": 62,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0076.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 62,
+ "h": 60
+ },
+ "frame": {
+ "x": 67,
+ "y": 124,
+ "w": 62,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0089.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 65,
+ "h": 61
+ },
+ "frame": {
+ "x": 65,
+ "y": 246,
+ "w": 65,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0090.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 4,
+ "w": 65,
+ "h": 61
+ },
+ "frame": {
+ "x": 65,
+ "y": 246,
+ "w": 65,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0011.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 64,
+ "h": 61
+ },
+ "frame": {
+ "x": 65,
+ "y": 307,
+ "w": 64,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0012.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 64,
+ "h": 61
+ },
+ "frame": {
+ "x": 65,
+ "y": 307,
+ "w": 64,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0031.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 64,
+ "h": 61
+ },
+ "frame": {
+ "x": 65,
+ "y": 307,
+ "w": 64,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0032.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 64,
+ "h": 61
+ },
+ "frame": {
+ "x": 65,
+ "y": 307,
+ "w": 64,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0051.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 64,
+ "h": 61
+ },
+ "frame": {
+ "x": 65,
+ "y": 307,
+ "w": 64,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0052.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 64,
+ "h": 61
+ },
+ "frame": {
+ "x": 65,
+ "y": 307,
+ "w": 64,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0071.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 64,
+ "h": 61
+ },
+ "frame": {
+ "x": 65,
+ "y": 307,
+ "w": 64,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0072.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 4,
+ "w": 64,
+ "h": 61
+ },
+ "frame": {
+ "x": 65,
+ "y": 307,
+ "w": 64,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0095.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 3,
+ "w": 62,
+ "h": 62
+ },
+ "frame": {
+ "x": 129,
+ "y": 307,
+ "w": 62,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0096.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 3,
+ "w": 62,
+ "h": 62
+ },
+ "frame": {
+ "x": 129,
+ "y": 124,
+ "w": 62,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0115.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 62,
+ "h": 60
+ },
+ "frame": {
+ "x": 129,
+ "y": 186,
+ "w": 62,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0116.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 62,
+ "h": 60
+ },
+ "frame": {
+ "x": 129,
+ "y": 186,
+ "w": 62,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0097.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 4,
+ "w": 63,
+ "h": 61
+ },
+ "frame": {
+ "x": 130,
+ "y": 246,
+ "w": 63,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0098.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 4,
+ "w": 63,
+ "h": 61
+ },
+ "frame": {
+ "x": 191,
+ "y": 307,
+ "w": 63,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0105.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 0,
+ "w": 62,
+ "h": 61
+ },
+ "frame": {
+ "x": 131,
+ "y": 62,
+ "w": 62,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0106.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 0,
+ "w": 62,
+ "h": 61
+ },
+ "frame": {
+ "x": 191,
+ "y": 123,
+ "w": 62,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0107.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 62,
+ "h": 61
+ },
+ "frame": {
+ "x": 193,
+ "y": 62,
+ "w": 62,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0108.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 62,
+ "h": 61
+ },
+ "frame": {
+ "x": 191,
+ "y": 184,
+ "w": 62,
+ "h": 61
+ }
+ },
+ {
+ "filename": "0007.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 60,
+ "h": 60
+ },
+ "frame": {
+ "x": 193,
+ "y": 245,
+ "w": 60,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0008.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 60,
+ "h": 60
+ },
+ "frame": {
+ "x": 193,
+ "y": 245,
+ "w": 60,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0027.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 60,
+ "h": 60
+ },
+ "frame": {
+ "x": 193,
+ "y": 245,
+ "w": 60,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0028.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 60,
+ "h": 60
+ },
+ "frame": {
+ "x": 193,
+ "y": 245,
+ "w": 60,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0047.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 60,
+ "h": 60
+ },
+ "frame": {
+ "x": 193,
+ "y": 245,
+ "w": 60,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0048.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 60,
+ "h": 60
+ },
+ "frame": {
+ "x": 193,
+ "y": 245,
+ "w": 60,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0067.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 60,
+ "h": 60
+ },
+ "frame": {
+ "x": 193,
+ "y": 245,
+ "w": 60,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0068.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 60,
+ "h": 60
+ },
+ "frame": {
+ "x": 193,
+ "y": 245,
+ "w": 60,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0087.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 60,
+ "h": 60
+ },
+ "frame": {
+ "x": 253,
+ "y": 123,
+ "w": 60,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0088.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 60,
+ "h": 60
+ },
+ "frame": {
+ "x": 253,
+ "y": 123,
+ "w": 60,
+ "h": 60
+ }
+ },
+ {
+ "filename": "0005.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 6,
+ "w": 57,
+ "h": 59
+ },
+ "frame": {
+ "x": 255,
+ "y": 62,
+ "w": 57,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0006.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 6,
+ "w": 57,
+ "h": 59
+ },
+ "frame": {
+ "x": 255,
+ "y": 62,
+ "w": 57,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0025.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 6,
+ "w": 57,
+ "h": 59
+ },
+ "frame": {
+ "x": 255,
+ "y": 62,
+ "w": 57,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0026.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 6,
+ "w": 57,
+ "h": 59
+ },
+ "frame": {
+ "x": 255,
+ "y": 62,
+ "w": 57,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0045.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 6,
+ "w": 57,
+ "h": 59
+ },
+ "frame": {
+ "x": 255,
+ "y": 62,
+ "w": 57,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0046.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 6,
+ "w": 57,
+ "h": 59
+ },
+ "frame": {
+ "x": 255,
+ "y": 62,
+ "w": 57,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0065.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 6,
+ "w": 57,
+ "h": 59
+ },
+ "frame": {
+ "x": 255,
+ "y": 62,
+ "w": 57,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0066.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 6,
+ "w": 57,
+ "h": 59
+ },
+ "frame": {
+ "x": 255,
+ "y": 62,
+ "w": 57,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0085.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 6,
+ "w": 57,
+ "h": 59
+ },
+ "frame": {
+ "x": 312,
+ "y": 62,
+ "w": 57,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0086.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 6,
+ "w": 57,
+ "h": 59
+ },
+ "frame": {
+ "x": 312,
+ "y": 62,
+ "w": 57,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0099.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 3,
+ "w": 58,
+ "h": 62
+ },
+ "frame": {
+ "x": 253,
+ "y": 183,
+ "w": 58,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0100.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 3,
+ "w": 58,
+ "h": 62
+ },
+ "frame": {
+ "x": 253,
+ "y": 245,
+ "w": 58,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0104.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 0,
+ "w": 58,
+ "h": 62
+ },
+ "frame": {
+ "x": 253,
+ "y": 245,
+ "w": 58,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0103.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 0,
+ "w": 58,
+ "h": 62
+ },
+ "frame": {
+ "x": 254,
+ "y": 307,
+ "w": 58,
+ "h": 62
+ }
+ },
+ {
+ "filename": "0017.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 7,
+ "w": 57,
+ "h": 58
+ },
+ "frame": {
+ "x": 311,
+ "y": 183,
+ "w": 57,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0018.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 7,
+ "w": 57,
+ "h": 58
+ },
+ "frame": {
+ "x": 311,
+ "y": 183,
+ "w": 57,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0037.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 7,
+ "w": 57,
+ "h": 58
+ },
+ "frame": {
+ "x": 311,
+ "y": 183,
+ "w": 57,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0038.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 7,
+ "w": 57,
+ "h": 58
+ },
+ "frame": {
+ "x": 311,
+ "y": 183,
+ "w": 57,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0057.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 7,
+ "w": 57,
+ "h": 58
+ },
+ "frame": {
+ "x": 311,
+ "y": 183,
+ "w": 57,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0058.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 7,
+ "w": 57,
+ "h": 58
+ },
+ "frame": {
+ "x": 311,
+ "y": 183,
+ "w": 57,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0077.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 7,
+ "w": 57,
+ "h": 58
+ },
+ "frame": {
+ "x": 311,
+ "y": 183,
+ "w": 57,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0078.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 7,
+ "w": 57,
+ "h": 58
+ },
+ "frame": {
+ "x": 311,
+ "y": 183,
+ "w": 57,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0002.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0003.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0004.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0019.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0020.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0021.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0022.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0023.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0024.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0039.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0040.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0041.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0042.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0043.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0044.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0059.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0060.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0061.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0062.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0063.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0064.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0079.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0080.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0081.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0082.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0083.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0084.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0119.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0120.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 52,
+ "h": 59
+ },
+ "frame": {
+ "x": 313,
+ "y": 121,
+ "w": 52,
+ "h": 59
+ }
+ },
+ {
+ "filename": "0117.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 7,
+ "w": 57,
+ "h": 58
+ },
+ "frame": {
+ "x": 311,
+ "y": 241,
+ "w": 57,
+ "h": 58
+ }
+ },
+ {
+ "filename": "0118.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 69,
+ "h": 65
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 7,
+ "w": 57,
+ "h": 58
+ },
+ "frame": {
+ "x": 311,
+ "y": 241,
+ "w": 57,
+ "h": 58
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:47d8284e73253a6224beed05d4b5f827:4aa6b19aaa8c87669b50a99a19c4dedd:0b3a2ea16d7ed47c8c9d8c5993d994c2$"
+ }
+}
\ No newline at end of file
diff --git a/public/images/pokemon/variant/female/402_3.png b/public/images/pokemon/variant/female/402_3.png
new file mode 100644
index 00000000000..a34ef79b0ff
Binary files /dev/null and b/public/images/pokemon/variant/female/402_3.png differ
diff --git a/public/images/pokemon/variant/icons/1/113_1.png b/public/images/pokemon/variant/icons/1/113_1.png
deleted file mode 100644
index 36b1728fda4..00000000000
Binary files a/public/images/pokemon/variant/icons/1/113_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/113_2.png b/public/images/pokemon/variant/icons/1/113_2.png
deleted file mode 100644
index c954640e755..00000000000
Binary files a/public/images/pokemon/variant/icons/1/113_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/113_3.png b/public/images/pokemon/variant/icons/1/113_3.png
deleted file mode 100644
index 536e0686905..00000000000
Binary files a/public/images/pokemon/variant/icons/1/113_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/118_2.png b/public/images/pokemon/variant/icons/1/118_2.png
deleted file mode 100644
index 4a04afddbba..00000000000
Binary files a/public/images/pokemon/variant/icons/1/118_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/118_3.png b/public/images/pokemon/variant/icons/1/118_3.png
deleted file mode 100644
index a1e0173d2d7..00000000000
Binary files a/public/images/pokemon/variant/icons/1/118_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/119_1.png b/public/images/pokemon/variant/icons/1/119_1.png
deleted file mode 100644
index abc2f0727ae..00000000000
Binary files a/public/images/pokemon/variant/icons/1/119_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/119_2.png b/public/images/pokemon/variant/icons/1/119_2.png
deleted file mode 100644
index 37d8dee0fd6..00000000000
Binary files a/public/images/pokemon/variant/icons/1/119_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/119_3.png b/public/images/pokemon/variant/icons/1/119_3.png
deleted file mode 100644
index e71c46a0291..00000000000
Binary files a/public/images/pokemon/variant/icons/1/119_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/123_1.png b/public/images/pokemon/variant/icons/1/123_1.png
deleted file mode 100644
index 0bc5a3f6872..00000000000
Binary files a/public/images/pokemon/variant/icons/1/123_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/123_2.png b/public/images/pokemon/variant/icons/1/123_2.png
deleted file mode 100644
index 08df4b1b366..00000000000
Binary files a/public/images/pokemon/variant/icons/1/123_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/123_3.png b/public/images/pokemon/variant/icons/1/123_3.png
deleted file mode 100644
index 95533340fad..00000000000
Binary files a/public/images/pokemon/variant/icons/1/123_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/125_1.png b/public/images/pokemon/variant/icons/1/125_1.png
deleted file mode 100644
index 61f088c7401..00000000000
Binary files a/public/images/pokemon/variant/icons/1/125_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/125_2.png b/public/images/pokemon/variant/icons/1/125_2.png
deleted file mode 100644
index 8cffc1df234..00000000000
Binary files a/public/images/pokemon/variant/icons/1/125_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/125_3.png b/public/images/pokemon/variant/icons/1/125_3.png
deleted file mode 100644
index bb67e1a08db..00000000000
Binary files a/public/images/pokemon/variant/icons/1/125_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/127-mega_2.png b/public/images/pokemon/variant/icons/1/127-mega_2.png
deleted file mode 100644
index a9f5e703d2c..00000000000
Binary files a/public/images/pokemon/variant/icons/1/127-mega_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/127-mega_3.png b/public/images/pokemon/variant/icons/1/127-mega_3.png
deleted file mode 100644
index 62b2992582d..00000000000
Binary files a/public/images/pokemon/variant/icons/1/127-mega_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/127_2.png b/public/images/pokemon/variant/icons/1/127_2.png
deleted file mode 100644
index 8b4a0c358e6..00000000000
Binary files a/public/images/pokemon/variant/icons/1/127_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/127_3.png b/public/images/pokemon/variant/icons/1/127_3.png
deleted file mode 100644
index 59390f17575..00000000000
Binary files a/public/images/pokemon/variant/icons/1/127_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/131-gigantamax_2.png b/public/images/pokemon/variant/icons/1/131-gigantamax_2.png
deleted file mode 100644
index 6032d52a1ad..00000000000
Binary files a/public/images/pokemon/variant/icons/1/131-gigantamax_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/131-gigantamax_3.png b/public/images/pokemon/variant/icons/1/131-gigantamax_3.png
deleted file mode 100644
index 229d6ae864e..00000000000
Binary files a/public/images/pokemon/variant/icons/1/131-gigantamax_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/131_2.png b/public/images/pokemon/variant/icons/1/131_2.png
deleted file mode 100644
index eb7dc097a35..00000000000
Binary files a/public/images/pokemon/variant/icons/1/131_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/131_3.png b/public/images/pokemon/variant/icons/1/131_3.png
deleted file mode 100644
index 6a2e2436e3f..00000000000
Binary files a/public/images/pokemon/variant/icons/1/131_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/133_2.png b/public/images/pokemon/variant/icons/1/133_2.png
deleted file mode 100644
index 7ab496699f7..00000000000
Binary files a/public/images/pokemon/variant/icons/1/133_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/133_3.png b/public/images/pokemon/variant/icons/1/133_3.png
deleted file mode 100644
index f999dd0fff7..00000000000
Binary files a/public/images/pokemon/variant/icons/1/133_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/134_2.png b/public/images/pokemon/variant/icons/1/134_2.png
deleted file mode 100644
index 9cffe29a5e9..00000000000
Binary files a/public/images/pokemon/variant/icons/1/134_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/134_3.png b/public/images/pokemon/variant/icons/1/134_3.png
deleted file mode 100644
index 5c1c1384110..00000000000
Binary files a/public/images/pokemon/variant/icons/1/134_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/135_1.png b/public/images/pokemon/variant/icons/1/135_1.png
deleted file mode 100644
index 259dca57c06..00000000000
Binary files a/public/images/pokemon/variant/icons/1/135_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/135_2.png b/public/images/pokemon/variant/icons/1/135_2.png
deleted file mode 100644
index 3b8b864196b..00000000000
Binary files a/public/images/pokemon/variant/icons/1/135_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/135_3.png b/public/images/pokemon/variant/icons/1/135_3.png
deleted file mode 100644
index f7f98152dfe..00000000000
Binary files a/public/images/pokemon/variant/icons/1/135_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/136_1.png b/public/images/pokemon/variant/icons/1/136_1.png
deleted file mode 100644
index bbf577e442e..00000000000
Binary files a/public/images/pokemon/variant/icons/1/136_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/136_2.png b/public/images/pokemon/variant/icons/1/136_2.png
deleted file mode 100644
index 78c6844c47c..00000000000
Binary files a/public/images/pokemon/variant/icons/1/136_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/136_3.png b/public/images/pokemon/variant/icons/1/136_3.png
deleted file mode 100644
index fc5c63dc0a2..00000000000
Binary files a/public/images/pokemon/variant/icons/1/136_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/138_2.png b/public/images/pokemon/variant/icons/1/138_2.png
deleted file mode 100644
index 4ebcad71b93..00000000000
Binary files a/public/images/pokemon/variant/icons/1/138_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/138_3.png b/public/images/pokemon/variant/icons/1/138_3.png
deleted file mode 100644
index d66ea50a627..00000000000
Binary files a/public/images/pokemon/variant/icons/1/138_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/139_2.png b/public/images/pokemon/variant/icons/1/139_2.png
deleted file mode 100644
index f3934cbe1e9..00000000000
Binary files a/public/images/pokemon/variant/icons/1/139_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/139_3.png b/public/images/pokemon/variant/icons/1/139_3.png
deleted file mode 100644
index 58327e471f6..00000000000
Binary files a/public/images/pokemon/variant/icons/1/139_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/140_2.png b/public/images/pokemon/variant/icons/1/140_2.png
deleted file mode 100644
index c0c7c8b9c4c..00000000000
Binary files a/public/images/pokemon/variant/icons/1/140_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/140_3.png b/public/images/pokemon/variant/icons/1/140_3.png
deleted file mode 100644
index 1e2a3f740d9..00000000000
Binary files a/public/images/pokemon/variant/icons/1/140_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/141_2.png b/public/images/pokemon/variant/icons/1/141_2.png
deleted file mode 100644
index 351f2935fbf..00000000000
Binary files a/public/images/pokemon/variant/icons/1/141_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/141_3.png b/public/images/pokemon/variant/icons/1/141_3.png
deleted file mode 100644
index 512e4b8663a..00000000000
Binary files a/public/images/pokemon/variant/icons/1/141_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/142-mega_2.png b/public/images/pokemon/variant/icons/1/142-mega_2.png
deleted file mode 100644
index 692f5114dcb..00000000000
Binary files a/public/images/pokemon/variant/icons/1/142-mega_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/142-mega_3.png b/public/images/pokemon/variant/icons/1/142-mega_3.png
deleted file mode 100644
index 21d23365120..00000000000
Binary files a/public/images/pokemon/variant/icons/1/142-mega_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/142_2.png b/public/images/pokemon/variant/icons/1/142_2.png
deleted file mode 100644
index 521fdc7ee4b..00000000000
Binary files a/public/images/pokemon/variant/icons/1/142_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/142_3.png b/public/images/pokemon/variant/icons/1/142_3.png
deleted file mode 100644
index 5ed3a1fe4ff..00000000000
Binary files a/public/images/pokemon/variant/icons/1/142_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/144_1.png b/public/images/pokemon/variant/icons/1/144_1.png
deleted file mode 100644
index a67ae72dc05..00000000000
Binary files a/public/images/pokemon/variant/icons/1/144_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/144_2.png b/public/images/pokemon/variant/icons/1/144_2.png
deleted file mode 100644
index cb73a0f3b9f..00000000000
Binary files a/public/images/pokemon/variant/icons/1/144_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/144_3.png b/public/images/pokemon/variant/icons/1/144_3.png
deleted file mode 100644
index f330cdeb62e..00000000000
Binary files a/public/images/pokemon/variant/icons/1/144_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/145_1.png b/public/images/pokemon/variant/icons/1/145_1.png
deleted file mode 100644
index 8bf9b8c94fd..00000000000
Binary files a/public/images/pokemon/variant/icons/1/145_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/145_2.png b/public/images/pokemon/variant/icons/1/145_2.png
deleted file mode 100644
index 4fdadb9990b..00000000000
Binary files a/public/images/pokemon/variant/icons/1/145_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/145_3.png b/public/images/pokemon/variant/icons/1/145_3.png
deleted file mode 100644
index 07502c60e22..00000000000
Binary files a/public/images/pokemon/variant/icons/1/145_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/146_1.png b/public/images/pokemon/variant/icons/1/146_1.png
deleted file mode 100644
index e264b024ba9..00000000000
Binary files a/public/images/pokemon/variant/icons/1/146_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/146_2.png b/public/images/pokemon/variant/icons/1/146_2.png
deleted file mode 100644
index a6f78c0e917..00000000000
Binary files a/public/images/pokemon/variant/icons/1/146_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/146_3.png b/public/images/pokemon/variant/icons/1/146_3.png
deleted file mode 100644
index a0c4b9656bb..00000000000
Binary files a/public/images/pokemon/variant/icons/1/146_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/147_2.png b/public/images/pokemon/variant/icons/1/147_2.png
deleted file mode 100644
index 1f66a5f5e6c..00000000000
Binary files a/public/images/pokemon/variant/icons/1/147_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/147_3.png b/public/images/pokemon/variant/icons/1/147_3.png
deleted file mode 100644
index 9e61342b2c9..00000000000
Binary files a/public/images/pokemon/variant/icons/1/147_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/148_2.png b/public/images/pokemon/variant/icons/1/148_2.png
deleted file mode 100644
index 0b38dd92640..00000000000
Binary files a/public/images/pokemon/variant/icons/1/148_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/148_3.png b/public/images/pokemon/variant/icons/1/148_3.png
deleted file mode 100644
index e9be6110f95..00000000000
Binary files a/public/images/pokemon/variant/icons/1/148_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/149_2.png b/public/images/pokemon/variant/icons/1/149_2.png
deleted file mode 100644
index 5a0cab35949..00000000000
Binary files a/public/images/pokemon/variant/icons/1/149_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/149_3.png b/public/images/pokemon/variant/icons/1/149_3.png
deleted file mode 100644
index 3defe1c15fa..00000000000
Binary files a/public/images/pokemon/variant/icons/1/149_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/150_2.png b/public/images/pokemon/variant/icons/1/150_2.png
deleted file mode 100644
index f2fbe81988c..00000000000
Binary files a/public/images/pokemon/variant/icons/1/150_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/150_3.png b/public/images/pokemon/variant/icons/1/150_3.png
deleted file mode 100644
index 47742c993f4..00000000000
Binary files a/public/images/pokemon/variant/icons/1/150_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/151_2.png b/public/images/pokemon/variant/icons/1/151_2.png
deleted file mode 100644
index 63baee99844..00000000000
Binary files a/public/images/pokemon/variant/icons/1/151_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/151_3.png b/public/images/pokemon/variant/icons/1/151_3.png
deleted file mode 100644
index 1ba138538b4..00000000000
Binary files a/public/images/pokemon/variant/icons/1/151_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/1_2.png b/public/images/pokemon/variant/icons/1/1_2.png
deleted file mode 100644
index 03b966143a5..00000000000
Binary files a/public/images/pokemon/variant/icons/1/1_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/1_3.png b/public/images/pokemon/variant/icons/1/1_3.png
deleted file mode 100644
index 6fa0c416b34..00000000000
Binary files a/public/images/pokemon/variant/icons/1/1_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/29_2.png b/public/images/pokemon/variant/icons/1/29_2.png
deleted file mode 100644
index 12d66fb1579..00000000000
Binary files a/public/images/pokemon/variant/icons/1/29_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/29_3.png b/public/images/pokemon/variant/icons/1/29_3.png
deleted file mode 100644
index c5f1f4aae94..00000000000
Binary files a/public/images/pokemon/variant/icons/1/29_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/2_2.png b/public/images/pokemon/variant/icons/1/2_2.png
deleted file mode 100644
index f9fc69a4756..00000000000
Binary files a/public/images/pokemon/variant/icons/1/2_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/2_3.png b/public/images/pokemon/variant/icons/1/2_3.png
deleted file mode 100644
index 0ba316759b6..00000000000
Binary files a/public/images/pokemon/variant/icons/1/2_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/3-gigantamax_2.png b/public/images/pokemon/variant/icons/1/3-gigantamax_2.png
deleted file mode 100644
index 71db40e400e..00000000000
Binary files a/public/images/pokemon/variant/icons/1/3-gigantamax_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/3-gigantamax_3.png b/public/images/pokemon/variant/icons/1/3-gigantamax_3.png
deleted file mode 100644
index caa9477dfe2..00000000000
Binary files a/public/images/pokemon/variant/icons/1/3-gigantamax_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/3-mega_2.png b/public/images/pokemon/variant/icons/1/3-mega_2.png
deleted file mode 100644
index 33664417a54..00000000000
Binary files a/public/images/pokemon/variant/icons/1/3-mega_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/3-mega_3.png b/public/images/pokemon/variant/icons/1/3-mega_3.png
deleted file mode 100644
index 529740cfccc..00000000000
Binary files a/public/images/pokemon/variant/icons/1/3-mega_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/30_2.png b/public/images/pokemon/variant/icons/1/30_2.png
deleted file mode 100644
index 29e97832b44..00000000000
Binary files a/public/images/pokemon/variant/icons/1/30_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/30_3.png b/public/images/pokemon/variant/icons/1/30_3.png
deleted file mode 100644
index 5d292322fee..00000000000
Binary files a/public/images/pokemon/variant/icons/1/30_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/31_1.png b/public/images/pokemon/variant/icons/1/31_1.png
deleted file mode 100644
index 51ab04f75f6..00000000000
Binary files a/public/images/pokemon/variant/icons/1/31_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/31_2.png b/public/images/pokemon/variant/icons/1/31_2.png
deleted file mode 100644
index 709a6e7bbbf..00000000000
Binary files a/public/images/pokemon/variant/icons/1/31_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/31_3.png b/public/images/pokemon/variant/icons/1/31_3.png
deleted file mode 100644
index 020c42185e9..00000000000
Binary files a/public/images/pokemon/variant/icons/1/31_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/35_2.png b/public/images/pokemon/variant/icons/1/35_2.png
deleted file mode 100644
index 3a2914fcbf9..00000000000
Binary files a/public/images/pokemon/variant/icons/1/35_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/35_3.png b/public/images/pokemon/variant/icons/1/35_3.png
deleted file mode 100644
index e6f4fb4f527..00000000000
Binary files a/public/images/pokemon/variant/icons/1/35_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/36_2.png b/public/images/pokemon/variant/icons/1/36_2.png
deleted file mode 100644
index 47211bebbba..00000000000
Binary files a/public/images/pokemon/variant/icons/1/36_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/36_3.png b/public/images/pokemon/variant/icons/1/36_3.png
deleted file mode 100644
index 159deb7ac9c..00000000000
Binary files a/public/images/pokemon/variant/icons/1/36_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/3_2.png b/public/images/pokemon/variant/icons/1/3_2.png
deleted file mode 100644
index 42f3828a8f3..00000000000
Binary files a/public/images/pokemon/variant/icons/1/3_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/3_3.png b/public/images/pokemon/variant/icons/1/3_3.png
deleted file mode 100644
index dc29fbd74d4..00000000000
Binary files a/public/images/pokemon/variant/icons/1/3_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/41_1.png b/public/images/pokemon/variant/icons/1/41_1.png
deleted file mode 100644
index a5b99e23d6b..00000000000
Binary files a/public/images/pokemon/variant/icons/1/41_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/41_2.png b/public/images/pokemon/variant/icons/1/41_2.png
deleted file mode 100644
index c73a279ff4d..00000000000
Binary files a/public/images/pokemon/variant/icons/1/41_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/41_3.png b/public/images/pokemon/variant/icons/1/41_3.png
deleted file mode 100644
index e82afadc93d..00000000000
Binary files a/public/images/pokemon/variant/icons/1/41_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/42_1.png b/public/images/pokemon/variant/icons/1/42_1.png
deleted file mode 100644
index 713ff4dce46..00000000000
Binary files a/public/images/pokemon/variant/icons/1/42_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/42_2.png b/public/images/pokemon/variant/icons/1/42_2.png
deleted file mode 100644
index 2ecf6caa41e..00000000000
Binary files a/public/images/pokemon/variant/icons/1/42_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/42_3.png b/public/images/pokemon/variant/icons/1/42_3.png
deleted file mode 100644
index 7975ca4b1f6..00000000000
Binary files a/public/images/pokemon/variant/icons/1/42_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/46_1.png b/public/images/pokemon/variant/icons/1/46_1.png
deleted file mode 100644
index 6f29d16ed7d..00000000000
Binary files a/public/images/pokemon/variant/icons/1/46_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/46_2.png b/public/images/pokemon/variant/icons/1/46_2.png
deleted file mode 100644
index 45bd33c6230..00000000000
Binary files a/public/images/pokemon/variant/icons/1/46_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/46_3.png b/public/images/pokemon/variant/icons/1/46_3.png
deleted file mode 100644
index c2a0e958745..00000000000
Binary files a/public/images/pokemon/variant/icons/1/46_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/47_1.png b/public/images/pokemon/variant/icons/1/47_1.png
deleted file mode 100644
index 6dfafffe8de..00000000000
Binary files a/public/images/pokemon/variant/icons/1/47_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/47_2.png b/public/images/pokemon/variant/icons/1/47_2.png
deleted file mode 100644
index 193a3e786fb..00000000000
Binary files a/public/images/pokemon/variant/icons/1/47_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/47_3.png b/public/images/pokemon/variant/icons/1/47_3.png
deleted file mode 100644
index 6a19f28aab5..00000000000
Binary files a/public/images/pokemon/variant/icons/1/47_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/50_2.png b/public/images/pokemon/variant/icons/1/50_2.png
deleted file mode 100644
index f5d80fa0a98..00000000000
Binary files a/public/images/pokemon/variant/icons/1/50_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/50_3.png b/public/images/pokemon/variant/icons/1/50_3.png
deleted file mode 100644
index 05d01766e24..00000000000
Binary files a/public/images/pokemon/variant/icons/1/50_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/51_2.png b/public/images/pokemon/variant/icons/1/51_2.png
deleted file mode 100644
index 23a34ae4ca8..00000000000
Binary files a/public/images/pokemon/variant/icons/1/51_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/51_3.png b/public/images/pokemon/variant/icons/1/51_3.png
deleted file mode 100644
index 63a57aaa17e..00000000000
Binary files a/public/images/pokemon/variant/icons/1/51_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/52-gigantamax_1.png b/public/images/pokemon/variant/icons/1/52-gigantamax_1.png
deleted file mode 100644
index b5a46b1af7a..00000000000
Binary files a/public/images/pokemon/variant/icons/1/52-gigantamax_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/52-gigantamax_2.png b/public/images/pokemon/variant/icons/1/52-gigantamax_2.png
deleted file mode 100644
index 657f44d5b27..00000000000
Binary files a/public/images/pokemon/variant/icons/1/52-gigantamax_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/52-gigantamax_3.png b/public/images/pokemon/variant/icons/1/52-gigantamax_3.png
deleted file mode 100644
index a61ef7f1f3a..00000000000
Binary files a/public/images/pokemon/variant/icons/1/52-gigantamax_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/52_1.png b/public/images/pokemon/variant/icons/1/52_1.png
deleted file mode 100644
index b8fd1ea80c8..00000000000
Binary files a/public/images/pokemon/variant/icons/1/52_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/52_2.png b/public/images/pokemon/variant/icons/1/52_2.png
deleted file mode 100644
index 4ba9daced0a..00000000000
Binary files a/public/images/pokemon/variant/icons/1/52_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/52_3.png b/public/images/pokemon/variant/icons/1/52_3.png
deleted file mode 100644
index ed9e423096b..00000000000
Binary files a/public/images/pokemon/variant/icons/1/52_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/53_1.png b/public/images/pokemon/variant/icons/1/53_1.png
deleted file mode 100644
index bcd50545860..00000000000
Binary files a/public/images/pokemon/variant/icons/1/53_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/53_2.png b/public/images/pokemon/variant/icons/1/53_2.png
deleted file mode 100644
index 337b037b9c8..00000000000
Binary files a/public/images/pokemon/variant/icons/1/53_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/53_3.png b/public/images/pokemon/variant/icons/1/53_3.png
deleted file mode 100644
index 749bac6b911..00000000000
Binary files a/public/images/pokemon/variant/icons/1/53_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/69_2.png b/public/images/pokemon/variant/icons/1/69_2.png
deleted file mode 100644
index 6924dccf989..00000000000
Binary files a/public/images/pokemon/variant/icons/1/69_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/69_3.png b/public/images/pokemon/variant/icons/1/69_3.png
deleted file mode 100644
index 87b86a7cbeb..00000000000
Binary files a/public/images/pokemon/variant/icons/1/69_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/70_2.png b/public/images/pokemon/variant/icons/1/70_2.png
deleted file mode 100644
index 6095f7032af..00000000000
Binary files a/public/images/pokemon/variant/icons/1/70_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/70_3.png b/public/images/pokemon/variant/icons/1/70_3.png
deleted file mode 100644
index 4c1d563931e..00000000000
Binary files a/public/images/pokemon/variant/icons/1/70_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/71_2.png b/public/images/pokemon/variant/icons/1/71_2.png
deleted file mode 100644
index 4cac71faaf7..00000000000
Binary files a/public/images/pokemon/variant/icons/1/71_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/71_3.png b/public/images/pokemon/variant/icons/1/71_3.png
deleted file mode 100644
index 6eda69191fd..00000000000
Binary files a/public/images/pokemon/variant/icons/1/71_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/7_2.png b/public/images/pokemon/variant/icons/1/7_2.png
deleted file mode 100644
index 5e784bf6a06..00000000000
Binary files a/public/images/pokemon/variant/icons/1/7_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/7_3.png b/public/images/pokemon/variant/icons/1/7_3.png
deleted file mode 100644
index 23b5c38cb94..00000000000
Binary files a/public/images/pokemon/variant/icons/1/7_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/83_2.png b/public/images/pokemon/variant/icons/1/83_2.png
deleted file mode 100644
index 7ad8070e016..00000000000
Binary files a/public/images/pokemon/variant/icons/1/83_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/83_3.png b/public/images/pokemon/variant/icons/1/83_3.png
deleted file mode 100644
index d2ddf78079e..00000000000
Binary files a/public/images/pokemon/variant/icons/1/83_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/86_1.png b/public/images/pokemon/variant/icons/1/86_1.png
deleted file mode 100644
index 33032e875bd..00000000000
Binary files a/public/images/pokemon/variant/icons/1/86_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/86_2.png b/public/images/pokemon/variant/icons/1/86_2.png
deleted file mode 100644
index e6495963b07..00000000000
Binary files a/public/images/pokemon/variant/icons/1/86_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/86_3.png b/public/images/pokemon/variant/icons/1/86_3.png
deleted file mode 100644
index 7ab2eecbe79..00000000000
Binary files a/public/images/pokemon/variant/icons/1/86_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/87_1.png b/public/images/pokemon/variant/icons/1/87_1.png
deleted file mode 100644
index ddeeec97b98..00000000000
Binary files a/public/images/pokemon/variant/icons/1/87_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/87_2.png b/public/images/pokemon/variant/icons/1/87_2.png
deleted file mode 100644
index 2631944bbe0..00000000000
Binary files a/public/images/pokemon/variant/icons/1/87_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/87_3.png b/public/images/pokemon/variant/icons/1/87_3.png
deleted file mode 100644
index a53c4e6830c..00000000000
Binary files a/public/images/pokemon/variant/icons/1/87_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/8_2.png b/public/images/pokemon/variant/icons/1/8_2.png
deleted file mode 100644
index 6474c98bbda..00000000000
Binary files a/public/images/pokemon/variant/icons/1/8_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/8_3.png b/public/images/pokemon/variant/icons/1/8_3.png
deleted file mode 100644
index 7eda6afd272..00000000000
Binary files a/public/images/pokemon/variant/icons/1/8_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/9-gigantamax_2.png b/public/images/pokemon/variant/icons/1/9-gigantamax_2.png
deleted file mode 100644
index 9b0525f73e3..00000000000
Binary files a/public/images/pokemon/variant/icons/1/9-gigantamax_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/9-gigantamax_3.png b/public/images/pokemon/variant/icons/1/9-gigantamax_3.png
deleted file mode 100644
index 61b0b406149..00000000000
Binary files a/public/images/pokemon/variant/icons/1/9-gigantamax_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/9-mega_2.png b/public/images/pokemon/variant/icons/1/9-mega_2.png
deleted file mode 100644
index 43bd581bf85..00000000000
Binary files a/public/images/pokemon/variant/icons/1/9-mega_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/9-mega_3.png b/public/images/pokemon/variant/icons/1/9-mega_3.png
deleted file mode 100644
index e8097fb2665..00000000000
Binary files a/public/images/pokemon/variant/icons/1/9-mega_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/92_1.png b/public/images/pokemon/variant/icons/1/92_1.png
deleted file mode 100644
index 630edf8dd65..00000000000
Binary files a/public/images/pokemon/variant/icons/1/92_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/92_2.png b/public/images/pokemon/variant/icons/1/92_2.png
deleted file mode 100644
index bcfd934e262..00000000000
Binary files a/public/images/pokemon/variant/icons/1/92_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/92_3.png b/public/images/pokemon/variant/icons/1/92_3.png
deleted file mode 100644
index 2a63286ab71..00000000000
Binary files a/public/images/pokemon/variant/icons/1/92_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/93_1.png b/public/images/pokemon/variant/icons/1/93_1.png
deleted file mode 100644
index 6b234888e7c..00000000000
Binary files a/public/images/pokemon/variant/icons/1/93_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/93_2.png b/public/images/pokemon/variant/icons/1/93_2.png
deleted file mode 100644
index bbac824bb92..00000000000
Binary files a/public/images/pokemon/variant/icons/1/93_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/93_3.png b/public/images/pokemon/variant/icons/1/93_3.png
deleted file mode 100644
index f8dda577d8a..00000000000
Binary files a/public/images/pokemon/variant/icons/1/93_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/94-gigantamax_1.png b/public/images/pokemon/variant/icons/1/94-gigantamax_1.png
deleted file mode 100644
index 44410e1bb6b..00000000000
Binary files a/public/images/pokemon/variant/icons/1/94-gigantamax_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/94-gigantamax_2.png b/public/images/pokemon/variant/icons/1/94-gigantamax_2.png
deleted file mode 100644
index c48eaa9bc3c..00000000000
Binary files a/public/images/pokemon/variant/icons/1/94-gigantamax_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/94-gigantamax_3.png b/public/images/pokemon/variant/icons/1/94-gigantamax_3.png
deleted file mode 100644
index 19f9ca86395..00000000000
Binary files a/public/images/pokemon/variant/icons/1/94-gigantamax_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/94-mega_1.png b/public/images/pokemon/variant/icons/1/94-mega_1.png
deleted file mode 100644
index 8be3900458d..00000000000
Binary files a/public/images/pokemon/variant/icons/1/94-mega_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/94-mega_2.png b/public/images/pokemon/variant/icons/1/94-mega_2.png
deleted file mode 100644
index 07306aec370..00000000000
Binary files a/public/images/pokemon/variant/icons/1/94-mega_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/94-mega_3.png b/public/images/pokemon/variant/icons/1/94-mega_3.png
deleted file mode 100644
index dca0a75b535..00000000000
Binary files a/public/images/pokemon/variant/icons/1/94-mega_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/94_1.png b/public/images/pokemon/variant/icons/1/94_1.png
deleted file mode 100644
index 53589398a5a..00000000000
Binary files a/public/images/pokemon/variant/icons/1/94_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/94_2.png b/public/images/pokemon/variant/icons/1/94_2.png
deleted file mode 100644
index e4f015c6604..00000000000
Binary files a/public/images/pokemon/variant/icons/1/94_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/94_3.png b/public/images/pokemon/variant/icons/1/94_3.png
deleted file mode 100644
index b5809b798c4..00000000000
Binary files a/public/images/pokemon/variant/icons/1/94_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/9_2.png b/public/images/pokemon/variant/icons/1/9_2.png
deleted file mode 100644
index 86f283ccf05..00000000000
Binary files a/public/images/pokemon/variant/icons/1/9_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/1/9_3.png b/public/images/pokemon/variant/icons/1/9_3.png
deleted file mode 100644
index b8facd38ae8..00000000000
Binary files a/public/images/pokemon/variant/icons/1/9_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/169_1.png b/public/images/pokemon/variant/icons/2/169_1.png
deleted file mode 100644
index 5d27b5a5b00..00000000000
Binary files a/public/images/pokemon/variant/icons/2/169_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/169_2.png b/public/images/pokemon/variant/icons/2/169_2.png
deleted file mode 100644
index 48b0dfb09fc..00000000000
Binary files a/public/images/pokemon/variant/icons/2/169_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/169_3.png b/public/images/pokemon/variant/icons/2/169_3.png
deleted file mode 100644
index 86f8ddd9b74..00000000000
Binary files a/public/images/pokemon/variant/icons/2/169_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/173_2.png b/public/images/pokemon/variant/icons/2/173_2.png
deleted file mode 100644
index cdd5d978554..00000000000
Binary files a/public/images/pokemon/variant/icons/2/173_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/175_1.png b/public/images/pokemon/variant/icons/2/175_1.png
deleted file mode 100644
index 3908363e380..00000000000
Binary files a/public/images/pokemon/variant/icons/2/175_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/175_2.png b/public/images/pokemon/variant/icons/2/175_2.png
deleted file mode 100644
index b602ce368b8..00000000000
Binary files a/public/images/pokemon/variant/icons/2/175_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/175_3.png b/public/images/pokemon/variant/icons/2/175_3.png
deleted file mode 100644
index 842cb52abfc..00000000000
Binary files a/public/images/pokemon/variant/icons/2/175_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/176_1.png b/public/images/pokemon/variant/icons/2/176_1.png
deleted file mode 100644
index e51a7a45c3c..00000000000
Binary files a/public/images/pokemon/variant/icons/2/176_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/176_2.png b/public/images/pokemon/variant/icons/2/176_2.png
deleted file mode 100644
index 22df84f66e1..00000000000
Binary files a/public/images/pokemon/variant/icons/2/176_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/176_3.png b/public/images/pokemon/variant/icons/2/176_3.png
deleted file mode 100644
index 5663e2bbf51..00000000000
Binary files a/public/images/pokemon/variant/icons/2/176_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/179_2.png b/public/images/pokemon/variant/icons/2/179_2.png
deleted file mode 100644
index 3edfe9fd44e..00000000000
Binary files a/public/images/pokemon/variant/icons/2/179_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/179_3.png b/public/images/pokemon/variant/icons/2/179_3.png
deleted file mode 100644
index 6a93e4d9ed7..00000000000
Binary files a/public/images/pokemon/variant/icons/2/179_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/180_2.png b/public/images/pokemon/variant/icons/2/180_2.png
deleted file mode 100644
index 45b2e052738..00000000000
Binary files a/public/images/pokemon/variant/icons/2/180_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/180_3.png b/public/images/pokemon/variant/icons/2/180_3.png
deleted file mode 100644
index c3c7278a8fd..00000000000
Binary files a/public/images/pokemon/variant/icons/2/180_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/181-mega_2.png b/public/images/pokemon/variant/icons/2/181-mega_2.png
deleted file mode 100644
index 69619852229..00000000000
Binary files a/public/images/pokemon/variant/icons/2/181-mega_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/181-mega_3.png b/public/images/pokemon/variant/icons/2/181-mega_3.png
deleted file mode 100644
index 94c351a8093..00000000000
Binary files a/public/images/pokemon/variant/icons/2/181-mega_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/181_2.png b/public/images/pokemon/variant/icons/2/181_2.png
deleted file mode 100644
index 246ccf2f753..00000000000
Binary files a/public/images/pokemon/variant/icons/2/181_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/181_3.png b/public/images/pokemon/variant/icons/2/181_3.png
deleted file mode 100644
index fb087c93669..00000000000
Binary files a/public/images/pokemon/variant/icons/2/181_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/183_2.png b/public/images/pokemon/variant/icons/2/183_2.png
deleted file mode 100644
index 85d0e27c1fd..00000000000
Binary files a/public/images/pokemon/variant/icons/2/183_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/183_3.png b/public/images/pokemon/variant/icons/2/183_3.png
deleted file mode 100644
index eb5cf58d247..00000000000
Binary files a/public/images/pokemon/variant/icons/2/183_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/184_2.png b/public/images/pokemon/variant/icons/2/184_2.png
deleted file mode 100644
index 6244dde636a..00000000000
Binary files a/public/images/pokemon/variant/icons/2/184_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/184_3.png b/public/images/pokemon/variant/icons/2/184_3.png
deleted file mode 100644
index 8bbddd75f79..00000000000
Binary files a/public/images/pokemon/variant/icons/2/184_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/196_1.png b/public/images/pokemon/variant/icons/2/196_1.png
deleted file mode 100644
index 720839e6852..00000000000
Binary files a/public/images/pokemon/variant/icons/2/196_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/196_2.png b/public/images/pokemon/variant/icons/2/196_2.png
deleted file mode 100644
index e67145e663f..00000000000
Binary files a/public/images/pokemon/variant/icons/2/196_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/196_3.png b/public/images/pokemon/variant/icons/2/196_3.png
deleted file mode 100644
index 7a7254f30f5..00000000000
Binary files a/public/images/pokemon/variant/icons/2/196_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/197_2.png b/public/images/pokemon/variant/icons/2/197_2.png
deleted file mode 100644
index af71d57d4d6..00000000000
Binary files a/public/images/pokemon/variant/icons/2/197_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/197_3.png b/public/images/pokemon/variant/icons/2/197_3.png
deleted file mode 100644
index d411e501061..00000000000
Binary files a/public/images/pokemon/variant/icons/2/197_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/200_1.png b/public/images/pokemon/variant/icons/2/200_1.png
deleted file mode 100644
index 675b37bf5b3..00000000000
Binary files a/public/images/pokemon/variant/icons/2/200_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/200_2.png b/public/images/pokemon/variant/icons/2/200_2.png
deleted file mode 100644
index 3e269f2ed79..00000000000
Binary files a/public/images/pokemon/variant/icons/2/200_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/200_3.png b/public/images/pokemon/variant/icons/2/200_3.png
deleted file mode 100644
index 82a7ea6c5d9..00000000000
Binary files a/public/images/pokemon/variant/icons/2/200_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/212-mega_1.png b/public/images/pokemon/variant/icons/2/212-mega_1.png
deleted file mode 100644
index 53bc17210d1..00000000000
Binary files a/public/images/pokemon/variant/icons/2/212-mega_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/212-mega_2.png b/public/images/pokemon/variant/icons/2/212-mega_2.png
deleted file mode 100644
index 3ad0313c637..00000000000
Binary files a/public/images/pokemon/variant/icons/2/212-mega_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/212-mega_3.png b/public/images/pokemon/variant/icons/2/212-mega_3.png
deleted file mode 100644
index 4b2754eda64..00000000000
Binary files a/public/images/pokemon/variant/icons/2/212-mega_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/212_1.png b/public/images/pokemon/variant/icons/2/212_1.png
deleted file mode 100644
index e465191ec6b..00000000000
Binary files a/public/images/pokemon/variant/icons/2/212_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/212_2.png b/public/images/pokemon/variant/icons/2/212_2.png
deleted file mode 100644
index a266908d132..00000000000
Binary files a/public/images/pokemon/variant/icons/2/212_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/212_3.png b/public/images/pokemon/variant/icons/2/212_3.png
deleted file mode 100644
index 238baec2bf9..00000000000
Binary files a/public/images/pokemon/variant/icons/2/212_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/216_1.png b/public/images/pokemon/variant/icons/2/216_1.png
deleted file mode 100644
index 576aa7bb06c..00000000000
Binary files a/public/images/pokemon/variant/icons/2/216_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/216_2.png b/public/images/pokemon/variant/icons/2/216_2.png
deleted file mode 100644
index 0c834a3e48d..00000000000
Binary files a/public/images/pokemon/variant/icons/2/216_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/216_3.png b/public/images/pokemon/variant/icons/2/216_3.png
deleted file mode 100644
index 1e665cb2ac9..00000000000
Binary files a/public/images/pokemon/variant/icons/2/216_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/217_1.png b/public/images/pokemon/variant/icons/2/217_1.png
deleted file mode 100644
index e78f591eb1e..00000000000
Binary files a/public/images/pokemon/variant/icons/2/217_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/217_2.png b/public/images/pokemon/variant/icons/2/217_2.png
deleted file mode 100644
index df6320e8e27..00000000000
Binary files a/public/images/pokemon/variant/icons/2/217_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/217_3.png b/public/images/pokemon/variant/icons/2/217_3.png
deleted file mode 100644
index d71bfd65040..00000000000
Binary files a/public/images/pokemon/variant/icons/2/217_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/226_2.png b/public/images/pokemon/variant/icons/2/226_2.png
deleted file mode 100644
index 8eea84d7002..00000000000
Binary files a/public/images/pokemon/variant/icons/2/226_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/226_3.png b/public/images/pokemon/variant/icons/2/226_3.png
deleted file mode 100644
index 655ce9e32a7..00000000000
Binary files a/public/images/pokemon/variant/icons/2/226_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/239_1.png b/public/images/pokemon/variant/icons/2/239_1.png
deleted file mode 100644
index e4fe2ae4e14..00000000000
Binary files a/public/images/pokemon/variant/icons/2/239_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/239_2.png b/public/images/pokemon/variant/icons/2/239_2.png
deleted file mode 100644
index 7a3c759ff62..00000000000
Binary files a/public/images/pokemon/variant/icons/2/239_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/239_3.png b/public/images/pokemon/variant/icons/2/239_3.png
deleted file mode 100644
index f2d33133fab..00000000000
Binary files a/public/images/pokemon/variant/icons/2/239_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/242_1.png b/public/images/pokemon/variant/icons/2/242_1.png
deleted file mode 100644
index cb486161264..00000000000
Binary files a/public/images/pokemon/variant/icons/2/242_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/242_2.png b/public/images/pokemon/variant/icons/2/242_2.png
deleted file mode 100644
index 478db55af73..00000000000
Binary files a/public/images/pokemon/variant/icons/2/242_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/242_3.png b/public/images/pokemon/variant/icons/2/242_3.png
deleted file mode 100644
index 6a22a1ebbf1..00000000000
Binary files a/public/images/pokemon/variant/icons/2/242_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/243_2.png b/public/images/pokemon/variant/icons/2/243_2.png
deleted file mode 100644
index 586b706f4e8..00000000000
Binary files a/public/images/pokemon/variant/icons/2/243_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/243_3.png b/public/images/pokemon/variant/icons/2/243_3.png
deleted file mode 100644
index 58aa6b3470c..00000000000
Binary files a/public/images/pokemon/variant/icons/2/243_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/244_2.png b/public/images/pokemon/variant/icons/2/244_2.png
deleted file mode 100644
index 753fce18f2e..00000000000
Binary files a/public/images/pokemon/variant/icons/2/244_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/244_3.png b/public/images/pokemon/variant/icons/2/244_3.png
deleted file mode 100644
index 3ce134570d5..00000000000
Binary files a/public/images/pokemon/variant/icons/2/244_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/245_2.png b/public/images/pokemon/variant/icons/2/245_2.png
deleted file mode 100644
index 54a5eccc7bb..00000000000
Binary files a/public/images/pokemon/variant/icons/2/245_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/245_3.png b/public/images/pokemon/variant/icons/2/245_3.png
deleted file mode 100644
index 91a195809d7..00000000000
Binary files a/public/images/pokemon/variant/icons/2/245_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/249_2.png b/public/images/pokemon/variant/icons/2/249_2.png
deleted file mode 100644
index 87b8525c716..00000000000
Binary files a/public/images/pokemon/variant/icons/2/249_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/249_3.png b/public/images/pokemon/variant/icons/2/249_3.png
deleted file mode 100644
index b8142d29758..00000000000
Binary files a/public/images/pokemon/variant/icons/2/249_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/250_2.png b/public/images/pokemon/variant/icons/2/250_2.png
deleted file mode 100644
index cbdd7d6c17f..00000000000
Binary files a/public/images/pokemon/variant/icons/2/250_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/250_3.png b/public/images/pokemon/variant/icons/2/250_3.png
deleted file mode 100644
index 160bc12a516..00000000000
Binary files a/public/images/pokemon/variant/icons/2/250_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/251_2.png b/public/images/pokemon/variant/icons/2/251_2.png
deleted file mode 100644
index 05ba4721a89..00000000000
Binary files a/public/images/pokemon/variant/icons/2/251_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/2/251_3.png b/public/images/pokemon/variant/icons/2/251_3.png
deleted file mode 100644
index 05084ac8687..00000000000
Binary files a/public/images/pokemon/variant/icons/2/251_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/263_2.png b/public/images/pokemon/variant/icons/3/263_2.png
deleted file mode 100644
index b638deec648..00000000000
Binary files a/public/images/pokemon/variant/icons/3/263_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/263_3.png b/public/images/pokemon/variant/icons/3/263_3.png
deleted file mode 100644
index 5c5f447c79a..00000000000
Binary files a/public/images/pokemon/variant/icons/3/263_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/264_2.png b/public/images/pokemon/variant/icons/3/264_2.png
deleted file mode 100644
index 42f87b76058..00000000000
Binary files a/public/images/pokemon/variant/icons/3/264_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/264_3.png b/public/images/pokemon/variant/icons/3/264_3.png
deleted file mode 100644
index 88d700d9a9e..00000000000
Binary files a/public/images/pokemon/variant/icons/3/264_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/280_2.png b/public/images/pokemon/variant/icons/3/280_2.png
deleted file mode 100644
index 41b3f16cf7b..00000000000
Binary files a/public/images/pokemon/variant/icons/3/280_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/280_3.png b/public/images/pokemon/variant/icons/3/280_3.png
deleted file mode 100644
index ccda545679a..00000000000
Binary files a/public/images/pokemon/variant/icons/3/280_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/281_2.png b/public/images/pokemon/variant/icons/3/281_2.png
deleted file mode 100644
index 0fdc825165d..00000000000
Binary files a/public/images/pokemon/variant/icons/3/281_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/281_3.png b/public/images/pokemon/variant/icons/3/281_3.png
deleted file mode 100644
index c391b0a70c9..00000000000
Binary files a/public/images/pokemon/variant/icons/3/281_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/282-mega_2.png b/public/images/pokemon/variant/icons/3/282-mega_2.png
deleted file mode 100644
index c13887e02a9..00000000000
Binary files a/public/images/pokemon/variant/icons/3/282-mega_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/282-mega_3.png b/public/images/pokemon/variant/icons/3/282-mega_3.png
deleted file mode 100644
index ac55c249e16..00000000000
Binary files a/public/images/pokemon/variant/icons/3/282-mega_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/282_2.png b/public/images/pokemon/variant/icons/3/282_2.png
deleted file mode 100644
index cdfea76c6f3..00000000000
Binary files a/public/images/pokemon/variant/icons/3/282_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/282_3.png b/public/images/pokemon/variant/icons/3/282_3.png
deleted file mode 100644
index 932b8834224..00000000000
Binary files a/public/images/pokemon/variant/icons/3/282_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/285_2.png b/public/images/pokemon/variant/icons/3/285_2.png
deleted file mode 100644
index b05cc520bbe..00000000000
Binary files a/public/images/pokemon/variant/icons/3/285_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/285_3.png b/public/images/pokemon/variant/icons/3/285_3.png
deleted file mode 100644
index 890a902003f..00000000000
Binary files a/public/images/pokemon/variant/icons/3/285_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/286_2.png b/public/images/pokemon/variant/icons/3/286_2.png
deleted file mode 100644
index a0b4f9ba99d..00000000000
Binary files a/public/images/pokemon/variant/icons/3/286_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/286_3.png b/public/images/pokemon/variant/icons/3/286_3.png
deleted file mode 100644
index 96d11a91d18..00000000000
Binary files a/public/images/pokemon/variant/icons/3/286_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/290_1.png b/public/images/pokemon/variant/icons/3/290_1.png
deleted file mode 100644
index 579e4b838ed..00000000000
Binary files a/public/images/pokemon/variant/icons/3/290_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/290_2.png b/public/images/pokemon/variant/icons/3/290_2.png
deleted file mode 100644
index 659f57722eb..00000000000
Binary files a/public/images/pokemon/variant/icons/3/290_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/290_3.png b/public/images/pokemon/variant/icons/3/290_3.png
deleted file mode 100644
index 962386bea49..00000000000
Binary files a/public/images/pokemon/variant/icons/3/290_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/291_1.png b/public/images/pokemon/variant/icons/3/291_1.png
deleted file mode 100644
index ab56b0f6763..00000000000
Binary files a/public/images/pokemon/variant/icons/3/291_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/291_2.png b/public/images/pokemon/variant/icons/3/291_2.png
deleted file mode 100644
index 55706b1ad44..00000000000
Binary files a/public/images/pokemon/variant/icons/3/291_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/291_3.png b/public/images/pokemon/variant/icons/3/291_3.png
deleted file mode 100644
index 4e4a5aa421b..00000000000
Binary files a/public/images/pokemon/variant/icons/3/291_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/292_1.png b/public/images/pokemon/variant/icons/3/292_1.png
deleted file mode 100644
index b03645b1550..00000000000
Binary files a/public/images/pokemon/variant/icons/3/292_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/292_2.png b/public/images/pokemon/variant/icons/3/292_2.png
deleted file mode 100644
index 2b3a097c067..00000000000
Binary files a/public/images/pokemon/variant/icons/3/292_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/292_3.png b/public/images/pokemon/variant/icons/3/292_3.png
deleted file mode 100644
index d8cd945026a..00000000000
Binary files a/public/images/pokemon/variant/icons/3/292_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/298_2.png b/public/images/pokemon/variant/icons/3/298_2.png
deleted file mode 100644
index 2c959be835a..00000000000
Binary files a/public/images/pokemon/variant/icons/3/298_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/298_3.png b/public/images/pokemon/variant/icons/3/298_3.png
deleted file mode 100644
index 559bc8434cd..00000000000
Binary files a/public/images/pokemon/variant/icons/3/298_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/300_1.png b/public/images/pokemon/variant/icons/3/300_1.png
deleted file mode 100644
index 3e3665320b0..00000000000
Binary files a/public/images/pokemon/variant/icons/3/300_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/300_2.png b/public/images/pokemon/variant/icons/3/300_2.png
deleted file mode 100644
index a436bc177c3..00000000000
Binary files a/public/images/pokemon/variant/icons/3/300_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/300_3.png b/public/images/pokemon/variant/icons/3/300_3.png
deleted file mode 100644
index ec4565df0d5..00000000000
Binary files a/public/images/pokemon/variant/icons/3/300_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/301_1.png b/public/images/pokemon/variant/icons/3/301_1.png
deleted file mode 100644
index a32df44a3cd..00000000000
Binary files a/public/images/pokemon/variant/icons/3/301_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/301_2.png b/public/images/pokemon/variant/icons/3/301_2.png
deleted file mode 100644
index 38aa20f736e..00000000000
Binary files a/public/images/pokemon/variant/icons/3/301_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/301_3.png b/public/images/pokemon/variant/icons/3/301_3.png
deleted file mode 100644
index 6ca7830a437..00000000000
Binary files a/public/images/pokemon/variant/icons/3/301_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/303-mega_1.png b/public/images/pokemon/variant/icons/3/303-mega_1.png
deleted file mode 100644
index 0290f7c2662..00000000000
Binary files a/public/images/pokemon/variant/icons/3/303-mega_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/303-mega_2.png b/public/images/pokemon/variant/icons/3/303-mega_2.png
deleted file mode 100644
index f0132c2e149..00000000000
Binary files a/public/images/pokemon/variant/icons/3/303-mega_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/303-mega_3.png b/public/images/pokemon/variant/icons/3/303-mega_3.png
deleted file mode 100644
index 4e81c96c1b8..00000000000
Binary files a/public/images/pokemon/variant/icons/3/303-mega_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/303_2.png b/public/images/pokemon/variant/icons/3/303_2.png
deleted file mode 100644
index 394d3676be4..00000000000
Binary files a/public/images/pokemon/variant/icons/3/303_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/303_3.png b/public/images/pokemon/variant/icons/3/303_3.png
deleted file mode 100644
index 7f862199926..00000000000
Binary files a/public/images/pokemon/variant/icons/3/303_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/304_1.png b/public/images/pokemon/variant/icons/3/304_1.png
deleted file mode 100644
index a32ec0a4a33..00000000000
Binary files a/public/images/pokemon/variant/icons/3/304_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/304_2.png b/public/images/pokemon/variant/icons/3/304_2.png
deleted file mode 100644
index c670ee0ee21..00000000000
Binary files a/public/images/pokemon/variant/icons/3/304_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/304_3.png b/public/images/pokemon/variant/icons/3/304_3.png
deleted file mode 100644
index e83399a5ff7..00000000000
Binary files a/public/images/pokemon/variant/icons/3/304_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/305_1.png b/public/images/pokemon/variant/icons/3/305_1.png
deleted file mode 100644
index c98222a0bdd..00000000000
Binary files a/public/images/pokemon/variant/icons/3/305_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/305_2.png b/public/images/pokemon/variant/icons/3/305_2.png
deleted file mode 100644
index d1db8f49dcc..00000000000
Binary files a/public/images/pokemon/variant/icons/3/305_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/305_3.png b/public/images/pokemon/variant/icons/3/305_3.png
deleted file mode 100644
index 404d304f493..00000000000
Binary files a/public/images/pokemon/variant/icons/3/305_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/306-mega_1.png b/public/images/pokemon/variant/icons/3/306-mega_1.png
deleted file mode 100644
index c2a5bde0654..00000000000
Binary files a/public/images/pokemon/variant/icons/3/306-mega_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/306-mega_2.png b/public/images/pokemon/variant/icons/3/306-mega_2.png
deleted file mode 100644
index 87eb1a366b7..00000000000
Binary files a/public/images/pokemon/variant/icons/3/306-mega_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/306-mega_3.png b/public/images/pokemon/variant/icons/3/306-mega_3.png
deleted file mode 100644
index 5a87dae0a45..00000000000
Binary files a/public/images/pokemon/variant/icons/3/306-mega_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/306_1.png b/public/images/pokemon/variant/icons/3/306_1.png
deleted file mode 100644
index dc4cdd8fb54..00000000000
Binary files a/public/images/pokemon/variant/icons/3/306_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/306_2.png b/public/images/pokemon/variant/icons/3/306_2.png
deleted file mode 100644
index 4d5ed76f0c5..00000000000
Binary files a/public/images/pokemon/variant/icons/3/306_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/306_3.png b/public/images/pokemon/variant/icons/3/306_3.png
deleted file mode 100644
index de5e70eb4e6..00000000000
Binary files a/public/images/pokemon/variant/icons/3/306_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/307_2.png b/public/images/pokemon/variant/icons/3/307_2.png
deleted file mode 100644
index 13af3fbcf5e..00000000000
Binary files a/public/images/pokemon/variant/icons/3/307_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/307_3.png b/public/images/pokemon/variant/icons/3/307_3.png
deleted file mode 100644
index 1ad23e2038d..00000000000
Binary files a/public/images/pokemon/variant/icons/3/307_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/308-mega_2.png b/public/images/pokemon/variant/icons/3/308-mega_2.png
deleted file mode 100644
index 8a5213092f9..00000000000
Binary files a/public/images/pokemon/variant/icons/3/308-mega_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/308-mega_3.png b/public/images/pokemon/variant/icons/3/308-mega_3.png
deleted file mode 100644
index 7e3d7ddc258..00000000000
Binary files a/public/images/pokemon/variant/icons/3/308-mega_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/308_2.png b/public/images/pokemon/variant/icons/3/308_2.png
deleted file mode 100644
index d72c502ea22..00000000000
Binary files a/public/images/pokemon/variant/icons/3/308_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/308_3.png b/public/images/pokemon/variant/icons/3/308_3.png
deleted file mode 100644
index 135e7bc80a0..00000000000
Binary files a/public/images/pokemon/variant/icons/3/308_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/309_2.png b/public/images/pokemon/variant/icons/3/309_2.png
deleted file mode 100644
index 96321bed7b4..00000000000
Binary files a/public/images/pokemon/variant/icons/3/309_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/309_3.png b/public/images/pokemon/variant/icons/3/309_3.png
deleted file mode 100644
index a186f8caf08..00000000000
Binary files a/public/images/pokemon/variant/icons/3/309_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/310-mega_2.png b/public/images/pokemon/variant/icons/3/310-mega_2.png
deleted file mode 100644
index 0d5e9c9d949..00000000000
Binary files a/public/images/pokemon/variant/icons/3/310-mega_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/310-mega_3.png b/public/images/pokemon/variant/icons/3/310-mega_3.png
deleted file mode 100644
index 0bf7151a167..00000000000
Binary files a/public/images/pokemon/variant/icons/3/310-mega_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/310_2.png b/public/images/pokemon/variant/icons/3/310_2.png
deleted file mode 100644
index 9740c5d90bd..00000000000
Binary files a/public/images/pokemon/variant/icons/3/310_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/310_3.png b/public/images/pokemon/variant/icons/3/310_3.png
deleted file mode 100644
index d6c98bd3345..00000000000
Binary files a/public/images/pokemon/variant/icons/3/310_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/311_1.png b/public/images/pokemon/variant/icons/3/311_1.png
deleted file mode 100644
index cc452edb63e..00000000000
Binary files a/public/images/pokemon/variant/icons/3/311_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/311_2.png b/public/images/pokemon/variant/icons/3/311_2.png
deleted file mode 100644
index 576dc178357..00000000000
Binary files a/public/images/pokemon/variant/icons/3/311_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/311_3.png b/public/images/pokemon/variant/icons/3/311_3.png
deleted file mode 100644
index 211f761c5f9..00000000000
Binary files a/public/images/pokemon/variant/icons/3/311_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/312_2.png b/public/images/pokemon/variant/icons/3/312_2.png
deleted file mode 100644
index 140653e6303..00000000000
Binary files a/public/images/pokemon/variant/icons/3/312_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/312_3.png b/public/images/pokemon/variant/icons/3/312_3.png
deleted file mode 100644
index edf091157b5..00000000000
Binary files a/public/images/pokemon/variant/icons/3/312_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/328_2.png b/public/images/pokemon/variant/icons/3/328_2.png
deleted file mode 100644
index 8fa26e80d4b..00000000000
Binary files a/public/images/pokemon/variant/icons/3/328_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/328_3.png b/public/images/pokemon/variant/icons/3/328_3.png
deleted file mode 100644
index 10b2d3cf6e2..00000000000
Binary files a/public/images/pokemon/variant/icons/3/328_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/329_2.png b/public/images/pokemon/variant/icons/3/329_2.png
deleted file mode 100644
index ec4da909118..00000000000
Binary files a/public/images/pokemon/variant/icons/3/329_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/329_3.png b/public/images/pokemon/variant/icons/3/329_3.png
deleted file mode 100644
index c58ca1f9b4b..00000000000
Binary files a/public/images/pokemon/variant/icons/3/329_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/330_2.png b/public/images/pokemon/variant/icons/3/330_2.png
deleted file mode 100644
index db09dd178c0..00000000000
Binary files a/public/images/pokemon/variant/icons/3/330_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/330_3.png b/public/images/pokemon/variant/icons/3/330_3.png
deleted file mode 100644
index 457139323d8..00000000000
Binary files a/public/images/pokemon/variant/icons/3/330_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/333_2.png b/public/images/pokemon/variant/icons/3/333_2.png
deleted file mode 100644
index dba83c56e4c..00000000000
Binary files a/public/images/pokemon/variant/icons/3/333_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/333_3.png b/public/images/pokemon/variant/icons/3/333_3.png
deleted file mode 100644
index 052e9cdbb6e..00000000000
Binary files a/public/images/pokemon/variant/icons/3/333_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/334-mega_2.png b/public/images/pokemon/variant/icons/3/334-mega_2.png
deleted file mode 100644
index dbd6e0d6d2e..00000000000
Binary files a/public/images/pokemon/variant/icons/3/334-mega_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/334-mega_3.png b/public/images/pokemon/variant/icons/3/334-mega_3.png
deleted file mode 100644
index 6386fd580a5..00000000000
Binary files a/public/images/pokemon/variant/icons/3/334-mega_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/334_2.png b/public/images/pokemon/variant/icons/3/334_2.png
deleted file mode 100644
index ed4a145fa40..00000000000
Binary files a/public/images/pokemon/variant/icons/3/334_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/334_3.png b/public/images/pokemon/variant/icons/3/334_3.png
deleted file mode 100644
index 08d3ac09a40..00000000000
Binary files a/public/images/pokemon/variant/icons/3/334_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/335_2.png b/public/images/pokemon/variant/icons/3/335_2.png
deleted file mode 100644
index d80d7eed180..00000000000
Binary files a/public/images/pokemon/variant/icons/3/335_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/335_3.png b/public/images/pokemon/variant/icons/3/335_3.png
deleted file mode 100644
index 99dd3396f6b..00000000000
Binary files a/public/images/pokemon/variant/icons/3/335_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/336_2.png b/public/images/pokemon/variant/icons/3/336_2.png
deleted file mode 100644
index 385bb807f1a..00000000000
Binary files a/public/images/pokemon/variant/icons/3/336_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/336_3.png b/public/images/pokemon/variant/icons/3/336_3.png
deleted file mode 100644
index b2d2add9558..00000000000
Binary files a/public/images/pokemon/variant/icons/3/336_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/338_2.png b/public/images/pokemon/variant/icons/3/338_2.png
deleted file mode 100644
index 16abeba277a..00000000000
Binary files a/public/images/pokemon/variant/icons/3/338_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/338_3.png b/public/images/pokemon/variant/icons/3/338_3.png
deleted file mode 100644
index f11206858a5..00000000000
Binary files a/public/images/pokemon/variant/icons/3/338_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/339_2.png b/public/images/pokemon/variant/icons/3/339_2.png
deleted file mode 100644
index d4a6b9c0c63..00000000000
Binary files a/public/images/pokemon/variant/icons/3/339_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/339_3.png b/public/images/pokemon/variant/icons/3/339_3.png
deleted file mode 100644
index 2f5399ce5fb..00000000000
Binary files a/public/images/pokemon/variant/icons/3/339_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/340_2.png b/public/images/pokemon/variant/icons/3/340_2.png
deleted file mode 100644
index a53af7dd28f..00000000000
Binary files a/public/images/pokemon/variant/icons/3/340_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/340_3.png b/public/images/pokemon/variant/icons/3/340_3.png
deleted file mode 100644
index 55844131ca8..00000000000
Binary files a/public/images/pokemon/variant/icons/3/340_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/351-rainy_1.png b/public/images/pokemon/variant/icons/3/351-rainy_1.png
deleted file mode 100644
index 7038b441db7..00000000000
Binary files a/public/images/pokemon/variant/icons/3/351-rainy_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/351-rainy_2.png b/public/images/pokemon/variant/icons/3/351-rainy_2.png
deleted file mode 100644
index 87617e2761e..00000000000
Binary files a/public/images/pokemon/variant/icons/3/351-rainy_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/351-rainy_3.png b/public/images/pokemon/variant/icons/3/351-rainy_3.png
deleted file mode 100644
index 9be0fd449ae..00000000000
Binary files a/public/images/pokemon/variant/icons/3/351-rainy_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/351-snowy_1.png b/public/images/pokemon/variant/icons/3/351-snowy_1.png
deleted file mode 100644
index 12527d321ce..00000000000
Binary files a/public/images/pokemon/variant/icons/3/351-snowy_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/351-snowy_2.png b/public/images/pokemon/variant/icons/3/351-snowy_2.png
deleted file mode 100644
index 22ee53ee9e9..00000000000
Binary files a/public/images/pokemon/variant/icons/3/351-snowy_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/351-snowy_3.png b/public/images/pokemon/variant/icons/3/351-snowy_3.png
deleted file mode 100644
index af0437e2599..00000000000
Binary files a/public/images/pokemon/variant/icons/3/351-snowy_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/351-sunny_1.png b/public/images/pokemon/variant/icons/3/351-sunny_1.png
deleted file mode 100644
index 2b24ac4d0b1..00000000000
Binary files a/public/images/pokemon/variant/icons/3/351-sunny_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/351-sunny_2.png b/public/images/pokemon/variant/icons/3/351-sunny_2.png
deleted file mode 100644
index cb1584e4c69..00000000000
Binary files a/public/images/pokemon/variant/icons/3/351-sunny_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/351-sunny_3.png b/public/images/pokemon/variant/icons/3/351-sunny_3.png
deleted file mode 100644
index 6c92a04864b..00000000000
Binary files a/public/images/pokemon/variant/icons/3/351-sunny_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/351_2.png b/public/images/pokemon/variant/icons/3/351_2.png
deleted file mode 100644
index f318301a31b..00000000000
Binary files a/public/images/pokemon/variant/icons/3/351_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/351_3.png b/public/images/pokemon/variant/icons/3/351_3.png
deleted file mode 100644
index 9035c6243ad..00000000000
Binary files a/public/images/pokemon/variant/icons/3/351_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/352_1.png b/public/images/pokemon/variant/icons/3/352_1.png
deleted file mode 100644
index f6e0f96024a..00000000000
Binary files a/public/images/pokemon/variant/icons/3/352_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/352_2.png b/public/images/pokemon/variant/icons/3/352_2.png
deleted file mode 100644
index 88d67f91e1a..00000000000
Binary files a/public/images/pokemon/variant/icons/3/352_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/352_3.png b/public/images/pokemon/variant/icons/3/352_3.png
deleted file mode 100644
index e4f659efac0..00000000000
Binary files a/public/images/pokemon/variant/icons/3/352_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/358_1.png b/public/images/pokemon/variant/icons/3/358_1.png
deleted file mode 100644
index 14deda92d58..00000000000
Binary files a/public/images/pokemon/variant/icons/3/358_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/358_2.png b/public/images/pokemon/variant/icons/3/358_2.png
deleted file mode 100644
index 181fe4226c1..00000000000
Binary files a/public/images/pokemon/variant/icons/3/358_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/358_3.png b/public/images/pokemon/variant/icons/3/358_3.png
deleted file mode 100644
index a5b66165185..00000000000
Binary files a/public/images/pokemon/variant/icons/3/358_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/371_2.png b/public/images/pokemon/variant/icons/3/371_2.png
deleted file mode 100644
index ab0c5d20606..00000000000
Binary files a/public/images/pokemon/variant/icons/3/371_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/371_3.png b/public/images/pokemon/variant/icons/3/371_3.png
deleted file mode 100644
index b0f27c88ed3..00000000000
Binary files a/public/images/pokemon/variant/icons/3/371_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/372_2.png b/public/images/pokemon/variant/icons/3/372_2.png
deleted file mode 100644
index 9ee2adbfa07..00000000000
Binary files a/public/images/pokemon/variant/icons/3/372_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/372_3.png b/public/images/pokemon/variant/icons/3/372_3.png
deleted file mode 100644
index 00ad94a4fe7..00000000000
Binary files a/public/images/pokemon/variant/icons/3/372_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/373-mega_2.png b/public/images/pokemon/variant/icons/3/373-mega_2.png
deleted file mode 100644
index 1ec3b8409e5..00000000000
Binary files a/public/images/pokemon/variant/icons/3/373-mega_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/373-mega_3.png b/public/images/pokemon/variant/icons/3/373-mega_3.png
deleted file mode 100644
index 9f0952fd6ef..00000000000
Binary files a/public/images/pokemon/variant/icons/3/373-mega_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/373_2.png b/public/images/pokemon/variant/icons/3/373_2.png
deleted file mode 100644
index 38401abab0e..00000000000
Binary files a/public/images/pokemon/variant/icons/3/373_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/373_3.png b/public/images/pokemon/variant/icons/3/373_3.png
deleted file mode 100644
index 8e2d3eabf26..00000000000
Binary files a/public/images/pokemon/variant/icons/3/373_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/374_2.png b/public/images/pokemon/variant/icons/3/374_2.png
deleted file mode 100644
index 356f1d29177..00000000000
Binary files a/public/images/pokemon/variant/icons/3/374_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/374_3.png b/public/images/pokemon/variant/icons/3/374_3.png
deleted file mode 100644
index 19eb72b7eba..00000000000
Binary files a/public/images/pokemon/variant/icons/3/374_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/375_2.png b/public/images/pokemon/variant/icons/3/375_2.png
deleted file mode 100644
index de4efa75503..00000000000
Binary files a/public/images/pokemon/variant/icons/3/375_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/375_3.png b/public/images/pokemon/variant/icons/3/375_3.png
deleted file mode 100644
index 2b6b637f48e..00000000000
Binary files a/public/images/pokemon/variant/icons/3/375_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/376-mega_2.png b/public/images/pokemon/variant/icons/3/376-mega_2.png
deleted file mode 100644
index 86557ca063f..00000000000
Binary files a/public/images/pokemon/variant/icons/3/376-mega_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/376-mega_3.png b/public/images/pokemon/variant/icons/3/376-mega_3.png
deleted file mode 100644
index 01b165922bd..00000000000
Binary files a/public/images/pokemon/variant/icons/3/376-mega_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/376_2.png b/public/images/pokemon/variant/icons/3/376_2.png
deleted file mode 100644
index f07844d885b..00000000000
Binary files a/public/images/pokemon/variant/icons/3/376_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/376_3.png b/public/images/pokemon/variant/icons/3/376_3.png
deleted file mode 100644
index 19b62f2eee7..00000000000
Binary files a/public/images/pokemon/variant/icons/3/376_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/380-mega_2.png b/public/images/pokemon/variant/icons/3/380-mega_2.png
deleted file mode 100644
index fcec45a699d..00000000000
Binary files a/public/images/pokemon/variant/icons/3/380-mega_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/380-mega_3.png b/public/images/pokemon/variant/icons/3/380-mega_3.png
deleted file mode 100644
index 6d0f0be1a47..00000000000
Binary files a/public/images/pokemon/variant/icons/3/380-mega_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/380_2.png b/public/images/pokemon/variant/icons/3/380_2.png
deleted file mode 100644
index 397465205dd..00000000000
Binary files a/public/images/pokemon/variant/icons/3/380_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/380_3.png b/public/images/pokemon/variant/icons/3/380_3.png
deleted file mode 100644
index 85b4b46b4f0..00000000000
Binary files a/public/images/pokemon/variant/icons/3/380_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/381-mega_2.png b/public/images/pokemon/variant/icons/3/381-mega_2.png
deleted file mode 100644
index b1a8b998122..00000000000
Binary files a/public/images/pokemon/variant/icons/3/381-mega_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/381-mega_3.png b/public/images/pokemon/variant/icons/3/381-mega_3.png
deleted file mode 100644
index 9dfbc4851fe..00000000000
Binary files a/public/images/pokemon/variant/icons/3/381-mega_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/381_2.png b/public/images/pokemon/variant/icons/3/381_2.png
deleted file mode 100644
index 43038b9374f..00000000000
Binary files a/public/images/pokemon/variant/icons/3/381_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/381_3.png b/public/images/pokemon/variant/icons/3/381_3.png
deleted file mode 100644
index 4bf798dcedc..00000000000
Binary files a/public/images/pokemon/variant/icons/3/381_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/382-primal_2.png b/public/images/pokemon/variant/icons/3/382-primal_2.png
deleted file mode 100644
index c39b5333c00..00000000000
Binary files a/public/images/pokemon/variant/icons/3/382-primal_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/382-primal_3.png b/public/images/pokemon/variant/icons/3/382-primal_3.png
deleted file mode 100644
index 4a2eba5f6c9..00000000000
Binary files a/public/images/pokemon/variant/icons/3/382-primal_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/382_2.png b/public/images/pokemon/variant/icons/3/382_2.png
deleted file mode 100644
index ce4f0476e86..00000000000
Binary files a/public/images/pokemon/variant/icons/3/382_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/382_3.png b/public/images/pokemon/variant/icons/3/382_3.png
deleted file mode 100644
index 6765d49f856..00000000000
Binary files a/public/images/pokemon/variant/icons/3/382_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/383-primal_2.png b/public/images/pokemon/variant/icons/3/383-primal_2.png
deleted file mode 100644
index 32abb4b9132..00000000000
Binary files a/public/images/pokemon/variant/icons/3/383-primal_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/383-primal_3.png b/public/images/pokemon/variant/icons/3/383-primal_3.png
deleted file mode 100644
index 952e08e33d2..00000000000
Binary files a/public/images/pokemon/variant/icons/3/383-primal_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/383_2.png b/public/images/pokemon/variant/icons/3/383_2.png
deleted file mode 100644
index 3f5353822a1..00000000000
Binary files a/public/images/pokemon/variant/icons/3/383_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/383_3.png b/public/images/pokemon/variant/icons/3/383_3.png
deleted file mode 100644
index 2549558a301..00000000000
Binary files a/public/images/pokemon/variant/icons/3/383_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/384-mega_2.png b/public/images/pokemon/variant/icons/3/384-mega_2.png
deleted file mode 100644
index 4715d127ff6..00000000000
Binary files a/public/images/pokemon/variant/icons/3/384-mega_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/384-mega_3.png b/public/images/pokemon/variant/icons/3/384-mega_3.png
deleted file mode 100644
index ee344250831..00000000000
Binary files a/public/images/pokemon/variant/icons/3/384-mega_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/384_2.png b/public/images/pokemon/variant/icons/3/384_2.png
deleted file mode 100644
index 2835499beca..00000000000
Binary files a/public/images/pokemon/variant/icons/3/384_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/384_3.png b/public/images/pokemon/variant/icons/3/384_3.png
deleted file mode 100644
index 84ff706b9fa..00000000000
Binary files a/public/images/pokemon/variant/icons/3/384_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/385_1.png b/public/images/pokemon/variant/icons/3/385_1.png
deleted file mode 100644
index 5b66629d94b..00000000000
Binary files a/public/images/pokemon/variant/icons/3/385_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/385_2.png b/public/images/pokemon/variant/icons/3/385_2.png
deleted file mode 100644
index f9efafe0634..00000000000
Binary files a/public/images/pokemon/variant/icons/3/385_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/3/385_3.png b/public/images/pokemon/variant/icons/3/385_3.png
deleted file mode 100644
index 6b2bdaa1fac..00000000000
Binary files a/public/images/pokemon/variant/icons/3/385_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/399_2.png b/public/images/pokemon/variant/icons/4/399_2.png
deleted file mode 100644
index bdf0093d408..00000000000
Binary files a/public/images/pokemon/variant/icons/4/399_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/399_3.png b/public/images/pokemon/variant/icons/4/399_3.png
deleted file mode 100644
index 5459fc5a8a1..00000000000
Binary files a/public/images/pokemon/variant/icons/4/399_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/400_2.png b/public/images/pokemon/variant/icons/4/400_2.png
deleted file mode 100644
index b7a5ad3e272..00000000000
Binary files a/public/images/pokemon/variant/icons/4/400_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/400_3.png b/public/images/pokemon/variant/icons/4/400_3.png
deleted file mode 100644
index 2d4c4c03c3d..00000000000
Binary files a/public/images/pokemon/variant/icons/4/400_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/425_2.png b/public/images/pokemon/variant/icons/4/425_2.png
deleted file mode 100644
index 5387e9cce3c..00000000000
Binary files a/public/images/pokemon/variant/icons/4/425_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/425_3.png b/public/images/pokemon/variant/icons/4/425_3.png
deleted file mode 100644
index efe3d656964..00000000000
Binary files a/public/images/pokemon/variant/icons/4/425_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/426_2.png b/public/images/pokemon/variant/icons/4/426_2.png
deleted file mode 100644
index 5f1805f8acb..00000000000
Binary files a/public/images/pokemon/variant/icons/4/426_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/426_3.png b/public/images/pokemon/variant/icons/4/426_3.png
deleted file mode 100644
index 2a7b3be7ab9..00000000000
Binary files a/public/images/pokemon/variant/icons/4/426_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/427_2.png b/public/images/pokemon/variant/icons/4/427_2.png
deleted file mode 100644
index 1b5d9271624..00000000000
Binary files a/public/images/pokemon/variant/icons/4/427_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/427_3.png b/public/images/pokemon/variant/icons/4/427_3.png
deleted file mode 100644
index a3f90ea6dfa..00000000000
Binary files a/public/images/pokemon/variant/icons/4/427_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/428-mega_2.png b/public/images/pokemon/variant/icons/4/428-mega_2.png
deleted file mode 100644
index 43dfa05d438..00000000000
Binary files a/public/images/pokemon/variant/icons/4/428-mega_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/428-mega_3.png b/public/images/pokemon/variant/icons/4/428-mega_3.png
deleted file mode 100644
index 4d6194bd554..00000000000
Binary files a/public/images/pokemon/variant/icons/4/428-mega_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/428_2.png b/public/images/pokemon/variant/icons/4/428_2.png
deleted file mode 100644
index 1e42720c78b..00000000000
Binary files a/public/images/pokemon/variant/icons/4/428_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/428_3.png b/public/images/pokemon/variant/icons/4/428_3.png
deleted file mode 100644
index b8bf01bb20d..00000000000
Binary files a/public/images/pokemon/variant/icons/4/428_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/429_1.png b/public/images/pokemon/variant/icons/4/429_1.png
deleted file mode 100644
index 7354a6a6be7..00000000000
Binary files a/public/images/pokemon/variant/icons/4/429_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/429_2.png b/public/images/pokemon/variant/icons/4/429_2.png
deleted file mode 100644
index 9ec7cd5e76e..00000000000
Binary files a/public/images/pokemon/variant/icons/4/429_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/429_3.png b/public/images/pokemon/variant/icons/4/429_3.png
deleted file mode 100644
index 48f7068ced8..00000000000
Binary files a/public/images/pokemon/variant/icons/4/429_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/433_1.png b/public/images/pokemon/variant/icons/4/433_1.png
deleted file mode 100644
index 04e9fbcaf3a..00000000000
Binary files a/public/images/pokemon/variant/icons/4/433_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/433_2.png b/public/images/pokemon/variant/icons/4/433_2.png
deleted file mode 100644
index fbccdb13cd0..00000000000
Binary files a/public/images/pokemon/variant/icons/4/433_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/433_3.png b/public/images/pokemon/variant/icons/4/433_3.png
deleted file mode 100644
index 72b3389978f..00000000000
Binary files a/public/images/pokemon/variant/icons/4/433_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/440_1.png b/public/images/pokemon/variant/icons/4/440_1.png
deleted file mode 100644
index 221f382a21b..00000000000
Binary files a/public/images/pokemon/variant/icons/4/440_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/440_2.png b/public/images/pokemon/variant/icons/4/440_2.png
deleted file mode 100644
index 13b7a152372..00000000000
Binary files a/public/images/pokemon/variant/icons/4/440_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/440_3.png b/public/images/pokemon/variant/icons/4/440_3.png
deleted file mode 100644
index a97c51cd646..00000000000
Binary files a/public/images/pokemon/variant/icons/4/440_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/442_2.png b/public/images/pokemon/variant/icons/4/442_2.png
deleted file mode 100644
index 9859bb7ce98..00000000000
Binary files a/public/images/pokemon/variant/icons/4/442_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/442_3.png b/public/images/pokemon/variant/icons/4/442_3.png
deleted file mode 100644
index d64848ac40d..00000000000
Binary files a/public/images/pokemon/variant/icons/4/442_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/443_1.png b/public/images/pokemon/variant/icons/4/443_1.png
deleted file mode 100644
index 53d93aab99e..00000000000
Binary files a/public/images/pokemon/variant/icons/4/443_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/443_2.png b/public/images/pokemon/variant/icons/4/443_2.png
deleted file mode 100644
index e7dfb3fdb5c..00000000000
Binary files a/public/images/pokemon/variant/icons/4/443_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/443_3.png b/public/images/pokemon/variant/icons/4/443_3.png
deleted file mode 100644
index abf81433d96..00000000000
Binary files a/public/images/pokemon/variant/icons/4/443_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/444_1.png b/public/images/pokemon/variant/icons/4/444_1.png
deleted file mode 100644
index 1cb56ea2b84..00000000000
Binary files a/public/images/pokemon/variant/icons/4/444_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/444_2.png b/public/images/pokemon/variant/icons/4/444_2.png
deleted file mode 100644
index 00c4eefefb4..00000000000
Binary files a/public/images/pokemon/variant/icons/4/444_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/444_3.png b/public/images/pokemon/variant/icons/4/444_3.png
deleted file mode 100644
index 477505c805b..00000000000
Binary files a/public/images/pokemon/variant/icons/4/444_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/445-mega_1.png b/public/images/pokemon/variant/icons/4/445-mega_1.png
deleted file mode 100644
index ad7b058c3c1..00000000000
Binary files a/public/images/pokemon/variant/icons/4/445-mega_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/445-mega_2.png b/public/images/pokemon/variant/icons/4/445-mega_2.png
deleted file mode 100644
index c7260ae2013..00000000000
Binary files a/public/images/pokemon/variant/icons/4/445-mega_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/445-mega_3.png b/public/images/pokemon/variant/icons/4/445-mega_3.png
deleted file mode 100644
index e05693129d3..00000000000
Binary files a/public/images/pokemon/variant/icons/4/445-mega_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/445_1.png b/public/images/pokemon/variant/icons/4/445_1.png
deleted file mode 100644
index 955f80fc48d..00000000000
Binary files a/public/images/pokemon/variant/icons/4/445_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/445_2.png b/public/images/pokemon/variant/icons/4/445_2.png
deleted file mode 100644
index aa36c7791af..00000000000
Binary files a/public/images/pokemon/variant/icons/4/445_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/445_3.png b/public/images/pokemon/variant/icons/4/445_3.png
deleted file mode 100644
index a0b6ed9cd1d..00000000000
Binary files a/public/images/pokemon/variant/icons/4/445_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/447_1.png b/public/images/pokemon/variant/icons/4/447_1.png
deleted file mode 100644
index 03173395ac8..00000000000
Binary files a/public/images/pokemon/variant/icons/4/447_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/447_2.png b/public/images/pokemon/variant/icons/4/447_2.png
deleted file mode 100644
index 3fd9c515de9..00000000000
Binary files a/public/images/pokemon/variant/icons/4/447_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/447_3.png b/public/images/pokemon/variant/icons/4/447_3.png
deleted file mode 100644
index 45f1b14a992..00000000000
Binary files a/public/images/pokemon/variant/icons/4/447_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/448-mega_1.png b/public/images/pokemon/variant/icons/4/448-mega_1.png
deleted file mode 100644
index 9c694d8915a..00000000000
Binary files a/public/images/pokemon/variant/icons/4/448-mega_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/448-mega_2.png b/public/images/pokemon/variant/icons/4/448-mega_2.png
deleted file mode 100644
index 2bb37f8df08..00000000000
Binary files a/public/images/pokemon/variant/icons/4/448-mega_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/448-mega_3.png b/public/images/pokemon/variant/icons/4/448-mega_3.png
deleted file mode 100644
index 5dbdb78b839..00000000000
Binary files a/public/images/pokemon/variant/icons/4/448-mega_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/448_1.png b/public/images/pokemon/variant/icons/4/448_1.png
deleted file mode 100644
index 362927f30c3..00000000000
Binary files a/public/images/pokemon/variant/icons/4/448_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/448_2.png b/public/images/pokemon/variant/icons/4/448_2.png
deleted file mode 100644
index 83a9783c4c1..00000000000
Binary files a/public/images/pokemon/variant/icons/4/448_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/448_3.png b/public/images/pokemon/variant/icons/4/448_3.png
deleted file mode 100644
index 65684e49bd8..00000000000
Binary files a/public/images/pokemon/variant/icons/4/448_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/458_2.png b/public/images/pokemon/variant/icons/4/458_2.png
deleted file mode 100644
index 9d4114f8263..00000000000
Binary files a/public/images/pokemon/variant/icons/4/458_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/458_3.png b/public/images/pokemon/variant/icons/4/458_3.png
deleted file mode 100644
index 6cf77428ebe..00000000000
Binary files a/public/images/pokemon/variant/icons/4/458_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/466_1.png b/public/images/pokemon/variant/icons/4/466_1.png
deleted file mode 100644
index 32423eb1384..00000000000
Binary files a/public/images/pokemon/variant/icons/4/466_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/466_2.png b/public/images/pokemon/variant/icons/4/466_2.png
deleted file mode 100644
index 0d39f0798c7..00000000000
Binary files a/public/images/pokemon/variant/icons/4/466_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/466_3.png b/public/images/pokemon/variant/icons/4/466_3.png
deleted file mode 100644
index eca9ef7724c..00000000000
Binary files a/public/images/pokemon/variant/icons/4/466_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/468_1.png b/public/images/pokemon/variant/icons/4/468_1.png
deleted file mode 100644
index 686326a1aa8..00000000000
Binary files a/public/images/pokemon/variant/icons/4/468_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/468_2.png b/public/images/pokemon/variant/icons/4/468_2.png
deleted file mode 100644
index 96f525ce43e..00000000000
Binary files a/public/images/pokemon/variant/icons/4/468_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/468_3.png b/public/images/pokemon/variant/icons/4/468_3.png
deleted file mode 100644
index 7e907f3eae3..00000000000
Binary files a/public/images/pokemon/variant/icons/4/468_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/470_1.png b/public/images/pokemon/variant/icons/4/470_1.png
deleted file mode 100644
index 4ba723592e3..00000000000
Binary files a/public/images/pokemon/variant/icons/4/470_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/470_2.png b/public/images/pokemon/variant/icons/4/470_2.png
deleted file mode 100644
index 87324b2666a..00000000000
Binary files a/public/images/pokemon/variant/icons/4/470_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/470_3.png b/public/images/pokemon/variant/icons/4/470_3.png
deleted file mode 100644
index 421ce166559..00000000000
Binary files a/public/images/pokemon/variant/icons/4/470_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/471_1.png b/public/images/pokemon/variant/icons/4/471_1.png
deleted file mode 100644
index d37a7515a00..00000000000
Binary files a/public/images/pokemon/variant/icons/4/471_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/471_2.png b/public/images/pokemon/variant/icons/4/471_2.png
deleted file mode 100644
index 429544cc591..00000000000
Binary files a/public/images/pokemon/variant/icons/4/471_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/471_3.png b/public/images/pokemon/variant/icons/4/471_3.png
deleted file mode 100644
index 95b8e481818..00000000000
Binary files a/public/images/pokemon/variant/icons/4/471_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/475-mega_2.png b/public/images/pokemon/variant/icons/4/475-mega_2.png
deleted file mode 100644
index 91978784c80..00000000000
Binary files a/public/images/pokemon/variant/icons/4/475-mega_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/475-mega_3.png b/public/images/pokemon/variant/icons/4/475-mega_3.png
deleted file mode 100644
index af231e2fc3b..00000000000
Binary files a/public/images/pokemon/variant/icons/4/475-mega_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/475_2.png b/public/images/pokemon/variant/icons/4/475_2.png
deleted file mode 100644
index 4bfe88f1f88..00000000000
Binary files a/public/images/pokemon/variant/icons/4/475_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/475_3.png b/public/images/pokemon/variant/icons/4/475_3.png
deleted file mode 100644
index 8bc62d70b0f..00000000000
Binary files a/public/images/pokemon/variant/icons/4/475_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/480_1.png b/public/images/pokemon/variant/icons/4/480_1.png
deleted file mode 100644
index 3b9a496e3f9..00000000000
Binary files a/public/images/pokemon/variant/icons/4/480_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/480_2.png b/public/images/pokemon/variant/icons/4/480_2.png
deleted file mode 100644
index 5db1971cb61..00000000000
Binary files a/public/images/pokemon/variant/icons/4/480_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/480_3.png b/public/images/pokemon/variant/icons/4/480_3.png
deleted file mode 100644
index e7ca3ff5bc8..00000000000
Binary files a/public/images/pokemon/variant/icons/4/480_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/481_1.png b/public/images/pokemon/variant/icons/4/481_1.png
deleted file mode 100644
index 382851af42b..00000000000
Binary files a/public/images/pokemon/variant/icons/4/481_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/481_2.png b/public/images/pokemon/variant/icons/4/481_2.png
deleted file mode 100644
index 8c62541d898..00000000000
Binary files a/public/images/pokemon/variant/icons/4/481_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/481_3.png b/public/images/pokemon/variant/icons/4/481_3.png
deleted file mode 100644
index c42845e9ed7..00000000000
Binary files a/public/images/pokemon/variant/icons/4/481_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/482_1.png b/public/images/pokemon/variant/icons/4/482_1.png
deleted file mode 100644
index 3e479c3c1c6..00000000000
Binary files a/public/images/pokemon/variant/icons/4/482_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/482_2.png b/public/images/pokemon/variant/icons/4/482_2.png
deleted file mode 100644
index a636973b33a..00000000000
Binary files a/public/images/pokemon/variant/icons/4/482_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/482_3.png b/public/images/pokemon/variant/icons/4/482_3.png
deleted file mode 100644
index 28ec6f85f47..00000000000
Binary files a/public/images/pokemon/variant/icons/4/482_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/485_3.png b/public/images/pokemon/variant/icons/4/485_3.png
deleted file mode 100644
index 2f133e8fb98..00000000000
Binary files a/public/images/pokemon/variant/icons/4/485_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/487-altered_2.png b/public/images/pokemon/variant/icons/4/487-altered_2.png
deleted file mode 100644
index d9cbea5e323..00000000000
Binary files a/public/images/pokemon/variant/icons/4/487-altered_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/487-altered_3.png b/public/images/pokemon/variant/icons/4/487-altered_3.png
deleted file mode 100644
index 59169ab9de8..00000000000
Binary files a/public/images/pokemon/variant/icons/4/487-altered_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/487-origin_2.png b/public/images/pokemon/variant/icons/4/487-origin_2.png
deleted file mode 100644
index 61f322ac409..00000000000
Binary files a/public/images/pokemon/variant/icons/4/487-origin_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/487-origin_3.png b/public/images/pokemon/variant/icons/4/487-origin_3.png
deleted file mode 100644
index e8fe8f61634..00000000000
Binary files a/public/images/pokemon/variant/icons/4/487-origin_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/488_2.png b/public/images/pokemon/variant/icons/4/488_2.png
deleted file mode 100644
index 400a2d2d065..00000000000
Binary files a/public/images/pokemon/variant/icons/4/488_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/488_3.png b/public/images/pokemon/variant/icons/4/488_3.png
deleted file mode 100644
index 595ceb54f82..00000000000
Binary files a/public/images/pokemon/variant/icons/4/488_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/489_1.png b/public/images/pokemon/variant/icons/4/489_1.png
deleted file mode 100644
index 9cb6e03888a..00000000000
Binary files a/public/images/pokemon/variant/icons/4/489_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/489_2.png b/public/images/pokemon/variant/icons/4/489_2.png
deleted file mode 100644
index b4e32fe5259..00000000000
Binary files a/public/images/pokemon/variant/icons/4/489_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/489_3.png b/public/images/pokemon/variant/icons/4/489_3.png
deleted file mode 100644
index 428156638bf..00000000000
Binary files a/public/images/pokemon/variant/icons/4/489_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/490_1.png b/public/images/pokemon/variant/icons/4/490_1.png
deleted file mode 100644
index 1fda8d15b43..00000000000
Binary files a/public/images/pokemon/variant/icons/4/490_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/490_2.png b/public/images/pokemon/variant/icons/4/490_2.png
deleted file mode 100644
index b9014e88e18..00000000000
Binary files a/public/images/pokemon/variant/icons/4/490_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/490_3.png b/public/images/pokemon/variant/icons/4/490_3.png
deleted file mode 100644
index 87a055c99e0..00000000000
Binary files a/public/images/pokemon/variant/icons/4/490_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/491_2.png b/public/images/pokemon/variant/icons/4/491_2.png
deleted file mode 100644
index e5e8ed579be..00000000000
Binary files a/public/images/pokemon/variant/icons/4/491_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/491_3.png b/public/images/pokemon/variant/icons/4/491_3.png
deleted file mode 100644
index 630f7c57c09..00000000000
Binary files a/public/images/pokemon/variant/icons/4/491_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/492-land_2.png b/public/images/pokemon/variant/icons/4/492-land_2.png
deleted file mode 100644
index fdb71a83687..00000000000
Binary files a/public/images/pokemon/variant/icons/4/492-land_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/492-land_3.png b/public/images/pokemon/variant/icons/4/492-land_3.png
deleted file mode 100644
index 0262fb96375..00000000000
Binary files a/public/images/pokemon/variant/icons/4/492-land_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/492-sky_2.png b/public/images/pokemon/variant/icons/4/492-sky_2.png
deleted file mode 100644
index 6c704ab6089..00000000000
Binary files a/public/images/pokemon/variant/icons/4/492-sky_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/492-sky_3.png b/public/images/pokemon/variant/icons/4/492-sky_3.png
deleted file mode 100644
index bd18e72a73d..00000000000
Binary files a/public/images/pokemon/variant/icons/4/492-sky_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/494_2.png b/public/images/pokemon/variant/icons/4/494_2.png
deleted file mode 100644
index bf0c810d1f8..00000000000
Binary files a/public/images/pokemon/variant/icons/4/494_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/4/494_3.png b/public/images/pokemon/variant/icons/4/494_3.png
deleted file mode 100644
index 49a0c349338..00000000000
Binary files a/public/images/pokemon/variant/icons/4/494_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/495_2.png b/public/images/pokemon/variant/icons/5/495_2.png
deleted file mode 100644
index f25803707c5..00000000000
Binary files a/public/images/pokemon/variant/icons/5/495_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/495_3.png b/public/images/pokemon/variant/icons/5/495_3.png
deleted file mode 100644
index f8aa4640b94..00000000000
Binary files a/public/images/pokemon/variant/icons/5/495_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/496_2.png b/public/images/pokemon/variant/icons/5/496_2.png
deleted file mode 100644
index 7afe5afd0d8..00000000000
Binary files a/public/images/pokemon/variant/icons/5/496_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/496_3.png b/public/images/pokemon/variant/icons/5/496_3.png
deleted file mode 100644
index bcda92b7564..00000000000
Binary files a/public/images/pokemon/variant/icons/5/496_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/497_2.png b/public/images/pokemon/variant/icons/5/497_2.png
deleted file mode 100644
index ab85a310ff6..00000000000
Binary files a/public/images/pokemon/variant/icons/5/497_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/497_3.png b/public/images/pokemon/variant/icons/5/497_3.png
deleted file mode 100644
index d901b5060d3..00000000000
Binary files a/public/images/pokemon/variant/icons/5/497_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/532_2.png b/public/images/pokemon/variant/icons/5/532_2.png
deleted file mode 100644
index 81c5ccccd02..00000000000
Binary files a/public/images/pokemon/variant/icons/5/532_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/532_3.png b/public/images/pokemon/variant/icons/5/532_3.png
deleted file mode 100644
index 276b7da7bac..00000000000
Binary files a/public/images/pokemon/variant/icons/5/532_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/533_2.png b/public/images/pokemon/variant/icons/5/533_2.png
deleted file mode 100644
index 0a0e58b5af5..00000000000
Binary files a/public/images/pokemon/variant/icons/5/533_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/533_3.png b/public/images/pokemon/variant/icons/5/533_3.png
deleted file mode 100644
index abfa6b61c91..00000000000
Binary files a/public/images/pokemon/variant/icons/5/533_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/534_2.png b/public/images/pokemon/variant/icons/5/534_2.png
deleted file mode 100644
index 19a37ec320e..00000000000
Binary files a/public/images/pokemon/variant/icons/5/534_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/534_3.png b/public/images/pokemon/variant/icons/5/534_3.png
deleted file mode 100644
index bb5716edede..00000000000
Binary files a/public/images/pokemon/variant/icons/5/534_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/538_2.png b/public/images/pokemon/variant/icons/5/538_2.png
deleted file mode 100644
index cce9492da40..00000000000
Binary files a/public/images/pokemon/variant/icons/5/538_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/538_3.png b/public/images/pokemon/variant/icons/5/538_3.png
deleted file mode 100644
index 6167c7fbdcd..00000000000
Binary files a/public/images/pokemon/variant/icons/5/538_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/540_2.png b/public/images/pokemon/variant/icons/5/540_2.png
deleted file mode 100644
index 26123ac72c3..00000000000
Binary files a/public/images/pokemon/variant/icons/5/540_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/540_3.png b/public/images/pokemon/variant/icons/5/540_3.png
deleted file mode 100644
index 3089a82cb9d..00000000000
Binary files a/public/images/pokemon/variant/icons/5/540_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/541_2.png b/public/images/pokemon/variant/icons/5/541_2.png
deleted file mode 100644
index 6e14cea1d65..00000000000
Binary files a/public/images/pokemon/variant/icons/5/541_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/541_3.png b/public/images/pokemon/variant/icons/5/541_3.png
deleted file mode 100644
index f691017ebc6..00000000000
Binary files a/public/images/pokemon/variant/icons/5/541_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/542_2.png b/public/images/pokemon/variant/icons/5/542_2.png
deleted file mode 100644
index c6fab880eee..00000000000
Binary files a/public/images/pokemon/variant/icons/5/542_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/542_3.png b/public/images/pokemon/variant/icons/5/542_3.png
deleted file mode 100644
index ed2c5a0dbef..00000000000
Binary files a/public/images/pokemon/variant/icons/5/542_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/546_2.png b/public/images/pokemon/variant/icons/5/546_2.png
deleted file mode 100644
index e5db5b4f74f..00000000000
Binary files a/public/images/pokemon/variant/icons/5/546_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/546_3.png b/public/images/pokemon/variant/icons/5/546_3.png
deleted file mode 100644
index 126bd405d95..00000000000
Binary files a/public/images/pokemon/variant/icons/5/546_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/547_2.png b/public/images/pokemon/variant/icons/5/547_2.png
deleted file mode 100644
index 2294b11332a..00000000000
Binary files a/public/images/pokemon/variant/icons/5/547_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/547_3.png b/public/images/pokemon/variant/icons/5/547_3.png
deleted file mode 100644
index 1af57cc099a..00000000000
Binary files a/public/images/pokemon/variant/icons/5/547_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/548_1.png b/public/images/pokemon/variant/icons/5/548_1.png
deleted file mode 100644
index ee99f5110f2..00000000000
Binary files a/public/images/pokemon/variant/icons/5/548_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/548_2.png b/public/images/pokemon/variant/icons/5/548_2.png
deleted file mode 100644
index aafa94dc525..00000000000
Binary files a/public/images/pokemon/variant/icons/5/548_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/548_3.png b/public/images/pokemon/variant/icons/5/548_3.png
deleted file mode 100644
index 4b31b7c0bdd..00000000000
Binary files a/public/images/pokemon/variant/icons/5/548_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/549_2.png b/public/images/pokemon/variant/icons/5/549_2.png
deleted file mode 100644
index 9dbb35707b5..00000000000
Binary files a/public/images/pokemon/variant/icons/5/549_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/549_3.png b/public/images/pokemon/variant/icons/5/549_3.png
deleted file mode 100644
index ef8dba0f5be..00000000000
Binary files a/public/images/pokemon/variant/icons/5/549_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/559_1.png b/public/images/pokemon/variant/icons/5/559_1.png
deleted file mode 100644
index 806899a722d..00000000000
Binary files a/public/images/pokemon/variant/icons/5/559_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/559_2.png b/public/images/pokemon/variant/icons/5/559_2.png
deleted file mode 100644
index 3323fc8c12f..00000000000
Binary files a/public/images/pokemon/variant/icons/5/559_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/559_3.png b/public/images/pokemon/variant/icons/5/559_3.png
deleted file mode 100644
index fdbb6f60687..00000000000
Binary files a/public/images/pokemon/variant/icons/5/559_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/560_1.png b/public/images/pokemon/variant/icons/5/560_1.png
deleted file mode 100644
index 1cdbe72ed94..00000000000
Binary files a/public/images/pokemon/variant/icons/5/560_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/560_2.png b/public/images/pokemon/variant/icons/5/560_2.png
deleted file mode 100644
index 8dcf14f9494..00000000000
Binary files a/public/images/pokemon/variant/icons/5/560_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/560_3.png b/public/images/pokemon/variant/icons/5/560_3.png
deleted file mode 100644
index 10351746c23..00000000000
Binary files a/public/images/pokemon/variant/icons/5/560_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/562_2.png b/public/images/pokemon/variant/icons/5/562_2.png
deleted file mode 100644
index 93b69b1b0d3..00000000000
Binary files a/public/images/pokemon/variant/icons/5/562_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/562_3.png b/public/images/pokemon/variant/icons/5/562_3.png
deleted file mode 100644
index 094cf780759..00000000000
Binary files a/public/images/pokemon/variant/icons/5/562_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/563_2.png b/public/images/pokemon/variant/icons/5/563_2.png
deleted file mode 100644
index f29fa7cca6c..00000000000
Binary files a/public/images/pokemon/variant/icons/5/563_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/563_3.png b/public/images/pokemon/variant/icons/5/563_3.png
deleted file mode 100644
index ae3bf60d3b3..00000000000
Binary files a/public/images/pokemon/variant/icons/5/563_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/570_2.png b/public/images/pokemon/variant/icons/5/570_2.png
deleted file mode 100644
index c72fb971f4a..00000000000
Binary files a/public/images/pokemon/variant/icons/5/570_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/570_3.png b/public/images/pokemon/variant/icons/5/570_3.png
deleted file mode 100644
index d68ea4261b7..00000000000
Binary files a/public/images/pokemon/variant/icons/5/570_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/571_2.png b/public/images/pokemon/variant/icons/5/571_2.png
deleted file mode 100644
index 1e238ee619d..00000000000
Binary files a/public/images/pokemon/variant/icons/5/571_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/571_3.png b/public/images/pokemon/variant/icons/5/571_3.png
deleted file mode 100644
index 528bfc4b719..00000000000
Binary files a/public/images/pokemon/variant/icons/5/571_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/572_2.png b/public/images/pokemon/variant/icons/5/572_2.png
deleted file mode 100644
index b6230a17cbc..00000000000
Binary files a/public/images/pokemon/variant/icons/5/572_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/572_3.png b/public/images/pokemon/variant/icons/5/572_3.png
deleted file mode 100644
index c0848deade2..00000000000
Binary files a/public/images/pokemon/variant/icons/5/572_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/577_1.png b/public/images/pokemon/variant/icons/5/577_1.png
deleted file mode 100644
index 16f8a4d6640..00000000000
Binary files a/public/images/pokemon/variant/icons/5/577_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/577_2.png b/public/images/pokemon/variant/icons/5/577_2.png
deleted file mode 100644
index ac85ca5f5c3..00000000000
Binary files a/public/images/pokemon/variant/icons/5/577_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/577_3.png b/public/images/pokemon/variant/icons/5/577_3.png
deleted file mode 100644
index e2d68729a1b..00000000000
Binary files a/public/images/pokemon/variant/icons/5/577_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/578_1.png b/public/images/pokemon/variant/icons/5/578_1.png
deleted file mode 100644
index 71364650cbb..00000000000
Binary files a/public/images/pokemon/variant/icons/5/578_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/578_2.png b/public/images/pokemon/variant/icons/5/578_2.png
deleted file mode 100644
index 7b3a54b60ce..00000000000
Binary files a/public/images/pokemon/variant/icons/5/578_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/578_3.png b/public/images/pokemon/variant/icons/5/578_3.png
deleted file mode 100644
index 27e53e15336..00000000000
Binary files a/public/images/pokemon/variant/icons/5/578_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/579_1.png b/public/images/pokemon/variant/icons/5/579_1.png
deleted file mode 100644
index 18a57ba8742..00000000000
Binary files a/public/images/pokemon/variant/icons/5/579_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/579_2.png b/public/images/pokemon/variant/icons/5/579_2.png
deleted file mode 100644
index 7424adf1e60..00000000000
Binary files a/public/images/pokemon/variant/icons/5/579_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/579_3.png b/public/images/pokemon/variant/icons/5/579_3.png
deleted file mode 100644
index af642842fac..00000000000
Binary files a/public/images/pokemon/variant/icons/5/579_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/585-autumn_1.png b/public/images/pokemon/variant/icons/5/585-autumn_1.png
deleted file mode 100644
index 90b61383f4f..00000000000
Binary files a/public/images/pokemon/variant/icons/5/585-autumn_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/585-spring_1.png b/public/images/pokemon/variant/icons/5/585-spring_1.png
deleted file mode 100644
index 0abf9205f97..00000000000
Binary files a/public/images/pokemon/variant/icons/5/585-spring_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/585-summer_1.png b/public/images/pokemon/variant/icons/5/585-summer_1.png
deleted file mode 100644
index 23884ba1548..00000000000
Binary files a/public/images/pokemon/variant/icons/5/585-summer_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/585-winter_1.png b/public/images/pokemon/variant/icons/5/585-winter_1.png
deleted file mode 100644
index 433405e8449..00000000000
Binary files a/public/images/pokemon/variant/icons/5/585-winter_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/586-autumn_1.png b/public/images/pokemon/variant/icons/5/586-autumn_1.png
deleted file mode 100644
index 5b18f2ed37d..00000000000
Binary files a/public/images/pokemon/variant/icons/5/586-autumn_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/586-spring_1.png b/public/images/pokemon/variant/icons/5/586-spring_1.png
deleted file mode 100644
index dad8e5491d6..00000000000
Binary files a/public/images/pokemon/variant/icons/5/586-spring_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/586-summer_1.png b/public/images/pokemon/variant/icons/5/586-summer_1.png
deleted file mode 100644
index e837a8d7efd..00000000000
Binary files a/public/images/pokemon/variant/icons/5/586-summer_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/586-winter_1.png b/public/images/pokemon/variant/icons/5/586-winter_1.png
deleted file mode 100644
index b5518e19b32..00000000000
Binary files a/public/images/pokemon/variant/icons/5/586-winter_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/595_2.png b/public/images/pokemon/variant/icons/5/595_2.png
deleted file mode 100644
index 88822ea7d41..00000000000
Binary files a/public/images/pokemon/variant/icons/5/595_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/595_3.png b/public/images/pokemon/variant/icons/5/595_3.png
deleted file mode 100644
index 99dc686d2c9..00000000000
Binary files a/public/images/pokemon/variant/icons/5/595_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/596_2.png b/public/images/pokemon/variant/icons/5/596_2.png
deleted file mode 100644
index 1e8c77ede8e..00000000000
Binary files a/public/images/pokemon/variant/icons/5/596_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/596_3.png b/public/images/pokemon/variant/icons/5/596_3.png
deleted file mode 100644
index a01217c6099..00000000000
Binary files a/public/images/pokemon/variant/icons/5/596_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/607_2.png b/public/images/pokemon/variant/icons/5/607_2.png
deleted file mode 100644
index 38725cd18e6..00000000000
Binary files a/public/images/pokemon/variant/icons/5/607_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/607_3.png b/public/images/pokemon/variant/icons/5/607_3.png
deleted file mode 100644
index be0d7109aaa..00000000000
Binary files a/public/images/pokemon/variant/icons/5/607_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/608_2.png b/public/images/pokemon/variant/icons/5/608_2.png
deleted file mode 100644
index 69aebb4cc86..00000000000
Binary files a/public/images/pokemon/variant/icons/5/608_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/608_3.png b/public/images/pokemon/variant/icons/5/608_3.png
deleted file mode 100644
index df55f56a395..00000000000
Binary files a/public/images/pokemon/variant/icons/5/608_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/609_2.png b/public/images/pokemon/variant/icons/5/609_2.png
deleted file mode 100644
index 8a8aac30577..00000000000
Binary files a/public/images/pokemon/variant/icons/5/609_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/609_3.png b/public/images/pokemon/variant/icons/5/609_3.png
deleted file mode 100644
index 93ed2232830..00000000000
Binary files a/public/images/pokemon/variant/icons/5/609_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/610_2.png b/public/images/pokemon/variant/icons/5/610_2.png
deleted file mode 100644
index f9e05990a3b..00000000000
Binary files a/public/images/pokemon/variant/icons/5/610_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/610_3.png b/public/images/pokemon/variant/icons/5/610_3.png
deleted file mode 100644
index 8441185abe0..00000000000
Binary files a/public/images/pokemon/variant/icons/5/610_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/611_2.png b/public/images/pokemon/variant/icons/5/611_2.png
deleted file mode 100644
index 33f05993d2a..00000000000
Binary files a/public/images/pokemon/variant/icons/5/611_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/611_3.png b/public/images/pokemon/variant/icons/5/611_3.png
deleted file mode 100644
index c4d95a35edf..00000000000
Binary files a/public/images/pokemon/variant/icons/5/611_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/612_2.png b/public/images/pokemon/variant/icons/5/612_2.png
deleted file mode 100644
index b17eec305d7..00000000000
Binary files a/public/images/pokemon/variant/icons/5/612_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/612_3.png b/public/images/pokemon/variant/icons/5/612_3.png
deleted file mode 100644
index dd25ae40a21..00000000000
Binary files a/public/images/pokemon/variant/icons/5/612_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/622_2.png b/public/images/pokemon/variant/icons/5/622_2.png
deleted file mode 100644
index 96e5ad16cf5..00000000000
Binary files a/public/images/pokemon/variant/icons/5/622_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/622_3.png b/public/images/pokemon/variant/icons/5/622_3.png
deleted file mode 100644
index 6575393112c..00000000000
Binary files a/public/images/pokemon/variant/icons/5/622_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/623_2.png b/public/images/pokemon/variant/icons/5/623_2.png
deleted file mode 100644
index c024a510326..00000000000
Binary files a/public/images/pokemon/variant/icons/5/623_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/623_3.png b/public/images/pokemon/variant/icons/5/623_3.png
deleted file mode 100644
index 88002cd0017..00000000000
Binary files a/public/images/pokemon/variant/icons/5/623_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/632_2.png b/public/images/pokemon/variant/icons/5/632_2.png
deleted file mode 100644
index 8146d54a410..00000000000
Binary files a/public/images/pokemon/variant/icons/5/632_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/632_3.png b/public/images/pokemon/variant/icons/5/632_3.png
deleted file mode 100644
index 786ebef54e5..00000000000
Binary files a/public/images/pokemon/variant/icons/5/632_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/633_2.png b/public/images/pokemon/variant/icons/5/633_2.png
deleted file mode 100644
index 3c6757ceb02..00000000000
Binary files a/public/images/pokemon/variant/icons/5/633_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/633_3.png b/public/images/pokemon/variant/icons/5/633_3.png
deleted file mode 100644
index d14fa5e9da8..00000000000
Binary files a/public/images/pokemon/variant/icons/5/633_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/634_2.png b/public/images/pokemon/variant/icons/5/634_2.png
deleted file mode 100644
index 35fa482f3b4..00000000000
Binary files a/public/images/pokemon/variant/icons/5/634_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/634_3.png b/public/images/pokemon/variant/icons/5/634_3.png
deleted file mode 100644
index 4f3ed3238e0..00000000000
Binary files a/public/images/pokemon/variant/icons/5/634_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/635_2.png b/public/images/pokemon/variant/icons/5/635_2.png
deleted file mode 100644
index c46af2fb65a..00000000000
Binary files a/public/images/pokemon/variant/icons/5/635_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/635_3.png b/public/images/pokemon/variant/icons/5/635_3.png
deleted file mode 100644
index 0d64cac9c81..00000000000
Binary files a/public/images/pokemon/variant/icons/5/635_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/636_2.png b/public/images/pokemon/variant/icons/5/636_2.png
deleted file mode 100644
index 92d0630247a..00000000000
Binary files a/public/images/pokemon/variant/icons/5/636_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/636_3.png b/public/images/pokemon/variant/icons/5/636_3.png
deleted file mode 100644
index a1a32a6e586..00000000000
Binary files a/public/images/pokemon/variant/icons/5/636_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/637_2.png b/public/images/pokemon/variant/icons/5/637_2.png
deleted file mode 100644
index 95ad5481f5c..00000000000
Binary files a/public/images/pokemon/variant/icons/5/637_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/637_3.png b/public/images/pokemon/variant/icons/5/637_3.png
deleted file mode 100644
index a8c4c932367..00000000000
Binary files a/public/images/pokemon/variant/icons/5/637_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/641-incarnate_1.png b/public/images/pokemon/variant/icons/5/641-incarnate_1.png
deleted file mode 100644
index ddd0ca15c0c..00000000000
Binary files a/public/images/pokemon/variant/icons/5/641-incarnate_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/641-therian_1.png b/public/images/pokemon/variant/icons/5/641-therian_1.png
deleted file mode 100644
index 8f6f01fd0d7..00000000000
Binary files a/public/images/pokemon/variant/icons/5/641-therian_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/642-incarnate_1.png b/public/images/pokemon/variant/icons/5/642-incarnate_1.png
deleted file mode 100644
index 55507be70b9..00000000000
Binary files a/public/images/pokemon/variant/icons/5/642-incarnate_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/642-therian_1.png b/public/images/pokemon/variant/icons/5/642-therian_1.png
deleted file mode 100644
index bea360abb95..00000000000
Binary files a/public/images/pokemon/variant/icons/5/642-therian_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/645-incarnate_1.png b/public/images/pokemon/variant/icons/5/645-incarnate_1.png
deleted file mode 100644
index 416fa9ca1db..00000000000
Binary files a/public/images/pokemon/variant/icons/5/645-incarnate_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/645-therian_1.png b/public/images/pokemon/variant/icons/5/645-therian_1.png
deleted file mode 100644
index c03d4233e29..00000000000
Binary files a/public/images/pokemon/variant/icons/5/645-therian_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/648-aria_2.png b/public/images/pokemon/variant/icons/5/648-aria_2.png
deleted file mode 100644
index 4992e1c3006..00000000000
Binary files a/public/images/pokemon/variant/icons/5/648-aria_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/648-aria_3.png b/public/images/pokemon/variant/icons/5/648-aria_3.png
deleted file mode 100644
index 55d8e658d63..00000000000
Binary files a/public/images/pokemon/variant/icons/5/648-aria_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/648-pirouette_2.png b/public/images/pokemon/variant/icons/5/648-pirouette_2.png
deleted file mode 100644
index 8b1db1a5519..00000000000
Binary files a/public/images/pokemon/variant/icons/5/648-pirouette_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/5/648-pirouette_3.png b/public/images/pokemon/variant/icons/5/648-pirouette_3.png
deleted file mode 100644
index 874ccfae7cc..00000000000
Binary files a/public/images/pokemon/variant/icons/5/648-pirouette_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/653_2.png b/public/images/pokemon/variant/icons/6/653_2.png
deleted file mode 100644
index 74fc7fe34fa..00000000000
Binary files a/public/images/pokemon/variant/icons/6/653_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/653_3.png b/public/images/pokemon/variant/icons/6/653_3.png
deleted file mode 100644
index 0a1b589e244..00000000000
Binary files a/public/images/pokemon/variant/icons/6/653_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/654_2.png b/public/images/pokemon/variant/icons/6/654_2.png
deleted file mode 100644
index ca0060cab01..00000000000
Binary files a/public/images/pokemon/variant/icons/6/654_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/654_3.png b/public/images/pokemon/variant/icons/6/654_3.png
deleted file mode 100644
index 489faa127ac..00000000000
Binary files a/public/images/pokemon/variant/icons/6/654_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/655_2.png b/public/images/pokemon/variant/icons/6/655_2.png
deleted file mode 100644
index 0e99195d0d8..00000000000
Binary files a/public/images/pokemon/variant/icons/6/655_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/655_3.png b/public/images/pokemon/variant/icons/6/655_3.png
deleted file mode 100644
index 6e340b68616..00000000000
Binary files a/public/images/pokemon/variant/icons/6/655_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/664_2.png b/public/images/pokemon/variant/icons/6/664_2.png
deleted file mode 100644
index 7453776377e..00000000000
Binary files a/public/images/pokemon/variant/icons/6/664_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/664_3.png b/public/images/pokemon/variant/icons/6/664_3.png
deleted file mode 100644
index def900f8b7f..00000000000
Binary files a/public/images/pokemon/variant/icons/6/664_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/665_2.png b/public/images/pokemon/variant/icons/6/665_2.png
deleted file mode 100644
index 36f66b5edd4..00000000000
Binary files a/public/images/pokemon/variant/icons/6/665_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/665_3.png b/public/images/pokemon/variant/icons/6/665_3.png
deleted file mode 100644
index e8a449d6606..00000000000
Binary files a/public/images/pokemon/variant/icons/6/665_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/666-archipelago_2.png b/public/images/pokemon/variant/icons/6/666-archipelago_2.png
deleted file mode 100644
index 31059899487..00000000000
Binary files a/public/images/pokemon/variant/icons/6/666-archipelago_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/666-archipelago_3.png b/public/images/pokemon/variant/icons/6/666-archipelago_3.png
deleted file mode 100644
index 6552b345b4e..00000000000
Binary files a/public/images/pokemon/variant/icons/6/666-archipelago_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/666-continental_2.png b/public/images/pokemon/variant/icons/6/666-continental_2.png
deleted file mode 100644
index 13a3f762c92..00000000000
Binary files a/public/images/pokemon/variant/icons/6/666-continental_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/666-continental_3.png b/public/images/pokemon/variant/icons/6/666-continental_3.png
deleted file mode 100644
index 4975a8f5c15..00000000000
Binary files a/public/images/pokemon/variant/icons/6/666-continental_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/666-elegant_2.png b/public/images/pokemon/variant/icons/6/666-elegant_2.png
deleted file mode 100644
index 8b94fed05b3..00000000000
Binary files a/public/images/pokemon/variant/icons/6/666-elegant_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/666-elegant_3.png b/public/images/pokemon/variant/icons/6/666-elegant_3.png
deleted file mode 100644
index 55de693caf5..00000000000
Binary files a/public/images/pokemon/variant/icons/6/666-elegant_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/666-fancy_2.png b/public/images/pokemon/variant/icons/6/666-fancy_2.png
deleted file mode 100644
index ebaf181b305..00000000000
Binary files a/public/images/pokemon/variant/icons/6/666-fancy_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/666-fancy_3.png b/public/images/pokemon/variant/icons/6/666-fancy_3.png
deleted file mode 100644
index 9da7e479fb0..00000000000
Binary files a/public/images/pokemon/variant/icons/6/666-fancy_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/666-garden_2.png b/public/images/pokemon/variant/icons/6/666-garden_2.png
deleted file mode 100644
index 43fe4c217cf..00000000000
Binary files a/public/images/pokemon/variant/icons/6/666-garden_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/666-garden_3.png b/public/images/pokemon/variant/icons/6/666-garden_3.png
deleted file mode 100644
index ba41f22906a..00000000000
Binary files a/public/images/pokemon/variant/icons/6/666-garden_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/666-high-plains_2.png b/public/images/pokemon/variant/icons/6/666-high-plains_2.png
deleted file mode 100644
index 926dc69c720..00000000000
Binary files a/public/images/pokemon/variant/icons/6/666-high-plains_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/666-high-plains_3.png b/public/images/pokemon/variant/icons/6/666-high-plains_3.png
deleted file mode 100644
index 9d4b334bf1d..00000000000
Binary files a/public/images/pokemon/variant/icons/6/666-high-plains_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/666-icy-snow_2.png b/public/images/pokemon/variant/icons/6/666-icy-snow_2.png
deleted file mode 100644
index 4afb3068279..00000000000
Binary files a/public/images/pokemon/variant/icons/6/666-icy-snow_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/666-icy-snow_3.png b/public/images/pokemon/variant/icons/6/666-icy-snow_3.png
deleted file mode 100644
index 20a0297bb09..00000000000
Binary files a/public/images/pokemon/variant/icons/6/666-icy-snow_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/666-jungle_2.png b/public/images/pokemon/variant/icons/6/666-jungle_2.png
deleted file mode 100644
index 85fbd76eaae..00000000000
Binary files a/public/images/pokemon/variant/icons/6/666-jungle_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/666-jungle_3.png b/public/images/pokemon/variant/icons/6/666-jungle_3.png
deleted file mode 100644
index 27f202c3f89..00000000000
Binary files a/public/images/pokemon/variant/icons/6/666-jungle_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/666-marine_2.png b/public/images/pokemon/variant/icons/6/666-marine_2.png
deleted file mode 100644
index fecac5f1a56..00000000000
Binary files a/public/images/pokemon/variant/icons/6/666-marine_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/666-marine_3.png b/public/images/pokemon/variant/icons/6/666-marine_3.png
deleted file mode 100644
index a6e6c678373..00000000000
Binary files a/public/images/pokemon/variant/icons/6/666-marine_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/666-meadow_2.png b/public/images/pokemon/variant/icons/6/666-meadow_2.png
deleted file mode 100644
index d9708f5335b..00000000000
Binary files a/public/images/pokemon/variant/icons/6/666-meadow_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/666-meadow_3.png b/public/images/pokemon/variant/icons/6/666-meadow_3.png
deleted file mode 100644
index 468668c3706..00000000000
Binary files a/public/images/pokemon/variant/icons/6/666-meadow_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/666-modern_2.png b/public/images/pokemon/variant/icons/6/666-modern_2.png
deleted file mode 100644
index 85fa6dcdb17..00000000000
Binary files a/public/images/pokemon/variant/icons/6/666-modern_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/666-modern_3.png b/public/images/pokemon/variant/icons/6/666-modern_3.png
deleted file mode 100644
index d925d62bf44..00000000000
Binary files a/public/images/pokemon/variant/icons/6/666-modern_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/666-monsoon_2.png b/public/images/pokemon/variant/icons/6/666-monsoon_2.png
deleted file mode 100644
index 7ea69bd1c91..00000000000
Binary files a/public/images/pokemon/variant/icons/6/666-monsoon_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/666-monsoon_3.png b/public/images/pokemon/variant/icons/6/666-monsoon_3.png
deleted file mode 100644
index 718572db21f..00000000000
Binary files a/public/images/pokemon/variant/icons/6/666-monsoon_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/666-ocean_2.png b/public/images/pokemon/variant/icons/6/666-ocean_2.png
deleted file mode 100644
index cdb012595a2..00000000000
Binary files a/public/images/pokemon/variant/icons/6/666-ocean_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/666-ocean_3.png b/public/images/pokemon/variant/icons/6/666-ocean_3.png
deleted file mode 100644
index eb2e996bfbb..00000000000
Binary files a/public/images/pokemon/variant/icons/6/666-ocean_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/666-poke-ball_2.png b/public/images/pokemon/variant/icons/6/666-poke-ball_2.png
deleted file mode 100644
index 2aacc409f13..00000000000
Binary files a/public/images/pokemon/variant/icons/6/666-poke-ball_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/666-poke-ball_3.png b/public/images/pokemon/variant/icons/6/666-poke-ball_3.png
deleted file mode 100644
index a41e6253560..00000000000
Binary files a/public/images/pokemon/variant/icons/6/666-poke-ball_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/666-polar_2.png b/public/images/pokemon/variant/icons/6/666-polar_2.png
deleted file mode 100644
index 2f69fdf66ab..00000000000
Binary files a/public/images/pokemon/variant/icons/6/666-polar_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/666-polar_3.png b/public/images/pokemon/variant/icons/6/666-polar_3.png
deleted file mode 100644
index 6a8bf6098fa..00000000000
Binary files a/public/images/pokemon/variant/icons/6/666-polar_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/666-river_2.png b/public/images/pokemon/variant/icons/6/666-river_2.png
deleted file mode 100644
index 66a892a9440..00000000000
Binary files a/public/images/pokemon/variant/icons/6/666-river_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/666-river_3.png b/public/images/pokemon/variant/icons/6/666-river_3.png
deleted file mode 100644
index 245d0b0423b..00000000000
Binary files a/public/images/pokemon/variant/icons/6/666-river_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/666-sandstorm_2.png b/public/images/pokemon/variant/icons/6/666-sandstorm_2.png
deleted file mode 100644
index 5376a7f4f6f..00000000000
Binary files a/public/images/pokemon/variant/icons/6/666-sandstorm_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/666-sandstorm_3.png b/public/images/pokemon/variant/icons/6/666-sandstorm_3.png
deleted file mode 100644
index a2249c34fa2..00000000000
Binary files a/public/images/pokemon/variant/icons/6/666-sandstorm_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/666-savanna_2.png b/public/images/pokemon/variant/icons/6/666-savanna_2.png
deleted file mode 100644
index a7e9fedf674..00000000000
Binary files a/public/images/pokemon/variant/icons/6/666-savanna_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/666-savanna_3.png b/public/images/pokemon/variant/icons/6/666-savanna_3.png
deleted file mode 100644
index 981b8155798..00000000000
Binary files a/public/images/pokemon/variant/icons/6/666-savanna_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/666-sun_2.png b/public/images/pokemon/variant/icons/6/666-sun_2.png
deleted file mode 100644
index 67505c4df98..00000000000
Binary files a/public/images/pokemon/variant/icons/6/666-sun_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/666-sun_3.png b/public/images/pokemon/variant/icons/6/666-sun_3.png
deleted file mode 100644
index 393a37c8773..00000000000
Binary files a/public/images/pokemon/variant/icons/6/666-sun_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/666-tundra_2.png b/public/images/pokemon/variant/icons/6/666-tundra_2.png
deleted file mode 100644
index 489013d6748..00000000000
Binary files a/public/images/pokemon/variant/icons/6/666-tundra_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/666-tundra_3.png b/public/images/pokemon/variant/icons/6/666-tundra_3.png
deleted file mode 100644
index 4127fd68b79..00000000000
Binary files a/public/images/pokemon/variant/icons/6/666-tundra_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/690_2.png b/public/images/pokemon/variant/icons/6/690_2.png
deleted file mode 100644
index d26f19ffeae..00000000000
Binary files a/public/images/pokemon/variant/icons/6/690_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/690_3.png b/public/images/pokemon/variant/icons/6/690_3.png
deleted file mode 100644
index 44f1dc8b129..00000000000
Binary files a/public/images/pokemon/variant/icons/6/690_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/691_2.png b/public/images/pokemon/variant/icons/6/691_2.png
deleted file mode 100644
index 0e941c2ec90..00000000000
Binary files a/public/images/pokemon/variant/icons/6/691_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/691_3.png b/public/images/pokemon/variant/icons/6/691_3.png
deleted file mode 100644
index 6c1f254636e..00000000000
Binary files a/public/images/pokemon/variant/icons/6/691_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/696_2.png b/public/images/pokemon/variant/icons/6/696_2.png
deleted file mode 100644
index 439efdde52a..00000000000
Binary files a/public/images/pokemon/variant/icons/6/696_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/696_3.png b/public/images/pokemon/variant/icons/6/696_3.png
deleted file mode 100644
index e2721bd69ac..00000000000
Binary files a/public/images/pokemon/variant/icons/6/696_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/697_2.png b/public/images/pokemon/variant/icons/6/697_2.png
deleted file mode 100644
index eee0fbc8415..00000000000
Binary files a/public/images/pokemon/variant/icons/6/697_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/697_3.png b/public/images/pokemon/variant/icons/6/697_3.png
deleted file mode 100644
index 02b61bc05c6..00000000000
Binary files a/public/images/pokemon/variant/icons/6/697_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/700_2.png b/public/images/pokemon/variant/icons/6/700_2.png
deleted file mode 100644
index 718027f0552..00000000000
Binary files a/public/images/pokemon/variant/icons/6/700_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/700_3.png b/public/images/pokemon/variant/icons/6/700_3.png
deleted file mode 100644
index 7a20bb24146..00000000000
Binary files a/public/images/pokemon/variant/icons/6/700_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/704_2.png b/public/images/pokemon/variant/icons/6/704_2.png
deleted file mode 100644
index b5ef3292868..00000000000
Binary files a/public/images/pokemon/variant/icons/6/704_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/704_3.png b/public/images/pokemon/variant/icons/6/704_3.png
deleted file mode 100644
index 362180b54a1..00000000000
Binary files a/public/images/pokemon/variant/icons/6/704_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/705_2.png b/public/images/pokemon/variant/icons/6/705_2.png
deleted file mode 100644
index de2fd606d6b..00000000000
Binary files a/public/images/pokemon/variant/icons/6/705_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/705_3.png b/public/images/pokemon/variant/icons/6/705_3.png
deleted file mode 100644
index f79760bc5b4..00000000000
Binary files a/public/images/pokemon/variant/icons/6/705_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/706_2.png b/public/images/pokemon/variant/icons/6/706_2.png
deleted file mode 100644
index 01999cbdd86..00000000000
Binary files a/public/images/pokemon/variant/icons/6/706_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/706_3.png b/public/images/pokemon/variant/icons/6/706_3.png
deleted file mode 100644
index 03c46970756..00000000000
Binary files a/public/images/pokemon/variant/icons/6/706_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/708_2.png b/public/images/pokemon/variant/icons/6/708_2.png
deleted file mode 100644
index 903a00f6164..00000000000
Binary files a/public/images/pokemon/variant/icons/6/708_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/708_3.png b/public/images/pokemon/variant/icons/6/708_3.png
deleted file mode 100644
index 0180fca8779..00000000000
Binary files a/public/images/pokemon/variant/icons/6/708_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/709_2.png b/public/images/pokemon/variant/icons/6/709_2.png
deleted file mode 100644
index 72eb02bb04e..00000000000
Binary files a/public/images/pokemon/variant/icons/6/709_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/709_3.png b/public/images/pokemon/variant/icons/6/709_3.png
deleted file mode 100644
index c53edfa6c9f..00000000000
Binary files a/public/images/pokemon/variant/icons/6/709_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/710_2.png b/public/images/pokemon/variant/icons/6/710_2.png
deleted file mode 100644
index 91d5b29d1ea..00000000000
Binary files a/public/images/pokemon/variant/icons/6/710_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/710_3.png b/public/images/pokemon/variant/icons/6/710_3.png
deleted file mode 100644
index 02e4ca50199..00000000000
Binary files a/public/images/pokemon/variant/icons/6/710_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/711_1.png b/public/images/pokemon/variant/icons/6/711_1.png
deleted file mode 100644
index b2360c10df2..00000000000
Binary files a/public/images/pokemon/variant/icons/6/711_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/711_2.png b/public/images/pokemon/variant/icons/6/711_2.png
deleted file mode 100644
index eb85beda5e8..00000000000
Binary files a/public/images/pokemon/variant/icons/6/711_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/711_3.png b/public/images/pokemon/variant/icons/6/711_3.png
deleted file mode 100644
index 6e37d2ebff4..00000000000
Binary files a/public/images/pokemon/variant/icons/6/711_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/716-active_2.png b/public/images/pokemon/variant/icons/6/716-active_2.png
deleted file mode 100644
index 320407e81f3..00000000000
Binary files a/public/images/pokemon/variant/icons/6/716-active_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/716-active_3.png b/public/images/pokemon/variant/icons/6/716-active_3.png
deleted file mode 100644
index cb575c30f67..00000000000
Binary files a/public/images/pokemon/variant/icons/6/716-active_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/716-neutral_2.png b/public/images/pokemon/variant/icons/6/716-neutral_2.png
deleted file mode 100644
index 51e4e640542..00000000000
Binary files a/public/images/pokemon/variant/icons/6/716-neutral_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/716-neutral_3.png b/public/images/pokemon/variant/icons/6/716-neutral_3.png
deleted file mode 100644
index 581686f3b06..00000000000
Binary files a/public/images/pokemon/variant/icons/6/716-neutral_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/717_2.png b/public/images/pokemon/variant/icons/6/717_2.png
deleted file mode 100644
index e99a4311980..00000000000
Binary files a/public/images/pokemon/variant/icons/6/717_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/717_3.png b/public/images/pokemon/variant/icons/6/717_3.png
deleted file mode 100644
index 8ca50df40e4..00000000000
Binary files a/public/images/pokemon/variant/icons/6/717_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/720-unbound_1.png b/public/images/pokemon/variant/icons/6/720-unbound_1.png
deleted file mode 100644
index e0f5e5f9e32..00000000000
Binary files a/public/images/pokemon/variant/icons/6/720-unbound_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/720-unbound_2.png b/public/images/pokemon/variant/icons/6/720-unbound_2.png
deleted file mode 100644
index 2ff7b5f8d92..00000000000
Binary files a/public/images/pokemon/variant/icons/6/720-unbound_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/720-unbound_3.png b/public/images/pokemon/variant/icons/6/720-unbound_3.png
deleted file mode 100644
index 29aa89b77e5..00000000000
Binary files a/public/images/pokemon/variant/icons/6/720-unbound_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/720_1.png b/public/images/pokemon/variant/icons/6/720_1.png
deleted file mode 100644
index 8a7f03ed222..00000000000
Binary files a/public/images/pokemon/variant/icons/6/720_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/720_2.png b/public/images/pokemon/variant/icons/6/720_2.png
deleted file mode 100644
index 632ccf7e3ab..00000000000
Binary files a/public/images/pokemon/variant/icons/6/720_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/6/720_3.png b/public/images/pokemon/variant/icons/6/720_3.png
deleted file mode 100644
index 7d0ea61305c..00000000000
Binary files a/public/images/pokemon/variant/icons/6/720_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/728_2.png b/public/images/pokemon/variant/icons/7/728_2.png
deleted file mode 100644
index 3aa87703a1e..00000000000
Binary files a/public/images/pokemon/variant/icons/7/728_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/728_3.png b/public/images/pokemon/variant/icons/7/728_3.png
deleted file mode 100644
index 39cf53f1da2..00000000000
Binary files a/public/images/pokemon/variant/icons/7/728_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/729_2.png b/public/images/pokemon/variant/icons/7/729_2.png
deleted file mode 100644
index 68a793b7ac2..00000000000
Binary files a/public/images/pokemon/variant/icons/7/729_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/729_3.png b/public/images/pokemon/variant/icons/7/729_3.png
deleted file mode 100644
index 17acbd2783c..00000000000
Binary files a/public/images/pokemon/variant/icons/7/729_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/730_2.png b/public/images/pokemon/variant/icons/7/730_2.png
deleted file mode 100644
index 2b8dd843c54..00000000000
Binary files a/public/images/pokemon/variant/icons/7/730_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/730_3.png b/public/images/pokemon/variant/icons/7/730_3.png
deleted file mode 100644
index 0703d8cfd27..00000000000
Binary files a/public/images/pokemon/variant/icons/7/730_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/747_2.png b/public/images/pokemon/variant/icons/7/747_2.png
deleted file mode 100644
index 618e2d03694..00000000000
Binary files a/public/images/pokemon/variant/icons/7/747_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/747_3.png b/public/images/pokemon/variant/icons/7/747_3.png
deleted file mode 100644
index df4ecf7373a..00000000000
Binary files a/public/images/pokemon/variant/icons/7/747_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/748_2.png b/public/images/pokemon/variant/icons/7/748_2.png
deleted file mode 100644
index 7dd1f40bebf..00000000000
Binary files a/public/images/pokemon/variant/icons/7/748_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/748_3.png b/public/images/pokemon/variant/icons/7/748_3.png
deleted file mode 100644
index 9432853a337..00000000000
Binary files a/public/images/pokemon/variant/icons/7/748_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/753_2.png b/public/images/pokemon/variant/icons/7/753_2.png
deleted file mode 100644
index 9f4eabc99e3..00000000000
Binary files a/public/images/pokemon/variant/icons/7/753_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/753_3.png b/public/images/pokemon/variant/icons/7/753_3.png
deleted file mode 100644
index 3b09bf63b27..00000000000
Binary files a/public/images/pokemon/variant/icons/7/753_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/754_2.png b/public/images/pokemon/variant/icons/7/754_2.png
deleted file mode 100644
index 492a51cbdfb..00000000000
Binary files a/public/images/pokemon/variant/icons/7/754_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/754_3.png b/public/images/pokemon/variant/icons/7/754_3.png
deleted file mode 100644
index 9c0fcb6b233..00000000000
Binary files a/public/images/pokemon/variant/icons/7/754_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/755_2.png b/public/images/pokemon/variant/icons/7/755_2.png
deleted file mode 100644
index 0467be6c530..00000000000
Binary files a/public/images/pokemon/variant/icons/7/755_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/755_3.png b/public/images/pokemon/variant/icons/7/755_3.png
deleted file mode 100644
index 0226bc43ba8..00000000000
Binary files a/public/images/pokemon/variant/icons/7/755_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/756_2.png b/public/images/pokemon/variant/icons/7/756_2.png
deleted file mode 100644
index 15c497acd2d..00000000000
Binary files a/public/images/pokemon/variant/icons/7/756_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/756_3.png b/public/images/pokemon/variant/icons/7/756_3.png
deleted file mode 100644
index b93ddee49fa..00000000000
Binary files a/public/images/pokemon/variant/icons/7/756_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/761_2.png b/public/images/pokemon/variant/icons/7/761_2.png
deleted file mode 100644
index a8257923663..00000000000
Binary files a/public/images/pokemon/variant/icons/7/761_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/761_3.png b/public/images/pokemon/variant/icons/7/761_3.png
deleted file mode 100644
index 46325a4f41e..00000000000
Binary files a/public/images/pokemon/variant/icons/7/761_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/762_2.png b/public/images/pokemon/variant/icons/7/762_2.png
deleted file mode 100644
index 98c42901971..00000000000
Binary files a/public/images/pokemon/variant/icons/7/762_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/762_3.png b/public/images/pokemon/variant/icons/7/762_3.png
deleted file mode 100644
index d26d5b370f5..00000000000
Binary files a/public/images/pokemon/variant/icons/7/762_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/763_2.png b/public/images/pokemon/variant/icons/7/763_2.png
deleted file mode 100644
index 49480fea9af..00000000000
Binary files a/public/images/pokemon/variant/icons/7/763_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/763_3.png b/public/images/pokemon/variant/icons/7/763_3.png
deleted file mode 100644
index 5a3ef24fd7b..00000000000
Binary files a/public/images/pokemon/variant/icons/7/763_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/767_2.png b/public/images/pokemon/variant/icons/7/767_2.png
deleted file mode 100644
index f15b6e875a1..00000000000
Binary files a/public/images/pokemon/variant/icons/7/767_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/767_3.png b/public/images/pokemon/variant/icons/7/767_3.png
deleted file mode 100644
index 561e0e050f8..00000000000
Binary files a/public/images/pokemon/variant/icons/7/767_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/768_2.png b/public/images/pokemon/variant/icons/7/768_2.png
deleted file mode 100644
index 93f53413739..00000000000
Binary files a/public/images/pokemon/variant/icons/7/768_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/768_3.png b/public/images/pokemon/variant/icons/7/768_3.png
deleted file mode 100644
index 0d60869a64e..00000000000
Binary files a/public/images/pokemon/variant/icons/7/768_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/789_1.png b/public/images/pokemon/variant/icons/7/789_1.png
deleted file mode 100644
index fe970efa3d4..00000000000
Binary files a/public/images/pokemon/variant/icons/7/789_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/789_2.png b/public/images/pokemon/variant/icons/7/789_2.png
deleted file mode 100644
index 40723d16b01..00000000000
Binary files a/public/images/pokemon/variant/icons/7/789_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/789_3.png b/public/images/pokemon/variant/icons/7/789_3.png
deleted file mode 100644
index b7010acfb66..00000000000
Binary files a/public/images/pokemon/variant/icons/7/789_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/790_2.png b/public/images/pokemon/variant/icons/7/790_2.png
deleted file mode 100644
index c0ba96c45c2..00000000000
Binary files a/public/images/pokemon/variant/icons/7/790_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/790_3.png b/public/images/pokemon/variant/icons/7/790_3.png
deleted file mode 100644
index c46edca22e3..00000000000
Binary files a/public/images/pokemon/variant/icons/7/790_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/791_1.png b/public/images/pokemon/variant/icons/7/791_1.png
deleted file mode 100644
index dfba58f0364..00000000000
Binary files a/public/images/pokemon/variant/icons/7/791_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/791_2.png b/public/images/pokemon/variant/icons/7/791_2.png
deleted file mode 100644
index 98ebb49dad4..00000000000
Binary files a/public/images/pokemon/variant/icons/7/791_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/791_3.png b/public/images/pokemon/variant/icons/7/791_3.png
deleted file mode 100644
index 6df5930b0ef..00000000000
Binary files a/public/images/pokemon/variant/icons/7/791_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/792_2.png b/public/images/pokemon/variant/icons/7/792_2.png
deleted file mode 100644
index 21c69bac01f..00000000000
Binary files a/public/images/pokemon/variant/icons/7/792_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/792_3.png b/public/images/pokemon/variant/icons/7/792_3.png
deleted file mode 100644
index 81e59050764..00000000000
Binary files a/public/images/pokemon/variant/icons/7/792_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/793_2.png b/public/images/pokemon/variant/icons/7/793_2.png
deleted file mode 100644
index c4c8977c807..00000000000
Binary files a/public/images/pokemon/variant/icons/7/793_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/793_3.png b/public/images/pokemon/variant/icons/7/793_3.png
deleted file mode 100644
index f64877f3e52..00000000000
Binary files a/public/images/pokemon/variant/icons/7/793_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/800-dawn-wings_2.png b/public/images/pokemon/variant/icons/7/800-dawn-wings_2.png
deleted file mode 100644
index b0c4d306f03..00000000000
Binary files a/public/images/pokemon/variant/icons/7/800-dawn-wings_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/800-dawn-wings_3.png b/public/images/pokemon/variant/icons/7/800-dawn-wings_3.png
deleted file mode 100644
index bef8e4ee52e..00000000000
Binary files a/public/images/pokemon/variant/icons/7/800-dawn-wings_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/800-dusk-mane_2.png b/public/images/pokemon/variant/icons/7/800-dusk-mane_2.png
deleted file mode 100644
index 571cf4736e3..00000000000
Binary files a/public/images/pokemon/variant/icons/7/800-dusk-mane_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/800-dusk-mane_3.png b/public/images/pokemon/variant/icons/7/800-dusk-mane_3.png
deleted file mode 100644
index 96c309e8b15..00000000000
Binary files a/public/images/pokemon/variant/icons/7/800-dusk-mane_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/800-ultra_2.png b/public/images/pokemon/variant/icons/7/800-ultra_2.png
deleted file mode 100644
index 75ee17fa2f3..00000000000
Binary files a/public/images/pokemon/variant/icons/7/800-ultra_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/800-ultra_3.png b/public/images/pokemon/variant/icons/7/800-ultra_3.png
deleted file mode 100644
index d4d35bbfb9d..00000000000
Binary files a/public/images/pokemon/variant/icons/7/800-ultra_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/800_2.png b/public/images/pokemon/variant/icons/7/800_2.png
deleted file mode 100644
index b107563964f..00000000000
Binary files a/public/images/pokemon/variant/icons/7/800_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/800_3.png b/public/images/pokemon/variant/icons/7/800_3.png
deleted file mode 100644
index a726b890756..00000000000
Binary files a/public/images/pokemon/variant/icons/7/800_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/802_1.png b/public/images/pokemon/variant/icons/7/802_1.png
deleted file mode 100644
index d9e268dd2e7..00000000000
Binary files a/public/images/pokemon/variant/icons/7/802_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/802_2.png b/public/images/pokemon/variant/icons/7/802_2.png
deleted file mode 100644
index 039dbd12e03..00000000000
Binary files a/public/images/pokemon/variant/icons/7/802_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/802_3.png b/public/images/pokemon/variant/icons/7/802_3.png
deleted file mode 100644
index e371bd9e6bc..00000000000
Binary files a/public/images/pokemon/variant/icons/7/802_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/808_2.png b/public/images/pokemon/variant/icons/7/808_2.png
deleted file mode 100644
index fa2bae22836..00000000000
Binary files a/public/images/pokemon/variant/icons/7/808_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/808_3.png b/public/images/pokemon/variant/icons/7/808_3.png
deleted file mode 100644
index 49dec761bf4..00000000000
Binary files a/public/images/pokemon/variant/icons/7/808_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/809-gigantamax_2.png b/public/images/pokemon/variant/icons/7/809-gigantamax_2.png
deleted file mode 100644
index 00b22ee0bea..00000000000
Binary files a/public/images/pokemon/variant/icons/7/809-gigantamax_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/809-gigantamax_3.png b/public/images/pokemon/variant/icons/7/809-gigantamax_3.png
deleted file mode 100644
index 36897253693..00000000000
Binary files a/public/images/pokemon/variant/icons/7/809-gigantamax_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/809_2.png b/public/images/pokemon/variant/icons/7/809_2.png
deleted file mode 100644
index c10f36cc8a2..00000000000
Binary files a/public/images/pokemon/variant/icons/7/809_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/7/809_3.png b/public/images/pokemon/variant/icons/7/809_3.png
deleted file mode 100644
index 813379e46c1..00000000000
Binary files a/public/images/pokemon/variant/icons/7/809_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/4052_2.png b/public/images/pokemon/variant/icons/8/4052_2.png
deleted file mode 100644
index 0d71d69fa06..00000000000
Binary files a/public/images/pokemon/variant/icons/8/4052_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/4052_3.png b/public/images/pokemon/variant/icons/8/4052_3.png
deleted file mode 100644
index 14038420fc3..00000000000
Binary files a/public/images/pokemon/variant/icons/8/4052_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/4263_2.png b/public/images/pokemon/variant/icons/8/4263_2.png
deleted file mode 100644
index abf0690d946..00000000000
Binary files a/public/images/pokemon/variant/icons/8/4263_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/4263_3.png b/public/images/pokemon/variant/icons/8/4263_3.png
deleted file mode 100644
index eb41f1d6edf..00000000000
Binary files a/public/images/pokemon/variant/icons/8/4263_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/4264_2.png b/public/images/pokemon/variant/icons/8/4264_2.png
deleted file mode 100644
index a176b19139b..00000000000
Binary files a/public/images/pokemon/variant/icons/8/4264_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/4264_3.png b/public/images/pokemon/variant/icons/8/4264_3.png
deleted file mode 100644
index 80ff6ee4314..00000000000
Binary files a/public/images/pokemon/variant/icons/8/4264_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/6215_2.png b/public/images/pokemon/variant/icons/8/6215_2.png
deleted file mode 100644
index fcc3a2c0bec..00000000000
Binary files a/public/images/pokemon/variant/icons/8/6215_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/6215_3.png b/public/images/pokemon/variant/icons/8/6215_3.png
deleted file mode 100644
index 5f01d7ac0dd..00000000000
Binary files a/public/images/pokemon/variant/icons/8/6215_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/6549_2.png b/public/images/pokemon/variant/icons/8/6549_2.png
deleted file mode 100644
index 89846aeb4c3..00000000000
Binary files a/public/images/pokemon/variant/icons/8/6549_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/6549_3.png b/public/images/pokemon/variant/icons/8/6549_3.png
deleted file mode 100644
index 017b78430d6..00000000000
Binary files a/public/images/pokemon/variant/icons/8/6549_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/6570_2.png b/public/images/pokemon/variant/icons/8/6570_2.png
deleted file mode 100644
index c1309423a17..00000000000
Binary files a/public/images/pokemon/variant/icons/8/6570_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/6570_3.png b/public/images/pokemon/variant/icons/8/6570_3.png
deleted file mode 100644
index d01a08b1745..00000000000
Binary files a/public/images/pokemon/variant/icons/8/6570_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/6571_2.png b/public/images/pokemon/variant/icons/8/6571_2.png
deleted file mode 100644
index 2da0932716b..00000000000
Binary files a/public/images/pokemon/variant/icons/8/6571_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/6571_3.png b/public/images/pokemon/variant/icons/8/6571_3.png
deleted file mode 100644
index e1587335c74..00000000000
Binary files a/public/images/pokemon/variant/icons/8/6571_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/6705_2.png b/public/images/pokemon/variant/icons/8/6705_2.png
deleted file mode 100644
index 2f4a0b3f939..00000000000
Binary files a/public/images/pokemon/variant/icons/8/6705_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/6705_3.png b/public/images/pokemon/variant/icons/8/6705_3.png
deleted file mode 100644
index 47798e1e9c6..00000000000
Binary files a/public/images/pokemon/variant/icons/8/6705_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/6706_2.png b/public/images/pokemon/variant/icons/8/6706_2.png
deleted file mode 100644
index 8f2423ebd7c..00000000000
Binary files a/public/images/pokemon/variant/icons/8/6706_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/6706_3.png b/public/images/pokemon/variant/icons/8/6706_3.png
deleted file mode 100644
index 7f265f02f4c..00000000000
Binary files a/public/images/pokemon/variant/icons/8/6706_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/821_2.png b/public/images/pokemon/variant/icons/8/821_2.png
deleted file mode 100644
index 5b449e5feba..00000000000
Binary files a/public/images/pokemon/variant/icons/8/821_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/821_3.png b/public/images/pokemon/variant/icons/8/821_3.png
deleted file mode 100644
index eeed384b92f..00000000000
Binary files a/public/images/pokemon/variant/icons/8/821_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/822_2.png b/public/images/pokemon/variant/icons/8/822_2.png
deleted file mode 100644
index f632cf31a47..00000000000
Binary files a/public/images/pokemon/variant/icons/8/822_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/822_3.png b/public/images/pokemon/variant/icons/8/822_3.png
deleted file mode 100644
index 306efdb7140..00000000000
Binary files a/public/images/pokemon/variant/icons/8/822_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/823-gigantamax_2.png b/public/images/pokemon/variant/icons/8/823-gigantamax_2.png
deleted file mode 100644
index 5d0a40e8cae..00000000000
Binary files a/public/images/pokemon/variant/icons/8/823-gigantamax_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/823-gigantamax_3.png b/public/images/pokemon/variant/icons/8/823-gigantamax_3.png
deleted file mode 100644
index c249206b3e8..00000000000
Binary files a/public/images/pokemon/variant/icons/8/823-gigantamax_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/823_2.png b/public/images/pokemon/variant/icons/8/823_2.png
deleted file mode 100644
index dfd5d3dbf0d..00000000000
Binary files a/public/images/pokemon/variant/icons/8/823_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/823_3.png b/public/images/pokemon/variant/icons/8/823_3.png
deleted file mode 100644
index 881c79314a7..00000000000
Binary files a/public/images/pokemon/variant/icons/8/823_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/829_2.png b/public/images/pokemon/variant/icons/8/829_2.png
deleted file mode 100644
index 350d90c1269..00000000000
Binary files a/public/images/pokemon/variant/icons/8/829_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/829_3.png b/public/images/pokemon/variant/icons/8/829_3.png
deleted file mode 100644
index 5fcba4d0bc9..00000000000
Binary files a/public/images/pokemon/variant/icons/8/829_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/830_2.png b/public/images/pokemon/variant/icons/8/830_2.png
deleted file mode 100644
index dad419af7f3..00000000000
Binary files a/public/images/pokemon/variant/icons/8/830_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/830_3.png b/public/images/pokemon/variant/icons/8/830_3.png
deleted file mode 100644
index a50fbb04f8f..00000000000
Binary files a/public/images/pokemon/variant/icons/8/830_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/835_2.png b/public/images/pokemon/variant/icons/8/835_2.png
deleted file mode 100644
index 73840f23af5..00000000000
Binary files a/public/images/pokemon/variant/icons/8/835_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/835_3.png b/public/images/pokemon/variant/icons/8/835_3.png
deleted file mode 100644
index 46eca8da04a..00000000000
Binary files a/public/images/pokemon/variant/icons/8/835_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/836_2.png b/public/images/pokemon/variant/icons/8/836_2.png
deleted file mode 100644
index d85c4066966..00000000000
Binary files a/public/images/pokemon/variant/icons/8/836_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/836_3.png b/public/images/pokemon/variant/icons/8/836_3.png
deleted file mode 100644
index 2c3dc0e4146..00000000000
Binary files a/public/images/pokemon/variant/icons/8/836_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/851-gigantamax_2.png b/public/images/pokemon/variant/icons/8/851-gigantamax_2.png
deleted file mode 100644
index 33e2386319a..00000000000
Binary files a/public/images/pokemon/variant/icons/8/851-gigantamax_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/851-gigantamax_3.png b/public/images/pokemon/variant/icons/8/851-gigantamax_3.png
deleted file mode 100644
index a444420e17f..00000000000
Binary files a/public/images/pokemon/variant/icons/8/851-gigantamax_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/856_2.png b/public/images/pokemon/variant/icons/8/856_2.png
deleted file mode 100644
index 6474bf08629..00000000000
Binary files a/public/images/pokemon/variant/icons/8/856_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/856_3.png b/public/images/pokemon/variant/icons/8/856_3.png
deleted file mode 100644
index c5898aa47e0..00000000000
Binary files a/public/images/pokemon/variant/icons/8/856_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/857_2.png b/public/images/pokemon/variant/icons/8/857_2.png
deleted file mode 100644
index b1a4c2f82ba..00000000000
Binary files a/public/images/pokemon/variant/icons/8/857_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/857_3.png b/public/images/pokemon/variant/icons/8/857_3.png
deleted file mode 100644
index d04b631f628..00000000000
Binary files a/public/images/pokemon/variant/icons/8/857_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/858-gigantamax_2.png b/public/images/pokemon/variant/icons/8/858-gigantamax_2.png
deleted file mode 100644
index 8318e810b9b..00000000000
Binary files a/public/images/pokemon/variant/icons/8/858-gigantamax_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/858-gigantamax_3.png b/public/images/pokemon/variant/icons/8/858-gigantamax_3.png
deleted file mode 100644
index 30a463a679a..00000000000
Binary files a/public/images/pokemon/variant/icons/8/858-gigantamax_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/858_2.png b/public/images/pokemon/variant/icons/8/858_2.png
deleted file mode 100644
index c129c2df02d..00000000000
Binary files a/public/images/pokemon/variant/icons/8/858_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/858_3.png b/public/images/pokemon/variant/icons/8/858_3.png
deleted file mode 100644
index 499312644de..00000000000
Binary files a/public/images/pokemon/variant/icons/8/858_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/862_2.png b/public/images/pokemon/variant/icons/8/862_2.png
deleted file mode 100644
index 87a3d78d462..00000000000
Binary files a/public/images/pokemon/variant/icons/8/862_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/862_3.png b/public/images/pokemon/variant/icons/8/862_3.png
deleted file mode 100644
index 81702e80b6e..00000000000
Binary files a/public/images/pokemon/variant/icons/8/862_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/863_2.png b/public/images/pokemon/variant/icons/8/863_2.png
deleted file mode 100644
index 8fde01a1bf0..00000000000
Binary files a/public/images/pokemon/variant/icons/8/863_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/863_3.png b/public/images/pokemon/variant/icons/8/863_3.png
deleted file mode 100644
index 0f5899de0f7..00000000000
Binary files a/public/images/pokemon/variant/icons/8/863_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/872_1.png b/public/images/pokemon/variant/icons/8/872_1.png
deleted file mode 100644
index 585412d2397..00000000000
Binary files a/public/images/pokemon/variant/icons/8/872_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/872_2.png b/public/images/pokemon/variant/icons/8/872_2.png
deleted file mode 100644
index 258f8fd225b..00000000000
Binary files a/public/images/pokemon/variant/icons/8/872_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/872_3.png b/public/images/pokemon/variant/icons/8/872_3.png
deleted file mode 100644
index 2dc2a3f88da..00000000000
Binary files a/public/images/pokemon/variant/icons/8/872_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/873_1.png b/public/images/pokemon/variant/icons/8/873_1.png
deleted file mode 100644
index e3ca501356b..00000000000
Binary files a/public/images/pokemon/variant/icons/8/873_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/873_2.png b/public/images/pokemon/variant/icons/8/873_2.png
deleted file mode 100644
index 76a37ec55c8..00000000000
Binary files a/public/images/pokemon/variant/icons/8/873_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/873_3.png b/public/images/pokemon/variant/icons/8/873_3.png
deleted file mode 100644
index 8101b0f317e..00000000000
Binary files a/public/images/pokemon/variant/icons/8/873_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/877-hangry_1.png b/public/images/pokemon/variant/icons/8/877-hangry_1.png
deleted file mode 100644
index 9ccfcba6dcf..00000000000
Binary files a/public/images/pokemon/variant/icons/8/877-hangry_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/877-hangry_2.png b/public/images/pokemon/variant/icons/8/877-hangry_2.png
deleted file mode 100644
index 03c6e48a63d..00000000000
Binary files a/public/images/pokemon/variant/icons/8/877-hangry_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/877-hangry_3.png b/public/images/pokemon/variant/icons/8/877-hangry_3.png
deleted file mode 100644
index 5dbf6ca7cdf..00000000000
Binary files a/public/images/pokemon/variant/icons/8/877-hangry_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/877_1.png b/public/images/pokemon/variant/icons/8/877_1.png
deleted file mode 100644
index c9cd435fac8..00000000000
Binary files a/public/images/pokemon/variant/icons/8/877_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/877_2.png b/public/images/pokemon/variant/icons/8/877_2.png
deleted file mode 100644
index bfebde92e5e..00000000000
Binary files a/public/images/pokemon/variant/icons/8/877_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/877_3.png b/public/images/pokemon/variant/icons/8/877_3.png
deleted file mode 100644
index 8fb654de930..00000000000
Binary files a/public/images/pokemon/variant/icons/8/877_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/885_1.png b/public/images/pokemon/variant/icons/8/885_1.png
deleted file mode 100644
index ec0849c4a3a..00000000000
Binary files a/public/images/pokemon/variant/icons/8/885_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/885_2.png b/public/images/pokemon/variant/icons/8/885_2.png
deleted file mode 100644
index 5b19fac0813..00000000000
Binary files a/public/images/pokemon/variant/icons/8/885_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/885_3.png b/public/images/pokemon/variant/icons/8/885_3.png
deleted file mode 100644
index 3938810e1d9..00000000000
Binary files a/public/images/pokemon/variant/icons/8/885_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/886_1.png b/public/images/pokemon/variant/icons/8/886_1.png
deleted file mode 100644
index 0001af872dc..00000000000
Binary files a/public/images/pokemon/variant/icons/8/886_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/886_2.png b/public/images/pokemon/variant/icons/8/886_2.png
deleted file mode 100644
index b49491cbafd..00000000000
Binary files a/public/images/pokemon/variant/icons/8/886_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/886_3.png b/public/images/pokemon/variant/icons/8/886_3.png
deleted file mode 100644
index 5de076df77c..00000000000
Binary files a/public/images/pokemon/variant/icons/8/886_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/887_1.png b/public/images/pokemon/variant/icons/8/887_1.png
deleted file mode 100644
index 6efb0d638d6..00000000000
Binary files a/public/images/pokemon/variant/icons/8/887_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/887_2.png b/public/images/pokemon/variant/icons/8/887_2.png
deleted file mode 100644
index 28a337f295b..00000000000
Binary files a/public/images/pokemon/variant/icons/8/887_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/887_3.png b/public/images/pokemon/variant/icons/8/887_3.png
deleted file mode 100644
index 12507e42247..00000000000
Binary files a/public/images/pokemon/variant/icons/8/887_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/890-eternamax_2.png b/public/images/pokemon/variant/icons/8/890-eternamax_2.png
deleted file mode 100644
index e9168e582cf..00000000000
Binary files a/public/images/pokemon/variant/icons/8/890-eternamax_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/890-eternamax_3.png b/public/images/pokemon/variant/icons/8/890-eternamax_3.png
deleted file mode 100644
index 885d081c6e0..00000000000
Binary files a/public/images/pokemon/variant/icons/8/890-eternamax_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/890_2.png b/public/images/pokemon/variant/icons/8/890_2.png
deleted file mode 100644
index 2afdc3f6fee..00000000000
Binary files a/public/images/pokemon/variant/icons/8/890_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/890_3.png b/public/images/pokemon/variant/icons/8/890_3.png
deleted file mode 100644
index dbf49ec615a..00000000000
Binary files a/public/images/pokemon/variant/icons/8/890_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/900_2.png b/public/images/pokemon/variant/icons/8/900_2.png
deleted file mode 100644
index 376c1dbe794..00000000000
Binary files a/public/images/pokemon/variant/icons/8/900_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/900_3.png b/public/images/pokemon/variant/icons/8/900_3.png
deleted file mode 100644
index 9e2fb2a91af..00000000000
Binary files a/public/images/pokemon/variant/icons/8/900_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/901_1.png b/public/images/pokemon/variant/icons/8/901_1.png
deleted file mode 100644
index fadff3dce8d..00000000000
Binary files a/public/images/pokemon/variant/icons/8/901_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/901_2.png b/public/images/pokemon/variant/icons/8/901_2.png
deleted file mode 100644
index 0140889bd6d..00000000000
Binary files a/public/images/pokemon/variant/icons/8/901_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/901_3.png b/public/images/pokemon/variant/icons/8/901_3.png
deleted file mode 100644
index 7e21a682fa3..00000000000
Binary files a/public/images/pokemon/variant/icons/8/901_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/903_2.png b/public/images/pokemon/variant/icons/8/903_2.png
deleted file mode 100644
index fdcabbe644f..00000000000
Binary files a/public/images/pokemon/variant/icons/8/903_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/8/903_3.png b/public/images/pokemon/variant/icons/8/903_3.png
deleted file mode 100644
index b96cbbd6154..00000000000
Binary files a/public/images/pokemon/variant/icons/8/903_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/1000_1.png b/public/images/pokemon/variant/icons/9/1000_1.png
deleted file mode 100644
index 92457719472..00000000000
Binary files a/public/images/pokemon/variant/icons/9/1000_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/1000_2.png b/public/images/pokemon/variant/icons/9/1000_2.png
deleted file mode 100644
index def858c1d10..00000000000
Binary files a/public/images/pokemon/variant/icons/9/1000_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/1000_3.png b/public/images/pokemon/variant/icons/9/1000_3.png
deleted file mode 100644
index e9ce3de8d62..00000000000
Binary files a/public/images/pokemon/variant/icons/9/1000_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/1001_2.png b/public/images/pokemon/variant/icons/9/1001_2.png
deleted file mode 100644
index 65398390881..00000000000
Binary files a/public/images/pokemon/variant/icons/9/1001_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/1001_3.png b/public/images/pokemon/variant/icons/9/1001_3.png
deleted file mode 100644
index 99d29a19c00..00000000000
Binary files a/public/images/pokemon/variant/icons/9/1001_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/1004_2.png b/public/images/pokemon/variant/icons/9/1004_2.png
deleted file mode 100644
index 1a2761659a6..00000000000
Binary files a/public/images/pokemon/variant/icons/9/1004_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/1004_3.png b/public/images/pokemon/variant/icons/9/1004_3.png
deleted file mode 100644
index d42a84ed698..00000000000
Binary files a/public/images/pokemon/variant/icons/9/1004_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/1007-apex-build_2.png b/public/images/pokemon/variant/icons/9/1007-apex-build_2.png
deleted file mode 100644
index 7b8fd5f6114..00000000000
Binary files a/public/images/pokemon/variant/icons/9/1007-apex-build_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/1007-apex-build_3.png b/public/images/pokemon/variant/icons/9/1007-apex-build_3.png
deleted file mode 100644
index ead43d9b1f9..00000000000
Binary files a/public/images/pokemon/variant/icons/9/1007-apex-build_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/1008-ultimate-mode_1.png b/public/images/pokemon/variant/icons/9/1008-ultimate-mode_1.png
deleted file mode 100644
index 554984faa64..00000000000
Binary files a/public/images/pokemon/variant/icons/9/1008-ultimate-mode_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/1008-ultimate-mode_2.png b/public/images/pokemon/variant/icons/9/1008-ultimate-mode_2.png
deleted file mode 100644
index b96ce1bd85b..00000000000
Binary files a/public/images/pokemon/variant/icons/9/1008-ultimate-mode_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/1008-ultimate-mode_3.png b/public/images/pokemon/variant/icons/9/1008-ultimate-mode_3.png
deleted file mode 100644
index a3698052aa8..00000000000
Binary files a/public/images/pokemon/variant/icons/9/1008-ultimate-mode_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/8901_1.png b/public/images/pokemon/variant/icons/9/8901_1.png
deleted file mode 100644
index fb0c9c395fb..00000000000
Binary files a/public/images/pokemon/variant/icons/9/8901_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/8901_2.png b/public/images/pokemon/variant/icons/9/8901_2.png
deleted file mode 100644
index c95721ee59e..00000000000
Binary files a/public/images/pokemon/variant/icons/9/8901_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/8901_3.png b/public/images/pokemon/variant/icons/9/8901_3.png
deleted file mode 100644
index 926777a226f..00000000000
Binary files a/public/images/pokemon/variant/icons/9/8901_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/909_2.png b/public/images/pokemon/variant/icons/9/909_2.png
deleted file mode 100644
index d5797290e69..00000000000
Binary files a/public/images/pokemon/variant/icons/9/909_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/909_3.png b/public/images/pokemon/variant/icons/9/909_3.png
deleted file mode 100644
index d4d7a9593a4..00000000000
Binary files a/public/images/pokemon/variant/icons/9/909_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/910_2.png b/public/images/pokemon/variant/icons/9/910_2.png
deleted file mode 100644
index 9a808d0e3b7..00000000000
Binary files a/public/images/pokemon/variant/icons/9/910_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/910_3.png b/public/images/pokemon/variant/icons/9/910_3.png
deleted file mode 100644
index 0521f47961f..00000000000
Binary files a/public/images/pokemon/variant/icons/9/910_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/911_2.png b/public/images/pokemon/variant/icons/9/911_2.png
deleted file mode 100644
index cebbbb77c95..00000000000
Binary files a/public/images/pokemon/variant/icons/9/911_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/911_3.png b/public/images/pokemon/variant/icons/9/911_3.png
deleted file mode 100644
index 3182c11e2e0..00000000000
Binary files a/public/images/pokemon/variant/icons/9/911_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/919_1.png b/public/images/pokemon/variant/icons/9/919_1.png
deleted file mode 100644
index d6020b717db..00000000000
Binary files a/public/images/pokemon/variant/icons/9/919_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/919_2.png b/public/images/pokemon/variant/icons/9/919_2.png
deleted file mode 100644
index 0e6cc33f0cb..00000000000
Binary files a/public/images/pokemon/variant/icons/9/919_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/919_3.png b/public/images/pokemon/variant/icons/9/919_3.png
deleted file mode 100644
index 5480bc5f1f8..00000000000
Binary files a/public/images/pokemon/variant/icons/9/919_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/920_1.png b/public/images/pokemon/variant/icons/9/920_1.png
deleted file mode 100644
index 186bebbdc9d..00000000000
Binary files a/public/images/pokemon/variant/icons/9/920_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/920_2.png b/public/images/pokemon/variant/icons/9/920_2.png
deleted file mode 100644
index 99b1e663dc0..00000000000
Binary files a/public/images/pokemon/variant/icons/9/920_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/920_3.png b/public/images/pokemon/variant/icons/9/920_3.png
deleted file mode 100644
index 25bd3d3c629..00000000000
Binary files a/public/images/pokemon/variant/icons/9/920_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/924_1.png b/public/images/pokemon/variant/icons/9/924_1.png
deleted file mode 100644
index fbf980cd5f1..00000000000
Binary files a/public/images/pokemon/variant/icons/9/924_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/924_2.png b/public/images/pokemon/variant/icons/9/924_2.png
deleted file mode 100644
index 5432c135b40..00000000000
Binary files a/public/images/pokemon/variant/icons/9/924_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/924_3.png b/public/images/pokemon/variant/icons/9/924_3.png
deleted file mode 100644
index fe438313f67..00000000000
Binary files a/public/images/pokemon/variant/icons/9/924_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/925-four_1.png b/public/images/pokemon/variant/icons/9/925-four_1.png
deleted file mode 100644
index 5e5fa3dd186..00000000000
Binary files a/public/images/pokemon/variant/icons/9/925-four_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/925-four_2.png b/public/images/pokemon/variant/icons/9/925-four_2.png
deleted file mode 100644
index 9f480930adc..00000000000
Binary files a/public/images/pokemon/variant/icons/9/925-four_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/925-four_3.png b/public/images/pokemon/variant/icons/9/925-four_3.png
deleted file mode 100644
index 997bb356a0d..00000000000
Binary files a/public/images/pokemon/variant/icons/9/925-four_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/925-three_1.png b/public/images/pokemon/variant/icons/9/925-three_1.png
deleted file mode 100644
index 486f5c0ec3b..00000000000
Binary files a/public/images/pokemon/variant/icons/9/925-three_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/925-three_2.png b/public/images/pokemon/variant/icons/9/925-three_2.png
deleted file mode 100644
index 53eaec0f370..00000000000
Binary files a/public/images/pokemon/variant/icons/9/925-three_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/925-three_3.png b/public/images/pokemon/variant/icons/9/925-three_3.png
deleted file mode 100644
index 1381738cc7b..00000000000
Binary files a/public/images/pokemon/variant/icons/9/925-three_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/935_1.png b/public/images/pokemon/variant/icons/9/935_1.png
deleted file mode 100644
index 2b143a45186..00000000000
Binary files a/public/images/pokemon/variant/icons/9/935_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/935_2.png b/public/images/pokemon/variant/icons/9/935_2.png
deleted file mode 100644
index 3d6abd8bbba..00000000000
Binary files a/public/images/pokemon/variant/icons/9/935_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/935_3.png b/public/images/pokemon/variant/icons/9/935_3.png
deleted file mode 100644
index 4b0994edc52..00000000000
Binary files a/public/images/pokemon/variant/icons/9/935_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/936_1.png b/public/images/pokemon/variant/icons/9/936_1.png
deleted file mode 100644
index 6c6cc516351..00000000000
Binary files a/public/images/pokemon/variant/icons/9/936_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/936_2.png b/public/images/pokemon/variant/icons/9/936_2.png
deleted file mode 100644
index 7faf7fc2363..00000000000
Binary files a/public/images/pokemon/variant/icons/9/936_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/936_3.png b/public/images/pokemon/variant/icons/9/936_3.png
deleted file mode 100644
index 37809ee2fcb..00000000000
Binary files a/public/images/pokemon/variant/icons/9/936_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/937_1.png b/public/images/pokemon/variant/icons/9/937_1.png
deleted file mode 100644
index 3539fb65dcd..00000000000
Binary files a/public/images/pokemon/variant/icons/9/937_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/937_2.png b/public/images/pokemon/variant/icons/9/937_2.png
deleted file mode 100644
index 8406702bdcb..00000000000
Binary files a/public/images/pokemon/variant/icons/9/937_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/937_3.png b/public/images/pokemon/variant/icons/9/937_3.png
deleted file mode 100644
index d8cf7f54f63..00000000000
Binary files a/public/images/pokemon/variant/icons/9/937_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/937_9.png b/public/images/pokemon/variant/icons/9/937_9.png
deleted file mode 100644
index b9ad59dca69..00000000000
Binary files a/public/images/pokemon/variant/icons/9/937_9.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/948_2.png b/public/images/pokemon/variant/icons/9/948_2.png
deleted file mode 100644
index 410f808a465..00000000000
Binary files a/public/images/pokemon/variant/icons/9/948_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/948_3.png b/public/images/pokemon/variant/icons/9/948_3.png
deleted file mode 100644
index 7fc4d7b32e4..00000000000
Binary files a/public/images/pokemon/variant/icons/9/948_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/949_2.png b/public/images/pokemon/variant/icons/9/949_2.png
deleted file mode 100644
index ef70b3d7d96..00000000000
Binary files a/public/images/pokemon/variant/icons/9/949_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/949_3.png b/public/images/pokemon/variant/icons/9/949_3.png
deleted file mode 100644
index 4d0175d939e..00000000000
Binary files a/public/images/pokemon/variant/icons/9/949_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/962_1.png b/public/images/pokemon/variant/icons/9/962_1.png
deleted file mode 100644
index 5b78aa0f0a7..00000000000
Binary files a/public/images/pokemon/variant/icons/9/962_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/962_2.png b/public/images/pokemon/variant/icons/9/962_2.png
deleted file mode 100644
index 7d018e82197..00000000000
Binary files a/public/images/pokemon/variant/icons/9/962_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/962_3.png b/public/images/pokemon/variant/icons/9/962_3.png
deleted file mode 100644
index 4bde28d426e..00000000000
Binary files a/public/images/pokemon/variant/icons/9/962_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/967_2.png b/public/images/pokemon/variant/icons/9/967_2.png
deleted file mode 100644
index a8b7935f1dc..00000000000
Binary files a/public/images/pokemon/variant/icons/9/967_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/967_3.png b/public/images/pokemon/variant/icons/9/967_3.png
deleted file mode 100644
index b67e193543e..00000000000
Binary files a/public/images/pokemon/variant/icons/9/967_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/967_3_GENERATED.png b/public/images/pokemon/variant/icons/9/967_3_GENERATED.png
deleted file mode 100644
index b67e193543e..00000000000
Binary files a/public/images/pokemon/variant/icons/9/967_3_GENERATED.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/968_2.png b/public/images/pokemon/variant/icons/9/968_2.png
deleted file mode 100644
index fb3cbb3646c..00000000000
Binary files a/public/images/pokemon/variant/icons/9/968_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/968_3.png b/public/images/pokemon/variant/icons/9/968_3.png
deleted file mode 100644
index c22bfc1b1be..00000000000
Binary files a/public/images/pokemon/variant/icons/9/968_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/969_2.png b/public/images/pokemon/variant/icons/9/969_2.png
deleted file mode 100644
index 824555cce19..00000000000
Binary files a/public/images/pokemon/variant/icons/9/969_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/969_3.png b/public/images/pokemon/variant/icons/9/969_3.png
deleted file mode 100644
index 38c7afd4559..00000000000
Binary files a/public/images/pokemon/variant/icons/9/969_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/970_2.png b/public/images/pokemon/variant/icons/9/970_2.png
deleted file mode 100644
index 3a2c45c9f49..00000000000
Binary files a/public/images/pokemon/variant/icons/9/970_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/970_3.png b/public/images/pokemon/variant/icons/9/970_3.png
deleted file mode 100644
index 01949deea0e..00000000000
Binary files a/public/images/pokemon/variant/icons/9/970_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/973_1.png b/public/images/pokemon/variant/icons/9/973_1.png
deleted file mode 100644
index 3dafafe1f8d..00000000000
Binary files a/public/images/pokemon/variant/icons/9/973_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/973_2.png b/public/images/pokemon/variant/icons/9/973_2.png
deleted file mode 100644
index 0fb662c43fb..00000000000
Binary files a/public/images/pokemon/variant/icons/9/973_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/973_3.png b/public/images/pokemon/variant/icons/9/973_3.png
deleted file mode 100644
index 3b8e2b58d8c..00000000000
Binary files a/public/images/pokemon/variant/icons/9/973_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/978-curly_2.png b/public/images/pokemon/variant/icons/9/978-curly_2.png
deleted file mode 100644
index 14de557d03e..00000000000
Binary files a/public/images/pokemon/variant/icons/9/978-curly_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/978-curly_3.png b/public/images/pokemon/variant/icons/9/978-curly_3.png
deleted file mode 100644
index 1a2593c495b..00000000000
Binary files a/public/images/pokemon/variant/icons/9/978-curly_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/978-droopy_2.png b/public/images/pokemon/variant/icons/9/978-droopy_2.png
deleted file mode 100644
index 7cf300eaabf..00000000000
Binary files a/public/images/pokemon/variant/icons/9/978-droopy_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/978-droopy_3.png b/public/images/pokemon/variant/icons/9/978-droopy_3.png
deleted file mode 100644
index 915d4b96252..00000000000
Binary files a/public/images/pokemon/variant/icons/9/978-droopy_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/978-stretchy_2.png b/public/images/pokemon/variant/icons/9/978-stretchy_2.png
deleted file mode 100644
index 036be57dde2..00000000000
Binary files a/public/images/pokemon/variant/icons/9/978-stretchy_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/978-stretchy_3.png b/public/images/pokemon/variant/icons/9/978-stretchy_3.png
deleted file mode 100644
index 3d142b24f7a..00000000000
Binary files a/public/images/pokemon/variant/icons/9/978-stretchy_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/987_1.png b/public/images/pokemon/variant/icons/9/987_1.png
deleted file mode 100644
index dccbbb60a04..00000000000
Binary files a/public/images/pokemon/variant/icons/9/987_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/987_2.png b/public/images/pokemon/variant/icons/9/987_2.png
deleted file mode 100644
index 9253f797f9d..00000000000
Binary files a/public/images/pokemon/variant/icons/9/987_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/987_3.png b/public/images/pokemon/variant/icons/9/987_3.png
deleted file mode 100644
index 27cd59ebab8..00000000000
Binary files a/public/images/pokemon/variant/icons/9/987_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/988_2.png b/public/images/pokemon/variant/icons/9/988_2.png
deleted file mode 100644
index fcaf8393026..00000000000
Binary files a/public/images/pokemon/variant/icons/9/988_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/988_3.png b/public/images/pokemon/variant/icons/9/988_3.png
deleted file mode 100644
index f2db83a8f50..00000000000
Binary files a/public/images/pokemon/variant/icons/9/988_3.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/994_2.png b/public/images/pokemon/variant/icons/9/994_2.png
deleted file mode 100644
index 00f5180e5b2..00000000000
Binary files a/public/images/pokemon/variant/icons/9/994_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/999_1.png b/public/images/pokemon/variant/icons/9/999_1.png
deleted file mode 100644
index ea3cdfa0de5..00000000000
Binary files a/public/images/pokemon/variant/icons/9/999_1.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/999_2.png b/public/images/pokemon/variant/icons/9/999_2.png
deleted file mode 100644
index 05a374b7f30..00000000000
Binary files a/public/images/pokemon/variant/icons/9/999_2.png and /dev/null differ
diff --git a/public/images/pokemon/variant/icons/9/999_3.png b/public/images/pokemon/variant/icons/9/999_3.png
deleted file mode 100644
index 84545a14d52..00000000000
Binary files a/public/images/pokemon/variant/icons/9/999_3.png and /dev/null differ
diff --git a/public/images/pokemon_icons_1.json b/public/images/pokemon_icons_1.json
index dfae7b4d57d..e313cec5d7d 100644
--- a/public/images/pokemon_icons_1.json
+++ b/public/images/pokemon_icons_1.json
@@ -4,8 +4,8 @@
"image": "pokemon_icons_1.png",
"format": "RGBA8888",
"size": {
- "w": 256,
- "h": 781
+ "w": 255,
+ "h": 790
},
"scale": 1,
"frames": [
@@ -639,27 +639,6 @@
"h": 27
}
},
- {
- "filename": "48",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 2,
- "w": 17,
- "h": 26
- },
- "frame": {
- "x": 239,
- "y": 0,
- "w": 17,
- "h": 26
- }
- },
{
"filename": "131-gigantamax",
"rotated": false,
@@ -744,6 +723,48 @@
"h": 28
}
},
+ {
+ "filename": "74",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 13,
+ "w": 24,
+ "h": 15
+ },
+ "frame": {
+ "x": 0,
+ "y": 775,
+ "w": 24,
+ "h": 15
+ }
+ },
+ {
+ "filename": "66",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 8,
+ "w": 16,
+ "h": 20
+ },
+ "frame": {
+ "x": 239,
+ "y": 0,
+ "w": 16,
+ "h": 20
+ }
+ },
{
"filename": "34",
"rotated": false,
@@ -850,7 +871,7 @@
}
},
{
- "filename": "89",
+ "filename": "80-mega",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -858,16 +879,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 8,
- "y": 3,
- "w": 26,
- "h": 25
+ "x": 7,
+ "y": 2,
+ "w": 25,
+ "h": 26
},
"frame": {
"x": 230,
"y": 27,
- "w": 26,
- "h": 25
+ "w": 25,
+ "h": 26
}
},
{
@@ -1011,8 +1032,8 @@
"h": 27
},
"frame": {
- "x": 223,
- "y": 52,
+ "x": 34,
+ "y": 76,
"w": 30,
"h": 27
}
@@ -1033,28 +1054,7 @@
},
"frame": {
"x": 34,
- "y": 76,
- "w": 29,
- "h": 28
- }
- },
- {
- "filename": "130s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 2,
- "w": 29,
- "h": 28
- },
- "frame": {
- "x": 63,
- "y": 76,
+ "y": 103,
"w": 29,
"h": 28
}
@@ -1074,35 +1074,14 @@
"h": 27
},
"frame": {
- "x": 34,
- "y": 104,
+ "x": 64,
+ "y": 76,
"w": 29,
"h": 27
}
},
{
- "filename": "59s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 29,
- "h": 27
- },
- "frame": {
- "x": 63,
- "y": 104,
- "w": 29,
- "h": 27
- }
- },
- {
- "filename": "133-gigantamax",
+ "filename": "130s",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1111,15 +1090,15 @@
},
"spriteSourceSize": {
"x": 6,
- "y": 0,
- "w": 27,
- "h": 30
+ "y": 2,
+ "w": 29,
+ "h": 28
},
"frame": {
- "x": 92,
- "y": 77,
- "w": 27,
- "h": 30
+ "x": 63,
+ "y": 103,
+ "w": 29,
+ "h": 28
}
},
{
@@ -1137,8 +1116,8 @@
"h": 26
},
"frame": {
- "x": 92,
- "y": 107,
+ "x": 223,
+ "y": 53,
"w": 29,
"h": 26
}
@@ -1158,14 +1137,14 @@
"h": 26
},
"frame": {
- "x": 119,
- "y": 78,
+ "x": 93,
+ "y": 77,
"w": 29,
"h": 26
}
},
{
- "filename": "78",
+ "filename": "59s",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1176,17 +1155,17 @@
"x": 7,
"y": 2,
"w": 29,
- "h": 26
+ "h": 27
},
"frame": {
- "x": 148,
- "y": 78,
+ "x": 92,
+ "y": 103,
"w": 29,
- "h": 26
+ "h": 27
}
},
{
- "filename": "133s-gigantamax",
+ "filename": "74s",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1194,37 +1173,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 6,
- "y": 0,
- "w": 27,
- "h": 30
+ "x": 8,
+ "y": 13,
+ "w": 24,
+ "h": 15
},
"frame": {
- "x": 121,
- "y": 104,
- "w": 27,
- "h": 30
- }
- },
- {
- "filename": "78s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 29,
- "h": 26
- },
- "frame": {
- "x": 148,
- "y": 104,
- "w": 29,
- "h": 26
+ "x": 24,
+ "y": 775,
+ "w": 24,
+ "h": 15
}
},
{
@@ -1242,12 +1200,33 @@
"h": 25
},
"frame": {
- "x": 177,
- "y": 79,
+ "x": 122,
+ "y": 78,
"w": 30,
"h": 25
}
},
+ {
+ "filename": "78",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 2,
+ "w": 29,
+ "h": 26
+ },
+ "frame": {
+ "x": 121,
+ "y": 103,
+ "w": 29,
+ "h": 26
+ }
+ },
{
"filename": "99s",
"rotated": false,
@@ -1263,12 +1242,33 @@
"h": 25
},
"frame": {
- "x": 177,
- "y": 104,
+ "x": 152,
+ "y": 78,
"w": 30,
"h": 25
}
},
+ {
+ "filename": "78s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 2,
+ "w": 29,
+ "h": 26
+ },
+ "frame": {
+ "x": 150,
+ "y": 103,
+ "w": 29,
+ "h": 26
+ }
+ },
{
"filename": "3",
"rotated": false,
@@ -1284,33 +1284,12 @@
"h": 24
},
"frame": {
- "x": 207,
+ "x": 182,
"y": 79,
"w": 30,
"h": 24
}
},
- {
- "filename": "30",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 6,
- "w": 19,
- "h": 22
- },
- "frame": {
- "x": 237,
- "y": 79,
- "w": 19,
- "h": 22
- }
- },
{
"filename": "3s",
"rotated": false,
@@ -1326,14 +1305,14 @@
"h": 24
},
"frame": {
- "x": 207,
+ "x": 179,
"y": 103,
"w": 30,
"h": 24
}
},
{
- "filename": "30s",
+ "filename": "64",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1341,37 +1320,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 11,
- "y": 6,
- "w": 19,
- "h": 22
+ "x": 5,
+ "y": 3,
+ "w": 29,
+ "h": 25
},
"frame": {
- "x": 237,
- "y": 101,
- "w": 19,
- "h": 22
- }
- },
- {
- "filename": "33",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 6,
- "w": 19,
- "h": 22
- },
- "frame": {
- "x": 237,
- "y": 123,
- "w": 19,
- "h": 22
+ "x": 212,
+ "y": 79,
+ "w": 29,
+ "h": 25
}
},
{
@@ -1389,12 +1347,75 @@
"h": 22
},
"frame": {
- "x": 207,
- "y": 127,
+ "x": 209,
+ "y": 104,
"w": 30,
"h": 22
}
},
+ {
+ "filename": "10",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 12,
+ "w": 14,
+ "h": 16
+ },
+ "frame": {
+ "x": 241,
+ "y": 79,
+ "w": 14,
+ "h": 16
+ }
+ },
+ {
+ "filename": "66s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 8,
+ "w": 16,
+ "h": 20
+ },
+ "frame": {
+ "x": 239,
+ "y": 104,
+ "w": 16,
+ "h": 20
+ }
+ },
+ {
+ "filename": "13",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 11,
+ "w": 16,
+ "h": 17
+ },
+ "frame": {
+ "x": 239,
+ "y": 124,
+ "w": 16,
+ "h": 17
+ }
+ },
{
"filename": "22s",
"rotated": false,
@@ -1410,54 +1431,12 @@
"h": 22
},
"frame": {
- "x": 177,
- "y": 129,
+ "x": 209,
+ "y": 126,
"w": 30,
"h": 22
}
},
- {
- "filename": "62",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 7,
- "w": 29,
- "h": 21
- },
- "frame": {
- "x": 148,
- "y": 130,
- "w": 29,
- "h": 21
- }
- },
- {
- "filename": "33s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 6,
- "w": 19,
- "h": 22
- },
- "frame": {
- "x": 237,
- "y": 145,
- "w": 19,
- "h": 22
- }
- },
{
"filename": "115-mega",
"rotated": false,
@@ -1473,14 +1452,14 @@
"h": 22
},
"frame": {
- "x": 207,
- "y": 149,
+ "x": 179,
+ "y": 127,
"w": 30,
"h": 22
}
},
{
- "filename": "141",
+ "filename": "13s",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1488,16 +1467,58 @@
"h": 30
},
"spriteSourceSize": {
- "x": 10,
- "y": 7,
- "w": 19,
- "h": 21
+ "x": 12,
+ "y": 11,
+ "w": 16,
+ "h": 17
},
"frame": {
- "x": 237,
- "y": 167,
- "w": 19,
- "h": 21
+ "x": 239,
+ "y": 141,
+ "w": 16,
+ "h": 17
+ }
+ },
+ {
+ "filename": "115s-mega",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 6,
+ "w": 30,
+ "h": 22
+ },
+ "frame": {
+ "x": 209,
+ "y": 148,
+ "w": 30,
+ "h": 22
+ }
+ },
+ {
+ "filename": "101",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 12,
+ "w": 16,
+ "h": 16
+ },
+ "frame": {
+ "x": 239,
+ "y": 158,
+ "w": 16,
+ "h": 16
}
},
{
@@ -1521,6 +1542,48 @@
"h": 30
}
},
+ {
+ "filename": "15-mega",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 3,
+ "w": 27,
+ "h": 26
+ },
+ "frame": {
+ "x": 29,
+ "y": 749,
+ "w": 27,
+ "h": 26
+ }
+ },
+ {
+ "filename": "81",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 12,
+ "w": 23,
+ "h": 15
+ },
+ "frame": {
+ "x": 48,
+ "y": 775,
+ "w": 23,
+ "h": 15
+ }
+ },
{
"filename": "6s-gigantamax",
"rotated": false,
@@ -1536,14 +1599,14 @@
"h": 30
},
"frame": {
- "x": 29,
- "y": 749,
+ "x": 32,
+ "y": 133,
"w": 24,
"h": 30
}
},
{
- "filename": "25-gigantamax",
+ "filename": "133-gigantamax",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1551,41 +1614,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 10,
+ "x": 6,
"y": 0,
- "w": 21,
+ "w": 27,
"h": 30
},
"frame": {
- "x": 32,
- "y": 133,
- "w": 21,
- "h": 30
- }
- },
- {
- "filename": "64",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 3,
- "w": 29,
- "h": 25
- },
- "frame": {
- "x": 53,
+ "x": 56,
"y": 131,
- "w": 29,
- "h": 25
+ "w": 27,
+ "h": 30
}
},
{
- "filename": "25s-gigantamax",
+ "filename": "133s-gigantamax",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1593,20 +1635,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 10,
+ "x": 6,
"y": 0,
- "w": 21,
+ "w": 27,
"h": 30
},
"frame": {
"x": 32,
"y": 163,
- "w": 21,
+ "w": 27,
"h": 30
}
},
{
- "filename": "64s",
+ "filename": "15s-mega",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1614,16 +1656,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 5,
+ "x": 7,
"y": 3,
- "w": 29,
- "h": 25
+ "w": 27,
+ "h": 26
},
"frame": {
- "x": 53,
- "y": 156,
- "w": 29,
- "h": 25
+ "x": 32,
+ "y": 193,
+ "w": 27,
+ "h": 26
}
},
{
@@ -1642,7 +1684,7 @@
},
"frame": {
"x": 32,
- "y": 193,
+ "y": 219,
"w": 23,
"h": 30
}
@@ -1663,11 +1705,53 @@
},
"frame": {
"x": 32,
- "y": 223,
+ "y": 249,
"w": 23,
"h": 30
}
},
+ {
+ "filename": "25-gigantamax",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 0,
+ "w": 21,
+ "h": 30
+ },
+ "frame": {
+ "x": 32,
+ "y": 279,
+ "w": 21,
+ "h": 30
+ }
+ },
+ {
+ "filename": "25s-gigantamax",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 0,
+ "w": 21,
+ "h": 30
+ },
+ "frame": {
+ "x": 59,
+ "y": 161,
+ "w": 21,
+ "h": 30
+ }
+ },
{
"filename": "150-mega-y",
"rotated": false,
@@ -1683,306 +1767,12 @@
"h": 30
},
"frame": {
- "x": 32,
- "y": 253,
+ "x": 59,
+ "y": 191,
"w": 20,
"h": 30
}
},
- {
- "filename": "150s-mega-y",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 0,
- "w": 20,
- "h": 30
- },
- "frame": {
- "x": 32,
- "y": 283,
- "w": 20,
- "h": 30
- }
- },
- {
- "filename": "15-mega",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 3,
- "w": 27,
- "h": 26
- },
- "frame": {
- "x": 31,
- "y": 313,
- "w": 27,
- "h": 26
- }
- },
- {
- "filename": "15s-mega",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 3,
- "w": 27,
- "h": 26
- },
- "frame": {
- "x": 31,
- "y": 339,
- "w": 27,
- "h": 26
- }
- },
- {
- "filename": "85",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 3,
- "w": 29,
- "h": 25
- },
- "frame": {
- "x": 82,
- "y": 133,
- "w": 29,
- "h": 25
- }
- },
- {
- "filename": "85s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 3,
- "w": 29,
- "h": 25
- },
- "frame": {
- "x": 82,
- "y": 158,
- "w": 29,
- "h": 25
- }
- },
- {
- "filename": "97",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 3,
- "w": 27,
- "h": 26
- },
- "frame": {
- "x": 111,
- "y": 134,
- "w": 27,
- "h": 26
- }
- },
- {
- "filename": "57",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 5,
- "w": 28,
- "h": 23
- },
- "frame": {
- "x": 111,
- "y": 160,
- "w": 28,
- "h": 23
- }
- },
- {
- "filename": "97s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 3,
- "w": 27,
- "h": 26
- },
- "frame": {
- "x": 55,
- "y": 181,
- "w": 27,
- "h": 26
- }
- },
- {
- "filename": "115s-mega",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 6,
- "w": 30,
- "h": 22
- },
- "frame": {
- "x": 82,
- "y": 183,
- "w": 30,
- "h": 22
- }
- },
- {
- "filename": "80-mega",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 25,
- "h": 26
- },
- "frame": {
- "x": 55,
- "y": 207,
- "w": 25,
- "h": 26
- }
- },
- {
- "filename": "57s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 5,
- "w": 28,
- "h": 23
- },
- "frame": {
- "x": 112,
- "y": 183,
- "w": 28,
- "h": 23
- }
- },
- {
- "filename": "9",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 25,
- "h": 24
- },
- "frame": {
- "x": 55,
- "y": 233,
- "w": 25,
- "h": 24
- }
- },
- {
- "filename": "71",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 28,
- "h": 23
- },
- "frame": {
- "x": 52,
- "y": 257,
- "w": 28,
- "h": 23
- }
- },
- {
- "filename": "71s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 28,
- "h": 23
- },
- "frame": {
- "x": 52,
- "y": 280,
- "w": 28,
- "h": 23
- }
- },
{
"filename": "80s-mega",
"rotated": false,
@@ -1998,12 +1788,75 @@
"h": 26
},
"frame": {
- "x": 58,
- "y": 303,
+ "x": 55,
+ "y": 221,
"w": 25,
"h": 26
}
},
+ {
+ "filename": "97",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 3,
+ "w": 27,
+ "h": 26
+ },
+ "frame": {
+ "x": 55,
+ "y": 247,
+ "w": 27,
+ "h": 26
+ }
+ },
+ {
+ "filename": "150s-mega-y",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 0,
+ "w": 20,
+ "h": 30
+ },
+ "frame": {
+ "x": 83,
+ "y": 131,
+ "w": 20,
+ "h": 30
+ }
+ },
+ {
+ "filename": "97s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 3,
+ "w": 27,
+ "h": 26
+ },
+ "frame": {
+ "x": 80,
+ "y": 161,
+ "w": 27,
+ "h": 26
+ }
+ },
{
"filename": "109",
"rotated": false,
@@ -2019,14 +1872,350 @@
"h": 26
},
"frame": {
- "x": 58,
- "y": 329,
+ "x": 103,
+ "y": 130,
"w": 25,
"h": 26
}
},
{
- "filename": "9s",
+ "filename": "64s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 3,
+ "w": 29,
+ "h": 25
+ },
+ "frame": {
+ "x": 128,
+ "y": 129,
+ "w": 29,
+ "h": 25
+ }
+ },
+ {
+ "filename": "25-beauty-cosplay",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 3,
+ "w": 22,
+ "h": 25
+ },
+ "frame": {
+ "x": 157,
+ "y": 129,
+ "w": 22,
+ "h": 25
+ }
+ },
+ {
+ "filename": "109s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 4,
+ "w": 25,
+ "h": 26
+ },
+ "frame": {
+ "x": 107,
+ "y": 156,
+ "w": 25,
+ "h": 26
+ }
+ },
+ {
+ "filename": "85",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 3,
+ "w": 29,
+ "h": 25
+ },
+ "frame": {
+ "x": 132,
+ "y": 154,
+ "w": 29,
+ "h": 25
+ }
+ },
+ {
+ "filename": "25s-beauty-cosplay",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 3,
+ "w": 22,
+ "h": 25
+ },
+ "frame": {
+ "x": 161,
+ "y": 154,
+ "w": 22,
+ "h": 25
+ }
+ },
+ {
+ "filename": "89",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 3,
+ "w": 26,
+ "h": 25
+ },
+ "frame": {
+ "x": 183,
+ "y": 149,
+ "w": 26,
+ "h": 25
+ }
+ },
+ {
+ "filename": "56",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 8,
+ "w": 28,
+ "h": 20
+ },
+ "frame": {
+ "x": 55,
+ "y": 273,
+ "w": 28,
+ "h": 20
+ }
+ },
+ {
+ "filename": "62",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 7,
+ "w": 29,
+ "h": 21
+ },
+ "frame": {
+ "x": 53,
+ "y": 293,
+ "w": 29,
+ "h": 21
+ }
+ },
+ {
+ "filename": "62s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 7,
+ "w": 29,
+ "h": 21
+ },
+ "frame": {
+ "x": 209,
+ "y": 170,
+ "w": 29,
+ "h": 21
+ }
+ },
+ {
+ "filename": "48",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 2,
+ "w": 17,
+ "h": 26
+ },
+ "frame": {
+ "x": 238,
+ "y": 174,
+ "w": 17,
+ "h": 26
+ }
+ },
+ {
+ "filename": "25-partner",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 6,
+ "w": 26,
+ "h": 22
+ },
+ "frame": {
+ "x": 183,
+ "y": 174,
+ "w": 26,
+ "h": 22
+ }
+ },
+ {
+ "filename": "85s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 3,
+ "w": 29,
+ "h": 25
+ },
+ "frame": {
+ "x": 209,
+ "y": 191,
+ "w": 29,
+ "h": 25
+ }
+ },
+ {
+ "filename": "48s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 2,
+ "w": 17,
+ "h": 26
+ },
+ "frame": {
+ "x": 238,
+ "y": 200,
+ "w": 17,
+ "h": 26
+ }
+ },
+ {
+ "filename": "142",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 5,
+ "w": 29,
+ "h": 22
+ },
+ "frame": {
+ "x": 132,
+ "y": 179,
+ "w": 29,
+ "h": 22
+ }
+ },
+ {
+ "filename": "5",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 5,
+ "w": 22,
+ "h": 23
+ },
+ "frame": {
+ "x": 161,
+ "y": 179,
+ "w": 22,
+ "h": 23
+ }
+ },
+ {
+ "filename": "25s-partner",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 6,
+ "w": 26,
+ "h": 22
+ },
+ "frame": {
+ "x": 183,
+ "y": 196,
+ "w": 26,
+ "h": 22
+ }
+ },
+ {
+ "filename": "9",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2040,8 +2229,8 @@
"h": 24
},
"frame": {
- "x": 58,
- "y": 355,
+ "x": 107,
+ "y": 182,
"w": 25,
"h": 24
}
@@ -2061,369 +2250,12 @@
"h": 22
},
"frame": {
- "x": 31,
- "y": 365,
+ "x": 80,
+ "y": 187,
"w": 27,
"h": 22
}
},
- {
- "filename": "89s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 3,
- "w": 26,
- "h": 25
- },
- "frame": {
- "x": 30,
- "y": 387,
- "w": 26,
- "h": 25
- }
- },
- {
- "filename": "109s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 25,
- "h": 26
- },
- "frame": {
- "x": 30,
- "y": 412,
- "w": 25,
- "h": 26
- }
- },
- {
- "filename": "26",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 4,
- "w": 25,
- "h": 24
- },
- "frame": {
- "x": 30,
- "y": 438,
- "w": 25,
- "h": 24
- }
- },
- {
- "filename": "26s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 4,
- "w": 25,
- "h": 24
- },
- "frame": {
- "x": 30,
- "y": 462,
- "w": 25,
- "h": 24
- }
- },
- {
- "filename": "91",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 5,
- "w": 25,
- "h": 24
- },
- "frame": {
- "x": 30,
- "y": 486,
- "w": 25,
- "h": 24
- }
- },
- {
- "filename": "91s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 5,
- "w": 25,
- "h": 24
- },
- "frame": {
- "x": 30,
- "y": 510,
- "w": 25,
- "h": 24
- }
- },
- {
- "filename": "143",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 4,
- "w": 27,
- "h": 24
- },
- "frame": {
- "x": 30,
- "y": 534,
- "w": 27,
- "h": 24
- }
- },
- {
- "filename": "143s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 4,
- "w": 27,
- "h": 24
- },
- "frame": {
- "x": 30,
- "y": 558,
- "w": 27,
- "h": 24
- }
- },
- {
- "filename": "80",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 5,
- "w": 27,
- "h": 23
- },
- "frame": {
- "x": 30,
- "y": 582,
- "w": 27,
- "h": 23
- }
- },
- {
- "filename": "80s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 5,
- "w": 27,
- "h": 23
- },
- "frame": {
- "x": 30,
- "y": 605,
- "w": 27,
- "h": 23
- }
- },
- {
- "filename": "68s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 6,
- "w": 27,
- "h": 22
- },
- "frame": {
- "x": 30,
- "y": 628,
- "w": 27,
- "h": 22
- }
- },
- {
- "filename": "12",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 3,
- "w": 24,
- "h": 24
- },
- "frame": {
- "x": 31,
- "y": 650,
- "w": 24,
- "h": 24
- }
- },
- {
- "filename": "12s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 3,
- "w": 24,
- "h": 24
- },
- "frame": {
- "x": 31,
- "y": 674,
- "w": 24,
- "h": 24
- }
- },
- {
- "filename": "20",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 7,
- "w": 25,
- "h": 21
- },
- "frame": {
- "x": 31,
- "y": 698,
- "w": 25,
- "h": 21
- }
- },
- {
- "filename": "15",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 25,
- "h": 23
- },
- "frame": {
- "x": 58,
- "y": 379,
- "w": 25,
- "h": 23
- }
- },
- {
- "filename": "56",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 8,
- "w": 28,
- "h": 20
- },
- "frame": {
- "x": 56,
- "y": 402,
- "w": 28,
- "h": 20
- }
- },
- {
- "filename": "142",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 29,
- "h": 22
- },
- "frame": {
- "x": 55,
- "y": 422,
- "w": 29,
- "h": 22
- }
- },
{
"filename": "142s",
"rotated": false,
@@ -2439,14 +2271,14 @@
"h": 22
},
"frame": {
- "x": 55,
- "y": 444,
+ "x": 209,
+ "y": 216,
"w": 29,
"h": 22
}
},
{
- "filename": "62s",
+ "filename": "40",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2454,62 +2286,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 6,
- "y": 7,
- "w": 29,
- "h": 21
+ "x": 12,
+ "y": 3,
+ "w": 17,
+ "h": 25
},
"frame": {
- "x": 55,
- "y": 466,
- "w": 29,
- "h": 21
+ "x": 238,
+ "y": 226,
+ "w": 17,
+ "h": 25
}
},
{
- "filename": "98",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 7,
- "w": 28,
- "h": 21
- },
- "frame": {
- "x": 55,
- "y": 487,
- "w": 28,
- "h": 21
- }
- },
- {
- "filename": "98s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 7,
- "w": 28,
- "h": 21
- },
- "frame": {
- "x": 55,
- "y": 508,
- "w": 28,
- "h": 21
- }
- },
- {
- "filename": "15s",
+ "filename": "89s",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2518,19 +2308,40 @@
},
"spriteSourceSize": {
"x": 8,
+ "y": 3,
+ "w": 26,
+ "h": 25
+ },
+ "frame": {
+ "x": 80,
+ "y": 209,
+ "w": 26,
+ "h": 25
+ }
+ },
+ {
+ "filename": "9s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
"y": 4,
"w": 25,
- "h": 23
+ "h": 24
},
"frame": {
- "x": 57,
- "y": 529,
+ "x": 82,
+ "y": 234,
"w": 25,
- "h": 23
+ "h": 24
}
},
{
- "filename": "18",
+ "filename": "81s",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2538,104 +2349,41 @@
"h": 30
},
"spriteSourceSize": {
- "x": 8,
+ "x": 9,
+ "y": 12,
+ "w": 23,
+ "h": 15
+ },
+ "frame": {
+ "x": 82,
+ "y": 258,
+ "w": 23,
+ "h": 15
+ }
+ },
+ {
+ "filename": "5s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
"y": 5,
- "w": 25,
+ "w": 22,
"h": 23
},
"frame": {
- "x": 57,
- "y": 552,
- "w": 25,
+ "x": 83,
+ "y": 273,
+ "w": 22,
"h": 23
}
},
{
- "filename": "18s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 5,
- "w": 25,
- "h": 23
- },
- "frame": {
- "x": 57,
- "y": 575,
- "w": 25,
- "h": 23
- }
- },
- {
- "filename": "86",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 5,
- "w": 25,
- "h": 23
- },
- "frame": {
- "x": 57,
- "y": 598,
- "w": 25,
- "h": 23
- }
- },
- {
- "filename": "86s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 5,
- "w": 25,
- "h": 23
- },
- "frame": {
- "x": 57,
- "y": 621,
- "w": 25,
- "h": 23
- }
- },
- {
- "filename": "20s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 7,
- "w": 25,
- "h": 21
- },
- "frame": {
- "x": 57,
- "y": 644,
- "w": 25,
- "h": 21
- }
- },
- {
- "filename": "42",
+ "filename": "8",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2644,98 +2392,14 @@
},
"spriteSourceSize": {
"x": 10,
- "y": 5,
- "w": 26,
- "h": 22
- },
- "frame": {
- "x": 55,
- "y": 665,
- "w": 26,
- "h": 22
- }
- },
- {
- "filename": "87",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 5,
- "w": 25,
- "h": 23
- },
- "frame": {
- "x": 56,
- "y": 687,
- "w": 25,
- "h": 23
- }
- },
- {
- "filename": "28",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
"y": 6,
- "w": 25,
+ "w": 24,
"h": 22
},
"frame": {
- "x": 56,
- "y": 710,
- "w": 25,
- "h": 22
- }
- },
- {
- "filename": "42s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 5,
- "w": 26,
- "h": 22
- },
- "frame": {
- "x": 53,
- "y": 732,
- "w": 26,
- "h": 22
- }
- },
- {
- "filename": "67",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 6,
- "w": 26,
- "h": 22
- },
- "frame": {
- "x": 53,
- "y": 754,
- "w": 26,
+ "x": 82,
+ "y": 296,
+ "w": 24,
"h": 22
}
},
@@ -2754,12 +2418,201 @@
"h": 19
},
"frame": {
- "x": 82,
- "y": 205,
+ "x": 132,
+ "y": 201,
"w": 29,
"h": 19
}
},
+ {
+ "filename": "44",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 7,
+ "w": 22,
+ "h": 21
+ },
+ "frame": {
+ "x": 161,
+ "y": 202,
+ "w": 22,
+ "h": 21
+ }
+ },
+ {
+ "filename": "42",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 5,
+ "w": 26,
+ "h": 22
+ },
+ "frame": {
+ "x": 183,
+ "y": 218,
+ "w": 26,
+ "h": 22
+ }
+ },
+ {
+ "filename": "145s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 7,
+ "w": 29,
+ "h": 19
+ },
+ "frame": {
+ "x": 209,
+ "y": 238,
+ "w": 29,
+ "h": 19
+ }
+ },
+ {
+ "filename": "40s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 3,
+ "w": 17,
+ "h": 25
+ },
+ "frame": {
+ "x": 238,
+ "y": 251,
+ "w": 17,
+ "h": 25
+ }
+ },
+ {
+ "filename": "15",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 4,
+ "w": 25,
+ "h": 23
+ },
+ "frame": {
+ "x": 107,
+ "y": 206,
+ "w": 25,
+ "h": 23
+ }
+ },
+ {
+ "filename": "26",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 4,
+ "w": 25,
+ "h": 24
+ },
+ "frame": {
+ "x": 107,
+ "y": 229,
+ "w": 25,
+ "h": 24
+ }
+ },
+ {
+ "filename": "57",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 5,
+ "w": 28,
+ "h": 23
+ },
+ "frame": {
+ "x": 132,
+ "y": 220,
+ "w": 28,
+ "h": 23
+ }
+ },
+ {
+ "filename": "31",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 5,
+ "w": 23,
+ "h": 23
+ },
+ "frame": {
+ "x": 160,
+ "y": 223,
+ "w": 23,
+ "h": 23
+ }
+ },
+ {
+ "filename": "42s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 5,
+ "w": 26,
+ "h": 22
+ },
+ "frame": {
+ "x": 183,
+ "y": 240,
+ "w": 26,
+ "h": 22
+ }
+ },
{
"filename": "56s",
"rotated": false,
@@ -2775,12 +2628,558 @@
"h": 20
},
"frame": {
- "x": 80,
- "y": 224,
+ "x": 132,
+ "y": 243,
"w": 28,
"h": 20
}
},
+ {
+ "filename": "31s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 5,
+ "w": 23,
+ "h": 23
+ },
+ "frame": {
+ "x": 160,
+ "y": 246,
+ "w": 23,
+ "h": 23
+ }
+ },
+ {
+ "filename": "15s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 4,
+ "w": 25,
+ "h": 23
+ },
+ "frame": {
+ "x": 107,
+ "y": 253,
+ "w": 25,
+ "h": 23
+ }
+ },
+ {
+ "filename": "57s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 5,
+ "w": 28,
+ "h": 23
+ },
+ "frame": {
+ "x": 132,
+ "y": 263,
+ "w": 28,
+ "h": 23
+ }
+ },
+ {
+ "filename": "144",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 7,
+ "w": 27,
+ "h": 20
+ },
+ "frame": {
+ "x": 105,
+ "y": 276,
+ "w": 27,
+ "h": 20
+ }
+ },
+ {
+ "filename": "67",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 6,
+ "w": 26,
+ "h": 22
+ },
+ "frame": {
+ "x": 106,
+ "y": 296,
+ "w": 26,
+ "h": 22
+ }
+ },
+ {
+ "filename": "71",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 5,
+ "w": 28,
+ "h": 23
+ },
+ "frame": {
+ "x": 132,
+ "y": 286,
+ "w": 28,
+ "h": 23
+ }
+ },
+ {
+ "filename": "151",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 2,
+ "w": 23,
+ "h": 25
+ },
+ "frame": {
+ "x": 160,
+ "y": 269,
+ "w": 23,
+ "h": 25
+ }
+ },
+ {
+ "filename": "143",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 4,
+ "w": 27,
+ "h": 24
+ },
+ "frame": {
+ "x": 183,
+ "y": 262,
+ "w": 27,
+ "h": 24
+ }
+ },
+ {
+ "filename": "71s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 5,
+ "w": 28,
+ "h": 23
+ },
+ "frame": {
+ "x": 210,
+ "y": 257,
+ "w": 28,
+ "h": 23
+ }
+ },
+ {
+ "filename": "103",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 4,
+ "w": 17,
+ "h": 24
+ },
+ "frame": {
+ "x": 238,
+ "y": 276,
+ "w": 17,
+ "h": 24
+ }
+ },
+ {
+ "filename": "98",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 7,
+ "w": 28,
+ "h": 21
+ },
+ "frame": {
+ "x": 210,
+ "y": 280,
+ "w": 28,
+ "h": 21
+ }
+ },
+ {
+ "filename": "68s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 6,
+ "w": 27,
+ "h": 22
+ },
+ "frame": {
+ "x": 183,
+ "y": 286,
+ "w": 27,
+ "h": 22
+ }
+ },
+ {
+ "filename": "49",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 4,
+ "w": 23,
+ "h": 24
+ },
+ "frame": {
+ "x": 160,
+ "y": 294,
+ "w": 23,
+ "h": 24
+ }
+ },
+ {
+ "filename": "98s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 7,
+ "w": 28,
+ "h": 21
+ },
+ "frame": {
+ "x": 132,
+ "y": 309,
+ "w": 28,
+ "h": 21
+ }
+ },
+ {
+ "filename": "103s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 4,
+ "w": 17,
+ "h": 24
+ },
+ "frame": {
+ "x": 238,
+ "y": 300,
+ "w": 17,
+ "h": 24
+ }
+ },
+ {
+ "filename": "146",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 8,
+ "w": 28,
+ "h": 18
+ },
+ "frame": {
+ "x": 210,
+ "y": 301,
+ "w": 28,
+ "h": 18
+ }
+ },
+ {
+ "filename": "80",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 5,
+ "w": 27,
+ "h": 23
+ },
+ "frame": {
+ "x": 183,
+ "y": 308,
+ "w": 27,
+ "h": 23
+ }
+ },
+ {
+ "filename": "49s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 4,
+ "w": 23,
+ "h": 24
+ },
+ "frame": {
+ "x": 160,
+ "y": 318,
+ "w": 23,
+ "h": 24
+ }
+ },
+ {
+ "filename": "146s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 8,
+ "w": 28,
+ "h": 18
+ },
+ "frame": {
+ "x": 210,
+ "y": 319,
+ "w": 28,
+ "h": 18
+ }
+ },
+ {
+ "filename": "43",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 9,
+ "w": 17,
+ "h": 19
+ },
+ "frame": {
+ "x": 238,
+ "y": 324,
+ "w": 17,
+ "h": 19
+ }
+ },
+ {
+ "filename": "80s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 5,
+ "w": 27,
+ "h": 23
+ },
+ "frame": {
+ "x": 183,
+ "y": 331,
+ "w": 27,
+ "h": 23
+ }
+ },
+ {
+ "filename": "143s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 4,
+ "w": 27,
+ "h": 24
+ },
+ "frame": {
+ "x": 210,
+ "y": 337,
+ "w": 27,
+ "h": 24
+ }
+ },
+ {
+ "filename": "23",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 7,
+ "w": 18,
+ "h": 21
+ },
+ "frame": {
+ "x": 237,
+ "y": 343,
+ "w": 18,
+ "h": 21
+ }
+ },
+ {
+ "filename": "2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 21,
+ "h": 20
+ },
+ "frame": {
+ "x": 32,
+ "y": 309,
+ "w": 21,
+ "h": 20
+ }
+ },
+ {
+ "filename": "150-mega-x",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 2,
+ "w": 21,
+ "h": 26
+ },
+ "frame": {
+ "x": 31,
+ "y": 329,
+ "w": 21,
+ "h": 26
+ }
+ },
+ {
+ "filename": "144s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 7,
+ "w": 27,
+ "h": 20
+ },
+ "frame": {
+ "x": 53,
+ "y": 314,
+ "w": 27,
+ "h": 20
+ }
+ },
{
"filename": "67s",
"rotated": false,
@@ -2796,8 +3195,8 @@
"h": 22
},
"frame": {
- "x": 80,
- "y": 244,
+ "x": 52,
+ "y": 334,
"w": 26,
"h": 22
}
@@ -2818,53 +3217,11 @@
},
"frame": {
"x": 80,
- "y": 266,
+ "y": 318,
"w": 26,
"h": 22
}
},
- {
- "filename": "145s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 7,
- "w": 29,
- "h": 19
- },
- "frame": {
- "x": 111,
- "y": 206,
- "w": 29,
- "h": 19
- }
- },
- {
- "filename": "144",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 7,
- "w": 27,
- "h": 20
- },
- "frame": {
- "x": 108,
- "y": 225,
- "w": 27,
- "h": 20
- }
- },
{
"filename": "75s",
"rotated": false,
@@ -2881,7 +3238,7 @@
},
"frame": {
"x": 106,
- "y": 245,
+ "y": 318,
"w": 26,
"h": 22
}
@@ -2901,14 +3258,14 @@
"h": 21
},
"frame": {
- "x": 106,
- "y": 267,
+ "x": 78,
+ "y": 340,
"w": 26,
"h": 21
}
},
{
- "filename": "74",
+ "filename": "76s",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2916,20 +3273,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 8,
- "y": 13,
- "w": 24,
- "h": 15
+ "x": 6,
+ "y": 7,
+ "w": 26,
+ "h": 21
},
"frame": {
- "x": 80,
- "y": 288,
- "w": 24,
- "h": 15
+ "x": 104,
+ "y": 340,
+ "w": 26,
+ "h": 21
}
},
{
- "filename": "150-mega-x",
+ "filename": "2s",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2937,16 +3294,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
- "y": 2,
+ "x": 10,
+ "y": 8,
"w": 21,
- "h": 26
+ "h": 20
},
"frame": {
- "x": 83,
- "y": 303,
+ "x": 31,
+ "y": 355,
"w": 21,
- "h": 26
+ "h": 20
}
},
{
@@ -2964,14 +3321,14 @@
"h": 22
},
"frame": {
- "x": 104,
- "y": 288,
+ "x": 52,
+ "y": 356,
"w": 26,
"h": 22
}
},
{
- "filename": "150s-mega-x",
+ "filename": "129",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2979,16 +3336,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
- "y": 2,
- "w": 21,
- "h": 26
+ "x": 10,
+ "y": 5,
+ "w": 22,
+ "h": 24
},
"frame": {
- "x": 83,
- "y": 329,
- "w": 21,
- "h": 26
+ "x": 30,
+ "y": 375,
+ "w": 22,
+ "h": 24
}
},
{
@@ -3006,14 +3363,77 @@
"h": 22
},
"frame": {
- "x": 104,
- "y": 310,
+ "x": 52,
+ "y": 378,
"w": 26,
"h": 22
}
},
{
- "filename": "87s",
+ "filename": "26s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 4,
+ "w": 25,
+ "h": 24
+ },
+ "frame": {
+ "x": 78,
+ "y": 361,
+ "w": 25,
+ "h": 24
+ }
+ },
+ {
+ "filename": "91",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 5,
+ "w": 25,
+ "h": 24
+ },
+ "frame": {
+ "x": 103,
+ "y": 361,
+ "w": 25,
+ "h": 24
+ }
+ },
+ {
+ "filename": "129s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 5,
+ "w": 22,
+ "h": 24
+ },
+ "frame": {
+ "x": 30,
+ "y": 399,
+ "w": 22,
+ "h": 24
+ }
+ },
+ {
+ "filename": "18",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -3027,12 +3447,75 @@
"h": 23
},
"frame": {
- "x": 104,
- "y": 332,
+ "x": 52,
+ "y": 400,
"w": 25,
"h": 23
}
},
+ {
+ "filename": "91s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 5,
+ "w": 25,
+ "h": 24
+ },
+ "frame": {
+ "x": 30,
+ "y": 423,
+ "w": 25,
+ "h": 24
+ }
+ },
+ {
+ "filename": "12",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 3,
+ "w": 24,
+ "h": 24
+ },
+ "frame": {
+ "x": 30,
+ "y": 447,
+ "w": 24,
+ "h": 24
+ }
+ },
+ {
+ "filename": "12s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 3,
+ "w": 24,
+ "h": 24
+ },
+ "frame": {
+ "x": 30,
+ "y": 471,
+ "w": 24,
+ "h": 24
+ }
+ },
{
"filename": "94",
"rotated": false,
@@ -3048,159 +3531,12 @@
"h": 24
},
"frame": {
- "x": 83,
- "y": 355,
+ "x": 30,
+ "y": 495,
"w": 24,
"h": 24
}
},
- {
- "filename": "38",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 5,
- "w": 24,
- "h": 23
- },
- "frame": {
- "x": 83,
- "y": 379,
- "w": 24,
- "h": 23
- }
- },
- {
- "filename": "151",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 2,
- "w": 23,
- "h": 25
- },
- "frame": {
- "x": 84,
- "y": 402,
- "w": 23,
- "h": 25
- }
- },
- {
- "filename": "151s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 2,
- "w": 23,
- "h": 25
- },
- "frame": {
- "x": 84,
- "y": 427,
- "w": 23,
- "h": 25
- }
- },
- {
- "filename": "25-beauty-cosplay",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 3,
- "w": 22,
- "h": 25
- },
- "frame": {
- "x": 107,
- "y": 355,
- "w": 22,
- "h": 25
- }
- },
- {
- "filename": "25s-beauty-cosplay",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 3,
- "w": 22,
- "h": 25
- },
- "frame": {
- "x": 84,
- "y": 452,
- "w": 22,
- "h": 25
- }
- },
- {
- "filename": "49",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 4,
- "w": 23,
- "h": 24
- },
- "frame": {
- "x": 107,
- "y": 380,
- "w": 23,
- "h": 24
- }
- },
- {
- "filename": "49s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 4,
- "w": 23,
- "h": 24
- },
- "frame": {
- "x": 107,
- "y": 404,
- "w": 23,
- "h": 24
- }
- },
{
"filename": "94s",
"rotated": false,
@@ -3216,35 +3552,14 @@
"h": 24
},
"frame": {
- "x": 107,
- "y": 428,
+ "x": 30,
+ "y": 519,
"w": 24,
"h": 24
}
},
{
- "filename": "112",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 5,
- "w": 25,
- "h": 23
- },
- "frame": {
- "x": 106,
- "y": 452,
- "w": 25,
- "h": 23
- }
- },
- {
- "filename": "5",
+ "filename": "151s",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -3253,40 +3568,19 @@
},
"spriteSourceSize": {
"x": 9,
- "y": 5,
- "w": 22,
- "h": 23
+ "y": 2,
+ "w": 23,
+ "h": 25
},
"frame": {
- "x": 84,
- "y": 477,
- "w": 22,
- "h": 23
+ "x": 30,
+ "y": 543,
+ "w": 23,
+ "h": 25
}
},
{
- "filename": "112s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 5,
- "w": 25,
- "h": 23
- },
- "frame": {
- "x": 106,
- "y": 475,
- "w": 25,
- "h": 23
- }
- },
- {
- "filename": "31",
+ "filename": "150s-mega-x",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -3295,19 +3589,19 @@
},
"spriteSourceSize": {
"x": 9,
- "y": 5,
- "w": 23,
- "h": 23
+ "y": 2,
+ "w": 21,
+ "h": 26
},
"frame": {
- "x": 83,
- "y": 500,
- "w": 23,
- "h": 23
+ "x": 30,
+ "y": 568,
+ "w": 21,
+ "h": 26
}
},
{
- "filename": "28s",
+ "filename": "18s",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -3316,19 +3610,19 @@
},
"spriteSourceSize": {
"x": 8,
- "y": 6,
+ "y": 5,
"w": 25,
- "h": 22
+ "h": 23
},
"frame": {
- "x": 106,
- "y": 498,
+ "x": 55,
+ "y": 423,
"w": 25,
- "h": 22
+ "h": 23
}
},
{
- "filename": "8",
+ "filename": "38",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -3336,16 +3630,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 10,
- "y": 6,
+ "x": 8,
+ "y": 5,
"w": 24,
- "h": 22
+ "h": 23
},
"frame": {
- "x": 83,
- "y": 523,
+ "x": 30,
+ "y": 594,
"w": 24,
- "h": 22
+ "h": 23
}
},
{
@@ -3363,8 +3657,8 @@
"h": 23
},
"frame": {
- "x": 82,
- "y": 545,
+ "x": 30,
+ "y": 617,
"w": 24,
"h": 23
}
@@ -3384,8 +3678,8 @@
"h": 23
},
"frame": {
- "x": 82,
- "y": 568,
+ "x": 30,
+ "y": 640,
"w": 24,
"h": 23
}
@@ -3405,14 +3699,77 @@
"h": 23
},
"frame": {
- "x": 82,
- "y": 591,
+ "x": 31,
+ "y": 663,
"w": 24,
"h": 23
}
},
{
- "filename": "8s",
+ "filename": "86",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 5,
+ "w": 25,
+ "h": 23
+ },
+ "frame": {
+ "x": 31,
+ "y": 686,
+ "w": 25,
+ "h": 23
+ }
+ },
+ {
+ "filename": "20",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 7,
+ "w": 25,
+ "h": 21
+ },
+ "frame": {
+ "x": 78,
+ "y": 385,
+ "w": 25,
+ "h": 21
+ }
+ },
+ {
+ "filename": "20s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 7,
+ "w": 25,
+ "h": 21
+ },
+ "frame": {
+ "x": 103,
+ "y": 385,
+ "w": 25,
+ "h": 21
+ }
+ },
+ {
+ "filename": "7",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -3421,19 +3778,40 @@
},
"spriteSourceSize": {
"x": 10,
+ "y": 11,
+ "w": 21,
+ "h": 17
+ },
+ "frame": {
+ "x": 77,
+ "y": 406,
+ "w": 21,
+ "h": 17
+ }
+ },
+ {
+ "filename": "28",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
"y": 6,
- "w": 24,
+ "w": 25,
"h": 22
},
"frame": {
- "x": 82,
- "y": 614,
- "w": 24,
+ "x": 98,
+ "y": 406,
+ "w": 25,
"h": 22
}
},
{
- "filename": "31s",
+ "filename": "23s",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -3441,41 +3819,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
- "y": 5,
- "w": 23,
- "h": 23
- },
- "frame": {
- "x": 82,
- "y": 636,
- "w": 23,
- "h": 23
- }
- },
- {
- "filename": "72",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
+ "x": 11,
"y": 7,
- "w": 24,
- "h": 22
+ "w": 18,
+ "h": 21
},
"frame": {
- "x": 107,
- "y": 520,
- "w": 24,
- "h": 22
+ "x": 80,
+ "y": 423,
+ "w": 18,
+ "h": 21
}
},
{
- "filename": "25-cute-cosplay",
+ "filename": "28s",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -3483,56 +3840,14 @@
"h": 30
},
"spriteSourceSize": {
- "x": 7,
- "y": 8,
- "w": 24,
- "h": 20
- },
- "frame": {
- "x": 82,
- "y": 659,
- "w": 24,
- "h": 20
- }
- },
- {
- "filename": "73",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
+ "x": 8,
+ "y": 6,
"w": 25,
"h": 22
},
"frame": {
- "x": 81,
- "y": 679,
- "w": 25,
- "h": 22
- }
- },
- {
- "filename": "73s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 25,
- "h": 22
- },
- "frame": {
- "x": 81,
- "y": 701,
+ "x": 98,
+ "y": 428,
"w": 25,
"h": 22
}
@@ -3551,788 +3866,11 @@
"w": 25,
"h": 21
},
- "frame": {
- "x": 81,
- "y": 723,
- "w": 25,
- "h": 21
- }
- },
- {
- "filename": "76s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 7,
- "w": 26,
- "h": 21
- },
- "frame": {
- "x": 79,
- "y": 744,
- "w": 26,
- "h": 21
- }
- },
- {
- "filename": "21",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 12,
- "w": 19,
- "h": 16
- },
- "frame": {
- "x": 79,
- "y": 765,
- "w": 19,
- "h": 16
- }
- },
- {
- "filename": "21s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 12,
- "w": 19,
- "h": 16
- },
- "frame": {
- "x": 98,
- "y": 765,
- "w": 19,
- "h": 16
- }
- },
- {
- "filename": "19",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 7,
- "w": 20,
- "h": 21
- },
- "frame": {
- "x": 105,
- "y": 744,
- "w": 20,
- "h": 21
- }
- },
- {
- "filename": "101",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 12,
- "w": 16,
- "h": 16
- },
- "frame": {
- "x": 117,
- "y": 765,
- "w": 16,
- "h": 16
- }
- },
- {
- "filename": "48s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 2,
- "w": 17,
- "h": 26
- },
"frame": {
"x": 132,
- "y": 245,
- "w": 17,
- "h": 26
- }
- },
- {
- "filename": "2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 8,
- "w": 21,
- "h": 20
- },
- "frame": {
- "x": 135,
- "y": 225,
- "w": 21,
- "h": 20
- }
- },
- {
- "filename": "1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 9,
- "w": 20,
- "h": 19
- },
- "frame": {
- "x": 132,
- "y": 271,
- "w": 20,
- "h": 19
- }
- },
- {
- "filename": "129",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 5,
- "w": 22,
- "h": 24
- },
- "frame": {
- "x": 130,
- "y": 290,
- "w": 22,
- "h": 24
- }
- },
- {
- "filename": "5s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 5,
- "w": 22,
- "h": 23
- },
- "frame": {
- "x": 130,
- "y": 314,
- "w": 22,
- "h": 23
- }
- },
- {
- "filename": "129s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 5,
- "w": 22,
- "h": 24
- },
- "frame": {
- "x": 129,
- "y": 337,
- "w": 22,
- "h": 24
- }
- },
- {
- "filename": "61",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 9,
- "w": 22,
- "h": 19
- },
- "frame": {
- "x": 129,
- "y": 361,
- "w": 22,
- "h": 19
- }
- },
- {
- "filename": "45",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 5,
- "w": 22,
- "h": 23
- },
- "frame": {
- "x": 130,
- "y": 380,
- "w": 22,
- "h": 23
- }
- },
- {
- "filename": "45s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 5,
- "w": 22,
- "h": 23
- },
- "frame": {
- "x": 130,
- "y": 403,
- "w": 22,
- "h": 23
- }
- },
- {
- "filename": "126",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 5,
- "w": 22,
- "h": 23
- },
- "frame": {
- "x": 131,
- "y": 426,
- "w": 22,
- "h": 23
- }
- },
- {
- "filename": "126s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 5,
- "w": 22,
- "h": 23
- },
- "frame": {
- "x": 131,
- "y": 449,
- "w": 22,
- "h": 23
- }
- },
- {
- "filename": "47",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 6,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 131,
- "y": 472,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "47s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 6,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 131,
- "y": 494,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "51",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 6,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 131,
- "y": 516,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "40",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 3,
- "w": 17,
- "h": 25
- },
- "frame": {
- "x": 149,
- "y": 245,
- "w": 17,
- "h": 25
- }
- },
- {
- "filename": "40s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 3,
- "w": 17,
- "h": 25
- },
- "frame": {
- "x": 152,
- "y": 270,
- "w": 17,
- "h": 25
- }
- },
- {
- "filename": "103",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 4,
- "w": 17,
- "h": 24
- },
- "frame": {
- "x": 152,
- "y": 295,
- "w": 17,
- "h": 24
- }
- },
- {
- "filename": "1s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 9,
- "w": 20,
- "h": 19
- },
- "frame": {
- "x": 152,
- "y": 319,
- "w": 20,
- "h": 19
- }
- },
- {
- "filename": "24",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 5,
- "w": 20,
- "h": 23
- },
- "frame": {
- "x": 151,
- "y": 338,
- "w": 20,
- "h": 23
- }
- },
- {
- "filename": "4",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 9,
- "w": 21,
- "h": 19
- },
- "frame": {
- "x": 151,
- "y": 361,
- "w": 21,
- "h": 19
- }
- },
- {
- "filename": "24s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 5,
- "w": 20,
- "h": 23
- },
- "frame": {
- "x": 152,
- "y": 380,
- "w": 20,
- "h": 23
- }
- },
- {
- "filename": "36",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 5,
- "w": 20,
- "h": 23
- },
- "frame": {
- "x": 152,
- "y": 403,
- "w": 20,
- "h": 23
- }
- },
- {
- "filename": "36s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 5,
- "w": 20,
- "h": 23
- },
- "frame": {
- "x": 153,
- "y": 426,
- "w": 20,
- "h": 23
- }
- },
- {
- "filename": "150",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 5,
- "w": 20,
- "h": 23
- },
- "frame": {
- "x": 153,
- "y": 449,
- "w": 20,
- "h": 23
- }
- },
- {
- "filename": "150s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 5,
- "w": 20,
- "h": 23
- },
- "frame": {
- "x": 153,
- "y": 472,
- "w": 20,
- "h": 23
- }
- },
- {
- "filename": "51s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 6,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 153,
- "y": 495,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "44",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 7,
- "w": 22,
+ "y": 330,
+ "w": 25,
"h": 21
- },
- "frame": {
- "x": 153,
- "y": 517,
- "w": 22,
- "h": 21
- }
- },
- {
- "filename": "146",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 8,
- "w": 28,
- "h": 18
- },
- "frame": {
- "x": 131,
- "y": 538,
- "w": 28,
- "h": 18
- }
- },
- {
- "filename": "25s-cute-cosplay",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 8,
- "w": 24,
- "h": 20
- },
- "frame": {
- "x": 107,
- "y": 542,
- "w": 24,
- "h": 20
- }
- },
- {
- "filename": "149",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 6,
- "w": 25,
- "h": 22
- },
- "frame": {
- "x": 106,
- "y": 562,
- "w": 25,
- "h": 22
- }
- },
- {
- "filename": "144s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 7,
- "w": 27,
- "h": 20
- },
- "frame": {
- "x": 131,
- "y": 556,
- "w": 27,
- "h": 20
- }
- },
- {
- "filename": "149s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 6,
- "w": 25,
- "h": 22
- },
- "frame": {
- "x": 106,
- "y": 584,
- "w": 25,
- "h": 22
}
},
{
@@ -4350,14 +3888,14 @@
"h": 21
},
"frame": {
- "x": 131,
- "y": 576,
+ "x": 130,
+ "y": 351,
"w": 25,
"h": 21
}
},
{
- "filename": "72s",
+ "filename": "86s",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -4365,78 +3903,162 @@
"h": 30
},
"spriteSourceSize": {
- "x": 6,
- "y": 7,
- "w": 24,
- "h": 22
- },
- "frame": {
- "x": 106,
- "y": 606,
- "w": 24,
- "h": 22
- }
- },
- {
- "filename": "2s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 8,
- "w": 21,
- "h": 20
- },
- "frame": {
- "x": 159,
- "y": 538,
- "w": 21,
- "h": 20
- }
- },
- {
- "filename": "44s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 7,
- "w": 22,
- "h": 21
- },
- "frame": {
- "x": 158,
- "y": 558,
- "w": 22,
- "h": 21
- }
- },
- {
- "filename": "82",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
+ "x": 8,
"y": 5,
- "w": 24,
+ "w": 25,
+ "h": 23
+ },
+ "frame": {
+ "x": 128,
+ "y": 372,
+ "w": 25,
+ "h": 23
+ }
+ },
+ {
+ "filename": "73",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 5,
+ "w": 25,
"h": 22
},
"frame": {
- "x": 156,
- "y": 579,
- "w": 24,
+ "x": 128,
+ "y": 395,
+ "w": 25,
+ "h": 22
+ }
+ },
+ {
+ "filename": "87",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 5,
+ "w": 25,
+ "h": 23
+ },
+ "frame": {
+ "x": 123,
+ "y": 417,
+ "w": 25,
+ "h": 23
+ }
+ },
+ {
+ "filename": "73s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 5,
+ "w": 25,
+ "h": 22
+ },
+ "frame": {
+ "x": 123,
+ "y": 440,
+ "w": 25,
+ "h": 22
+ }
+ },
+ {
+ "filename": "87s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 5,
+ "w": 25,
+ "h": 23
+ },
+ "frame": {
+ "x": 157,
+ "y": 342,
+ "w": 25,
+ "h": 23
+ }
+ },
+ {
+ "filename": "112",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 5,
+ "w": 25,
+ "h": 23
+ },
+ "frame": {
+ "x": 182,
+ "y": 354,
+ "w": 25,
+ "h": 23
+ }
+ },
+ {
+ "filename": "112s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 5,
+ "w": 25,
+ "h": 23
+ },
+ "frame": {
+ "x": 207,
+ "y": 361,
+ "w": 25,
+ "h": 23
+ }
+ },
+ {
+ "filename": "53",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 23,
+ "h": 22
+ },
+ "frame": {
+ "x": 232,
+ "y": 364,
+ "w": 23,
"h": 22
}
},
@@ -4455,14 +4077,14 @@
"h": 20
},
"frame": {
- "x": 131,
- "y": 597,
+ "x": 155,
+ "y": 365,
"w": 25,
"h": 20
}
},
{
- "filename": "82s",
+ "filename": "149",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -4470,15 +4092,15 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
- "y": 5,
- "w": 24,
+ "x": 7,
+ "y": 6,
+ "w": 25,
"h": 22
},
"frame": {
- "x": 156,
- "y": 601,
- "w": 24,
+ "x": 153,
+ "y": 385,
+ "w": 25,
"h": 22
}
},
@@ -4497,14 +4119,14 @@
"h": 20
},
"frame": {
- "x": 130,
- "y": 617,
+ "x": 153,
+ "y": 407,
"w": 25,
"h": 20
}
},
{
- "filename": "74s",
+ "filename": "149s",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -4512,16 +4134,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 8,
- "y": 13,
- "w": 24,
- "h": 15
+ "x": 7,
+ "y": 6,
+ "w": 25,
+ "h": 22
},
"frame": {
- "x": 106,
- "y": 628,
- "w": 24,
- "h": 15
+ "x": 148,
+ "y": 427,
+ "w": 25,
+ "h": 22
}
},
{
@@ -4539,8 +4161,8 @@
"h": 21
},
"frame": {
- "x": 155,
- "y": 623,
+ "x": 148,
+ "y": 449,
"w": 25,
"h": 21
}
@@ -4560,12 +4182,201 @@
"h": 21
},
"frame": {
- "x": 130,
- "y": 637,
+ "x": 180,
+ "y": 377,
"w": 25,
"h": 21
}
},
+ {
+ "filename": "8s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 6,
+ "w": 24,
+ "h": 22
+ },
+ "frame": {
+ "x": 178,
+ "y": 398,
+ "w": 24,
+ "h": 22
+ }
+ },
+ {
+ "filename": "133-partner",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 8,
+ "w": 25,
+ "h": 20
+ },
+ "frame": {
+ "x": 205,
+ "y": 384,
+ "w": 25,
+ "h": 20
+ }
+ },
+ {
+ "filename": "133s-partner",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 8,
+ "w": 25,
+ "h": 20
+ },
+ "frame": {
+ "x": 230,
+ "y": 386,
+ "w": 25,
+ "h": 20
+ }
+ },
+ {
+ "filename": "25-cute-cosplay",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 8,
+ "w": 24,
+ "h": 20
+ },
+ "frame": {
+ "x": 202,
+ "y": 404,
+ "w": 24,
+ "h": 20
+ }
+ },
+ {
+ "filename": "25s-cute-cosplay",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 8,
+ "w": 24,
+ "h": 20
+ },
+ "frame": {
+ "x": 226,
+ "y": 406,
+ "w": 24,
+ "h": 20
+ }
+ },
+ {
+ "filename": "72",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 7,
+ "w": 24,
+ "h": 22
+ },
+ "frame": {
+ "x": 178,
+ "y": 420,
+ "w": 24,
+ "h": 22
+ }
+ },
+ {
+ "filename": "72s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 7,
+ "w": 24,
+ "h": 22
+ },
+ "frame": {
+ "x": 202,
+ "y": 424,
+ "w": 24,
+ "h": 22
+ }
+ },
+ {
+ "filename": "82",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 5,
+ "w": 24,
+ "h": 22
+ },
+ "frame": {
+ "x": 226,
+ "y": 426,
+ "w": 24,
+ "h": 22
+ }
+ },
+ {
+ "filename": "82s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 5,
+ "w": 24,
+ "h": 22
+ },
+ "frame": {
+ "x": 173,
+ "y": 442,
+ "w": 24,
+ "h": 22
+ }
+ },
{
"filename": "96",
"rotated": false,
@@ -4581,8 +4392,8 @@
"h": 22
},
"frame": {
- "x": 106,
- "y": 643,
+ "x": 197,
+ "y": 446,
"w": 24,
"h": 22
}
@@ -4602,14 +4413,14 @@
"h": 22
},
"frame": {
- "x": 106,
- "y": 665,
+ "x": 221,
+ "y": 448,
"w": 24,
"h": 22
}
},
{
- "filename": "53",
+ "filename": "102",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -4618,98 +4429,35 @@
},
"spriteSourceSize": {
"x": 8,
- "y": 6,
- "w": 23,
- "h": 22
- },
- "frame": {
- "x": 130,
- "y": 658,
- "w": 23,
- "h": 22
- }
- },
- {
- "filename": "53s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 6,
- "w": 23,
- "h": 22
- },
- "frame": {
- "x": 106,
- "y": 687,
- "w": 23,
- "h": 22
- }
- },
- {
- "filename": "63",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 8,
- "w": 23,
- "h": 21
- },
- "frame": {
- "x": 106,
- "y": 709,
- "w": 23,
- "h": 21
- }
- },
- {
- "filename": "50",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 14,
- "w": 15,
- "h": 14
- },
- "frame": {
- "x": 106,
- "y": 730,
- "w": 15,
- "h": 14
- }
- },
- {
- "filename": "146s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 8,
- "w": 28,
+ "y": 10,
+ "w": 24,
"h": 18
},
"frame": {
- "x": 155,
- "y": 644,
- "w": 28,
+ "x": 173,
+ "y": 464,
+ "w": 24,
+ "h": 18
+ }
+ },
+ {
+ "filename": "102s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 10,
+ "w": 24,
+ "h": 18
+ },
+ "frame": {
+ "x": 197,
+ "y": 468,
+ "w": 24,
"h": 18
}
},
@@ -4728,14 +4476,14 @@
"h": 20
},
"frame": {
- "x": 183,
- "y": 151,
+ "x": 221,
+ "y": 470,
"w": 24,
"h": 20
}
},
{
- "filename": "102",
+ "filename": "16",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -4743,100 +4491,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 8,
- "y": 10,
- "w": 24,
- "h": 18
+ "x": 11,
+ "y": 11,
+ "w": 18,
+ "h": 17
},
"frame": {
- "x": 153,
- "y": 662,
- "w": 24,
- "h": 18
- }
- },
- {
- "filename": "103s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 4,
- "w": 17,
- "h": 24
- },
- "frame": {
- "x": 166,
- "y": 151,
- "w": 17,
- "h": 24
- }
- },
- {
- "filename": "102s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 10,
- "w": 24,
- "h": 18
- },
- "frame": {
- "x": 130,
- "y": 680,
- "w": 24,
- "h": 18
- }
- },
- {
- "filename": "131",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 7,
- "w": 24,
- "h": 21
- },
- "frame": {
- "x": 129,
- "y": 698,
- "w": 24,
- "h": 21
- }
- },
- {
- "filename": "63s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 8,
- "w": 23,
- "h": 21
- },
- "frame": {
- "x": 154,
- "y": 680,
- "w": 23,
- "h": 21
+ "x": 80,
+ "y": 444,
+ "w": 18,
+ "h": 17
}
},
{
@@ -4854,12 +4518,75 @@
"h": 20
},
"frame": {
- "x": 153,
- "y": 701,
+ "x": 56,
+ "y": 446,
"w": 24,
"h": 20
}
},
+ {
+ "filename": "45",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 5,
+ "w": 22,
+ "h": 23
+ },
+ "frame": {
+ "x": 54,
+ "y": 466,
+ "w": 22,
+ "h": 23
+ }
+ },
+ {
+ "filename": "45s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 5,
+ "w": 22,
+ "h": 23
+ },
+ "frame": {
+ "x": 54,
+ "y": 489,
+ "w": 22,
+ "h": 23
+ }
+ },
+ {
+ "filename": "126",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 5,
+ "w": 22,
+ "h": 23
+ },
+ "frame": {
+ "x": 54,
+ "y": 512,
+ "w": 22,
+ "h": 23
+ }
+ },
{
"filename": "117",
"rotated": false,
@@ -4875,14 +4602,161 @@
"h": 20
},
"frame": {
- "x": 129,
- "y": 719,
+ "x": 98,
+ "y": 450,
"w": 24,
"h": 20
}
},
{
- "filename": "117s",
+ "filename": "16s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 11,
+ "w": 18,
+ "h": 17
+ },
+ "frame": {
+ "x": 80,
+ "y": 461,
+ "w": 18,
+ "h": 17
+ }
+ },
+ {
+ "filename": "126s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 5,
+ "w": 22,
+ "h": 23
+ },
+ "frame": {
+ "x": 76,
+ "y": 478,
+ "w": 22,
+ "h": 23
+ }
+ },
+ {
+ "filename": "53s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 23,
+ "h": 22
+ },
+ "frame": {
+ "x": 98,
+ "y": 470,
+ "w": 23,
+ "h": 22
+ }
+ },
+ {
+ "filename": "47",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 6,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 76,
+ "y": 501,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "47s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 6,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 98,
+ "y": 492,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "44s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 7,
+ "w": 22,
+ "h": 21
+ },
+ "frame": {
+ "x": 76,
+ "y": 523,
+ "w": 22,
+ "h": 21
+ }
+ },
+ {
+ "filename": "51",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 6,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 98,
+ "y": 514,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "46",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -4892,16 +4766,352 @@
"spriteSourceSize": {
"x": 9,
"y": 8,
- "w": 24,
+ "w": 22,
"h": 20
},
"frame": {
- "x": 153,
- "y": 721,
- "w": 24,
+ "x": 54,
+ "y": 535,
+ "w": 22,
"h": 20
}
},
+ {
+ "filename": "63",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 8,
+ "w": 23,
+ "h": 21
+ },
+ "frame": {
+ "x": 53,
+ "y": 555,
+ "w": 23,
+ "h": 21
+ }
+ },
+ {
+ "filename": "51s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 6,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 76,
+ "y": 544,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "139",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 6,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 98,
+ "y": 536,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "108",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 11,
+ "w": 23,
+ "h": 18
+ },
+ "frame": {
+ "x": 51,
+ "y": 576,
+ "w": 23,
+ "h": 18
+ }
+ },
+ {
+ "filename": "24",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 5,
+ "w": 20,
+ "h": 23
+ },
+ "frame": {
+ "x": 54,
+ "y": 594,
+ "w": 20,
+ "h": 23
+ }
+ },
+ {
+ "filename": "24s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 5,
+ "w": 20,
+ "h": 23
+ },
+ "frame": {
+ "x": 54,
+ "y": 617,
+ "w": 20,
+ "h": 23
+ }
+ },
+ {
+ "filename": "36",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 5,
+ "w": 20,
+ "h": 23
+ },
+ "frame": {
+ "x": 54,
+ "y": 640,
+ "w": 20,
+ "h": 23
+ }
+ },
+ {
+ "filename": "36s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 5,
+ "w": 20,
+ "h": 23
+ },
+ "frame": {
+ "x": 55,
+ "y": 663,
+ "w": 20,
+ "h": 23
+ }
+ },
+ {
+ "filename": "150",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 5,
+ "w": 20,
+ "h": 23
+ },
+ "frame": {
+ "x": 56,
+ "y": 686,
+ "w": 20,
+ "h": 23
+ }
+ },
+ {
+ "filename": "63s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 8,
+ "w": 23,
+ "h": 21
+ },
+ "frame": {
+ "x": 53,
+ "y": 709,
+ "w": 23,
+ "h": 21
+ }
+ },
+ {
+ "filename": "106",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 9,
+ "w": 23,
+ "h": 19
+ },
+ "frame": {
+ "x": 53,
+ "y": 730,
+ "w": 23,
+ "h": 19
+ }
+ },
+ {
+ "filename": "150s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 5,
+ "w": 20,
+ "h": 23
+ },
+ "frame": {
+ "x": 56,
+ "y": 749,
+ "w": 20,
+ "h": 23
+ }
+ },
+ {
+ "filename": "108s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 11,
+ "w": 23,
+ "h": 18
+ },
+ "frame": {
+ "x": 71,
+ "y": 772,
+ "w": 23,
+ "h": 18
+ }
+ },
+ {
+ "filename": "46s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 8,
+ "w": 22,
+ "h": 20
+ },
+ "frame": {
+ "x": 76,
+ "y": 566,
+ "w": 22,
+ "h": 20
+ }
+ },
+ {
+ "filename": "139s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 6,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 98,
+ "y": 558,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "131",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 7,
+ "w": 24,
+ "h": 21
+ },
+ "frame": {
+ "x": 74,
+ "y": 586,
+ "w": 24,
+ "h": 21
+ }
+ },
{
"filename": "131s",
"rotated": false,
@@ -4917,8 +5127,8 @@
"h": 21
},
"frame": {
- "x": 125,
- "y": 739,
+ "x": 74,
+ "y": 607,
"w": 24,
"h": 21
}
@@ -4938,491 +5148,8 @@
"h": 21
},
"frame": {
- "x": 133,
- "y": 760,
- "w": 23,
- "h": 21
- }
- },
- {
- "filename": "118",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 9,
- "w": 24,
- "h": 19
- },
- "frame": {
- "x": 149,
- "y": 741,
- "w": 24,
- "h": 19
- }
- },
- {
- "filename": "92s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 7,
- "w": 23,
- "h": 21
- },
- "frame": {
- "x": 156,
- "y": 760,
- "w": 23,
- "h": 21
- }
- },
- {
- "filename": "4s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 9,
- "w": 21,
- "h": 19
- },
- "frame": {
- "x": 173,
- "y": 741,
- "w": 21,
- "h": 19
- }
- },
- {
- "filename": "115",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 7,
- "w": 23,
- "h": 21
- },
- "frame": {
- "x": 179,
- "y": 760,
- "w": 23,
- "h": 21
- }
- },
- {
- "filename": "58",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 6,
- "w": 21,
- "h": 22
- },
- "frame": {
- "x": 177,
- "y": 662,
- "w": 21,
- "h": 22
- }
- },
- {
- "filename": "58s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 6,
- "w": 21,
- "h": 22
- },
- "frame": {
- "x": 177,
- "y": 684,
- "w": 21,
- "h": 22
- }
- },
- {
- "filename": "125",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 6,
- "w": 21,
- "h": 22
- },
- "frame": {
- "x": 177,
- "y": 706,
- "w": 21,
- "h": 22
- }
- },
- {
- "filename": "132",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 15,
- "w": 16,
- "h": 13
- },
- "frame": {
- "x": 177,
- "y": 728,
- "w": 16,
- "h": 13
- }
- },
- {
- "filename": "118s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 9,
- "w": 24,
- "h": 19
- },
- "frame": {
- "x": 183,
- "y": 171,
- "w": 24,
- "h": 19
- }
- },
- {
- "filename": "106",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 9,
- "w": 23,
- "h": 19
- },
- "frame": {
- "x": 207,
- "y": 171,
- "w": 23,
- "h": 19
- }
- },
- {
- "filename": "43",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 9,
- "w": 17,
- "h": 19
- },
- "frame": {
- "x": 166,
- "y": 175,
- "w": 17,
- "h": 19
- }
- },
- {
- "filename": "81",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 12,
- "w": 23,
- "h": 15
- },
- "frame": {
- "x": 183,
- "y": 190,
- "w": 23,
- "h": 15
- }
- },
- {
- "filename": "81s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 12,
- "w": 23,
- "h": 15
- },
- "frame": {
- "x": 206,
- "y": 190,
- "w": 23,
- "h": 15
- }
- },
- {
- "filename": "17",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 8,
- "w": 21,
- "h": 20
- },
- "frame": {
- "x": 140,
- "y": 205,
- "w": 21,
- "h": 20
- }
- },
- {
- "filename": "139",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 6,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 161,
- "y": 194,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "17s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 8,
- "w": 21,
- "h": 20
- },
- "frame": {
- "x": 156,
- "y": 225,
- "w": 21,
- "h": 20
- }
- },
- {
- "filename": "106s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 9,
- "w": 23,
- "h": 19
- },
- "frame": {
- "x": 183,
- "y": 205,
- "w": 23,
- "h": 19
- }
- },
- {
- "filename": "115s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 7,
- "w": 23,
- "h": 21
- },
- "frame": {
- "x": 206,
- "y": 205,
- "w": 23,
- "h": 21
- }
- },
- {
- "filename": "127",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 7,
- "w": 23,
- "h": 21
- },
- "frame": {
- "x": 177,
- "y": 224,
- "w": 23,
- "h": 21
- }
- },
- {
- "filename": "127s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 7,
- "w": 23,
- "h": 21
- },
- "frame": {
- "x": 166,
- "y": 245,
- "w": 23,
- "h": 21
- }
- },
- {
- "filename": "125s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 6,
- "w": 21,
- "h": 22
- },
- "frame": {
- "x": 169,
- "y": 266,
- "w": 21,
- "h": 22
- }
- },
- {
- "filename": "139s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 6,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 169,
- "y": 288,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "134",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 7,
- "w": 23,
- "h": 21
- },
- "frame": {
- "x": 200,
- "y": 226,
+ "x": 74,
+ "y": 628,
"w": 23,
"h": 21
}
@@ -5442,33 +5169,12 @@
"h": 22
},
"frame": {
- "x": 172,
- "y": 310,
+ "x": 98,
+ "y": 580,
"w": 22,
"h": 22
}
},
- {
- "filename": "61s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 9,
- "w": 22,
- "h": 19
- },
- "frame": {
- "x": 189,
- "y": 247,
- "w": 22,
- "h": 19
- }
- },
{
"filename": "148s",
"rotated": false,
@@ -5484,308 +5190,14 @@
"h": 22
},
"frame": {
- "x": 190,
- "y": 266,
+ "x": 98,
+ "y": 602,
"w": 22,
"h": 22
}
},
{
- "filename": "52",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 7,
- "w": 21,
- "h": 21
- },
- "frame": {
- "x": 191,
- "y": 288,
- "w": 21,
- "h": 21
- }
- },
- {
- "filename": "19s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 7,
- "w": 20,
- "h": 21
- },
- "frame": {
- "x": 194,
- "y": 309,
- "w": 20,
- "h": 21
- }
- },
- {
- "filename": "29",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 9,
- "w": 18,
- "h": 19
- },
- "frame": {
- "x": 211,
- "y": 247,
- "w": 18,
- "h": 19
- }
- },
- {
- "filename": "23",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 7,
- "w": 18,
- "h": 21
- },
- "frame": {
- "x": 212,
- "y": 266,
- "w": 18,
- "h": 21
- }
- },
- {
- "filename": "23s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 7,
- "w": 18,
- "h": 21
- },
- "frame": {
- "x": 212,
- "y": 287,
- "w": 18,
- "h": 21
- }
- },
- {
- "filename": "52s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 7,
- "w": 21,
- "h": 21
- },
- "frame": {
- "x": 214,
- "y": 308,
- "w": 21,
- "h": 21
- }
- },
- {
- "filename": "79",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 7,
- "w": 21,
- "h": 21
- },
- "frame": {
- "x": 235,
- "y": 188,
- "w": 21,
- "h": 21
- }
- },
- {
- "filename": "79s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 7,
- "w": 21,
- "h": 21
- },
- "frame": {
- "x": 235,
- "y": 209,
- "w": 21,
- "h": 21
- }
- },
- {
- "filename": "25-cool-cosplay",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 8,
- "w": 21,
- "h": 20
- },
- "frame": {
- "x": 235,
- "y": 230,
- "w": 21,
- "h": 20
- }
- },
- {
- "filename": "11",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 14,
- "y": 10,
- "w": 12,
- "h": 18
- },
- "frame": {
- "x": 223,
- "y": 226,
- "w": 12,
- "h": 18
- }
- },
- {
- "filename": "25-cosplay",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 8,
- "w": 21,
- "h": 20
- },
- "frame": {
- "x": 235,
- "y": 250,
- "w": 21,
- "h": 20
- }
- },
- {
- "filename": "25-smart-cosplay",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 8,
- "w": 21,
- "h": 20
- },
- "frame": {
- "x": 235,
- "y": 270,
- "w": 21,
- "h": 20
- }
- },
- {
- "filename": "25-tough-cosplay",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 8,
- "w": 21,
- "h": 20
- },
- "frame": {
- "x": 235,
- "y": 290,
- "w": 21,
- "h": 20
- }
- },
- {
- "filename": "25",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 8,
- "w": 21,
- "h": 20
- },
- "frame": {
- "x": 235,
- "y": 310,
- "w": 21,
- "h": 20
- }
- },
- {
- "filename": "46",
+ "filename": "117s",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -5795,18 +5207,18 @@
"spriteSourceSize": {
"x": 9,
"y": 8,
- "w": 22,
+ "w": 24,
"h": 20
},
"frame": {
- "x": 172,
- "y": 332,
- "w": 22,
+ "x": 122,
+ "y": 462,
+ "w": 24,
"h": 20
}
},
{
- "filename": "105",
+ "filename": "118",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -5814,20 +5226,41 @@
"h": 30
},
"spriteSourceSize": {
- "x": 8,
- "y": 7,
- "w": 22,
- "h": 21
+ "x": 9,
+ "y": 9,
+ "w": 24,
+ "h": 19
},
"frame": {
- "x": 194,
- "y": 330,
- "w": 22,
- "h": 21
+ "x": 146,
+ "y": 470,
+ "w": 24,
+ "h": 19
}
},
{
- "filename": "141s",
+ "filename": "118s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 9,
+ "w": 24,
+ "h": 19
+ },
+ "frame": {
+ "x": 121,
+ "y": 482,
+ "w": 24,
+ "h": 19
+ }
+ },
+ {
+ "filename": "92s",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -5837,18 +5270,18 @@
"spriteSourceSize": {
"x": 10,
"y": 7,
- "w": 19,
+ "w": 23,
"h": 21
},
"frame": {
- "x": 216,
- "y": 329,
- "w": 19,
+ "x": 120,
+ "y": 501,
+ "w": 23,
"h": 21
}
},
{
- "filename": "25s-cool-cosplay",
+ "filename": "115",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -5856,20 +5289,41 @@
"h": 30
},
"spriteSourceSize": {
- "x": 10,
- "y": 8,
- "w": 21,
- "h": 20
+ "x": 9,
+ "y": 7,
+ "w": 23,
+ "h": 21
},
"frame": {
- "x": 235,
- "y": 330,
- "w": 21,
- "h": 20
+ "x": 120,
+ "y": 522,
+ "w": 23,
+ "h": 21
}
},
{
- "filename": "105s",
+ "filename": "115s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 7,
+ "w": 23,
+ "h": 21
+ },
+ "frame": {
+ "x": 120,
+ "y": 543,
+ "w": 23,
+ "h": 21
+ }
+ },
+ {
+ "filename": "127",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -5879,13 +5333,76 @@
"spriteSourceSize": {
"x": 8,
"y": 7,
- "w": 22,
+ "w": 23,
"h": 21
},
"frame": {
- "x": 172,
- "y": 352,
- "w": 22,
+ "x": 120,
+ "y": 564,
+ "w": 23,
+ "h": 21
+ }
+ },
+ {
+ "filename": "127s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 7,
+ "w": 23,
+ "h": 21
+ },
+ "frame": {
+ "x": 120,
+ "y": 585,
+ "w": 23,
+ "h": 21
+ }
+ },
+ {
+ "filename": "106s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 9,
+ "w": 23,
+ "h": 19
+ },
+ "frame": {
+ "x": 120,
+ "y": 606,
+ "w": 23,
+ "h": 19
+ }
+ },
+ {
+ "filename": "134",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 7,
+ "w": 23,
+ "h": 21
+ },
+ "frame": {
+ "x": 145,
+ "y": 489,
+ "w": 23,
"h": 21
}
},
@@ -5904,8 +5421,8 @@
"h": 21
},
"frame": {
- "x": 194,
- "y": 351,
+ "x": 143,
+ "y": 510,
"w": 23,
"h": 21
}
@@ -5925,8 +5442,8 @@
"h": 21
},
"frame": {
- "x": 172,
- "y": 373,
+ "x": 143,
+ "y": 531,
"w": 23,
"h": 21
}
@@ -5946,14 +5463,14 @@
"h": 21
},
"frame": {
- "x": 172,
- "y": 394,
+ "x": 143,
+ "y": 552,
"w": 23,
"h": 21
}
},
{
- "filename": "46s",
+ "filename": "58",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -5961,20 +5478,41 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
- "y": 8,
- "w": 22,
- "h": 20
+ "x": 11,
+ "y": 6,
+ "w": 21,
+ "h": 22
},
"frame": {
- "x": 217,
- "y": 350,
- "w": 22,
- "h": 20
+ "x": 143,
+ "y": 573,
+ "w": 21,
+ "h": 22
}
},
{
- "filename": "43s",
+ "filename": "58s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 6,
+ "w": 21,
+ "h": 22
+ },
+ "frame": {
+ "x": 143,
+ "y": 595,
+ "w": 21,
+ "h": 22
+ }
+ },
+ {
+ "filename": "50",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -5983,17 +5521,290 @@
},
"spriteSourceSize": {
"x": 13,
+ "y": 14,
+ "w": 15,
+ "h": 14
+ },
+ "frame": {
+ "x": 74,
+ "y": 649,
+ "w": 15,
+ "h": 14
+ }
+ },
+ {
+ "filename": "30",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 6,
+ "w": 19,
+ "h": 22
+ },
+ "frame": {
+ "x": 75,
+ "y": 663,
+ "w": 19,
+ "h": 22
+ }
+ },
+ {
+ "filename": "30s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 6,
+ "w": 19,
+ "h": 22
+ },
+ "frame": {
+ "x": 76,
+ "y": 685,
+ "w": 19,
+ "h": 22
+ }
+ },
+ {
+ "filename": "33",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 6,
+ "w": 19,
+ "h": 22
+ },
+ "frame": {
+ "x": 76,
+ "y": 707,
+ "w": 19,
+ "h": 22
+ }
+ },
+ {
+ "filename": "33s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 6,
+ "w": 19,
+ "h": 22
+ },
+ "frame": {
+ "x": 76,
+ "y": 729,
+ "w": 19,
+ "h": 22
+ }
+ },
+ {
+ "filename": "19",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 7,
+ "w": 20,
+ "h": 21
+ },
+ "frame": {
+ "x": 76,
+ "y": 751,
+ "w": 20,
+ "h": 21
+ }
+ },
+ {
+ "filename": "84",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 10,
+ "w": 21,
+ "h": 18
+ },
+ "frame": {
+ "x": 94,
+ "y": 772,
+ "w": 21,
+ "h": 18
+ }
+ },
+ {
+ "filename": "4",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
"y": 9,
- "w": 17,
+ "w": 21,
"h": 19
},
"frame": {
- "x": 239,
- "y": 350,
- "w": 17,
+ "x": 143,
+ "y": 617,
+ "w": 21,
"h": 19
}
},
+ {
+ "filename": "50s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 14,
+ "w": 15,
+ "h": 14
+ },
+ "frame": {
+ "x": 89,
+ "y": 649,
+ "w": 15,
+ "h": 14
+ }
+ },
+ {
+ "filename": "125",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 6,
+ "w": 21,
+ "h": 22
+ },
+ "frame": {
+ "x": 94,
+ "y": 663,
+ "w": 21,
+ "h": 22
+ }
+ },
+ {
+ "filename": "125s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 6,
+ "w": 21,
+ "h": 22
+ },
+ "frame": {
+ "x": 95,
+ "y": 685,
+ "w": 21,
+ "h": 22
+ }
+ },
+ {
+ "filename": "52",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 7,
+ "w": 21,
+ "h": 21
+ },
+ "frame": {
+ "x": 95,
+ "y": 707,
+ "w": 21,
+ "h": 21
+ }
+ },
+ {
+ "filename": "52s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 7,
+ "w": 21,
+ "h": 21
+ },
+ "frame": {
+ "x": 95,
+ "y": 728,
+ "w": 21,
+ "h": 21
+ }
+ },
+ {
+ "filename": "19s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 7,
+ "w": 20,
+ "h": 21
+ },
+ "frame": {
+ "x": 96,
+ "y": 749,
+ "w": 20,
+ "h": 21
+ }
+ },
{
"filename": "70",
"rotated": false,
@@ -6009,12 +5820,96 @@
"h": 20
},
"frame": {
- "x": 195,
- "y": 372,
+ "x": 115,
+ "y": 770,
"w": 22,
"h": 20
}
},
+ {
+ "filename": "54",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 7,
+ "w": 18,
+ "h": 21
+ },
+ "frame": {
+ "x": 97,
+ "y": 628,
+ "w": 18,
+ "h": 21
+ }
+ },
+ {
+ "filename": "100",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 14,
+ "w": 14,
+ "h": 14
+ },
+ "frame": {
+ "x": 104,
+ "y": 649,
+ "w": 14,
+ "h": 14
+ }
+ },
+ {
+ "filename": "105",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 7,
+ "w": 22,
+ "h": 21
+ },
+ "frame": {
+ "x": 115,
+ "y": 625,
+ "w": 22,
+ "h": 21
+ }
+ },
+ {
+ "filename": "1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 9,
+ "w": 20,
+ "h": 19
+ },
+ "frame": {
+ "x": 118,
+ "y": 646,
+ "w": 20,
+ "h": 19
+ }
+ },
{
"filename": "70s",
"rotated": false,
@@ -6030,14 +5925,14 @@
"h": 20
},
"frame": {
- "x": 217,
- "y": 370,
+ "x": 115,
+ "y": 665,
"w": 22,
"h": 20
}
},
{
- "filename": "122",
+ "filename": "79",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -6045,20 +5940,62 @@
"h": 30
},
"spriteSourceSize": {
- "x": 12,
- "y": 10,
- "w": 17,
- "h": 18
+ "x": 10,
+ "y": 7,
+ "w": 21,
+ "h": 21
},
"frame": {
- "x": 239,
- "y": 369,
- "w": 17,
- "h": 18
+ "x": 116,
+ "y": 685,
+ "w": 21,
+ "h": 21
}
},
{
- "filename": "25s-cosplay",
+ "filename": "79s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 7,
+ "w": 21,
+ "h": 21
+ },
+ "frame": {
+ "x": 116,
+ "y": 706,
+ "w": 21,
+ "h": 21
+ }
+ },
+ {
+ "filename": "105s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 7,
+ "w": 22,
+ "h": 21
+ },
+ "frame": {
+ "x": 116,
+ "y": 727,
+ "w": 22,
+ "h": 21
+ }
+ },
+ {
+ "filename": "17",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -6072,161 +6009,14 @@
"h": 20
},
"frame": {
- "x": 195,
- "y": 392,
+ "x": 116,
+ "y": 748,
"w": 21,
"h": 20
}
},
{
- "filename": "122s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 10,
- "w": 17,
- "h": 18
- },
- "frame": {
- "x": 239,
- "y": 387,
- "w": 17,
- "h": 18
- }
- },
- {
- "filename": "108",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 11,
- "w": 23,
- "h": 18
- },
- "frame": {
- "x": 216,
- "y": 392,
- "w": 23,
- "h": 18
- }
- },
- {
- "filename": "133",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 10,
- "w": 17,
- "h": 18
- },
- "frame": {
- "x": 239,
- "y": 405,
- "w": 17,
- "h": 18
- }
- },
- {
- "filename": "108s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 11,
- "w": 23,
- "h": 18
- },
- "frame": {
- "x": 216,
- "y": 410,
- "w": 23,
- "h": 18
- }
- },
- {
- "filename": "7",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 11,
- "w": 21,
- "h": 17
- },
- "frame": {
- "x": 195,
- "y": 412,
- "w": 21,
- "h": 17
- }
- },
- {
- "filename": "133s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 10,
- "w": 17,
- "h": 18
- },
- "frame": {
- "x": 239,
- "y": 423,
- "w": 17,
- "h": 18
- }
- },
- {
- "filename": "27",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 10,
- "w": 20,
- "h": 18
- },
- "frame": {
- "x": 175,
- "y": 415,
- "w": 20,
- "h": 18
- }
- },
- {
- "filename": "25s-smart-cosplay",
+ "filename": "17s",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -6240,14 +6030,35 @@
"h": 20
},
"frame": {
- "x": 173,
- "y": 433,
+ "x": 138,
+ "y": 636,
"w": 21,
"h": 20
}
},
{
- "filename": "25s-tough-cosplay",
+ "filename": "4s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 9,
+ "w": 21,
+ "h": 19
+ },
+ "frame": {
+ "x": 138,
+ "y": 656,
+ "w": 21,
+ "h": 19
+ }
+ },
+ {
+ "filename": "25-cool-cosplay",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -6261,14 +6072,14 @@
"h": 20
},
"frame": {
- "x": 173,
- "y": 453,
+ "x": 137,
+ "y": 675,
"w": 21,
"h": 20
}
},
{
- "filename": "25s",
+ "filename": "25-cosplay",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -6282,8 +6093,8 @@
"h": 20
},
"frame": {
- "x": 173,
- "y": 473,
+ "x": 137,
+ "y": 695,
"w": 21,
"h": 20
}
@@ -6303,14 +6114,14 @@
"h": 21
},
"frame": {
- "x": 175,
- "y": 493,
+ "x": 138,
+ "y": 715,
"w": 20,
"h": 21
}
},
{
- "filename": "135s",
+ "filename": "1s",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -6319,355 +6130,19 @@
},
"spriteSourceSize": {
"x": 10,
- "y": 7,
- "w": 20,
- "h": 21
- },
- "frame": {
- "x": 175,
- "y": 514,
- "w": 20,
- "h": 21
- }
- },
- {
- "filename": "54",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 7,
- "w": 18,
- "h": 21
- },
- "frame": {
- "x": 180,
- "y": 535,
- "w": 18,
- "h": 21
- }
- },
- {
- "filename": "54s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 7,
- "w": 18,
- "h": 21
- },
- "frame": {
- "x": 180,
- "y": 556,
- "w": 18,
- "h": 21
- }
- },
- {
- "filename": "32",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 8,
- "w": 18,
- "h": 20
- },
- "frame": {
- "x": 180,
- "y": 577,
- "w": 18,
- "h": 20
- }
- },
- {
- "filename": "32s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 8,
- "w": 18,
- "h": 20
- },
- "frame": {
- "x": 180,
- "y": 597,
- "w": 18,
- "h": 20
- }
- },
- {
- "filename": "37",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 8,
- "w": 20,
- "h": 20
- },
- "frame": {
- "x": 180,
- "y": 617,
- "w": 20,
- "h": 20
- }
- },
- {
- "filename": "37s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 8,
- "w": 20,
- "h": 20
- },
- "frame": {
- "x": 183,
- "y": 637,
- "w": 20,
- "h": 20
- }
- },
- {
- "filename": "7s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 11,
- "w": 21,
- "h": 17
- },
- "frame": {
- "x": 195,
- "y": 429,
- "w": 21,
- "h": 17
- }
- },
- {
- "filename": "41",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 7,
- "w": 21,
- "h": 20
- },
- "frame": {
- "x": 194,
- "y": 446,
- "w": 21,
- "h": 20
- }
- },
- {
- "filename": "41s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 7,
- "w": 21,
- "h": 20
- },
- "frame": {
- "x": 194,
- "y": 466,
- "w": 21,
- "h": 20
- }
- },
- {
- "filename": "84",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 10,
- "w": 21,
- "h": 18
- },
- "frame": {
- "x": 216,
- "y": 428,
- "w": 21,
- "h": 18
- }
- },
- {
- "filename": "113",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 8,
- "w": 19,
- "h": 20
- },
- "frame": {
- "x": 237,
- "y": 441,
- "w": 19,
- "h": 20
- }
- },
- {
- "filename": "107",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 8,
- "w": 21,
- "h": 20
- },
- "frame": {
- "x": 215,
- "y": 446,
- "w": 21,
- "h": 20
- }
- },
- {
- "filename": "104",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
"y": 9,
"w": 20,
"h": 19
},
"frame": {
- "x": 236,
- "y": 461,
+ "x": 138,
+ "y": 736,
"w": 20,
"h": 19
}
},
{
- "filename": "107s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 8,
- "w": 21,
- "h": 20
- },
- "frame": {
- "x": 215,
- "y": 466,
- "w": 21,
- "h": 20
- }
- },
- {
- "filename": "104s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 9,
- "w": 20,
- "h": 19
- },
- "frame": {
- "x": 236,
- "y": 480,
- "w": 20,
- "h": 19
- }
- },
- {
- "filename": "124",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 8,
- "w": 21,
- "h": 20
- },
- "frame": {
- "x": 195,
- "y": 486,
- "w": 21,
- "h": 20
- }
- },
- {
- "filename": "27s",
+ "filename": "25-smart-cosplay",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -6676,80 +6151,17 @@
},
"spriteSourceSize": {
"x": 10,
- "y": 10,
- "w": 20,
- "h": 18
- },
- "frame": {
- "x": 216,
- "y": 486,
- "w": 20,
- "h": 18
- }
- },
- {
- "filename": "147",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 10,
- "w": 20,
- "h": 18
- },
- "frame": {
- "x": 236,
- "y": 499,
- "w": 20,
- "h": 18
- }
- },
- {
- "filename": "124s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
"y": 8,
"w": 21,
"h": 20
},
"frame": {
- "x": 195,
- "y": 506,
+ "x": 137,
+ "y": 755,
"w": 21,
"h": 20
}
},
- {
- "filename": "147s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 10,
- "w": 20,
- "h": 18
- },
- "frame": {
- "x": 216,
- "y": 504,
- "w": 20,
- "h": 18
- }
- },
{
"filename": "60",
"rotated": false,
@@ -6765,8 +6177,8 @@
"h": 15
},
"frame": {
- "x": 236,
- "y": 517,
+ "x": 137,
+ "y": 775,
"w": 20,
"h": 15
}
@@ -6786,161 +6198,14 @@
"h": 15
},
"frame": {
- "x": 216,
- "y": 522,
+ "x": 157,
+ "y": 775,
"w": 20,
"h": 15
}
},
{
- "filename": "39",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 8,
- "w": 18,
- "h": 20
- },
- "frame": {
- "x": 198,
- "y": 526,
- "w": 18,
- "h": 20
- }
- },
- {
- "filename": "69",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 13,
- "w": 20,
- "h": 15
- },
- "frame": {
- "x": 236,
- "y": 532,
- "w": 20,
- "h": 15
- }
- },
- {
- "filename": "69s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 13,
- "w": 20,
- "h": 15
- },
- "frame": {
- "x": 216,
- "y": 537,
- "w": 20,
- "h": 15
- }
- },
- {
- "filename": "39s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 8,
- "w": 18,
- "h": 20
- },
- "frame": {
- "x": 198,
- "y": 546,
- "w": 18,
- "h": 20
- }
- },
- {
- "filename": "113s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 8,
- "w": 19,
- "h": 20
- },
- "frame": {
- "x": 198,
- "y": 566,
- "w": 19,
- "h": 20
- }
- },
- {
- "filename": "123",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 9,
- "w": 19,
- "h": 19
- },
- "frame": {
- "x": 198,
- "y": 586,
- "w": 19,
- "h": 19
- }
- },
- {
- "filename": "50s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 14,
- "w": 15,
- "h": 14
- },
- "frame": {
- "x": 216,
- "y": 552,
- "w": 15,
- "h": 14
- }
- },
- {
- "filename": "66",
+ "filename": "54s",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -6949,19 +6214,19 @@
},
"spriteSourceSize": {
"x": 12,
- "y": 8,
- "w": 16,
- "h": 20
+ "y": 7,
+ "w": 18,
+ "h": 21
},
"frame": {
- "x": 217,
- "y": 566,
- "w": 16,
- "h": 20
+ "x": 159,
+ "y": 636,
+ "w": 18,
+ "h": 21
}
},
{
- "filename": "29s",
+ "filename": "25-tough-cosplay",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -6969,16 +6234,100 @@
"h": 30
},
"spriteSourceSize": {
- "x": 11,
- "y": 9,
- "w": 18,
- "h": 19
+ "x": 10,
+ "y": 8,
+ "w": 21,
+ "h": 20
},
"frame": {
- "x": 217,
- "y": 586,
- "w": 18,
- "h": 19
+ "x": 159,
+ "y": 657,
+ "w": 21,
+ "h": 20
+ }
+ },
+ {
+ "filename": "25",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 21,
+ "h": 20
+ },
+ "frame": {
+ "x": 158,
+ "y": 677,
+ "w": 21,
+ "h": 20
+ }
+ },
+ {
+ "filename": "25s-cool-cosplay",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 21,
+ "h": 20
+ },
+ "frame": {
+ "x": 158,
+ "y": 697,
+ "w": 21,
+ "h": 20
+ }
+ },
+ {
+ "filename": "25s-cosplay",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 21,
+ "h": 20
+ },
+ "frame": {
+ "x": 158,
+ "y": 717,
+ "w": 21,
+ "h": 20
+ }
+ },
+ {
+ "filename": "25s-smart-cosplay",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 21,
+ "h": 20
+ },
+ "frame": {
+ "x": 158,
+ "y": 737,
+ "w": 21,
+ "h": 20
}
},
{
@@ -6996,14 +6345,14 @@
"h": 18
},
"frame": {
- "x": 200,
- "y": 605,
+ "x": 158,
+ "y": 757,
"w": 21,
"h": 18
}
},
{
- "filename": "35",
+ "filename": "69",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -7011,20 +6360,41 @@
"h": 30
},
"spriteSourceSize": {
- "x": 12,
+ "x": 11,
+ "y": 13,
+ "w": 20,
+ "h": 15
+ },
+ "frame": {
+ "x": 177,
+ "y": 775,
+ "w": 20,
+ "h": 15
+ }
+ },
+ {
+ "filename": "61",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
"y": 9,
- "w": 18,
+ "w": 22,
"h": 19
},
"frame": {
- "x": 221,
- "y": 605,
- "w": 18,
+ "x": 170,
+ "y": 482,
+ "w": 22,
"h": 19
}
},
{
- "filename": "120",
+ "filename": "61s",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -7032,18 +6402,165 @@
"h": 30
},
"spriteSourceSize": {
- "x": 12,
+ "x": 10,
+ "y": 9,
+ "w": 22,
+ "h": 19
+ },
+ "frame": {
+ "x": 192,
+ "y": 486,
+ "w": 22,
+ "h": 19
+ }
+ },
+ {
+ "filename": "7s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
"y": 11,
- "w": 17,
+ "w": 21,
"h": 17
},
"frame": {
- "x": 239,
- "y": 547,
- "w": 17,
+ "x": 214,
+ "y": 490,
+ "w": 21,
"h": 17
}
},
+ {
+ "filename": "135s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 7,
+ "w": 20,
+ "h": 21
+ },
+ "frame": {
+ "x": 235,
+ "y": 490,
+ "w": 20,
+ "h": 21
+ }
+ },
+ {
+ "filename": "25s-tough-cosplay",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 21,
+ "h": 20
+ },
+ "frame": {
+ "x": 168,
+ "y": 501,
+ "w": 21,
+ "h": 20
+ }
+ },
+ {
+ "filename": "25s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 21,
+ "h": 20
+ },
+ "frame": {
+ "x": 166,
+ "y": 521,
+ "w": 21,
+ "h": 20
+ }
+ },
+ {
+ "filename": "41",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 7,
+ "w": 21,
+ "h": 20
+ },
+ "frame": {
+ "x": 166,
+ "y": 541,
+ "w": 21,
+ "h": 20
+ }
+ },
+ {
+ "filename": "41s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 7,
+ "w": 21,
+ "h": 20
+ },
+ "frame": {
+ "x": 189,
+ "y": 505,
+ "w": 21,
+ "h": 20
+ }
+ },
+ {
+ "filename": "107",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 8,
+ "w": 21,
+ "h": 20
+ },
+ "frame": {
+ "x": 187,
+ "y": 525,
+ "w": 21,
+ "h": 20
+ }
+ },
{
"filename": "88",
"rotated": false,
@@ -7059,8 +6576,8 @@
"h": 18
},
"frame": {
- "x": 235,
- "y": 564,
+ "x": 187,
+ "y": 545,
"w": 21,
"h": 18
}
@@ -7080,14 +6597,14 @@
"h": 18
},
"frame": {
- "x": 235,
- "y": 582,
+ "x": 210,
+ "y": 507,
"w": 21,
"h": 18
}
},
{
- "filename": "120s",
+ "filename": "107s",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -7095,62 +6612,125 @@
"h": 30
},
"spriteSourceSize": {
- "x": 12,
- "y": 11,
- "w": 17,
- "h": 17
- },
- "frame": {
- "x": 239,
- "y": 600,
- "w": 17,
- "h": 17
- }
- },
- {
- "filename": "100",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 14,
- "w": 14,
- "h": 14
- },
- "frame": {
- "x": 200,
- "y": 623,
- "w": 14,
- "h": 14
- }
- },
- {
- "filename": "66s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
+ "x": 7,
"y": 8,
- "w": 16,
+ "w": 21,
"h": 20
},
"frame": {
- "x": 203,
- "y": 637,
- "w": 16,
+ "x": 208,
+ "y": 525,
+ "w": 21,
"h": 20
}
},
{
- "filename": "123s",
+ "filename": "124",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 8,
+ "w": 21,
+ "h": 20
+ },
+ "frame": {
+ "x": 208,
+ "y": 545,
+ "w": 21,
+ "h": 20
+ }
+ },
+ {
+ "filename": "124s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 8,
+ "w": 21,
+ "h": 20
+ },
+ "frame": {
+ "x": 166,
+ "y": 561,
+ "w": 21,
+ "h": 20
+ }
+ },
+ {
+ "filename": "27",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 10,
+ "w": 20,
+ "h": 18
+ },
+ "frame": {
+ "x": 187,
+ "y": 563,
+ "w": 20,
+ "h": 18
+ }
+ },
+ {
+ "filename": "37",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 20,
+ "h": 20
+ },
+ "frame": {
+ "x": 164,
+ "y": 581,
+ "w": 20,
+ "h": 20
+ }
+ },
+ {
+ "filename": "37s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 20,
+ "h": 20
+ },
+ "frame": {
+ "x": 164,
+ "y": 601,
+ "w": 20,
+ "h": 20
+ }
+ },
+ {
+ "filename": "69s",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -7159,19 +6739,19 @@
},
"spriteSourceSize": {
"x": 11,
- "y": 9,
- "w": 19,
- "h": 19
+ "y": 13,
+ "w": 20,
+ "h": 15
},
"frame": {
- "x": 198,
- "y": 657,
- "w": 19,
- "h": 19
+ "x": 164,
+ "y": 621,
+ "w": 20,
+ "h": 15
}
},
{
- "filename": "35s",
+ "filename": "141",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -7179,18 +6759,270 @@
"h": 30
},
"spriteSourceSize": {
- "x": 12,
+ "x": 10,
+ "y": 7,
+ "w": 19,
+ "h": 21
+ },
+ "frame": {
+ "x": 184,
+ "y": 581,
+ "w": 19,
+ "h": 21
+ }
+ },
+ {
+ "filename": "141s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 7,
+ "w": 19,
+ "h": 21
+ },
+ "frame": {
+ "x": 184,
+ "y": 602,
+ "w": 19,
+ "h": 21
+ }
+ },
+ {
+ "filename": "27s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 10,
+ "w": 20,
+ "h": 18
+ },
+ "frame": {
+ "x": 207,
+ "y": 565,
+ "w": 20,
+ "h": 18
+ }
+ },
+ {
+ "filename": "104",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
"y": 9,
- "w": 18,
+ "w": 20,
"h": 19
},
"frame": {
- "x": 198,
- "y": 676,
- "w": 18,
+ "x": 203,
+ "y": 583,
+ "w": 20,
"h": 19
}
},
+ {
+ "filename": "104s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 9,
+ "w": 20,
+ "h": 19
+ },
+ "frame": {
+ "x": 203,
+ "y": 602,
+ "w": 20,
+ "h": 19
+ }
+ },
+ {
+ "filename": "21",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 12,
+ "w": 19,
+ "h": 16
+ },
+ "frame": {
+ "x": 184,
+ "y": 623,
+ "w": 19,
+ "h": 16
+ }
+ },
+ {
+ "filename": "147",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 10,
+ "w": 20,
+ "h": 18
+ },
+ "frame": {
+ "x": 203,
+ "y": 621,
+ "w": 20,
+ "h": 18
+ }
+ },
+ {
+ "filename": "147s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 10,
+ "w": 20,
+ "h": 18
+ },
+ "frame": {
+ "x": 177,
+ "y": 639,
+ "w": 20,
+ "h": 18
+ }
+ },
+ {
+ "filename": "32",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 8,
+ "w": 18,
+ "h": 20
+ },
+ "frame": {
+ "x": 180,
+ "y": 657,
+ "w": 18,
+ "h": 20
+ }
+ },
+ {
+ "filename": "113",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 19,
+ "h": 20
+ },
+ "frame": {
+ "x": 179,
+ "y": 677,
+ "w": 19,
+ "h": 20
+ }
+ },
+ {
+ "filename": "113s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 19,
+ "h": 20
+ },
+ "frame": {
+ "x": 179,
+ "y": 697,
+ "w": 19,
+ "h": 20
+ }
+ },
+ {
+ "filename": "32s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 8,
+ "w": 18,
+ "h": 20
+ },
+ "frame": {
+ "x": 179,
+ "y": 717,
+ "w": 18,
+ "h": 20
+ }
+ },
+ {
+ "filename": "39",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 18,
+ "h": 20
+ },
+ "frame": {
+ "x": 179,
+ "y": 737,
+ "w": 18,
+ "h": 20
+ }
+ },
{
"filename": "90",
"rotated": false,
@@ -7206,8 +7038,8 @@
"h": 18
},
"frame": {
- "x": 198,
- "y": 695,
+ "x": 179,
+ "y": 757,
"w": 19,
"h": 18
}
@@ -7227,14 +7059,14 @@
"h": 18
},
"frame": {
- "x": 198,
- "y": 713,
+ "x": 197,
+ "y": 639,
"w": 19,
"h": 18
}
},
{
- "filename": "132s",
+ "filename": "39s",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -7242,20 +7074,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 12,
- "y": 15,
- "w": 16,
- "h": 13
+ "x": 10,
+ "y": 8,
+ "w": 18,
+ "h": 20
},
"frame": {
- "x": 214,
- "y": 624,
- "w": 16,
- "h": 13
+ "x": 198,
+ "y": 657,
+ "w": 18,
+ "h": 20
}
},
{
- "filename": "11s",
+ "filename": "29",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -7263,20 +7095,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 14,
- "y": 10,
- "w": 12,
- "h": 18
+ "x": 11,
+ "y": 9,
+ "w": 18,
+ "h": 19
},
"frame": {
- "x": 219,
- "y": 637,
- "w": 12,
- "h": 18
+ "x": 198,
+ "y": 677,
+ "w": 18,
+ "h": 19
}
},
{
- "filename": "13",
+ "filename": "29s",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -7284,16 +7116,79 @@
"h": 30
},
"spriteSourceSize": {
- "x": 12,
- "y": 11,
- "w": 16,
- "h": 17
+ "x": 11,
+ "y": 9,
+ "w": 18,
+ "h": 19
},
"frame": {
- "x": 239,
- "y": 617,
- "w": 16,
- "h": 17
+ "x": 198,
+ "y": 696,
+ "w": 18,
+ "h": 19
+ }
+ },
+ {
+ "filename": "21s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 12,
+ "w": 19,
+ "h": 16
+ },
+ "frame": {
+ "x": 231,
+ "y": 511,
+ "w": 19,
+ "h": 16
+ }
+ },
+ {
+ "filename": "123",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 9,
+ "w": 19,
+ "h": 19
+ },
+ "frame": {
+ "x": 229,
+ "y": 527,
+ "w": 19,
+ "h": 19
+ }
+ },
+ {
+ "filename": "123s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 9,
+ "w": 19,
+ "h": 19
+ },
+ "frame": {
+ "x": 229,
+ "y": 546,
+ "w": 19,
+ "h": 19
}
},
{
@@ -7311,12 +7206,96 @@
"h": 18
},
"frame": {
- "x": 231,
- "y": 634,
+ "x": 227,
+ "y": 565,
"w": 19,
"h": 18
}
},
+ {
+ "filename": "35",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 9,
+ "w": 18,
+ "h": 19
+ },
+ "frame": {
+ "x": 223,
+ "y": 583,
+ "w": 18,
+ "h": 19
+ }
+ },
+ {
+ "filename": "10s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 12,
+ "w": 14,
+ "h": 16
+ },
+ "frame": {
+ "x": 241,
+ "y": 583,
+ "w": 14,
+ "h": 16
+ }
+ },
+ {
+ "filename": "35s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 9,
+ "w": 18,
+ "h": 19
+ },
+ "frame": {
+ "x": 223,
+ "y": 602,
+ "w": 18,
+ "h": 19
+ }
+ },
+ {
+ "filename": "100s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 14,
+ "w": 14,
+ "h": 14
+ },
+ "frame": {
+ "x": 241,
+ "y": 599,
+ "w": 14,
+ "h": 14
+ }
+ },
{
"filename": "114s",
"rotated": false,
@@ -7332,8 +7311,8 @@
"h": 18
},
"frame": {
- "x": 194,
- "y": 731,
+ "x": 223,
+ "y": 621,
"w": 19,
"h": 18
}
@@ -7353,8 +7332,29 @@
"h": 18
},
"frame": {
- "x": 213,
- "y": 731,
+ "x": 242,
+ "y": 613,
+ "w": 13,
+ "h": 18
+ }
+ },
+ {
+ "filename": "14s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 10,
+ "w": 13,
+ "h": 18
+ },
+ "frame": {
+ "x": 242,
+ "y": 631,
"w": 13,
"h": 18
}
@@ -7374,75 +7374,12 @@
"h": 18
},
"frame": {
- "x": 202,
- "y": 749,
+ "x": 216,
+ "y": 639,
"w": 19,
"h": 18
}
},
- {
- "filename": "100s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 14,
- "w": 14,
- "h": 14
- },
- "frame": {
- "x": 202,
- "y": 767,
- "w": 14,
- "h": 14
- }
- },
- {
- "filename": "14s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 10,
- "w": 13,
- "h": 18
- },
- "frame": {
- "x": 221,
- "y": 749,
- "w": 13,
- "h": 18
- }
- },
- {
- "filename": "140",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 15,
- "w": 16,
- "h": 13
- },
- "frame": {
- "x": 216,
- "y": 767,
- "w": 16,
- "h": 13
- }
- },
{
"filename": "121s",
"rotated": false,
@@ -7458,33 +7395,12 @@
"h": 18
},
"frame": {
- "x": 231,
- "y": 652,
+ "x": 216,
+ "y": 657,
"w": 19,
"h": 18
}
},
- {
- "filename": "10",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 12,
- "w": 14,
- "h": 16
- },
- "frame": {
- "x": 217,
- "y": 657,
- "w": 14,
- "h": 16
- }
- },
{
"filename": "137",
"rotated": false,
@@ -7500,33 +7416,12 @@
"h": 18
},
"frame": {
- "x": 231,
- "y": 670,
+ "x": 216,
+ "y": 675,
"w": 19,
"h": 18
}
},
- {
- "filename": "10s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 12,
- "w": 14,
- "h": 16
- },
- "frame": {
- "x": 217,
- "y": 673,
- "w": 14,
- "h": 16
- }
- },
{
"filename": "137s",
"rotated": false,
@@ -7542,14 +7437,14 @@
"h": 18
},
"frame": {
- "x": 217,
- "y": 689,
+ "x": 216,
+ "y": 693,
"w": 19,
"h": 18
}
},
{
- "filename": "138",
+ "filename": "43s",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -7557,41 +7452,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 11,
- "y": 10,
- "w": 18,
- "h": 18
+ "x": 13,
+ "y": 9,
+ "w": 17,
+ "h": 19
},
"frame": {
- "x": 217,
- "y": 707,
- "w": 18,
- "h": 18
+ "x": 235,
+ "y": 649,
+ "w": 17,
+ "h": 19
}
},
{
- "filename": "138s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 10,
- "w": 18,
- "h": 18
- },
- "frame": {
- "x": 236,
- "y": 688,
- "w": 18,
- "h": 18
- }
- },
- {
- "filename": "13s",
+ "filename": "122",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -7600,19 +7474,19 @@
},
"spriteSourceSize": {
"x": 12,
- "y": 11,
- "w": 16,
- "h": 17
+ "y": 10,
+ "w": 17,
+ "h": 18
},
"frame": {
- "x": 226,
- "y": 725,
- "w": 16,
- "h": 17
+ "x": 235,
+ "y": 668,
+ "w": 17,
+ "h": 18
}
},
{
- "filename": "16",
+ "filename": "122s",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -7620,37 +7494,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 11,
- "y": 11,
- "w": 18,
- "h": 17
+ "x": 12,
+ "y": 10,
+ "w": 17,
+ "h": 18
},
"frame": {
- "x": 236,
- "y": 706,
- "w": 18,
- "h": 17
- }
- },
- {
- "filename": "16s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 11,
- "w": 18,
- "h": 17
- },
- "frame": {
- "x": 234,
- "y": 742,
- "w": 18,
- "h": 17
+ "x": 235,
+ "y": 686,
+ "w": 17,
+ "h": 18
}
},
{
@@ -7668,8 +7521,8 @@
"h": 17
},
"frame": {
- "x": 234,
- "y": 759,
+ "x": 235,
+ "y": 704,
"w": 18,
"h": 17
}
@@ -7689,14 +7542,56 @@
"h": 17
},
"frame": {
- "x": 139,
- "y": 151,
+ "x": 216,
+ "y": 711,
"w": 18,
"h": 17
}
},
{
- "filename": "140s",
+ "filename": "138",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 10,
+ "w": 18,
+ "h": 18
+ },
+ "frame": {
+ "x": 198,
+ "y": 715,
+ "w": 18,
+ "h": 18
+ }
+ },
+ {
+ "filename": "138s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 10,
+ "w": 18,
+ "h": 18
+ },
+ "frame": {
+ "x": 197,
+ "y": 733,
+ "w": 18,
+ "h": 18
+ }
+ },
+ {
+ "filename": "133",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -7705,15 +7600,78 @@
},
"spriteSourceSize": {
"x": 12,
- "y": 15,
- "w": 16,
- "h": 13
+ "y": 10,
+ "w": 17,
+ "h": 18
},
"frame": {
- "x": 139,
- "y": 168,
- "w": 16,
- "h": 13
+ "x": 198,
+ "y": 751,
+ "w": 17,
+ "h": 18
+ }
+ },
+ {
+ "filename": "120",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 11,
+ "w": 17,
+ "h": 17
+ },
+ "frame": {
+ "x": 234,
+ "y": 721,
+ "w": 17,
+ "h": 17
+ }
+ },
+ {
+ "filename": "120s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 11,
+ "w": 17,
+ "h": 17
+ },
+ "frame": {
+ "x": 198,
+ "y": 769,
+ "w": 17,
+ "h": 17
+ }
+ },
+ {
+ "filename": "133s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 10,
+ "w": 17,
+ "h": 18
+ },
+ "frame": {
+ "x": 216,
+ "y": 728,
+ "w": 17,
+ "h": 18
}
},
{
@@ -7731,11 +7689,137 @@
"h": 16
},
"frame": {
- "x": 140,
- "y": 181,
+ "x": 215,
+ "y": 746,
"w": 16,
"h": 16
}
+ },
+ {
+ "filename": "11",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 10,
+ "w": 12,
+ "h": 18
+ },
+ "frame": {
+ "x": 215,
+ "y": 762,
+ "w": 12,
+ "h": 18
+ }
+ },
+ {
+ "filename": "132",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 15,
+ "w": 16,
+ "h": 13
+ },
+ "frame": {
+ "x": 233,
+ "y": 738,
+ "w": 16,
+ "h": 13
+ }
+ },
+ {
+ "filename": "132s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 15,
+ "w": 16,
+ "h": 13
+ },
+ "frame": {
+ "x": 231,
+ "y": 751,
+ "w": 16,
+ "h": 13
+ }
+ },
+ {
+ "filename": "140",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 15,
+ "w": 16,
+ "h": 13
+ },
+ "frame": {
+ "x": 227,
+ "y": 764,
+ "w": 16,
+ "h": 13
+ }
+ },
+ {
+ "filename": "11s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 10,
+ "w": 12,
+ "h": 18
+ },
+ "frame": {
+ "x": 243,
+ "y": 764,
+ "w": 12,
+ "h": 18
+ }
+ },
+ {
+ "filename": "140s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 15,
+ "w": 16,
+ "h": 13
+ },
+ "frame": {
+ "x": 227,
+ "y": 777,
+ "w": 16,
+ "h": 13
+ }
}
]
}
@@ -7743,6 +7827,6 @@
"meta": {
"app": "https://www.codeandweb.com/texturepacker",
"version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:d0b3eae5bc789f80cb01f31ccda54100:9236111734280a77fd4ebe99bdec6143:e0e302e76ca76d7185883646a41dda84$"
+ "smartupdate": "$TexturePacker:SmartUpdate:67cbb69780250451ffff0dda6617c079:95ec22440af6402ebbc5ded9fb8ffd09:e0e302e76ca76d7185883646a41dda84$"
}
}
diff --git a/public/images/pokemon_icons_1.png b/public/images/pokemon_icons_1.png
index d30fa5bb3cd..ee3a10ef113 100644
Binary files a/public/images/pokemon_icons_1.png and b/public/images/pokemon_icons_1.png differ
diff --git a/public/images/pokemon_icons_1v.json b/public/images/pokemon_icons_1v.json
index eeb9ce76fec..dccfb2121d2 100644
--- a/public/images/pokemon_icons_1v.json
+++ b/public/images/pokemon_icons_1v.json
@@ -4,11 +4,95 @@
"image": "pokemon_icons_1v.png",
"format": "RGBA8888",
"size": {
- "w": 351,
- "h": 351
+ "w": 248,
+ "h": 480
},
"scale": 1,
"frames": [
+ {
+ "filename": "6-mega-x_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 40,
+ "h": 25
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 40,
+ "h": 25
+ }
+ },
+ {
+ "filename": "6-mega-x_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 2,
+ "w": 40,
+ "h": 25
+ },
+ "frame": {
+ "x": 0,
+ "y": 25,
+ "w": 40,
+ "h": 25
+ }
+ },
+ {
+ "filename": "6-mega-y_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 38,
+ "h": 25
+ },
+ "frame": {
+ "x": 40,
+ "y": 0,
+ "w": 38,
+ "h": 25
+ }
+ },
+ {
+ "filename": "6-mega-y_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 1,
+ "y": 2,
+ "w": 38,
+ "h": 25
+ },
+ "frame": {
+ "x": 0,
+ "y": 50,
+ "w": 38,
+ "h": 25
+ }
+ },
{
"filename": "94-mega_1",
"rotated": false,
@@ -18,16 +102,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 2,
- "y": 0,
- "w": 36,
- "h": 30
+ "x": 3,
+ "y": 1,
+ "w": 34,
+ "h": 29
},
"frame": {
"x": 0,
- "y": 0,
- "w": 36,
- "h": 30
+ "y": 75,
+ "w": 34,
+ "h": 29
}
},
{
@@ -39,16 +123,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 2,
- "y": 0,
- "w": 36,
- "h": 30
+ "x": 3,
+ "y": 1,
+ "w": 34,
+ "h": 29
},
"frame": {
"x": 0,
- "y": 30,
- "w": 36,
- "h": 30
+ "y": 104,
+ "w": 34,
+ "h": 29
}
},
{
@@ -60,16 +144,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 2,
- "y": 0,
- "w": 36,
- "h": 30
+ "x": 3,
+ "y": 1,
+ "w": 34,
+ "h": 29
},
"frame": {
- "x": 36,
- "y": 0,
- "w": 36,
- "h": 30
+ "x": 0,
+ "y": 133,
+ "w": 34,
+ "h": 29
}
},
{
@@ -81,15 +165,15 @@
"h": 30
},
"spriteSourceSize": {
- "x": 3,
+ "x": 4,
"y": 0,
- "w": 34,
+ "w": 32,
"h": 30
},
"frame": {
"x": 0,
- "y": 60,
- "w": 34,
+ "y": 162,
+ "w": 32,
"h": 30
}
},
@@ -102,15 +186,15 @@
"h": 30
},
"spriteSourceSize": {
- "x": 3,
+ "x": 4,
"y": 0,
- "w": 34,
+ "w": 32,
"h": 30
},
"frame": {
- "x": 36,
- "y": 30,
- "w": 34,
+ "x": 0,
+ "y": 192,
+ "w": 32,
"h": 30
}
},
@@ -123,15 +207,15 @@
"h": 30
},
"spriteSourceSize": {
- "x": 3,
+ "x": 4,
"y": 0,
- "w": 34,
+ "w": 32,
"h": 30
},
"frame": {
- "x": 72,
- "y": 0,
- "w": 34,
+ "x": 0,
+ "y": 222,
+ "w": 32,
"h": 30
}
},
@@ -144,15 +228,15 @@
"h": 30
},
"spriteSourceSize": {
- "x": 3,
+ "x": 4,
"y": 0,
- "w": 34,
+ "w": 32,
"h": 30
},
"frame": {
"x": 0,
- "y": 90,
- "w": 34,
+ "y": 252,
+ "w": 32,
"h": 30
}
},
@@ -165,20 +249,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 3,
+ "x": 4,
"y": 0,
- "w": 34,
+ "w": 32,
"h": 30
},
"frame": {
- "x": 34,
- "y": 60,
- "w": 34,
+ "x": 0,
+ "y": 282,
+ "w": 32,
"h": 30
}
},
{
- "filename": "9-mega_2",
+ "filename": "6_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -186,20 +270,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 3,
- "y": 0,
+ "x": 4,
+ "y": 1,
"w": 32,
- "h": 30
+ "h": 27
},
"frame": {
- "x": 70,
- "y": 30,
+ "x": 0,
+ "y": 312,
"w": 32,
- "h": 30
+ "h": 27
}
},
{
- "filename": "9-mega_3",
+ "filename": "6_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -207,16 +291,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 3,
- "y": 0,
+ "x": 4,
+ "y": 1,
"w": 32,
- "h": 30
+ "h": 27
},
"frame": {
- "x": 106,
- "y": 0,
+ "x": 0,
+ "y": 339,
"w": 32,
- "h": 30
+ "h": 27
}
},
{
@@ -228,16 +312,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 5,
- "y": 0,
- "w": 32,
- "h": 30
+ "x": 6,
+ "y": 1,
+ "w": 30,
+ "h": 29
},
"frame": {
"x": 0,
- "y": 120,
- "w": 32,
- "h": 30
+ "y": 366,
+ "w": 30,
+ "h": 29
}
},
{
@@ -249,16 +333,37 @@
"h": 30
},
"spriteSourceSize": {
- "x": 5,
- "y": 0,
- "w": 32,
- "h": 30
+ "x": 6,
+ "y": 1,
+ "w": 30,
+ "h": 29
},
"frame": {
- "x": 34,
- "y": 90,
- "w": 32,
+ "x": 0,
+ "y": 395,
+ "w": 30,
+ "h": 29
+ }
+ },
+ {
+ "filename": "9-mega_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
"h": 30
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 30,
+ "h": 28
+ },
+ "frame": {
+ "x": 0,
+ "y": 424,
+ "w": 30,
+ "h": 28
}
},
{
@@ -270,141 +375,15 @@
"h": 30
},
"spriteSourceSize": {
- "x": 4,
- "y": 0,
- "w": 33,
- "h": 29
- },
- "frame": {
- "x": 68,
- "y": 60,
- "w": 33,
- "h": 29
- }
- },
- {
- "filename": "131-gigantamax_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 0,
- "w": 33,
- "h": 29
- },
- "frame": {
- "x": 102,
- "y": 30,
- "w": 33,
- "h": 29
- }
- },
- {
- "filename": "9-gigantamax_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 4,
+ "x": 5,
"y": 0,
"w": 31,
- "h": 29
- },
- "frame": {
- "x": 138,
- "y": 0,
- "w": 31,
- "h": 29
- }
- },
- {
- "filename": "9-gigantamax_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 0,
- "w": 31,
- "h": 29
+ "h": 28
},
"frame": {
"x": 0,
- "y": 150,
+ "y": 452,
"w": 31,
- "h": 29
- }
- },
- {
- "filename": "93_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 1,
- "w": 32,
- "h": 28
- },
- "frame": {
- "x": 32,
- "y": 120,
- "w": 32,
- "h": 28
- }
- },
- {
- "filename": "93_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 1,
- "w": 32,
- "h": 28
- },
- "frame": {
- "x": 169,
- "y": 0,
- "w": 32,
- "h": 28
- }
- },
- {
- "filename": "93_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 1,
- "w": 32,
- "h": 28
- },
- "frame": {
- "x": 201,
- "y": 0,
- "w": 32,
"h": 28
}
},
@@ -417,16 +396,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 5,
- "y": 3,
- "w": 33,
- "h": 27
+ "x": 6,
+ "y": 4,
+ "w": 31,
+ "h": 25
},
"frame": {
- "x": 233,
- "y": 0,
- "w": 33,
- "h": 27
+ "x": 40,
+ "y": 25,
+ "w": 31,
+ "h": 25
}
},
{
@@ -438,20 +417,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 5,
- "y": 3,
- "w": 33,
- "h": 27
+ "x": 6,
+ "y": 4,
+ "w": 31,
+ "h": 25
},
"frame": {
- "x": 266,
+ "x": 78,
"y": 0,
- "w": 33,
- "h": 27
+ "w": 31,
+ "h": 25
}
},
{
- "filename": "130_2",
+ "filename": "131-gigantamax_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -460,36 +439,15 @@
},
"spriteSourceSize": {
"x": 5,
- "y": 1,
+ "y": 0,
"w": 31,
- "h": 29
+ "h": 28
},
"frame": {
- "x": 0,
- "y": 179,
+ "x": 38,
+ "y": 50,
"w": 31,
- "h": 29
- }
- },
- {
- "filename": "130_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 1,
- "w": 31,
- "h": 29
- },
- "frame": {
- "x": 0,
- "y": 208,
- "w": 31,
- "h": 29
+ "h": 28
}
},
{
@@ -500,164 +458,17 @@
"w": 40,
"h": 30
},
- "spriteSourceSize": {
- "x": 4,
- "y": 4,
- "w": 34,
- "h": 26
- },
- "frame": {
- "x": 299,
- "y": 0,
- "w": 34,
- "h": 26
- }
- },
- {
- "filename": "3-mega_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
"spriteSourceSize": {
"x": 5,
- "y": 1,
- "w": 31,
- "h": 28
+ "y": 5,
+ "w": 32,
+ "h": 24
},
"frame": {
- "x": 0,
- "y": 237,
- "w": 31,
- "h": 28
- }
- },
- {
- "filename": "3-mega_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 1,
- "w": 31,
- "h": 28
- },
- "frame": {
- "x": 0,
- "y": 265,
- "w": 31,
- "h": 28
- }
- },
- {
- "filename": "78_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 1,
- "w": 31,
- "h": 28
- },
- "frame": {
- "x": 0,
- "y": 293,
- "w": 31,
- "h": 28
- }
- },
- {
- "filename": "52-gigantamax_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 0,
- "w": 25,
- "h": 30
- },
- "frame": {
- "x": 0,
- "y": 321,
- "w": 25,
- "h": 30
- }
- },
- {
- "filename": "52-gigantamax_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 0,
- "w": 25,
- "h": 30
- },
- "frame": {
- "x": 25,
- "y": 321,
- "w": 25,
- "h": 30
- }
- },
- {
- "filename": "101_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 11,
- "w": 18,
- "h": 18
- },
- "frame": {
- "x": 333,
- "y": 0,
- "w": 18,
- "h": 18
- }
- },
- {
- "filename": "101_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 11,
- "w": 18,
- "h": 18
- },
- "frame": {
- "x": 333,
- "y": 18,
- "w": 18,
- "h": 18
+ "x": 71,
+ "y": 25,
+ "w": 32,
+ "h": 24
}
},
{
@@ -669,37 +480,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 4,
- "y": 4,
- "w": 34,
- "h": 26
+ "x": 5,
+ "y": 5,
+ "w": 32,
+ "h": 24
},
"frame": {
- "x": 299,
- "y": 26,
- "w": 34,
- "h": 26
- }
- },
- {
- "filename": "132_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 14,
- "w": 18,
- "h": 15
- },
- "frame": {
- "x": 333,
- "y": 36,
- "w": 18,
- "h": 15
+ "x": 109,
+ "y": 0,
+ "w": 32,
+ "h": 24
}
},
{
@@ -710,16 +500,205 @@
"w": 40,
"h": 30
},
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 4,
+ "w": 30,
+ "h": 24
+ },
+ "frame": {
+ "x": 141,
+ "y": 0,
+ "w": 30,
+ "h": 24
+ }
+ },
+ {
+ "filename": "3_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 4,
+ "w": 30,
+ "h": 24
+ },
+ "frame": {
+ "x": 171,
+ "y": 0,
+ "w": 30,
+ "h": 24
+ }
+ },
+ {
+ "filename": "9-mega_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
"spriteSourceSize": {
"x": 4,
- "y": 3,
- "w": 32,
+ "y": 1,
+ "w": 30,
+ "h": 28
+ },
+ "frame": {
+ "x": 34,
+ "y": 78,
+ "w": 30,
+ "h": 28
+ }
+ },
+ {
+ "filename": "9-gigantamax_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 29,
+ "h": 28
+ },
+ "frame": {
+ "x": 34,
+ "y": 106,
+ "w": 29,
+ "h": 28
+ }
+ },
+ {
+ "filename": "9-gigantamax_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 29,
+ "h": 28
+ },
+ "frame": {
+ "x": 34,
+ "y": 134,
+ "w": 29,
+ "h": 28
+ }
+ },
+ {
+ "filename": "130_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 2,
+ "w": 29,
+ "h": 28
+ },
+ "frame": {
+ "x": 32,
+ "y": 162,
+ "w": 29,
+ "h": 28
+ }
+ },
+ {
+ "filename": "130_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 2,
+ "w": 29,
+ "h": 28
+ },
+ "frame": {
+ "x": 32,
+ "y": 190,
+ "w": 29,
+ "h": 28
+ }
+ },
+ {
+ "filename": "3-mega_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 2,
+ "w": 29,
"h": 26
},
"frame": {
"x": 32,
- "y": 148,
- "w": 32,
+ "y": 218,
+ "w": 29,
+ "h": 26
+ }
+ },
+ {
+ "filename": "3-mega_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 2,
+ "w": 29,
+ "h": 26
+ },
+ "frame": {
+ "x": 32,
+ "y": 244,
+ "w": 29,
+ "h": 26
+ }
+ },
+ {
+ "filename": "78_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 2,
+ "w": 29,
+ "h": 26
+ },
+ "frame": {
+ "x": 32,
+ "y": 270,
+ "w": 29,
"h": 26
}
},
@@ -732,16 +711,184 @@
"h": 30
},
"spriteSourceSize": {
- "x": 6,
- "y": 1,
- "w": 31,
- "h": 28
+ "x": 7,
+ "y": 2,
+ "w": 29,
+ "h": 26
},
"frame": {
- "x": 31,
- "y": 174,
- "w": 31,
- "h": 28
+ "x": 32,
+ "y": 296,
+ "w": 29,
+ "h": 26
+ }
+ },
+ {
+ "filename": "93_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 2,
+ "w": 30,
+ "h": 26
+ },
+ "frame": {
+ "x": 32,
+ "y": 322,
+ "w": 30,
+ "h": 26
+ }
+ },
+ {
+ "filename": "93_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 2,
+ "w": 30,
+ "h": 26
+ },
+ "frame": {
+ "x": 201,
+ "y": 0,
+ "w": 30,
+ "h": 26
+ }
+ },
+ {
+ "filename": "133_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 10,
+ "w": 17,
+ "h": 18
+ },
+ "frame": {
+ "x": 231,
+ "y": 0,
+ "w": 17,
+ "h": 18
+ }
+ },
+ {
+ "filename": "93_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 2,
+ "w": 30,
+ "h": 26
+ },
+ "frame": {
+ "x": 32,
+ "y": 348,
+ "w": 30,
+ "h": 26
+ }
+ },
+ {
+ "filename": "6-gigantamax_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 0,
+ "w": 24,
+ "h": 30
+ },
+ "frame": {
+ "x": 30,
+ "y": 374,
+ "w": 24,
+ "h": 30
+ }
+ },
+ {
+ "filename": "6-gigantamax_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 0,
+ "w": 24,
+ "h": 30
+ },
+ "frame": {
+ "x": 30,
+ "y": 404,
+ "w": 24,
+ "h": 30
+ }
+ },
+ {
+ "filename": "133_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 10,
+ "w": 17,
+ "h": 18
+ },
+ "frame": {
+ "x": 231,
+ "y": 18,
+ "w": 17,
+ "h": 18
+ }
+ },
+ {
+ "filename": "146_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 8,
+ "w": 28,
+ "h": 18
+ },
+ "frame": {
+ "x": 30,
+ "y": 434,
+ "w": 28,
+ "h": 18
}
},
{
@@ -753,16 +900,79 @@
"h": 30
},
"spriteSourceSize": {
- "x": 4,
- "y": 2,
- "w": 31,
- "h": 27
+ "x": 5,
+ "y": 3,
+ "w": 29,
+ "h": 25
},
"frame": {
"x": 31,
- "y": 202,
- "w": 31,
- "h": 27
+ "y": 452,
+ "w": 29,
+ "h": 25
+ }
+ },
+ {
+ "filename": "52-gigantamax_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 23,
+ "h": 30
+ },
+ "frame": {
+ "x": 54,
+ "y": 374,
+ "w": 23,
+ "h": 30
+ }
+ },
+ {
+ "filename": "52-gigantamax_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 23,
+ "h": 30
+ },
+ "frame": {
+ "x": 54,
+ "y": 404,
+ "w": 23,
+ "h": 30
+ }
+ },
+ {
+ "filename": "84_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 10,
+ "w": 21,
+ "h": 18
+ },
+ "frame": {
+ "x": 58,
+ "y": 434,
+ "w": 21,
+ "h": 18
}
},
{
@@ -774,79 +984,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 4,
- "y": 2,
- "w": 31,
- "h": 27
- },
- "frame": {
- "x": 31,
- "y": 229,
- "w": 31,
- "h": 27
- }
- },
- {
- "filename": "85_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 2,
- "w": 31,
- "h": 27
- },
- "frame": {
- "x": 31,
- "y": 256,
- "w": 31,
- "h": 27
- }
- },
- {
- "filename": "3_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 4,
+ "x": 5,
"y": 3,
- "w": 32,
- "h": 26
+ "w": 29,
+ "h": 25
},
"frame": {
- "x": 31,
- "y": 283,
- "w": 32,
- "h": 26
- }
- },
- {
- "filename": "132_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 14,
- "w": 18,
- "h": 15
- },
- "frame": {
- "x": 333,
- "y": 51,
- "w": 18,
- "h": 15
+ "x": 60,
+ "y": 452,
+ "w": 29,
+ "h": 25
}
},
{
@@ -858,15 +1005,36 @@
"h": 30
},
"spriteSourceSize": {
- "x": 6,
+ "x": 7,
"y": 0,
- "w": 25,
+ "w": 23,
"h": 30
},
"frame": {
- "x": 66,
- "y": 90,
- "w": 25,
+ "x": 64,
+ "y": 78,
+ "w": 23,
+ "h": 30
+ }
+ },
+ {
+ "filename": "150-mega-y_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 0,
+ "w": 20,
+ "h": 30
+ },
+ "frame": {
+ "x": 63,
+ "y": 108,
+ "w": 20,
"h": 30
}
},
@@ -879,20 +1047,41 @@
"h": 30
},
"spriteSourceSize": {
- "x": 6,
- "y": 3,
- "w": 27,
- "h": 26
+ "x": 7,
+ "y": 4,
+ "w": 25,
+ "h": 24
},
"frame": {
- "x": 64,
- "y": 120,
- "w": 27,
- "h": 26
+ "x": 63,
+ "y": 138,
+ "w": 25,
+ "h": 24
}
},
{
- "filename": "9_3",
+ "filename": "85_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 3,
+ "w": 29,
+ "h": 25
+ },
+ "frame": {
+ "x": 61,
+ "y": 162,
+ "w": 29,
+ "h": 25
+ }
+ },
+ {
+ "filename": "57_1",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -901,208 +1090,19 @@
},
"spriteSourceSize": {
"x": 6,
- "y": 3,
- "w": 27,
- "h": 26
- },
- "frame": {
- "x": 64,
- "y": 146,
- "w": 27,
- "h": 26
- }
- },
- {
- "filename": "150-mega-y_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 0,
- "w": 22,
- "h": 30
- },
- "frame": {
- "x": 91,
- "y": 89,
- "w": 22,
- "h": 30
- }
- },
- {
- "filename": "150-mega-y_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 0,
- "w": 22,
- "h": 30
- },
- "frame": {
- "x": 91,
- "y": 119,
- "w": 22,
- "h": 30
- }
- },
- {
- "filename": "8_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
"y": 5,
- "w": 26,
- "h": 24
- },
- "frame": {
- "x": 91,
- "y": 149,
- "w": 26,
- "h": 24
- }
- },
- {
- "filename": "19_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 6,
- "w": 22,
+ "w": 28,
"h": 23
},
"frame": {
- "x": 101,
- "y": 66,
- "w": 22,
+ "x": 61,
+ "y": 187,
+ "w": 28,
"h": 23
}
},
{
- "filename": "150-mega-x_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 1,
- "w": 23,
- "h": 28
- },
- "frame": {
- "x": 113,
- "y": 89,
- "w": 23,
- "h": 28
- }
- },
- {
- "filename": "150-mega-x_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 1,
- "w": 23,
- "h": 28
- },
- "frame": {
- "x": 113,
- "y": 117,
- "w": 23,
- "h": 28
- }
- },
- {
- "filename": "151_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 1,
- "w": 25,
- "h": 27
- },
- "frame": {
- "x": 117,
- "y": 145,
- "w": 25,
- "h": 27
- }
- },
- {
- "filename": "19_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 6,
- "w": 22,
- "h": 23
- },
- "frame": {
- "x": 123,
- "y": 66,
- "w": 22,
- "h": 23
- }
- },
- {
- "filename": "151_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 1,
- "w": 25,
- "h": 27
- },
- "frame": {
- "x": 136,
- "y": 89,
- "w": 25,
- "h": 27
- }
- },
- {
- "filename": "94_1",
+ "filename": "57_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1111,19 +1111,19 @@
},
"spriteSourceSize": {
"x": 6,
- "y": 3,
- "w": 26,
- "h": 26
+ "y": 5,
+ "w": 28,
+ "h": 23
},
"frame": {
- "x": 136,
- "y": 116,
- "w": 26,
- "h": 26
+ "x": 61,
+ "y": 210,
+ "w": 28,
+ "h": 23
}
},
{
- "filename": "94_2",
+ "filename": "57_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1132,248 +1132,17 @@
},
"spriteSourceSize": {
"x": 6,
- "y": 3,
- "w": 26,
- "h": 26
- },
- "frame": {
- "x": 142,
- "y": 142,
- "w": 26,
- "h": 26
- }
- },
- {
- "filename": "20_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 6,
- "w": 27,
+ "y": 5,
+ "w": 28,
"h": 23
},
"frame": {
- "x": 145,
- "y": 66,
- "w": 27,
+ "x": 61,
+ "y": 233,
+ "w": 28,
"h": 23
}
},
- {
- "filename": "94_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 3,
- "w": 26,
- "h": 26
- },
- "frame": {
- "x": 161,
- "y": 89,
- "w": 26,
- "h": 26
- }
- },
- {
- "filename": "31_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 25,
- "h": 25
- },
- "frame": {
- "x": 162,
- "y": 115,
- "w": 25,
- "h": 25
- }
- },
- {
- "filename": "129_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 4,
- "w": 24,
- "h": 26
- },
- "frame": {
- "x": 168,
- "y": 140,
- "w": 24,
- "h": 26
- }
- },
- {
- "filename": "20_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 6,
- "w": 27,
- "h": 23
- },
- "frame": {
- "x": 172,
- "y": 66,
- "w": 27,
- "h": 23
- }
- },
- {
- "filename": "129_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 4,
- "w": 24,
- "h": 26
- },
- "frame": {
- "x": 187,
- "y": 89,
- "w": 24,
- "h": 26
- }
- },
- {
- "filename": "31_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 25,
- "h": 25
- },
- "frame": {
- "x": 187,
- "y": 115,
- "w": 25,
- "h": 25
- }
- },
- {
- "filename": "31_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 25,
- "h": 25
- },
- "frame": {
- "x": 192,
- "y": 140,
- "w": 25,
- "h": 25
- }
- },
- {
- "filename": "52_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 6,
- "w": 23,
- "h": 23
- },
- "frame": {
- "x": 199,
- "y": 66,
- "w": 23,
- "h": 23
- }
- },
- {
- "filename": "36_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 4,
- "w": 22,
- "h": 25
- },
- "frame": {
- "x": 211,
- "y": 89,
- "w": 22,
- "h": 25
- }
- },
- {
- "filename": "36_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 4,
- "w": 22,
- "h": 25
- },
- "frame": {
- "x": 212,
- "y": 114,
- "w": 22,
- "h": 25
- }
- },
{
"filename": "71_2",
"rotated": false,
@@ -1383,36 +1152,15 @@
"h": 30
},
"spriteSourceSize": {
- "x": 6,
- "y": 4,
- "w": 30,
- "h": 25
- },
- "frame": {
- "x": 217,
- "y": 139,
- "w": 30,
- "h": 25
- }
- },
- {
- "filename": "52_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 6,
- "w": 23,
+ "x": 7,
+ "y": 5,
+ "w": 28,
"h": 23
},
"frame": {
- "x": 222,
- "y": 66,
- "w": 23,
+ "x": 61,
+ "y": 256,
+ "w": 28,
"h": 23
}
},
@@ -1425,20 +1173,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 6,
- "y": 4,
- "w": 30,
- "h": 25
+ "x": 7,
+ "y": 5,
+ "w": 28,
+ "h": 23
},
"frame": {
- "x": 233,
- "y": 89,
- "w": 30,
- "h": 25
+ "x": 61,
+ "y": 279,
+ "w": 28,
+ "h": 23
}
},
{
- "filename": "86_1",
+ "filename": "56_1",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1447,19 +1195,40 @@
},
"spriteSourceSize": {
"x": 7,
- "y": 4,
- "w": 27,
- "h": 25
+ "y": 8,
+ "w": 28,
+ "h": 20
},
"frame": {
- "x": 234,
- "y": 114,
- "w": 27,
- "h": 25
+ "x": 61,
+ "y": 302,
+ "w": 28,
+ "h": 20
}
},
{
- "filename": "52_3",
+ "filename": "150-mega-y_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 0,
+ "w": 20,
+ "h": 30
+ },
+ "frame": {
+ "x": 62,
+ "y": 322,
+ "w": 20,
+ "h": 30
+ }
+ },
+ {
+ "filename": "8_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1469,14 +1238,224 @@
"spriteSourceSize": {
"x": 10,
"y": 6,
- "w": 23,
- "h": 23
+ "w": 24,
+ "h": 22
},
"frame": {
- "x": 245,
- "y": 66,
+ "x": 62,
+ "y": 352,
+ "w": 24,
+ "h": 22
+ }
+ },
+ {
+ "filename": "150-mega-x_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 2,
+ "w": 21,
+ "h": 26
+ },
+ "frame": {
+ "x": 77,
+ "y": 374,
+ "w": 21,
+ "h": 26
+ }
+ },
+ {
+ "filename": "150-mega-x_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 2,
+ "w": 21,
+ "h": 26
+ },
+ "frame": {
+ "x": 77,
+ "y": 400,
+ "w": 21,
+ "h": 26
+ }
+ },
+ {
+ "filename": "151_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 2,
"w": 23,
- "h": 23
+ "h": 25
+ },
+ "frame": {
+ "x": 79,
+ "y": 426,
+ "w": 23,
+ "h": 25
+ }
+ },
+ {
+ "filename": "151_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 2,
+ "w": 23,
+ "h": 25
+ },
+ "frame": {
+ "x": 89,
+ "y": 451,
+ "w": 23,
+ "h": 25
+ }
+ },
+ {
+ "filename": "9_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 4,
+ "w": 25,
+ "h": 24
+ },
+ "frame": {
+ "x": 82,
+ "y": 322,
+ "w": 25,
+ "h": 24
+ }
+ },
+ {
+ "filename": "94_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 4,
+ "w": 24,
+ "h": 24
+ },
+ "frame": {
+ "x": 86,
+ "y": 346,
+ "w": 24,
+ "h": 24
+ }
+ },
+ {
+ "filename": "94_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 4,
+ "w": 24,
+ "h": 24
+ },
+ "frame": {
+ "x": 98,
+ "y": 370,
+ "w": 24,
+ "h": 24
+ }
+ },
+ {
+ "filename": "94_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 4,
+ "w": 24,
+ "h": 24
+ },
+ "frame": {
+ "x": 98,
+ "y": 394,
+ "w": 24,
+ "h": 24
+ }
+ },
+ {
+ "filename": "129_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 5,
+ "w": 22,
+ "h": 24
+ },
+ "frame": {
+ "x": 102,
+ "y": 418,
+ "w": 22,
+ "h": 24
+ }
+ },
+ {
+ "filename": "129_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 5,
+ "w": 22,
+ "h": 24
+ },
+ "frame": {
+ "x": 103,
+ "y": 25,
+ "w": 22,
+ "h": 24
}
},
{
@@ -1488,16 +1467,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 6,
- "y": 4,
- "w": 31,
- "h": 24
+ "x": 7,
+ "y": 5,
+ "w": 29,
+ "h": 22
},
"frame": {
- "x": 268,
- "y": 27,
- "w": 31,
- "h": 24
+ "x": 125,
+ "y": 24,
+ "w": 29,
+ "h": 22
}
},
{
@@ -1509,16 +1488,37 @@
"h": 30
},
"spriteSourceSize": {
- "x": 6,
- "y": 4,
- "w": 31,
- "h": 24
+ "x": 7,
+ "y": 5,
+ "w": 29,
+ "h": 22
},
"frame": {
- "x": 268,
- "y": 51,
- "w": 31,
- "h": 24
+ "x": 154,
+ "y": 24,
+ "w": 29,
+ "h": 22
+ }
+ },
+ {
+ "filename": "29_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 9,
+ "w": 18,
+ "h": 19
+ },
+ "frame": {
+ "x": 183,
+ "y": 24,
+ "w": 18,
+ "h": 19
}
},
{
@@ -1529,122 +1529,59 @@
"w": 40,
"h": 30
},
- "spriteSourceSize": {
- "x": 5,
- "y": 6,
- "w": 31,
- "h": 21
- },
- "frame": {
- "x": 299,
- "y": 52,
- "w": 31,
- "h": 21
- }
- },
- {
- "filename": "30_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 5,
- "w": 21,
- "h": 24
- },
- "frame": {
- "x": 330,
- "y": 66,
- "w": 21,
- "h": 24
- }
- },
- {
- "filename": "145_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 6,
- "w": 31,
- "h": 21
- },
- "frame": {
- "x": 299,
- "y": 73,
- "w": 31,
- "h": 21
- }
- },
- {
- "filename": "145_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 6,
- "w": 31,
- "h": 21
- },
- "frame": {
- "x": 268,
- "y": 75,
- "w": 31,
- "h": 21
- }
- },
- {
- "filename": "30_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 5,
- "w": 21,
- "h": 24
- },
- "frame": {
- "x": 330,
- "y": 90,
- "w": 21,
- "h": 24
- }
- },
- {
- "filename": "146_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
"spriteSourceSize": {
"x": 6,
"y": 7,
- "w": 30,
- "h": 20
+ "w": 29,
+ "h": 19
},
"frame": {
- "x": 263,
- "y": 96,
- "w": 30,
- "h": 20
+ "x": 201,
+ "y": 26,
+ "w": 29,
+ "h": 19
+ }
+ },
+ {
+ "filename": "29_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 9,
+ "w": 18,
+ "h": 19
+ },
+ "frame": {
+ "x": 230,
+ "y": 36,
+ "w": 18,
+ "h": 19
+ }
+ },
+ {
+ "filename": "5_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 5,
+ "w": 22,
+ "h": 23
+ },
+ "frame": {
+ "x": 69,
+ "y": 55,
+ "w": 22,
+ "h": 23
}
},
{
@@ -1656,16 +1593,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
- "y": 4,
- "w": 28,
- "h": 24
+ "x": 10,
+ "y": 5,
+ "w": 26,
+ "h": 22
},
"frame": {
- "x": 261,
- "y": 116,
- "w": 28,
- "h": 24
+ "x": 91,
+ "y": 49,
+ "w": 26,
+ "h": 22
}
},
{
@@ -1677,41 +1614,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
- "y": 4,
- "w": 28,
- "h": 24
- },
- "frame": {
- "x": 247,
- "y": 140,
- "w": 28,
- "h": 24
- }
- },
- {
- "filename": "8_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
+ "x": 10,
"y": 5,
"w": 26,
- "h": 24
+ "h": 22
},
"frame": {
- "x": 275,
- "y": 140,
+ "x": 91,
+ "y": 71,
"w": 26,
- "h": 24
+ "h": 22
}
},
{
- "filename": "144_1",
+ "filename": "145_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1720,15 +1636,15 @@
},
"spriteSourceSize": {
"x": 6,
- "y": 6,
+ "y": 7,
"w": 29,
- "h": 22
+ "h": 19
},
"frame": {
- "x": 301,
- "y": 94,
+ "x": 87,
+ "y": 93,
"w": 29,
- "h": 22
+ "h": 19
}
},
{
@@ -1740,20 +1656,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
- "y": 4,
- "w": 28,
- "h": 24
+ "x": 10,
+ "y": 5,
+ "w": 26,
+ "h": 22
},
"frame": {
- "x": 289,
- "y": 116,
- "w": 28,
- "h": 24
+ "x": 83,
+ "y": 112,
+ "w": 26,
+ "h": 22
}
},
{
- "filename": "141_2",
+ "filename": "5_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1762,14 +1678,623 @@
},
"spriteSourceSize": {
"x": 9,
- "y": 6,
- "w": 21,
+ "y": 5,
+ "w": 22,
"h": 23
},
"frame": {
- "x": 330,
- "y": 114,
+ "x": 88,
+ "y": 134,
+ "w": 22,
+ "h": 23
+ }
+ },
+ {
+ "filename": "31_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 5,
+ "w": 23,
+ "h": 23
+ },
+ "frame": {
+ "x": 90,
+ "y": 157,
+ "w": 23,
+ "h": 23
+ }
+ },
+ {
+ "filename": "145_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 7,
+ "w": 29,
+ "h": 19
+ },
+ "frame": {
+ "x": 125,
+ "y": 46,
+ "w": 29,
+ "h": 19
+ }
+ },
+ {
+ "filename": "56_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 8,
+ "w": 28,
+ "h": 20
+ },
+ "frame": {
+ "x": 154,
+ "y": 46,
+ "w": 28,
+ "h": 20
+ }
+ },
+ {
+ "filename": "56_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 8,
+ "w": 28,
+ "h": 20
+ },
+ "frame": {
+ "x": 117,
+ "y": 65,
+ "w": 28,
+ "h": 20
+ }
+ },
+ {
+ "filename": "144_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 7,
+ "w": 27,
+ "h": 20
+ },
+ "frame": {
+ "x": 145,
+ "y": 66,
+ "w": 27,
+ "h": 20
+ }
+ },
+ {
+ "filename": "146_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 8,
+ "w": 28,
+ "h": 18
+ },
+ "frame": {
+ "x": 117,
+ "y": 85,
+ "w": 28,
+ "h": 18
+ }
+ },
+ {
+ "filename": "144_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 7,
+ "w": 27,
+ "h": 20
+ },
+ "frame": {
+ "x": 145,
+ "y": 86,
+ "w": 27,
+ "h": 20
+ }
+ },
+ {
+ "filename": "146_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 8,
+ "w": 28,
+ "h": 18
+ },
+ "frame": {
+ "x": 116,
+ "y": 103,
+ "w": 28,
+ "h": 18
+ }
+ },
+ {
+ "filename": "144_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 7,
+ "w": 27,
+ "h": 20
+ },
+ "frame": {
+ "x": 144,
+ "y": 106,
+ "w": 27,
+ "h": 20
+ }
+ },
+ {
+ "filename": "31_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 5,
+ "w": 23,
+ "h": 23
+ },
+ "frame": {
+ "x": 172,
+ "y": 66,
+ "w": 23,
+ "h": 23
+ }
+ },
+ {
+ "filename": "8_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 6,
+ "w": 24,
+ "h": 22
+ },
+ "frame": {
+ "x": 172,
+ "y": 89,
+ "w": 24,
+ "h": 22
+ }
+ },
+ {
+ "filename": "20_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 7,
+ "w": 25,
+ "h": 21
+ },
+ "frame": {
+ "x": 171,
+ "y": 111,
+ "w": 25,
+ "h": 21
+ }
+ },
+ {
+ "filename": "2_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
"w": 21,
+ "h": 20
+ },
+ "frame": {
+ "x": 182,
+ "y": 46,
+ "w": 21,
+ "h": 20
+ }
+ },
+ {
+ "filename": "83_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 26,
+ "h": 22
+ },
+ "frame": {
+ "x": 203,
+ "y": 45,
+ "w": 26,
+ "h": 22
+ }
+ },
+ {
+ "filename": "30_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 6,
+ "w": 19,
+ "h": 22
+ },
+ "frame": {
+ "x": 229,
+ "y": 55,
+ "w": 19,
+ "h": 22
+ }
+ },
+ {
+ "filename": "83_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 26,
+ "h": 22
+ },
+ "frame": {
+ "x": 195,
+ "y": 67,
+ "w": 26,
+ "h": 22
+ }
+ },
+ {
+ "filename": "86_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 5,
+ "w": 25,
+ "h": 23
+ },
+ "frame": {
+ "x": 196,
+ "y": 89,
+ "w": 25,
+ "h": 23
+ }
+ },
+ {
+ "filename": "20_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 7,
+ "w": 25,
+ "h": 21
+ },
+ "frame": {
+ "x": 196,
+ "y": 112,
+ "w": 25,
+ "h": 21
+ }
+ },
+ {
+ "filename": "86_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 5,
+ "w": 25,
+ "h": 23
+ },
+ "frame": {
+ "x": 221,
+ "y": 77,
+ "w": 25,
+ "h": 23
+ }
+ },
+ {
+ "filename": "86_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 5,
+ "w": 25,
+ "h": 23
+ },
+ "frame": {
+ "x": 221,
+ "y": 100,
+ "w": 25,
+ "h": 23
+ }
+ },
+ {
+ "filename": "87_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 5,
+ "w": 25,
+ "h": 23
+ },
+ "frame": {
+ "x": 221,
+ "y": 123,
+ "w": 25,
+ "h": 23
+ }
+ },
+ {
+ "filename": "31_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 5,
+ "w": 23,
+ "h": 23
+ },
+ "frame": {
+ "x": 90,
+ "y": 180,
+ "w": 23,
+ "h": 23
+ }
+ },
+ {
+ "filename": "38_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 5,
+ "w": 24,
+ "h": 23
+ },
+ "frame": {
+ "x": 89,
+ "y": 203,
+ "w": 24,
+ "h": 23
+ }
+ },
+ {
+ "filename": "38_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 5,
+ "w": 24,
+ "h": 23
+ },
+ "frame": {
+ "x": 89,
+ "y": 226,
+ "w": 24,
+ "h": 23
+ }
+ },
+ {
+ "filename": "77_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 5,
+ "w": 24,
+ "h": 23
+ },
+ "frame": {
+ "x": 89,
+ "y": 249,
+ "w": 24,
+ "h": 23
+ }
+ },
+ {
+ "filename": "77_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 5,
+ "w": 24,
+ "h": 23
+ },
+ "frame": {
+ "x": 89,
+ "y": 272,
+ "w": 24,
+ "h": 23
+ }
+ },
+ {
+ "filename": "87_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 5,
+ "w": 25,
+ "h": 23
+ },
+ "frame": {
+ "x": 89,
+ "y": 295,
+ "w": 25,
+ "h": 23
+ }
+ },
+ {
+ "filename": "87_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 5,
+ "w": 25,
+ "h": 23
+ },
+ "frame": {
+ "x": 110,
+ "y": 121,
+ "w": 25,
+ "h": 23
+ }
+ },
+ {
+ "filename": "112_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 5,
+ "w": 25,
+ "h": 23
+ },
+ "frame": {
+ "x": 135,
+ "y": 126,
+ "w": 25,
"h": 23
}
},
@@ -1781,712 +2306,19 @@
"w": 40,
"h": 30
},
- "spriteSourceSize": {
- "x": 8,
- "y": 5,
- "w": 24,
- "h": 24
- },
- "frame": {
- "x": 301,
- "y": 140,
- "w": 24,
- "h": 24
- }
- },
- {
- "filename": "77_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 26,
- "h": 25
- },
- "frame": {
- "x": 325,
- "y": 137,
- "w": 26,
- "h": 25
- }
- },
- {
- "filename": "77_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 26,
- "h": 25
- },
- "frame": {
- "x": 325,
- "y": 162,
- "w": 26,
- "h": 25
- }
- },
- {
- "filename": "146_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 7,
- "w": 30,
- "h": 20
- },
- "frame": {
- "x": 138,
- "y": 29,
- "w": 30,
- "h": 20
- }
- },
- {
- "filename": "81_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 11,
- "w": 25,
- "h": 17
- },
- "frame": {
- "x": 135,
- "y": 49,
- "w": 25,
- "h": 17
- }
- },
- {
- "filename": "81_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 11,
- "w": 25,
- "h": 17
- },
- "frame": {
- "x": 160,
- "y": 49,
- "w": 25,
- "h": 17
- }
- },
- {
- "filename": "118_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 8,
- "w": 26,
- "h": 21
- },
- "frame": {
- "x": 169,
- "y": 28,
- "w": 26,
- "h": 21
- }
- },
- {
- "filename": "144_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 6,
- "w": 29,
- "h": 22
- },
- "frame": {
- "x": 195,
- "y": 28,
- "w": 29,
- "h": 22
- }
- },
- {
- "filename": "50_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 13,
- "w": 17,
- "h": 16
- },
- "frame": {
- "x": 185,
- "y": 50,
- "w": 17,
- "h": 16
- }
- },
- {
- "filename": "50_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 13,
- "w": 17,
- "h": 16
- },
- "frame": {
- "x": 202,
- "y": 50,
- "w": 17,
- "h": 16
- }
- },
- {
- "filename": "100_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 13,
- "w": 16,
- "h": 16
- },
- "frame": {
- "x": 219,
- "y": 50,
- "w": 16,
- "h": 16
- }
- },
- {
- "filename": "2_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 7,
- "w": 23,
- "h": 22
- },
- "frame": {
- "x": 224,
- "y": 28,
- "w": 23,
- "h": 22
- }
- },
- {
- "filename": "141_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
"spriteSourceSize": {
"x": 9,
"y": 6,
- "w": 21,
- "h": 23
- },
- "frame": {
- "x": 247,
- "y": 27,
- "w": 21,
- "h": 23
- }
- },
- {
- "filename": "100_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 13,
- "w": 16,
- "h": 16
- },
- "frame": {
- "x": 235,
- "y": 50,
- "w": 16,
- "h": 16
- }
- },
- {
- "filename": "146_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 7,
- "w": 30,
- "h": 20
- },
- "frame": {
- "x": 217,
- "y": 164,
- "w": 30,
- "h": 20
- }
- },
- {
- "filename": "144_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 6,
- "w": 29,
+ "w": 22,
"h": 22
},
"frame": {
- "x": 247,
- "y": 164,
- "w": 29,
+ "x": 113,
+ "y": 144,
+ "w": 22,
"h": 22
}
},
- {
- "filename": "83_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 28,
- "h": 24
- },
- "frame": {
- "x": 276,
- "y": 164,
- "w": 28,
- "h": 24
- }
- },
- {
- "filename": "113_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 7,
- "w": 21,
- "h": 22
- },
- "frame": {
- "x": 304,
- "y": 164,
- "w": 21,
- "h": 22
- }
- },
- {
- "filename": "53_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 25,
- "h": 24
- },
- "frame": {
- "x": 192,
- "y": 165,
- "w": 25,
- "h": 24
- }
- },
- {
- "filename": "47_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 5,
- "w": 24,
- "h": 24
- },
- "frame": {
- "x": 168,
- "y": 166,
- "w": 24,
- "h": 24
- }
- },
- {
- "filename": "82_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 26,
- "h": 24
- },
- "frame": {
- "x": 142,
- "y": 168,
- "w": 26,
- "h": 24
- }
- },
- {
- "filename": "53_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 25,
- "h": 24
- },
- "frame": {
- "x": 117,
- "y": 172,
- "w": 25,
- "h": 24
- }
- },
- {
- "filename": "83_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 28,
- "h": 24
- },
- "frame": {
- "x": 217,
- "y": 184,
- "w": 28,
- "h": 24
- }
- },
- {
- "filename": "86_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 27,
- "h": 25
- },
- "frame": {
- "x": 245,
- "y": 186,
- "w": 27,
- "h": 25
- }
- },
- {
- "filename": "86_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 27,
- "h": 25
- },
- "frame": {
- "x": 272,
- "y": 188,
- "w": 27,
- "h": 25
- }
- },
- {
- "filename": "53_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 25,
- "h": 24
- },
- "frame": {
- "x": 192,
- "y": 189,
- "w": 25,
- "h": 24
- }
- },
- {
- "filename": "47_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 5,
- "w": 24,
- "h": 24
- },
- "frame": {
- "x": 168,
- "y": 190,
- "w": 24,
- "h": 24
- }
- },
- {
- "filename": "82_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 26,
- "h": 24
- },
- "frame": {
- "x": 142,
- "y": 192,
- "w": 26,
- "h": 24
- }
- },
- {
- "filename": "87_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 27,
- "h": 25
- },
- "frame": {
- "x": 217,
- "y": 208,
- "w": 27,
- "h": 25
- }
- },
- {
- "filename": "87_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 27,
- "h": 25
- },
- "frame": {
- "x": 244,
- "y": 211,
- "w": 27,
- "h": 25
- }
- },
- {
- "filename": "87_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 27,
- "h": 25
- },
- "frame": {
- "x": 271,
- "y": 213,
- "w": 27,
- "h": 25
- }
- },
- {
- "filename": "92_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 6,
- "w": 25,
- "h": 23
- },
- "frame": {
- "x": 192,
- "y": 213,
- "w": 25,
- "h": 23
- }
- },
- {
- "filename": "46_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 7,
- "w": 24,
- "h": 22
- },
- "frame": {
- "x": 168,
- "y": 214,
- "w": 24,
- "h": 22
- }
- },
- {
- "filename": "112_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 27,
- "h": 25
- },
- "frame": {
- "x": 217,
- "y": 233,
- "w": 27,
- "h": 25
- }
- },
{
"filename": "112_3",
"rotated": false,
@@ -2496,16 +2328,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 27,
- "h": 25
+ "x": 8,
+ "y": 5,
+ "w": 25,
+ "h": 23
},
"frame": {
- "x": 244,
- "y": 236,
- "w": 27,
- "h": 25
+ "x": 113,
+ "y": 166,
+ "w": 25,
+ "h": 23
}
},
{
@@ -2516,59 +2348,17 @@
"w": 40,
"h": 30
},
- "spriteSourceSize": {
- "x": 6,
- "y": 5,
- "w": 27,
- "h": 24
- },
- "frame": {
- "x": 271,
- "y": 238,
- "w": 27,
- "h": 24
- }
- },
- {
- "filename": "119_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 7,
- "w": 27,
- "h": 22
- },
- "frame": {
- "x": 64,
- "y": 172,
- "w": 27,
- "h": 22
- }
- },
- {
- "filename": "131_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
"spriteSourceSize": {
"x": 7,
"y": 6,
- "w": 26,
- "h": 23
+ "w": 25,
+ "h": 22
},
"frame": {
- "x": 91,
- "y": 173,
- "w": 26,
- "h": 23
+ "x": 113,
+ "y": 189,
+ "w": 25,
+ "h": 22
}
},
{
@@ -2579,336 +2369,21 @@
"w": 40,
"h": 30
},
- "spriteSourceSize": {
- "x": 6,
- "y": 5,
- "w": 27,
- "h": 24
- },
- "frame": {
- "x": 62,
- "y": 194,
- "w": 27,
- "h": 24
- }
- },
- {
- "filename": "119_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 7,
- "w": 27,
- "h": 22
- },
- "frame": {
- "x": 62,
- "y": 218,
- "w": 27,
- "h": 22
- }
- },
- {
- "filename": "119_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 7,
- "w": 27,
- "h": 22
- },
- "frame": {
- "x": 62,
- "y": 240,
- "w": 27,
- "h": 22
- }
- },
- {
- "filename": "118_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 8,
- "w": 26,
- "h": 21
- },
- "frame": {
- "x": 62,
- "y": 262,
- "w": 26,
- "h": 21
- }
- },
- {
- "filename": "51_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 5,
- "w": 24,
- "h": 24
- },
- "frame": {
- "x": 63,
- "y": 283,
- "w": 24,
- "h": 24
- }
- },
- {
- "filename": "131_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
"spriteSourceSize": {
"x": 7,
"y": 6,
- "w": 26,
- "h": 23
- },
- "frame": {
- "x": 89,
- "y": 196,
- "w": 26,
- "h": 23
- }
- },
- {
- "filename": "51_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 5,
- "w": 24,
- "h": 24
- },
- "frame": {
- "x": 89,
- "y": 219,
- "w": 24,
- "h": 24
- }
- },
- {
- "filename": "92_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 6,
"w": 25,
- "h": 23
- },
- "frame": {
- "x": 115,
- "y": 196,
- "w": 25,
- "h": 23
- }
- },
- {
- "filename": "92_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 6,
- "w": 25,
- "h": 23
+ "h": 22
},
"frame": {
"x": 113,
- "y": 219,
+ "y": 211,
"w": 25,
- "h": 23
- }
- },
- {
- "filename": "46_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 7,
- "w": 24,
- "h": 22
- },
- "frame": {
- "x": 89,
- "y": 243,
- "w": 24,
"h": 22
}
},
{
- "filename": "127_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 6,
- "w": 25,
- "h": 23
- },
- "frame": {
- "x": 113,
- "y": 242,
- "w": 25,
- "h": 23
- }
- },
- {
- "filename": "111_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 7,
- "w": 26,
- "h": 22
- },
- "frame": {
- "x": 88,
- "y": 265,
- "w": 26,
- "h": 22
- }
- },
- {
- "filename": "46_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 7,
- "w": 24,
- "h": 22
- },
- "frame": {
- "x": 114,
- "y": 265,
- "w": 24,
- "h": 22
- }
- },
- {
- "filename": "111_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 7,
- "w": 26,
- "h": 22
- },
- "frame": {
- "x": 87,
- "y": 287,
- "w": 26,
- "h": 22
- }
- },
- {
- "filename": "127_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 6,
- "w": 25,
- "h": 23
- },
- "frame": {
- "x": 113,
- "y": 287,
- "w": 25,
- "h": 23
- }
- },
- {
- "filename": "150_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 4,
- "w": 22,
- "h": 25
- },
- "frame": {
- "x": 299,
- "y": 188,
- "w": 22,
- "h": 25
- }
- },
- {
- "filename": "125_1",
+ "filename": "82_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2918,123 +2393,18 @@
"spriteSourceSize": {
"x": 9,
"y": 5,
- "w": 23,
- "h": 24
+ "w": 24,
+ "h": 22
},
"frame": {
- "x": 298,
- "y": 213,
- "w": 23,
- "h": 24
- }
- },
- {
- "filename": "125_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 5,
- "w": 23,
- "h": 24
- },
- "frame": {
- "x": 298,
- "y": 237,
- "w": 23,
- "h": 24
- }
- },
- {
- "filename": "134_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 6,
- "w": 25,
- "h": 23
- },
- "frame": {
- "x": 321,
- "y": 187,
- "w": 25,
- "h": 23
- }
- },
- {
- "filename": "134_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 6,
- "w": 25,
- "h": 23
- },
- "frame": {
- "x": 321,
- "y": 210,
- "w": 25,
- "h": 23
- }
- },
- {
- "filename": "136_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 6,
- "w": 25,
- "h": 23
- },
- "frame": {
- "x": 321,
+ "x": 113,
"y": 233,
- "w": 25,
- "h": 23
+ "w": 24,
+ "h": 22
}
},
{
- "filename": "118_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 8,
- "w": 26,
- "h": 21
- },
- "frame": {
- "x": 321,
- "y": 256,
- "w": 26,
- "h": 21
- }
- },
- {
- "filename": "2_3",
+ "filename": "82_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -3043,143 +2413,17 @@
},
"spriteSourceSize": {
"x": 9,
- "y": 7,
- "w": 23,
- "h": 22
- },
- "frame": {
- "x": 298,
- "y": 261,
- "w": 23,
- "h": 22
- }
- },
- {
- "filename": "136_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 6,
- "w": 25,
- "h": 23
- },
- "frame": {
- "x": 321,
- "y": 277,
- "w": 25,
- "h": 23
- }
- },
- {
- "filename": "70_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 7,
+ "y": 5,
"w": 24,
"h": 22
},
"frame": {
- "x": 63,
- "y": 307,
+ "x": 113,
+ "y": 255,
"w": 24,
"h": 22
}
},
- {
- "filename": "70_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 7,
- "w": 24,
- "h": 22
- },
- "frame": {
- "x": 50,
- "y": 329,
- "w": 24,
- "h": 22
- }
- },
- {
- "filename": "41_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 6,
- "w": 23,
- "h": 22
- },
- "frame": {
- "x": 74,
- "y": 329,
- "w": 23,
- "h": 22
- }
- },
- {
- "filename": "84_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 9,
- "w": 23,
- "h": 20
- },
- "frame": {
- "x": 87,
- "y": 309,
- "w": 23,
- "h": 20
- }
- },
- {
- "filename": "41_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 6,
- "w": 23,
- "h": 22
- },
- "frame": {
- "x": 97,
- "y": 329,
- "w": 23,
- "h": 22
- }
- },
{
"filename": "7_2",
"rotated": false,
@@ -3188,21 +2432,147 @@
"w": 40,
"h": 30
},
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 11,
+ "w": 21,
+ "h": 17
+ },
+ "frame": {
+ "x": 135,
+ "y": 149,
+ "w": 21,
+ "h": 17
+ }
+ },
+ {
+ "filename": "36_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 5,
+ "w": 20,
+ "h": 23
+ },
+ "frame": {
+ "x": 138,
+ "y": 166,
+ "w": 20,
+ "h": 23
+ }
+ },
+ {
+ "filename": "36_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 5,
+ "w": 20,
+ "h": 23
+ },
+ "frame": {
+ "x": 138,
+ "y": 189,
+ "w": 20,
+ "h": 23
+ }
+ },
+ {
+ "filename": "19_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 7,
+ "w": 20,
+ "h": 21
+ },
+ "frame": {
+ "x": 138,
+ "y": 212,
+ "w": 20,
+ "h": 21
+ }
+ },
+ {
+ "filename": "47_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 6,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 137,
+ "y": 233,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "47_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 6,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 137,
+ "y": 255,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "84_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
"spriteSourceSize": {
"x": 9,
"y": 10,
- "w": 23,
- "h": 19
+ "w": 21,
+ "h": 18
},
"frame": {
- "x": 110,
- "y": 310,
- "w": 23,
- "h": 19
+ "x": 113,
+ "y": 277,
+ "w": 21,
+ "h": 18
}
},
{
- "filename": "41_3",
+ "filename": "119_1",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -3210,186 +2580,81 @@
"h": 30
},
"spriteSourceSize": {
- "x": 10,
+ "x": 8,
+ "y": 8,
+ "w": 25,
+ "h": 20
+ },
+ "frame": {
+ "x": 134,
+ "y": 277,
+ "w": 25,
+ "h": 20
+ }
+ },
+ {
+ "filename": "150_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 5,
+ "w": 20,
+ "h": 23
+ },
+ "frame": {
+ "x": 114,
+ "y": 295,
+ "w": 20,
+ "h": 23
+ }
+ },
+ {
+ "filename": "119_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 8,
+ "w": 25,
+ "h": 20
+ },
+ "frame": {
+ "x": 134,
+ "y": 297,
+ "w": 25,
+ "h": 20
+ }
+ },
+ {
+ "filename": "53_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
"y": 6,
"w": 23,
"h": 22
},
"frame": {
- "x": 120,
- "y": 329,
+ "x": 107,
+ "y": 318,
"w": 23,
"h": 22
}
},
- {
- "filename": "136_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 6,
- "w": 25,
- "h": 23
- },
- "frame": {
- "x": 143,
- "y": 216,
- "w": 25,
- "h": 23
- }
- },
- {
- "filename": "139_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 5,
- "w": 24,
- "h": 24
- },
- "frame": {
- "x": 138,
- "y": 239,
- "w": 24,
- "h": 24
- }
- },
- {
- "filename": "139_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 5,
- "w": 24,
- "h": 24
- },
- "frame": {
- "x": 138,
- "y": 263,
- "w": 24,
- "h": 24
- }
- },
- {
- "filename": "148_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 24,
- "h": 24
- },
- "frame": {
- "x": 138,
- "y": 287,
- "w": 24,
- "h": 24
- }
- },
- {
- "filename": "69_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 12,
- "w": 22,
- "h": 17
- },
- "frame": {
- "x": 133,
- "y": 311,
- "w": 22,
- "h": 17
- }
- },
- {
- "filename": "135_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 6,
- "w": 22,
- "h": 23
- },
- "frame": {
- "x": 143,
- "y": 328,
- "w": 22,
- "h": 23
- }
- },
- {
- "filename": "69_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 12,
- "w": 22,
- "h": 17
- },
- "frame": {
- "x": 155,
- "y": 311,
- "w": 22,
- "h": 17
- }
- },
- {
- "filename": "135_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 6,
- "w": 22,
- "h": 23
- },
- "frame": {
- "x": 165,
- "y": 328,
- "w": 22,
- "h": 23
- }
- },
{
"filename": "150_3",
"rotated": false,
@@ -3399,16 +2664,457 @@
"h": 30
},
"spriteSourceSize": {
- "x": 11,
- "y": 4,
- "w": 22,
- "h": 25
+ "x": 12,
+ "y": 5,
+ "w": 20,
+ "h": 23
},
"frame": {
- "x": 162,
- "y": 239,
+ "x": 110,
+ "y": 340,
+ "w": 20,
+ "h": 23
+ }
+ },
+ {
+ "filename": "119_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 8,
+ "w": 25,
+ "h": 20
+ },
+ "frame": {
+ "x": 160,
+ "y": 132,
+ "w": 25,
+ "h": 20
+ }
+ },
+ {
+ "filename": "111_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 8,
+ "w": 24,
+ "h": 20
+ },
+ "frame": {
+ "x": 185,
+ "y": 133,
+ "w": 24,
+ "h": 20
+ }
+ },
+ {
+ "filename": "53_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 23,
+ "h": 22
+ },
+ "frame": {
+ "x": 158,
+ "y": 152,
+ "w": 23,
+ "h": 22
+ }
+ },
+ {
+ "filename": "53_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 23,
+ "h": 22
+ },
+ "frame": {
+ "x": 158,
+ "y": 174,
+ "w": 23,
+ "h": 22
+ }
+ },
+ {
+ "filename": "51_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 6,
"w": 22,
- "h": 25
+ "h": 22
+ },
+ "frame": {
+ "x": 158,
+ "y": 196,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "131_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 7,
+ "w": 24,
+ "h": 21
+ },
+ "frame": {
+ "x": 181,
+ "y": 153,
+ "w": 24,
+ "h": 21
+ }
+ },
+ {
+ "filename": "131_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 7,
+ "w": 24,
+ "h": 21
+ },
+ "frame": {
+ "x": 181,
+ "y": 174,
+ "w": 24,
+ "h": 21
+ }
+ },
+ {
+ "filename": "81_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 12,
+ "w": 23,
+ "h": 15
+ },
+ "frame": {
+ "x": 158,
+ "y": 218,
+ "w": 23,
+ "h": 15
+ }
+ },
+ {
+ "filename": "51_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 6,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 159,
+ "y": 233,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "139_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 6,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 159,
+ "y": 255,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "139_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 6,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 159,
+ "y": 277,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "46_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 8,
+ "w": 22,
+ "h": 20
+ },
+ "frame": {
+ "x": 159,
+ "y": 299,
+ "w": 22,
+ "h": 20
+ }
+ },
+ {
+ "filename": "30_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 6,
+ "w": 19,
+ "h": 22
+ },
+ "frame": {
+ "x": 205,
+ "y": 153,
+ "w": 19,
+ "h": 22
+ }
+ },
+ {
+ "filename": "111_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 8,
+ "w": 24,
+ "h": 20
+ },
+ "frame": {
+ "x": 224,
+ "y": 146,
+ "w": 24,
+ "h": 20
+ }
+ },
+ {
+ "filename": "118_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 9,
+ "w": 24,
+ "h": 19
+ },
+ "frame": {
+ "x": 224,
+ "y": 166,
+ "w": 24,
+ "h": 19
+ }
+ },
+ {
+ "filename": "113_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 19,
+ "h": 20
+ },
+ "frame": {
+ "x": 205,
+ "y": 175,
+ "w": 19,
+ "h": 20
+ }
+ },
+ {
+ "filename": "118_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 9,
+ "w": 24,
+ "h": 19
+ },
+ "frame": {
+ "x": 224,
+ "y": 185,
+ "w": 24,
+ "h": 19
+ }
+ },
+ {
+ "filename": "125_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 6,
+ "w": 21,
+ "h": 22
+ },
+ "frame": {
+ "x": 130,
+ "y": 318,
+ "w": 21,
+ "h": 22
+ }
+ },
+ {
+ "filename": "125_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 6,
+ "w": 21,
+ "h": 22
+ },
+ "frame": {
+ "x": 130,
+ "y": 340,
+ "w": 21,
+ "h": 22
+ }
+ },
+ {
+ "filename": "92_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 7,
+ "w": 23,
+ "h": 21
+ },
+ "frame": {
+ "x": 151,
+ "y": 319,
+ "w": 23,
+ "h": 21
+ }
+ },
+ {
+ "filename": "92_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 7,
+ "w": 23,
+ "h": 21
+ },
+ "frame": {
+ "x": 151,
+ "y": 340,
+ "w": 23,
+ "h": 21
}
},
{
@@ -3420,41 +3126,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
- "y": 5,
- "w": 23,
- "h": 24
- },
- "frame": {
- "x": 162,
- "y": 264,
- "w": 23,
- "h": 24
- }
- },
- {
- "filename": "135_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
+ "x": 10,
"y": 6,
- "w": 22,
- "h": 23
+ "w": 21,
+ "h": 22
},
"frame": {
- "x": 162,
- "y": 288,
- "w": 22,
- "h": 23
+ "x": 174,
+ "y": 319,
+ "w": 21,
+ "h": 22
}
},
{
- "filename": "148_3",
+ "filename": "2_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -3462,16 +3147,58 @@
"h": 30
},
"spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 24,
- "h": 24
+ "x": 10,
+ "y": 8,
+ "w": 21,
+ "h": 20
},
"frame": {
- "x": 184,
- "y": 236,
+ "x": 174,
+ "y": 341,
+ "w": 21,
+ "h": 20
+ }
+ },
+ {
+ "filename": "118_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 9,
"w": 24,
- "h": 24
+ "h": 19
+ },
+ "frame": {
+ "x": 151,
+ "y": 361,
+ "w": 24,
+ "h": 19
+ }
+ },
+ {
+ "filename": "4_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 9,
+ "w": 21,
+ "h": 19
+ },
+ "frame": {
+ "x": 130,
+ "y": 362,
+ "w": 21,
+ "h": 19
}
},
{
@@ -3483,15 +3210,246 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
- "y": 8,
- "w": 22,
+ "x": 10,
+ "y": 9,
+ "w": 20,
+ "h": 19
+ },
+ "frame": {
+ "x": 175,
+ "y": 361,
+ "w": 20,
+ "h": 19
+ }
+ },
+ {
+ "filename": "92_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 7,
+ "w": 23,
"h": 21
},
"frame": {
- "x": 185,
- "y": 260,
+ "x": 122,
+ "y": 381,
+ "w": 23,
+ "h": 21
+ }
+ },
+ {
+ "filename": "81_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 12,
+ "w": 23,
+ "h": 15
+ },
+ "frame": {
+ "x": 122,
+ "y": 402,
+ "w": 23,
+ "h": 15
+ }
+ },
+ {
+ "filename": "148_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
"w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 124,
+ "y": 417,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "148_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 145,
+ "y": 381,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "127_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 7,
+ "w": 23,
+ "h": 21
+ },
+ "frame": {
+ "x": 167,
+ "y": 380,
+ "w": 23,
+ "h": 21
+ }
+ },
+ {
+ "filename": "50_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 14,
+ "w": 15,
+ "h": 14
+ },
+ "frame": {
+ "x": 145,
+ "y": 403,
+ "w": 15,
+ "h": 14
+ }
+ },
+ {
+ "filename": "19_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 7,
+ "w": 20,
+ "h": 21
+ },
+ "frame": {
+ "x": 146,
+ "y": 417,
+ "w": 20,
+ "h": 21
+ }
+ },
+ {
+ "filename": "50_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 14,
+ "w": 15,
+ "h": 14
+ },
+ "frame": {
+ "x": 160,
+ "y": 403,
+ "w": 15,
+ "h": 14
+ }
+ },
+ {
+ "filename": "52_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 7,
+ "w": 21,
+ "h": 21
+ },
+ "frame": {
+ "x": 166,
+ "y": 417,
+ "w": 21,
+ "h": 21
+ }
+ },
+ {
+ "filename": "101_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 12,
+ "w": 16,
+ "h": 16
+ },
+ "frame": {
+ "x": 175,
+ "y": 401,
+ "w": 16,
+ "h": 16
+ }
+ },
+ {
+ "filename": "52_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 7,
+ "w": 21,
+ "h": 21
+ },
+ "frame": {
+ "x": 190,
+ "y": 380,
+ "w": 21,
"h": 21
}
},
@@ -3504,146 +3462,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
- "y": 8,
- "w": 22,
- "h": 21
- },
- "frame": {
- "x": 185,
- "y": 281,
- "w": 22,
- "h": 21
- }
- },
- {
- "filename": "7_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 10,
- "w": 23,
+ "x": 10,
+ "y": 9,
+ "w": 20,
"h": 19
},
"frame": {
- "x": 184,
- "y": 302,
- "w": 23,
+ "x": 191,
+ "y": 401,
+ "w": 20,
"h": 19
}
},
{
- "filename": "113_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 7,
- "w": 21,
- "h": 22
- },
- "frame": {
- "x": 187,
- "y": 321,
- "w": 21,
- "h": 22
- }
- },
- {
- "filename": "113_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 7,
- "w": 21,
- "h": 22
- },
- "frame": {
- "x": 207,
- "y": 260,
- "w": 21,
- "h": 22
- }
- },
- {
- "filename": "123_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 8,
- "w": 21,
- "h": 21
- },
- "frame": {
- "x": 207,
- "y": 282,
- "w": 21,
- "h": 21
- }
- },
- {
- "filename": "140_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 14,
- "w": 18,
- "h": 15
- },
- "frame": {
- "x": 207,
- "y": 303,
- "w": 18,
- "h": 15
- }
- },
- {
- "filename": "29_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 8,
- "w": 20,
- "h": 21
- },
- "frame": {
- "x": 208,
- "y": 318,
- "w": 20,
- "h": 21
- }
- },
- {
- "filename": "84_2",
+ "filename": "127_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -3652,17 +3484,164 @@
},
"spriteSourceSize": {
"x": 8,
- "y": 9,
+ "y": 7,
"w": 23,
+ "h": 21
+ },
+ "frame": {
+ "x": 187,
+ "y": 420,
+ "w": 23,
+ "h": 21
+ }
+ },
+ {
+ "filename": "46_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 8,
+ "w": 22,
"h": 20
},
"frame": {
- "x": 228,
- "y": 261,
- "w": 23,
+ "x": 124,
+ "y": 439,
+ "w": 22,
"h": 20
}
},
+ {
+ "filename": "134_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 7,
+ "w": 23,
+ "h": 21
+ },
+ "frame": {
+ "x": 112,
+ "y": 459,
+ "w": 23,
+ "h": 21
+ }
+ },
+ {
+ "filename": "134_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 7,
+ "w": 23,
+ "h": 21
+ },
+ "frame": {
+ "x": 135,
+ "y": 459,
+ "w": 23,
+ "h": 21
+ }
+ },
+ {
+ "filename": "136_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 7,
+ "w": 23,
+ "h": 21
+ },
+ "frame": {
+ "x": 146,
+ "y": 438,
+ "w": 23,
+ "h": 21
+ }
+ },
+ {
+ "filename": "136_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 7,
+ "w": 23,
+ "h": 21
+ },
+ "frame": {
+ "x": 158,
+ "y": 459,
+ "w": 23,
+ "h": 21
+ }
+ },
+ {
+ "filename": "29_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 9,
+ "w": 18,
+ "h": 19
+ },
+ "frame": {
+ "x": 169,
+ "y": 438,
+ "w": 18,
+ "h": 19
+ }
+ },
+ {
+ "filename": "136_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 7,
+ "w": 23,
+ "h": 21
+ },
+ "frame": {
+ "x": 187,
+ "y": 441,
+ "w": 23,
+ "h": 21
+ }
+ },
{
"filename": "84_3",
"rotated": false,
@@ -3672,37 +3651,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 8,
- "y": 9,
- "w": 23,
- "h": 20
+ "x": 9,
+ "y": 10,
+ "w": 21,
+ "h": 18
},
"frame": {
- "x": 228,
- "y": 281,
- "w": 23,
- "h": 20
- }
- },
- {
- "filename": "29_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 8,
- "w": 20,
- "h": 21
- },
- "frame": {
- "x": 251,
- "y": 261,
- "w": 20,
- "h": 21
+ "x": 181,
+ "y": 462,
+ "w": 21,
+ "h": 18
}
},
{
@@ -3714,18 +3672,417 @@
"h": 30
},
"spriteSourceSize": {
- "x": 10,
- "y": 9,
+ "x": 11,
+ "y": 10,
+ "w": 20,
+ "h": 18
+ },
+ "frame": {
+ "x": 202,
+ "y": 462,
+ "w": 20,
+ "h": 18
+ }
+ },
+ {
+ "filename": "46_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 8,
"w": 22,
"h": 20
},
"frame": {
- "x": 271,
- "y": 262,
+ "x": 181,
+ "y": 195,
"w": 22,
"h": 20
}
},
+ {
+ "filename": "41_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 7,
+ "w": 21,
+ "h": 20
+ },
+ "frame": {
+ "x": 203,
+ "y": 195,
+ "w": 21,
+ "h": 20
+ }
+ },
+ {
+ "filename": "52_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 7,
+ "w": 21,
+ "h": 21
+ },
+ "frame": {
+ "x": 181,
+ "y": 215,
+ "w": 21,
+ "h": 21
+ }
+ },
+ {
+ "filename": "70_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 22,
+ "h": 20
+ },
+ "frame": {
+ "x": 202,
+ "y": 215,
+ "w": 22,
+ "h": 20
+ }
+ },
+ {
+ "filename": "70_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 22,
+ "h": 20
+ },
+ "frame": {
+ "x": 224,
+ "y": 204,
+ "w": 22,
+ "h": 20
+ }
+ },
+ {
+ "filename": "79_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 7,
+ "w": 21,
+ "h": 21
+ },
+ "frame": {
+ "x": 181,
+ "y": 236,
+ "w": 21,
+ "h": 21
+ }
+ },
+ {
+ "filename": "41_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 7,
+ "w": 21,
+ "h": 20
+ },
+ "frame": {
+ "x": 202,
+ "y": 235,
+ "w": 21,
+ "h": 20
+ }
+ },
+ {
+ "filename": "41_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 7,
+ "w": 21,
+ "h": 20
+ },
+ "frame": {
+ "x": 181,
+ "y": 257,
+ "w": 21,
+ "h": 20
+ }
+ },
+ {
+ "filename": "135_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 7,
+ "w": 20,
+ "h": 21
+ },
+ "frame": {
+ "x": 202,
+ "y": 255,
+ "w": 20,
+ "h": 21
+ }
+ },
+ {
+ "filename": "135_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 7,
+ "w": 20,
+ "h": 21
+ },
+ "frame": {
+ "x": 181,
+ "y": 277,
+ "w": 20,
+ "h": 21
+ }
+ },
+ {
+ "filename": "135_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 7,
+ "w": 20,
+ "h": 21
+ },
+ "frame": {
+ "x": 181,
+ "y": 298,
+ "w": 20,
+ "h": 21
+ }
+ },
+ {
+ "filename": "4_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 9,
+ "w": 21,
+ "h": 19
+ },
+ "frame": {
+ "x": 224,
+ "y": 224,
+ "w": 21,
+ "h": 19
+ }
+ },
+ {
+ "filename": "7_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 11,
+ "w": 21,
+ "h": 17
+ },
+ "frame": {
+ "x": 223,
+ "y": 243,
+ "w": 21,
+ "h": 17
+ }
+ },
+ {
+ "filename": "37_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 20,
+ "h": 20
+ },
+ "frame": {
+ "x": 222,
+ "y": 260,
+ "w": 20,
+ "h": 20
+ }
+ },
+ {
+ "filename": "141_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 7,
+ "w": 19,
+ "h": 21
+ },
+ "frame": {
+ "x": 195,
+ "y": 319,
+ "w": 19,
+ "h": 21
+ }
+ },
+ {
+ "filename": "141_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 7,
+ "w": 19,
+ "h": 21
+ },
+ "frame": {
+ "x": 195,
+ "y": 340,
+ "w": 19,
+ "h": 21
+ }
+ },
+ {
+ "filename": "123_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 9,
+ "w": 19,
+ "h": 19
+ },
+ "frame": {
+ "x": 195,
+ "y": 361,
+ "w": 19,
+ "h": 19
+ }
+ },
+ {
+ "filename": "37_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 20,
+ "h": 20
+ },
+ "frame": {
+ "x": 202,
+ "y": 276,
+ "w": 20,
+ "h": 20
+ }
+ },
+ {
+ "filename": "113_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 19,
+ "h": 20
+ },
+ "frame": {
+ "x": 201,
+ "y": 296,
+ "w": 19,
+ "h": 20
+ }
+ },
{
"filename": "147_3",
"rotated": false,
@@ -3735,20 +4092,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 10,
- "y": 9,
- "w": 22,
- "h": 20
+ "x": 11,
+ "y": 10,
+ "w": 20,
+ "h": 18
},
"frame": {
- "x": 251,
- "y": 282,
- "w": 22,
- "h": 20
+ "x": 222,
+ "y": 280,
+ "w": 20,
+ "h": 18
}
},
{
- "filename": "29_3",
+ "filename": "113_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -3758,34 +4115,13 @@
"spriteSourceSize": {
"x": 10,
"y": 8,
- "w": 20,
- "h": 21
- },
- "frame": {
- "x": 273,
- "y": 282,
- "w": 20,
- "h": 21
- }
- },
- {
- "filename": "114_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 9,
- "w": 21,
+ "w": 19,
"h": 20
},
"frame": {
- "x": 293,
- "y": 283,
- "w": 21,
+ "x": 220,
+ "y": 298,
+ "w": 19,
"h": 20
}
},
@@ -3798,37 +4134,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 10,
- "y": 8,
- "w": 21,
- "h": 21
- },
- "frame": {
- "x": 228,
- "y": 301,
- "w": 21,
- "h": 21
- }
- },
- {
- "filename": "114_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
+ "x": 11,
"y": 9,
- "w": 21,
- "h": 20
+ "w": 19,
+ "h": 19
},
"frame": {
- "x": 249,
- "y": 302,
- "w": 21,
- "h": 20
+ "x": 214,
+ "y": 318,
+ "w": 19,
+ "h": 19
}
},
{
@@ -3840,16 +4155,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 10,
- "y": 8,
- "w": 21,
- "h": 21
+ "x": 11,
+ "y": 9,
+ "w": 19,
+ "h": 19
},
"frame": {
- "x": 228,
- "y": 322,
- "w": 21,
- "h": 21
+ "x": 214,
+ "y": 337,
+ "w": 19,
+ "h": 19
}
},
{
@@ -3861,16 +4176,58 @@
"h": 30
},
"spriteSourceSize": {
- "x": 11,
- "y": 8,
- "w": 20,
- "h": 21
+ "x": 12,
+ "y": 9,
+ "w": 18,
+ "h": 19
},
"frame": {
- "x": 249,
- "y": 322,
- "w": 20,
- "h": 21
+ "x": 214,
+ "y": 356,
+ "w": 18,
+ "h": 19
+ }
+ },
+ {
+ "filename": "101_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 12,
+ "w": 16,
+ "h": 16
+ },
+ "frame": {
+ "x": 232,
+ "y": 356,
+ "w": 16,
+ "h": 16
+ }
+ },
+ {
+ "filename": "132_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 15,
+ "w": 16,
+ "h": 13
+ },
+ "frame": {
+ "x": 232,
+ "y": 372,
+ "w": 16,
+ "h": 13
}
},
{
@@ -3882,16 +4239,58 @@
"h": 30
},
"spriteSourceSize": {
- "x": 11,
- "y": 8,
- "w": 20,
- "h": 21
+ "x": 12,
+ "y": 9,
+ "w": 18,
+ "h": 19
},
"frame": {
- "x": 270,
- "y": 303,
- "w": 20,
- "h": 21
+ "x": 214,
+ "y": 375,
+ "w": 18,
+ "h": 19
+ }
+ },
+ {
+ "filename": "132_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 15,
+ "w": 16,
+ "h": 13
+ },
+ "frame": {
+ "x": 232,
+ "y": 385,
+ "w": 16,
+ "h": 13
+ }
+ },
+ {
+ "filename": "114_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 10,
+ "w": 19,
+ "h": 18
+ },
+ "frame": {
+ "x": 211,
+ "y": 394,
+ "w": 19,
+ "h": 18
}
},
{
@@ -3903,16 +4302,37 @@
"h": 30
},
"spriteSourceSize": {
- "x": 10,
- "y": 9,
- "w": 20,
- "h": 20
+ "x": 11,
+ "y": 10,
+ "w": 18,
+ "h": 18
},
"frame": {
- "x": 290,
- "y": 303,
- "w": 20,
- "h": 20
+ "x": 230,
+ "y": 398,
+ "w": 18,
+ "h": 18
+ }
+ },
+ {
+ "filename": "114_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 10,
+ "w": 19,
+ "h": 18
+ },
+ "frame": {
+ "x": 211,
+ "y": 412,
+ "w": 19,
+ "h": 18
}
},
{
@@ -3924,20 +4344,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 10,
- "y": 9,
- "w": 20,
- "h": 20
+ "x": 11,
+ "y": 10,
+ "w": 18,
+ "h": 18
},
"frame": {
- "x": 269,
- "y": 324,
- "w": 20,
- "h": 20
+ "x": 230,
+ "y": 416,
+ "w": 18,
+ "h": 18
}
},
{
- "filename": "133_2",
+ "filename": "69_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -3946,19 +4366,19 @@
},
"spriteSourceSize": {
"x": 11,
- "y": 9,
- "w": 19,
- "h": 20
+ "y": 13,
+ "w": 20,
+ "h": 15
},
"frame": {
- "x": 310,
- "y": 303,
- "w": 19,
- "h": 20
+ "x": 210,
+ "y": 430,
+ "w": 20,
+ "h": 15
}
},
{
- "filename": "133_3",
+ "filename": "69_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -3967,15 +4387,36 @@
},
"spriteSourceSize": {
"x": 11,
- "y": 9,
- "w": 19,
- "h": 20
+ "y": 13,
+ "w": 20,
+ "h": 15
},
"frame": {
- "x": 329,
- "y": 300,
- "w": 19,
- "h": 20
+ "x": 210,
+ "y": 445,
+ "w": 20,
+ "h": 15
+ }
+ },
+ {
+ "filename": "140_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 15,
+ "w": 16,
+ "h": 13
+ },
+ "frame": {
+ "x": 230,
+ "y": 434,
+ "w": 16,
+ "h": 13
}
},
{
@@ -3987,16 +4428,58 @@
"h": 30
},
"spriteSourceSize": {
- "x": 11,
- "y": 14,
- "w": 18,
- "h": 15
+ "x": 12,
+ "y": 15,
+ "w": 16,
+ "h": 13
},
"frame": {
- "x": 329,
- "y": 320,
- "w": 18,
- "h": 15
+ "x": 230,
+ "y": 447,
+ "w": 16,
+ "h": 13
+ }
+ },
+ {
+ "filename": "100_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 14,
+ "w": 14,
+ "h": 14
+ },
+ "frame": {
+ "x": 222,
+ "y": 460,
+ "w": 14,
+ "h": 14
+ }
+ },
+ {
+ "filename": "100_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 14,
+ "w": 14,
+ "h": 14
+ },
+ "frame": {
+ "x": 233,
+ "y": 318,
+ "w": 14,
+ "h": 14
}
}
]
@@ -4005,6 +4488,6 @@
"meta": {
"app": "https://www.codeandweb.com/texturepacker",
"version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:0c95eb78f3953e9d73abae2708b9d56e:583b3f178eef865ccc04b2ad4861c76e:2fc2d7db306a93e9369e20846ccef45c$"
+ "smartupdate": "$TexturePacker:SmartUpdate:f68174181676c13948ca79a046fcbf7e:94e2e7f92900fbe73acb909ce5c02904:2fc2d7db306a93e9369e20846ccef45c$"
}
}
diff --git a/public/images/pokemon_icons_1v.png b/public/images/pokemon_icons_1v.png
index f577ec3810e..ba233cf5c95 100644
Binary files a/public/images/pokemon_icons_1v.png and b/public/images/pokemon_icons_1v.png differ
diff --git a/public/images/pokemon_icons_2v.json b/public/images/pokemon_icons_2v.json
index 91e9722109c..edc1237c81e 100644
--- a/public/images/pokemon_icons_2v.json
+++ b/public/images/pokemon_icons_2v.json
@@ -4,8 +4,8 @@
"image": "pokemon_icons_2v.png",
"format": "RGBA8888",
"size": {
- "w": 274,
- "h": 274
+ "w": 251,
+ "h": 271
},
"scale": 1,
"frames": [
@@ -18,16 +18,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 3,
+ "x": 4,
"y": 0,
- "w": 34,
- "h": 30
+ "w": 32,
+ "h": 29
},
"frame": {
"x": 0,
"y": 0,
- "w": 34,
- "h": 30
+ "w": 32,
+ "h": 29
}
},
{
@@ -39,16 +39,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 3,
+ "x": 4,
"y": 0,
- "w": 34,
- "h": 30
+ "w": 32,
+ "h": 29
},
"frame": {
"x": 0,
- "y": 30,
- "w": 34,
- "h": 30
+ "y": 29,
+ "w": 32,
+ "h": 29
}
},
{
@@ -60,15 +60,15 @@
"h": 30
},
"spriteSourceSize": {
- "x": 5,
+ "x": 6,
"y": 0,
- "w": 31,
+ "w": 29,
"h": 30
},
"frame": {
- "x": 34,
+ "x": 32,
"y": 0,
- "w": 31,
+ "w": 29,
"h": 30
}
},
@@ -81,78 +81,15 @@
"h": 30
},
"spriteSourceSize": {
- "x": 5,
+ "x": 6,
"y": 0,
- "w": 31,
+ "w": 29,
"h": 30
},
"frame": {
"x": 0,
- "y": 60,
- "w": 31,
- "h": 30
- }
- },
- {
- "filename": "212-mega_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 3,
- "y": 0,
- "w": 30,
- "h": 30
- },
- "frame": {
- "x": 34,
- "y": 30,
- "w": 30,
- "h": 30
- }
- },
- {
- "filename": "212-mega_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 3,
- "y": 0,
- "w": 30,
- "h": 30
- },
- "frame": {
- "x": 65,
- "y": 0,
- "w": 30,
- "h": 30
- }
- },
- {
- "filename": "212-mega_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 3,
- "y": 0,
- "w": 30,
- "h": 30
- },
- "frame": {
- "x": 0,
- "y": 90,
- "w": 30,
+ "y": 58,
+ "w": 29,
"h": 30
}
},
@@ -165,16 +102,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 6,
- "y": 0,
- "w": 30,
- "h": 30
+ "x": 7,
+ "y": 1,
+ "w": 28,
+ "h": 29
},
"frame": {
- "x": 31,
- "y": 60,
- "w": 30,
- "h": 30
+ "x": 61,
+ "y": 0,
+ "w": 28,
+ "h": 29
}
},
{
@@ -186,16 +123,79 @@
"h": 30
},
"spriteSourceSize": {
- "x": 6,
- "y": 0,
- "w": 30,
- "h": 30
+ "x": 7,
+ "y": 1,
+ "w": 28,
+ "h": 29
},
"frame": {
- "x": 64,
- "y": 30,
- "w": 30,
+ "x": 0,
+ "y": 88,
+ "w": 28,
+ "h": 29
+ }
+ },
+ {
+ "filename": "212-mega_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
"h": 30
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 28,
+ "h": 28
+ },
+ "frame": {
+ "x": 32,
+ "y": 30,
+ "w": 28,
+ "h": 28
+ }
+ },
+ {
+ "filename": "212-mega_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 28,
+ "h": 28
+ },
+ "frame": {
+ "x": 29,
+ "y": 58,
+ "w": 28,
+ "h": 28
+ }
+ },
+ {
+ "filename": "212-mega_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 28,
+ "h": 28
+ },
+ "frame": {
+ "x": 89,
+ "y": 0,
+ "w": 28,
+ "h": 28
}
},
{
@@ -207,16 +207,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 31,
- "h": 28
+ "x": 8,
+ "y": 2,
+ "w": 29,
+ "h": 26
},
"frame": {
- "x": 95,
+ "x": 117,
"y": 0,
- "w": 31,
- "h": 28
+ "w": 29,
+ "h": 26
}
},
{
@@ -228,16 +228,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 31,
- "h": 28
+ "x": 8,
+ "y": 2,
+ "w": 29,
+ "h": 26
},
"frame": {
- "x": 30,
- "y": 90,
- "w": 31,
- "h": 28
+ "x": 146,
+ "y": 0,
+ "w": 29,
+ "h": 26
}
},
{
@@ -249,16 +249,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 4,
- "y": 2,
- "w": 32,
- "h": 27
+ "x": 5,
+ "y": 3,
+ "w": 30,
+ "h": 25
},
"frame": {
- "x": 61,
- "y": 60,
- "w": 32,
- "h": 27
+ "x": 175,
+ "y": 0,
+ "w": 30,
+ "h": 25
}
},
{
@@ -270,15 +270,99 @@
"h": 30
},
"spriteSourceSize": {
- "x": 4,
- "y": 2,
- "w": 32,
+ "x": 5,
+ "y": 3,
+ "w": 30,
+ "h": 25
+ },
+ "frame": {
+ "x": 205,
+ "y": 0,
+ "w": 30,
+ "h": 25
+ }
+ },
+ {
+ "filename": "216_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 8,
+ "w": 16,
+ "h": 20
+ },
+ "frame": {
+ "x": 235,
+ "y": 0,
+ "w": 16,
+ "h": 20
+ }
+ },
+ {
+ "filename": "212_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 1,
+ "w": 26,
"h": 27
},
"frame": {
- "x": 126,
- "y": 0,
- "w": 32,
+ "x": 0,
+ "y": 117,
+ "w": 26,
+ "h": 27
+ }
+ },
+ {
+ "filename": "212_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 1,
+ "w": 26,
+ "h": 27
+ },
+ "frame": {
+ "x": 0,
+ "y": 144,
+ "w": 26,
+ "h": 27
+ }
+ },
+ {
+ "filename": "212_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 1,
+ "w": 26,
+ "h": 27
+ },
+ "frame": {
+ "x": 0,
+ "y": 171,
+ "w": 26,
"h": 27
}
},
@@ -291,16 +375,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 5,
- "y": 2,
- "w": 31,
- "h": 27
+ "x": 6,
+ "y": 3,
+ "w": 29,
+ "h": 25
},
"frame": {
- "x": 61,
- "y": 87,
- "w": 31,
- "h": 27
+ "x": 0,
+ "y": 198,
+ "w": 29,
+ "h": 25
}
},
{
@@ -312,16 +396,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 5,
- "y": 2,
- "w": 31,
- "h": 27
+ "x": 6,
+ "y": 3,
+ "w": 29,
+ "h": 25
},
"frame": {
- "x": 158,
- "y": 0,
- "w": 31,
- "h": 27
+ "x": 0,
+ "y": 223,
+ "w": 29,
+ "h": 25
}
},
{
@@ -333,16 +417,37 @@
"h": 30
},
"spriteSourceSize": {
- "x": 4,
- "y": 5,
- "w": 32,
- "h": 25
+ "x": 5,
+ "y": 6,
+ "w": 30,
+ "h": 23
},
"frame": {
- "x": 189,
- "y": 0,
- "w": 32,
- "h": 25
+ "x": 0,
+ "y": 248,
+ "w": 30,
+ "h": 23
+ }
+ },
+ {
+ "filename": "216_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 8,
+ "w": 16,
+ "h": 20
+ },
+ "frame": {
+ "x": 235,
+ "y": 20,
+ "w": 16,
+ "h": 20
}
},
{
@@ -353,80 +458,17 @@
"w": 40,
"h": 30
},
- "spriteSourceSize": {
- "x": 4,
- "y": 5,
- "w": 32,
- "h": 25
- },
- "frame": {
- "x": 221,
- "y": 0,
- "w": 32,
- "h": 25
- }
- },
- {
- "filename": "212_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
"spriteSourceSize": {
"x": 5,
- "y": 0,
- "w": 28,
- "h": 29
+ "y": 6,
+ "w": 30,
+ "h": 23
},
"frame": {
- "x": 0,
- "y": 120,
- "w": 28,
- "h": 29
- }
- },
- {
- "filename": "212_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 0,
- "w": 28,
- "h": 29
- },
- "frame": {
- "x": 0,
- "y": 149,
- "w": 28,
- "h": 29
- }
- },
- {
- "filename": "212_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 0,
- "w": 28,
- "h": 29
- },
- "frame": {
- "x": 0,
- "y": 178,
- "w": 28,
- "h": 29
+ "x": 117,
+ "y": 26,
+ "w": 30,
+ "h": 23
}
},
{
@@ -438,20 +480,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 4,
- "y": 5,
- "w": 32,
- "h": 25
+ "x": 5,
+ "y": 6,
+ "w": 30,
+ "h": 23
},
"frame": {
- "x": 0,
- "y": 207,
- "w": 32,
- "h": 25
+ "x": 147,
+ "y": 26,
+ "w": 30,
+ "h": 23
}
},
{
- "filename": "184_2",
+ "filename": "232_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -459,20 +501,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 7,
- "y": 3,
- "w": 27,
- "h": 26
+ "x": 6,
+ "y": 6,
+ "w": 29,
+ "h": 22
},
"frame": {
- "x": 0,
- "y": 232,
- "w": 27,
- "h": 26
+ "x": 177,
+ "y": 25,
+ "w": 29,
+ "h": 22
}
},
{
- "filename": "201-n_2",
+ "filename": "232_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -480,20 +522,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 8,
- "y": 12,
- "w": 24,
- "h": 16
+ "x": 6,
+ "y": 6,
+ "w": 29,
+ "h": 22
},
"frame": {
- "x": 0,
- "y": 258,
- "w": 24,
- "h": 16
+ "x": 206,
+ "y": 25,
+ "w": 29,
+ "h": 22
}
},
{
- "filename": "164_2",
+ "filename": "200_1",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -501,79 +543,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 10,
- "y": 4,
- "w": 20,
- "h": 25
+ "x": 12,
+ "y": 9,
+ "w": 16,
+ "h": 19
},
"frame": {
- "x": 253,
- "y": 0,
- "w": 20,
- "h": 25
- }
- },
- {
- "filename": "201-n_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 12,
- "w": 24,
- "h": 16
- },
- "frame": {
- "x": 24,
- "y": 258,
- "w": 24,
- "h": 16
- }
- },
- {
- "filename": "184_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 3,
- "w": 27,
- "h": 26
- },
- "frame": {
- "x": 27,
- "y": 232,
- "w": 27,
- "h": 26
- }
- },
- {
- "filename": "201-x_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 13,
- "w": 15,
- "h": 16
- },
- "frame": {
- "x": 48,
- "y": 258,
- "w": 15,
- "h": 16
+ "x": 235,
+ "y": 40,
+ "w": 16,
+ "h": 19
}
},
{
@@ -585,16 +564,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 4,
- "y": 8,
- "w": 32,
- "h": 21
+ "x": 5,
+ "y": 9,
+ "w": 30,
+ "h": 19
},
"frame": {
- "x": 61,
- "y": 114,
- "w": 32,
- "h": 21
+ "x": 177,
+ "y": 47,
+ "w": 30,
+ "h": 19
}
},
{
@@ -606,16 +585,37 @@
"h": 30
},
"spriteSourceSize": {
- "x": 6,
- "y": 6,
- "w": 29,
- "h": 23
+ "x": 7,
+ "y": 7,
+ "w": 27,
+ "h": 21
},
"frame": {
- "x": 32,
- "y": 118,
- "w": 29,
- "h": 23
+ "x": 207,
+ "y": 47,
+ "w": 27,
+ "h": 21
+ }
+ },
+ {
+ "filename": "176_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 7,
+ "w": 17,
+ "h": 21
+ },
+ "frame": {
+ "x": 234,
+ "y": 59,
+ "w": 17,
+ "h": 21
}
},
{
@@ -627,123 +627,18 @@
"h": 30
},
"spriteSourceSize": {
- "x": 4,
- "y": 8,
- "w": 32,
- "h": 21
- },
- "frame": {
- "x": 28,
- "y": 141,
- "w": 32,
- "h": 21
- }
- },
- {
- "filename": "244_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 3,
- "w": 27,
- "h": 26
- },
- "frame": {
- "x": 28,
- "y": 162,
- "w": 27,
- "h": 26
- }
- },
- {
- "filename": "183_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 10,
- "w": 25,
+ "x": 5,
+ "y": 9,
+ "w": 30,
"h": 19
},
"frame": {
- "x": 28,
- "y": 188,
- "w": 25,
+ "x": 29,
+ "y": 86,
+ "w": 30,
"h": 19
}
},
- {
- "filename": "217_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 23,
- "h": 25
- },
- "frame": {
- "x": 32,
- "y": 207,
- "w": 23,
- "h": 25
- }
- },
- {
- "filename": "207_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 26,
- "h": 26
- },
- "frame": {
- "x": 54,
- "y": 232,
- "w": 26,
- "h": 26
- }
- },
- {
- "filename": "201-x_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 13,
- "w": 15,
- "h": 16
- },
- "frame": {
- "x": 63,
- "y": 258,
- "w": 15,
- "h": 16
- }
- },
{
"filename": "196_2",
"rotated": false,
@@ -753,20 +648,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 6,
- "y": 6,
- "w": 29,
- "h": 23
+ "x": 7,
+ "y": 7,
+ "w": 27,
+ "h": 21
},
"frame": {
- "x": 61,
- "y": 135,
- "w": 29,
- "h": 23
+ "x": 28,
+ "y": 105,
+ "w": 27,
+ "h": 21
}
},
{
- "filename": "196_3",
+ "filename": "229-mega_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -774,15 +669,120 @@
"h": 30
},
"spriteSourceSize": {
- "x": 6,
- "y": 6,
- "w": 29,
+ "x": 10,
+ "y": 2,
+ "w": 23,
+ "h": 27
+ },
+ "frame": {
+ "x": 26,
+ "y": 126,
+ "w": 23,
+ "h": 27
+ }
+ },
+ {
+ "filename": "229-mega_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 2,
+ "w": 23,
+ "h": 27
+ },
+ "frame": {
+ "x": 26,
+ "y": 153,
+ "w": 23,
+ "h": 27
+ }
+ },
+ {
+ "filename": "183_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 11,
+ "w": 23,
+ "h": 17
+ },
+ "frame": {
+ "x": 26,
+ "y": 180,
+ "w": 23,
+ "h": 17
+ }
+ },
+ {
+ "filename": "181_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 3,
+ "w": 20,
+ "h": 25
+ },
+ "frame": {
+ "x": 29,
+ "y": 197,
+ "w": 20,
+ "h": 25
+ }
+ },
+ {
+ "filename": "199_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 2,
+ "w": 19,
+ "h": 26
+ },
+ "frame": {
+ "x": 29,
+ "y": 222,
+ "w": 19,
+ "h": 26
+ }
+ },
+ {
+ "filename": "227_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 5,
+ "w": 25,
"h": 23
},
"frame": {
- "x": 60,
- "y": 158,
- "w": 29,
+ "x": 30,
+ "y": 248,
+ "w": 25,
"h": 23
}
},
@@ -795,16 +795,37 @@
"h": 30
},
"spriteSourceSize": {
- "x": 12,
- "y": 3,
- "w": 17,
- "h": 27
+ "x": 13,
+ "y": 4,
+ "w": 15,
+ "h": 26
},
"frame": {
- "x": 92,
- "y": 87,
- "w": 17,
- "h": 27
+ "x": 48,
+ "y": 222,
+ "w": 15,
+ "h": 26
+ }
+ },
+ {
+ "filename": "227_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 5,
+ "w": 25,
+ "h": 23
+ },
+ "frame": {
+ "x": 55,
+ "y": 248,
+ "w": 25,
+ "h": 23
}
},
{
@@ -816,162 +837,15 @@
"h": 30
},
"spriteSourceSize": {
- "x": 12,
- "y": 3,
- "w": 17,
- "h": 27
- },
- "frame": {
- "x": 93,
- "y": 60,
- "w": 17,
- "h": 27
- }
- },
- {
- "filename": "162_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 6,
- "w": 25,
- "h": 23
- },
- "frame": {
- "x": 93,
- "y": 114,
- "w": 25,
- "h": 23
- }
- },
- {
- "filename": "244_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 3,
- "w": 27,
- "h": 26
- },
- "frame": {
- "x": 90,
- "y": 137,
- "w": 27,
- "h": 26
- }
- },
- {
- "filename": "248_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 3,
- "w": 27,
- "h": 26
- },
- "frame": {
- "x": 89,
- "y": 163,
- "w": 27,
- "h": 26
- }
- },
- {
- "filename": "181_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 2,
- "w": 22,
- "h": 27
- },
- "frame": {
- "x": 109,
- "y": 87,
- "w": 22,
- "h": 27
- }
- },
- {
- "filename": "162_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 6,
- "w": 25,
- "h": 23
- },
- "frame": {
- "x": 118,
- "y": 114,
- "w": 25,
- "h": 23
- }
- },
- {
- "filename": "207_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
+ "x": 13,
"y": 4,
- "w": 26,
+ "w": 15,
"h": 26
},
"frame": {
- "x": 117,
- "y": 137,
- "w": 26,
- "h": 26
- }
- },
- {
- "filename": "248_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 3,
- "w": 27,
- "h": 26
- },
- "frame": {
- "x": 116,
- "y": 163,
- "w": 27,
+ "x": 49,
+ "y": 126,
+ "w": 15,
"h": 26
}
},
@@ -984,20 +858,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 10,
- "y": 2,
- "w": 22,
- "h": 27
+ "x": 11,
+ "y": 3,
+ "w": 20,
+ "h": 25
},
"frame": {
- "x": 94,
- "y": 30,
- "w": 22,
- "h": 27
+ "x": 49,
+ "y": 152,
+ "w": 20,
+ "h": 25
}
},
{
- "filename": "164_3",
+ "filename": "184_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1005,16 +879,121 @@
"h": 30
},
"spriteSourceSize": {
- "x": 10,
+ "x": 8,
"y": 4,
- "w": 20,
- "h": 25
+ "w": 25,
+ "h": 24
},
"frame": {
- "x": 116,
- "y": 28,
- "w": 20,
- "h": 25
+ "x": 49,
+ "y": 177,
+ "w": 25,
+ "h": 24
+ }
+ },
+ {
+ "filename": "196_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 7,
+ "w": 27,
+ "h": 21
+ },
+ "frame": {
+ "x": 49,
+ "y": 201,
+ "w": 27,
+ "h": 21
+ }
+ },
+ {
+ "filename": "184_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 4,
+ "w": 25,
+ "h": 24
+ },
+ "frame": {
+ "x": 63,
+ "y": 222,
+ "w": 25,
+ "h": 24
+ }
+ },
+ {
+ "filename": "162_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 7,
+ "w": 23,
+ "h": 21
+ },
+ "frame": {
+ "x": 55,
+ "y": 105,
+ "w": 23,
+ "h": 21
+ }
+ },
+ {
+ "filename": "207_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 5,
+ "w": 24,
+ "h": 24
+ },
+ "frame": {
+ "x": 64,
+ "y": 126,
+ "w": 24,
+ "h": 24
+ }
+ },
+ {
+ "filename": "207_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 5,
+ "w": 24,
+ "h": 24
+ },
+ "frame": {
+ "x": 69,
+ "y": 150,
+ "w": 24,
+ "h": 24
}
},
{
@@ -1026,20 +1005,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 5,
- "y": 6,
- "w": 26,
- "h": 23
+ "x": 6,
+ "y": 7,
+ "w": 24,
+ "h": 21
},
"frame": {
- "x": 136,
- "y": 27,
- "w": 26,
- "h": 23
+ "x": 93,
+ "y": 28,
+ "w": 24,
+ "h": 21
}
},
{
- "filename": "235_3",
+ "filename": "244_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1047,188 +1026,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 5,
- "y": 6,
- "w": 26,
- "h": 23
- },
- "frame": {
- "x": 162,
- "y": 27,
- "w": 26,
- "h": 23
- }
- },
- {
- "filename": "183_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 10,
+ "x": 8,
+ "y": 4,
"w": 25,
- "h": 19
+ "h": 24
},
"frame": {
- "x": 136,
- "y": 50,
+ "x": 74,
+ "y": 174,
"w": 25,
- "h": 19
- }
- },
- {
- "filename": "179_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 7,
- "w": 24,
- "h": 22
- },
- "frame": {
- "x": 161,
- "y": 50,
- "w": 24,
- "h": 22
- }
- },
- {
- "filename": "201-h_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 8,
- "w": 20,
- "h": 21
- },
- "frame": {
- "x": 116,
- "y": 53,
- "w": 20,
- "h": 21
- }
- },
- {
- "filename": "179_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 7,
- "w": 24,
- "h": 22
- },
- "frame": {
- "x": 136,
- "y": 69,
- "w": 24,
- "h": 22
- }
- },
- {
- "filename": "197_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 6,
- "w": 22,
- "h": 23
- },
- "frame": {
- "x": 131,
- "y": 91,
- "w": 22,
- "h": 23
- }
- },
- {
- "filename": "242_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 5,
- "w": 24,
- "h": 24
- },
- "frame": {
- "x": 160,
- "y": 72,
- "w": 24,
"h": 24
}
},
{
- "filename": "201-s_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 4,
- "w": 16,
- "h": 25
- },
- "frame": {
- "x": 143,
- "y": 114,
- "w": 16,
- "h": 25
- }
- },
- {
- "filename": "201-s_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 4,
- "w": 16,
- "h": 25
- },
- "frame": {
- "x": 143,
- "y": 139,
- "w": 16,
- "h": 25
- }
- },
- {
- "filename": "217_2",
+ "filename": "244_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1238,39 +1049,18 @@
"spriteSourceSize": {
"x": 8,
"y": 4,
- "w": 23,
- "h": 25
+ "w": 25,
+ "h": 24
},
"frame": {
- "x": 143,
- "y": 164,
- "w": 23,
- "h": 25
+ "x": 76,
+ "y": 198,
+ "w": 25,
+ "h": 24
}
},
{
- "filename": "201-u_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 11,
- "w": 20,
- "h": 18
- },
- "frame": {
- "x": 153,
- "y": 96,
- "w": 20,
- "h": 18
- }
- },
- {
- "filename": "217_3",
+ "filename": "248_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1280,18 +1070,18 @@
"spriteSourceSize": {
"x": 8,
"y": 4,
- "w": 23,
- "h": 25
+ "w": 25,
+ "h": 24
},
"frame": {
- "x": 159,
- "y": 114,
- "w": 23,
- "h": 25
+ "x": 88,
+ "y": 222,
+ "w": 25,
+ "h": 24
}
},
{
- "filename": "180_2",
+ "filename": "248_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1299,477 +1089,36 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
+ "x": 8,
+ "y": 4,
+ "w": 25,
+ "h": 24
+ },
+ "frame": {
+ "x": 80,
+ "y": 246,
+ "w": 25,
+ "h": 24
+ }
+ },
+ {
+ "filename": "164_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
"y": 5,
- "w": 23,
- "h": 24
- },
- "frame": {
- "x": 159,
- "y": 139,
- "w": 23,
- "h": 24
- }
- },
- {
- "filename": "180_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 5,
- "w": 23,
- "h": 24
- },
- "frame": {
- "x": 166,
- "y": 163,
- "w": 23,
- "h": 24
- }
- },
- {
- "filename": "173_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 11,
"w": 18,
- "h": 18
+ "h": 23
},
"frame": {
- "x": 174,
- "y": 253,
+ "x": 105,
+ "y": 246,
"w": 18,
- "h": 18
- }
- },
- {
- "filename": "173_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 11,
- "w": 18,
- "h": 18
- },
- "frame": {
- "x": 173,
- "y": 96,
- "w": 18,
- "h": 18
- }
- },
- {
- "filename": "242_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 5,
- "w": 24,
- "h": 24
- },
- "frame": {
- "x": 182,
- "y": 114,
- "w": 24,
- "h": 24
- }
- },
- {
- "filename": "242_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 5,
- "w": 24,
- "h": 24
- },
- "frame": {
- "x": 182,
- "y": 138,
- "w": 24,
- "h": 24
- }
- },
- {
- "filename": "176_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 6,
- "w": 19,
- "h": 23
- },
- "frame": {
- "x": 189,
- "y": 162,
- "w": 19,
- "h": 23
- }
- },
- {
- "filename": "163_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 7,
- "w": 19,
- "h": 22
- },
- "frame": {
- "x": 185,
- "y": 50,
- "w": 19,
- "h": 22
- }
- },
- {
- "filename": "197_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 6,
- "w": 22,
- "h": 23
- },
- "frame": {
- "x": 184,
- "y": 72,
- "w": 22,
- "h": 23
- }
- },
- {
- "filename": "201-w_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 10,
- "w": 19,
- "h": 19
- },
- "frame": {
- "x": 191,
- "y": 95,
- "w": 19,
- "h": 19
- }
- },
- {
- "filename": "176_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 6,
- "w": 19,
- "h": 23
- },
- "frame": {
- "x": 188,
- "y": 27,
- "w": 19,
- "h": 23
- }
- },
- {
- "filename": "239_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 7,
- "w": 23,
- "h": 22
- },
- "frame": {
- "x": 207,
- "y": 25,
- "w": 23,
- "h": 22
- }
- },
- {
- "filename": "239_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 7,
- "w": 23,
- "h": 22
- },
- "frame": {
- "x": 230,
- "y": 25,
- "w": 23,
- "h": 22
- }
- },
- {
- "filename": "201-m_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 7,
- "w": 20,
- "h": 22
- },
- "frame": {
- "x": 253,
- "y": 25,
- "w": 20,
- "h": 22
- }
- },
- {
- "filename": "163_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 7,
- "w": 19,
- "h": 22
- },
- "frame": {
- "x": 204,
- "y": 50,
- "w": 19,
- "h": 22
- }
- },
- {
- "filename": "176_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 6,
- "w": 19,
- "h": 23
- },
- "frame": {
- "x": 206,
- "y": 72,
- "w": 19,
- "h": 23
- }
- },
- {
- "filename": "239_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 7,
- "w": 23,
- "h": 22
- },
- "frame": {
- "x": 223,
- "y": 47,
- "w": 23,
- "h": 22
- }
- },
- {
- "filename": "206_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 8,
- "w": 23,
- "h": 21
- },
- "frame": {
- "x": 246,
- "y": 47,
- "w": 23,
- "h": 21
- }
- },
- {
- "filename": "201-m_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 7,
- "w": 20,
- "h": 22
- },
- "frame": {
- "x": 225,
- "y": 69,
- "w": 20,
- "h": 22
- }
- },
- {
- "filename": "175_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 9,
- "w": 18,
- "h": 20
- },
- "frame": {
- "x": 210,
- "y": 95,
- "w": 18,
- "h": 20
- }
- },
- {
- "filename": "206_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 8,
- "w": 23,
- "h": 21
- },
- "frame": {
- "x": 206,
- "y": 115,
- "w": 23,
- "h": 21
- }
- },
- {
- "filename": "215_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 6,
- "w": 19,
- "h": 23
- },
- "frame": {
- "x": 206,
- "y": 136,
- "w": 19,
- "h": 23
- }
- },
- {
- "filename": "215_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 6,
- "w": 19,
- "h": 23
- },
- "frame": {
- "x": 208,
- "y": 159,
- "w": 19,
"h": 23
}
},
@@ -1782,20 +1131,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 12,
- "y": 7,
- "w": 17,
- "h": 22
+ "x": 13,
+ "y": 8,
+ "w": 15,
+ "h": 20
},
"frame": {
- "x": 228,
- "y": 91,
- "w": 17,
- "h": 22
+ "x": 78,
+ "y": 29,
+ "w": 15,
+ "h": 20
}
},
{
- "filename": "201-c_3",
+ "filename": "164_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1803,18 +1152,711 @@
"h": 30
},
"spriteSourceSize": {
- "x": 12,
+ "x": 11,
+ "y": 5,
+ "w": 18,
+ "h": 23
+ },
+ "frame": {
+ "x": 60,
+ "y": 30,
+ "w": 18,
+ "h": 23
+ }
+ },
+ {
+ "filename": "235_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
"y": 7,
- "w": 17,
+ "w": 24,
+ "h": 21
+ },
+ "frame": {
+ "x": 78,
+ "y": 49,
+ "w": 24,
+ "h": 21
+ }
+ },
+ {
+ "filename": "162_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 7,
+ "w": 23,
+ "h": 21
+ },
+ "frame": {
+ "x": 102,
+ "y": 49,
+ "w": 23,
+ "h": 21
+ }
+ },
+ {
+ "filename": "242_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 6,
+ "w": 22,
"h": 22
},
"frame": {
- "x": 229,
- "y": 113,
- "w": 17,
+ "x": 125,
+ "y": 49,
+ "w": 22,
"h": 22
}
},
+ {
+ "filename": "242_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 6,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 147,
+ "y": 49,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "201-h_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 9,
+ "w": 18,
+ "h": 19
+ },
+ "frame": {
+ "x": 60,
+ "y": 53,
+ "w": 18,
+ "h": 19
+ }
+ },
+ {
+ "filename": "201-n_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 13,
+ "w": 22,
+ "h": 14
+ },
+ "frame": {
+ "x": 57,
+ "y": 72,
+ "w": 22,
+ "h": 14
+ }
+ },
+ {
+ "filename": "206_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 9,
+ "w": 21,
+ "h": 19
+ },
+ "frame": {
+ "x": 59,
+ "y": 86,
+ "w": 21,
+ "h": 19
+ }
+ },
+ {
+ "filename": "231_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 12,
+ "w": 20,
+ "h": 16
+ },
+ "frame": {
+ "x": 79,
+ "y": 70,
+ "w": 20,
+ "h": 16
+ }
+ },
+ {
+ "filename": "183_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 11,
+ "w": 23,
+ "h": 17
+ },
+ "frame": {
+ "x": 99,
+ "y": 70,
+ "w": 23,
+ "h": 17
+ }
+ },
+ {
+ "filename": "228_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 19,
+ "h": 20
+ },
+ "frame": {
+ "x": 80,
+ "y": 86,
+ "w": 19,
+ "h": 20
+ }
+ },
+ {
+ "filename": "179_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 8,
+ "w": 22,
+ "h": 20
+ },
+ "frame": {
+ "x": 78,
+ "y": 106,
+ "w": 22,
+ "h": 20
+ }
+ },
+ {
+ "filename": "206_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 9,
+ "w": 21,
+ "h": 19
+ },
+ "frame": {
+ "x": 99,
+ "y": 87,
+ "w": 21,
+ "h": 19
+ }
+ },
+ {
+ "filename": "179_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 8,
+ "w": 22,
+ "h": 20
+ },
+ "frame": {
+ "x": 100,
+ "y": 106,
+ "w": 22,
+ "h": 20
+ }
+ },
+ {
+ "filename": "217_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 5,
+ "w": 21,
+ "h": 23
+ },
+ "frame": {
+ "x": 88,
+ "y": 126,
+ "w": 21,
+ "h": 23
+ }
+ },
+ {
+ "filename": "217_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 5,
+ "w": 21,
+ "h": 23
+ },
+ "frame": {
+ "x": 93,
+ "y": 149,
+ "w": 21,
+ "h": 23
+ }
+ },
+ {
+ "filename": "201-s_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 5,
+ "w": 14,
+ "h": 23
+ },
+ "frame": {
+ "x": 109,
+ "y": 126,
+ "w": 14,
+ "h": 23
+ }
+ },
+ {
+ "filename": "217_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 5,
+ "w": 21,
+ "h": 23
+ },
+ "frame": {
+ "x": 99,
+ "y": 172,
+ "w": 21,
+ "h": 23
+ }
+ },
+ {
+ "filename": "229_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 5,
+ "w": 20,
+ "h": 23
+ },
+ "frame": {
+ "x": 101,
+ "y": 195,
+ "w": 20,
+ "h": 23
+ }
+ },
+ {
+ "filename": "201-s_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 5,
+ "w": 14,
+ "h": 23
+ },
+ "frame": {
+ "x": 114,
+ "y": 149,
+ "w": 14,
+ "h": 23
+ }
+ },
+ {
+ "filename": "242_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 6,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 122,
+ "y": 71,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "180_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 6,
+ "w": 21,
+ "h": 22
+ },
+ "frame": {
+ "x": 144,
+ "y": 71,
+ "w": 21,
+ "h": 22
+ }
+ },
+ {
+ "filename": "229_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 5,
+ "w": 20,
+ "h": 23
+ },
+ "frame": {
+ "x": 120,
+ "y": 172,
+ "w": 20,
+ "h": 23
+ }
+ },
+ {
+ "filename": "180_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 6,
+ "w": 21,
+ "h": 22
+ },
+ "frame": {
+ "x": 121,
+ "y": 195,
+ "w": 21,
+ "h": 22
+ }
+ },
+ {
+ "filename": "197_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 7,
+ "w": 20,
+ "h": 21
+ },
+ "frame": {
+ "x": 122,
+ "y": 93,
+ "w": 20,
+ "h": 21
+ }
+ },
+ {
+ "filename": "197_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 7,
+ "w": 20,
+ "h": 21
+ },
+ "frame": {
+ "x": 142,
+ "y": 93,
+ "w": 20,
+ "h": 21
+ }
+ },
+ {
+ "filename": "222_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 8,
+ "w": 21,
+ "h": 20
+ },
+ "frame": {
+ "x": 123,
+ "y": 114,
+ "w": 21,
+ "h": 20
+ }
+ },
+ {
+ "filename": "201-m_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 8,
+ "w": 18,
+ "h": 20
+ },
+ "frame": {
+ "x": 144,
+ "y": 114,
+ "w": 18,
+ "h": 20
+ }
+ },
+ {
+ "filename": "201-n_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 13,
+ "w": 22,
+ "h": 14
+ },
+ "frame": {
+ "x": 123,
+ "y": 134,
+ "w": 22,
+ "h": 14
+ }
+ },
+ {
+ "filename": "176_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 7,
+ "w": 17,
+ "h": 21
+ },
+ "frame": {
+ "x": 128,
+ "y": 148,
+ "w": 17,
+ "h": 21
+ }
+ },
+ {
+ "filename": "176_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 7,
+ "w": 17,
+ "h": 21
+ },
+ "frame": {
+ "x": 145,
+ "y": 134,
+ "w": 17,
+ "h": 21
+ }
+ },
+ {
+ "filename": "163_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 8,
+ "w": 17,
+ "h": 20
+ },
+ "frame": {
+ "x": 145,
+ "y": 155,
+ "w": 17,
+ "h": 20
+ }
+ },
+ {
+ "filename": "222_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 8,
+ "w": 21,
+ "h": 20
+ },
+ "frame": {
+ "x": 140,
+ "y": 175,
+ "w": 21,
+ "h": 20
+ }
+ },
+ {
+ "filename": "228_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 19,
+ "h": 20
+ },
+ "frame": {
+ "x": 142,
+ "y": 195,
+ "w": 19,
+ "h": 20
+ }
+ },
{
"filename": "201-a_2",
"rotated": false,
@@ -1824,16 +1866,142 @@
"h": 30
},
"spriteSourceSize": {
- "x": 14,
- "y": 6,
- "w": 12,
- "h": 23
+ "x": 15,
+ "y": 7,
+ "w": 10,
+ "h": 21
},
"frame": {
- "x": 225,
- "y": 136,
- "w": 12,
- "h": 23
+ "x": 113,
+ "y": 218,
+ "w": 10,
+ "h": 21
+ }
+ },
+ {
+ "filename": "239_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 8,
+ "w": 21,
+ "h": 20
+ },
+ "frame": {
+ "x": 123,
+ "y": 217,
+ "w": 21,
+ "h": 20
+ }
+ },
+ {
+ "filename": "215_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 7,
+ "w": 17,
+ "h": 21
+ },
+ "frame": {
+ "x": 144,
+ "y": 215,
+ "w": 17,
+ "h": 21
+ }
+ },
+ {
+ "filename": "239_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 8,
+ "w": 21,
+ "h": 20
+ },
+ "frame": {
+ "x": 123,
+ "y": 237,
+ "w": 21,
+ "h": 20
+ }
+ },
+ {
+ "filename": "201-x_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 14,
+ "w": 13,
+ "h": 14
+ },
+ "frame": {
+ "x": 123,
+ "y": 257,
+ "w": 13,
+ "h": 14
+ }
+ },
+ {
+ "filename": "215_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 7,
+ "w": 17,
+ "h": 21
+ },
+ "frame": {
+ "x": 144,
+ "y": 236,
+ "w": 17,
+ "h": 21
+ }
+ },
+ {
+ "filename": "201-x_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 14,
+ "w": 13,
+ "h": 14
+ },
+ "frame": {
+ "x": 136,
+ "y": 257,
+ "w": 13,
+ "h": 14
}
},
{
@@ -1845,104 +2013,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 14,
- "y": 6,
- "w": 12,
- "h": 23
- },
- "frame": {
- "x": 227,
- "y": 159,
- "w": 12,
- "h": 23
- }
- },
- {
- "filename": "201-b_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 6,
- "w": 14,
- "h": 23
- },
- "frame": {
- "x": 237,
- "y": 135,
- "w": 14,
- "h": 23
- }
- },
- {
- "filename": "201-b_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 6,
- "w": 14,
- "h": 23
- },
- "frame": {
- "x": 239,
- "y": 158,
- "w": 14,
- "h": 23
- }
- },
- {
- "filename": "201-g_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 14,
- "y": 6,
- "w": 12,
- "h": 23
- },
- "frame": {
- "x": 245,
- "y": 69,
- "w": 12,
- "h": 23
- }
- },
- {
- "filename": "246_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
+ "x": 15,
"y": 7,
- "w": 17,
- "h": 22
+ "w": 10,
+ "h": 21
},
"frame": {
- "x": 257,
- "y": 68,
- "w": 17,
- "h": 22
+ "x": 165,
+ "y": 71,
+ "w": 10,
+ "h": 21
}
},
{
- "filename": "246_3",
+ "filename": "239_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1950,41 +2034,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 11,
- "y": 7,
- "w": 17,
- "h": 22
- },
- "frame": {
- "x": 257,
- "y": 90,
- "w": 17,
- "h": 22
- }
- },
- {
- "filename": "201-z_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 14,
+ "x": 9,
"y": 8,
- "w": 12,
- "h": 21
+ "w": 21,
+ "h": 20
},
"frame": {
- "x": 245,
- "y": 92,
- "w": 12,
- "h": 21
+ "x": 175,
+ "y": 66,
+ "w": 21,
+ "h": 20
}
},
{
- "filename": "201-f_2",
+ "filename": "201-p_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1992,16 +2055,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 12,
+ "x": 15,
"y": 8,
- "w": 17,
- "h": 21
+ "w": 11,
+ "h": 20
},
"frame": {
- "x": 257,
- "y": 112,
- "w": 17,
- "h": 21
+ "x": 196,
+ "y": 66,
+ "w": 11,
+ "h": 20
}
},
{
@@ -2012,99 +2075,99 @@
"w": 40,
"h": 30
},
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 9,
+ "w": 18,
+ "h": 19
+ },
+ "frame": {
+ "x": 207,
+ "y": 68,
+ "w": 18,
+ "h": 19
+ }
+ },
+ {
+ "filename": "231_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
"spriteSourceSize": {
"x": 10,
- "y": 8,
+ "y": 12,
"w": 20,
- "h": 21
+ "h": 16
},
"frame": {
- "x": 251,
+ "x": 175,
+ "y": 86,
+ "w": 20,
+ "h": 16
+ }
+ },
+ {
+ "filename": "201-k_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 8,
+ "w": 13,
+ "h": 20
+ },
+ "frame": {
+ "x": 162,
+ "y": 93,
+ "w": 13,
+ "h": 20
+ }
+ },
+ {
+ "filename": "163_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 8,
+ "w": 17,
+ "h": 20
+ },
+ "frame": {
+ "x": 162,
+ "y": 113,
+ "w": 17,
+ "h": 20
+ }
+ },
+ {
+ "filename": "201-m_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 8,
+ "w": 18,
+ "h": 20
+ },
+ "frame": {
+ "x": 162,
"y": 133,
- "w": 20,
- "h": 21
- }
- },
- {
- "filename": "216_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 7,
- "w": 18,
- "h": 22
- },
- "frame": {
- "x": 253,
- "y": 154,
- "w": 18,
- "h": 22
- }
- },
- {
- "filename": "175_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 9,
- "w": 18,
- "h": 20
- },
- "frame": {
- "x": 253,
- "y": 176,
- "w": 18,
- "h": 20
- }
- },
- {
- "filename": "201-t_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 8,
- "w": 14,
- "h": 21
- },
- "frame": {
- "x": 239,
- "y": 181,
- "w": 14,
- "h": 21
- }
- },
- {
- "filename": "175_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 9,
- "w": 18,
- "h": 20
- },
- "frame": {
- "x": 253,
- "y": 196,
"w": 18,
"h": 20
}
@@ -2118,20 +2181,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 10,
- "y": 8,
- "w": 20,
- "h": 21
+ "x": 11,
+ "y": 9,
+ "w": 18,
+ "h": 19
},
"frame": {
- "x": 208,
- "y": 182,
- "w": 20,
- "h": 21
+ "x": 162,
+ "y": 153,
+ "w": 18,
+ "h": 19
}
},
{
- "filename": "201-w_3",
+ "filename": "201-b_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2139,16 +2202,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 11,
- "y": 10,
- "w": 19,
- "h": 19
+ "x": 14,
+ "y": 7,
+ "w": 12,
+ "h": 21
},
"frame": {
- "x": 189,
- "y": 185,
- "w": 19,
- "h": 19
+ "x": 195,
+ "y": 86,
+ "w": 12,
+ "h": 21
}
},
{
@@ -2159,101 +2222,17 @@
"w": 40,
"h": 30
},
- "spriteSourceSize": {
- "x": 10,
- "y": 8,
- "w": 20,
- "h": 21
- },
- "frame": {
- "x": 55,
- "y": 181,
- "w": 20,
- "h": 21
- }
- },
- {
- "filename": "201-t_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 8,
- "w": 14,
- "h": 21
- },
- "frame": {
- "x": 75,
- "y": 181,
- "w": 14,
- "h": 21
- }
- },
- {
- "filename": "216_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 7,
- "w": 18,
- "h": 22
- },
- "frame": {
- "x": 55,
- "y": 202,
- "w": 18,
- "h": 22
- }
- },
- {
- "filename": "201-e_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
"spriteSourceSize": {
"x": 11,
- "y": 7,
- "w": 16,
- "h": 22
+ "y": 9,
+ "w": 18,
+ "h": 19
},
"frame": {
- "x": 73,
- "y": 202,
- "w": 16,
- "h": 22
- }
- },
- {
- "filename": "200_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 8,
+ "x": 207,
+ "y": 87,
"w": 18,
- "h": 21
- },
- "frame": {
- "x": 89,
- "y": 189,
- "w": 18,
- "h": 21
+ "h": 19
}
},
{
@@ -2265,16 +2244,58 @@
"h": 30
},
"spriteSourceSize": {
- "x": 11,
- "y": 8,
- "w": 18,
- "h": 21
+ "x": 12,
+ "y": 9,
+ "w": 16,
+ "h": 19
},
"frame": {
- "x": 107,
- "y": 189,
- "w": 18,
- "h": 21
+ "x": 179,
+ "y": 102,
+ "w": 16,
+ "h": 19
+ }
+ },
+ {
+ "filename": "173_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 12,
+ "w": 16,
+ "h": 16
+ },
+ "frame": {
+ "x": 195,
+ "y": 107,
+ "w": 16,
+ "h": 16
+ }
+ },
+ {
+ "filename": "175_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 10,
+ "w": 16,
+ "h": 18
+ },
+ "frame": {
+ "x": 211,
+ "y": 106,
+ "w": 16,
+ "h": 18
}
},
{
@@ -2286,20 +2307,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 11,
- "y": 8,
- "w": 18,
- "h": 21
+ "x": 12,
+ "y": 9,
+ "w": 16,
+ "h": 19
},
"frame": {
- "x": 125,
- "y": 189,
- "w": 18,
- "h": 21
+ "x": 225,
+ "y": 80,
+ "w": 16,
+ "h": 19
}
},
{
- "filename": "247_2",
+ "filename": "201-g_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2307,62 +2328,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 11,
- "y": 8,
- "w": 18,
+ "x": 15,
+ "y": 7,
+ "w": 10,
"h": 21
},
"frame": {
- "x": 143,
- "y": 189,
- "w": 18,
+ "x": 241,
+ "y": 80,
+ "w": 10,
"h": 21
}
},
{
- "filename": "201-u_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 11,
- "w": 20,
- "h": 18
- },
- "frame": {
- "x": 89,
- "y": 210,
- "w": 20,
- "h": 18
- }
- },
- {
- "filename": "247_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 8,
- "w": 18,
- "h": 21
- },
- "frame": {
- "x": 109,
- "y": 210,
- "w": 18,
- "h": 21
- }
- },
- {
- "filename": "201-f_3",
+ "filename": "201-e_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2372,56 +2351,14 @@
"spriteSourceSize": {
"x": 12,
"y": 8,
- "w": 17,
- "h": 21
+ "w": 14,
+ "h": 20
},
"frame": {
- "x": 127,
- "y": 210,
- "w": 17,
- "h": 21
- }
- },
- {
- "filename": "201-d_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 8,
- "w": 16,
- "h": 21
- },
- "frame": {
- "x": 144,
- "y": 210,
- "w": 16,
- "h": 21
- }
- },
- {
- "filename": "201-d_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 8,
- "w": 16,
- "h": 21
- },
- "frame": {
- "x": 161,
- "y": 189,
- "w": 16,
- "h": 21
+ "x": 227,
+ "y": 99,
+ "w": 14,
+ "h": 20
}
},
{
@@ -2433,16 +2370,121 @@
"h": 30
},
"spriteSourceSize": {
- "x": 14,
- "y": 6,
- "w": 12,
- "h": 23
+ "x": 15,
+ "y": 7,
+ "w": 10,
+ "h": 21
},
"frame": {
- "x": 177,
- "y": 187,
- "w": 12,
- "h": 23
+ "x": 241,
+ "y": 101,
+ "w": 10,
+ "h": 21
+ }
+ },
+ {
+ "filename": "201-c_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 8,
+ "w": 15,
+ "h": 20
+ },
+ "frame": {
+ "x": 180,
+ "y": 121,
+ "w": 15,
+ "h": 20
+ }
+ },
+ {
+ "filename": "175_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 10,
+ "w": 16,
+ "h": 18
+ },
+ "frame": {
+ "x": 195,
+ "y": 123,
+ "w": 16,
+ "h": 18
+ }
+ },
+ {
+ "filename": "246_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 8,
+ "w": 15,
+ "h": 20
+ },
+ "frame": {
+ "x": 180,
+ "y": 141,
+ "w": 15,
+ "h": 20
+ }
+ },
+ {
+ "filename": "246_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 8,
+ "w": 15,
+ "h": 20
+ },
+ "frame": {
+ "x": 195,
+ "y": 141,
+ "w": 15,
+ "h": 20
+ }
+ },
+ {
+ "filename": "175_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 10,
+ "w": 16,
+ "h": 18
+ },
+ "frame": {
+ "x": 211,
+ "y": 124,
+ "w": 16,
+ "h": 18
}
},
{
@@ -2453,59 +2495,17 @@
"w": 40,
"h": 30
},
- "spriteSourceSize": {
- "x": 11,
- "y": 7,
- "w": 16,
- "h": 22
- },
- "frame": {
- "x": 160,
- "y": 210,
- "w": 16,
- "h": 22
- }
- },
- {
- "filename": "201-k_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
"spriteSourceSize": {
"x": 12,
- "y": 7,
- "w": 15,
- "h": 22
+ "y": 8,
+ "w": 14,
+ "h": 20
},
"frame": {
- "x": 176,
- "y": 210,
- "w": 15,
- "h": 22
- }
- },
- {
- "filename": "201-k_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 7,
- "w": 15,
- "h": 22
- },
- "frame": {
- "x": 191,
- "y": 204,
- "w": 15,
- "h": 22
+ "x": 227,
+ "y": 119,
+ "w": 14,
+ "h": 20
}
},
{
@@ -2517,16 +2517,142 @@
"h": 30
},
"spriteSourceSize": {
- "x": 13,
- "y": 7,
- "w": 12,
- "h": 22
+ "x": 14,
+ "y": 8,
+ "w": 10,
+ "h": 20
},
"frame": {
- "x": 206,
- "y": 204,
+ "x": 241,
+ "y": 122,
+ "w": 10,
+ "h": 20
+ }
+ },
+ {
+ "filename": "247_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 9,
+ "w": 16,
+ "h": 19
+ },
+ "frame": {
+ "x": 210,
+ "y": 142,
+ "w": 16,
+ "h": 19
+ }
+ },
+ {
+ "filename": "201-u_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 12,
+ "w": 18,
+ "h": 16
+ },
+ "frame": {
+ "x": 180,
+ "y": 161,
+ "w": 18,
+ "h": 16
+ }
+ },
+ {
+ "filename": "201-u_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 12,
+ "w": 18,
+ "h": 16
+ },
+ "frame": {
+ "x": 198,
+ "y": 161,
+ "w": 18,
+ "h": 16
+ }
+ },
+ {
+ "filename": "201-b_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 7,
"w": 12,
- "h": 22
+ "h": 21
+ },
+ "frame": {
+ "x": 216,
+ "y": 161,
+ "w": 12,
+ "h": 21
+ }
+ },
+ {
+ "filename": "247_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 9,
+ "w": 16,
+ "h": 19
+ },
+ "frame": {
+ "x": 226,
+ "y": 142,
+ "w": 16,
+ "h": 19
+ }
+ },
+ {
+ "filename": "201-d_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 9,
+ "w": 14,
+ "h": 19
+ },
+ "frame": {
+ "x": 228,
+ "y": 161,
+ "w": 14,
+ "h": 19
}
},
{
@@ -2537,208 +2663,19 @@
"w": 40,
"h": 30
},
- "spriteSourceSize": {
- "x": 13,
- "y": 6,
- "w": 13,
- "h": 23
- },
- "frame": {
- "x": 218,
- "y": 203,
- "w": 13,
- "h": 23
- }
- },
- {
- "filename": "201-l_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 7,
- "w": 15,
- "h": 22
- },
- "frame": {
- "x": 231,
- "y": 202,
- "w": 15,
- "h": 22
- }
- },
- {
- "filename": "201-l_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 7,
- "w": 15,
- "h": 22
- },
- "frame": {
- "x": 80,
- "y": 228,
- "w": 15,
- "h": 22
- }
- },
- {
- "filename": "201-p_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
"spriteSourceSize": {
"x": 14,
"y": 7,
- "w": 13,
- "h": 22
- },
- "frame": {
- "x": 95,
- "y": 228,
- "w": 13,
- "h": 22
- }
- },
- {
- "filename": "201-v_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 9,
- "w": 16,
- "h": 20
- },
- "frame": {
- "x": 108,
- "y": 231,
- "w": 16,
- "h": 20
- }
- },
- {
- "filename": "201-v_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 9,
- "w": 16,
- "h": 20
- },
- "frame": {
- "x": 124,
- "y": 231,
- "w": 16,
- "h": 20
- }
- },
- {
- "filename": "251_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 8,
- "w": 16,
- "h": 20
- },
- "frame": {
- "x": 140,
- "y": 231,
- "w": 16,
- "h": 20
- }
- },
- {
- "filename": "251_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 8,
- "w": 16,
- "h": 20
- },
- "frame": {
- "x": 156,
- "y": 232,
- "w": 16,
- "h": 20
- }
- },
- {
- "filename": "201-y_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 8,
- "w": 15,
+ "w": 11,
"h": 21
},
"frame": {
- "x": 172,
- "y": 232,
- "w": 15,
+ "x": 161,
+ "y": 175,
+ "w": 11,
"h": 21
}
},
- {
- "filename": "201-exclamation_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 7,
- "w": 12,
- "h": 22
- },
- "frame": {
- "x": 187,
- "y": 232,
- "w": 12,
- "h": 22
- }
- },
{
"filename": "201-question_3",
"rotated": false,
@@ -2748,20 +2685,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 13,
- "y": 6,
- "w": 13,
- "h": 23
+ "x": 14,
+ "y": 7,
+ "w": 11,
+ "h": 21
},
"frame": {
- "x": 199,
- "y": 226,
- "w": 13,
- "h": 23
+ "x": 161,
+ "y": 196,
+ "w": 11,
+ "h": 21
}
},
{
- "filename": "201-y_3",
+ "filename": "201-k_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2771,77 +2708,224 @@
"spriteSourceSize": {
"x": 13,
"y": 8,
- "w": 15,
- "h": 21
- },
- "frame": {
- "x": 212,
- "y": 226,
- "w": 15,
- "h": 21
- }
- },
- {
- "filename": "201-i_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 14,
- "y": 7,
- "w": 12,
- "h": 22
- },
- "frame": {
- "x": 227,
- "y": 226,
- "w": 12,
- "h": 22
- }
- },
- {
- "filename": "201-i_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 14,
- "y": 7,
- "w": 12,
- "h": 22
- },
- "frame": {
- "x": 239,
- "y": 224,
- "w": 12,
- "h": 22
- }
- },
- {
- "filename": "201-p_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 14,
- "y": 7,
"w": 13,
- "h": 22
+ "h": 20
},
"frame": {
- "x": 251,
- "y": 216,
+ "x": 161,
+ "y": 217,
"w": 13,
- "h": 22
+ "h": 20
+ }
+ },
+ {
+ "filename": "201-l_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 8,
+ "w": 13,
+ "h": 20
+ },
+ "frame": {
+ "x": 161,
+ "y": 237,
+ "w": 13,
+ "h": 20
+ }
+ },
+ {
+ "filename": "201-f_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 9,
+ "w": 15,
+ "h": 19
+ },
+ "frame": {
+ "x": 172,
+ "y": 177,
+ "w": 15,
+ "h": 19
+ }
+ },
+ {
+ "filename": "201-f_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 9,
+ "w": 15,
+ "h": 19
+ },
+ "frame": {
+ "x": 172,
+ "y": 196,
+ "w": 15,
+ "h": 19
+ }
+ },
+ {
+ "filename": "201-w_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 11,
+ "w": 17,
+ "h": 17
+ },
+ "frame": {
+ "x": 187,
+ "y": 177,
+ "w": 17,
+ "h": 17
+ }
+ },
+ {
+ "filename": "201-t_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 9,
+ "w": 12,
+ "h": 19
+ },
+ "frame": {
+ "x": 204,
+ "y": 177,
+ "w": 12,
+ "h": 19
+ }
+ },
+ {
+ "filename": "201-w_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 11,
+ "w": 17,
+ "h": 17
+ },
+ "frame": {
+ "x": 187,
+ "y": 194,
+ "w": 17,
+ "h": 17
+ }
+ },
+ {
+ "filename": "201-l_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 8,
+ "w": 13,
+ "h": 20
+ },
+ "frame": {
+ "x": 174,
+ "y": 215,
+ "w": 13,
+ "h": 20
+ }
+ },
+ {
+ "filename": "201-d_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 9,
+ "w": 14,
+ "h": 19
+ },
+ "frame": {
+ "x": 187,
+ "y": 211,
+ "w": 14,
+ "h": 19
+ }
+ },
+ {
+ "filename": "201-y_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 9,
+ "w": 13,
+ "h": 19
+ },
+ "frame": {
+ "x": 174,
+ "y": 235,
+ "w": 13,
+ "h": 19
+ }
+ },
+ {
+ "filename": "201-v_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 10,
+ "w": 14,
+ "h": 18
+ },
+ "frame": {
+ "x": 187,
+ "y": 230,
+ "w": 14,
+ "h": 18
}
},
{
@@ -2853,20 +2937,83 @@
"h": 30
},
"spriteSourceSize": {
- "x": 12,
- "y": 11,
- "w": 16,
+ "x": 13,
+ "y": 12,
+ "w": 14,
+ "h": 16
+ },
+ "frame": {
+ "x": 204,
+ "y": 196,
+ "w": 14,
+ "h": 16
+ }
+ },
+ {
+ "filename": "201-v_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 10,
+ "w": 14,
"h": 18
},
"frame": {
- "x": 80,
- "y": 250,
- "w": 16,
+ "x": 201,
+ "y": 212,
+ "w": 14,
"h": 18
}
},
{
- "filename": "201-r_2",
+ "filename": "251_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 9,
+ "w": 14,
+ "h": 18
+ },
+ "frame": {
+ "x": 201,
+ "y": 230,
+ "w": 14,
+ "h": 18
+ }
+ },
+ {
+ "filename": "201-exclamation_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 8,
+ "w": 10,
+ "h": 20
+ },
+ "frame": {
+ "x": 215,
+ "y": 212,
+ "w": 10,
+ "h": 20
+ }
+ },
+ {
+ "filename": "201-i_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2875,14 +3022,14 @@
},
"spriteSourceSize": {
"x": 15,
- "y": 9,
- "w": 12,
+ "y": 8,
+ "w": 10,
"h": 20
},
"frame": {
- "x": 96,
- "y": 250,
- "w": 12,
+ "x": 215,
+ "y": 232,
+ "w": 10,
"h": 20
}
},
@@ -2895,18 +3042,123 @@
"h": 30
},
"spriteSourceSize": {
- "x": 12,
- "y": 11,
- "w": 16,
+ "x": 13,
+ "y": 12,
+ "w": 14,
+ "h": 16
+ },
+ "frame": {
+ "x": 187,
+ "y": 248,
+ "w": 14,
+ "h": 16
+ }
+ },
+ {
+ "filename": "251_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 9,
+ "w": 14,
"h": 18
},
"frame": {
- "x": 108,
- "y": 251,
- "w": 16,
+ "x": 201,
+ "y": 248,
+ "w": 14,
"h": 18
}
},
+ {
+ "filename": "201-y_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 9,
+ "w": 13,
+ "h": 19
+ },
+ "frame": {
+ "x": 215,
+ "y": 252,
+ "w": 13,
+ "h": 19
+ }
+ },
+ {
+ "filename": "201-i_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 15,
+ "y": 8,
+ "w": 10,
+ "h": 20
+ },
+ "frame": {
+ "x": 218,
+ "y": 182,
+ "w": 10,
+ "h": 20
+ }
+ },
+ {
+ "filename": "201-p_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 15,
+ "y": 8,
+ "w": 11,
+ "h": 20
+ },
+ "frame": {
+ "x": 228,
+ "y": 180,
+ "w": 11,
+ "h": 20
+ }
+ },
+ {
+ "filename": "201-t_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 9,
+ "w": 12,
+ "h": 19
+ },
+ "frame": {
+ "x": 239,
+ "y": 180,
+ "w": 12,
+ "h": 19
+ }
+ },
{
"filename": "201-j_2",
"rotated": false,
@@ -2916,16 +3168,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 14,
- "y": 8,
- "w": 13,
- "h": 21
+ "x": 15,
+ "y": 9,
+ "w": 11,
+ "h": 19
},
"frame": {
- "x": 124,
- "y": 251,
- "w": 13,
- "h": 21
+ "x": 228,
+ "y": 200,
+ "w": 11,
+ "h": 19
}
},
{
@@ -2937,16 +3189,37 @@
"h": 30
},
"spriteSourceSize": {
- "x": 14,
- "y": 8,
- "w": 13,
- "h": 21
+ "x": 15,
+ "y": 9,
+ "w": 11,
+ "h": 19
},
"frame": {
- "x": 137,
- "y": 251,
- "w": 13,
- "h": 21
+ "x": 239,
+ "y": 199,
+ "w": 11,
+ "h": 19
+ }
+ },
+ {
+ "filename": "201-z_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 15,
+ "y": 9,
+ "w": 10,
+ "h": 19
+ },
+ "frame": {
+ "x": 225,
+ "y": 219,
+ "w": 10,
+ "h": 19
}
},
{
@@ -2958,16 +3231,37 @@
"h": 30
},
"spriteSourceSize": {
- "x": 14,
- "y": 8,
- "w": 12,
- "h": 21
+ "x": 15,
+ "y": 9,
+ "w": 10,
+ "h": 19
},
"frame": {
- "x": 150,
- "y": 253,
- "w": 12,
- "h": 21
+ "x": 235,
+ "y": 219,
+ "w": 10,
+ "h": 19
+ }
+ },
+ {
+ "filename": "201-r_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 16,
+ "y": 10,
+ "w": 10,
+ "h": 18
+ },
+ "frame": {
+ "x": 228,
+ "y": 238,
+ "w": 10,
+ "h": 18
}
},
{
@@ -2979,16 +3273,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 15,
- "y": 9,
- "w": 12,
- "h": 20
+ "x": 16,
+ "y": 10,
+ "w": 10,
+ "h": 18
},
"frame": {
- "x": 162,
- "y": 254,
- "w": 12,
- "h": 20
+ "x": 238,
+ "y": 238,
+ "w": 10,
+ "h": 18
}
}
]
@@ -2997,6 +3291,6 @@
"meta": {
"app": "https://www.codeandweb.com/texturepacker",
"version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:0711e02245f9c786aa6fd6fbaac53800:3e5916568c033da5760f9055d7a2317e:63b368599cdc6e139499267117e91cd5$"
+ "smartupdate": "$TexturePacker:SmartUpdate:f68072f2f63507b99c4550bc32bafaf3:ecfff43f4672541500abdde038d7f530:63b368599cdc6e139499267117e91cd5$"
}
}
diff --git a/public/images/pokemon_icons_2v.png b/public/images/pokemon_icons_2v.png
index 90798547580..21260b4d38f 100644
Binary files a/public/images/pokemon_icons_2v.png and b/public/images/pokemon_icons_2v.png differ
diff --git a/public/images/pokemon_icons_3v.json b/public/images/pokemon_icons_3v.json
index 21e15da4423..99de7cb8d7f 100644
--- a/public/images/pokemon_icons_3v.json
+++ b/public/images/pokemon_icons_3v.json
@@ -4,8 +4,8 @@
"image": "pokemon_icons_3v.png",
"format": "RGBA8888",
"size": {
- "w": 330,
- "h": 330
+ "w": 128,
+ "h": 741
},
"scale": 1,
"frames": [
@@ -18,16 +18,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 40,
- "h": 27
+ "x": 1,
+ "y": 3,
+ "w": 38,
+ "h": 25
},
"frame": {
"x": 0,
"y": 0,
- "w": 40,
- "h": 27
+ "w": 38,
+ "h": 25
}
},
{
@@ -39,16 +39,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 0,
- "y": 2,
- "w": 40,
- "h": 27
+ "x": 1,
+ "y": 3,
+ "w": 38,
+ "h": 25
},
"frame": {
"x": 0,
- "y": 27,
- "w": 40,
- "h": 27
+ "y": 25,
+ "w": 38,
+ "h": 25
}
},
{
@@ -60,16 +60,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 1,
- "y": 2,
- "w": 37,
- "h": 27
+ "x": 2,
+ "y": 3,
+ "w": 35,
+ "h": 25
},
"frame": {
- "x": 40,
+ "x": 38,
"y": 0,
- "w": 37,
- "h": 27
+ "w": 35,
+ "h": 25
}
},
{
@@ -81,16 +81,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 1,
- "y": 2,
- "w": 37,
- "h": 27
+ "x": 2,
+ "y": 3,
+ "w": 35,
+ "h": 25
},
"frame": {
"x": 0,
- "y": 54,
- "w": 37,
- "h": 27
+ "y": 50,
+ "w": 35,
+ "h": 25
}
},
{
@@ -102,20 +102,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 2,
- "y": 3,
- "w": 38,
- "h": 26
+ "x": 3,
+ "y": 4,
+ "w": 36,
+ "h": 24
},
"frame": {
- "x": 77,
+ "x": 73,
"y": 0,
- "w": 38,
- "h": 26
+ "w": 36,
+ "h": 24
}
},
{
- "filename": "383-primal_3",
+ "filename": "362_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -123,16 +123,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 2,
- "y": 3,
- "w": 38,
- "h": 26
+ "x": 11,
+ "y": 8,
+ "w": 19,
+ "h": 20
},
"frame": {
- "x": 115,
+ "x": 109,
"y": 0,
- "w": 38,
- "h": 26
+ "w": 19,
+ "h": 20
}
},
{
@@ -144,16 +144,58 @@
"h": 30
},
"spriteSourceSize": {
- "x": 3,
- "y": 3,
- "w": 37,
- "h": 26
+ "x": 4,
+ "y": 4,
+ "w": 35,
+ "h": 24
},
"frame": {
- "x": 40,
- "y": 27,
- "w": 37,
- "h": 26
+ "x": 38,
+ "y": 25,
+ "w": 35,
+ "h": 24
+ }
+ },
+ {
+ "filename": "383-primal_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 4,
+ "w": 36,
+ "h": 24
+ },
+ "frame": {
+ "x": 73,
+ "y": 24,
+ "w": 36,
+ "h": 24
+ }
+ },
+ {
+ "filename": "362_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 8,
+ "w": 19,
+ "h": 20
+ },
+ "frame": {
+ "x": 109,
+ "y": 20,
+ "w": 19,
+ "h": 20
}
},
{
@@ -165,16 +207,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 3,
- "y": 3,
- "w": 37,
- "h": 26
+ "x": 4,
+ "y": 4,
+ "w": 35,
+ "h": 24
},
"frame": {
"x": 0,
- "y": 81,
- "w": 37,
- "h": 26
+ "y": 75,
+ "w": 35,
+ "h": 24
}
},
{
@@ -186,16 +228,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 3,
- "y": 3,
- "w": 37,
- "h": 26
+ "x": 4,
+ "y": 4,
+ "w": 35,
+ "h": 24
},
"frame": {
- "x": 77,
- "y": 26,
- "w": 37,
- "h": 26
+ "x": 0,
+ "y": 99,
+ "w": 35,
+ "h": 24
}
},
{
@@ -207,16 +249,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 3,
- "y": 3,
- "w": 37,
- "h": 26
+ "x": 4,
+ "y": 4,
+ "w": 35,
+ "h": 24
},
"frame": {
- "x": 153,
- "y": 0,
- "w": 37,
- "h": 26
+ "x": 0,
+ "y": 123,
+ "w": 35,
+ "h": 24
}
},
{
@@ -228,16 +270,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 4,
- "y": 1,
- "w": 33,
- "h": 29
+ "x": 5,
+ "y": 2,
+ "w": 31,
+ "h": 27
},
"frame": {
"x": 0,
- "y": 107,
- "w": 33,
- "h": 29
+ "y": 147,
+ "w": 31,
+ "h": 27
}
},
{
@@ -249,16 +291,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 4,
- "y": 1,
- "w": 33,
- "h": 29
+ "x": 5,
+ "y": 2,
+ "w": 31,
+ "h": 27
},
"frame": {
"x": 0,
- "y": 136,
- "w": 33,
- "h": 29
+ "y": 174,
+ "w": 31,
+ "h": 27
}
},
{
@@ -270,16 +312,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 4,
- "y": 2,
- "w": 33,
- "h": 28
+ "x": 5,
+ "y": 3,
+ "w": 31,
+ "h": 26
},
"frame": {
"x": 0,
- "y": 165,
- "w": 33,
- "h": 28
+ "y": 201,
+ "w": 31,
+ "h": 26
}
},
{
@@ -291,16 +333,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 4,
- "y": 2,
- "w": 33,
- "h": 28
+ "x": 5,
+ "y": 3,
+ "w": 31,
+ "h": 26
},
"frame": {
"x": 0,
- "y": 193,
- "w": 33,
- "h": 28
+ "y": 227,
+ "w": 31,
+ "h": 26
}
},
{
@@ -312,20 +354,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 4,
- "y": 2,
- "w": 33,
- "h": 28
+ "x": 5,
+ "y": 3,
+ "w": 31,
+ "h": 26
},
"frame": {
"x": 0,
- "y": 221,
- "w": 33,
- "h": 28
+ "y": 253,
+ "w": 31,
+ "h": 26
}
},
{
- "filename": "382-primal_2",
+ "filename": "357_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -333,20 +375,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 2,
- "y": 7,
- "w": 38,
- "h": 23
+ "x": 4,
+ "y": 2,
+ "w": 31,
+ "h": 26
},
"frame": {
- "x": 114,
- "y": 26,
- "w": 38,
- "h": 23
+ "x": 0,
+ "y": 279,
+ "w": 31,
+ "h": 26
}
},
{
- "filename": "382-primal_3",
+ "filename": "357_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -354,16 +396,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 2,
- "y": 7,
- "w": 38,
- "h": 23
+ "x": 4,
+ "y": 2,
+ "w": 31,
+ "h": 26
},
"frame": {
- "x": 190,
- "y": 0,
- "w": 38,
- "h": 23
+ "x": 0,
+ "y": 305,
+ "w": 31,
+ "h": 26
}
},
{
@@ -375,16 +417,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 3,
- "y": 2,
- "w": 32,
- "h": 28
+ "x": 4,
+ "y": 3,
+ "w": 30,
+ "h": 26
},
"frame": {
"x": 0,
- "y": 249,
- "w": 32,
- "h": 28
+ "y": 331,
+ "w": 30,
+ "h": 26
}
},
{
@@ -396,99 +438,15 @@
"h": 30
},
"spriteSourceSize": {
- "x": 3,
- "y": 2,
- "w": 32,
- "h": 28
- },
- "frame": {
- "x": 0,
- "y": 277,
- "w": 32,
- "h": 28
- }
- },
- {
- "filename": "373_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 3,
- "y": 4,
- "w": 34,
- "h": 25
- },
- "frame": {
- "x": 0,
- "y": 305,
- "w": 34,
- "h": 25
- }
- },
- {
- "filename": "382_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 3,
- "y": 7,
- "w": 35,
- "h": 23
- },
- "frame": {
- "x": 152,
- "y": 26,
- "w": 35,
- "h": 23
- }
- },
- {
- "filename": "382_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 3,
- "y": 7,
- "w": 35,
- "h": 23
- },
- "frame": {
- "x": 228,
- "y": 0,
- "w": 35,
- "h": 23
- }
- },
- {
- "filename": "383_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 3,
+ "x": 4,
"y": 3,
- "w": 35,
+ "w": 30,
"h": 26
},
"frame": {
- "x": 263,
- "y": 0,
- "w": 35,
+ "x": 0,
+ "y": 357,
+ "w": 30,
"h": 26
}
},
@@ -501,184 +459,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 3,
- "y": 2,
- "w": 32,
- "h": 28
- },
- "frame": {
- "x": 298,
- "y": 0,
- "w": 32,
- "h": 28
- }
- },
- {
- "filename": "383_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 3,
+ "x": 4,
"y": 3,
- "w": 35,
- "h": 26
- },
- "frame": {
- "x": 114,
- "y": 49,
- "w": 35,
- "h": 26
- }
- },
- {
- "filename": "376-mega_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 4,
- "w": 34,
- "h": 26
- },
- "frame": {
- "x": 149,
- "y": 49,
- "w": 34,
- "h": 26
- }
- },
- {
- "filename": "373_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 3,
- "y": 4,
- "w": 34,
- "h": 25
- },
- "frame": {
- "x": 190,
- "y": 23,
- "w": 34,
- "h": 25
- }
- },
- {
- "filename": "376-mega_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 4,
- "w": 34,
- "h": 26
- },
- "frame": {
- "x": 224,
- "y": 23,
- "w": 34,
- "h": 26
- }
- },
- {
- "filename": "376_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 6,
- "w": 34,
- "h": 24
- },
- "frame": {
- "x": 258,
- "y": 26,
- "w": 34,
- "h": 24
- }
- },
- {
- "filename": "376_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 6,
- "w": 34,
- "h": 24
- },
- "frame": {
- "x": 292,
- "y": 28,
- "w": 34,
- "h": 24
- }
- },
- {
- "filename": "302-mega_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 0,
"w": 30,
- "h": 29
+ "h": 26
},
"frame": {
- "x": 33,
- "y": 107,
+ "x": 0,
+ "y": 383,
"w": 30,
- "h": 29
- }
- },
- {
- "filename": "302-mega_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 0,
- "w": 30,
- "h": 29
- },
- "frame": {
- "x": 33,
- "y": 136,
- "w": 30,
- "h": 29
+ "h": 26
}
},
{
@@ -690,16 +480,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 6,
- "y": 1,
- "w": 31,
- "h": 29
+ "x": 7,
+ "y": 2,
+ "w": 29,
+ "h": 27
},
"frame": {
- "x": 33,
- "y": 165,
- "w": 31,
- "h": 29
+ "x": 0,
+ "y": 409,
+ "w": 29,
+ "h": 27
}
},
{
@@ -711,16 +501,58 @@
"h": 30
},
"spriteSourceSize": {
- "x": 6,
- "y": 1,
- "w": 31,
- "h": 29
+ "x": 7,
+ "y": 2,
+ "w": 29,
+ "h": 27
},
"frame": {
- "x": 33,
- "y": 194,
- "w": 31,
- "h": 29
+ "x": 0,
+ "y": 436,
+ "w": 29,
+ "h": 27
+ }
+ },
+ {
+ "filename": "302-mega_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 1,
+ "w": 28,
+ "h": 27
+ },
+ "frame": {
+ "x": 0,
+ "y": 463,
+ "w": 28,
+ "h": 27
+ }
+ },
+ {
+ "filename": "302-mega_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 1,
+ "w": 28,
+ "h": 27
+ },
+ "frame": {
+ "x": 0,
+ "y": 490,
+ "w": 28,
+ "h": 27
}
},
{
@@ -732,16 +564,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 4,
- "y": 3,
- "w": 31,
- "h": 26
+ "x": 5,
+ "y": 4,
+ "w": 29,
+ "h": 24
},
"frame": {
- "x": 33,
- "y": 223,
- "w": 31,
- "h": 26
+ "x": 0,
+ "y": 517,
+ "w": 29,
+ "h": 24
}
},
{
@@ -753,16 +585,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 4,
- "y": 3,
- "w": 31,
- "h": 26
+ "x": 5,
+ "y": 4,
+ "w": 29,
+ "h": 24
},
"frame": {
- "x": 32,
- "y": 249,
- "w": 31,
- "h": 26
+ "x": 0,
+ "y": 541,
+ "w": 29,
+ "h": 24
}
},
{
@@ -773,21 +605,84 @@
"w": 40,
"h": 30
},
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 4,
+ "w": 29,
+ "h": 24
+ },
+ "frame": {
+ "x": 0,
+ "y": 565,
+ "w": 29,
+ "h": 24
+ }
+ },
+ {
+ "filename": "376-mega_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 5,
+ "w": 32,
+ "h": 24
+ },
+ "frame": {
+ "x": 0,
+ "y": 589,
+ "w": 32,
+ "h": 24
+ }
+ },
+ {
+ "filename": "376-mega_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 5,
+ "w": 32,
+ "h": 24
+ },
+ "frame": {
+ "x": 0,
+ "y": 613,
+ "w": 32,
+ "h": 24
+ }
+ },
+ {
+ "filename": "383_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
"spriteSourceSize": {
"x": 4,
- "y": 3,
- "w": 31,
- "h": 26
+ "y": 4,
+ "w": 33,
+ "h": 24
},
"frame": {
- "x": 32,
- "y": 275,
- "w": 31,
- "h": 26
+ "x": 0,
+ "y": 637,
+ "w": 33,
+ "h": 24
}
},
{
- "filename": "475-mega_3",
+ "filename": "383_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -795,20 +690,167 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
- "y": 1,
- "w": 27,
- "h": 28
+ "x": 4,
+ "y": 4,
+ "w": 33,
+ "h": 24
},
"frame": {
- "x": 34,
- "y": 301,
- "w": 27,
- "h": 28
+ "x": 0,
+ "y": 661,
+ "w": 33,
+ "h": 24
}
},
{
- "filename": "321_2",
+ "filename": "373_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 32,
+ "h": 23
+ },
+ "frame": {
+ "x": 0,
+ "y": 685,
+ "w": 32,
+ "h": 23
+ }
+ },
+ {
+ "filename": "373_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 5,
+ "w": 32,
+ "h": 23
+ },
+ "frame": {
+ "x": 0,
+ "y": 708,
+ "w": 32,
+ "h": 23
+ }
+ },
+ {
+ "filename": "328_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 9,
+ "w": 19,
+ "h": 19
+ },
+ "frame": {
+ "x": 109,
+ "y": 40,
+ "w": 19,
+ "h": 19
+ }
+ },
+ {
+ "filename": "382-primal_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 8,
+ "w": 36,
+ "h": 21
+ },
+ "frame": {
+ "x": 73,
+ "y": 48,
+ "w": 36,
+ "h": 21
+ }
+ },
+ {
+ "filename": "328_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 9,
+ "w": 19,
+ "h": 19
+ },
+ "frame": {
+ "x": 109,
+ "y": 59,
+ "w": 19,
+ "h": 19
+ }
+ },
+ {
+ "filename": "382_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 8,
+ "w": 33,
+ "h": 21
+ },
+ "frame": {
+ "x": 38,
+ "y": 49,
+ "w": 33,
+ "h": 21
+ }
+ },
+ {
+ "filename": "382-primal_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 8,
+ "w": 36,
+ "h": 21
+ },
+ "frame": {
+ "x": 35,
+ "y": 70,
+ "w": 36,
+ "h": 21
+ }
+ },
+ {
+ "filename": "376_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -817,271 +859,19 @@
},
"spriteSourceSize": {
"x": 5,
- "y": 4,
- "w": 32,
- "h": 25
- },
- "frame": {
- "x": 77,
- "y": 52,
- "w": 32,
- "h": 25
- }
- },
- {
- "filename": "321_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 4,
- "w": 32,
- "h": 25
- },
- "frame": {
- "x": 40,
- "y": 53,
- "w": 32,
- "h": 25
- }
- },
- {
- "filename": "282-mega_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 3,
- "w": 28,
- "h": 26
- },
- "frame": {
- "x": 37,
- "y": 78,
- "w": 28,
- "h": 26
- }
- },
- {
- "filename": "282-mega_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 3,
- "w": 28,
- "h": 26
- },
- "frame": {
- "x": 65,
- "y": 78,
- "w": 28,
- "h": 26
- }
- },
- {
- "filename": "282_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 3,
- "w": 28,
- "h": 26
- },
- "frame": {
- "x": 63,
- "y": 104,
- "w": 28,
- "h": 26
- }
- },
- {
- "filename": "282_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 3,
- "w": 28,
- "h": 26
- },
- "frame": {
- "x": 63,
- "y": 130,
- "w": 28,
- "h": 26
- }
- },
- {
- "filename": "310-mega_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 4,
- "w": 28,
- "h": 26
- },
- "frame": {
- "x": 64,
- "y": 156,
- "w": 28,
- "h": 26
- }
- },
- {
- "filename": "310-mega_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 4,
- "w": 28,
- "h": 26
- },
- "frame": {
- "x": 64,
- "y": 182,
- "w": 28,
- "h": 26
- }
- },
- {
- "filename": "330_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 29,
- "h": 25
- },
- "frame": {
- "x": 64,
- "y": 208,
- "w": 29,
- "h": 25
- }
- },
- {
- "filename": "330_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 29,
- "h": 25
- },
- "frame": {
- "x": 64,
- "y": 233,
- "w": 29,
- "h": 25
- }
- },
- {
- "filename": "334-mega_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 4,
- "w": 29,
- "h": 25
- },
- "frame": {
- "x": 63,
- "y": 258,
- "w": 29,
- "h": 25
- }
- },
- {
- "filename": "334-mega_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 4,
- "w": 29,
- "h": 25
- },
- "frame": {
- "x": 63,
- "y": 283,
- "w": 29,
- "h": 25
- }
- },
- {
- "filename": "329_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
"y": 7,
- "w": 27,
- "h": 22
+ "w": 32,
+ "h": 23
},
"frame": {
- "x": 61,
- "y": 308,
- "w": 27,
- "h": 22
+ "x": 35,
+ "y": 91,
+ "w": 32,
+ "h": 23
}
},
{
- "filename": "329_3",
+ "filename": "376_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1089,20 +879,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 8,
+ "x": 5,
"y": 7,
- "w": 27,
- "h": 22
+ "w": 32,
+ "h": 23
},
"frame": {
- "x": 88,
- "y": 308,
- "w": 27,
- "h": 22
+ "x": 35,
+ "y": 114,
+ "w": 32,
+ "h": 23
}
},
{
- "filename": "286_2",
+ "filename": "382_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1110,79 +900,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
- "y": 2,
- "w": 25,
- "h": 27
+ "x": 4,
+ "y": 8,
+ "w": 33,
+ "h": 21
},
"frame": {
- "x": 93,
- "y": 77,
- "w": 25,
- "h": 27
- }
- },
- {
- "filename": "286_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 2,
- "w": 25,
- "h": 27
- },
- "frame": {
- "x": 91,
- "y": 104,
- "w": 25,
- "h": 27
- }
- },
- {
- "filename": "381_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 4,
- "w": 30,
- "h": 24
- },
- "frame": {
- "x": 118,
- "y": 75,
- "w": 30,
- "h": 24
- }
- },
- {
- "filename": "381_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 4,
- "w": 30,
- "h": 24
- },
- "frame": {
- "x": 148,
- "y": 75,
- "w": 30,
- "h": 24
+ "x": 71,
+ "y": 69,
+ "w": 33,
+ "h": 21
}
},
{
@@ -1193,21 +920,210 @@
"w": 40,
"h": 30
},
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 5,
+ "w": 24,
+ "h": 23
+ },
+ "frame": {
+ "x": 104,
+ "y": 78,
+ "w": 24,
+ "h": 23
+ }
+ },
+ {
+ "filename": "321_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 5,
+ "w": 30,
+ "h": 23
+ },
+ "frame": {
+ "x": 35,
+ "y": 137,
+ "w": 30,
+ "h": 23
+ }
+ },
+ {
+ "filename": "321_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 5,
+ "w": 30,
+ "h": 23
+ },
+ "frame": {
+ "x": 31,
+ "y": 160,
+ "w": 30,
+ "h": 23
+ }
+ },
+ {
+ "filename": "475-mega_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 2,
+ "w": 25,
+ "h": 26
+ },
+ "frame": {
+ "x": 31,
+ "y": 183,
+ "w": 25,
+ "h": 26
+ }
+ },
+ {
+ "filename": "282-mega_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 4,
+ "w": 26,
+ "h": 24
+ },
+ "frame": {
+ "x": 31,
+ "y": 209,
+ "w": 26,
+ "h": 24
+ }
+ },
+ {
+ "filename": "282-mega_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 4,
+ "w": 26,
+ "h": 24
+ },
+ "frame": {
+ "x": 31,
+ "y": 233,
+ "w": 26,
+ "h": 24
+ }
+ },
+ {
+ "filename": "282_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
"spriteSourceSize": {
"x": 7,
"y": 4,
"w": 26,
- "h": 25
+ "h": 24
},
"frame": {
- "x": 91,
- "y": 131,
+ "x": 31,
+ "y": 257,
"w": 26,
+ "h": 24
+ }
+ },
+ {
+ "filename": "282_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 4,
+ "w": 26,
+ "h": 24
+ },
+ "frame": {
+ "x": 31,
+ "y": 281,
+ "w": 26,
+ "h": 24
+ }
+ },
+ {
+ "filename": "310-mega_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 5,
+ "w": 26,
+ "h": 24
+ },
+ "frame": {
+ "x": 31,
+ "y": 305,
+ "w": 26,
+ "h": 24
+ }
+ },
+ {
+ "filename": "286_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 3,
+ "w": 23,
+ "h": 25
+ },
+ "frame": {
+ "x": 56,
+ "y": 183,
+ "w": 23,
"h": 25
}
},
{
- "filename": "362-mega_2",
+ "filename": "286_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1215,62 +1131,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 7,
+ "x": 10,
"y": 3,
- "w": 25,
- "h": 26
+ "w": 23,
+ "h": 25
},
"frame": {
- "x": 92,
- "y": 156,
- "w": 25,
- "h": 26
- }
- },
- {
- "filename": "362-mega_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 3,
- "w": 25,
- "h": 26
- },
- "frame": {
- "x": 92,
- "y": 182,
- "w": 25,
- "h": 26
- }
- },
- {
- "filename": "475_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 2,
- "w": 24,
- "h": 27
- },
- "frame": {
- "x": 93,
+ "x": 57,
"y": 208,
- "w": 24,
- "h": 27
+ "w": 23,
+ "h": 25
}
},
{
- "filename": "279_1",
+ "filename": "310-mega_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1279,17 +1153,143 @@
},
"spriteSourceSize": {
"x": 7,
- "y": 6,
- "w": 25,
+ "y": 5,
+ "w": 26,
+ "h": 24
+ },
+ "frame": {
+ "x": 57,
+ "y": 233,
+ "w": 26,
+ "h": 24
+ }
+ },
+ {
+ "filename": "330_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 5,
+ "w": 27,
"h": 23
},
"frame": {
- "x": 93,
- "y": 235,
- "w": 25,
+ "x": 57,
+ "y": 257,
+ "w": 27,
"h": 23
}
},
+ {
+ "filename": "330_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 5,
+ "w": 27,
+ "h": 23
+ },
+ "frame": {
+ "x": 57,
+ "y": 280,
+ "w": 27,
+ "h": 23
+ }
+ },
+ {
+ "filename": "334-mega_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 5,
+ "w": 27,
+ "h": 23
+ },
+ "frame": {
+ "x": 57,
+ "y": 303,
+ "w": 27,
+ "h": 23
+ }
+ },
+ {
+ "filename": "281_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 5,
+ "w": 18,
+ "h": 23
+ },
+ "frame": {
+ "x": 61,
+ "y": 160,
+ "w": 18,
+ "h": 23
+ }
+ },
+ {
+ "filename": "281_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 5,
+ "w": 18,
+ "h": 23
+ },
+ "frame": {
+ "x": 65,
+ "y": 137,
+ "w": 18,
+ "h": 23
+ }
+ },
+ {
+ "filename": "338_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 6,
+ "w": 21,
+ "h": 22
+ },
+ "frame": {
+ "x": 83,
+ "y": 90,
+ "w": 21,
+ "h": 22
+ }
+ },
{
"filename": "342_3",
"rotated": false,
@@ -1299,20 +1299,62 @@
"h": 30
},
"spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 26,
+ "x": 8,
+ "y": 5,
+ "w": 24,
+ "h": 23
+ },
+ "frame": {
+ "x": 104,
+ "y": 101,
+ "w": 24,
+ "h": 23
+ }
+ },
+ {
+ "filename": "475_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 3,
+ "w": 22,
"h": 25
},
"frame": {
- "x": 92,
- "y": 258,
- "w": 26,
+ "x": 67,
+ "y": 112,
+ "w": 22,
"h": 25
}
},
{
- "filename": "310_2",
+ "filename": "358_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 8,
+ "w": 15,
+ "h": 21
+ },
+ "frame": {
+ "x": 89,
+ "y": 112,
+ "w": 15,
+ "h": 21
+ }
+ },
+ {
+ "filename": "340_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1321,19 +1363,19 @@
},
"spriteSourceSize": {
"x": 9,
- "y": 4,
- "w": 22,
- "h": 25
+ "y": 10,
+ "w": 24,
+ "h": 19
},
"frame": {
- "x": 92,
- "y": 283,
- "w": 22,
- "h": 25
+ "x": 104,
+ "y": 124,
+ "w": 24,
+ "h": 19
}
},
{
- "filename": "375_2",
+ "filename": "311_1",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1341,20 +1383,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 6,
- "y": 7,
- "w": 29,
- "h": 23
+ "x": 12,
+ "y": 9,
+ "w": 16,
+ "h": 19
},
"frame": {
- "x": 118,
- "y": 99,
- "w": 29,
- "h": 23
+ "x": 67,
+ "y": 91,
+ "w": 16,
+ "h": 19
}
},
{
- "filename": "375_3",
+ "filename": "338_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1362,20 +1404,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 6,
- "y": 7,
- "w": 29,
- "h": 23
+ "x": 10,
+ "y": 6,
+ "w": 21,
+ "h": 22
},
"frame": {
- "x": 147,
- "y": 99,
- "w": 29,
- "h": 23
+ "x": 83,
+ "y": 137,
+ "w": 21,
+ "h": 22
}
},
{
- "filename": "380_2",
+ "filename": "340_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1383,36 +1425,36 @@
"h": 30
},
"spriteSourceSize": {
- "x": 6,
+ "x": 9,
+ "y": 10,
+ "w": 24,
+ "h": 19
+ },
+ "frame": {
+ "x": 104,
+ "y": 143,
+ "w": 24,
+ "h": 19
+ }
+ },
+ {
+ "filename": "334-mega_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
"y": 5,
- "w": 29,
+ "w": 27,
"h": 23
},
"frame": {
- "x": 117,
- "y": 122,
- "w": 29,
- "h": 23
- }
- },
- {
- "filename": "380_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 5,
- "w": 29,
- "h": 23
- },
- "frame": {
- "x": 146,
- "y": 122,
- "w": 29,
+ "x": 57,
+ "y": 326,
+ "w": 27,
"h": 23
}
},
@@ -1425,16 +1467,142 @@
"h": 30
},
"spriteSourceSize": {
- "x": 6,
- "y": 6,
- "w": 28,
- "h": 23
+ "x": 7,
+ "y": 7,
+ "w": 26,
+ "h": 21
},
"frame": {
- "x": 117,
- "y": 145,
+ "x": 31,
+ "y": 329,
+ "w": 26,
+ "h": 21
+ }
+ },
+ {
+ "filename": "375_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 8,
+ "w": 27,
+ "h": 22
+ },
+ "frame": {
+ "x": 30,
+ "y": 350,
+ "w": 27,
+ "h": 22
+ }
+ },
+ {
+ "filename": "375_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 8,
+ "w": 27,
+ "h": 22
+ },
+ "frame": {
+ "x": 57,
+ "y": 349,
+ "w": 27,
+ "h": 22
+ }
+ },
+ {
+ "filename": "381_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 5,
"w": 28,
- "h": 23
+ "h": 22
+ },
+ "frame": {
+ "x": 30,
+ "y": 372,
+ "w": 28,
+ "h": 22
+ }
+ },
+ {
+ "filename": "381_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 5,
+ "w": 28,
+ "h": 22
+ },
+ "frame": {
+ "x": 58,
+ "y": 371,
+ "w": 28,
+ "h": 22
+ }
+ },
+ {
+ "filename": "380_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 6,
+ "w": 27,
+ "h": 21
+ },
+ "frame": {
+ "x": 30,
+ "y": 394,
+ "w": 27,
+ "h": 21
+ }
+ },
+ {
+ "filename": "380_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 6,
+ "w": 27,
+ "h": 21
+ },
+ "frame": {
+ "x": 29,
+ "y": 415,
+ "w": 27,
+ "h": 21
}
},
{
@@ -1446,16 +1614,37 @@
"h": 30
},
"spriteSourceSize": {
- "x": 6,
- "y": 6,
- "w": 28,
- "h": 23
+ "x": 7,
+ "y": 7,
+ "w": 26,
+ "h": 21
},
"frame": {
- "x": 145,
- "y": 145,
- "w": 28,
- "h": 23
+ "x": 29,
+ "y": 436,
+ "w": 26,
+ "h": 21
+ }
+ },
+ {
+ "filename": "278_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 14,
+ "w": 26,
+ "h": 14
+ },
+ "frame": {
+ "x": 29,
+ "y": 457,
+ "w": 26,
+ "h": 14
}
},
{
@@ -1467,16 +1656,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 6,
- "y": 6,
- "w": 28,
- "h": 23
+ "x": 7,
+ "y": 7,
+ "w": 26,
+ "h": 21
},
"frame": {
- "x": 117,
- "y": 168,
- "w": 28,
- "h": 23
+ "x": 28,
+ "y": 471,
+ "w": 26,
+ "h": 21
}
},
{
@@ -1488,15 +1677,57 @@
"h": 30
},
"spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 27,
+ "x": 8,
+ "y": 6,
+ "w": 25,
+ "h": 22
+ },
+ "frame": {
+ "x": 28,
+ "y": 492,
+ "w": 25,
+ "h": 22
+ }
+ },
+ {
+ "filename": "362-mega_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 4,
+ "w": 23,
"h": 24
},
"frame": {
- "x": 117,
- "y": 191,
- "w": 27,
+ "x": 29,
+ "y": 514,
+ "w": 23,
+ "h": 24
+ }
+ },
+ {
+ "filename": "362-mega_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 4,
+ "w": 23,
+ "h": 24
+ },
+ "frame": {
+ "x": 29,
+ "y": 538,
+ "w": 23,
"h": 24
}
},
@@ -1509,312 +1740,18 @@
"h": 30
},
"spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 27,
- "h": 24
- },
- "frame": {
- "x": 145,
- "y": 168,
- "w": 27,
- "h": 24
- }
- },
- {
- "filename": "279_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
+ "x": 8,
"y": 6,
"w": 25,
- "h": 23
- },
- "frame": {
- "x": 144,
- "y": 192,
- "w": 25,
- "h": 23
- }
- },
- {
- "filename": "320_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 9,
- "w": 26,
- "h": 20
- },
- "frame": {
- "x": 117,
- "y": 215,
- "w": 26,
- "h": 20
- }
- },
- {
- "filename": "335_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 5,
- "w": 25,
- "h": 24
- },
- "frame": {
- "x": 118,
- "y": 235,
- "w": 25,
- "h": 24
- }
- },
- {
- "filename": "335_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 5,
- "w": 25,
- "h": 24
- },
- "frame": {
- "x": 143,
- "y": 215,
- "w": 25,
- "h": 24
- }
- },
- {
- "filename": "279_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 6,
- "w": 25,
- "h": 23
- },
- "frame": {
- "x": 118,
- "y": 259,
- "w": 25,
- "h": 23
- }
- },
- {
- "filename": "302_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 6,
- "w": 25,
- "h": 23
- },
- "frame": {
- "x": 143,
- "y": 239,
- "w": 25,
- "h": 23
- }
- },
- {
- "filename": "291_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 7,
- "w": 25,
"h": 22
},
"frame": {
- "x": 143,
- "y": 262,
+ "x": 29,
+ "y": 562,
"w": 25,
"h": 22
}
},
- {
- "filename": "281_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 4,
- "w": 20,
- "h": 25
- },
- "frame": {
- "x": 114,
- "y": 283,
- "w": 20,
- "h": 25
- }
- },
- {
- "filename": "291_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 7,
- "w": 25,
- "h": 22
- },
- "frame": {
- "x": 115,
- "y": 308,
- "w": 25,
- "h": 22
- }
- },
- {
- "filename": "338_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 5,
- "w": 23,
- "h": 24
- },
- "frame": {
- "x": 134,
- "y": 284,
- "w": 23,
- "h": 24
- }
- },
- {
- "filename": "291_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 7,
- "w": 25,
- "h": 22
- },
- "frame": {
- "x": 140,
- "y": 308,
- "w": 25,
- "h": 22
- }
- },
- {
- "filename": "338_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 5,
- "w": 23,
- "h": 24
- },
- "frame": {
- "x": 157,
- "y": 284,
- "w": 23,
- "h": 24
- }
- },
- {
- "filename": "336_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 7,
- "w": 25,
- "h": 22
- },
- "frame": {
- "x": 165,
- "y": 308,
- "w": 25,
- "h": 22
- }
- },
- {
- "filename": "308_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 2,
- "w": 19,
- "h": 27
- },
- "frame": {
- "x": 183,
- "y": 49,
- "w": 19,
- "h": 27
- }
- },
{
"filename": "334_2",
"rotated": false,
@@ -1824,20 +1761,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
- "y": 3,
- "w": 22,
- "h": 26
+ "x": 10,
+ "y": 4,
+ "w": 20,
+ "h": 24
},
"frame": {
- "x": 202,
- "y": 48,
- "w": 22,
- "h": 26
+ "x": 32,
+ "y": 584,
+ "w": 20,
+ "h": 24
}
},
{
- "filename": "302_3",
+ "filename": "334_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1845,15 +1782,393 @@
"h": 30
},
"spriteSourceSize": {
- "x": 6,
- "y": 6,
+ "x": 10,
+ "y": 4,
+ "w": 20,
+ "h": 24
+ },
+ "frame": {
+ "x": 32,
+ "y": 608,
+ "w": 20,
+ "h": 24
+ }
+ },
+ {
+ "filename": "308_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 3,
+ "w": 17,
+ "h": 25
+ },
+ "frame": {
+ "x": 33,
+ "y": 632,
+ "w": 17,
+ "h": 25
+ }
+ },
+ {
+ "filename": "308_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 3,
+ "w": 17,
+ "h": 25
+ },
+ "frame": {
+ "x": 33,
+ "y": 657,
+ "w": 17,
+ "h": 25
+ }
+ },
+ {
+ "filename": "278_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 14,
+ "w": 26,
+ "h": 14
+ },
+ "frame": {
+ "x": 58,
+ "y": 393,
+ "w": 26,
+ "h": 14
+ }
+ },
+ {
+ "filename": "278_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 14,
+ "w": 26,
+ "h": 14
+ },
+ "frame": {
+ "x": 57,
+ "y": 407,
+ "w": 26,
+ "h": 14
+ }
+ },
+ {
+ "filename": "329_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 8,
"w": 25,
+ "h": 20
+ },
+ "frame": {
+ "x": 56,
+ "y": 421,
+ "w": 25,
+ "h": 20
+ }
+ },
+ {
+ "filename": "369_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 7,
+ "w": 25,
+ "h": 21
+ },
+ "frame": {
+ "x": 55,
+ "y": 441,
+ "w": 25,
+ "h": 21
+ }
+ },
+ {
+ "filename": "329_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 8,
+ "w": 25,
+ "h": 20
+ },
+ "frame": {
+ "x": 55,
+ "y": 462,
+ "w": 25,
+ "h": 20
+ }
+ },
+ {
+ "filename": "369_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 7,
+ "w": 25,
+ "h": 21
+ },
+ "frame": {
+ "x": 54,
+ "y": 482,
+ "w": 25,
+ "h": 21
+ }
+ },
+ {
+ "filename": "320_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 10,
+ "w": 24,
+ "h": 18
+ },
+ "frame": {
+ "x": 53,
+ "y": 503,
+ "w": 24,
+ "h": 18
+ }
+ },
+ {
+ "filename": "335_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 6,
+ "w": 23,
+ "h": 22
+ },
+ "frame": {
+ "x": 52,
+ "y": 521,
+ "w": 23,
+ "h": 22
+ }
+ },
+ {
+ "filename": "354_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 9,
+ "w": 22,
+ "h": 19
+ },
+ "frame": {
+ "x": 52,
+ "y": 543,
+ "w": 22,
+ "h": 19
+ }
+ },
+ {
+ "filename": "310_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 5,
+ "w": 20,
"h": 23
},
"frame": {
- "x": 224,
- "y": 49,
- "w": 25,
+ "x": 54,
+ "y": 562,
+ "w": 20,
+ "h": 23
+ }
+ },
+ {
+ "filename": "335_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 6,
+ "w": 23,
+ "h": 22
+ },
+ "frame": {
+ "x": 52,
+ "y": 585,
+ "w": 23,
+ "h": 22
+ }
+ },
+ {
+ "filename": "279_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 7,
+ "w": 23,
+ "h": 21
+ },
+ "frame": {
+ "x": 52,
+ "y": 607,
+ "w": 23,
+ "h": 21
+ }
+ },
+ {
+ "filename": "279_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 7,
+ "w": 23,
+ "h": 21
+ },
+ "frame": {
+ "x": 52,
+ "y": 628,
+ "w": 23,
+ "h": 21
+ }
+ },
+ {
+ "filename": "279_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 7,
+ "w": 23,
+ "h": 21
+ },
+ "frame": {
+ "x": 50,
+ "y": 649,
+ "w": 23,
+ "h": 21
+ }
+ },
+ {
+ "filename": "290_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 14,
+ "w": 23,
+ "h": 14
+ },
+ "frame": {
+ "x": 50,
+ "y": 670,
+ "w": 23,
+ "h": 14
+ }
+ },
+ {
+ "filename": "310_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 5,
+ "w": 20,
+ "h": 23
+ },
+ "frame": {
+ "x": 79,
+ "y": 160,
+ "w": 20,
"h": 23
}
},
@@ -1866,16 +2181,37 @@
"h": 30
},
"spriteSourceSize": {
- "x": 8,
- "y": 6,
- "w": 24,
- "h": 23
+ "x": 9,
+ "y": 7,
+ "w": 22,
+ "h": 21
},
"frame": {
- "x": 178,
- "y": 76,
- "w": 24,
- "h": 23
+ "x": 79,
+ "y": 183,
+ "w": 22,
+ "h": 21
+ }
+ },
+ {
+ "filename": "302_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 7,
+ "w": 23,
+ "h": 21
+ },
+ "frame": {
+ "x": 99,
+ "y": 162,
+ "w": 23,
+ "h": 21
}
},
{
@@ -1887,16 +2223,37 @@
"h": 30
},
"spriteSourceSize": {
- "x": 8,
- "y": 6,
- "w": 24,
- "h": 23
+ "x": 9,
+ "y": 7,
+ "w": 22,
+ "h": 21
},
"frame": {
- "x": 176,
- "y": 99,
- "w": 24,
- "h": 23
+ "x": 101,
+ "y": 183,
+ "w": 22,
+ "h": 21
+ }
+ },
+ {
+ "filename": "302_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 7,
+ "w": 23,
+ "h": 21
+ },
+ "frame": {
+ "x": 80,
+ "y": 204,
+ "w": 23,
+ "h": 21
}
},
{
@@ -1907,80 +2264,38 @@
"w": 40,
"h": 30
},
- "spriteSourceSize": {
- "x": 8,
- "y": 6,
- "w": 24,
- "h": 23
- },
- "frame": {
- "x": 175,
- "y": 122,
- "w": 24,
- "h": 23
- }
- },
- {
- "filename": "310_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
"spriteSourceSize": {
"x": 9,
- "y": 4,
- "w": 22,
- "h": 25
- },
- "frame": {
- "x": 202,
- "y": 74,
- "w": 22,
- "h": 25
- }
- },
- {
- "filename": "334_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 3,
- "w": 22,
- "h": 26
- },
- "frame": {
- "x": 224,
- "y": 72,
- "w": 22,
- "h": 26
- }
- },
- {
- "filename": "336_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
"y": 7,
- "w": 25,
- "h": 22
+ "w": 22,
+ "h": 21
},
"frame": {
- "x": 173,
- "y": 145,
- "w": 25,
- "h": 22
+ "x": 103,
+ "y": 204,
+ "w": 22,
+ "h": 21
+ }
+ },
+ {
+ "filename": "291_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 8,
+ "w": 23,
+ "h": 20
+ },
+ "frame": {
+ "x": 83,
+ "y": 225,
+ "w": 23,
+ "h": 20
}
},
{
@@ -1992,125 +2307,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 8,
- "y": 7,
- "w": 24,
- "h": 22
- },
- "frame": {
- "x": 200,
- "y": 99,
- "w": 24,
- "h": 22
- }
- },
- {
- "filename": "372_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 6,
- "w": 22,
- "h": 23
- },
- "frame": {
- "x": 224,
- "y": 98,
- "w": 22,
- "h": 23
- }
- },
- {
- "filename": "340_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 9,
- "w": 26,
- "h": 21
- },
- "frame": {
- "x": 249,
- "y": 50,
- "w": 26,
- "h": 21
- }
- },
- {
- "filename": "298_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
+ "x": 9,
"y": 8,
- "w": 17,
- "h": 21
- },
- "frame": {
- "x": 275,
- "y": 50,
- "w": 17,
- "h": 21
- }
- },
- {
- "filename": "320_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 9,
- "w": 26,
+ "w": 22,
"h": 20
},
"frame": {
- "x": 292,
- "y": 52,
- "w": 26,
+ "x": 106,
+ "y": 225,
+ "w": 22,
"h": 20
}
},
{
- "filename": "308_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 2,
- "w": 19,
- "h": 27
- },
- "frame": {
- "x": 246,
- "y": 72,
- "w": 19,
- "h": 27
- }
- },
- {
- "filename": "340_3",
+ "filename": "291_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2119,540 +2329,15 @@
},
"spriteSourceSize": {
"x": 8,
- "y": 9,
- "w": 26,
- "h": 21
- },
- "frame": {
- "x": 265,
- "y": 71,
- "w": 26,
- "h": 21
- }
- },
- {
- "filename": "264_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 7,
- "w": 24,
- "h": 22
- },
- "frame": {
- "x": 291,
- "y": 72,
- "w": 24,
- "h": 22
- }
- },
- {
- "filename": "351_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 7,
- "w": 15,
- "h": 22
- },
- "frame": {
- "x": 315,
- "y": 72,
- "w": 15,
- "h": 22
- }
- },
- {
- "filename": "281_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 4,
- "w": 20,
- "h": 25
- },
- "frame": {
- "x": 246,
- "y": 99,
- "w": 20,
- "h": 25
- }
- },
- {
- "filename": "305_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 10,
- "w": 25,
- "h": 19
- },
- "frame": {
- "x": 266,
- "y": 92,
- "w": 25,
- "h": 19
- }
- },
- {
- "filename": "278_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 13,
- "w": 28,
- "h": 16
- },
- "frame": {
- "x": 291,
- "y": 94,
- "w": 28,
- "h": 16
- }
- },
- {
- "filename": "278_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 13,
- "w": 28,
- "h": 16
- },
- "frame": {
- "x": 266,
- "y": 111,
- "w": 28,
- "h": 16
- }
- },
- {
- "filename": "305_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 10,
- "w": 25,
- "h": 19
- },
- "frame": {
- "x": 294,
- "y": 110,
- "w": 25,
- "h": 19
- }
- },
- {
- "filename": "278_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 13,
- "w": 28,
- "h": 16
- },
- "frame": {
- "x": 200,
- "y": 121,
- "w": 28,
- "h": 16
- }
- },
- {
- "filename": "311_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
"y": 8,
- "w": 18,
- "h": 21
- },
- "frame": {
- "x": 228,
- "y": 121,
- "w": 18,
- "h": 21
- }
- },
- {
- "filename": "351-sunny_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 7,
- "w": 20,
- "h": 22
- },
- "frame": {
- "x": 246,
- "y": 124,
- "w": 20,
- "h": 22
- }
- },
- {
- "filename": "305_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 10,
- "w": 25,
- "h": 19
- },
- "frame": {
- "x": 266,
- "y": 127,
- "w": 25,
- "h": 19
- }
- },
- {
- "filename": "263_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 11,
- "w": 24,
- "h": 18
- },
- "frame": {
- "x": 291,
- "y": 129,
- "w": 24,
- "h": 18
- }
- },
- {
- "filename": "351_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 7,
- "w": 15,
- "h": 22
- },
- "frame": {
- "x": 315,
- "y": 129,
- "w": 15,
- "h": 22
- }
- },
- {
- "filename": "290_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 13,
- "w": 25,
- "h": 16
- },
- "frame": {
- "x": 199,
- "y": 137,
- "w": 25,
- "h": 16
- }
- },
- {
- "filename": "290_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 13,
- "w": 25,
- "h": 16
- },
- "frame": {
- "x": 198,
- "y": 153,
- "w": 25,
- "h": 16
- }
- },
- {
- "filename": "292_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 8,
- "w": 22,
- "h": 21
- },
- "frame": {
- "x": 224,
- "y": 142,
- "w": 22,
- "h": 21
- }
- },
- {
- "filename": "263_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 11,
- "w": 24,
- "h": 18
- },
- "frame": {
- "x": 246,
- "y": 146,
- "w": 24,
- "h": 18
- }
- },
- {
- "filename": "328_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 8,
- "w": 21,
- "h": 21
- },
- "frame": {
- "x": 270,
- "y": 146,
- "w": 21,
- "h": 21
- }
- },
- {
- "filename": "385_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 7,
- "w": 24,
- "h": 22
- },
- "frame": {
- "x": 291,
- "y": 147,
- "w": 24,
- "h": 22
- }
- },
- {
- "filename": "339_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 13,
"w": 23,
- "h": 15
+ "h": 20
},
"frame": {
- "x": 223,
- "y": 163,
+ "x": 84,
+ "y": 245,
"w": 23,
- "h": 15
- }
- },
- {
- "filename": "385_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 7,
- "w": 24,
- "h": 22
- },
- "frame": {
- "x": 246,
- "y": 164,
- "w": 24,
- "h": 22
- }
- },
- {
- "filename": "328_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 8,
- "w": 21,
- "h": 21
- },
- "frame": {
- "x": 270,
- "y": 167,
- "w": 21,
- "h": 21
- }
- },
- {
- "filename": "385_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 7,
- "w": 24,
- "h": 22
- },
- "frame": {
- "x": 291,
- "y": 169,
- "w": 24,
- "h": 22
- }
- },
- {
- "filename": "290_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 13,
- "w": 25,
- "h": 16
- },
- "frame": {
- "x": 173,
- "y": 167,
- "w": 25,
- "h": 16
- }
- },
- {
- "filename": "339_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 13,
- "w": 23,
- "h": 15
- },
- "frame": {
- "x": 198,
- "y": 169,
- "w": 23,
- "h": 15
+ "h": 20
}
},
{
@@ -2664,16 +2349,37 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
- "y": 8,
- "w": 23,
- "h": 21
+ "x": 10,
+ "y": 9,
+ "w": 21,
+ "h": 19
},
"frame": {
- "x": 172,
- "y": 183,
+ "x": 107,
+ "y": 245,
+ "w": 21,
+ "h": 19
+ }
+ },
+ {
+ "filename": "291_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 8,
"w": 23,
- "h": 21
+ "h": 20
+ },
+ "frame": {
+ "x": 84,
+ "y": 265,
+ "w": 23,
+ "h": 20
}
},
{
@@ -2685,20 +2391,104 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
- "y": 8,
- "w": 23,
- "h": 21
+ "x": 10,
+ "y": 9,
+ "w": 21,
+ "h": 19
},
"frame": {
- "x": 195,
- "y": 184,
- "w": 23,
- "h": 21
+ "x": 107,
+ "y": 264,
+ "w": 21,
+ "h": 19
}
},
{
- "filename": "292_2",
+ "filename": "336_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 8,
+ "w": 23,
+ "h": 20
+ },
+ "frame": {
+ "x": 84,
+ "y": 285,
+ "w": 23,
+ "h": 20
+ }
+ },
+ {
+ "filename": "339_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 14,
+ "w": 21,
+ "h": 13
+ },
+ "frame": {
+ "x": 107,
+ "y": 283,
+ "w": 21,
+ "h": 13
+ }
+ },
+ {
+ "filename": "336_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 8,
+ "w": 23,
+ "h": 20
+ },
+ "frame": {
+ "x": 84,
+ "y": 305,
+ "w": 23,
+ "h": 20
+ }
+ },
+ {
+ "filename": "339_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 14,
+ "w": 21,
+ "h": 13
+ },
+ "frame": {
+ "x": 107,
+ "y": 296,
+ "w": 21,
+ "h": 13
+ }
+ },
+ {
+ "filename": "264_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2709,15 +2499,309 @@
"x": 9,
"y": 8,
"w": 22,
+ "h": 20
+ },
+ "frame": {
+ "x": 84,
+ "y": 325,
+ "w": 22,
+ "h": 20
+ }
+ },
+ {
+ "filename": "385_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 22,
+ "h": 20
+ },
+ "frame": {
+ "x": 84,
+ "y": 345,
+ "w": 22,
+ "h": 20
+ }
+ },
+ {
+ "filename": "385_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 22,
+ "h": 20
+ },
+ "frame": {
+ "x": 106,
+ "y": 325,
+ "w": 22,
+ "h": 20
+ }
+ },
+ {
+ "filename": "385_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 22,
+ "h": 20
+ },
+ "frame": {
+ "x": 106,
+ "y": 345,
+ "w": 22,
+ "h": 20
+ }
+ },
+ {
+ "filename": "333_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 11,
+ "w": 19,
+ "h": 16
+ },
+ "frame": {
+ "x": 107,
+ "y": 309,
+ "w": 19,
+ "h": 16
+ }
+ },
+ {
+ "filename": "320_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 10,
+ "w": 24,
+ "h": 18
+ },
+ "frame": {
+ "x": 86,
+ "y": 365,
+ "w": 24,
+ "h": 18
+ }
+ },
+ {
+ "filename": "351-sunny_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 8,
+ "w": 18,
+ "h": 20
+ },
+ "frame": {
+ "x": 110,
+ "y": 365,
+ "w": 18,
+ "h": 20
+ }
+ },
+ {
+ "filename": "290_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 14,
+ "w": 23,
+ "h": 14
+ },
+ "frame": {
+ "x": 86,
+ "y": 383,
+ "w": 23,
+ "h": 14
+ }
+ },
+ {
+ "filename": "374_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 10,
+ "w": 19,
+ "h": 17
+ },
+ "frame": {
+ "x": 109,
+ "y": 385,
+ "w": 19,
+ "h": 17
+ }
+ },
+ {
+ "filename": "290_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 14,
+ "w": 23,
+ "h": 14
+ },
+ "frame": {
+ "x": 84,
+ "y": 397,
+ "w": 23,
+ "h": 14
+ }
+ },
+ {
+ "filename": "305_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 11,
+ "w": 23,
+ "h": 17
+ },
+ "frame": {
+ "x": 83,
+ "y": 411,
+ "w": 23,
+ "h": 17
+ }
+ },
+ {
+ "filename": "354_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 9,
+ "w": 22,
+ "h": 19
+ },
+ "frame": {
+ "x": 106,
+ "y": 411,
+ "w": 22,
+ "h": 19
+ }
+ },
+ {
+ "filename": "305_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 11,
+ "w": 23,
+ "h": 17
+ },
+ "frame": {
+ "x": 81,
+ "y": 428,
+ "w": 23,
+ "h": 17
+ }
+ },
+ {
+ "filename": "372_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 7,
+ "w": 20,
"h": 21
},
"frame": {
- "x": 169,
- "y": 204,
- "w": 22,
+ "x": 80,
+ "y": 445,
+ "w": 20,
"h": 21
}
},
+ {
+ "filename": "263_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 12,
+ "w": 22,
+ "h": 16
+ },
+ "frame": {
+ "x": 80,
+ "y": 466,
+ "w": 22,
+ "h": 16
+ }
+ },
{
"filename": "372_3",
"rotated": false,
@@ -2727,16 +2811,58 @@
"h": 30
},
"spriteSourceSize": {
- "x": 10,
- "y": 6,
- "w": 22,
- "h": 23
+ "x": 11,
+ "y": 7,
+ "w": 20,
+ "h": 21
},
"frame": {
- "x": 168,
- "y": 225,
+ "x": 79,
+ "y": 482,
+ "w": 20,
+ "h": 21
+ }
+ },
+ {
+ "filename": "305_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 11,
+ "w": 23,
+ "h": 17
+ },
+ "frame": {
+ "x": 77,
+ "y": 503,
+ "w": 23,
+ "h": 17
+ }
+ },
+ {
+ "filename": "263_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 12,
"w": 22,
- "h": 23
+ "h": 16
+ },
+ "frame": {
+ "x": 104,
+ "y": 430,
+ "w": 22,
+ "h": 16
}
},
{
@@ -2748,20 +2874,41 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
- "y": 7,
- "w": 22,
- "h": 22
+ "x": 10,
+ "y": 8,
+ "w": 20,
+ "h": 20
},
"frame": {
- "x": 168,
- "y": 248,
- "w": 22,
- "h": 22
+ "x": 100,
+ "y": 446,
+ "w": 20,
+ "h": 20
}
},
{
- "filename": "304_1",
+ "filename": "292_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 9,
+ "w": 20,
+ "h": 19
+ },
+ "frame": {
+ "x": 102,
+ "y": 466,
+ "w": 20,
+ "h": 19
+ }
+ },
+ {
+ "filename": "374_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2770,19 +2917,19 @@
},
"spriteSourceSize": {
"x": 11,
- "y": 15,
- "w": 18,
- "h": 14
+ "y": 10,
+ "w": 19,
+ "h": 17
},
"frame": {
- "x": 168,
- "y": 270,
- "w": 18,
- "h": 14
+ "x": 99,
+ "y": 485,
+ "w": 19,
+ "h": 17
}
},
{
- "filename": "292_3",
+ "filename": "292_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2790,79 +2937,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
- "y": 8,
- "w": 22,
- "h": 21
+ "x": 10,
+ "y": 9,
+ "w": 20,
+ "h": 19
},
"frame": {
- "x": 191,
- "y": 205,
- "w": 22,
- "h": 21
- }
- },
- {
- "filename": "300_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 7,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 190,
- "y": 226,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "300_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 7,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 190,
- "y": 248,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "352_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 7,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 186,
- "y": 270,
- "w": 22,
- "h": 22
+ "x": 100,
+ "y": 502,
+ "w": 20,
+ "h": 19
}
},
{
@@ -2874,20 +2958,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 11,
- "y": 4,
- "w": 19,
- "h": 25
+ "x": 12,
+ "y": 5,
+ "w": 17,
+ "h": 23
},
"frame": {
- "x": 190,
- "y": 292,
- "w": 19,
- "h": 25
+ "x": 73,
+ "y": 649,
+ "w": 17,
+ "h": 23
}
},
{
- "filename": "307_2",
+ "filename": "285_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2895,16 +2979,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 10,
- "y": 7,
- "w": 19,
- "h": 22
+ "x": 11,
+ "y": 13,
+ "w": 18,
+ "h": 15
},
"frame": {
- "x": 208,
- "y": 270,
- "w": 19,
- "h": 22
+ "x": 73,
+ "y": 672,
+ "w": 18,
+ "h": 15
}
},
{
@@ -2916,20 +3000,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 11,
- "y": 4,
- "w": 19,
- "h": 25
+ "x": 12,
+ "y": 5,
+ "w": 17,
+ "h": 23
},
"frame": {
- "x": 209,
- "y": 292,
- "w": 19,
- "h": 25
+ "x": 74,
+ "y": 543,
+ "w": 17,
+ "h": 23
}
},
{
- "filename": "307_3",
+ "filename": "292_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2938,78 +3022,15 @@
},
"spriteSourceSize": {
"x": 10,
- "y": 7,
- "w": 19,
- "h": 22
+ "y": 9,
+ "w": 20,
+ "h": 19
},
"frame": {
- "x": 227,
- "y": 178,
- "w": 19,
- "h": 22
- }
- },
- {
- "filename": "352_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 7,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 246,
- "y": 186,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "352_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 7,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 268,
- "y": 188,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "362_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 7,
- "w": 21,
- "h": 22
- },
- "frame": {
- "x": 290,
- "y": 191,
- "w": 21,
- "h": 22
+ "x": 74,
+ "y": 566,
+ "w": 20,
+ "h": 19
}
},
{
@@ -3021,20 +3042,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 11,
- "y": 4,
- "w": 19,
- "h": 25
+ "x": 12,
+ "y": 5,
+ "w": 17,
+ "h": 23
},
"frame": {
- "x": 311,
- "y": 191,
- "w": 19,
- "h": 25
+ "x": 75,
+ "y": 585,
+ "w": 17,
+ "h": 23
}
},
{
- "filename": "298_3",
+ "filename": "300_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -3042,15 +3063,36 @@
"h": 30
},
"spriteSourceSize": {
- "x": 12,
+ "x": 10,
"y": 8,
- "w": 17,
+ "w": 20,
+ "h": 20
+ },
+ "frame": {
+ "x": 75,
+ "y": 608,
+ "w": 20,
+ "h": 20
+ }
+ },
+ {
+ "filename": "358_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 8,
+ "w": 15,
"h": 21
},
"frame": {
- "x": 213,
- "y": 205,
- "w": 17,
+ "x": 75,
+ "y": 628,
+ "w": 15,
"h": 21
}
},
@@ -3063,163 +3105,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 12,
- "y": 6,
- "w": 16,
- "h": 23
- },
- "frame": {
- "x": 230,
- "y": 200,
- "w": 16,
- "h": 23
- }
- },
- {
- "filename": "351-sunny_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
+ "x": 13,
"y": 7,
- "w": 20,
- "h": 22
+ "w": 14,
+ "h": 21
},
"frame": {
- "x": 212,
- "y": 226,
- "w": 20,
- "h": 22
- }
- },
- {
- "filename": "351-sunny_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 7,
- "w": 20,
- "h": 22
- },
- "frame": {
- "x": 212,
- "y": 248,
- "w": 20,
- "h": 22
- }
- },
- {
- "filename": "309_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 12,
- "w": 21,
- "h": 17
- },
- "frame": {
- "x": 246,
- "y": 208,
- "w": 21,
- "h": 17
- }
- },
- {
- "filename": "309_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 12,
- "w": 21,
- "h": 17
- },
- "frame": {
- "x": 267,
- "y": 210,
- "w": 21,
- "h": 17
- }
- },
- {
- "filename": "333_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 10,
- "w": 21,
- "h": 18
- },
- "frame": {
- "x": 288,
- "y": 213,
- "w": 21,
- "h": 18
- }
- },
- {
- "filename": "362_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 7,
- "w": 21,
- "h": 22
- },
- "frame": {
- "x": 309,
- "y": 216,
- "w": 21,
- "h": 22
- }
- },
- {
- "filename": "371_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 7,
- "w": 17,
- "h": 22
- },
- "frame": {
- "x": 227,
- "y": 270,
- "w": 17,
- "h": 22
+ "x": 90,
+ "y": 628,
+ "w": 14,
+ "h": 21
}
},
{
@@ -3231,288 +3126,15 @@
"h": 30
},
"spriteSourceSize": {
- "x": 12,
- "y": 6,
- "w": 16,
- "h": 23
- },
- "frame": {
- "x": 228,
- "y": 292,
- "w": 16,
- "h": 23
- }
- },
- {
- "filename": "358_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
+ "x": 13,
"y": 7,
- "w": 17,
- "h": 23
- },
- "frame": {
- "x": 232,
- "y": 225,
- "w": 17,
- "h": 23
- }
- },
- {
- "filename": "371_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 7,
- "w": 17,
- "h": 22
- },
- "frame": {
- "x": 232,
- "y": 248,
- "w": 17,
- "h": 22
- }
- },
- {
- "filename": "311_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 8,
- "w": 18,
+ "w": 14,
"h": 21
},
"frame": {
- "x": 249,
- "y": 225,
- "w": 18,
- "h": 21
- }
- },
- {
- "filename": "374_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 9,
- "w": 21,
- "h": 19
- },
- "frame": {
- "x": 267,
- "y": 227,
- "w": 21,
- "h": 19
- }
- },
- {
- "filename": "333_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 10,
- "w": 21,
- "h": 18
- },
- "frame": {
- "x": 288,
- "y": 231,
- "w": 21,
- "h": 18
- }
- },
- {
- "filename": "374_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 9,
- "w": 21,
- "h": 19
- },
- "frame": {
- "x": 309,
- "y": 238,
- "w": 21,
- "h": 19
- }
- },
- {
- "filename": "358_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 7,
- "w": 17,
- "h": 23
- },
- "frame": {
- "x": 249,
- "y": 246,
- "w": 17,
- "h": 23
- }
- },
- {
- "filename": "358_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 7,
- "w": 17,
- "h": 23
- },
- "frame": {
- "x": 266,
- "y": 246,
- "w": 17,
- "h": 23
- }
- },
- {
- "filename": "311_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 8,
- "w": 18,
- "h": 21
- },
- "frame": {
- "x": 283,
- "y": 249,
- "w": 18,
- "h": 21
- }
- },
- {
- "filename": "351-rainy_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 6,
- "w": 16,
- "h": 23
- },
- "frame": {
- "x": 244,
- "y": 270,
- "w": 16,
- "h": 23
- }
- },
- {
- "filename": "312_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 8,
- "w": 18,
- "h": 21
- },
- "frame": {
- "x": 260,
- "y": 269,
- "w": 18,
- "h": 21
- }
- },
- {
- "filename": "312_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 8,
- "w": 18,
- "h": 21
- },
- "frame": {
- "x": 244,
- "y": 293,
- "w": 18,
- "h": 21
- }
- },
- {
- "filename": "361_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 8,
- "w": 17,
- "h": 21
- },
- "frame": {
- "x": 262,
- "y": 290,
- "w": 17,
+ "x": 90,
+ "y": 649,
+ "w": 14,
"h": 21
}
},
@@ -3525,20 +3147,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 12,
- "y": 9,
- "w": 16,
- "h": 20
+ "x": 13,
+ "y": 10,
+ "w": 14,
+ "h": 18
},
"frame": {
- "x": 278,
- "y": 270,
- "w": 16,
- "h": 20
+ "x": 91,
+ "y": 670,
+ "w": 14,
+ "h": 18
}
},
{
- "filename": "361_3",
+ "filename": "351-rainy_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -3546,41 +3168,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 12,
- "y": 8,
- "w": 17,
+ "x": 13,
+ "y": 7,
+ "w": 14,
"h": 21
},
"frame": {
- "x": 279,
- "y": 290,
- "w": 17,
+ "x": 75,
+ "y": 521,
+ "w": 14,
"h": 21
}
},
{
- "filename": "280_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 9,
- "w": 16,
- "h": 20
- },
- "frame": {
- "x": 294,
- "y": 270,
- "w": 16,
- "h": 20
- }
- },
- {
- "filename": "285_2",
+ "filename": "300_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -3589,15 +3190,120 @@
},
"spriteSourceSize": {
"x": 10,
- "y": 12,
+ "y": 8,
"w": 20,
- "h": 17
+ "h": 20
},
"frame": {
- "x": 310,
- "y": 257,
+ "x": 89,
+ "y": 521,
"w": 20,
- "h": 17
+ "h": 20
+ }
+ },
+ {
+ "filename": "333_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 11,
+ "w": 19,
+ "h": 16
+ },
+ "frame": {
+ "x": 109,
+ "y": 521,
+ "w": 19,
+ "h": 16
+ }
+ },
+ {
+ "filename": "309_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 13,
+ "w": 19,
+ "h": 15
+ },
+ "frame": {
+ "x": 109,
+ "y": 537,
+ "w": 19,
+ "h": 15
+ }
+ },
+ {
+ "filename": "351-sunny_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 8,
+ "w": 18,
+ "h": 20
+ },
+ "frame": {
+ "x": 91,
+ "y": 541,
+ "w": 18,
+ "h": 20
+ }
+ },
+ {
+ "filename": "309_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 13,
+ "w": 19,
+ "h": 15
+ },
+ "frame": {
+ "x": 109,
+ "y": 552,
+ "w": 19,
+ "h": 15
+ }
+ },
+ {
+ "filename": "358_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 8,
+ "w": 15,
+ "h": 21
+ },
+ "frame": {
+ "x": 94,
+ "y": 561,
+ "w": 15,
+ "h": 21
}
},
{
@@ -3609,16 +3315,352 @@
"h": 30
},
"spriteSourceSize": {
- "x": 10,
- "y": 12,
- "w": 20,
- "h": 17
+ "x": 11,
+ "y": 13,
+ "w": 18,
+ "h": 15
},
"frame": {
- "x": 310,
- "y": 274,
+ "x": 109,
+ "y": 567,
+ "w": 18,
+ "h": 15
+ }
+ },
+ {
+ "filename": "352_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
"w": 20,
- "h": 17
+ "h": 20
+ },
+ "frame": {
+ "x": 94,
+ "y": 582,
+ "w": 20,
+ "h": 20
+ }
+ },
+ {
+ "filename": "280_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 10,
+ "w": 14,
+ "h": 18
+ },
+ "frame": {
+ "x": 114,
+ "y": 582,
+ "w": 14,
+ "h": 18
+ }
+ },
+ {
+ "filename": "352_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 20,
+ "h": 20
+ },
+ "frame": {
+ "x": 95,
+ "y": 602,
+ "w": 20,
+ "h": 20
+ }
+ },
+ {
+ "filename": "351_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 8,
+ "w": 13,
+ "h": 20
+ },
+ "frame": {
+ "x": 115,
+ "y": 600,
+ "w": 13,
+ "h": 20
+ }
+ },
+ {
+ "filename": "351_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 8,
+ "w": 13,
+ "h": 20
+ },
+ "frame": {
+ "x": 115,
+ "y": 620,
+ "w": 13,
+ "h": 20
+ }
+ },
+ {
+ "filename": "352_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 20,
+ "h": 20
+ },
+ "frame": {
+ "x": 104,
+ "y": 640,
+ "w": 20,
+ "h": 20
+ }
+ },
+ {
+ "filename": "351-sunny_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 8,
+ "w": 18,
+ "h": 20
+ },
+ "frame": {
+ "x": 105,
+ "y": 660,
+ "w": 18,
+ "h": 20
+ }
+ },
+ {
+ "filename": "307_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 8,
+ "w": 17,
+ "h": 20
+ },
+ "frame": {
+ "x": 105,
+ "y": 680,
+ "w": 17,
+ "h": 20
+ }
+ },
+ {
+ "filename": "307_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 8,
+ "w": 17,
+ "h": 20
+ },
+ "frame": {
+ "x": 33,
+ "y": 682,
+ "w": 17,
+ "h": 20
+ }
+ },
+ {
+ "filename": "311_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 9,
+ "w": 16,
+ "h": 19
+ },
+ "frame": {
+ "x": 50,
+ "y": 684,
+ "w": 16,
+ "h": 19
+ }
+ },
+ {
+ "filename": "311_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 9,
+ "w": 16,
+ "h": 19
+ },
+ "frame": {
+ "x": 32,
+ "y": 702,
+ "w": 16,
+ "h": 19
+ }
+ },
+ {
+ "filename": "371_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 8,
+ "w": 15,
+ "h": 20
+ },
+ "frame": {
+ "x": 32,
+ "y": 721,
+ "w": 15,
+ "h": 20
+ }
+ },
+ {
+ "filename": "371_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 8,
+ "w": 15,
+ "h": 20
+ },
+ "frame": {
+ "x": 47,
+ "y": 721,
+ "w": 15,
+ "h": 20
+ }
+ },
+ {
+ "filename": "304_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 16,
+ "w": 16,
+ "h": 12
+ },
+ "frame": {
+ "x": 48,
+ "y": 703,
+ "w": 16,
+ "h": 12
+ }
+ },
+ {
+ "filename": "312_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 9,
+ "w": 16,
+ "h": 19
+ },
+ "frame": {
+ "x": 66,
+ "y": 687,
+ "w": 16,
+ "h": 19
+ }
+ },
+ {
+ "filename": "312_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 9,
+ "w": 16,
+ "h": 19
+ },
+ "frame": {
+ "x": 82,
+ "y": 688,
+ "w": 16,
+ "h": 19
}
},
{
@@ -3630,16 +3672,37 @@
"h": 30
},
"spriteSourceSize": {
- "x": 11,
- "y": 15,
- "w": 18,
- "h": 14
+ "x": 12,
+ "y": 16,
+ "w": 16,
+ "h": 12
},
"frame": {
- "x": 262,
- "y": 311,
- "w": 18,
- "h": 14
+ "x": 64,
+ "y": 706,
+ "w": 16,
+ "h": 12
+ }
+ },
+ {
+ "filename": "298_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 9,
+ "w": 15,
+ "h": 19
+ },
+ "frame": {
+ "x": 62,
+ "y": 718,
+ "w": 15,
+ "h": 19
}
},
{
@@ -3651,16 +3714,121 @@
"h": 30
},
"spriteSourceSize": {
- "x": 11,
- "y": 15,
- "w": 18,
- "h": 14
+ "x": 12,
+ "y": 16,
+ "w": 16,
+ "h": 12
},
"frame": {
- "x": 244,
- "y": 314,
- "w": 18,
- "h": 14
+ "x": 80,
+ "y": 707,
+ "w": 16,
+ "h": 12
+ }
+ },
+ {
+ "filename": "298_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 9,
+ "w": 15,
+ "h": 19
+ },
+ "frame": {
+ "x": 77,
+ "y": 719,
+ "w": 15,
+ "h": 19
+ }
+ },
+ {
+ "filename": "353_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 8,
+ "w": 15,
+ "h": 19
+ },
+ "frame": {
+ "x": 92,
+ "y": 719,
+ "w": 15,
+ "h": 19
+ }
+ },
+ {
+ "filename": "353_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 8,
+ "w": 15,
+ "h": 19
+ },
+ "frame": {
+ "x": 98,
+ "y": 700,
+ "w": 15,
+ "h": 19
+ }
+ },
+ {
+ "filename": "361_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 9,
+ "w": 15,
+ "h": 19
+ },
+ "frame": {
+ "x": 113,
+ "y": 700,
+ "w": 15,
+ "h": 19
+ }
+ },
+ {
+ "filename": "361_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 9,
+ "w": 15,
+ "h": 19
+ },
+ "frame": {
+ "x": 107,
+ "y": 719,
+ "w": 15,
+ "h": 19
}
}
]
@@ -3669,6 +3837,6 @@
"meta": {
"app": "https://www.codeandweb.com/texturepacker",
"version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:d3e36aae7bec1dc92312d2377784bd6b:1394905c5ec7710776d07446e5e2c50c:039b026190bf1878996b3e03190bcdf3$"
+ "smartupdate": "$TexturePacker:SmartUpdate:08d789205e17c770aba587de5930cc48:1f40918738164700bc9f35cd79349b0a:039b026190bf1878996b3e03190bcdf3$"
}
}
diff --git a/public/images/pokemon_icons_3v.png b/public/images/pokemon_icons_3v.png
index 28fc7514d8f..ab3eeae09ae 100644
Binary files a/public/images/pokemon_icons_3v.png and b/public/images/pokemon_icons_3v.png differ
diff --git a/public/images/pokemon_icons_4.json b/public/images/pokemon_icons_4.json
index 3a93cb4a2a6..baa804fa2a0 100644
--- a/public/images/pokemon_icons_4.json
+++ b/public/images/pokemon_icons_4.json
@@ -6273,6 +6273,6 @@
"meta": {
"app": "https://www.codeandweb.com/texturepacker",
"version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:9e39a5435d1f76d9631d9b71ab5b9c94:568b2cb64a14edb2784dab148de2e1d5:3f74c54ad2b3085ce7282c3466535f4a$"
+ "smartupdate": "$TexturePacker:SmartUpdate:d81cce65ebf0d5fbab1f9b7dbc080d4a:2eeffac5a7c6cd09ee563c646d89e345:3f74c54ad2b3085ce7282c3466535f4a$"
}
}
diff --git a/public/images/pokemon_icons_4.png b/public/images/pokemon_icons_4.png
index 69f078d1f34..5dcfffb5579 100644
Binary files a/public/images/pokemon_icons_4.png and b/public/images/pokemon_icons_4.png differ
diff --git a/public/images/pokemon_icons_4v.json b/public/images/pokemon_icons_4v.json
index d3d96337921..48c1519d88a 100644
--- a/public/images/pokemon_icons_4v.json
+++ b/public/images/pokemon_icons_4v.json
@@ -4,8 +4,8 @@
"image": "pokemon_icons_4v.png",
"format": "RGBA8888",
"size": {
- "w": 300,
- "h": 300
+ "w": 124,
+ "h": 660
},
"scale": 1,
"frames": [
@@ -18,16 +18,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 5,
- "y": 0,
- "w": 33,
- "h": 30
+ "x": 6,
+ "y": 1,
+ "w": 31,
+ "h": 28
},
"frame": {
"x": 0,
"y": 0,
- "w": 33,
- "h": 30
+ "w": 31,
+ "h": 28
}
},
{
@@ -39,16 +39,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 5,
- "y": 0,
- "w": 33,
- "h": 30
+ "x": 6,
+ "y": 1,
+ "w": 31,
+ "h": 28
},
"frame": {
"x": 0,
- "y": 30,
- "w": 33,
- "h": 30
+ "y": 28,
+ "w": 31,
+ "h": 28
}
},
{
@@ -60,16 +60,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 4,
- "y": 4,
- "w": 35,
- "h": 26
+ "x": 5,
+ "y": 5,
+ "w": 33,
+ "h": 24
},
"frame": {
- "x": 33,
+ "x": 31,
"y": 0,
- "w": 35,
- "h": 26
+ "w": 33,
+ "h": 24
}
},
{
@@ -81,16 +81,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 4,
- "y": 4,
- "w": 35,
- "h": 26
+ "x": 5,
+ "y": 5,
+ "w": 33,
+ "h": 24
},
"frame": {
- "x": 33,
- "y": 26,
- "w": 35,
- "h": 26
+ "x": 31,
+ "y": 24,
+ "w": 33,
+ "h": 24
}
},
{
@@ -102,16 +102,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 6,
- "y": 4,
- "w": 32,
- "h": 26
+ "x": 7,
+ "y": 5,
+ "w": 30,
+ "h": 25
},
"frame": {
"x": 0,
- "y": 60,
- "w": 32,
- "h": 26
+ "y": 56,
+ "w": 30,
+ "h": 25
}
},
{
@@ -123,16 +123,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 6,
- "y": 4,
- "w": 32,
- "h": 26
+ "x": 7,
+ "y": 5,
+ "w": 30,
+ "h": 25
},
"frame": {
- "x": 68,
+ "x": 64,
"y": 0,
- "w": 32,
- "h": 26
+ "w": 30,
+ "h": 25
}
},
{
@@ -144,16 +144,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 6,
- "y": 4,
- "w": 32,
- "h": 26
+ "x": 7,
+ "y": 5,
+ "w": 30,
+ "h": 25
},
"frame": {
- "x": 0,
- "y": 86,
- "w": 32,
- "h": 26
+ "x": 94,
+ "y": 0,
+ "w": 30,
+ "h": 25
}
},
{
@@ -165,16 +165,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 4,
- "y": 3,
- "w": 32,
- "h": 26
+ "x": 5,
+ "y": 4,
+ "w": 30,
+ "h": 24
},
"frame": {
- "x": 68,
- "y": 26,
- "w": 32,
- "h": 26
+ "x": 0,
+ "y": 81,
+ "w": 30,
+ "h": 24
}
},
{
@@ -186,16 +186,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 4,
- "y": 3,
- "w": 32,
- "h": 26
+ "x": 5,
+ "y": 4,
+ "w": 30,
+ "h": 24
},
"frame": {
- "x": 100,
- "y": 0,
- "w": 32,
- "h": 26
+ "x": 0,
+ "y": 105,
+ "w": 30,
+ "h": 24
}
},
{
@@ -206,63 +206,21 @@
"w": 40,
"h": 30
},
- "spriteSourceSize": {
- "x": 3,
- "y": 5,
- "w": 33,
- "h": 24
- },
- "frame": {
- "x": 132,
- "y": 0,
- "w": 33,
- "h": 24
- }
- },
- {
- "filename": "472_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 3,
- "y": 5,
- "w": 33,
- "h": 24
- },
- "frame": {
- "x": 165,
- "y": 0,
- "w": 33,
- "h": 24
- }
- },
- {
- "filename": "485_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
"spriteSourceSize": {
"x": 4,
- "y": 7,
- "w": 35,
+ "y": 6,
+ "w": 31,
"h": 22
},
"frame": {
- "x": 198,
- "y": 0,
- "w": 35,
+ "x": 64,
+ "y": 25,
+ "w": 31,
"h": 22
}
},
{
- "filename": "485_3",
+ "filename": "445_1",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -270,15 +228,15 @@
"h": 30
},
"spriteSourceSize": {
- "x": 4,
- "y": 7,
- "w": 35,
+ "x": 8,
+ "y": 6,
+ "w": 29,
"h": 22
},
"frame": {
- "x": 233,
- "y": 0,
- "w": 35,
+ "x": 95,
+ "y": 25,
+ "w": 29,
"h": 22
}
},
@@ -291,16 +249,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 6,
- "y": 1,
- "w": 30,
- "h": 27
+ "x": 7,
+ "y": 2,
+ "w": 28,
+ "h": 25
},
"frame": {
"x": 0,
- "y": 112,
- "w": 30,
- "h": 27
+ "y": 129,
+ "w": 28,
+ "h": 25
}
},
{
@@ -312,20 +270,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 6,
- "y": 1,
- "w": 30,
- "h": 27
+ "x": 7,
+ "y": 2,
+ "w": 28,
+ "h": 25
},
"frame": {
"x": 0,
- "y": 139,
- "w": 30,
- "h": 27
+ "y": 154,
+ "w": 28,
+ "h": 25
}
},
{
- "filename": "445_1",
+ "filename": "389_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -333,16 +291,37 @@
"h": 30
},
"spriteSourceSize": {
- "x": 7,
+ "x": 6,
"y": 5,
- "w": 31,
- "h": 24
+ "w": 28,
+ "h": 23
},
"frame": {
- "x": 100,
- "y": 26,
- "w": 31,
- "h": 24
+ "x": 0,
+ "y": 179,
+ "w": 28,
+ "h": 23
+ }
+ },
+ {
+ "filename": "389_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 5,
+ "w": 28,
+ "h": 23
+ },
+ "frame": {
+ "x": 0,
+ "y": 202,
+ "w": 28,
+ "h": 23
}
},
{
@@ -354,16 +333,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
- "y": 1,
- "w": 27,
- "h": 28
+ "x": 10,
+ "y": 2,
+ "w": 25,
+ "h": 26
},
"frame": {
"x": 0,
- "y": 166,
- "w": 27,
- "h": 28
+ "y": 225,
+ "w": 25,
+ "h": 26
}
},
{
@@ -375,16 +354,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
- "y": 1,
- "w": 27,
- "h": 28
+ "x": 10,
+ "y": 2,
+ "w": 25,
+ "h": 26
},
"frame": {
"x": 0,
- "y": 194,
- "w": 27,
- "h": 28
+ "y": 251,
+ "w": 25,
+ "h": 26
}
},
{
@@ -396,16 +375,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 27,
- "h": 28
+ "x": 8,
+ "y": 2,
+ "w": 25,
+ "h": 26
},
"frame": {
"x": 0,
- "y": 222,
- "w": 27,
- "h": 28
+ "y": 277,
+ "w": 25,
+ "h": 26
}
},
{
@@ -417,15 +396,582 @@
"h": 30
},
"spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 27,
- "h": 28
+ "x": 8,
+ "y": 2,
+ "w": 25,
+ "h": 26
},
"frame": {
"x": 0,
- "y": 250,
+ "y": 303,
+ "w": 25,
+ "h": 26
+ }
+ },
+ {
+ "filename": "462_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 4,
+ "w": 26,
+ "h": 24
+ },
+ "frame": {
+ "x": 0,
+ "y": 329,
+ "w": 26,
+ "h": 24
+ }
+ },
+ {
+ "filename": "462_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 4,
+ "w": 26,
+ "h": 24
+ },
+ "frame": {
+ "x": 0,
+ "y": 353,
+ "w": 26,
+ "h": 24
+ }
+ },
+ {
+ "filename": "482_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 4,
+ "w": 26,
+ "h": 24
+ },
+ "frame": {
+ "x": 0,
+ "y": 377,
+ "w": 26,
+ "h": 24
+ }
+ },
+ {
+ "filename": "482_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 4,
+ "w": 26,
+ "h": 24
+ },
+ "frame": {
+ "x": 0,
+ "y": 401,
+ "w": 26,
+ "h": 24
+ }
+ },
+ {
+ "filename": "482_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 4,
+ "w": 26,
+ "h": 24
+ },
+ "frame": {
+ "x": 0,
+ "y": 425,
+ "w": 26,
+ "h": 24
+ }
+ },
+ {
+ "filename": "466_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 5,
+ "w": 26,
+ "h": 23
+ },
+ "frame": {
+ "x": 0,
+ "y": 449,
+ "w": 26,
+ "h": 23
+ }
+ },
+ {
+ "filename": "466_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 5,
+ "w": 26,
+ "h": 23
+ },
+ "frame": {
+ "x": 0,
+ "y": 472,
+ "w": 26,
+ "h": 23
+ }
+ },
+ {
+ "filename": "466_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 5,
+ "w": 26,
+ "h": 23
+ },
+ "frame": {
+ "x": 0,
+ "y": 495,
+ "w": 26,
+ "h": 23
+ }
+ },
+ {
+ "filename": "471_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 5,
"w": 27,
+ "h": 23
+ },
+ "frame": {
+ "x": 0,
+ "y": 518,
+ "w": 27,
+ "h": 23
+ }
+ },
+ {
+ "filename": "471_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 5,
+ "w": 27,
+ "h": 23
+ },
+ "frame": {
+ "x": 0,
+ "y": 541,
+ "w": 27,
+ "h": 23
+ }
+ },
+ {
+ "filename": "471_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 5,
+ "w": 27,
+ "h": 23
+ },
+ "frame": {
+ "x": 0,
+ "y": 564,
+ "w": 27,
+ "h": 23
+ }
+ },
+ {
+ "filename": "445_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 29,
+ "h": 22
+ },
+ "frame": {
+ "x": 0,
+ "y": 587,
+ "w": 29,
+ "h": 22
+ }
+ },
+ {
+ "filename": "445_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 29,
+ "h": 22
+ },
+ "frame": {
+ "x": 0,
+ "y": 609,
+ "w": 29,
+ "h": 22
+ }
+ },
+ {
+ "filename": "465_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 6,
+ "w": 29,
+ "h": 22
+ },
+ "frame": {
+ "x": 0,
+ "y": 631,
+ "w": 29,
+ "h": 22
+ }
+ },
+ {
+ "filename": "485_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 8,
+ "w": 33,
+ "h": 20
+ },
+ "frame": {
+ "x": 31,
+ "y": 48,
+ "w": 33,
+ "h": 20
+ }
+ },
+ {
+ "filename": "485_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 8,
+ "w": 33,
+ "h": 20
+ },
+ "frame": {
+ "x": 64,
+ "y": 47,
+ "w": 33,
+ "h": 20
+ }
+ },
+ {
+ "filename": "464_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 6,
+ "w": 27,
+ "h": 22
+ },
+ "frame": {
+ "x": 97,
+ "y": 47,
+ "w": 27,
+ "h": 22
+ }
+ },
+ {
+ "filename": "472_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 6,
+ "w": 31,
+ "h": 22
+ },
+ "frame": {
+ "x": 30,
+ "y": 68,
+ "w": 31,
+ "h": 22
+ }
+ },
+ {
+ "filename": "465_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 6,
+ "w": 29,
+ "h": 22
+ },
+ "frame": {
+ "x": 30,
+ "y": 90,
+ "w": 29,
+ "h": 22
+ }
+ },
+ {
+ "filename": "481_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 6,
+ "w": 29,
+ "h": 22
+ },
+ "frame": {
+ "x": 30,
+ "y": 112,
+ "w": 29,
+ "h": 22
+ }
+ },
+ {
+ "filename": "481_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 6,
+ "w": 29,
+ "h": 22
+ },
+ "frame": {
+ "x": 28,
+ "y": 134,
+ "w": 29,
+ "h": 22
+ }
+ },
+ {
+ "filename": "481_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 6,
+ "w": 29,
+ "h": 22
+ },
+ "frame": {
+ "x": 28,
+ "y": 156,
+ "w": 29,
+ "h": 22
+ }
+ },
+ {
+ "filename": "464_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 6,
+ "w": 27,
+ "h": 22
+ },
+ "frame": {
+ "x": 28,
+ "y": 178,
+ "w": 27,
+ "h": 22
+ }
+ },
+ {
+ "filename": "426_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 4,
+ "w": 24,
+ "h": 24
+ },
+ "frame": {
+ "x": 28,
+ "y": 200,
+ "w": 24,
+ "h": 24
+ }
+ },
+ {
+ "filename": "429_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 2,
+ "w": 19,
+ "h": 28
+ },
+ "frame": {
+ "x": 25,
+ "y": 225,
+ "w": 19,
+ "h": 28
+ }
+ },
+ {
+ "filename": "429_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 2,
+ "w": 19,
+ "h": 28
+ },
+ "frame": {
+ "x": 25,
+ "y": 253,
+ "w": 19,
+ "h": 28
+ }
+ },
+ {
+ "filename": "429_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 2,
+ "w": 19,
+ "h": 28
+ },
+ "frame": {
+ "x": 25,
+ "y": 281,
+ "w": 19,
"h": 28
}
},
@@ -438,457 +984,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
- "y": 6,
- "w": 27,
- "h": 22
+ "x": 10,
+ "y": 7,
+ "w": 25,
+ "h": 20
},
"frame": {
- "x": 0,
- "y": 278,
- "w": 27,
- "h": 22
- }
- },
- {
- "filename": "445_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 31,
- "h": 24
- },
- "frame": {
- "x": 268,
- "y": 0,
- "w": 31,
- "h": 24
- }
- },
- {
- "filename": "445_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 31,
- "h": 24
- },
- "frame": {
- "x": 33,
- "y": 52,
- "w": 31,
- "h": 24
- }
- },
- {
- "filename": "465_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 31,
- "h": 24
- },
- "frame": {
- "x": 64,
- "y": 52,
- "w": 31,
- "h": 24
- }
- },
- {
- "filename": "465_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 31,
- "h": 24
- },
- "frame": {
- "x": 32,
- "y": 76,
- "w": 31,
- "h": 24
- }
- },
- {
- "filename": "481_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 5,
- "w": 31,
- "h": 24
- },
- "frame": {
- "x": 63,
- "y": 76,
- "w": 31,
- "h": 24
- }
- },
- {
- "filename": "481_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 5,
- "w": 31,
- "h": 24
- },
- "frame": {
- "x": 32,
- "y": 100,
- "w": 31,
- "h": 24
- }
- },
- {
- "filename": "481_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 5,
- "w": 31,
- "h": 24
- },
- "frame": {
- "x": 63,
- "y": 100,
- "w": 31,
- "h": 24
- }
- },
- {
- "filename": "462_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 3,
- "w": 28,
- "h": 26
- },
- "frame": {
- "x": 30,
- "y": 124,
- "w": 28,
- "h": 26
- }
- },
- {
- "filename": "462_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 3,
- "w": 28,
- "h": 26
- },
- "frame": {
- "x": 58,
- "y": 124,
- "w": 28,
- "h": 26
- }
- },
- {
- "filename": "468_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 6,
- "w": 30,
- "h": 21
- },
- "frame": {
- "x": 30,
- "y": 150,
- "w": 30,
- "h": 21
- }
- },
- {
- "filename": "471_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 4,
- "w": 29,
- "h": 25
- },
- "frame": {
- "x": 27,
- "y": 171,
- "w": 29,
- "h": 25
- }
- },
- {
- "filename": "471_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 4,
- "w": 29,
- "h": 25
- },
- "frame": {
- "x": 27,
- "y": 196,
- "w": 29,
- "h": 25
- }
- },
- {
- "filename": "471_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 4,
- "w": 29,
- "h": 25
- },
- "frame": {
- "x": 27,
- "y": 221,
- "w": 29,
- "h": 25
- }
- },
- {
- "filename": "482_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 3,
- "w": 28,
- "h": 26
- },
- "frame": {
- "x": 27,
- "y": 246,
- "w": 28,
- "h": 26
- }
- },
- {
- "filename": "482_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 3,
- "w": 28,
- "h": 26
- },
- "frame": {
- "x": 27,
- "y": 272,
- "w": 28,
- "h": 26
- }
- },
- {
- "filename": "413-sandy_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 26,
- "h": 25
- },
- "frame": {
- "x": 60,
- "y": 150,
- "w": 26,
- "h": 25
- }
- },
- {
- "filename": "482_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 3,
- "w": 28,
- "h": 26
- },
- "frame": {
- "x": 56,
- "y": 175,
- "w": 28,
- "h": 26
- }
- },
- {
- "filename": "466_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 4,
- "w": 28,
- "h": 25
- },
- "frame": {
- "x": 56,
- "y": 201,
- "w": 28,
- "h": 25
- }
- },
- {
- "filename": "428_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 28,
- "h": 24
- },
- "frame": {
- "x": 56,
- "y": 226,
- "w": 28,
- "h": 24
- }
- },
- {
- "filename": "464_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 5,
- "w": 29,
- "h": 24
- },
- "frame": {
- "x": 55,
- "y": 250,
- "w": 29,
- "h": 24
- }
- },
- {
- "filename": "426_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 3,
- "w": 26,
- "h": 26
- },
- "frame": {
- "x": 55,
- "y": 274,
- "w": 26,
- "h": 26
+ "x": 25,
+ "y": 309,
+ "w": 25,
+ "h": 20
}
},
{
@@ -900,20 +1005,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 7,
- "y": 3,
- "w": 26,
- "h": 26
+ "x": 8,
+ "y": 4,
+ "w": 24,
+ "h": 24
},
"frame": {
- "x": 81,
- "y": 274,
- "w": 26,
- "h": 26
+ "x": 26,
+ "y": 329,
+ "w": 24,
+ "h": 24
}
},
{
- "filename": "429_1",
+ "filename": "413-sandy_1",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -922,36 +1027,15 @@
},
"spriteSourceSize": {
"x": 9,
- "y": 1,
- "w": 21,
- "h": 29
- },
- "frame": {
- "x": 86,
- "y": 124,
- "w": 21,
- "h": 29
- }
- },
- {
- "filename": "400_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
"y": 5,
"w": 24,
- "h": 24
+ "h": 23
},
"frame": {
- "x": 86,
- "y": 153,
+ "x": 26,
+ "y": 353,
"w": 24,
- "h": 24
+ "h": 23
}
},
{
@@ -963,16 +1047,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 26,
- "h": 25
+ "x": 9,
+ "y": 5,
+ "w": 24,
+ "h": 23
},
"frame": {
- "x": 84,
- "y": 177,
- "w": 26,
- "h": 25
+ "x": 26,
+ "y": 376,
+ "w": 24,
+ "h": 23
}
},
{
@@ -983,269 +1067,17 @@
"w": 40,
"h": 30
},
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 26,
- "h": 25
- },
- "frame": {
- "x": 84,
- "y": 202,
- "w": 26,
- "h": 25
- }
- },
- {
- "filename": "466_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 4,
- "w": 28,
- "h": 25
- },
- "frame": {
- "x": 84,
- "y": 227,
- "w": 28,
- "h": 25
- }
- },
- {
- "filename": "414_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
"spriteSourceSize": {
"x": 9,
- "y": 6,
- "w": 27,
- "h": 22
- },
- "frame": {
- "x": 84,
- "y": 252,
- "w": 27,
- "h": 22
- }
- },
- {
- "filename": "448-mega_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 3,
- "w": 21,
- "h": 26
- },
- "frame": {
- "x": 107,
- "y": 274,
- "w": 21,
- "h": 26
- }
- },
- {
- "filename": "422-east_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 7,
- "w": 21,
- "h": 22
- },
- "frame": {
- "x": 111,
- "y": 252,
- "w": 21,
- "h": 22
- }
- },
- {
- "filename": "448-mega_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 3,
- "w": 21,
- "h": 26
- },
- "frame": {
- "x": 128,
- "y": 274,
- "w": 21,
- "h": 26
- }
- },
- {
- "filename": "468_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 6,
- "w": 30,
- "h": 21
- },
- "frame": {
- "x": 198,
- "y": 22,
- "w": 30,
- "h": 21
- }
- },
- {
- "filename": "468_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 6,
- "w": 30,
- "h": 21
- },
- "frame": {
- "x": 228,
- "y": 22,
- "w": 30,
- "h": 21
- }
- },
- {
- "filename": "464_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
"y": 5,
- "w": 29,
- "h": 24
+ "w": 24,
+ "h": 23
},
"frame": {
- "x": 258,
- "y": 24,
- "w": 29,
- "h": 24
- }
- },
- {
- "filename": "428_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 28,
- "h": 24
- },
- "frame": {
- "x": 100,
- "y": 50,
- "w": 28,
- "h": 24
- }
- },
- {
- "filename": "429_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 1,
- "w": 21,
- "h": 29
- },
- "frame": {
- "x": 94,
- "y": 76,
- "w": 21,
- "h": 29
- }
- },
- {
- "filename": "458_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 9,
- "w": 22,
- "h": 19
- },
- "frame": {
- "x": 94,
- "y": 105,
- "w": 22,
- "h": 19
- }
- },
- {
- "filename": "429_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 1,
- "w": 21,
- "h": 29
- },
- "frame": {
- "x": 107,
- "y": 124,
- "w": 21,
- "h": 29
+ "x": 26,
+ "y": 399,
+ "w": 24,
+ "h": 23
}
},
{
@@ -1257,16 +1089,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
- "y": 2,
- "w": 24,
- "h": 27
+ "x": 10,
+ "y": 3,
+ "w": 22,
+ "h": 25
},
"frame": {
- "x": 110,
- "y": 153,
- "w": 24,
- "h": 27
+ "x": 26,
+ "y": 422,
+ "w": 22,
+ "h": 25
}
},
{
@@ -1277,205 +1109,16 @@
"w": 40,
"h": 30
},
- "spriteSourceSize": {
- "x": 9,
- "y": 2,
- "w": 24,
- "h": 27
- },
- "frame": {
- "x": 110,
- "y": 180,
- "w": 24,
- "h": 27
- }
- },
- {
- "filename": "489_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
"spriteSourceSize": {
"x": 10,
- "y": 10,
- "w": 25,
- "h": 19
- },
- "frame": {
- "x": 110,
- "y": 207,
- "w": 25,
- "h": 19
- }
- },
- {
- "filename": "448-mega_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
"y": 3,
- "w": 21,
- "h": 26
- },
- "frame": {
- "x": 112,
- "y": 226,
- "w": 21,
- "h": 26
- }
- },
- {
- "filename": "422-east_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 7,
- "w": 21,
- "h": 22
- },
- "frame": {
- "x": 132,
- "y": 252,
- "w": 21,
- "h": 22
- }
- },
- {
- "filename": "412-sandy_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 4,
- "w": 17,
- "h": 25
- },
- "frame": {
- "x": 115,
- "y": 74,
- "w": 17,
- "h": 25
- }
- },
- {
- "filename": "412-sandy_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 4,
- "w": 17,
- "h": 25
- },
- "frame": {
- "x": 116,
- "y": 99,
- "w": 17,
- "h": 25
- }
- },
- {
- "filename": "400_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 5,
- "w": 24,
- "h": 24
- },
- "frame": {
- "x": 128,
- "y": 50,
- "w": 24,
- "h": 24
- }
- },
- {
- "filename": "407_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 5,
"w": 22,
- "h": 24
+ "h": 25
},
"frame": {
- "x": 131,
- "y": 26,
+ "x": 26,
+ "y": 447,
"w": 22,
- "h": 24
- }
- },
- {
- "filename": "466_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 4,
- "w": 28,
- "h": 25
- },
- "frame": {
- "x": 153,
- "y": 24,
- "w": 28,
- "h": 25
- }
- },
- {
- "filename": "412-sandy_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 4,
- "w": 17,
- "h": 25
- },
- "frame": {
- "x": 181,
- "y": 24,
- "w": 17,
"h": 25
}
},
@@ -1488,16 +1131,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 24,
- "h": 25
+ "x": 9,
+ "y": 5,
+ "w": 22,
+ "h": 23
},
"frame": {
- "x": 132,
- "y": 74,
- "w": 24,
- "h": 25
+ "x": 26,
+ "y": 472,
+ "w": 22,
+ "h": 23
}
},
{
@@ -1509,20 +1152,62 @@
"h": 30
},
"spriteSourceSize": {
- "x": 8,
+ "x": 9,
+ "y": 5,
+ "w": 22,
+ "h": 23
+ },
+ "frame": {
+ "x": 26,
+ "y": 495,
+ "w": 22,
+ "h": 23
+ }
+ },
+ {
+ "filename": "402_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
"y": 4,
- "w": 24,
- "h": 25
+ "w": 20,
+ "h": 24
},
"frame": {
- "x": 133,
- "y": 99,
- "w": 24,
- "h": 25
+ "x": 27,
+ "y": 518,
+ "w": 20,
+ "h": 24
}
},
{
- "filename": "480_1",
+ "filename": "402_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 4,
+ "w": 20,
+ "h": 24
+ },
+ "frame": {
+ "x": 27,
+ "y": 542,
+ "w": 20,
+ "h": 24
+ }
+ },
+ {
+ "filename": "388_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1531,36 +1216,15 @@
},
"spriteSourceSize": {
"x": 9,
- "y": 5,
- "w": 28,
- "h": 24
+ "y": 7,
+ "w": 22,
+ "h": 21
},
"frame": {
- "x": 128,
- "y": 124,
- "w": 28,
- "h": 24
- }
- },
- {
- "filename": "480_1_GENERATED",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 5,
- "w": 28,
- "h": 24
- },
- "frame": {
- "x": 128,
- "y": 124,
- "w": 28,
- "h": 24
+ "x": 27,
+ "y": 566,
+ "w": 22,
+ "h": 21
}
},
{
@@ -1572,16 +1236,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 24,
- "h": 25
+ "x": 9,
+ "y": 5,
+ "w": 22,
+ "h": 23
},
"frame": {
- "x": 134,
- "y": 148,
- "w": 24,
- "h": 25
+ "x": 29,
+ "y": 587,
+ "w": 22,
+ "h": 23
}
},
{
@@ -1593,16 +1257,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
- "y": 4,
- "w": 25,
- "h": 25
+ "x": 10,
+ "y": 5,
+ "w": 23,
+ "h": 23
},
"frame": {
- "x": 134,
- "y": 173,
- "w": 25,
- "h": 25
+ "x": 29,
+ "y": 610,
+ "w": 23,
+ "h": 23
}
},
{
@@ -1614,16 +1278,268 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
- "y": 4,
- "w": 25,
- "h": 25
+ "x": 10,
+ "y": 5,
+ "w": 23,
+ "h": 23
},
"frame": {
- "x": 135,
- "y": 198,
- "w": 25,
- "h": 25
+ "x": 29,
+ "y": 633,
+ "w": 23,
+ "h": 23
+ }
+ },
+ {
+ "filename": "448-mega_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 4,
+ "w": 19,
+ "h": 24
+ },
+ "frame": {
+ "x": 44,
+ "y": 224,
+ "w": 19,
+ "h": 24
+ }
+ },
+ {
+ "filename": "448-mega_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 4,
+ "w": 19,
+ "h": 24
+ },
+ "frame": {
+ "x": 44,
+ "y": 248,
+ "w": 19,
+ "h": 24
+ }
+ },
+ {
+ "filename": "448-mega_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 4,
+ "w": 19,
+ "h": 24
+ },
+ "frame": {
+ "x": 44,
+ "y": 272,
+ "w": 19,
+ "h": 24
+ }
+ },
+ {
+ "filename": "468_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 7,
+ "w": 28,
+ "h": 19
+ },
+ "frame": {
+ "x": 64,
+ "y": 67,
+ "w": 28,
+ "h": 19
+ }
+ },
+ {
+ "filename": "468_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 7,
+ "w": 28,
+ "h": 19
+ },
+ "frame": {
+ "x": 92,
+ "y": 69,
+ "w": 28,
+ "h": 19
+ }
+ },
+ {
+ "filename": "468_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 7,
+ "w": 28,
+ "h": 19
+ },
+ "frame": {
+ "x": 61,
+ "y": 86,
+ "w": 28,
+ "h": 19
+ }
+ },
+ {
+ "filename": "428_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 26,
+ "h": 22
+ },
+ "frame": {
+ "x": 59,
+ "y": 105,
+ "w": 26,
+ "h": 22
+ }
+ },
+ {
+ "filename": "437_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 6,
+ "w": 27,
+ "h": 21
+ },
+ "frame": {
+ "x": 89,
+ "y": 88,
+ "w": 27,
+ "h": 21
+ }
+ },
+ {
+ "filename": "437_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 6,
+ "w": 27,
+ "h": 21
+ },
+ "frame": {
+ "x": 85,
+ "y": 109,
+ "w": 27,
+ "h": 21
+ }
+ },
+ {
+ "filename": "406_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 10,
+ "w": 12,
+ "h": 18
+ },
+ "frame": {
+ "x": 112,
+ "y": 109,
+ "w": 12,
+ "h": 18
+ }
+ },
+ {
+ "filename": "428_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 26,
+ "h": 22
+ },
+ "frame": {
+ "x": 59,
+ "y": 127,
+ "w": 26,
+ "h": 22
+ }
+ },
+ {
+ "filename": "480_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 6,
+ "w": 26,
+ "h": 22
+ },
+ "frame": {
+ "x": 57,
+ "y": 149,
+ "w": 26,
+ "h": 22
}
},
{
@@ -1635,16 +1551,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
- "y": 5,
- "w": 28,
- "h": 24
+ "x": 10,
+ "y": 6,
+ "w": 26,
+ "h": 22
},
"frame": {
- "x": 198,
- "y": 43,
- "w": 28,
- "h": 24
+ "x": 85,
+ "y": 130,
+ "w": 26,
+ "h": 22
}
},
{
@@ -1656,16 +1572,79 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
- "y": 5,
- "w": 28,
- "h": 24
+ "x": 10,
+ "y": 6,
+ "w": 26,
+ "h": 22
},
"frame": {
- "x": 226,
- "y": 43,
- "w": 28,
- "h": 24
+ "x": 83,
+ "y": 152,
+ "w": 26,
+ "h": 22
+ }
+ },
+ {
+ "filename": "412-sandy_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 5,
+ "w": 15,
+ "h": 23
+ },
+ "frame": {
+ "x": 109,
+ "y": 152,
+ "w": 15,
+ "h": 23
+ }
+ },
+ {
+ "filename": "406_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 10,
+ "w": 12,
+ "h": 18
+ },
+ "frame": {
+ "x": 112,
+ "y": 127,
+ "w": 12,
+ "h": 18
+ }
+ },
+ {
+ "filename": "414_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 7,
+ "w": 25,
+ "h": 20
+ },
+ "frame": {
+ "x": 57,
+ "y": 171,
+ "w": 25,
+ "h": 20
}
},
{
@@ -1677,20 +1656,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 27,
- "h": 24
+ "x": 8,
+ "y": 6,
+ "w": 25,
+ "h": 22
},
"frame": {
- "x": 254,
- "y": 48,
- "w": 27,
- "h": 24
+ "x": 82,
+ "y": 174,
+ "w": 25,
+ "h": 22
}
},
{
- "filename": "412-plant_1",
+ "filename": "401_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1700,100 +1679,16 @@
"spriteSourceSize": {
"x": 11,
"y": 5,
- "w": 19,
- "h": 24
- },
- "frame": {
- "x": 281,
- "y": 48,
- "w": 19,
- "h": 24
- }
- },
- {
- "filename": "407_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 5,
- "w": 22,
- "h": 24
- },
- "frame": {
- "x": 152,
- "y": 50,
- "w": 22,
- "h": 24
- }
- },
- {
- "filename": "490_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 7,
- "w": 24,
+ "w": 17,
"h": 22
},
"frame": {
- "x": 174,
- "y": 49,
- "w": 24,
+ "x": 107,
+ "y": 175,
+ "w": 17,
"h": 22
}
},
- {
- "filename": "412-trash_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 4,
- "w": 18,
- "h": 25
- },
- "frame": {
- "x": 156,
- "y": 74,
- "w": 18,
- "h": 25
- }
- },
- {
- "filename": "413-trash_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 4,
- "w": 25,
- "h": 25
- },
- "frame": {
- "x": 174,
- "y": 71,
- "w": 25,
- "h": 25
- }
- },
{
"filename": "470_2",
"rotated": false,
@@ -1803,16 +1698,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 27,
- "h": 24
+ "x": 8,
+ "y": 6,
+ "w": 25,
+ "h": 22
},
"frame": {
- "x": 199,
- "y": 67,
- "w": 27,
- "h": 24
+ "x": 55,
+ "y": 191,
+ "w": 25,
+ "h": 22
}
},
{
@@ -1823,437 +1718,17 @@
"w": 40,
"h": 30
},
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 27,
- "h": 24
- },
- "frame": {
- "x": 226,
- "y": 67,
- "w": 27,
- "h": 24
- }
- },
- {
- "filename": "423-east_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 25,
- "h": 24
- },
- "frame": {
- "x": 253,
- "y": 72,
- "w": 25,
- "h": 24
- }
- },
- {
- "filename": "458_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 9,
- "w": 22,
- "h": 19
- },
- "frame": {
- "x": 278,
- "y": 72,
- "w": 22,
- "h": 19
- }
- },
- {
- "filename": "399_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 11,
- "w": 22,
- "h": 18
- },
- "frame": {
- "x": 278,
- "y": 91,
- "w": 22,
- "h": 18
- }
- },
- {
- "filename": "412-trash_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 4,
- "w": 18,
- "h": 25
- },
- "frame": {
- "x": 157,
- "y": 99,
- "w": 18,
- "h": 25
- }
- },
- {
- "filename": "412-plant_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 19,
- "h": 24
- },
- "frame": {
- "x": 156,
- "y": 124,
- "w": 19,
- "h": 24
- }
- },
- {
- "filename": "423-east_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 25,
- "h": 24
- },
- "frame": {
- "x": 175,
- "y": 96,
- "w": 25,
- "h": 24
- }
- },
- {
- "filename": "423-east_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 25,
- "h": 24
- },
- "frame": {
- "x": 175,
- "y": 120,
- "w": 25,
- "h": 24
- }
- },
- {
- "filename": "423-west_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 25,
- "h": 24
- },
- "frame": {
- "x": 200,
- "y": 91,
- "w": 25,
- "h": 24
- }
- },
- {
- "filename": "423-west_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 25,
- "h": 24
- },
- "frame": {
- "x": 225,
- "y": 91,
- "w": 25,
- "h": 24
- }
- },
- {
- "filename": "423-west_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 25,
- "h": 24
- },
- "frame": {
- "x": 200,
- "y": 115,
- "w": 25,
- "h": 24
- }
- },
- {
- "filename": "444_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 6,
- "w": 25,
- "h": 23
- },
- "frame": {
- "x": 225,
- "y": 115,
- "w": 25,
- "h": 23
- }
- },
- {
- "filename": "444_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 6,
- "w": 25,
- "h": 23
- },
- "frame": {
- "x": 250,
- "y": 96,
- "w": 25,
- "h": 23
- }
- },
- {
- "filename": "444_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 6,
- "w": 25,
- "h": 23
- },
- "frame": {
- "x": 275,
- "y": 109,
- "w": 25,
- "h": 23
- }
- },
- {
- "filename": "433_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 8,
- "w": 25,
- "h": 21
- },
- "frame": {
- "x": 250,
- "y": 119,
- "w": 25,
- "h": 21
- }
- },
- {
- "filename": "433_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 8,
- "w": 25,
- "h": 21
- },
- "frame": {
- "x": 275,
- "y": 132,
- "w": 25,
- "h": 21
- }
- },
- {
- "filename": "412-trash_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 4,
- "w": 18,
- "h": 25
- },
- "frame": {
- "x": 158,
- "y": 148,
- "w": 18,
- "h": 25
- }
- },
- {
- "filename": "454_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
"spriteSourceSize": {
"x": 8,
- "y": 5,
- "w": 23,
- "h": 24
+ "y": 6,
+ "w": 25,
+ "h": 22
},
"frame": {
- "x": 176,
- "y": 144,
- "w": 23,
- "h": 24
- }
- },
- {
- "filename": "412-plant_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 19,
- "h": 24
- },
- "frame": {
- "x": 159,
- "y": 173,
- "w": 19,
- "h": 24
- }
- },
- {
- "filename": "427_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 20,
- "h": 24
- },
- "frame": {
- "x": 160,
- "y": 197,
- "w": 20,
- "h": 24
- }
- },
- {
- "filename": "454_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 5,
- "w": 23,
- "h": 24
- },
- "frame": {
- "x": 178,
- "y": 168,
- "w": 23,
- "h": 24
+ "x": 80,
+ "y": 196,
+ "w": 25,
+ "h": 22
}
},
{
@@ -2265,20 +1740,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
- "y": 5,
- "w": 21,
- "h": 24
+ "x": 10,
+ "y": 6,
+ "w": 19,
+ "h": 22
},
"frame": {
- "x": 180,
- "y": 192,
- "w": 21,
- "h": 24
+ "x": 105,
+ "y": 197,
+ "w": 19,
+ "h": 22
}
},
{
- "filename": "433_3",
+ "filename": "401_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2287,19 +1762,19 @@
},
"spriteSourceSize": {
"x": 11,
- "y": 8,
- "w": 25,
- "h": 21
+ "y": 5,
+ "w": 17,
+ "h": 22
},
"frame": {
- "x": 200,
- "y": 139,
- "w": 25,
- "h": 21
+ "x": 63,
+ "y": 213,
+ "w": 17,
+ "h": 22
}
},
{
- "filename": "489_2",
+ "filename": "413-trash_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2308,19 +1783,19 @@
},
"spriteSourceSize": {
"x": 10,
- "y": 10,
- "w": 25,
- "h": 19
+ "y": 5,
+ "w": 23,
+ "h": 23
},
"frame": {
- "x": 225,
- "y": 138,
- "w": 25,
- "h": 19
+ "x": 63,
+ "y": 235,
+ "w": 23,
+ "h": 23
}
},
{
- "filename": "489_3",
+ "filename": "489_1",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2328,16 +1803,121 @@
"h": 30
},
"spriteSourceSize": {
- "x": 10,
- "y": 10,
- "w": 25,
- "h": 19
+ "x": 11,
+ "y": 11,
+ "w": 23,
+ "h": 17
},
"frame": {
- "x": 250,
- "y": 140,
- "w": 25,
- "h": 19
+ "x": 80,
+ "y": 218,
+ "w": 23,
+ "h": 17
+ }
+ },
+ {
+ "filename": "454_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 6,
+ "w": 21,
+ "h": 22
+ },
+ "frame": {
+ "x": 103,
+ "y": 219,
+ "w": 21,
+ "h": 22
+ }
+ },
+ {
+ "filename": "412-plant_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 6,
+ "w": 17,
+ "h": 22
+ },
+ "frame": {
+ "x": 86,
+ "y": 235,
+ "w": 17,
+ "h": 22
+ }
+ },
+ {
+ "filename": "454_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 6,
+ "w": 21,
+ "h": 22
+ },
+ "frame": {
+ "x": 103,
+ "y": 241,
+ "w": 21,
+ "h": 22
+ }
+ },
+ {
+ "filename": "423-east_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 23,
+ "h": 22
+ },
+ "frame": {
+ "x": 63,
+ "y": 258,
+ "w": 23,
+ "h": 22
+ }
+ },
+ {
+ "filename": "412-plant_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 6,
+ "w": 17,
+ "h": 22
+ },
+ "frame": {
+ "x": 86,
+ "y": 257,
+ "w": 17,
+ "h": 22
}
},
{
@@ -2349,16 +1929,58 @@
"h": 30
},
"spriteSourceSize": {
- "x": 8,
- "y": 5,
- "w": 23,
- "h": 24
+ "x": 9,
+ "y": 6,
+ "w": 21,
+ "h": 22
},
"frame": {
- "x": 201,
- "y": 160,
+ "x": 103,
+ "y": 263,
+ "w": 21,
+ "h": 22
+ }
+ },
+ {
+ "filename": "423-east_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
"w": 23,
- "h": 24
+ "h": 22
+ },
+ "frame": {
+ "x": 63,
+ "y": 280,
+ "w": 23,
+ "h": 22
+ }
+ },
+ {
+ "filename": "412-plant_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 6,
+ "w": 17,
+ "h": 22
+ },
+ "frame": {
+ "x": 86,
+ "y": 279,
+ "w": 17,
+ "h": 22
}
},
{
@@ -2370,16 +1992,331 @@
"h": 30
},
"spriteSourceSize": {
- "x": 8,
- "y": 5,
- "w": 23,
- "h": 24
+ "x": 9,
+ "y": 6,
+ "w": 21,
+ "h": 22
},
"frame": {
- "x": 201,
- "y": 184,
+ "x": 103,
+ "y": 285,
+ "w": 21,
+ "h": 22
+ }
+ },
+ {
+ "filename": "412-sandy_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 5,
+ "w": 15,
+ "h": 23
+ },
+ "frame": {
+ "x": 48,
+ "y": 422,
+ "w": 15,
+ "h": 23
+ }
+ },
+ {
+ "filename": "412-sandy_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 5,
+ "w": 15,
+ "h": 23
+ },
+ "frame": {
+ "x": 48,
+ "y": 445,
+ "w": 15,
+ "h": 23
+ }
+ },
+ {
+ "filename": "412-trash_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 5,
+ "w": 16,
+ "h": 23
+ },
+ "frame": {
+ "x": 48,
+ "y": 468,
+ "w": 16,
+ "h": 23
+ }
+ },
+ {
+ "filename": "412-trash_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 5,
+ "w": 16,
+ "h": 23
+ },
+ "frame": {
+ "x": 48,
+ "y": 491,
+ "w": 16,
+ "h": 23
+ }
+ },
+ {
+ "filename": "423-east_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
"w": 23,
- "h": 24
+ "h": 22
+ },
+ "frame": {
+ "x": 50,
+ "y": 302,
+ "w": 23,
+ "h": 22
+ }
+ },
+ {
+ "filename": "423-west_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 23,
+ "h": 22
+ },
+ "frame": {
+ "x": 50,
+ "y": 324,
+ "w": 23,
+ "h": 22
+ }
+ },
+ {
+ "filename": "423-west_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 23,
+ "h": 22
+ },
+ "frame": {
+ "x": 50,
+ "y": 346,
+ "w": 23,
+ "h": 22
+ }
+ },
+ {
+ "filename": "423-west_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 23,
+ "h": 22
+ },
+ "frame": {
+ "x": 50,
+ "y": 368,
+ "w": 23,
+ "h": 22
+ }
+ },
+ {
+ "filename": "400_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 6,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 50,
+ "y": 390,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "412-trash_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 5,
+ "w": 16,
+ "h": 23
+ },
+ "frame": {
+ "x": 73,
+ "y": 302,
+ "w": 16,
+ "h": 23
+ }
+ },
+ {
+ "filename": "387_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 6,
+ "w": 18,
+ "h": 22
+ },
+ "frame": {
+ "x": 73,
+ "y": 325,
+ "w": 18,
+ "h": 22
+ }
+ },
+ {
+ "filename": "387_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 6,
+ "w": 18,
+ "h": 22
+ },
+ "frame": {
+ "x": 73,
+ "y": 347,
+ "w": 18,
+ "h": 22
+ }
+ },
+ {
+ "filename": "388_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 7,
+ "w": 22,
+ "h": 21
+ },
+ "frame": {
+ "x": 73,
+ "y": 369,
+ "w": 22,
+ "h": 21
+ }
+ },
+ {
+ "filename": "400_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 6,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 72,
+ "y": 390,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "440_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 9,
+ "w": 14,
+ "h": 19
+ },
+ "frame": {
+ "x": 89,
+ "y": 301,
+ "w": 14,
+ "h": 19
}
},
{
@@ -2390,19 +2327,586 @@
"w": 40,
"h": 30
},
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 8,
+ "w": 21,
+ "h": 20
+ },
+ "frame": {
+ "x": 103,
+ "y": 307,
+ "w": 21,
+ "h": 20
+ }
+ },
+ {
+ "filename": "444_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
"spriteSourceSize": {
"x": 8,
"y": 7,
"w": 23,
+ "h": 21
+ },
+ "frame": {
+ "x": 63,
+ "y": 412,
+ "w": 23,
+ "h": 21
+ }
+ },
+ {
+ "filename": "444_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 7,
+ "w": 23,
+ "h": 21
+ },
+ "frame": {
+ "x": 63,
+ "y": 433,
+ "w": 23,
+ "h": 21
+ }
+ },
+ {
+ "filename": "444_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 7,
+ "w": 23,
+ "h": 21
+ },
+ "frame": {
+ "x": 91,
+ "y": 327,
+ "w": 23,
+ "h": 21
+ }
+ },
+ {
+ "filename": "433_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 9,
+ "w": 23,
+ "h": 19
+ },
+ "frame": {
+ "x": 91,
+ "y": 348,
+ "w": 23,
+ "h": 19
+ }
+ },
+ {
+ "filename": "407_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 6,
+ "w": 20,
"h": 22
},
"frame": {
- "x": 201,
- "y": 208,
- "w": 23,
+ "x": 95,
+ "y": 367,
+ "w": 20,
"h": 22
}
},
+ {
+ "filename": "407_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 6,
+ "w": 20,
+ "h": 22
+ },
+ "frame": {
+ "x": 86,
+ "y": 412,
+ "w": 20,
+ "h": 22
+ }
+ },
+ {
+ "filename": "442_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 8,
+ "w": 21,
+ "h": 20
+ },
+ "frame": {
+ "x": 86,
+ "y": 434,
+ "w": 21,
+ "h": 20
+ }
+ },
+ {
+ "filename": "425_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 7,
+ "w": 15,
+ "h": 22
+ },
+ "frame": {
+ "x": 94,
+ "y": 390,
+ "w": 15,
+ "h": 22
+ }
+ },
+ {
+ "filename": "425_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 7,
+ "w": 15,
+ "h": 22
+ },
+ "frame": {
+ "x": 109,
+ "y": 389,
+ "w": 15,
+ "h": 22
+ }
+ },
+ {
+ "filename": "427_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 6,
+ "w": 18,
+ "h": 22
+ },
+ "frame": {
+ "x": 106,
+ "y": 412,
+ "w": 18,
+ "h": 22
+ }
+ },
+ {
+ "filename": "422-west_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 8,
+ "w": 17,
+ "h": 20
+ },
+ "frame": {
+ "x": 107,
+ "y": 434,
+ "w": 17,
+ "h": 20
+ }
+ },
+ {
+ "filename": "433_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 9,
+ "w": 23,
+ "h": 19
+ },
+ "frame": {
+ "x": 64,
+ "y": 454,
+ "w": 23,
+ "h": 19
+ }
+ },
+ {
+ "filename": "433_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 9,
+ "w": 23,
+ "h": 19
+ },
+ "frame": {
+ "x": 64,
+ "y": 473,
+ "w": 23,
+ "h": 19
+ }
+ },
+ {
+ "filename": "490_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 8,
+ "w": 22,
+ "h": 20
+ },
+ "frame": {
+ "x": 87,
+ "y": 454,
+ "w": 22,
+ "h": 20
+ }
+ },
+ {
+ "filename": "490_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 8,
+ "w": 22,
+ "h": 20
+ },
+ "frame": {
+ "x": 64,
+ "y": 492,
+ "w": 22,
+ "h": 20
+ }
+ },
+ {
+ "filename": "490_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 8,
+ "w": 22,
+ "h": 20
+ },
+ "frame": {
+ "x": 87,
+ "y": 474,
+ "w": 22,
+ "h": 20
+ }
+ },
+ {
+ "filename": "489_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 11,
+ "w": 23,
+ "h": 17
+ },
+ "frame": {
+ "x": 86,
+ "y": 494,
+ "w": 23,
+ "h": 17
+ }
+ },
+ {
+ "filename": "440_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 9,
+ "w": 14,
+ "h": 19
+ },
+ "frame": {
+ "x": 109,
+ "y": 454,
+ "w": 14,
+ "h": 19
+ }
+ },
+ {
+ "filename": "440_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 9,
+ "w": 14,
+ "h": 19
+ },
+ "frame": {
+ "x": 109,
+ "y": 473,
+ "w": 14,
+ "h": 19
+ }
+ },
+ {
+ "filename": "436_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 12,
+ "w": 13,
+ "h": 16
+ },
+ "frame": {
+ "x": 109,
+ "y": 492,
+ "w": 13,
+ "h": 16
+ }
+ },
+ {
+ "filename": "489_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 11,
+ "w": 23,
+ "h": 17
+ },
+ "frame": {
+ "x": 64,
+ "y": 512,
+ "w": 23,
+ "h": 17
+ }
+ },
+ {
+ "filename": "422-east_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 8,
+ "w": 19,
+ "h": 20
+ },
+ "frame": {
+ "x": 87,
+ "y": 511,
+ "w": 19,
+ "h": 20
+ }
+ },
+ {
+ "filename": "427_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 6,
+ "w": 18,
+ "h": 22
+ },
+ "frame": {
+ "x": 106,
+ "y": 511,
+ "w": 18,
+ "h": 22
+ }
+ },
+ {
+ "filename": "448_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 7,
+ "w": 16,
+ "h": 21
+ },
+ "frame": {
+ "x": 48,
+ "y": 514,
+ "w": 16,
+ "h": 21
+ }
+ },
+ {
+ "filename": "461_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 6,
+ "w": 19,
+ "h": 22
+ },
+ "frame": {
+ "x": 47,
+ "y": 535,
+ "w": 19,
+ "h": 22
+ }
+ },
+ {
+ "filename": "494_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 6,
+ "w": 18,
+ "h": 22
+ },
+ "frame": {
+ "x": 66,
+ "y": 529,
+ "w": 18,
+ "h": 22
+ }
+ },
+ {
+ "filename": "422-east_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 8,
+ "w": 19,
+ "h": 20
+ },
+ "frame": {
+ "x": 84,
+ "y": 531,
+ "w": 19,
+ "h": 20
+ }
+ },
{
"filename": "422-east_3",
"rotated": false,
@@ -2412,15 +2916,36 @@
"h": 30
},
"spriteSourceSize": {
- "x": 10,
- "y": 7,
- "w": 21,
+ "x": 11,
+ "y": 8,
+ "w": 19,
+ "h": 20
+ },
+ "frame": {
+ "x": 103,
+ "y": 533,
+ "w": 19,
+ "h": 20
+ }
+ },
+ {
+ "filename": "494_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 6,
+ "w": 18,
"h": 22
},
"frame": {
- "x": 133,
- "y": 230,
- "w": 21,
+ "x": 49,
+ "y": 557,
+ "w": 18,
"h": 22
}
},
@@ -2432,332 +2957,17 @@
"w": 40,
"h": 30
},
- "spriteSourceSize": {
- "x": 10,
- "y": 8,
- "w": 21,
- "h": 21
- },
- "frame": {
- "x": 180,
- "y": 216,
- "w": 21,
- "h": 21
- }
- },
- {
- "filename": "427_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 20,
- "h": 24
- },
- "frame": {
- "x": 160,
- "y": 221,
- "w": 20,
- "h": 24
- }
- },
- {
- "filename": "442_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 7,
- "w": 23,
- "h": 22
- },
- "frame": {
- "x": 201,
- "y": 230,
- "w": 23,
- "h": 22
- }
- },
- {
- "filename": "443_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 8,
- "w": 21,
- "h": 21
- },
- "frame": {
- "x": 180,
- "y": 237,
- "w": 21,
- "h": 21
- }
- },
- {
- "filename": "490_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 7,
- "w": 24,
- "h": 22
- },
- "frame": {
- "x": 275,
- "y": 153,
- "w": 24,
- "h": 22
- }
- },
- {
- "filename": "490_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 7,
- "w": 24,
- "h": 22
- },
- "frame": {
- "x": 201,
- "y": 252,
- "w": 24,
- "h": 22
- }
- },
- {
- "filename": "425_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 6,
- "w": 17,
- "h": 24
- },
- "frame": {
- "x": 149,
- "y": 274,
- "w": 17,
- "h": 24
- }
- },
- {
- "filename": "422-west_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 7,
- "w": 19,
- "h": 22
- },
- "frame": {
- "x": 153,
- "y": 252,
- "w": 19,
- "h": 22
- }
- },
- {
- "filename": "399_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 11,
- "w": 22,
- "h": 18
- },
- "frame": {
- "x": 172,
- "y": 258,
- "w": 22,
- "h": 18
- }
- },
- {
- "filename": "461_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 5,
- "w": 21,
- "h": 24
- },
- "frame": {
- "x": 166,
- "y": 276,
- "w": 21,
- "h": 24
- }
- },
- {
- "filename": "494_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 5,
- "w": 20,
- "h": 24
- },
- "frame": {
- "x": 187,
- "y": 276,
- "w": 20,
- "h": 24
- }
- },
- {
- "filename": "478_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 18,
- "h": 24
- },
- "frame": {
- "x": 207,
- "y": 274,
- "w": 18,
- "h": 24
- }
- },
- {
- "filename": "425_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 6,
- "w": 17,
- "h": 24
- },
- "frame": {
- "x": 224,
- "y": 160,
- "w": 17,
- "h": 24
- }
- },
- {
- "filename": "478_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 18,
- "h": 24
- },
- "frame": {
- "x": 224,
- "y": 184,
- "w": 18,
- "h": 24
- }
- },
- {
- "filename": "494_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 5,
- "w": 20,
- "h": 24
- },
- "frame": {
- "x": 224,
- "y": 208,
- "w": 20,
- "h": 24
- }
- },
- {
- "filename": "447_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
"spriteSourceSize": {
"x": 11,
"y": 9,
- "w": 20,
- "h": 20
+ "w": 19,
+ "h": 19
},
"frame": {
- "x": 224,
- "y": 232,
- "w": 20,
- "h": 20
+ "x": 67,
+ "y": 551,
+ "w": 19,
+ "h": 19
}
},
{
@@ -2769,20 +2979,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 11,
- "y": 7,
- "w": 19,
- "h": 22
+ "x": 12,
+ "y": 8,
+ "w": 17,
+ "h": 20
},
"frame": {
- "x": 225,
- "y": 252,
- "w": 19,
- "h": 22
+ "x": 86,
+ "y": 551,
+ "w": 17,
+ "h": 20
}
},
{
- "filename": "422-west_3",
+ "filename": "443_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2791,14 +3001,35 @@
},
"spriteSourceSize": {
"x": 11,
- "y": 7,
+ "y": 9,
"w": 19,
+ "h": 19
+ },
+ "frame": {
+ "x": 103,
+ "y": 553,
+ "w": 19,
+ "h": 19
+ }
+ },
+ {
+ "filename": "478_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 6,
+ "w": 16,
"h": 22
},
"frame": {
- "x": 225,
- "y": 274,
- "w": 19,
+ "x": 51,
+ "y": 579,
+ "w": 16,
"h": 22
}
},
@@ -2811,20 +3042,41 @@
"h": 30
},
"spriteSourceSize": {
- "x": 10,
+ "x": 11,
+ "y": 9,
+ "w": 19,
+ "h": 19
+ },
+ "frame": {
+ "x": 67,
+ "y": 570,
+ "w": 19,
+ "h": 19
+ }
+ },
+ {
+ "filename": "422-west_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
"y": 8,
- "w": 21,
- "h": 21
+ "w": 17,
+ "h": 20
},
"frame": {
- "x": 241,
- "y": 159,
- "w": 21,
- "h": 21
+ "x": 86,
+ "y": 571,
+ "w": 17,
+ "h": 20
}
},
{
- "filename": "448_1",
+ "filename": "447_1",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2832,58 +3084,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 11,
- "y": 6,
+ "x": 12,
+ "y": 10,
"w": 18,
- "h": 23
+ "h": 18
},
"frame": {
- "x": 242,
- "y": 180,
+ "x": 103,
+ "y": 572,
"w": 18,
- "h": 23
- }
- },
- {
- "filename": "448_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 6,
- "w": 18,
- "h": 23
- },
- "frame": {
- "x": 244,
- "y": 203,
- "w": 18,
- "h": 23
- }
- },
- {
- "filename": "448_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 6,
- "w": 18,
- "h": 23
- },
- "frame": {
- "x": 244,
- "y": 226,
- "w": 18,
- "h": 23
+ "h": 18
}
},
{
@@ -2895,16 +3105,37 @@
"h": 30
},
"spriteSourceSize": {
- "x": 11,
- "y": 9,
- "w": 20,
- "h": 20
+ "x": 12,
+ "y": 10,
+ "w": 18,
+ "h": 18
},
"frame": {
- "x": 244,
- "y": 249,
+ "x": 67,
+ "y": 589,
+ "w": 18,
+ "h": 18
+ }
+ },
+ {
+ "filename": "399_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 12,
"w": 20,
- "h": 20
+ "h": 16
+ },
+ "frame": {
+ "x": 85,
+ "y": 591,
+ "w": 20,
+ "h": 16
}
},
{
@@ -2916,20 +3147,125 @@
"h": 30
},
"spriteSourceSize": {
- "x": 11,
- "y": 9,
+ "x": 12,
+ "y": 10,
+ "w": 18,
+ "h": 18
+ },
+ "frame": {
+ "x": 105,
+ "y": 590,
+ "w": 18,
+ "h": 18
+ }
+ },
+ {
+ "filename": "436_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 12,
+ "w": 13,
+ "h": 16
+ },
+ "frame": {
+ "x": 52,
+ "y": 601,
+ "w": 13,
+ "h": 16
+ }
+ },
+ {
+ "filename": "478_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 6,
+ "w": 16,
+ "h": 22
+ },
+ "frame": {
+ "x": 52,
+ "y": 617,
+ "w": 16,
+ "h": 22
+ }
+ },
+ {
+ "filename": "448_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 7,
+ "w": 16,
+ "h": 21
+ },
+ "frame": {
+ "x": 52,
+ "y": 639,
+ "w": 16,
+ "h": 21
+ }
+ },
+ {
+ "filename": "448_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 7,
+ "w": 16,
+ "h": 21
+ },
+ "frame": {
+ "x": 68,
+ "y": 607,
+ "w": 16,
+ "h": 21
+ }
+ },
+ {
+ "filename": "458_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 10,
"w": 20,
- "h": 20
+ "h": 17
},
"frame": {
- "x": 244,
- "y": 269,
+ "x": 84,
+ "y": 607,
"w": 20,
- "h": 20
+ "h": 17
}
},
{
- "filename": "440_1",
+ "filename": "458_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2937,58 +3273,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 12,
- "y": 8,
- "w": 16,
- "h": 21
+ "x": 10,
+ "y": 10,
+ "w": 20,
+ "h": 17
},
"frame": {
- "x": 260,
- "y": 180,
- "w": 16,
- "h": 21
- }
- },
- {
- "filename": "440_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 8,
- "w": 16,
- "h": 21
- },
- "frame": {
- "x": 262,
- "y": 201,
- "w": 16,
- "h": 21
- }
- },
- {
- "filename": "440_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 8,
- "w": 16,
- "h": 21
- },
- "frame": {
- "x": 262,
- "y": 222,
- "w": 16,
- "h": 21
+ "x": 104,
+ "y": 608,
+ "w": 20,
+ "h": 17
}
},
{
@@ -3000,16 +3294,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 11,
- "y": 10,
- "w": 19,
- "h": 19
+ "x": 12,
+ "y": 11,
+ "w": 17,
+ "h": 17
},
"frame": {
- "x": 276,
- "y": 175,
- "w": 19,
- "h": 19
+ "x": 68,
+ "y": 628,
+ "w": 17,
+ "h": 17
}
},
{
@@ -3021,16 +3315,37 @@
"h": 30
},
"spriteSourceSize": {
- "x": 11,
- "y": 10,
- "w": 19,
- "h": 19
+ "x": 12,
+ "y": 11,
+ "w": 17,
+ "h": 17
},
"frame": {
- "x": 278,
- "y": 194,
- "w": 19,
- "h": 19
+ "x": 85,
+ "y": 624,
+ "w": 17,
+ "h": 17
+ }
+ },
+ {
+ "filename": "399_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 12,
+ "w": 20,
+ "h": 16
+ },
+ "frame": {
+ "x": 102,
+ "y": 625,
+ "w": 20,
+ "h": 16
}
},
{
@@ -3042,16 +3357,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 11,
- "y": 11,
- "w": 20,
- "h": 18
+ "x": 12,
+ "y": 12,
+ "w": 18,
+ "h": 16
},
"frame": {
- "x": 278,
- "y": 213,
- "w": 20,
- "h": 18
+ "x": 85,
+ "y": 641,
+ "w": 18,
+ "h": 16
}
},
{
@@ -3063,58 +3378,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 11,
- "y": 11,
- "w": 20,
- "h": 18
+ "x": 12,
+ "y": 12,
+ "w": 18,
+ "h": 16
},
"frame": {
- "x": 278,
- "y": 231,
- "w": 20,
- "h": 18
- }
- },
- {
- "filename": "406_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 9,
- "w": 14,
- "h": 20
- },
- "frame": {
- "x": 264,
- "y": 243,
- "w": 14,
- "h": 20
- }
- },
- {
- "filename": "406_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 9,
- "w": 14,
- "h": 20
- },
- "frame": {
- "x": 264,
- "y": 263,
- "w": 14,
- "h": 20
+ "x": 103,
+ "y": 641,
+ "w": 18,
+ "h": 16
}
}
]
@@ -3123,6 +3396,6 @@
"meta": {
"app": "https://www.codeandweb.com/texturepacker",
"version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:05005aa7b6bf053615396c1f4d1aae48:0079d048126ed842adcc150dd5f99611:ebc3f8ec5b2480b298192d752b6e57dc$"
+ "smartupdate": "$TexturePacker:SmartUpdate:8d567785b198c5a2f6892242773436c5:1a0706846c40b2345d9ac32977f8c2e5:ebc3f8ec5b2480b298192d752b6e57dc$"
}
}
diff --git a/public/images/pokemon_icons_4v.png b/public/images/pokemon_icons_4v.png
index ff36f11d2a5..eaf8d009ca8 100644
Binary files a/public/images/pokemon_icons_4v.png and b/public/images/pokemon_icons_4v.png differ
diff --git a/public/images/pokemon_icons_5v.json b/public/images/pokemon_icons_5v.json
index 078e2a7d0d9..7f5356e7e2a 100644
--- a/public/images/pokemon_icons_5v.json
+++ b/public/images/pokemon_icons_5v.json
@@ -4,8 +4,8 @@
"image": "pokemon_icons_5v.png",
"format": "RGBA8888",
"size": {
- "w": 304,
- "h": 304
+ "w": 127,
+ "h": 668
},
"scale": 1,
"frames": [
@@ -18,16 +18,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 3,
+ "x": 4,
"y": 0,
- "w": 34,
- "h": 30
+ "w": 32,
+ "h": 29
},
"frame": {
"x": 0,
"y": 0,
- "w": 34,
- "h": 30
+ "w": 32,
+ "h": 29
}
},
{
@@ -39,16 +39,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 3,
+ "x": 4,
"y": 0,
- "w": 34,
- "h": 30
+ "w": 32,
+ "h": 29
},
"frame": {
"x": 0,
- "y": 30,
- "w": 34,
- "h": 30
+ "y": 29,
+ "w": 32,
+ "h": 29
}
},
{
@@ -60,16 +60,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 3,
- "y": 0,
- "w": 33,
- "h": 29
+ "x": 4,
+ "y": 1,
+ "w": 31,
+ "h": 27
},
"frame": {
- "x": 34,
+ "x": 32,
"y": 0,
- "w": 33,
- "h": 29
+ "w": 31,
+ "h": 27
}
},
{
@@ -81,16 +81,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 3,
- "y": 2,
- "w": 34,
- "h": 28
+ "x": 4,
+ "y": 3,
+ "w": 32,
+ "h": 26
},
"frame": {
"x": 0,
- "y": 60,
- "w": 34,
- "h": 28
+ "y": 58,
+ "w": 32,
+ "h": 26
}
},
{
@@ -102,16 +102,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 4,
- "y": 0,
- "w": 32,
- "h": 29
+ "x": 5,
+ "y": 1,
+ "w": 30,
+ "h": 27
},
"frame": {
- "x": 34,
- "y": 29,
- "w": 32,
- "h": 29
+ "x": 32,
+ "y": 27,
+ "w": 30,
+ "h": 27
}
},
{
@@ -122,38 +122,17 @@
"w": 40,
"h": 30
},
- "spriteSourceSize": {
- "x": 3,
- "y": 1,
- "w": 33,
- "h": 28
- },
- "frame": {
- "x": 67,
- "y": 0,
- "w": 33,
- "h": 28
- }
- },
- {
- "filename": "641-incarnate_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
"spriteSourceSize": {
"x": 4,
- "y": 1,
- "w": 32,
- "h": 28
+ "y": 2,
+ "w": 31,
+ "h": 26
},
"frame": {
- "x": 0,
- "y": 88,
- "w": 32,
- "h": 28
+ "x": 63,
+ "y": 0,
+ "w": 31,
+ "h": 26
}
},
{
@@ -165,16 +144,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 3,
- "y": 4,
- "w": 33,
- "h": 26
+ "x": 4,
+ "y": 5,
+ "w": 31,
+ "h": 25
},
"frame": {
- "x": 100,
- "y": 0,
- "w": 33,
- "h": 26
+ "x": 0,
+ "y": 84,
+ "w": 31,
+ "h": 25
}
},
{
@@ -186,15 +165,36 @@
"h": 30
},
"spriteSourceSize": {
- "x": 3,
- "y": 4,
- "w": 33,
+ "x": 4,
+ "y": 5,
+ "w": 31,
+ "h": 25
+ },
+ "frame": {
+ "x": 94,
+ "y": 0,
+ "w": 31,
+ "h": 25
+ }
+ },
+ {
+ "filename": "641-incarnate_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 2,
+ "w": 30,
"h": 26
},
"frame": {
- "x": 133,
- "y": 0,
- "w": 33,
+ "x": 32,
+ "y": 54,
+ "w": 30,
"h": 26
}
},
@@ -207,16 +207,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 4,
- "y": 2,
- "w": 32,
- "h": 27
+ "x": 5,
+ "y": 3,
+ "w": 30,
+ "h": 25
},
"frame": {
- "x": 34,
- "y": 58,
- "w": 32,
- "h": 27
+ "x": 0,
+ "y": 109,
+ "w": 30,
+ "h": 25
}
},
{
@@ -227,59 +227,17 @@
"w": 40,
"h": 30
},
- "spriteSourceSize": {
- "x": 4,
- "y": 2,
- "w": 32,
- "h": 27
- },
- "frame": {
- "x": 0,
- "y": 116,
- "w": 32,
- "h": 27
- }
- },
- {
- "filename": "635_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
"spriteSourceSize": {
"x": 5,
- "y": 2,
- "w": 31,
- "h": 27
+ "y": 3,
+ "w": 30,
+ "h": 25
},
"frame": {
"x": 0,
- "y": 143,
- "w": 31,
- "h": 27
- }
- },
- {
- "filename": "635_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 2,
- "w": 31,
- "h": 27
- },
- "frame": {
- "x": 0,
- "y": 170,
- "w": 31,
- "h": 27
+ "y": 134,
+ "w": 30,
+ "h": 25
}
},
{
@@ -290,147 +248,21 @@
"w": 40,
"h": 30
},
- "spriteSourceSize": {
- "x": 6,
- "y": 0,
- "w": 29,
- "h": 29
- },
- "frame": {
- "x": 0,
- "y": 197,
- "w": 29,
- "h": 29
- }
- },
- {
- "filename": "569_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 5,
- "w": 32,
- "h": 24
- },
- "frame": {
- "x": 166,
- "y": 0,
- "w": 32,
- "h": 24
- }
- },
- {
- "filename": "569_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 5,
- "w": 32,
- "h": 24
- },
- "frame": {
- "x": 198,
- "y": 0,
- "w": 32,
- "h": 24
- }
- },
- {
- "filename": "604_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 6,
- "w": 32,
- "h": 24
- },
- "frame": {
- "x": 230,
- "y": 0,
- "w": 32,
- "h": 24
- }
- },
- {
- "filename": "604_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 6,
- "w": 32,
- "h": 24
- },
- "frame": {
- "x": 262,
- "y": 0,
- "w": 32,
- "h": 24
- }
- },
- {
- "filename": "533_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
"spriteSourceSize": {
"x": 7,
- "y": 3,
- "w": 29,
- "h": 26
+ "y": 0,
+ "w": 27,
+ "h": 28
},
"frame": {
"x": 0,
- "y": 226,
- "w": 29,
- "h": 26
+ "y": 159,
+ "w": 27,
+ "h": 28
}
},
{
- "filename": "533_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 3,
- "w": 29,
- "h": 26
- },
- "frame": {
- "x": 0,
- "y": 252,
- "w": 29,
- "h": 26
- }
- },
- {
- "filename": "612_2",
+ "filename": "635_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -440,18 +272,18 @@
"spriteSourceSize": {
"x": 6,
"y": 3,
- "w": 28,
- "h": 26
+ "w": 29,
+ "h": 25
},
"frame": {
"x": 0,
- "y": 278,
- "w": 28,
- "h": 26
+ "y": 187,
+ "w": 29,
+ "h": 25
}
},
{
- "filename": "612_3",
+ "filename": "635_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -461,35 +293,14 @@
"spriteSourceSize": {
"x": 6,
"y": 3,
- "w": 28,
- "h": 26
+ "w": 29,
+ "h": 25
},
"frame": {
- "x": 28,
- "y": 278,
- "w": 28,
- "h": 26
- }
- },
- {
- "filename": "579_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 6,
- "w": 32,
- "h": 23
- },
- "frame": {
- "x": 34,
- "y": 85,
- "w": 32,
- "h": 23
+ "x": 0,
+ "y": 212,
+ "w": 29,
+ "h": 25
}
},
{
@@ -501,37 +312,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 5,
- "y": 4,
- "w": 31,
- "h": 25
- },
- "frame": {
- "x": 32,
- "y": 108,
- "w": 31,
- "h": 25
- }
- },
- {
- "filename": "530_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
+ "x": 6,
"y": 5,
- "w": 31,
- "h": 24
+ "w": 29,
+ "h": 23
},
"frame": {
- "x": 32,
- "y": 133,
- "w": 31,
- "h": 24
+ "x": 0,
+ "y": 237,
+ "w": 29,
+ "h": 23
}
},
{
@@ -543,16 +333,37 @@
"h": 30
},
"spriteSourceSize": {
- "x": 5,
- "y": 4,
- "w": 31,
- "h": 25
+ "x": 6,
+ "y": 5,
+ "w": 29,
+ "h": 23
},
"frame": {
- "x": 31,
- "y": 157,
- "w": 31,
- "h": 25
+ "x": 0,
+ "y": 260,
+ "w": 29,
+ "h": 23
+ }
+ },
+ {
+ "filename": "530_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 6,
+ "w": 29,
+ "h": 22
+ },
+ "frame": {
+ "x": 0,
+ "y": 283,
+ "w": 29,
+ "h": 22
}
},
{
@@ -564,83 +375,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 31,
- "h": 24
+ "x": 6,
+ "y": 6,
+ "w": 29,
+ "h": 22
},
"frame": {
- "x": 31,
- "y": 182,
- "w": 31,
- "h": 24
+ "x": 0,
+ "y": 305,
+ "w": 29,
+ "h": 22
}
},
{
- "filename": "647-resolute_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 5,
- "w": 32,
- "h": 24
- },
- "frame": {
- "x": 29,
- "y": 206,
- "w": 32,
- "h": 24
- }
- },
- {
- "filename": "647-resolute_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 5,
- "w": 32,
- "h": 24
- },
- "frame": {
- "x": 29,
- "y": 230,
- "w": 32,
- "h": 24
- }
- },
- {
- "filename": "571_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 31,
- "h": 24
- },
- "frame": {
- "x": 29,
- "y": 254,
- "w": 31,
- "h": 24
- }
- },
- {
- "filename": "586-spring_1",
+ "filename": "533_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -649,15 +397,183 @@
},
"spriteSourceSize": {
"x": 8,
- "y": 3,
- "w": 25,
- "h": 26
+ "y": 4,
+ "w": 27,
+ "h": 24
},
"frame": {
- "x": 56,
- "y": 278,
+ "x": 0,
+ "y": 327,
+ "w": 27,
+ "h": 24
+ }
+ },
+ {
+ "filename": "533_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 4,
+ "w": 27,
+ "h": 24
+ },
+ "frame": {
+ "x": 0,
+ "y": 351,
+ "w": 27,
+ "h": 24
+ }
+ },
+ {
+ "filename": "623_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 3,
+ "w": 26,
+ "h": 25
+ },
+ "frame": {
+ "x": 0,
+ "y": 375,
+ "w": 26,
+ "h": 25
+ }
+ },
+ {
+ "filename": "623_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 3,
+ "w": 26,
+ "h": 25
+ },
+ "frame": {
+ "x": 0,
+ "y": 400,
+ "w": 26,
+ "h": 25
+ }
+ },
+ {
+ "filename": "586-autumn_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 3,
"w": 25,
- "h": 26
+ "h": 25
+ },
+ "frame": {
+ "x": 0,
+ "y": 425,
+ "w": 25,
+ "h": 25
+ }
+ },
+ {
+ "filename": "612_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 4,
+ "w": 26,
+ "h": 24
+ },
+ "frame": {
+ "x": 0,
+ "y": 450,
+ "w": 26,
+ "h": 24
+ }
+ },
+ {
+ "filename": "612_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 4,
+ "w": 26,
+ "h": 24
+ },
+ "frame": {
+ "x": 0,
+ "y": 474,
+ "w": 26,
+ "h": 24
+ }
+ },
+ {
+ "filename": "553_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 5,
+ "w": 28,
+ "h": 23
+ },
+ "frame": {
+ "x": 0,
+ "y": 498,
+ "w": 28,
+ "h": 23
+ }
+ },
+ {
+ "filename": "553_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 5,
+ "w": 28,
+ "h": 23
+ },
+ "frame": {
+ "x": 0,
+ "y": 521,
+ "w": 28,
+ "h": 23
}
},
{
@@ -669,100 +585,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 30,
- "h": 24
- },
- "frame": {
- "x": 60,
- "y": 254,
- "w": 30,
- "h": 24
- }
- },
- {
- "filename": "586-summer_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 3,
- "w": 25,
- "h": 26
- },
- "frame": {
- "x": 81,
- "y": 278,
- "w": 25,
- "h": 26
- }
- },
- {
- "filename": "579_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 4,
+ "x": 6,
"y": 6,
- "w": 32,
- "h": 23
+ "w": 28,
+ "h": 22
},
"frame": {
- "x": 166,
- "y": 24,
- "w": 32,
- "h": 23
- }
- },
- {
- "filename": "579_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 6,
- "w": 32,
- "h": 23
- },
- "frame": {
- "x": 198,
- "y": 24,
- "w": 32,
- "h": 23
- }
- },
- {
- "filename": "571_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 31,
- "h": 24
- },
- "frame": {
- "x": 230,
- "y": 24,
- "w": 31,
- "h": 24
+ "x": 0,
+ "y": 544,
+ "w": 28,
+ "h": 22
}
},
{
@@ -774,20 +606,167 @@
"h": 30
},
"spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 30,
- "h": 24
+ "x": 6,
+ "y": 6,
+ "w": 28,
+ "h": 22
},
"frame": {
- "x": 261,
- "y": 24,
- "w": 30,
- "h": 24
+ "x": 0,
+ "y": 566,
+ "w": 28,
+ "h": 22
}
},
{
- "filename": "538_2",
+ "filename": "545_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 6,
+ "w": 29,
+ "h": 22
+ },
+ "frame": {
+ "x": 0,
+ "y": 588,
+ "w": 29,
+ "h": 22
+ }
+ },
+ {
+ "filename": "545_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 6,
+ "w": 29,
+ "h": 22
+ },
+ "frame": {
+ "x": 0,
+ "y": 610,
+ "w": 29,
+ "h": 22
+ }
+ },
+ {
+ "filename": "569_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 6,
+ "w": 30,
+ "h": 22
+ },
+ "frame": {
+ "x": 0,
+ "y": 632,
+ "w": 30,
+ "h": 22
+ }
+ },
+ {
+ "filename": "546_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 14,
+ "w": 21,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 654,
+ "w": 21,
+ "h": 14
+ }
+ },
+ {
+ "filename": "546_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 14,
+ "w": 21,
+ "h": 14
+ },
+ "frame": {
+ "x": 21,
+ "y": 654,
+ "w": 21,
+ "h": 14
+ }
+ },
+ {
+ "filename": "569_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 6,
+ "w": 30,
+ "h": 22
+ },
+ "frame": {
+ "x": 32,
+ "y": 80,
+ "w": 30,
+ "h": 22
+ }
+ },
+ {
+ "filename": "579_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 7,
+ "w": 30,
+ "h": 21
+ },
+ "frame": {
+ "x": 31,
+ "y": 102,
+ "w": 30,
+ "h": 21
+ }
+ },
+ {
+ "filename": "604_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -801,14 +780,98 @@
"h": 22
},
"frame": {
- "x": 100,
- "y": 26,
+ "x": 30,
+ "y": 123,
"w": 30,
"h": 22
}
},
{
- "filename": "538_3",
+ "filename": "579_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 7,
+ "w": 30,
+ "h": 21
+ },
+ "frame": {
+ "x": 30,
+ "y": 145,
+ "w": 30,
+ "h": 21
+ }
+ },
+ {
+ "filename": "579_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 7,
+ "w": 30,
+ "h": 21
+ },
+ "frame": {
+ "x": 27,
+ "y": 166,
+ "w": 30,
+ "h": 21
+ }
+ },
+ {
+ "filename": "571_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 6,
+ "w": 29,
+ "h": 22
+ },
+ "frame": {
+ "x": 29,
+ "y": 187,
+ "w": 29,
+ "h": 22
+ }
+ },
+ {
+ "filename": "571_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 6,
+ "w": 29,
+ "h": 22
+ },
+ "frame": {
+ "x": 29,
+ "y": 209,
+ "w": 29,
+ "h": 22
+ }
+ },
+ {
+ "filename": "604_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -822,8 +885,50 @@
"h": 22
},
"frame": {
- "x": 130,
- "y": 26,
+ "x": 29,
+ "y": 231,
+ "w": 30,
+ "h": 22
+ }
+ },
+ {
+ "filename": "647-resolute_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 6,
+ "w": 30,
+ "h": 22
+ },
+ "frame": {
+ "x": 29,
+ "y": 253,
+ "w": 30,
+ "h": 22
+ }
+ },
+ {
+ "filename": "647-resolute_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 6,
+ "w": 30,
+ "h": 22
+ },
+ "frame": {
+ "x": 29,
+ "y": 275,
"w": 30,
"h": 22
}
@@ -837,20 +942,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 30,
- "h": 24
+ "x": 6,
+ "y": 6,
+ "w": 28,
+ "h": 22
},
"frame": {
- "x": 67,
- "y": 28,
- "w": 30,
- "h": 24
+ "x": 29,
+ "y": 297,
+ "w": 28,
+ "h": 22
}
},
{
- "filename": "623_2",
+ "filename": "538_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -858,37 +963,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 5,
- "y": 2,
+ "x": 6,
+ "y": 8,
"w": 28,
- "h": 27
+ "h": 20
},
"frame": {
- "x": 66,
- "y": 52,
+ "x": 29,
+ "y": 319,
"w": 28,
- "h": 27
- }
- },
- {
- "filename": "623_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 2,
- "w": 28,
- "h": 27
- },
- "frame": {
- "x": 66,
- "y": 79,
- "w": 28,
- "h": 27
+ "h": 20
}
},
{
@@ -900,16 +984,37 @@
"h": 30
},
"spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 30,
- "h": 24
+ "x": 6,
+ "y": 6,
+ "w": 28,
+ "h": 22
},
"frame": {
- "x": 97,
- "y": 48,
- "w": 30,
- "h": 24
+ "x": 27,
+ "y": 339,
+ "w": 28,
+ "h": 22
+ }
+ },
+ {
+ "filename": "538_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 8,
+ "w": 28,
+ "h": 20
+ },
+ "frame": {
+ "x": 27,
+ "y": 361,
+ "w": 28,
+ "h": 20
}
},
{
@@ -920,38 +1025,17 @@
"w": 40,
"h": 30
},
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 30,
- "h": 24
- },
- "frame": {
- "x": 127,
- "y": 48,
- "w": 30,
- "h": 24
- }
- },
- {
- "filename": "586-autumn_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
"spriteSourceSize": {
"x": 6,
- "y": 2,
- "w": 27,
- "h": 27
+ "y": 6,
+ "w": 28,
+ "h": 22
},
"frame": {
- "x": 94,
- "y": 72,
- "w": 27,
- "h": 27
+ "x": 26,
+ "y": 381,
+ "w": 28,
+ "h": 22
}
},
{
@@ -963,16 +1047,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 30,
- "h": 24
+ "x": 6,
+ "y": 6,
+ "w": 28,
+ "h": 22
},
"frame": {
- "x": 121,
- "y": 72,
- "w": 30,
- "h": 24
+ "x": 26,
+ "y": 403,
+ "w": 28,
+ "h": 22
}
},
{
@@ -984,18 +1068,207 @@
"h": 30
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
- "w": 29,
+ "x": 7,
+ "y": 6,
+ "w": 27,
+ "h": 22
+ },
+ "frame": {
+ "x": 25,
+ "y": 425,
+ "w": 27,
+ "h": 22
+ }
+ },
+ {
+ "filename": "531-mega_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 2,
+ "w": 22,
+ "h": 26
+ },
+ "frame": {
+ "x": 26,
+ "y": 447,
+ "w": 22,
+ "h": 26
+ }
+ },
+ {
+ "filename": "586-spring_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 4,
+ "w": 23,
"h": 24
},
"frame": {
- "x": 94,
- "y": 99,
- "w": 29,
+ "x": 26,
+ "y": 473,
+ "w": 23,
"h": 24
}
},
+ {
+ "filename": "531-mega_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 2,
+ "w": 22,
+ "h": 26
+ },
+ "frame": {
+ "x": 28,
+ "y": 497,
+ "w": 22,
+ "h": 26
+ }
+ },
+ {
+ "filename": "640_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 2,
+ "w": 21,
+ "h": 26
+ },
+ "frame": {
+ "x": 28,
+ "y": 523,
+ "w": 21,
+ "h": 26
+ }
+ },
+ {
+ "filename": "640_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 2,
+ "w": 21,
+ "h": 26
+ },
+ "frame": {
+ "x": 28,
+ "y": 549,
+ "w": 21,
+ "h": 26
+ }
+ },
+ {
+ "filename": "586-summer_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 4,
+ "w": 23,
+ "h": 24
+ },
+ "frame": {
+ "x": 29,
+ "y": 575,
+ "w": 23,
+ "h": 24
+ }
+ },
+ {
+ "filename": "586-winter_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 4,
+ "w": 23,
+ "h": 24
+ },
+ "frame": {
+ "x": 29,
+ "y": 599,
+ "w": 23,
+ "h": 24
+ }
+ },
+ {
+ "filename": "649-burn_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 5,
+ "w": 22,
+ "h": 24
+ },
+ "frame": {
+ "x": 30,
+ "y": 623,
+ "w": 22,
+ "h": 24
+ }
+ },
+ {
+ "filename": "552_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 7,
+ "w": 25,
+ "h": 21
+ },
+ "frame": {
+ "x": 42,
+ "y": 647,
+ "w": 25,
+ "h": 21
+ }
+ },
{
"filename": "593-f_2",
"rotated": false,
@@ -1005,37 +1278,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
- "w": 29,
- "h": 24
+ "x": 7,
+ "y": 6,
+ "w": 27,
+ "h": 22
},
"frame": {
- "x": 123,
- "y": 96,
- "w": 29,
- "h": 24
- }
- },
- {
- "filename": "634_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 5,
- "w": 28,
- "h": 24
- },
- "frame": {
- "x": 66,
- "y": 106,
- "w": 28,
- "h": 24
+ "x": 94,
+ "y": 25,
+ "w": 27,
+ "h": 22
}
},
{
@@ -1047,16 +1299,37 @@
"h": 30
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
- "w": 29,
- "h": 24
+ "x": 7,
+ "y": 6,
+ "w": 27,
+ "h": 22
},
"frame": {
- "x": 63,
- "y": 130,
- "w": 29,
- "h": 24
+ "x": 67,
+ "y": 26,
+ "w": 27,
+ "h": 22
+ }
+ },
+ {
+ "filename": "634_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 6,
+ "w": 26,
+ "h": 22
+ },
+ "frame": {
+ "x": 62,
+ "y": 48,
+ "w": 26,
+ "h": 22
}
},
{
@@ -1068,16 +1341,37 @@
"h": 30
},
"spriteSourceSize": {
- "x": 6,
- "y": 5,
- "w": 28,
- "h": 24
+ "x": 7,
+ "y": 6,
+ "w": 26,
+ "h": 22
},
"frame": {
- "x": 94,
- "y": 123,
- "w": 28,
- "h": 24
+ "x": 62,
+ "y": 70,
+ "w": 26,
+ "h": 22
+ }
+ },
+ {
+ "filename": "552_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 7,
+ "w": 25,
+ "h": 21
+ },
+ "frame": {
+ "x": 62,
+ "y": 92,
+ "w": 25,
+ "h": 21
}
},
{
@@ -1088,80 +1382,17 @@
"w": 40,
"h": 30
},
- "spriteSourceSize": {
- "x": 6,
- "y": 6,
- "w": 27,
- "h": 23
- },
- "frame": {
- "x": 92,
- "y": 147,
- "w": 27,
- "h": 23
- }
- },
- {
- "filename": "518_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 5,
- "w": 25,
- "h": 24
- },
- "frame": {
- "x": 151,
- "y": 72,
- "w": 25,
- "h": 24
- }
- },
- {
- "filename": "518_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 5,
- "w": 25,
- "h": 24
- },
- "frame": {
- "x": 152,
- "y": 96,
- "w": 25,
- "h": 24
- }
- },
- {
- "filename": "539_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
"spriteSourceSize": {
"x": 7,
- "y": 5,
- "w": 24,
- "h": 24
+ "y": 7,
+ "w": 25,
+ "h": 21
},
"frame": {
- "x": 157,
- "y": 48,
- "w": 24,
- "h": 24
+ "x": 61,
+ "y": 113,
+ "w": 25,
+ "h": 21
}
},
{
@@ -1172,16 +1403,310 @@
"w": 40,
"h": 30
},
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 25,
+ "h": 22
+ },
+ "frame": {
+ "x": 60,
+ "y": 134,
+ "w": 25,
+ "h": 22
+ }
+ },
+ {
+ "filename": "611_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
"spriteSourceSize": {
"x": 7,
+ "y": 7,
+ "w": 25,
+ "h": 21
+ },
+ "frame": {
+ "x": 60,
+ "y": 156,
+ "w": 25,
+ "h": 21
+ }
+ },
+ {
+ "filename": "620_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 25,
+ "h": 22
+ },
+ "frame": {
+ "x": 58,
+ "y": 177,
+ "w": 25,
+ "h": 22
+ }
+ },
+ {
+ "filename": "647-ordinary_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 25,
+ "h": 22
+ },
+ "frame": {
+ "x": 58,
+ "y": 199,
+ "w": 25,
+ "h": 22
+ }
+ },
+ {
+ "filename": "647-ordinary_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 25,
+ "h": 22
+ },
+ "frame": {
+ "x": 59,
+ "y": 221,
+ "w": 25,
+ "h": 22
+ }
+ },
+ {
+ "filename": "649-burn_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
"y": 5,
- "w": 27,
+ "w": 22,
"h": 24
},
"frame": {
- "x": 181,
+ "x": 59,
+ "y": 243,
+ "w": 22,
+ "h": 24
+ }
+ },
+ {
+ "filename": "649-chill_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 5,
+ "w": 22,
+ "h": 24
+ },
+ "frame": {
+ "x": 59,
+ "y": 267,
+ "w": 22,
+ "h": 24
+ }
+ },
+ {
+ "filename": "649-chill_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 5,
+ "w": 22,
+ "h": 24
+ },
+ "frame": {
+ "x": 88,
+ "y": 48,
+ "w": 22,
+ "h": 24
+ }
+ },
+ {
+ "filename": "549_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 7,
+ "w": 17,
+ "h": 21
+ },
+ "frame": {
+ "x": 110,
"y": 47,
- "w": 27,
+ "w": 17,
+ "h": 21
+ }
+ },
+ {
+ "filename": "496_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 8,
+ "w": 22,
+ "h": 20
+ },
+ "frame": {
+ "x": 88,
+ "y": 72,
+ "w": 22,
+ "h": 20
+ }
+ },
+ {
+ "filename": "549_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 7,
+ "w": 17,
+ "h": 21
+ },
+ "frame": {
+ "x": 110,
+ "y": 68,
+ "w": 17,
+ "h": 21
+ }
+ },
+ {
+ "filename": "518_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 6,
+ "w": 23,
+ "h": 22
+ },
+ "frame": {
+ "x": 87,
+ "y": 92,
+ "w": 23,
+ "h": 22
+ }
+ },
+ {
+ "filename": "518_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 6,
+ "w": 23,
+ "h": 22
+ },
+ "frame": {
+ "x": 86,
+ "y": 114,
+ "w": 23,
+ "h": 22
+ }
+ },
+ {
+ "filename": "585-autumn_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 6,
+ "w": 18,
+ "h": 22
+ },
+ "frame": {
+ "x": 109,
+ "y": 114,
+ "w": 18,
+ "h": 22
+ }
+ },
+ {
+ "filename": "649-douse_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 5,
+ "w": 22,
+ "h": 24
+ },
+ "frame": {
+ "x": 85,
+ "y": 136,
+ "w": 22,
"h": 24
}
},
@@ -1194,20 +1719,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
- "y": 6,
- "w": 22,
- "h": 23
+ "x": 10,
+ "y": 7,
+ "w": 20,
+ "h": 21
},
"frame": {
- "x": 208,
- "y": 47,
- "w": 22,
- "h": 23
+ "x": 107,
+ "y": 136,
+ "w": 20,
+ "h": 21
}
},
{
- "filename": "611_3",
+ "filename": "560_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1215,41 +1740,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 6,
- "y": 6,
- "w": 27,
- "h": 23
+ "x": 10,
+ "y": 7,
+ "w": 20,
+ "h": 21
},
"frame": {
- "x": 230,
- "y": 48,
- "w": 27,
- "h": 23
+ "x": 107,
+ "y": 157,
+ "w": 20,
+ "h": 21
}
},
{
- "filename": "620_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 27,
- "h": 24
- },
- "frame": {
- "x": 257,
- "y": 48,
- "w": 27,
- "h": 24
- }
- },
- {
- "filename": "585-autumn_1",
+ "filename": "496_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1258,19 +1762,19 @@
},
"spriteSourceSize": {
"x": 9,
- "y": 5,
- "w": 20,
- "h": 24
+ "y": 8,
+ "w": 22,
+ "h": 20
},
"frame": {
- "x": 284,
- "y": 48,
- "w": 20,
- "h": 24
+ "x": 85,
+ "y": 160,
+ "w": 22,
+ "h": 20
}
},
{
- "filename": "539_3",
+ "filename": "649-douse_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1278,15 +1782,99 @@
"h": 30
},
"spriteSourceSize": {
- "x": 7,
+ "x": 8,
"y": 5,
- "w": 24,
+ "w": 22,
"h": 24
},
"frame": {
- "x": 176,
- "y": 72,
+ "x": 83,
+ "y": 180,
+ "w": 22,
+ "h": 24
+ }
+ },
+ {
+ "filename": "649-shock_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 5,
+ "w": 22,
+ "h": 24
+ },
+ "frame": {
+ "x": 105,
+ "y": 180,
+ "w": 22,
+ "h": 24
+ }
+ },
+ {
+ "filename": "632_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 12,
"w": 24,
+ "h": 16
+ },
+ "frame": {
+ "x": 83,
+ "y": 204,
+ "w": 24,
+ "h": 16
+ }
+ },
+ {
+ "filename": "560_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 7,
+ "w": 20,
+ "h": 21
+ },
+ "frame": {
+ "x": 107,
+ "y": 204,
+ "w": 20,
+ "h": 21
+ }
+ },
+ {
+ "filename": "649-shock_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 5,
+ "w": 22,
+ "h": 24
+ },
+ "frame": {
+ "x": 84,
+ "y": 220,
+ "w": 22,
"h": 24
}
},
@@ -1299,146 +1887,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 8,
- "y": 5,
- "w": 23,
- "h": 24
- },
- "frame": {
- "x": 177,
- "y": 96,
- "w": 23,
- "h": 24
- }
- },
- {
- "filename": "640_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 1,
- "w": 23,
- "h": 28
- },
- "frame": {
- "x": 200,
- "y": 71,
- "w": 23,
- "h": 28
- }
- },
- {
- "filename": "496_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 7,
- "w": 24,
+ "x": 9,
+ "y": 6,
+ "w": 21,
"h": 22
},
"frame": {
- "x": 200,
- "y": 99,
- "w": 24,
+ "x": 106,
+ "y": 225,
+ "w": 21,
"h": 22
}
},
{
- "filename": "640_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 1,
- "w": 23,
- "h": 28
- },
- "frame": {
- "x": 223,
- "y": 71,
- "w": 23,
- "h": 28
- }
- },
- {
- "filename": "496_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 7,
- "w": 24,
- "h": 22
- },
- "frame": {
- "x": 224,
- "y": 99,
- "w": 24,
- "h": 22
- }
- },
- {
- "filename": "586-winter_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 3,
- "w": 25,
- "h": 26
- },
- "frame": {
- "x": 246,
- "y": 72,
- "w": 25,
- "h": 26
- }
- },
- {
- "filename": "647-ordinary_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 27,
- "h": 24
- },
- "frame": {
- "x": 271,
- "y": 72,
- "w": 27,
- "h": 24
- }
- },
- {
- "filename": "547_3",
+ "filename": "649_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1448,34 +1910,13 @@
"spriteSourceSize": {
"x": 8,
"y": 5,
- "w": 23,
+ "w": 22,
"h": 24
},
"frame": {
- "x": 248,
- "y": 98,
- "w": 23,
- "h": 24
- }
- },
- {
- "filename": "647-ordinary_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 27,
- "h": 24
- },
- "frame": {
- "x": 271,
- "y": 96,
- "w": 27,
+ "x": 81,
+ "y": 244,
+ "w": 22,
"h": 24
}
},
@@ -1488,37 +1929,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 7,
- "y": 8,
- "w": 26,
- "h": 21
+ "x": 8,
+ "y": 9,
+ "w": 24,
+ "h": 19
},
"frame": {
- "x": 63,
- "y": 154,
- "w": 26,
- "h": 21
- }
- },
- {
- "filename": "649-burn_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
+ "x": 103,
+ "y": 247,
"w": 24,
- "h": 26
- },
- "frame": {
- "x": 62,
- "y": 175,
- "w": 24,
- "h": 26
+ "h": 19
}
},
{
@@ -1529,374 +1949,17 @@
"w": 40,
"h": 30
},
- "spriteSourceSize": {
- "x": 7,
- "y": 8,
- "w": 26,
- "h": 21
- },
- "frame": {
- "x": 123,
- "y": 120,
- "w": 26,
- "h": 21
- }
- },
- {
- "filename": "572_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
"spriteSourceSize": {
"x": 8,
- "y": 8,
+ "y": 9,
"w": 24,
- "h": 21
+ "h": 19
},
"frame": {
- "x": 149,
- "y": 120,
+ "x": 103,
+ "y": 266,
"w": 24,
- "h": 21
- }
- },
- {
- "filename": "572_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 8,
- "w": 24,
- "h": 21
- },
- "frame": {
- "x": 173,
- "y": 120,
- "w": 24,
- "h": 21
- }
- },
- {
- "filename": "632_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 11,
- "w": 26,
- "h": 18
- },
- "frame": {
- "x": 197,
- "y": 121,
- "w": 26,
- "h": 18
- }
- },
- {
- "filename": "562_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 11,
- "w": 24,
- "h": 18
- },
- "frame": {
- "x": 223,
- "y": 121,
- "w": 24,
- "h": 18
- }
- },
- {
- "filename": "562_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 11,
- "w": 24,
- "h": 18
- },
- "frame": {
- "x": 247,
- "y": 122,
- "w": 24,
- "h": 18
- }
- },
- {
- "filename": "632_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 11,
- "w": 26,
- "h": 18
- },
- "frame": {
- "x": 271,
- "y": 120,
- "w": 26,
- "h": 18
- }
- },
- {
- "filename": "649-burn_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 24,
- "h": 26
- },
- "frame": {
- "x": 62,
- "y": 201,
- "w": 24,
- "h": 26
- }
- },
- {
- "filename": "649-chill_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 24,
- "h": 26
- },
- "frame": {
- "x": 61,
- "y": 227,
- "w": 24,
- "h": 26
- }
- },
- {
- "filename": "649-chill_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 24,
- "h": 26
- },
- "frame": {
- "x": 86,
- "y": 175,
- "w": 24,
- "h": 26
- }
- },
- {
- "filename": "649-douse_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 24,
- "h": 26
- },
- "frame": {
- "x": 86,
- "y": 201,
- "w": 24,
- "h": 26
- }
- },
- {
- "filename": "649-douse_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 24,
- "h": 26
- },
- "frame": {
- "x": 85,
- "y": 227,
- "w": 24,
- "h": 26
- }
- },
- {
- "filename": "648-pirouette_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 4,
- "w": 17,
- "h": 25
- },
- "frame": {
- "x": 90,
- "y": 253,
- "w": 17,
- "h": 25
- }
- },
- {
- "filename": "649-shock_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 24,
- "h": 26
- },
- "frame": {
- "x": 106,
- "y": 278,
- "w": 24,
- "h": 26
- }
- },
- {
- "filename": "648-pirouette_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 4,
- "w": 17,
- "h": 25
- },
- "frame": {
- "x": 107,
- "y": 253,
- "w": 17,
- "h": 25
- }
- },
- {
- "filename": "649-shock_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 24,
- "h": 26
- },
- "frame": {
- "x": 109,
- "y": 227,
- "w": 24,
- "h": 26
- }
- },
- {
- "filename": "585-spring_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 5,
- "w": 20,
- "h": 24
- },
- "frame": {
- "x": 124,
- "y": 253,
- "w": 20,
- "h": 24
- }
- },
- {
- "filename": "649_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 24,
- "h": 26
- },
- "frame": {
- "x": 130,
- "y": 277,
- "w": 24,
- "h": 26
+ "h": 19
}
},
{
@@ -1908,20 +1971,62 @@
"h": 30
},
"spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 24,
- "h": 26
+ "x": 8,
+ "y": 5,
+ "w": 22,
+ "h": 24
},
"frame": {
- "x": 110,
- "y": 170,
- "w": 24,
- "h": 26
+ "x": 81,
+ "y": 268,
+ "w": 22,
+ "h": 24
}
},
{
- "filename": "560_2",
+ "filename": "632_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 12,
+ "w": 24,
+ "h": 16
+ },
+ "frame": {
+ "x": 103,
+ "y": 285,
+ "w": 24,
+ "h": 16
+ }
+ },
+ {
+ "filename": "648-pirouette_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 5,
+ "w": 15,
+ "h": 23
+ },
+ "frame": {
+ "x": 110,
+ "y": 89,
+ "w": 15,
+ "h": 23
+ }
+ },
+ {
+ "filename": "531_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1932,38 +2037,17 @@
"x": 9,
"y": 6,
"w": 22,
- "h": 23
+ "h": 22
},
"frame": {
- "x": 110,
- "y": 196,
+ "x": 59,
+ "y": 291,
"w": 22,
- "h": 23
+ "h": 22
}
},
{
- "filename": "542_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 6,
- "w": 16,
- "h": 23
- },
- "frame": {
- "x": 119,
- "y": 147,
- "w": 16,
- "h": 23
- }
- },
- {
- "filename": "560_3",
+ "filename": "531_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1974,13 +2058,202 @@
"x": 9,
"y": 6,
"w": 22,
- "h": 23
+ "h": 22
},
"frame": {
- "x": 135,
- "y": 141,
+ "x": 81,
+ "y": 292,
"w": 22,
- "h": 23
+ "h": 22
+ }
+ },
+ {
+ "filename": "539_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 57,
+ "y": 313,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "539_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 79,
+ "y": 314,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "544_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 12,
+ "w": 22,
+ "h": 16
+ },
+ "frame": {
+ "x": 103,
+ "y": 301,
+ "w": 22,
+ "h": 16
+ }
+ },
+ {
+ "filename": "572_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 9,
+ "w": 22,
+ "h": 19
+ },
+ "frame": {
+ "x": 101,
+ "y": 317,
+ "w": 22,
+ "h": 19
+ }
+ },
+ {
+ "filename": "544_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 12,
+ "w": 22,
+ "h": 16
+ },
+ "frame": {
+ "x": 57,
+ "y": 335,
+ "w": 22,
+ "h": 16
+ }
+ },
+ {
+ "filename": "547_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 6,
+ "w": 21,
+ "h": 22
+ },
+ "frame": {
+ "x": 55,
+ "y": 351,
+ "w": 21,
+ "h": 22
+ }
+ },
+ {
+ "filename": "551_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 13,
+ "w": 22,
+ "h": 16
+ },
+ "frame": {
+ "x": 79,
+ "y": 336,
+ "w": 22,
+ "h": 16
+ }
+ },
+ {
+ "filename": "551_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 13,
+ "w": 22,
+ "h": 16
+ },
+ "frame": {
+ "x": 101,
+ "y": 336,
+ "w": 22,
+ "h": 16
+ }
+ },
+ {
+ "filename": "572_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 9,
+ "w": 22,
+ "h": 19
+ },
+ "frame": {
+ "x": 76,
+ "y": 352,
+ "w": 22,
+ "h": 19
}
},
{
@@ -1991,42 +2264,21 @@
"w": 40,
"h": 30
},
- "spriteSourceSize": {
- "x": 9,
- "y": 8,
- "w": 23,
- "h": 21
- },
- "frame": {
- "x": 157,
- "y": 141,
- "w": 23,
- "h": 21
- }
- },
- {
- "filename": "549_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
"spriteSourceSize": {
"x": 10,
- "y": 6,
- "w": 19,
- "h": 23
+ "y": 9,
+ "w": 21,
+ "h": 19
},
"frame": {
- "x": 180,
- "y": 141,
- "w": 19,
- "h": 23
+ "x": 98,
+ "y": 352,
+ "w": 21,
+ "h": 19
}
},
{
- "filename": "585-summer_1",
+ "filename": "529_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2035,36 +2287,15 @@
},
"spriteSourceSize": {
"x": 9,
- "y": 5,
- "w": 20,
- "h": 24
+ "y": 11,
+ "w": 21,
+ "h": 17
},
"frame": {
- "x": 199,
- "y": 139,
- "w": 20,
- "h": 24
- }
- },
- {
- "filename": "585-winter_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 5,
- "w": 20,
- "h": 24
- },
- "frame": {
- "x": 219,
- "y": 139,
- "w": 20,
- "h": 24
+ "x": 55,
+ "y": 373,
+ "w": 21,
+ "h": 17
}
},
{
@@ -2075,79 +2306,16 @@
"w": 40,
"h": 30
},
- "spriteSourceSize": {
- "x": 9,
- "y": 8,
- "w": 23,
- "h": 21
- },
- "frame": {
- "x": 239,
- "y": 140,
- "w": 23,
- "h": 21
- }
- },
- {
- "filename": "542_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 6,
- "w": 16,
- "h": 23
- },
- "frame": {
- "x": 262,
- "y": 140,
- "w": 16,
- "h": 23
- }
- },
- {
- "filename": "549_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
"spriteSourceSize": {
"x": 10,
- "y": 6,
- "w": 19,
- "h": 23
- },
- "frame": {
- "x": 278,
- "y": 138,
- "w": 19,
- "h": 23
- }
- },
- {
- "filename": "495_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 10,
- "w": 22,
+ "y": 9,
+ "w": 21,
"h": 19
},
"frame": {
- "x": 135,
- "y": 164,
- "w": 22,
+ "x": 76,
+ "y": 371,
+ "w": 21,
"h": 19
}
},
@@ -2160,20 +2328,62 @@
"h": 30
},
"spriteSourceSize": {
- "x": 8,
- "y": 9,
- "w": 23,
- "h": 20
+ "x": 9,
+ "y": 10,
+ "w": 21,
+ "h": 18
},
"frame": {
- "x": 157,
- "y": 162,
- "w": 23,
- "h": 20
+ "x": 97,
+ "y": 371,
+ "w": 21,
+ "h": 18
}
},
{
- "filename": "495_3",
+ "filename": "585-spring_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 6,
+ "w": 18,
+ "h": 22
+ },
+ "frame": {
+ "x": 54,
+ "y": 390,
+ "w": 18,
+ "h": 22
+ }
+ },
+ {
+ "filename": "585-summer_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 6,
+ "w": 18,
+ "h": 22
+ },
+ "frame": {
+ "x": 72,
+ "y": 390,
+ "w": 18,
+ "h": 22
+ }
+ },
+ {
+ "filename": "562_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2182,15 +2392,15 @@
},
"spriteSourceSize": {
"x": 9,
- "y": 10,
+ "y": 12,
"w": 22,
- "h": 19
+ "h": 16
},
"frame": {
- "x": 180,
- "y": 164,
+ "x": 54,
+ "y": 412,
"w": 22,
- "h": 19
+ "h": 16
}
},
{
@@ -2202,20 +2412,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 8,
- "y": 9,
- "w": 23,
- "h": 20
+ "x": 9,
+ "y": 10,
+ "w": 21,
+ "h": 18
},
"frame": {
- "x": 202,
- "y": 163,
- "w": 23,
- "h": 20
+ "x": 52,
+ "y": 428,
+ "w": 21,
+ "h": 18
}
},
{
- "filename": "529_2",
+ "filename": "495_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2223,16 +2433,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 8,
- "y": 10,
- "w": 23,
- "h": 19
+ "x": 10,
+ "y": 11,
+ "w": 20,
+ "h": 17
},
"frame": {
- "x": 134,
- "y": 183,
- "w": 23,
- "h": 19
+ "x": 76,
+ "y": 412,
+ "w": 20,
+ "h": 17
}
},
{
@@ -2243,63 +2453,21 @@
"w": 40,
"h": 30
},
- "spriteSourceSize": {
- "x": 8,
- "y": 10,
- "w": 23,
- "h": 19
- },
- "frame": {
- "x": 157,
- "y": 182,
- "w": 23,
- "h": 19
- }
- },
- {
- "filename": "595_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 11,
- "w": 23,
- "h": 18
- },
- "frame": {
- "x": 180,
- "y": 183,
- "w": 23,
- "h": 18
- }
- },
- {
- "filename": "541_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
"spriteSourceSize": {
"x": 9,
"y": 11,
- "w": 22,
- "h": 18
+ "w": 21,
+ "h": 17
},
"frame": {
- "x": 203,
- "y": 183,
- "w": 22,
- "h": 18
+ "x": 73,
+ "y": 429,
+ "w": 21,
+ "h": 17
}
},
{
- "filename": "595_3",
+ "filename": "585-winter_1",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2307,15 +2475,246 @@
"h": 30
},
"spriteSourceSize": {
- "x": 8,
- "y": 11,
- "w": 23,
+ "x": 10,
+ "y": 6,
+ "w": 18,
+ "h": 22
+ },
+ "frame": {
+ "x": 90,
+ "y": 390,
+ "w": 18,
+ "h": 22
+ }
+ },
+ {
+ "filename": "592-f_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 19,
+ "h": 20
+ },
+ "frame": {
+ "x": 108,
+ "y": 389,
+ "w": 19,
+ "h": 20
+ }
+ },
+ {
+ "filename": "592-f_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 19,
+ "h": 20
+ },
+ "frame": {
+ "x": 108,
+ "y": 409,
+ "w": 19,
+ "h": 20
+ }
+ },
+ {
+ "filename": "548_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 10,
+ "w": 12,
"h": 18
},
"frame": {
- "x": 132,
- "y": 202,
- "w": 23,
+ "x": 96,
+ "y": 412,
+ "w": 12,
+ "h": 18
+ }
+ },
+ {
+ "filename": "592-f_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 19,
+ "h": 20
+ },
+ "frame": {
+ "x": 108,
+ "y": 429,
+ "w": 19,
+ "h": 20
+ }
+ },
+ {
+ "filename": "542_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 7,
+ "w": 14,
+ "h": 21
+ },
+ "frame": {
+ "x": 94,
+ "y": 430,
+ "w": 14,
+ "h": 21
+ }
+ },
+ {
+ "filename": "592_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 19,
+ "h": 20
+ },
+ "frame": {
+ "x": 108,
+ "y": 449,
+ "w": 19,
+ "h": 20
+ }
+ },
+ {
+ "filename": "648-pirouette_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 5,
+ "w": 15,
+ "h": 23
+ },
+ "frame": {
+ "x": 48,
+ "y": 447,
+ "w": 15,
+ "h": 23
+ }
+ },
+ {
+ "filename": "592_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 19,
+ "h": 20
+ },
+ "frame": {
+ "x": 63,
+ "y": 446,
+ "w": 19,
+ "h": 20
+ }
+ },
+ {
+ "filename": "548_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 10,
+ "w": 12,
+ "h": 18
+ },
+ "frame": {
+ "x": 82,
+ "y": 446,
+ "w": 12,
+ "h": 18
+ }
+ },
+ {
+ "filename": "542_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 7,
+ "w": 14,
+ "h": 21
+ },
+ "frame": {
+ "x": 94,
+ "y": 451,
+ "w": 14,
+ "h": 21
+ }
+ },
+ {
+ "filename": "608_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 10,
+ "w": 19,
+ "h": 18
+ },
+ "frame": {
+ "x": 108,
+ "y": 469,
+ "w": 19,
"h": 18
}
},
@@ -2328,16 +2727,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 17,
- "h": 24
+ "x": 12,
+ "y": 6,
+ "w": 15,
+ "h": 22
},
"frame": {
- "x": 225,
- "y": 163,
- "w": 17,
- "h": 24
+ "x": 49,
+ "y": 470,
+ "w": 15,
+ "h": 22
}
},
{
@@ -2349,20 +2748,62 @@
"h": 30
},
"spriteSourceSize": {
- "x": 10,
- "y": 7,
- "w": 20,
- "h": 22
+ "x": 11,
+ "y": 8,
+ "w": 18,
+ "h": 20
},
"frame": {
- "x": 242,
- "y": 161,
- "w": 20,
- "h": 22
+ "x": 64,
+ "y": 466,
+ "w": 18,
+ "h": 20
}
},
{
- "filename": "578_1",
+ "filename": "548_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 10,
+ "w": 12,
+ "h": 18
+ },
+ "frame": {
+ "x": 82,
+ "y": 464,
+ "w": 12,
+ "h": 18
+ }
+ },
+ {
+ "filename": "648-aria_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 7,
+ "w": 14,
+ "h": 21
+ },
+ "frame": {
+ "x": 94,
+ "y": 472,
+ "w": 14,
+ "h": 21
+ }
+ },
+ {
+ "filename": "608_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2371,15 +2812,15 @@
},
"spriteSourceSize": {
"x": 11,
- "y": 8,
- "w": 18,
- "h": 21
+ "y": 10,
+ "w": 19,
+ "h": 18
},
"frame": {
- "x": 262,
- "y": 163,
- "w": 18,
- "h": 21
+ "x": 108,
+ "y": 487,
+ "w": 19,
+ "h": 18
}
},
{
@@ -2390,226 +2831,16 @@
"w": 40,
"h": 30
},
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 17,
- "h": 24
- },
- "frame": {
- "x": 280,
- "y": 161,
- "w": 17,
- "h": 24
- }
- },
- {
- "filename": "592-f_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 7,
- "w": 21,
- "h": 22
- },
- "frame": {
- "x": 133,
- "y": 220,
- "w": 21,
- "h": 22
- }
- },
- {
- "filename": "517_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
"spriteSourceSize": {
"x": 12,
- "y": 13,
- "w": 17,
- "h": 16
- },
- "frame": {
- "x": 225,
- "y": 187,
- "w": 17,
- "h": 16
- }
- },
- {
- "filename": "610_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 7,
- "w": 20,
+ "y": 6,
+ "w": 15,
"h": 22
},
"frame": {
- "x": 242,
- "y": 183,
- "w": 20,
- "h": 22
- }
- },
- {
- "filename": "578_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 8,
- "w": 18,
- "h": 21
- },
- "frame": {
- "x": 262,
- "y": 184,
- "w": 18,
- "h": 21
- }
- },
- {
- "filename": "578_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 8,
- "w": 18,
- "h": 21
- },
- "frame": {
- "x": 280,
- "y": 185,
- "w": 18,
- "h": 21
- }
- },
- {
- "filename": "546_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 13,
- "w": 23,
- "h": 16
- },
- "frame": {
- "x": 157,
- "y": 201,
- "w": 23,
- "h": 16
- }
- },
- {
- "filename": "546_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 13,
- "w": 23,
- "h": 16
- },
- "frame": {
- "x": 180,
- "y": 201,
- "w": 23,
- "h": 16
- }
- },
- {
- "filename": "541_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 11,
- "w": 22,
- "h": 18
- },
- "frame": {
- "x": 203,
- "y": 201,
- "w": 22,
- "h": 18
- }
- },
- {
- "filename": "517_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 13,
- "w": 17,
- "h": 16
- },
- "frame": {
- "x": 225,
- "y": 203,
- "w": 17,
- "h": 16
- }
- },
- {
- "filename": "592-f_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 7,
- "w": 21,
- "h": 22
- },
- "frame": {
- "x": 242,
- "y": 205,
- "w": 21,
+ "x": 50,
+ "y": 492,
+ "w": 15,
"h": 22
}
},
@@ -2621,121 +2852,100 @@
"w": 40,
"h": 30
},
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 6,
+ "w": 15,
+ "h": 22
+ },
+ "frame": {
+ "x": 65,
+ "y": 486,
+ "w": 15,
+ "h": 22
+ }
+ },
+ {
+ "filename": "648-aria_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 7,
+ "w": 14,
+ "h": 21
+ },
+ "frame": {
+ "x": 80,
+ "y": 486,
+ "w": 14,
+ "h": 21
+ }
+ },
+ {
+ "filename": "602_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 17,
+ "w": 14,
+ "h": 11
+ },
+ "frame": {
+ "x": 94,
+ "y": 493,
+ "w": 14,
+ "h": 11
+ }
+ },
+ {
+ "filename": "495_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 11,
+ "w": 20,
+ "h": 17
+ },
+ "frame": {
+ "x": 50,
+ "y": 514,
+ "w": 20,
+ "h": 17
+ }
+ },
+ {
+ "filename": "610_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
"spriteSourceSize": {
"x": 11,
- "y": 5,
- "w": 17,
- "h": 24
- },
- "frame": {
- "x": 263,
- "y": 205,
- "w": 17,
- "h": 24
- }
- },
- {
- "filename": "592-f_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 7,
- "w": 21,
- "h": 22
- },
- "frame": {
- "x": 280,
- "y": 206,
- "w": 21,
- "h": 22
- }
- },
- {
- "filename": "592_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 7,
- "w": 21,
- "h": 22
- },
- "frame": {
- "x": 154,
- "y": 220,
- "w": 21,
- "h": 22
- }
- },
- {
- "filename": "592_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 7,
- "w": 21,
- "h": 22
- },
- "frame": {
- "x": 175,
- "y": 217,
- "w": 21,
- "h": 22
- }
- },
- {
- "filename": "608_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 9,
- "w": 21,
+ "y": 8,
+ "w": 18,
"h": 20
},
"frame": {
- "x": 196,
- "y": 219,
- "w": 21,
- "h": 20
- }
- },
- {
- "filename": "608_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 9,
- "w": 21,
- "h": 20
- },
- "frame": {
- "x": 217,
- "y": 219,
- "w": 21,
+ "x": 49,
+ "y": 531,
+ "w": 18,
"h": 20
}
},
@@ -2747,141 +2957,15 @@
"w": 40,
"h": 30
},
- "spriteSourceSize": {
- "x": 11,
- "y": 8,
- "w": 20,
- "h": 21
- },
- "frame": {
- "x": 144,
- "y": 242,
- "w": 20,
- "h": 21
- }
- },
- {
- "filename": "605_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
"spriteSourceSize": {
"x": 12,
- "y": 8,
- "w": 15,
- "h": 21
- },
- "frame": {
- "x": 164,
- "y": 242,
- "w": 15,
- "h": 21
- }
- },
- {
- "filename": "619_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 8,
- "w": 20,
- "h": 21
- },
- "frame": {
- "x": 179,
- "y": 239,
- "w": 20,
- "h": 21
- }
- },
- {
- "filename": "622_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
"y": 9,
- "w": 20,
- "h": 20
- },
- "frame": {
- "x": 199,
- "y": 239,
- "w": 20,
- "h": 20
- }
- },
- {
- "filename": "622_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 9,
- "w": 20,
- "h": 20
- },
- "frame": {
- "x": 219,
- "y": 239,
- "w": 20,
- "h": 20
- }
- },
- {
- "filename": "602_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 16,
- "w": 16,
- "h": 13
- },
- "frame": {
- "x": 144,
- "y": 263,
- "w": 16,
- "h": 13
- }
- },
- {
- "filename": "570_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 10,
"w": 18,
"h": 19
},
"frame": {
- "x": 160,
- "y": 263,
+ "x": 49,
+ "y": 551,
"w": 18,
"h": 19
}
@@ -2895,16 +2979,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 11,
- "y": 7,
- "w": 18,
- "h": 22
+ "x": 12,
+ "y": 8,
+ "w": 16,
+ "h": 20
},
"frame": {
- "x": 154,
- "y": 282,
- "w": 18,
- "h": 22
+ "x": 52,
+ "y": 570,
+ "w": 16,
+ "h": 20
}
},
{
@@ -2916,16 +3000,289 @@
"h": 30
},
"spriteSourceSize": {
- "x": 11,
- "y": 7,
- "w": 18,
- "h": 22
+ "x": 12,
+ "y": 8,
+ "w": 16,
+ "h": 20
},
"frame": {
- "x": 172,
- "y": 282,
+ "x": 52,
+ "y": 590,
+ "w": 16,
+ "h": 20
+ }
+ },
+ {
+ "filename": "578_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 9,
+ "w": 16,
+ "h": 19
+ },
+ "frame": {
+ "x": 52,
+ "y": 610,
+ "w": 16,
+ "h": 19
+ }
+ },
+ {
+ "filename": "622_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 10,
"w": 18,
- "h": 22
+ "h": 18
+ },
+ "frame": {
+ "x": 52,
+ "y": 629,
+ "w": 18,
+ "h": 18
+ }
+ },
+ {
+ "filename": "578_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 9,
+ "w": 16,
+ "h": 19
+ },
+ "frame": {
+ "x": 70,
+ "y": 508,
+ "w": 16,
+ "h": 19
+ }
+ },
+ {
+ "filename": "578_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 9,
+ "w": 16,
+ "h": 19
+ },
+ "frame": {
+ "x": 86,
+ "y": 507,
+ "w": 16,
+ "h": 19
+ }
+ },
+ {
+ "filename": "562_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 12,
+ "w": 22,
+ "h": 16
+ },
+ "frame": {
+ "x": 102,
+ "y": 505,
+ "w": 22,
+ "h": 16
+ }
+ },
+ {
+ "filename": "595_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 12,
+ "w": 21,
+ "h": 16
+ },
+ "frame": {
+ "x": 102,
+ "y": 521,
+ "w": 21,
+ "h": 16
+ }
+ },
+ {
+ "filename": "570_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 11,
+ "w": 16,
+ "h": 17
+ },
+ "frame": {
+ "x": 86,
+ "y": 526,
+ "w": 16,
+ "h": 17
+ }
+ },
+ {
+ "filename": "570_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 11,
+ "w": 16,
+ "h": 17
+ },
+ "frame": {
+ "x": 70,
+ "y": 527,
+ "w": 16,
+ "h": 17
+ }
+ },
+ {
+ "filename": "619_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 9,
+ "w": 18,
+ "h": 19
+ },
+ "frame": {
+ "x": 67,
+ "y": 544,
+ "w": 18,
+ "h": 19
+ }
+ },
+ {
+ "filename": "622_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 10,
+ "w": 18,
+ "h": 18
+ },
+ "frame": {
+ "x": 68,
+ "y": 563,
+ "w": 18,
+ "h": 18
+ }
+ },
+ {
+ "filename": "541_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 12,
+ "w": 20,
+ "h": 16
+ },
+ "frame": {
+ "x": 68,
+ "y": 581,
+ "w": 20,
+ "h": 16
+ }
+ },
+ {
+ "filename": "541_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 12,
+ "w": 20,
+ "h": 16
+ },
+ "frame": {
+ "x": 68,
+ "y": 597,
+ "w": 20,
+ "h": 16
+ }
+ },
+ {
+ "filename": "595_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 12,
+ "w": 21,
+ "h": 16
+ },
+ "frame": {
+ "x": 68,
+ "y": 613,
+ "w": 21,
+ "h": 16
}
},
{
@@ -2937,15 +3294,78 @@
"h": 30
},
"spriteSourceSize": {
- "x": 12,
- "y": 10,
- "w": 17,
+ "x": 13,
+ "y": 11,
+ "w": 15,
+ "h": 17
+ },
+ "frame": {
+ "x": 70,
+ "y": 629,
+ "w": 15,
+ "h": 17
+ }
+ },
+ {
+ "filename": "543_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 14,
+ "w": 18,
+ "h": 14
+ },
+ "frame": {
+ "x": 102,
+ "y": 537,
+ "w": 18,
+ "h": 14
+ }
+ },
+ {
+ "filename": "602_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 17,
+ "w": 14,
+ "h": 11
+ },
+ "frame": {
+ "x": 88,
+ "y": 543,
+ "w": 14,
+ "h": 11
+ }
+ },
+ {
+ "filename": "605_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 9,
+ "w": 13,
"h": 19
},
"frame": {
- "x": 178,
- "y": 263,
- "w": 17,
+ "x": 67,
+ "y": 647,
+ "w": 13,
"h": 19
}
},
@@ -2958,57 +3378,15 @@
"h": 30
},
"spriteSourceSize": {
- "x": 12,
- "y": 8,
- "w": 15,
- "h": 21
- },
- "frame": {
- "x": 190,
- "y": 282,
- "w": 15,
- "h": 21
- }
- },
- {
- "filename": "648-aria_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 6,
- "w": 16,
- "h": 23
- },
- "frame": {
- "x": 239,
- "y": 227,
- "w": 16,
- "h": 23
- }
- },
- {
- "filename": "570_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 10,
- "w": 18,
+ "x": 13,
+ "y": 9,
+ "w": 13,
"h": 19
},
"frame": {
- "x": 255,
- "y": 229,
- "w": 18,
+ "x": 80,
+ "y": 646,
+ "w": 13,
"h": 19
}
},
@@ -3020,80 +3398,17 @@
"w": 40,
"h": 30
},
- "spriteSourceSize": {
- "x": 12,
- "y": 10,
- "w": 17,
- "h": 19
- },
- "frame": {
- "x": 273,
- "y": 229,
- "w": 17,
- "h": 19
- }
- },
- {
- "filename": "548_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
"spriteSourceSize": {
"x": 13,
- "y": 9,
- "w": 14,
- "h": 20
- },
- "frame": {
- "x": 290,
- "y": 228,
- "w": 14,
- "h": 20
- }
- },
- {
- "filename": "559_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
"y": 11,
- "w": 17,
- "h": 18
+ "w": 15,
+ "h": 17
},
"frame": {
- "x": 239,
- "y": 250,
- "w": 17,
- "h": 18
- }
- },
- {
- "filename": "648-aria_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 6,
- "w": 16,
- "h": 23
- },
- "frame": {
- "x": 256,
- "y": 248,
- "w": 16,
- "h": 23
+ "x": 85,
+ "y": 629,
+ "w": 15,
+ "h": 17
}
},
{
@@ -3105,20 +3420,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 12,
- "y": 8,
- "w": 15,
- "h": 21
+ "x": 13,
+ "y": 9,
+ "w": 13,
+ "h": 19
},
"frame": {
- "x": 272,
- "y": 248,
- "w": 15,
- "h": 21
+ "x": 93,
+ "y": 646,
+ "w": 13,
+ "h": 19
}
},
{
- "filename": "559_2",
+ "filename": "543_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -3126,37 +3441,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 12,
- "y": 11,
- "w": 17,
- "h": 18
+ "x": 11,
+ "y": 14,
+ "w": 18,
+ "h": 14
},
"frame": {
- "x": 287,
- "y": 248,
- "w": 17,
- "h": 18
- }
- },
- {
- "filename": "559_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 11,
- "w": 17,
- "h": 18
- },
- "frame": {
- "x": 287,
- "y": 266,
- "w": 17,
- "h": 18
+ "x": 102,
+ "y": 551,
+ "w": 18,
+ "h": 14
}
},
{
@@ -3168,16 +3462,37 @@
"h": 30
},
"spriteSourceSize": {
- "x": 13,
- "y": 9,
- "w": 15,
- "h": 20
+ "x": 14,
+ "y": 10,
+ "w": 13,
+ "h": 18
},
"frame": {
- "x": 205,
- "y": 284,
+ "x": 89,
+ "y": 554,
+ "w": 13,
+ "h": 18
+ }
+ },
+ {
+ "filename": "517_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 14,
"w": 15,
- "h": 20
+ "h": 14
+ },
+ "frame": {
+ "x": 102,
+ "y": 565,
+ "w": 15,
+ "h": 14
}
},
{
@@ -3189,20 +3504,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 13,
- "y": 9,
- "w": 15,
- "h": 20
+ "x": 14,
+ "y": 10,
+ "w": 13,
+ "h": 18
},
"frame": {
- "x": 220,
- "y": 284,
- "w": 15,
- "h": 20
+ "x": 88,
+ "y": 572,
+ "w": 13,
+ "h": 18
}
},
{
- "filename": "548_2",
+ "filename": "559_1",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -3211,19 +3526,19 @@
},
"spriteSourceSize": {
"x": 13,
- "y": 9,
- "w": 14,
- "h": 20
+ "y": 12,
+ "w": 15,
+ "h": 16
},
"frame": {
- "x": 235,
- "y": 284,
- "w": 14,
- "h": 20
+ "x": 88,
+ "y": 590,
+ "w": 15,
+ "h": 16
}
},
{
- "filename": "548_3",
+ "filename": "559_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -3232,15 +3547,57 @@
},
"spriteSourceSize": {
"x": 13,
- "y": 9,
- "w": 14,
- "h": 20
+ "y": 12,
+ "w": 15,
+ "h": 16
},
"frame": {
- "x": 249,
- "y": 284,
- "w": 14,
- "h": 20
+ "x": 89,
+ "y": 606,
+ "w": 15,
+ "h": 16
+ }
+ },
+ {
+ "filename": "559_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 12,
+ "w": 15,
+ "h": 16
+ },
+ "frame": {
+ "x": 103,
+ "y": 579,
+ "w": 15,
+ "h": 16
+ }
+ },
+ {
+ "filename": "517_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 14,
+ "w": 15,
+ "h": 14
+ },
+ "frame": {
+ "x": 104,
+ "y": 595,
+ "w": 15,
+ "h": 14
}
},
{
@@ -3252,16 +3609,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 12,
- "y": 13,
- "w": 17,
- "h": 16
+ "x": 13,
+ "y": 14,
+ "w": 15,
+ "h": 14
},
"frame": {
- "x": 270,
- "y": 272,
- "w": 17,
- "h": 16
+ "x": 104,
+ "y": 609,
+ "w": 15,
+ "h": 14
}
},
{
@@ -3273,16 +3630,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 12,
- "y": 13,
- "w": 17,
- "h": 16
+ "x": 13,
+ "y": 14,
+ "w": 15,
+ "h": 14
},
"frame": {
- "x": 270,
- "y": 288,
- "w": 17,
- "h": 16
+ "x": 100,
+ "y": 623,
+ "w": 15,
+ "h": 14
}
},
{
@@ -3294,79 +3651,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 12,
- "y": 13,
- "w": 17,
- "h": 16
+ "x": 13,
+ "y": 14,
+ "w": 15,
+ "h": 14
},
"frame": {
- "x": 287,
- "y": 288,
- "w": 17,
- "h": 16
- }
- },
- {
- "filename": "602_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 16,
- "w": 16,
- "h": 13
- },
- "frame": {
- "x": 254,
- "y": 271,
- "w": 16,
- "h": 13
- }
- },
- {
- "filename": "636_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 8,
- "w": 22,
- "h": 21
- },
- "frame": {
- "x": 195,
- "y": 261,
- "w": 22,
- "h": 21
- }
- },
- {
- "filename": "636_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 8,
- "w": 22,
- "h": 21
- },
- "frame": {
- "x": 217,
- "y": 263,
- "w": 22,
- "h": 21
+ "x": 106,
+ "y": 637,
+ "w": 15,
+ "h": 14
}
}
]
@@ -3375,6 +3669,6 @@
"meta": {
"app": "https://www.codeandweb.com/texturepacker",
"version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:ddaa135dcbd72f7b5b3beeb6d1682537:ad8907229b15129935c5d14f1f53875e:f1931bc28ee7f32dba7543723757cf2a$"
+ "smartupdate": "$TexturePacker:SmartUpdate:018cb8e5f06a9ed9edd0bdc8721daa73:985d20f8fcceb349f1b7fba26ba674e8:f1931bc28ee7f32dba7543723757cf2a$"
}
}
diff --git a/public/images/pokemon_icons_5v.png b/public/images/pokemon_icons_5v.png
index 5a8b90992b1..0f4099b575f 100644
Binary files a/public/images/pokemon_icons_5v.png and b/public/images/pokemon_icons_5v.png differ
diff --git a/public/images/pokemon_icons_6v.json b/public/images/pokemon_icons_6v.json
index 1a5544b1e12..d6c7c38304c 100644
--- a/public/images/pokemon_icons_6v.json
+++ b/public/images/pokemon_icons_6v.json
@@ -4,8 +4,8 @@
"image": "pokemon_icons_6v.png",
"format": "RGBA8888",
"size": {
- "w": 256,
- "h": 256
+ "w": 128,
+ "h": 503
},
"scale": 1,
"frames": [
@@ -18,16 +18,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 40,
- "h": 29
+ "x": 1,
+ "y": 2,
+ "w": 38,
+ "h": 28
},
"frame": {
"x": 0,
"y": 0,
- "w": 40,
- "h": 29
+ "w": 38,
+ "h": 28
}
},
{
@@ -39,16 +39,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 40,
- "h": 29
+ "x": 1,
+ "y": 2,
+ "w": 38,
+ "h": 28
},
"frame": {
"x": 0,
- "y": 29,
- "w": 40,
- "h": 29
+ "y": 28,
+ "w": 38,
+ "h": 28
}
},
{
@@ -60,16 +60,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 0,
- "y": 1,
- "w": 40,
- "h": 29
+ "x": 1,
+ "y": 2,
+ "w": 38,
+ "h": 28
},
"frame": {
- "x": 40,
+ "x": 38,
"y": 0,
- "w": 40,
- "h": 29
+ "w": 38,
+ "h": 28
}
},
{
@@ -81,15 +81,15 @@
"h": 30
},
"spriteSourceSize": {
- "x": 3,
+ "x": 4,
"y": 0,
- "w": 31,
+ "w": 29,
"h": 30
},
"frame": {
"x": 0,
- "y": 58,
- "w": 31,
+ "y": 56,
+ "w": 29,
"h": 30
}
},
@@ -102,15 +102,15 @@
"h": 30
},
"spriteSourceSize": {
- "x": 3,
+ "x": 4,
"y": 0,
- "w": 31,
+ "w": 29,
"h": 30
},
"frame": {
"x": 0,
- "y": 88,
- "w": 31,
+ "y": 86,
+ "w": 29,
"h": 30
}
},
@@ -123,15 +123,15 @@
"h": 30
},
"spriteSourceSize": {
- "x": 3,
+ "x": 4,
"y": 0,
- "w": 31,
+ "w": 29,
"h": 30
},
"frame": {
"x": 0,
- "y": 118,
- "w": 31,
+ "y": 116,
+ "w": 29,
"h": 30
}
},
@@ -144,15 +144,15 @@
"h": 30
},
"spriteSourceSize": {
- "x": 3,
+ "x": 4,
"y": 0,
- "w": 31,
+ "w": 29,
"h": 30
},
"frame": {
"x": 0,
- "y": 148,
- "w": 31,
+ "y": 146,
+ "w": 29,
"h": 30
}
},
@@ -165,16 +165,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 5,
- "y": 2,
- "w": 32,
- "h": 28
+ "x": 6,
+ "y": 3,
+ "w": 30,
+ "h": 27
},
"frame": {
- "x": 40,
- "y": 29,
- "w": 32,
- "h": 28
+ "x": 38,
+ "y": 28,
+ "w": 30,
+ "h": 27
}
},
{
@@ -186,125 +186,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 5,
- "y": 2,
- "w": 32,
- "h": 28
- },
- "frame": {
- "x": 80,
- "y": 0,
- "w": 32,
- "h": 28
- }
- },
- {
- "filename": "691_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 4,
- "w": 34,
- "h": 25
- },
- "frame": {
- "x": 112,
- "y": 0,
- "w": 34,
- "h": 25
- }
- },
- {
- "filename": "691_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 4,
- "w": 34,
- "h": 25
- },
- "frame": {
- "x": 146,
- "y": 0,
- "w": 34,
- "h": 25
- }
- },
- {
- "filename": "697_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 32,
- "h": 24
- },
- "frame": {
- "x": 180,
- "y": 0,
- "w": 32,
- "h": 24
- }
- },
- {
- "filename": "697_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 32,
- "h": 24
- },
- "frame": {
- "x": 212,
- "y": 0,
- "w": 32,
- "h": 24
- }
- },
- {
- "filename": "715_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
+ "x": 6,
"y": 3,
"w": 30,
- "h": 26
+ "h": 27
},
"frame": {
- "x": 0,
- "y": 178,
+ "x": 76,
+ "y": 0,
"w": 30,
- "h": 26
+ "h": 27
}
},
{
- "filename": "715_3",
+ "filename": "700_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -312,58 +207,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 5,
- "y": 3,
- "w": 30,
- "h": 26
+ "x": 10,
+ "y": 5,
+ "w": 22,
+ "h": 23
},
"frame": {
- "x": 0,
- "y": 204,
- "w": 30,
- "h": 26
- }
- },
- {
- "filename": "706_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 26,
- "h": 26
- },
- "frame": {
- "x": 0,
- "y": 230,
- "w": 26,
- "h": 26
- }
- },
- {
- "filename": "706_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 26,
- "h": 26
- },
- "frame": {
- "x": 26,
- "y": 230,
- "w": 26,
- "h": 26
+ "x": 106,
+ "y": 0,
+ "w": 22,
+ "h": 23
}
},
{
@@ -375,16 +228,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 28,
- "h": 27
+ "x": 8,
+ "y": 2,
+ "w": 26,
+ "h": 25
},
"frame": {
- "x": 31,
- "y": 58,
- "w": 28,
- "h": 27
+ "x": 0,
+ "y": 236,
+ "w": 26,
+ "h": 25
}
},
{
@@ -396,16 +249,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 28,
- "h": 27
+ "x": 8,
+ "y": 2,
+ "w": 26,
+ "h": 25
},
"frame": {
- "x": 31,
- "y": 85,
- "w": 28,
- "h": 27
+ "x": 0,
+ "y": 261,
+ "w": 26,
+ "h": 25
}
},
{
@@ -417,16 +270,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 28,
- "h": 27
+ "x": 8,
+ "y": 2,
+ "w": 26,
+ "h": 25
},
"frame": {
- "x": 31,
- "y": 112,
- "w": 28,
- "h": 27
+ "x": 0,
+ "y": 286,
+ "w": 26,
+ "h": 25
}
},
{
@@ -438,36 +291,15 @@
"h": 30
},
"spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 28,
- "h": 27
- },
- "frame": {
- "x": 31,
- "y": 139,
- "w": 28,
- "h": 27
- }
- },
- {
- "filename": "655_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 4,
- "w": 29,
+ "x": 8,
+ "y": 2,
+ "w": 26,
"h": 25
},
"frame": {
- "x": 31,
- "y": 166,
- "w": 29,
+ "x": 0,
+ "y": 311,
+ "w": 26,
"h": 25
}
},
@@ -480,16 +312,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 28,
- "h": 27
+ "x": 8,
+ "y": 2,
+ "w": 26,
+ "h": 25
},
"frame": {
- "x": 30,
- "y": 191,
- "w": 28,
- "h": 27
+ "x": 0,
+ "y": 336,
+ "w": 26,
+ "h": 25
}
},
{
@@ -501,16 +333,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 28,
- "h": 27
+ "x": 8,
+ "y": 2,
+ "w": 26,
+ "h": 25
},
"frame": {
- "x": 59,
- "y": 57,
- "w": 28,
- "h": 27
+ "x": 0,
+ "y": 361,
+ "w": 26,
+ "h": 25
}
},
{
@@ -522,16 +354,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 28,
- "h": 27
+ "x": 8,
+ "y": 2,
+ "w": 26,
+ "h": 25
},
"frame": {
- "x": 59,
- "y": 84,
- "w": 28,
- "h": 27
+ "x": 0,
+ "y": 386,
+ "w": 26,
+ "h": 25
}
},
{
@@ -543,16 +375,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 28,
- "h": 27
+ "x": 8,
+ "y": 2,
+ "w": 26,
+ "h": 25
},
"frame": {
- "x": 59,
- "y": 111,
- "w": 28,
- "h": 27
+ "x": 0,
+ "y": 411,
+ "w": 26,
+ "h": 25
}
},
{
@@ -564,16 +396,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 28,
- "h": 27
+ "x": 8,
+ "y": 2,
+ "w": 26,
+ "h": 25
},
"frame": {
- "x": 59,
- "y": 138,
- "w": 28,
- "h": 27
+ "x": 0,
+ "y": 436,
+ "w": 26,
+ "h": 25
}
},
{
@@ -585,816 +417,39 @@
"h": 30
},
"spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 28,
- "h": 27
- },
- "frame": {
- "x": 60,
- "y": 165,
- "w": 28,
- "h": 27
- }
- },
- {
- "filename": "655_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 4,
- "w": 29,
- "h": 25
- },
- "frame": {
- "x": 58,
- "y": 192,
- "w": 29,
- "h": 25
- }
- },
- {
- "filename": "666-high-plains_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 28,
- "h": 27
- },
- "frame": {
- "x": 72,
- "y": 29,
- "w": 28,
- "h": 27
- }
- },
- {
- "filename": "666-high-plains_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 28,
- "h": 27
- },
- "frame": {
- "x": 87,
- "y": 56,
- "w": 28,
- "h": 27
- }
- },
- {
- "filename": "666-icy-snow_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 28,
- "h": 27
- },
- "frame": {
- "x": 87,
- "y": 83,
- "w": 28,
- "h": 27
- }
- },
- {
- "filename": "666-icy-snow_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 28,
- "h": 27
- },
- "frame": {
- "x": 87,
- "y": 110,
- "w": 28,
- "h": 27
- }
- },
- {
- "filename": "666-jungle_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 28,
- "h": 27
- },
- "frame": {
- "x": 87,
- "y": 137,
- "w": 28,
- "h": 27
- }
- },
- {
- "filename": "666-jungle_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 28,
- "h": 27
- },
- "frame": {
- "x": 88,
- "y": 164,
- "w": 28,
- "h": 27
- }
- },
- {
- "filename": "666-marine_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 28,
- "h": 27
- },
- "frame": {
- "x": 100,
- "y": 28,
- "w": 28,
- "h": 27
- }
- },
- {
- "filename": "666-marine_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 28,
- "h": 27
- },
- "frame": {
- "x": 128,
- "y": 25,
- "w": 28,
- "h": 27
- }
- },
- {
- "filename": "666-meadow_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 28,
- "h": 27
- },
- "frame": {
- "x": 156,
- "y": 25,
- "w": 28,
- "h": 27
- }
- },
- {
- "filename": "666-meadow_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 28,
- "h": 27
- },
- "frame": {
- "x": 184,
- "y": 24,
- "w": 28,
- "h": 27
- }
- },
- {
- "filename": "666-modern_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 28,
- "h": 27
- },
- "frame": {
- "x": 212,
- "y": 24,
- "w": 28,
- "h": 27
- }
- },
- {
- "filename": "664_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 6,
- "w": 16,
- "h": 23
- },
- "frame": {
- "x": 240,
- "y": 24,
- "w": 16,
- "h": 23
- }
- },
- {
- "filename": "664_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 6,
- "w": 16,
- "h": 23
- },
- "frame": {
- "x": 240,
- "y": 47,
- "w": 16,
- "h": 23
- }
- },
- {
- "filename": "666-modern_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 28,
- "h": 27
- },
- "frame": {
- "x": 115,
- "y": 55,
- "w": 28,
- "h": 27
- }
- },
- {
- "filename": "666-monsoon_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 28,
- "h": 27
- },
- "frame": {
- "x": 115,
- "y": 82,
- "w": 28,
- "h": 27
- }
- },
- {
- "filename": "666-monsoon_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 28,
- "h": 27
- },
- "frame": {
- "x": 115,
- "y": 109,
- "w": 28,
- "h": 27
- }
- },
- {
- "filename": "666-ocean_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 28,
- "h": 27
- },
- "frame": {
- "x": 115,
- "y": 136,
- "w": 28,
- "h": 27
- }
- },
- {
- "filename": "666-ocean_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 28,
- "h": 27
- },
- "frame": {
- "x": 116,
- "y": 163,
- "w": 28,
- "h": 27
- }
- },
- {
- "filename": "666-poke-ball_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 28,
- "h": 27
- },
- "frame": {
- "x": 143,
- "y": 52,
- "w": 28,
- "h": 27
- }
- },
- {
- "filename": "666-poke-ball_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 28,
- "h": 27
- },
- "frame": {
- "x": 143,
- "y": 79,
- "w": 28,
- "h": 27
- }
- },
- {
- "filename": "666-polar_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 28,
- "h": 27
- },
- "frame": {
- "x": 143,
- "y": 106,
- "w": 28,
- "h": 27
- }
- },
- {
- "filename": "666-polar_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 28,
- "h": 27
- },
- "frame": {
- "x": 143,
- "y": 133,
- "w": 28,
- "h": 27
- }
- },
- {
- "filename": "666-river_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 28,
- "h": 27
- },
- "frame": {
- "x": 144,
- "y": 160,
- "w": 28,
- "h": 27
- }
- },
- {
- "filename": "666-river_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 28,
- "h": 27
- },
- "frame": {
- "x": 171,
- "y": 52,
- "w": 28,
- "h": 27
- }
- },
- {
- "filename": "666-sandstorm_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 28,
- "h": 27
- },
- "frame": {
- "x": 171,
- "y": 79,
- "w": 28,
- "h": 27
- }
- },
- {
- "filename": "666-sandstorm_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 28,
- "h": 27
- },
- "frame": {
- "x": 171,
- "y": 106,
- "w": 28,
- "h": 27
- }
- },
- {
- "filename": "666-savanna_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 28,
- "h": 27
- },
- "frame": {
- "x": 171,
- "y": 133,
- "w": 28,
- "h": 27
- }
- },
- {
- "filename": "666-savanna_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 28,
- "h": 27
- },
- "frame": {
- "x": 199,
- "y": 51,
- "w": 28,
- "h": 27
- }
- },
- {
- "filename": "666-sun_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 28,
- "h": 27
- },
- "frame": {
- "x": 199,
- "y": 78,
- "w": 28,
- "h": 27
- }
- },
- {
- "filename": "666-sun_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 28,
- "h": 27
- },
- "frame": {
- "x": 199,
- "y": 105,
- "w": 28,
- "h": 27
- }
- },
- {
- "filename": "666-tundra_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 28,
- "h": 27
- },
- "frame": {
- "x": 199,
- "y": 132,
- "w": 28,
- "h": 27
- }
- },
- {
- "filename": "666-tundra_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 28,
- "h": 27
- },
- "frame": {
- "x": 172,
- "y": 160,
- "w": 28,
- "h": 27
- }
- },
- {
- "filename": "709_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
+ "x": 8,
"y": 2,
- "w": 27,
- "h": 27
- },
- "frame": {
- "x": 200,
- "y": 159,
- "w": 27,
- "h": 27
- }
- },
- {
- "filename": "709_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 27,
- "h": 27
- },
- "frame": {
- "x": 227,
- "y": 70,
- "w": 27,
- "h": 27
- }
- },
- {
- "filename": "708_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 6,
- "w": 27,
- "h": 23
- },
- "frame": {
- "x": 227,
- "y": 97,
- "w": 27,
- "h": 23
- }
- },
- {
- "filename": "708_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 6,
- "w": 27,
- "h": 23
- },
- "frame": {
- "x": 227,
- "y": 120,
- "w": 27,
- "h": 23
- }
- },
- {
- "filename": "700_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 4,
- "w": 24,
+ "w": 26,
"h": 25
},
"frame": {
- "x": 227,
- "y": 143,
- "w": 24,
+ "x": 0,
+ "y": 461,
+ "w": 26,
"h": 25
}
},
+ {
+ "filename": "696_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 12,
+ "w": 20,
+ "h": 17
+ },
+ "frame": {
+ "x": 0,
+ "y": 486,
+ "w": 20,
+ "h": 17
+ }
+ },
{
"filename": "700_3",
"rotated": false,
@@ -1404,15 +459,792 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
- "y": 4,
- "w": 24,
+ "x": 10,
+ "y": 5,
+ "w": 22,
+ "h": 23
+ },
+ "frame": {
+ "x": 106,
+ "y": 23,
+ "w": 22,
+ "h": 23
+ }
+ },
+ {
+ "filename": "697_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 6,
+ "w": 30,
+ "h": 22
+ },
+ "frame": {
+ "x": 76,
+ "y": 27,
+ "w": 30,
+ "h": 22
+ }
+ },
+ {
+ "filename": "696_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 12,
+ "w": 20,
+ "h": 17
+ },
+ "frame": {
+ "x": 20,
+ "y": 486,
+ "w": 20,
+ "h": 17
+ }
+ },
+ {
+ "filename": "666-high-plains_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 2,
+ "w": 26,
"h": 25
},
"frame": {
- "x": 227,
- "y": 168,
- "w": 24,
+ "x": 29,
+ "y": 56,
+ "w": 26,
+ "h": 25
+ }
+ },
+ {
+ "filename": "666-high-plains_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 2,
+ "w": 26,
+ "h": 25
+ },
+ "frame": {
+ "x": 29,
+ "y": 81,
+ "w": 26,
+ "h": 25
+ }
+ },
+ {
+ "filename": "666-icy-snow_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 2,
+ "w": 26,
+ "h": 25
+ },
+ "frame": {
+ "x": 29,
+ "y": 106,
+ "w": 26,
+ "h": 25
+ }
+ },
+ {
+ "filename": "666-icy-snow_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 2,
+ "w": 26,
+ "h": 25
+ },
+ "frame": {
+ "x": 29,
+ "y": 131,
+ "w": 26,
+ "h": 25
+ }
+ },
+ {
+ "filename": "655_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 5,
+ "w": 27,
+ "h": 23
+ },
+ "frame": {
+ "x": 29,
+ "y": 156,
+ "w": 27,
+ "h": 23
+ }
+ },
+ {
+ "filename": "691_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 5,
+ "w": 32,
+ "h": 23
+ },
+ "frame": {
+ "x": 26,
+ "y": 179,
+ "w": 32,
+ "h": 23
+ }
+ },
+ {
+ "filename": "691_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 5,
+ "w": 32,
+ "h": 23
+ },
+ "frame": {
+ "x": 26,
+ "y": 202,
+ "w": 32,
+ "h": 23
+ }
+ },
+ {
+ "filename": "697_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 6,
+ "w": 30,
+ "h": 22
+ },
+ "frame": {
+ "x": 26,
+ "y": 225,
+ "w": 30,
+ "h": 22
+ }
+ },
+ {
+ "filename": "715_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 4,
+ "w": 28,
+ "h": 24
+ },
+ "frame": {
+ "x": 26,
+ "y": 247,
+ "w": 28,
+ "h": 24
+ }
+ },
+ {
+ "filename": "715_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 4,
+ "w": 28,
+ "h": 24
+ },
+ "frame": {
+ "x": 26,
+ "y": 271,
+ "w": 28,
+ "h": 24
+ }
+ },
+ {
+ "filename": "666-jungle_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 2,
+ "w": 26,
+ "h": 25
+ },
+ "frame": {
+ "x": 26,
+ "y": 295,
+ "w": 26,
+ "h": 25
+ }
+ },
+ {
+ "filename": "666-jungle_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 2,
+ "w": 26,
+ "h": 25
+ },
+ "frame": {
+ "x": 26,
+ "y": 320,
+ "w": 26,
+ "h": 25
+ }
+ },
+ {
+ "filename": "666-marine_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 2,
+ "w": 26,
+ "h": 25
+ },
+ "frame": {
+ "x": 26,
+ "y": 345,
+ "w": 26,
+ "h": 25
+ }
+ },
+ {
+ "filename": "666-marine_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 2,
+ "w": 26,
+ "h": 25
+ },
+ "frame": {
+ "x": 26,
+ "y": 370,
+ "w": 26,
+ "h": 25
+ }
+ },
+ {
+ "filename": "666-meadow_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 2,
+ "w": 26,
+ "h": 25
+ },
+ "frame": {
+ "x": 26,
+ "y": 395,
+ "w": 26,
+ "h": 25
+ }
+ },
+ {
+ "filename": "666-meadow_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 2,
+ "w": 26,
+ "h": 25
+ },
+ "frame": {
+ "x": 26,
+ "y": 420,
+ "w": 26,
+ "h": 25
+ }
+ },
+ {
+ "filename": "666-modern_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 2,
+ "w": 26,
+ "h": 25
+ },
+ "frame": {
+ "x": 26,
+ "y": 445,
+ "w": 26,
+ "h": 25
+ }
+ },
+ {
+ "filename": "666-modern_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 2,
+ "w": 26,
+ "h": 25
+ },
+ "frame": {
+ "x": 55,
+ "y": 55,
+ "w": 26,
+ "h": 25
+ }
+ },
+ {
+ "filename": "666-monsoon_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 2,
+ "w": 26,
+ "h": 25
+ },
+ "frame": {
+ "x": 55,
+ "y": 80,
+ "w": 26,
+ "h": 25
+ }
+ },
+ {
+ "filename": "666-monsoon_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 2,
+ "w": 26,
+ "h": 25
+ },
+ "frame": {
+ "x": 55,
+ "y": 105,
+ "w": 26,
+ "h": 25
+ }
+ },
+ {
+ "filename": "666-ocean_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 2,
+ "w": 26,
+ "h": 25
+ },
+ "frame": {
+ "x": 55,
+ "y": 130,
+ "w": 26,
+ "h": 25
+ }
+ },
+ {
+ "filename": "713_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 4,
+ "w": 27,
+ "h": 24
+ },
+ "frame": {
+ "x": 56,
+ "y": 155,
+ "w": 27,
+ "h": 24
+ }
+ },
+ {
+ "filename": "666-ocean_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 2,
+ "w": 26,
+ "h": 25
+ },
+ "frame": {
+ "x": 58,
+ "y": 179,
+ "w": 26,
+ "h": 25
+ }
+ },
+ {
+ "filename": "655_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 5,
+ "w": 27,
+ "h": 23
+ },
+ "frame": {
+ "x": 58,
+ "y": 204,
+ "w": 27,
+ "h": 23
+ }
+ },
+ {
+ "filename": "713_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 4,
+ "w": 27,
+ "h": 24
+ },
+ "frame": {
+ "x": 56,
+ "y": 227,
+ "w": 27,
+ "h": 24
+ }
+ },
+ {
+ "filename": "666-poke-ball_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 2,
+ "w": 26,
+ "h": 25
+ },
+ "frame": {
+ "x": 54,
+ "y": 251,
+ "w": 26,
+ "h": 25
+ }
+ },
+ {
+ "filename": "666-poke-ball_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 2,
+ "w": 26,
+ "h": 25
+ },
+ "frame": {
+ "x": 54,
+ "y": 276,
+ "w": 26,
+ "h": 25
+ }
+ },
+ {
+ "filename": "666-polar_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 2,
+ "w": 26,
+ "h": 25
+ },
+ "frame": {
+ "x": 52,
+ "y": 301,
+ "w": 26,
+ "h": 25
+ }
+ },
+ {
+ "filename": "666-polar_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 2,
+ "w": 26,
+ "h": 25
+ },
+ "frame": {
+ "x": 52,
+ "y": 326,
+ "w": 26,
+ "h": 25
+ }
+ },
+ {
+ "filename": "666-river_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 2,
+ "w": 26,
+ "h": 25
+ },
+ "frame": {
+ "x": 52,
+ "y": 351,
+ "w": 26,
+ "h": 25
+ }
+ },
+ {
+ "filename": "666-river_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 2,
+ "w": 26,
+ "h": 25
+ },
+ "frame": {
+ "x": 52,
+ "y": 376,
+ "w": 26,
+ "h": 25
+ }
+ },
+ {
+ "filename": "666-sandstorm_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 2,
+ "w": 26,
+ "h": 25
+ },
+ "frame": {
+ "x": 52,
+ "y": 401,
+ "w": 26,
+ "h": 25
+ }
+ },
+ {
+ "filename": "666-sandstorm_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 2,
+ "w": 26,
+ "h": 25
+ },
+ "frame": {
+ "x": 52,
+ "y": 426,
+ "w": 26,
+ "h": 25
+ }
+ },
+ {
+ "filename": "666-savanna_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 2,
+ "w": 26,
+ "h": 25
+ },
+ "frame": {
+ "x": 52,
+ "y": 451,
+ "w": 26,
+ "h": 25
+ }
+ },
+ {
+ "filename": "666-savanna_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 2,
+ "w": 26,
+ "h": 25
+ },
+ "frame": {
+ "x": 81,
+ "y": 49,
+ "w": 26,
"h": 25
}
},
@@ -1425,15 +1257,36 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
- "y": 4,
- "w": 23,
+ "x": 10,
+ "y": 5,
+ "w": 21,
+ "h": 23
+ },
+ "frame": {
+ "x": 107,
+ "y": 46,
+ "w": 21,
+ "h": 23
+ }
+ },
+ {
+ "filename": "666-sun_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 2,
+ "w": 26,
"h": 25
},
"frame": {
- "x": 87,
- "y": 192,
- "w": 23,
+ "x": 81,
+ "y": 74,
+ "w": 26,
"h": 25
}
},
@@ -1446,15 +1299,36 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
- "y": 4,
- "w": 23,
+ "x": 10,
+ "y": 5,
+ "w": 21,
+ "h": 23
+ },
+ "frame": {
+ "x": 107,
+ "y": 69,
+ "w": 21,
+ "h": 23
+ }
+ },
+ {
+ "filename": "666-sun_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 2,
+ "w": 26,
"h": 25
},
"frame": {
- "x": 110,
- "y": 191,
- "w": 23,
+ "x": 81,
+ "y": 99,
+ "w": 26,
"h": 25
}
},
@@ -1467,20 +1341,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
- "y": 4,
- "w": 23,
- "h": 25
+ "x": 10,
+ "y": 5,
+ "w": 21,
+ "h": 23
},
"frame": {
- "x": 133,
- "y": 190,
- "w": 23,
- "h": 25
+ "x": 107,
+ "y": 92,
+ "w": 21,
+ "h": 23
}
},
{
- "filename": "654_2",
+ "filename": "666-tundra_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1488,37 +1362,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
- "y": 5,
- "w": 22,
- "h": 24
+ "x": 8,
+ "y": 2,
+ "w": 26,
+ "h": 25
},
"frame": {
- "x": 156,
- "y": 187,
- "w": 22,
- "h": 24
- }
- },
- {
- "filename": "654_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 5,
- "w": 22,
- "h": 24
- },
- "frame": {
- "x": 178,
- "y": 187,
- "w": 22,
- "h": 24
+ "x": 81,
+ "y": 124,
+ "w": 26,
+ "h": 25
}
},
{
@@ -1530,16 +1383,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 8,
- "y": 5,
- "w": 23,
- "h": 22
+ "x": 9,
+ "y": 6,
+ "w": 21,
+ "h": 20
},
"frame": {
- "x": 200,
- "y": 186,
- "w": 23,
- "h": 22
+ "x": 107,
+ "y": 115,
+ "w": 21,
+ "h": 20
}
},
{
@@ -1550,21 +1403,63 @@
"w": 40,
"h": 30
},
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 6,
+ "w": 21,
+ "h": 20
+ },
+ "frame": {
+ "x": 107,
+ "y": 135,
+ "w": 21,
+ "h": 20
+ }
+ },
+ {
+ "filename": "706_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
"spriteSourceSize": {
"x": 8,
"y": 5,
+ "w": 24,
+ "h": 24
+ },
+ "frame": {
+ "x": 83,
+ "y": 149,
+ "w": 24,
+ "h": 24
+ }
+ },
+ {
+ "filename": "673_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
"w": 23,
"h": 22
},
"frame": {
- "x": 223,
- "y": 193,
+ "x": 84,
+ "y": 173,
"w": 23,
"h": 22
}
},
{
- "filename": "720_1",
+ "filename": "666-tundra_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1573,19 +1468,19 @@
},
"spriteSourceSize": {
"x": 8,
- "y": 7,
- "w": 23,
- "h": 21
+ "y": 2,
+ "w": 26,
+ "h": 25
},
"frame": {
- "x": 200,
- "y": 208,
- "w": 23,
- "h": 21
+ "x": 85,
+ "y": 195,
+ "w": 26,
+ "h": 25
}
},
{
- "filename": "720_2",
+ "filename": "653_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1593,20 +1488,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 8,
- "y": 7,
- "w": 23,
- "h": 21
+ "x": 11,
+ "y": 9,
+ "w": 17,
+ "h": 19
},
"frame": {
- "x": 223,
- "y": 215,
- "w": 23,
- "h": 21
+ "x": 111,
+ "y": 195,
+ "w": 17,
+ "h": 19
}
},
{
- "filename": "720_3",
+ "filename": "653_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1614,15 +1509,36 @@
"h": 30
},
"spriteSourceSize": {
- "x": 8,
+ "x": 11,
+ "y": 9,
+ "w": 17,
+ "h": 19
+ },
+ "frame": {
+ "x": 111,
+ "y": 214,
+ "w": 17,
+ "h": 19
+ }
+ },
+ {
+ "filename": "708_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
"y": 7,
- "w": 23,
+ "w": 25,
"h": 21
},
"frame": {
- "x": 156,
- "y": 211,
- "w": 23,
+ "x": 85,
+ "y": 220,
+ "w": 25,
"h": 21
}
},
@@ -1634,21 +1550,63 @@
"w": 40,
"h": 30
},
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 7,
+ "w": 18,
+ "h": 21
+ },
+ "frame": {
+ "x": 110,
+ "y": 233,
+ "w": 18,
+ "h": 21
+ }
+ },
+ {
+ "filename": "708_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 7,
+ "w": 25,
+ "h": 21
+ },
+ "frame": {
+ "x": 83,
+ "y": 241,
+ "w": 25,
+ "h": 21
+ }
+ },
+ {
+ "filename": "654_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
"spriteSourceSize": {
"x": 10,
"y": 6,
"w": 20,
- "h": 23
+ "h": 22
},
"frame": {
- "x": 179,
- "y": 211,
+ "x": 108,
+ "y": 254,
"w": 20,
- "h": 23
+ "h": 22
}
},
{
- "filename": "705_2",
+ "filename": "709_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1656,20 +1614,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 12,
- "y": 5,
- "w": 17,
- "h": 24
+ "x": 8,
+ "y": 3,
+ "w": 25,
+ "h": 25
},
"frame": {
- "x": 52,
- "y": 232,
- "w": 17,
- "h": 24
+ "x": 80,
+ "y": 262,
+ "w": 25,
+ "h": 25
}
},
{
- "filename": "705_3",
+ "filename": "673_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1677,18 +1635,81 @@
"h": 30
},
"spriteSourceSize": {
- "x": 12,
+ "x": 8,
+ "y": 6,
+ "w": 23,
+ "h": 22
+ },
+ "frame": {
+ "x": 105,
+ "y": 276,
+ "w": 23,
+ "h": 22
+ }
+ },
+ {
+ "filename": "709_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 3,
+ "w": 25,
+ "h": 25
+ },
+ "frame": {
+ "x": 80,
+ "y": 287,
+ "w": 25,
+ "h": 25
+ }
+ },
+ {
+ "filename": "706_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
"y": 5,
- "w": 17,
+ "w": 24,
"h": 24
},
"frame": {
- "x": 69,
- "y": 232,
- "w": 17,
+ "x": 78,
+ "y": 312,
+ "w": 24,
"h": 24
}
},
+ {
+ "filename": "654_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 6,
+ "w": 20,
+ "h": 22
+ },
+ "frame": {
+ "x": 78,
+ "y": 336,
+ "w": 20,
+ "h": 22
+ }
+ },
{
"filename": "690_3",
"rotated": false,
@@ -1698,20 +1719,104 @@
"h": 30
},
"spriteSourceSize": {
- "x": 10,
+ "x": 11,
+ "y": 7,
+ "w": 18,
+ "h": 21
+ },
+ "frame": {
+ "x": 78,
+ "y": 402,
+ "w": 18,
+ "h": 21
+ }
+ },
+ {
+ "filename": "720_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 8,
+ "w": 21,
+ "h": 19
+ },
+ "frame": {
+ "x": 105,
+ "y": 298,
+ "w": 21,
+ "h": 19
+ }
+ },
+ {
+ "filename": "720_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 8,
+ "w": 21,
+ "h": 19
+ },
+ "frame": {
+ "x": 102,
+ "y": 317,
+ "w": 21,
+ "h": 19
+ }
+ },
+ {
+ "filename": "720_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 8,
+ "w": 21,
+ "h": 19
+ },
+ "frame": {
+ "x": 98,
+ "y": 336,
+ "w": 21,
+ "h": 19
+ }
+ },
+ {
+ "filename": "705_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
"y": 6,
- "w": 20,
- "h": 23
+ "w": 15,
+ "h": 22
},
"frame": {
- "x": 86,
- "y": 217,
- "w": 20,
- "h": 23
+ "x": 98,
+ "y": 355,
+ "w": 15,
+ "h": 22
}
},
{
- "filename": "704_2",
+ "filename": "705_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1720,162 +1825,15 @@
},
"spriteSourceSize": {
"x": 13,
- "y": 13,
- "w": 14,
- "h": 16
+ "y": 6,
+ "w": 15,
+ "h": 22
},
"frame": {
- "x": 86,
- "y": 240,
- "w": 14,
- "h": 16
- }
- },
- {
- "filename": "704_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 13,
- "w": 14,
- "h": 16
- },
- "frame": {
- "x": 100,
- "y": 240,
- "w": 14,
- "h": 16
- }
- },
- {
- "filename": "696_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 11,
- "w": 22,
- "h": 19
- },
- "frame": {
- "x": 199,
- "y": 229,
- "w": 22,
- "h": 19
- }
- },
- {
- "filename": "696_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 11,
- "w": 22,
- "h": 19
- },
- "frame": {
- "x": 221,
- "y": 236,
- "w": 22,
- "h": 19
- }
- },
- {
- "filename": "653_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 8,
- "w": 19,
- "h": 21
- },
- "frame": {
- "x": 106,
- "y": 217,
- "w": 19,
- "h": 21
- }
- },
- {
- "filename": "653_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 8,
- "w": 19,
- "h": 21
- },
- "frame": {
- "x": 125,
- "y": 216,
- "w": 19,
- "h": 21
- }
- },
- {
- "filename": "665_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 10,
- "w": 18,
- "h": 19
- },
- "frame": {
- "x": 125,
- "y": 237,
- "w": 18,
- "h": 19
- }
- },
- {
- "filename": "665_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 10,
- "w": 18,
- "h": 19
- },
- "frame": {
- "x": 143,
- "y": 237,
- "w": 18,
- "h": 19
+ "x": 113,
+ "y": 355,
+ "w": 15,
+ "h": 22
}
},
{
@@ -1886,16 +1844,121 @@
"w": 40,
"h": 30
},
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 9,
+ "w": 17,
+ "h": 19
+ },
+ "frame": {
+ "x": 98,
+ "y": 377,
+ "w": 17,
+ "h": 19
+ }
+ },
+ {
+ "filename": "672_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
"spriteSourceSize": {
"x": 11,
- "y": 8,
- "w": 19,
+ "y": 10,
+ "w": 17,
+ "h": 18
+ },
+ "frame": {
+ "x": 78,
+ "y": 463,
+ "w": 17,
+ "h": 18
+ }
+ },
+ {
+ "filename": "704_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 14,
+ "w": 12,
+ "h": 14
+ },
+ "frame": {
+ "x": 26,
+ "y": 470,
+ "w": 12,
+ "h": 14
+ }
+ },
+ {
+ "filename": "704_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 14,
+ "w": 12,
+ "h": 14
+ },
+ "frame": {
+ "x": 115,
+ "y": 377,
+ "w": 12,
+ "h": 14
+ }
+ },
+ {
+ "filename": "664_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 7,
+ "w": 14,
"h": 21
},
"frame": {
- "x": 161,
- "y": 234,
- "w": 19,
+ "x": 96,
+ "y": 402,
+ "w": 14,
+ "h": 21
+ }
+ },
+ {
+ "filename": "664_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 7,
+ "w": 14,
+ "h": 21
+ },
+ "frame": {
+ "x": 97,
+ "y": 423,
+ "w": 14,
"h": 21
}
},
@@ -1908,16 +1971,121 @@
"h": 30
},
"spriteSourceSize": {
- "x": 11,
- "y": 8,
- "w": 19,
- "h": 21
+ "x": 12,
+ "y": 9,
+ "w": 17,
+ "h": 19
},
"frame": {
- "x": 180,
- "y": 234,
- "w": 19,
- "h": 21
+ "x": 97,
+ "y": 444,
+ "w": 17,
+ "h": 19
+ }
+ },
+ {
+ "filename": "672_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 10,
+ "w": 17,
+ "h": 18
+ },
+ "frame": {
+ "x": 95,
+ "y": 463,
+ "w": 17,
+ "h": 18
+ }
+ },
+ {
+ "filename": "665_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 11,
+ "w": 16,
+ "h": 17
+ },
+ "frame": {
+ "x": 112,
+ "y": 463,
+ "w": 16,
+ "h": 17
+ }
+ },
+ {
+ "filename": "665_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 11,
+ "w": 16,
+ "h": 17
+ },
+ "frame": {
+ "x": 112,
+ "y": 480,
+ "w": 16,
+ "h": 17
+ }
+ },
+ {
+ "filename": "712_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 10,
+ "w": 17,
+ "h": 18
+ },
+ "frame": {
+ "x": 40,
+ "y": 476,
+ "w": 17,
+ "h": 18
+ }
+ },
+ {
+ "filename": "712_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 10,
+ "w": 17,
+ "h": 18
+ },
+ "frame": {
+ "x": 57,
+ "y": 476,
+ "w": 17,
+ "h": 18
}
}
]
@@ -1926,6 +2094,6 @@
"meta": {
"app": "https://www.codeandweb.com/texturepacker",
"version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:c24894efc8d460788d841bd8319b26fc:c1c769139ddb7b9be905dc67d0ba57ec:8a74f769af240f74b0e67390bbb36c14$"
+ "smartupdate": "$TexturePacker:SmartUpdate:ec18ec1c07f3c5e9a4d73cc7718bb008:72df57c833892d8aac4a220844408721:8a74f769af240f74b0e67390bbb36c14$"
}
}
diff --git a/public/images/pokemon_icons_6v.png b/public/images/pokemon_icons_6v.png
index 2a0e636fa9d..8b0ecd85af5 100644
Binary files a/public/images/pokemon_icons_6v.png and b/public/images/pokemon_icons_6v.png differ
diff --git a/public/images/pokemon_icons_7.json b/public/images/pokemon_icons_7.json
index bd9f404eb26..0523a232d79 100644
--- a/public/images/pokemon_icons_7.json
+++ b/public/images/pokemon_icons_7.json
@@ -5260,7 +5260,7 @@
}
},
{
- "filename": "778",
+ "filename": "778-disguised",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -5281,7 +5281,7 @@
}
},
{
- "filename": "778s",
+ "filename": "778s-disguised",
"rotated": false,
"trimmed": true,
"sourceSize": {
diff --git a/public/images/pokemon_icons_7v.json b/public/images/pokemon_icons_7v.json
index d546b8c759e..ceb7a0b991f 100644
--- a/public/images/pokemon_icons_7v.json
+++ b/public/images/pokemon_icons_7v.json
@@ -1,1343 +1,2687 @@
-{
- "textures": [
- {
- "image": "pokemon_icons_7v.png",
- "format": "RGBA8888",
- "size": {
- "w": 213,
- "h": 213
- },
- "scale": 1,
- "frames": [
- {
- "filename": "809_2",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 40,
- "h": 30
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 40,
- "h": 30
- }
- },
- {
- "filename": "809_3",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 40,
- "h": 30
- },
- "frame": {
- "x": 40,
- "y": 0,
- "w": 40,
- "h": 30
- }
- },
- {
- "filename": "800-ultra_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 0,
- "w": 37,
- "h": 30
- },
- "frame": {
- "x": 80,
- "y": 0,
- "w": 37,
- "h": 30
- }
- },
- {
- "filename": "800-ultra_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 0,
- "w": 37,
- "h": 30
- },
- "frame": {
- "x": 117,
- "y": 0,
- "w": 37,
- "h": 30
- }
- },
- {
- "filename": "800-dusk-mane_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 0,
- "w": 36,
- "h": 30
- },
- "frame": {
- "x": 154,
- "y": 0,
- "w": 36,
- "h": 30
- }
- },
- {
- "filename": "763_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 3,
- "w": 23,
- "h": 26
- },
- "frame": {
- "x": 190,
- "y": 0,
- "w": 23,
- "h": 26
- }
- },
- {
- "filename": "763_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 3,
- "w": 23,
- "h": 26
- },
- "frame": {
- "x": 190,
- "y": 26,
- "w": 23,
- "h": 26
- }
- },
- {
- "filename": "800-dusk-mane_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 2,
- "y": 0,
- "w": 36,
- "h": 30
- },
- "frame": {
- "x": 0,
- "y": 52,
- "w": 36,
- "h": 30
- }
- },
- {
- "filename": "789_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 5,
- "w": 25,
- "h": 22
- },
- "frame": {
- "x": 0,
- "y": 30,
- "w": 25,
- "h": 22
- }
- },
- {
- "filename": "789_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 5,
- "w": 25,
- "h": 22
- },
- "frame": {
- "x": 25,
- "y": 30,
- "w": 25,
- "h": 22
- }
- },
- {
- "filename": "798_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 3,
- "y": 0,
- "w": 33,
- "h": 30
- },
- "frame": {
- "x": 0,
- "y": 82,
- "w": 33,
- "h": 30
- }
- },
- {
- "filename": "798_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 3,
- "y": 0,
- "w": 33,
- "h": 30
- },
- "frame": {
- "x": 0,
- "y": 112,
- "w": 33,
- "h": 30
- }
- },
- {
- "filename": "800-dawn-wings_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 0,
- "w": 33,
- "h": 30
- },
- "frame": {
- "x": 0,
- "y": 142,
- "w": 33,
- "h": 30
- }
- },
- {
- "filename": "800-dawn-wings_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 0,
- "w": 33,
- "h": 30
- },
- "frame": {
- "x": 0,
- "y": 172,
- "w": 33,
- "h": 30
- }
- },
- {
- "filename": "792_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 0,
- "w": 30,
- "h": 30
- },
- "frame": {
- "x": 33,
- "y": 82,
- "w": 30,
- "h": 30
- }
- },
- {
- "filename": "792_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 0,
- "w": 30,
- "h": 30
- },
- "frame": {
- "x": 36,
- "y": 52,
- "w": 30,
- "h": 30
- }
- },
- {
- "filename": "789_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 5,
- "w": 25,
- "h": 22
- },
- "frame": {
- "x": 50,
- "y": 30,
- "w": 25,
- "h": 22
- }
- },
- {
- "filename": "800_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 0,
- "w": 30,
- "h": 30
- },
- "frame": {
- "x": 33,
- "y": 112,
- "w": 30,
- "h": 30
- }
- },
- {
- "filename": "800_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 0,
- "w": 30,
- "h": 30
- },
- "frame": {
- "x": 33,
- "y": 142,
- "w": 30,
- "h": 30
- }
- },
- {
- "filename": "809-gigantamax_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 0,
- "w": 32,
- "h": 29
- },
- "frame": {
- "x": 33,
- "y": 172,
- "w": 32,
- "h": 29
- }
- },
- {
- "filename": "809-gigantamax_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 0,
- "w": 32,
- "h": 29
- },
- "frame": {
- "x": 63,
- "y": 82,
- "w": 32,
- "h": 29
- }
- },
- {
- "filename": "791_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 1,
- "w": 31,
- "h": 29
- },
- "frame": {
- "x": 66,
- "y": 52,
- "w": 31,
- "h": 29
- }
- },
- {
- "filename": "747_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 6,
- "w": 24,
- "h": 22
- },
- "frame": {
- "x": 75,
- "y": 30,
- "w": 24,
- "h": 22
- }
- },
- {
- "filename": "791_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 1,
- "w": 31,
- "h": 29
- },
- "frame": {
- "x": 63,
- "y": 111,
- "w": 31,
- "h": 29
- }
- },
- {
- "filename": "791_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 1,
- "w": 31,
- "h": 29
- },
- "frame": {
- "x": 63,
- "y": 140,
- "w": 31,
- "h": 29
- }
- },
- {
- "filename": "730_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 1,
- "w": 30,
- "h": 29
- },
- "frame": {
- "x": 65,
- "y": 169,
- "w": 30,
- "h": 29
- }
- },
- {
- "filename": "771_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 10,
- "w": 20,
- "h": 15
- },
- "frame": {
- "x": 65,
- "y": 198,
- "w": 20,
- "h": 15
- }
- },
- {
- "filename": "771_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 10,
- "w": 20,
- "h": 15
- },
- "frame": {
- "x": 85,
- "y": 198,
- "w": 20,
- "h": 15
- }
- },
- {
- "filename": "730_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 1,
- "w": 30,
- "h": 29
- },
- "frame": {
- "x": 94,
- "y": 111,
- "w": 30,
- "h": 29
- }
- },
- {
- "filename": "748_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 4,
- "w": 28,
- "h": 26
- },
- "frame": {
- "x": 94,
- "y": 140,
- "w": 28,
- "h": 26
- }
- },
- {
- "filename": "748_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 4,
- "w": 28,
- "h": 26
- },
- "frame": {
- "x": 95,
- "y": 81,
- "w": 28,
- "h": 26
- }
- },
- {
- "filename": "729_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 4,
- "w": 25,
- "h": 26
- },
- "frame": {
- "x": 97,
- "y": 52,
- "w": 25,
- "h": 26
- }
- },
- {
- "filename": "747_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 6,
- "w": 24,
- "h": 22
- },
- "frame": {
- "x": 99,
- "y": 30,
- "w": 24,
- "h": 22
- }
- },
- {
- "filename": "729_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 4,
- "w": 25,
- "h": 26
- },
- "frame": {
- "x": 122,
- "y": 52,
- "w": 25,
- "h": 26
- }
- },
- {
- "filename": "728_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 7,
- "w": 19,
- "h": 22
- },
- "frame": {
- "x": 123,
- "y": 30,
- "w": 19,
- "h": 22
- }
- },
- {
- "filename": "728_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 7,
- "w": 19,
- "h": 22
- },
- "frame": {
- "x": 142,
- "y": 30,
- "w": 19,
- "h": 22
- }
- },
- {
- "filename": "768_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 26,
- "h": 25
- },
- "frame": {
- "x": 161,
- "y": 30,
- "w": 26,
- "h": 25
- }
- },
- {
- "filename": "768_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 26,
- "h": 25
- },
- "frame": {
- "x": 187,
- "y": 52,
- "w": 26,
- "h": 25
- }
- },
- {
- "filename": "756_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 24,
- "h": 26
- },
- "frame": {
- "x": 95,
- "y": 166,
- "w": 24,
- "h": 26
- }
- },
- {
- "filename": "790_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 6,
- "w": 23,
- "h": 21
- },
- "frame": {
- "x": 105,
- "y": 192,
- "w": 23,
- "h": 21
- }
- },
- {
- "filename": "756_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 24,
- "h": 26
- },
- "frame": {
- "x": 119,
- "y": 166,
- "w": 24,
- "h": 26
- }
- },
- {
- "filename": "790_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 6,
- "w": 23,
- "h": 21
- },
- "frame": {
- "x": 128,
- "y": 192,
- "w": 23,
- "h": 21
- }
- },
- {
- "filename": "802_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 3,
- "w": 24,
- "h": 26
- },
- "frame": {
- "x": 122,
- "y": 140,
- "w": 24,
- "h": 26
- }
- },
- {
- "filename": "802_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 3,
- "w": 24,
- "h": 26
- },
- "frame": {
- "x": 143,
- "y": 166,
- "w": 24,
- "h": 26
- }
- },
- {
- "filename": "761_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 7,
- "w": 18,
- "h": 21
- },
- "frame": {
- "x": 151,
- "y": 192,
- "w": 18,
- "h": 21
- }
- },
- {
- "filename": "762_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 3,
- "w": 20,
- "h": 25
- },
- "frame": {
- "x": 167,
- "y": 55,
- "w": 20,
- "h": 25
- }
- },
- {
- "filename": "762_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 3,
- "w": 20,
- "h": 25
- },
- "frame": {
- "x": 147,
- "y": 55,
- "w": 20,
- "h": 25
- }
- },
- {
- "filename": "802_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 3,
- "w": 24,
- "h": 26
- },
- "frame": {
- "x": 123,
- "y": 78,
- "w": 24,
- "h": 26
- }
- },
- {
- "filename": "767_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 10,
- "w": 26,
- "h": 16
- },
- "frame": {
- "x": 187,
- "y": 77,
- "w": 26,
- "h": 16
- }
- },
- {
- "filename": "761_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 7,
- "w": 18,
- "h": 21
- },
- "frame": {
- "x": 169,
- "y": 80,
- "w": 18,
- "h": 21
- }
- },
- {
- "filename": "754_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 5,
- "w": 22,
- "h": 24
- },
- "frame": {
- "x": 147,
- "y": 80,
- "w": 22,
- "h": 24
- }
- },
- {
- "filename": "767_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 10,
- "w": 26,
- "h": 16
- },
- "frame": {
- "x": 187,
- "y": 93,
- "w": 26,
- "h": 16
- }
- },
- {
- "filename": "778_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 4,
- "w": 19,
- "h": 24
- },
- "frame": {
- "x": 167,
- "y": 104,
- "w": 19,
- "h": 24
- }
- },
- {
- "filename": "778_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 4,
- "w": 19,
- "h": 24
- },
- "frame": {
- "x": 146,
- "y": 104,
- "w": 19,
- "h": 24
- }
- },
- {
- "filename": "754_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 5,
- "w": 22,
- "h": 24
- },
- "frame": {
- "x": 124,
- "y": 104,
- "w": 22,
- "h": 24
- }
- },
- {
- "filename": "793_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 3,
- "w": 23,
- "h": 26
- },
- "frame": {
- "x": 186,
- "y": 109,
- "w": 23,
- "h": 26
- }
- },
- {
- "filename": "808_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 10,
- "w": 19,
- "h": 19
- },
- "frame": {
- "x": 167,
- "y": 128,
- "w": 19,
- "h": 19
- }
- },
- {
- "filename": "808_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 10,
- "w": 19,
- "h": 19
- },
- "frame": {
- "x": 146,
- "y": 147,
- "w": 19,
- "h": 19
- }
- },
- {
- "filename": "793_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 3,
- "w": 23,
- "h": 26
- },
- "frame": {
- "x": 186,
- "y": 135,
- "w": 23,
- "h": 26
- }
- },
- {
- "filename": "753_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 7,
- "w": 16,
- "h": 21
- },
- "frame": {
- "x": 169,
- "y": 147,
- "w": 16,
- "h": 21
- }
- },
- {
- "filename": "753_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 7,
- "w": 16,
- "h": 21
- },
- "frame": {
- "x": 167,
- "y": 168,
- "w": 16,
- "h": 21
- }
- },
- {
- "filename": "755_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 3,
- "w": 15,
- "h": 26
- },
- "frame": {
- "x": 185,
- "y": 161,
- "w": 15,
- "h": 26
- }
- },
- {
- "filename": "755_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 3,
- "w": 15,
- "h": 26
- },
- "frame": {
- "x": 183,
- "y": 187,
- "w": 15,
- "h": 26
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:fb23e8098daf93e7052b99ece5a6a5e9:d117a765da5e35d298734fc8b39740bf:d5975df27e1e94206a68aa1fd3c2c8d0$"
- }
-}
+{
+ "textures": [
+ {
+ "image": "pokemon_icons_7v.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 126,
+ "h": 614
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "809_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 40,
+ "h": 28
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 40,
+ "h": 28
+ }
+ },
+ {
+ "filename": "809_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 1,
+ "w": 40,
+ "h": 28
+ },
+ "frame": {
+ "x": 0,
+ "y": 28,
+ "w": 40,
+ "h": 28
+ }
+ },
+ {
+ "filename": "800-dusk-mane_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 34,
+ "h": 30
+ },
+ "frame": {
+ "x": 40,
+ "y": 0,
+ "w": 34,
+ "h": 30
+ }
+ },
+ {
+ "filename": "800-dusk-mane_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 0,
+ "w": 34,
+ "h": 30
+ },
+ "frame": {
+ "x": 0,
+ "y": 56,
+ "w": 34,
+ "h": 30
+ }
+ },
+ {
+ "filename": "800-ultra_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 35,
+ "h": 28
+ },
+ "frame": {
+ "x": 74,
+ "y": 0,
+ "w": 35,
+ "h": 28
+ }
+ },
+ {
+ "filename": "797_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 32,
+ "h": 30
+ },
+ "frame": {
+ "x": 0,
+ "y": 86,
+ "w": 32,
+ "h": 30
+ }
+ },
+ {
+ "filename": "797_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 32,
+ "h": 30
+ },
+ "frame": {
+ "x": 0,
+ "y": 116,
+ "w": 32,
+ "h": 30
+ }
+ },
+ {
+ "filename": "778-disguised_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 5,
+ "w": 17,
+ "h": 22
+ },
+ "frame": {
+ "x": 113,
+ "y": 72,
+ "w": 17,
+ "h": 22
+ }
+ },
+ {
+ "filename": "800-dawn-wings_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 31,
+ "h": 30
+ },
+ "frame": {
+ "x": 0,
+ "y": 146,
+ "w": 31,
+ "h": 30
+ }
+ },
+ {
+ "filename": "800-dawn-wings_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 31,
+ "h": 30
+ },
+ "frame": {
+ "x": 0,
+ "y": 176,
+ "w": 31,
+ "h": 30
+ }
+ },
+ {
+ "filename": "798_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 31,
+ "h": 29
+ },
+ "frame": {
+ "x": 0,
+ "y": 206,
+ "w": 31,
+ "h": 29
+ }
+ },
+ {
+ "filename": "798_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 31,
+ "h": 29
+ },
+ "frame": {
+ "x": 0,
+ "y": 235,
+ "w": 31,
+ "h": 29
+ }
+ },
+ {
+ "filename": "800-ultra_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 3,
+ "y": 1,
+ "w": 35,
+ "h": 28
+ },
+ "frame": {
+ "x": 40,
+ "y": 30,
+ "w": 35,
+ "h": 28
+ }
+ },
+ {
+ "filename": "800_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 28,
+ "h": 30
+ },
+ "frame": {
+ "x": 0,
+ "y": 264,
+ "w": 28,
+ "h": 30
+ }
+ },
+ {
+ "filename": "800_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 28,
+ "h": 30
+ },
+ "frame": {
+ "x": 0,
+ "y": 294,
+ "w": 28,
+ "h": 30
+ }
+ },
+ {
+ "filename": "773-bug_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 26,
+ "h": 30
+ },
+ "frame": {
+ "x": 0,
+ "y": 324,
+ "w": 26,
+ "h": 30
+ }
+ },
+ {
+ "filename": "773-bug_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 26,
+ "h": 30
+ },
+ "frame": {
+ "x": 0,
+ "y": 354,
+ "w": 26,
+ "h": 30
+ }
+ },
+ {
+ "filename": "773-dark_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 26,
+ "h": 30
+ },
+ "frame": {
+ "x": 0,
+ "y": 384,
+ "w": 26,
+ "h": 30
+ }
+ },
+ {
+ "filename": "773-dark_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 26,
+ "h": 30
+ },
+ "frame": {
+ "x": 0,
+ "y": 414,
+ "w": 26,
+ "h": 30
+ }
+ },
+ {
+ "filename": "773-dragon_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 26,
+ "h": 30
+ },
+ "frame": {
+ "x": 0,
+ "y": 444,
+ "w": 26,
+ "h": 30
+ }
+ },
+ {
+ "filename": "773-dragon_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 26,
+ "h": 30
+ },
+ "frame": {
+ "x": 0,
+ "y": 474,
+ "w": 26,
+ "h": 30
+ }
+ },
+ {
+ "filename": "773-electric_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 26,
+ "h": 30
+ },
+ "frame": {
+ "x": 0,
+ "y": 504,
+ "w": 26,
+ "h": 30
+ }
+ },
+ {
+ "filename": "773-electric_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 26,
+ "h": 30
+ },
+ "frame": {
+ "x": 0,
+ "y": 534,
+ "w": 26,
+ "h": 30
+ }
+ },
+ {
+ "filename": "773-fairy_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 26,
+ "h": 30
+ },
+ "frame": {
+ "x": 0,
+ "y": 564,
+ "w": 26,
+ "h": 30
+ }
+ },
+ {
+ "filename": "789_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 6,
+ "w": 23,
+ "h": 20
+ },
+ "frame": {
+ "x": 0,
+ "y": 594,
+ "w": 23,
+ "h": 20
+ }
+ },
+ {
+ "filename": "809-gigantamax_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 30,
+ "h": 28
+ },
+ "frame": {
+ "x": 75,
+ "y": 28,
+ "w": 30,
+ "h": 28
+ }
+ },
+ {
+ "filename": "763_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 4,
+ "w": 21,
+ "h": 24
+ },
+ "frame": {
+ "x": 109,
+ "y": 0,
+ "w": 21,
+ "h": 24
+ }
+ },
+ {
+ "filename": "809-gigantamax_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 30,
+ "h": 28
+ },
+ "frame": {
+ "x": 34,
+ "y": 58,
+ "w": 30,
+ "h": 28
+ }
+ },
+ {
+ "filename": "791_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 2,
+ "w": 29,
+ "h": 28
+ },
+ "frame": {
+ "x": 32,
+ "y": 86,
+ "w": 29,
+ "h": 28
+ }
+ },
+ {
+ "filename": "791_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 2,
+ "w": 29,
+ "h": 28
+ },
+ "frame": {
+ "x": 32,
+ "y": 114,
+ "w": 29,
+ "h": 28
+ }
+ },
+ {
+ "filename": "763_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 4,
+ "w": 21,
+ "h": 24
+ },
+ "frame": {
+ "x": 109,
+ "y": 24,
+ "w": 21,
+ "h": 24
+ }
+ },
+ {
+ "filename": "789_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 6,
+ "w": 23,
+ "h": 20
+ },
+ "frame": {
+ "x": 23,
+ "y": 594,
+ "w": 23,
+ "h": 20
+ }
+ },
+ {
+ "filename": "772_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 2,
+ "w": 25,
+ "h": 28
+ },
+ "frame": {
+ "x": 64,
+ "y": 58,
+ "w": 25,
+ "h": 28
+ }
+ },
+ {
+ "filename": "773-fairy_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 26,
+ "h": 30
+ },
+ "frame": {
+ "x": 61,
+ "y": 86,
+ "w": 26,
+ "h": 30
+ }
+ },
+ {
+ "filename": "730_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 2,
+ "w": 28,
+ "h": 27
+ },
+ "frame": {
+ "x": 61,
+ "y": 116,
+ "w": 28,
+ "h": 27
+ }
+ },
+ {
+ "filename": "761_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 8,
+ "w": 16,
+ "h": 19
+ },
+ "frame": {
+ "x": 98,
+ "y": 516,
+ "w": 16,
+ "h": 19
+ }
+ },
+ {
+ "filename": "773-fighting_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 26,
+ "h": 30
+ },
+ "frame": {
+ "x": 87,
+ "y": 86,
+ "w": 26,
+ "h": 30
+ }
+ },
+ {
+ "filename": "730_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 2,
+ "w": 28,
+ "h": 27
+ },
+ "frame": {
+ "x": 89,
+ "y": 116,
+ "w": 28,
+ "h": 27
+ }
+ },
+ {
+ "filename": "755_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 4,
+ "w": 13,
+ "h": 24
+ },
+ "frame": {
+ "x": 117,
+ "y": 117,
+ "w": 13,
+ "h": 24
+ }
+ },
+ {
+ "filename": "791_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 2,
+ "w": 29,
+ "h": 28
+ },
+ "frame": {
+ "x": 32,
+ "y": 142,
+ "w": 29,
+ "h": 28
+ }
+ },
+ {
+ "filename": "773-fighting_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 26,
+ "h": 30
+ },
+ "frame": {
+ "x": 31,
+ "y": 170,
+ "w": 26,
+ "h": 30
+ }
+ },
+ {
+ "filename": "773-fire_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 26,
+ "h": 30
+ },
+ "frame": {
+ "x": 31,
+ "y": 200,
+ "w": 26,
+ "h": 30
+ }
+ },
+ {
+ "filename": "773-fire_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 26,
+ "h": 30
+ },
+ "frame": {
+ "x": 31,
+ "y": 230,
+ "w": 26,
+ "h": 30
+ }
+ },
+ {
+ "filename": "792_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 1,
+ "w": 28,
+ "h": 28
+ },
+ "frame": {
+ "x": 61,
+ "y": 143,
+ "w": 28,
+ "h": 28
+ }
+ },
+ {
+ "filename": "792_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 1,
+ "w": 28,
+ "h": 28
+ },
+ "frame": {
+ "x": 89,
+ "y": 143,
+ "w": 28,
+ "h": 28
+ }
+ },
+ {
+ "filename": "773-flying_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 26,
+ "h": 30
+ },
+ "frame": {
+ "x": 57,
+ "y": 171,
+ "w": 26,
+ "h": 30
+ }
+ },
+ {
+ "filename": "773-flying_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 26,
+ "h": 30
+ },
+ "frame": {
+ "x": 57,
+ "y": 201,
+ "w": 26,
+ "h": 30
+ }
+ },
+ {
+ "filename": "773-ghost_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 26,
+ "h": 30
+ },
+ "frame": {
+ "x": 83,
+ "y": 171,
+ "w": 26,
+ "h": 30
+ }
+ },
+ {
+ "filename": "773-ghost_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 26,
+ "h": 30
+ },
+ "frame": {
+ "x": 83,
+ "y": 201,
+ "w": 26,
+ "h": 30
+ }
+ },
+ {
+ "filename": "773-grass_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 26,
+ "h": 30
+ },
+ "frame": {
+ "x": 57,
+ "y": 231,
+ "w": 26,
+ "h": 30
+ }
+ },
+ {
+ "filename": "773-grass_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 26,
+ "h": 30
+ },
+ "frame": {
+ "x": 83,
+ "y": 231,
+ "w": 26,
+ "h": 30
+ }
+ },
+ {
+ "filename": "778-disguised_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 5,
+ "w": 17,
+ "h": 22
+ },
+ "frame": {
+ "x": 96,
+ "y": 445,
+ "w": 17,
+ "h": 22
+ }
+ },
+ {
+ "filename": "728_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 8,
+ "w": 17,
+ "h": 20
+ },
+ "frame": {
+ "x": 113,
+ "y": 448,
+ "w": 17,
+ "h": 20
+ }
+ },
+ {
+ "filename": "728_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 8,
+ "w": 17,
+ "h": 20
+ },
+ "frame": {
+ "x": 113,
+ "y": 94,
+ "w": 17,
+ "h": 20
+ }
+ },
+ {
+ "filename": "808_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 11,
+ "w": 17,
+ "h": 17
+ },
+ "frame": {
+ "x": 114,
+ "y": 468,
+ "w": 17,
+ "h": 17
+ }
+ },
+ {
+ "filename": "808_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 11,
+ "w": 17,
+ "h": 17
+ },
+ "frame": {
+ "x": 113,
+ "y": 235,
+ "w": 17,
+ "h": 17
+ }
+ },
+ {
+ "filename": "773-ground_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 26,
+ "h": 30
+ },
+ "frame": {
+ "x": 28,
+ "y": 264,
+ "w": 26,
+ "h": 30
+ }
+ },
+ {
+ "filename": "773-ground_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 26,
+ "h": 30
+ },
+ "frame": {
+ "x": 28,
+ "y": 294,
+ "w": 26,
+ "h": 30
+ }
+ },
+ {
+ "filename": "773-ice_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 26,
+ "h": 30
+ },
+ "frame": {
+ "x": 26,
+ "y": 324,
+ "w": 26,
+ "h": 30
+ }
+ },
+ {
+ "filename": "773-ice_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 26,
+ "h": 30
+ },
+ "frame": {
+ "x": 26,
+ "y": 354,
+ "w": 26,
+ "h": 30
+ }
+ },
+ {
+ "filename": "773-poison_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 26,
+ "h": 30
+ },
+ "frame": {
+ "x": 26,
+ "y": 384,
+ "w": 26,
+ "h": 30
+ }
+ },
+ {
+ "filename": "773-poison_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 26,
+ "h": 30
+ },
+ "frame": {
+ "x": 26,
+ "y": 414,
+ "w": 26,
+ "h": 30
+ }
+ },
+ {
+ "filename": "773-psychic_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 26,
+ "h": 30
+ },
+ "frame": {
+ "x": 26,
+ "y": 444,
+ "w": 26,
+ "h": 30
+ }
+ },
+ {
+ "filename": "773-psychic_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 26,
+ "h": 30
+ },
+ "frame": {
+ "x": 26,
+ "y": 474,
+ "w": 26,
+ "h": 30
+ }
+ },
+ {
+ "filename": "773-rock_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 26,
+ "h": 30
+ },
+ "frame": {
+ "x": 26,
+ "y": 504,
+ "w": 26,
+ "h": 30
+ }
+ },
+ {
+ "filename": "773-rock_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 26,
+ "h": 30
+ },
+ "frame": {
+ "x": 26,
+ "y": 534,
+ "w": 26,
+ "h": 30
+ }
+ },
+ {
+ "filename": "773-steel_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 26,
+ "h": 30
+ },
+ "frame": {
+ "x": 26,
+ "y": 564,
+ "w": 26,
+ "h": 30
+ }
+ },
+ {
+ "filename": "773-steel_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 26,
+ "h": 30
+ },
+ "frame": {
+ "x": 54,
+ "y": 261,
+ "w": 26,
+ "h": 30
+ }
+ },
+ {
+ "filename": "773-water_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 26,
+ "h": 30
+ },
+ "frame": {
+ "x": 54,
+ "y": 291,
+ "w": 26,
+ "h": 30
+ }
+ },
+ {
+ "filename": "773-water_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 26,
+ "h": 30
+ },
+ "frame": {
+ "x": 80,
+ "y": 261,
+ "w": 26,
+ "h": 30
+ }
+ },
+ {
+ "filename": "735_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 4,
+ "w": 20,
+ "h": 24
+ },
+ "frame": {
+ "x": 109,
+ "y": 171,
+ "w": 20,
+ "h": 24
+ }
+ },
+ {
+ "filename": "773_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 26,
+ "h": 30
+ },
+ "frame": {
+ "x": 80,
+ "y": 291,
+ "w": 26,
+ "h": 30
+ }
+ },
+ {
+ "filename": "735_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 4,
+ "w": 20,
+ "h": 24
+ },
+ "frame": {
+ "x": 109,
+ "y": 195,
+ "w": 20,
+ "h": 24
+ }
+ },
+ {
+ "filename": "789_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 6,
+ "w": 23,
+ "h": 20
+ },
+ "frame": {
+ "x": 46,
+ "y": 594,
+ "w": 23,
+ "h": 20
+ }
+ },
+ {
+ "filename": "754_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 6,
+ "w": 20,
+ "h": 22
+ },
+ "frame": {
+ "x": 106,
+ "y": 318,
+ "w": 20,
+ "h": 22
+ }
+ },
+ {
+ "filename": "773_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 26,
+ "h": 30
+ },
+ "frame": {
+ "x": 52,
+ "y": 324,
+ "w": 26,
+ "h": 30
+ }
+ },
+ {
+ "filename": "772_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 2,
+ "w": 25,
+ "h": 28
+ },
+ "frame": {
+ "x": 52,
+ "y": 354,
+ "w": 25,
+ "h": 28
+ }
+ },
+ {
+ "filename": "748_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 5,
+ "w": 26,
+ "h": 25
+ },
+ "frame": {
+ "x": 52,
+ "y": 382,
+ "w": 26,
+ "h": 25
+ }
+ },
+ {
+ "filename": "748_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 5,
+ "w": 26,
+ "h": 25
+ },
+ "frame": {
+ "x": 52,
+ "y": 407,
+ "w": 26,
+ "h": 25
+ }
+ },
+ {
+ "filename": "776_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 4,
+ "w": 23,
+ "h": 26
+ },
+ "frame": {
+ "x": 52,
+ "y": 432,
+ "w": 23,
+ "h": 26
+ }
+ },
+ {
+ "filename": "776_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 4,
+ "w": 23,
+ "h": 26
+ },
+ "frame": {
+ "x": 101,
+ "y": 382,
+ "w": 23,
+ "h": 26
+ }
+ },
+ {
+ "filename": "729_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 5,
+ "w": 23,
+ "h": 24
+ },
+ "frame": {
+ "x": 52,
+ "y": 484,
+ "w": 23,
+ "h": 24
+ }
+ },
+ {
+ "filename": "729_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 5,
+ "w": 23,
+ "h": 24
+ },
+ "frame": {
+ "x": 52,
+ "y": 508,
+ "w": 23,
+ "h": 24
+ }
+ },
+ {
+ "filename": "756_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 5,
+ "w": 22,
+ "h": 24
+ },
+ "frame": {
+ "x": 52,
+ "y": 532,
+ "w": 22,
+ "h": 24
+ }
+ },
+ {
+ "filename": "756_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 5,
+ "w": 22,
+ "h": 24
+ },
+ "frame": {
+ "x": 52,
+ "y": 556,
+ "w": 22,
+ "h": 24
+ }
+ },
+ {
+ "filename": "767_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 11,
+ "w": 24,
+ "h": 14
+ },
+ "frame": {
+ "x": 52,
+ "y": 580,
+ "w": 24,
+ "h": 14
+ }
+ },
+ {
+ "filename": "747_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 7,
+ "w": 22,
+ "h": 20
+ },
+ "frame": {
+ "x": 69,
+ "y": 594,
+ "w": 22,
+ "h": 20
+ }
+ },
+ {
+ "filename": "768_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 5,
+ "w": 24,
+ "h": 23
+ },
+ "frame": {
+ "x": 78,
+ "y": 321,
+ "w": 24,
+ "h": 23
+ }
+ },
+ {
+ "filename": "768_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 5,
+ "w": 24,
+ "h": 23
+ },
+ "frame": {
+ "x": 106,
+ "y": 295,
+ "w": 24,
+ "h": 23
+ }
+ },
+ {
+ "filename": "2053_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 6,
+ "w": 24,
+ "h": 22
+ },
+ "frame": {
+ "x": 78,
+ "y": 344,
+ "w": 24,
+ "h": 22
+ }
+ },
+ {
+ "filename": "2053_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 6,
+ "w": 24,
+ "h": 22
+ },
+ "frame": {
+ "x": 102,
+ "y": 360,
+ "w": 24,
+ "h": 22
+ }
+ },
+ {
+ "filename": "734_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 10,
+ "w": 25,
+ "h": 16
+ },
+ "frame": {
+ "x": 77,
+ "y": 366,
+ "w": 25,
+ "h": 16
+ }
+ },
+ {
+ "filename": "802_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 4,
+ "w": 22,
+ "h": 24
+ },
+ "frame": {
+ "x": 78,
+ "y": 382,
+ "w": 22,
+ "h": 24
+ }
+ },
+ {
+ "filename": "802_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 4,
+ "w": 22,
+ "h": 24
+ },
+ "frame": {
+ "x": 78,
+ "y": 406,
+ "w": 22,
+ "h": 24
+ }
+ },
+ {
+ "filename": "802_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 4,
+ "w": 22,
+ "h": 24
+ },
+ "frame": {
+ "x": 52,
+ "y": 458,
+ "w": 22,
+ "h": 24
+ }
+ },
+ {
+ "filename": "793_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 4,
+ "w": 21,
+ "h": 24
+ },
+ "frame": {
+ "x": 109,
+ "y": 48,
+ "w": 21,
+ "h": 24
+ }
+ },
+ {
+ "filename": "734_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 10,
+ "w": 25,
+ "h": 16
+ },
+ "frame": {
+ "x": 78,
+ "y": 430,
+ "w": 25,
+ "h": 16
+ }
+ },
+ {
+ "filename": "752_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 23,
+ "h": 18
+ },
+ "frame": {
+ "x": 104,
+ "y": 408,
+ "w": 23,
+ "h": 18
+ }
+ },
+ {
+ "filename": "793_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 4,
+ "w": 21,
+ "h": 24
+ },
+ "frame": {
+ "x": 75,
+ "y": 446,
+ "w": 21,
+ "h": 24
+ }
+ },
+ {
+ "filename": "754_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 6,
+ "w": 20,
+ "h": 22
+ },
+ "frame": {
+ "x": 74,
+ "y": 470,
+ "w": 20,
+ "h": 22
+ }
+ },
+ {
+ "filename": "762_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 4,
+ "w": 18,
+ "h": 23
+ },
+ "frame": {
+ "x": 75,
+ "y": 492,
+ "w": 18,
+ "h": 23
+ }
+ },
+ {
+ "filename": "747_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 7,
+ "w": 22,
+ "h": 20
+ },
+ "frame": {
+ "x": 109,
+ "y": 426,
+ "w": 22,
+ "h": 20
+ }
+ },
+ {
+ "filename": "752_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 23,
+ "h": 18
+ },
+ "frame": {
+ "x": 75,
+ "y": 515,
+ "w": 23,
+ "h": 18
+ }
+ },
+ {
+ "filename": "2052_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 7,
+ "w": 21,
+ "h": 21
+ },
+ "frame": {
+ "x": 74,
+ "y": 533,
+ "w": 21,
+ "h": 21
+ }
+ },
+ {
+ "filename": "2052_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 7,
+ "w": 21,
+ "h": 21
+ },
+ "frame": {
+ "x": 74,
+ "y": 554,
+ "w": 21,
+ "h": 21
+ }
+ },
+ {
+ "filename": "790_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 7,
+ "w": 21,
+ "h": 19
+ },
+ "frame": {
+ "x": 76,
+ "y": 575,
+ "w": 21,
+ "h": 19
+ }
+ },
+ {
+ "filename": "751_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 8,
+ "w": 14,
+ "h": 20
+ },
+ "frame": {
+ "x": 102,
+ "y": 340,
+ "w": 14,
+ "h": 20
+ }
+ },
+ {
+ "filename": "790_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 7,
+ "w": 21,
+ "h": 19
+ },
+ "frame": {
+ "x": 91,
+ "y": 594,
+ "w": 21,
+ "h": 19
+ }
+ },
+ {
+ "filename": "762_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 4,
+ "w": 18,
+ "h": 23
+ },
+ "frame": {
+ "x": 93,
+ "y": 492,
+ "w": 18,
+ "h": 23
+ }
+ },
+ {
+ "filename": "755_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 4,
+ "w": 13,
+ "h": 24
+ },
+ "frame": {
+ "x": 117,
+ "y": 141,
+ "w": 13,
+ "h": 24
+ }
+ },
+ {
+ "filename": "751_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 8,
+ "w": 14,
+ "h": 20
+ },
+ "frame": {
+ "x": 116,
+ "y": 340,
+ "w": 14,
+ "h": 20
+ }
+ },
+ {
+ "filename": "753_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 8,
+ "w": 14,
+ "h": 19
+ },
+ "frame": {
+ "x": 116,
+ "y": 537,
+ "w": 14,
+ "h": 19
+ }
+ },
+ {
+ "filename": "753_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 8,
+ "w": 14,
+ "h": 19
+ },
+ "frame": {
+ "x": 116,
+ "y": 556,
+ "w": 14,
+ "h": 19
+ }
+ },
+ {
+ "filename": "761_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 8,
+ "w": 16,
+ "h": 19
+ },
+ "frame": {
+ "x": 96,
+ "y": 575,
+ "w": 16,
+ "h": 19
+ }
+ },
+ {
+ "filename": "767_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 11,
+ "w": 24,
+ "h": 14
+ },
+ "frame": {
+ "x": 106,
+ "y": 265,
+ "w": 24,
+ "h": 14
+ }
+ },
+ {
+ "filename": "742_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 5,
+ "w": 19,
+ "h": 20
+ },
+ "frame": {
+ "x": 112,
+ "y": 575,
+ "w": 19,
+ "h": 20
+ }
+ },
+ {
+ "filename": "742_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 5,
+ "w": 19,
+ "h": 20
+ },
+ "frame": {
+ "x": 112,
+ "y": 594,
+ "w": 19,
+ "h": 20
+ }
+ },
+ {
+ "filename": "743_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 5,
+ "w": 20,
+ "h": 22
+ },
+ "frame": {
+ "x": 94,
+ "y": 470,
+ "w": 20,
+ "h": 22
+ }
+ },
+ {
+ "filename": "743_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 5,
+ "w": 20,
+ "h": 22
+ },
+ "frame": {
+ "x": 89,
+ "y": 56,
+ "w": 20,
+ "h": 22
+ }
+ },
+ {
+ "filename": "777_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 8,
+ "w": 17,
+ "h": 19
+ },
+ "frame": {
+ "x": 114,
+ "y": 518,
+ "w": 17,
+ "h": 19
+ }
+ },
+ {
+ "filename": "777_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 8,
+ "w": 17,
+ "h": 19
+ },
+ "frame": {
+ "x": 114,
+ "y": 486,
+ "w": 17,
+ "h": 19
+ }
+ },
+ {
+ "filename": "778-busted_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 12,
+ "w": 21,
+ "h": 16
+ },
+ "frame": {
+ "x": 109,
+ "y": 219,
+ "w": 21,
+ "h": 16
+ }
+ },
+ {
+ "filename": "778-busted_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 12,
+ "w": 21,
+ "h": 16
+ },
+ "frame": {
+ "x": 106,
+ "y": 279,
+ "w": 21,
+ "h": 16
+ }
+ },
+ {
+ "filename": "779_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 7,
+ "w": 21,
+ "h": 20
+ },
+ "frame": {
+ "x": 95,
+ "y": 535,
+ "w": 21,
+ "h": 20
+ }
+ },
+ {
+ "filename": "779_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 7,
+ "w": 21,
+ "h": 20
+ },
+ "frame": {
+ "x": 95,
+ "y": 555,
+ "w": 21,
+ "h": 20
+ }
+ },
+ {
+ "filename": "771_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 11,
+ "w": 18,
+ "h": 13
+ },
+ "frame": {
+ "x": 112,
+ "y": 505,
+ "w": 18,
+ "h": 13
+ }
+ },
+ {
+ "filename": "771_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 11,
+ "w": 18,
+ "h": 13
+ },
+ "frame": {
+ "x": 109,
+ "y": 252,
+ "w": 18,
+ "h": 13
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:4de745903870d93aebe9c754281ab9a1:4247d298b98d033d5b01c30d46133c87:d5975df27e1e94206a68aa1fd3c2c8d0$"
+ }
+}
diff --git a/public/images/pokemon_icons_7v.png b/public/images/pokemon_icons_7v.png
index 1479c084bdd..822f7950f3e 100644
Binary files a/public/images/pokemon_icons_7v.png and b/public/images/pokemon_icons_7v.png differ
diff --git a/public/images/pokemon_icons_8.json b/public/images/pokemon_icons_8.json
index 11a2dcc1f4a..6fe604552a6 100644
--- a/public/images/pokemon_icons_8.json
+++ b/public/images/pokemon_icons_8.json
@@ -7365,6 +7365,6 @@
"meta": {
"app": "https://www.codeandweb.com/texturepacker",
"version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:4716314f809733c6bcb221809776ba11:4fb09375a87d8a348dc0e609db8a95fd:8190d2ecf16422e962cfb1a751b5e1fc$"
+ "smartupdate": "$TexturePacker:SmartUpdate:4915860867f6bebafd2279df4e213363:1560aa807381dda5f58dbf503ae10567:8190d2ecf16422e962cfb1a751b5e1fc$"
}
}
diff --git a/public/images/pokemon_icons_8.png b/public/images/pokemon_icons_8.png
index 8f7b398a034..3003f3b9e0e 100644
Binary files a/public/images/pokemon_icons_8.png and b/public/images/pokemon_icons_8.png differ
diff --git a/public/images/pokemon_icons_8v.json b/public/images/pokemon_icons_8v.json
index 4ff2ae52aac..38419d46699 100644
--- a/public/images/pokemon_icons_8v.json
+++ b/public/images/pokemon_icons_8v.json
@@ -4,50 +4,50 @@
"image": "pokemon_icons_8v.png",
"format": "RGBA8888",
"size": {
- "w": 280,
- "h": 280
+ "w": 127,
+ "h": 711
},
"scale": 1,
"frames": [
{
"filename": "890-eternamax_2",
"rotated": false,
- "trimmed": false,
+ "trimmed": true,
"sourceSize": {
"w": 40,
"h": 30
},
"spriteSourceSize": {
- "x": 0,
+ "x": 1,
"y": 0,
- "w": 40,
+ "w": 38,
"h": 30
},
"frame": {
"x": 0,
"y": 0,
- "w": 40,
+ "w": 38,
"h": 30
}
},
{
"filename": "890-eternamax_3",
"rotated": false,
- "trimmed": false,
+ "trimmed": true,
"sourceSize": {
"w": 40,
"h": 30
},
"spriteSourceSize": {
- "x": 0,
+ "x": 1,
"y": 0,
- "w": 40,
+ "w": 38,
"h": 30
},
"frame": {
"x": 0,
"y": 30,
- "w": 40,
+ "w": 38,
"h": 30
}
},
@@ -60,15 +60,15 @@
"h": 30
},
"spriteSourceSize": {
- "x": 0,
+ "x": 1,
"y": 0,
- "w": 39,
+ "w": 37,
"h": 30
},
"frame": {
- "x": 40,
+ "x": 38,
"y": 0,
- "w": 39,
+ "w": 37,
"h": 30
}
},
@@ -81,15 +81,15 @@
"h": 30
},
"spriteSourceSize": {
- "x": 0,
+ "x": 1,
"y": 0,
- "w": 39,
+ "w": 37,
"h": 30
},
"frame": {
"x": 0,
"y": 60,
- "w": 39,
+ "w": 37,
"h": 30
}
},
@@ -102,16 +102,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 2,
- "y": 0,
- "w": 35,
- "h": 30
+ "x": 3,
+ "y": 1,
+ "w": 33,
+ "h": 28
},
"frame": {
- "x": 40,
+ "x": 38,
"y": 30,
- "w": 35,
- "h": 30
+ "w": 33,
+ "h": 28
}
},
{
@@ -123,20 +123,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 2,
- "y": 0,
- "w": 35,
- "h": 30
+ "x": 3,
+ "y": 1,
+ "w": 33,
+ "h": 28
},
"frame": {
- "x": 79,
+ "x": 75,
"y": 0,
- "w": 35,
- "h": 30
+ "w": 33,
+ "h": 28
}
},
{
- "filename": "823-gigantamax_2",
+ "filename": "876_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -144,20 +144,41 @@
"h": 30
},
"spriteSourceSize": {
- "x": 3,
+ "x": 10,
+ "y": 3,
+ "w": 19,
+ "h": 24
+ },
+ "frame": {
+ "x": 108,
"y": 0,
- "w": 34,
- "h": 29
+ "w": 19,
+ "h": 24
+ }
+ },
+ {
+ "filename": "818-gigantamax_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 30,
+ "h": 30
},
"frame": {
"x": 0,
"y": 90,
- "w": 34,
- "h": 29
+ "w": 30,
+ "h": 30
}
},
{
- "filename": "823-gigantamax_3",
+ "filename": "818-gigantamax_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -165,16 +186,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 3,
+ "x": 5,
"y": 0,
- "w": 34,
- "h": 29
+ "w": 30,
+ "h": 30
},
"frame": {
- "x": 39,
- "y": 60,
- "w": 34,
- "h": 29
+ "x": 0,
+ "y": 120,
+ "w": 30,
+ "h": 30
}
},
{
@@ -186,15 +207,15 @@
"h": 30
},
"spriteSourceSize": {
- "x": 5,
+ "x": 6,
"y": 0,
- "w": 31,
+ "w": 29,
"h": 30
},
"frame": {
- "x": 75,
- "y": 30,
- "w": 31,
+ "x": 0,
+ "y": 150,
+ "w": 29,
"h": 30
}
},
@@ -207,121 +228,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 5,
+ "x": 6,
"y": 0,
- "w": 31,
+ "w": 29,
"h": 30
},
- "frame": {
- "x": 114,
- "y": 0,
- "w": 31,
- "h": 30
- }
- },
- {
- "filename": "864_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 0,
- "w": 32,
- "h": 29
- },
"frame": {
"x": 0,
- "y": 119,
- "w": 32,
- "h": 29
- }
- },
- {
- "filename": "864_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
+ "y": 180,
+ "w": 29,
"h": 30
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 0,
- "w": 32,
- "h": 29
- },
- "frame": {
- "x": 73,
- "y": 60,
- "w": 32,
- "h": 29
- }
- },
- {
- "filename": "887_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 1,
- "w": 32,
- "h": 28
- },
- "frame": {
- "x": 106,
- "y": 30,
- "w": 32,
- "h": 28
- }
- },
- {
- "filename": "887_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 1,
- "w": 32,
- "h": 28
- },
- "frame": {
- "x": 145,
- "y": 0,
- "w": 32,
- "h": 28
- }
- },
- {
- "filename": "887_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 1,
- "w": 32,
- "h": 28
- },
- "frame": {
- "x": 0,
- "y": 148,
- "w": 32,
- "h": 28
}
},
{
@@ -333,15 +249,15 @@
"h": 30
},
"spriteSourceSize": {
- "x": 5,
+ "x": 6,
"y": 0,
- "w": 29,
+ "w": 27,
"h": 30
},
"frame": {
"x": 0,
- "y": 176,
- "w": 29,
+ "y": 210,
+ "w": 27,
"h": 30
}
},
@@ -354,20 +270,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 5,
+ "x": 6,
"y": 0,
- "w": 29,
+ "w": 27,
"h": 30
},
"frame": {
"x": 0,
- "y": 206,
- "w": 29,
+ "y": 240,
+ "w": 27,
"h": 30
}
},
{
- "filename": "823_2",
+ "filename": "861-gigantamax_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -375,20 +291,188 @@
"h": 30
},
"spriteSourceSize": {
- "x": 5,
- "y": 2,
- "w": 29,
- "h": 26
+ "x": 7,
+ "y": 0,
+ "w": 26,
+ "h": 30
},
"frame": {
- "x": 177,
- "y": 0,
- "w": 29,
- "h": 26
+ "x": 0,
+ "y": 270,
+ "w": 26,
+ "h": 30
}
},
{
- "filename": "823_3",
+ "filename": "861-gigantamax_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 26,
+ "h": 30
+ },
+ "frame": {
+ "x": 0,
+ "y": 300,
+ "w": 26,
+ "h": 30
+ }
+ },
+ {
+ "filename": "898-shadow_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 26,
+ "h": 30
+ },
+ "frame": {
+ "x": 0,
+ "y": 330,
+ "w": 26,
+ "h": 30
+ }
+ },
+ {
+ "filename": "898-shadow_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 26,
+ "h": 30
+ },
+ "frame": {
+ "x": 0,
+ "y": 360,
+ "w": 26,
+ "h": 30
+ }
+ },
+ {
+ "filename": "898-shadow_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 0,
+ "w": 26,
+ "h": 30
+ },
+ "frame": {
+ "x": 0,
+ "y": 390,
+ "w": 26,
+ "h": 30
+ }
+ },
+ {
+ "filename": "823-gigantamax_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 32,
+ "h": 27
+ },
+ "frame": {
+ "x": 0,
+ "y": 420,
+ "w": 32,
+ "h": 27
+ }
+ },
+ {
+ "filename": "823-gigantamax_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 1,
+ "w": 32,
+ "h": 27
+ },
+ "frame": {
+ "x": 0,
+ "y": 447,
+ "w": 32,
+ "h": 27
+ }
+ },
+ {
+ "filename": "864_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 30,
+ "h": 27
+ },
+ "frame": {
+ "x": 0,
+ "y": 474,
+ "w": 30,
+ "h": 27
+ }
+ },
+ {
+ "filename": "864_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 1,
+ "w": 30,
+ "h": 27
+ },
+ "frame": {
+ "x": 0,
+ "y": 501,
+ "w": 30,
+ "h": 27
+ }
+ },
+ {
+ "filename": "887_1",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -398,18 +482,18 @@
"spriteSourceSize": {
"x": 5,
"y": 2,
- "w": 29,
+ "w": 30,
"h": 26
},
"frame": {
"x": 0,
- "y": 236,
- "w": 29,
+ "y": 528,
+ "w": 30,
"h": 26
}
},
{
- "filename": "4263_2",
+ "filename": "887_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -417,461 +501,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 8,
- "y": 6,
- "w": 24,
- "h": 18
+ "x": 5,
+ "y": 2,
+ "w": 30,
+ "h": 26
},
"frame": {
"x": 0,
- "y": 262,
- "w": 24,
- "h": 18
- }
- },
- {
- "filename": "901_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 4,
+ "y": 554,
"w": 30,
- "h": 25
- },
- "frame": {
- "x": 206,
- "y": 0,
- "w": 30,
- "h": 25
- }
- },
- {
- "filename": "901_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 4,
- "w": 30,
- "h": 25
- },
- "frame": {
- "x": 236,
- "y": 0,
- "w": 30,
- "h": 25
- }
- },
- {
- "filename": "4263_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 6,
- "w": 24,
- "h": 18
- },
- "frame": {
- "x": 24,
- "y": 262,
- "w": 24,
- "h": 18
- }
- },
- {
- "filename": "892-gigantamax-rapid_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 26,
- "h": 28
- },
- "frame": {
- "x": 138,
- "y": 30,
- "w": 26,
- "h": 28
- }
- },
- {
- "filename": "892-gigantamax-single_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 25,
- "h": 30
- },
- "frame": {
- "x": 164,
- "y": 28,
- "w": 25,
- "h": 30
- }
- },
- {
- "filename": "892-gigantamax-single_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 25,
- "h": 30
- },
- "frame": {
- "x": 189,
- "y": 26,
- "w": 25,
- "h": 30
- }
- },
- {
- "filename": "892-gigantamax-single_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 25,
- "h": 30
- },
- "frame": {
- "x": 214,
- "y": 25,
- "w": 25,
- "h": 30
- }
- },
- {
- "filename": "892-gigantamax-rapid_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 26,
- "h": 28
- },
- "frame": {
- "x": 239,
- "y": 25,
- "w": 26,
- "h": 28
- }
- },
- {
- "filename": "903_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 0,
- "w": 23,
- "h": 29
- },
- "frame": {
- "x": 34,
- "y": 90,
- "w": 23,
- "h": 29
- }
- },
- {
- "filename": "4145_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 2,
- "w": 30,
- "h": 25
- },
- "frame": {
- "x": 57,
- "y": 89,
- "w": 30,
- "h": 25
- }
- },
- {
- "filename": "892-gigantamax-rapid_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 26,
- "h": 28
- },
- "frame": {
- "x": 32,
- "y": 119,
- "w": 26,
- "h": 28
- }
- },
- {
- "filename": "900_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 2,
- "w": 27,
- "h": 27
- },
- "frame": {
- "x": 32,
- "y": 147,
- "w": 27,
- "h": 27
- }
- },
- {
- "filename": "6706_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 3,
- "w": 28,
- "h": 27
- },
- "frame": {
- "x": 58,
- "y": 114,
- "w": 28,
- "h": 27
- }
- },
- {
- "filename": "900_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 2,
- "w": 27,
- "h": 27
- },
- "frame": {
- "x": 59,
- "y": 141,
- "w": 27,
- "h": 27
- }
- },
- {
- "filename": "830_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 2,
- "w": 21,
- "h": 25
- },
- "frame": {
- "x": 87,
- "y": 89,
- "w": 21,
- "h": 25
- }
- },
- {
- "filename": "903_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 0,
- "w": 23,
- "h": 29
- },
- "frame": {
- "x": 86,
- "y": 114,
- "w": 23,
- "h": 29
- }
- },
- {
- "filename": "855_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 2,
- "w": 24,
- "h": 25
- },
- "frame": {
- "x": 86,
- "y": 143,
- "w": 24,
- "h": 25
- }
- },
- {
- "filename": "4145_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 2,
- "w": 30,
- "h": 25
- },
- "frame": {
- "x": 59,
- "y": 168,
- "w": 30,
- "h": 25
- }
- },
- {
- "filename": "873_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 3,
- "w": 27,
- "h": 24
- },
- "frame": {
- "x": 32,
- "y": 174,
- "w": 27,
- "h": 24
- }
- },
- {
- "filename": "6706_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 3,
- "w": 28,
- "h": 27
- },
- "frame": {
- "x": 29,
- "y": 198,
- "w": 28,
- "h": 27
- }
- },
- {
- "filename": "886_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 2,
- "w": 28,
- "h": 26
- },
- "frame": {
- "x": 29,
- "y": 225,
- "w": 28,
"h": 26
}
},
{
- "filename": "830_3",
+ "filename": "887_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -879,16 +522,79 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
+ "x": 5,
"y": 2,
- "w": 21,
- "h": 25
+ "w": 30,
+ "h": 26
},
"frame": {
- "x": 89,
- "y": 168,
- "w": 21,
- "h": 25
+ "x": 0,
+ "y": 580,
+ "w": 30,
+ "h": 26
+ }
+ },
+ {
+ "filename": "898-ice_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 0,
+ "w": 24,
+ "h": 29
+ },
+ "frame": {
+ "x": 0,
+ "y": 606,
+ "w": 24,
+ "h": 29
+ }
+ },
+ {
+ "filename": "898-ice_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 0,
+ "w": 24,
+ "h": 29
+ },
+ "frame": {
+ "x": 0,
+ "y": 635,
+ "w": 24,
+ "h": 29
+ }
+ },
+ {
+ "filename": "898-ice_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 0,
+ "w": 24,
+ "h": 29
+ },
+ "frame": {
+ "x": 0,
+ "y": 664,
+ "w": 24,
+ "h": 29
}
},
{
@@ -900,20 +606,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 30,
- "h": 20
+ "x": 6,
+ "y": 6,
+ "w": 28,
+ "h": 18
},
"frame": {
- "x": 59,
- "y": 193,
- "w": 30,
- "h": 20
+ "x": 0,
+ "y": 693,
+ "w": 28,
+ "h": 18
}
},
{
- "filename": "886_2",
+ "filename": "876_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -921,20 +627,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 6,
- "y": 2,
- "w": 28,
- "h": 26
+ "x": 10,
+ "y": 3,
+ "w": 19,
+ "h": 24
},
"frame": {
- "x": 57,
- "y": 213,
- "w": 28,
- "h": 26
+ "x": 108,
+ "y": 24,
+ "w": 19,
+ "h": 24
}
},
{
- "filename": "822_2",
+ "filename": "892-gigantamax-single_1",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -943,19 +649,19 @@
},
"spriteSourceSize": {
"x": 8,
- "y": 4,
- "w": 24,
- "h": 21
+ "y": 0,
+ "w": 23,
+ "h": 29
},
"frame": {
- "x": 89,
- "y": 193,
- "w": 24,
- "h": 21
+ "x": 30,
+ "y": 90,
+ "w": 23,
+ "h": 29
}
},
{
- "filename": "886_3",
+ "filename": "892-gigantamax-single_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -963,16 +669,79 @@
"h": 30
},
"spriteSourceSize": {
- "x": 6,
- "y": 2,
- "w": 28,
- "h": 26
+ "x": 8,
+ "y": 0,
+ "w": 23,
+ "h": 29
},
"frame": {
- "x": 85,
- "y": 214,
- "w": 28,
- "h": 26
+ "x": 30,
+ "y": 119,
+ "w": 23,
+ "h": 29
+ }
+ },
+ {
+ "filename": "892-gigantamax-single_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 0,
+ "w": 23,
+ "h": 29
+ },
+ "frame": {
+ "x": 24,
+ "y": 606,
+ "w": 23,
+ "h": 29
+ }
+ },
+ {
+ "filename": "818_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 1,
+ "w": 22,
+ "h": 27
+ },
+ "frame": {
+ "x": 24,
+ "y": 635,
+ "w": 22,
+ "h": 27
+ }
+ },
+ {
+ "filename": "818_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 1,
+ "w": 22,
+ "h": 27
+ },
+ "frame": {
+ "x": 24,
+ "y": 662,
+ "w": 22,
+ "h": 27
}
},
{
@@ -983,1151 +752,38 @@
"w": 40,
"h": 30
},
- "spriteSourceSize": {
- "x": 6,
- "y": 3,
- "w": 28,
- "h": 24
- },
- "frame": {
- "x": 57,
- "y": 239,
- "w": 28,
- "h": 24
- }
- },
- {
- "filename": "892-rapid-strike_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 3,
- "w": 28,
- "h": 24
- },
- "frame": {
- "x": 85,
- "y": 240,
- "w": 28,
- "h": 24
- }
- },
- {
- "filename": "854_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 7,
- "w": 19,
- "h": 16
- },
- "frame": {
- "x": 48,
- "y": 264,
- "w": 19,
- "h": 16
- }
- },
- {
- "filename": "854_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 7,
- "w": 19,
- "h": 16
- },
- "frame": {
- "x": 67,
- "y": 264,
- "w": 19,
- "h": 16
- }
- },
- {
- "filename": "872_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 7,
- "w": 19,
- "h": 16
- },
- "frame": {
- "x": 86,
- "y": 264,
- "w": 19,
- "h": 16
- }
- },
- {
- "filename": "872_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 7,
- "w": 19,
- "h": 16
- },
- "frame": {
- "x": 105,
- "y": 264,
- "w": 19,
- "h": 16
- }
- },
- {
- "filename": "4146_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 5,
- "w": 30,
- "h": 20
- },
- "frame": {
- "x": 106,
- "y": 58,
- "w": 30,
- "h": 20
- }
- },
- {
- "filename": "4078_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 2,
- "w": 29,
- "h": 25
- },
- "frame": {
- "x": 136,
- "y": 58,
- "w": 29,
- "h": 25
- }
- },
- {
- "filename": "855_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 2,
- "w": 24,
- "h": 25
- },
- "frame": {
- "x": 165,
- "y": 58,
- "w": 24,
- "h": 25
- }
- },
- {
- "filename": "892_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
"spriteSourceSize": {
"x": 7,
+ "y": 4,
+ "w": 26,
+ "h": 22
+ },
+ "frame": {
+ "x": 28,
+ "y": 689,
+ "w": 26,
+ "h": 22
+ }
+ },
+ {
+ "filename": "903_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
"y": 1,
- "w": 25,
- "h": 27
- },
- "frame": {
- "x": 189,
- "y": 56,
- "w": 25,
- "h": 27
- }
- },
- {
- "filename": "892_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 25,
- "h": 27
- },
- "frame": {
- "x": 214,
- "y": 55,
- "w": 25,
- "h": 27
- }
- },
- {
- "filename": "892_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 1,
- "w": 25,
- "h": 27
- },
- "frame": {
- "x": 239,
- "y": 53,
- "w": 25,
- "h": 27
- }
- },
- {
- "filename": "892-rapid-strike_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 3,
- "w": 28,
- "h": 24
- },
- "frame": {
- "x": 108,
- "y": 78,
- "w": 28,
- "h": 24
- }
- },
- {
- "filename": "4078_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 2,
- "w": 29,
- "h": 25
- },
- "frame": {
- "x": 136,
- "y": 83,
- "w": 29,
- "h": 25
- }
- },
- {
- "filename": "6571_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 4,
- "w": 27,
- "h": 25
- },
- "frame": {
- "x": 165,
- "y": 83,
- "w": 27,
- "h": 25
- }
- },
- {
- "filename": "858_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 1,
- "w": 24,
- "h": 27
- },
- "frame": {
- "x": 192,
- "y": 83,
- "w": 24,
- "h": 27
- }
- },
- {
- "filename": "858_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 1,
- "w": 24,
- "h": 27
- },
- "frame": {
- "x": 216,
- "y": 82,
- "w": 24,
- "h": 27
- }
- },
- {
- "filename": "884_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 1,
- "w": 24,
- "h": 27
- },
- "frame": {
- "x": 240,
- "y": 80,
- "w": 24,
- "h": 27
- }
- },
- {
- "filename": "6571_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 4,
- "w": 27,
- "h": 25
- },
- "frame": {
- "x": 109,
- "y": 102,
- "w": 27,
- "h": 25
- }
- },
- {
- "filename": "873_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 3,
- "w": 27,
- "h": 24
- },
- "frame": {
- "x": 136,
- "y": 108,
- "w": 27,
- "h": 24
- }
- },
- {
- "filename": "873_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 3,
- "w": 27,
- "h": 24
- },
- "frame": {
- "x": 163,
- "y": 108,
- "w": 27,
- "h": 24
- }
- },
- {
- "filename": "4077_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 3,
- "w": 26,
- "h": 23
- },
- "frame": {
- "x": 190,
- "y": 110,
- "w": 26,
- "h": 23
- }
- },
- {
- "filename": "836_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 3,
- "w": 24,
- "h": 24
- },
- "frame": {
- "x": 216,
- "y": 109,
- "w": 24,
- "h": 24
- }
- },
- {
- "filename": "884_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 1,
- "w": 24,
- "h": 27
- },
- "frame": {
- "x": 240,
- "y": 107,
- "w": 24,
- "h": 27
- }
- },
- {
- "filename": "4077_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 3,
- "w": 26,
- "h": 23
- },
- "frame": {
- "x": 110,
- "y": 127,
- "w": 26,
- "h": 23
- }
- },
- {
- "filename": "836_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 3,
- "w": 24,
- "h": 24
- },
- "frame": {
- "x": 110,
- "y": 150,
- "w": 24,
- "h": 24
- }
- },
- {
- "filename": "885_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 26,
- "h": 19
- },
- "frame": {
- "x": 110,
- "y": 174,
- "w": 26,
- "h": 19
- }
- },
- {
- "filename": "863_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 2,
- "w": 22,
- "h": 26
- },
- "frame": {
- "x": 113,
- "y": 193,
- "w": 22,
- "h": 26
- }
- },
- {
- "filename": "863_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 2,
- "w": 22,
- "h": 26
- },
- "frame": {
- "x": 113,
- "y": 219,
- "w": 22,
- "h": 26
- }
- },
- {
- "filename": "885_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 26,
- "h": 19
- },
- "frame": {
- "x": 113,
- "y": 245,
- "w": 26,
- "h": 19
- }
- },
- {
- "filename": "872_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 7,
- "w": 19,
- "h": 16
- },
- "frame": {
- "x": 124,
- "y": 264,
- "w": 19,
- "h": 16
- }
- },
- {
- "filename": "885_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 5,
- "w": 26,
- "h": 19
- },
- "frame": {
- "x": 136,
- "y": 132,
- "w": 26,
- "h": 19
- }
- },
- {
- "filename": "4052_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 3,
- "w": 23,
- "h": 23
- },
- "frame": {
- "x": 134,
- "y": 151,
- "w": 23,
- "h": 23
- }
- },
- {
- "filename": "822_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 24,
- "h": 21
- },
- "frame": {
- "x": 162,
- "y": 132,
- "w": 24,
- "h": 21
- }
- },
- {
- "filename": "835_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 24,
- "h": 22
- },
- "frame": {
- "x": 136,
- "y": 174,
- "w": 24,
- "h": 22
- }
- },
- {
- "filename": "857_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 3,
- "w": 24,
- "h": 24
- },
- "frame": {
- "x": 135,
- "y": 196,
- "w": 24,
- "h": 24
- }
- },
- {
- "filename": "856_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 2,
"w": 21,
- "h": 25
+ "h": 27
},
"frame": {
- "x": 135,
- "y": 220,
+ "x": 71,
+ "y": 30,
"w": 21,
- "h": 25
- }
- },
- {
- "filename": "4144_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 24,
- "h": 21
- },
- "frame": {
- "x": 157,
- "y": 153,
- "w": 24,
- "h": 21
- }
- },
- {
- "filename": "835_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 24,
- "h": 22
- },
- "frame": {
- "x": 160,
- "y": 174,
- "w": 24,
- "h": 22
- }
- },
- {
- "filename": "857_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 3,
- "w": 24,
- "h": 24
- },
- "frame": {
- "x": 159,
- "y": 196,
- "w": 24,
- "h": 24
- }
- },
- {
- "filename": "856_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 2,
- "w": 21,
- "h": 25
- },
- "frame": {
- "x": 156,
- "y": 220,
- "w": 21,
- "h": 25
- }
- },
- {
- "filename": "4144_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 24,
- "h": 21
- },
- "frame": {
- "x": 186,
- "y": 133,
- "w": 24,
- "h": 21
- }
- },
- {
- "filename": "4264_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 24,
- "h": 22
- },
- "frame": {
- "x": 210,
- "y": 133,
- "w": 24,
- "h": 22
- }
- },
- {
- "filename": "821_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 6,
- "w": 21,
- "h": 18
- },
- "frame": {
- "x": 139,
- "y": 245,
- "w": 21,
- "h": 18
- }
- },
- {
- "filename": "4264_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 24,
- "h": 22
- },
- "frame": {
- "x": 234,
- "y": 134,
- "w": 24,
- "h": 22
- }
- },
- {
- "filename": "829_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 5,
- "w": 19,
- "h": 20
- },
- "frame": {
- "x": 181,
- "y": 154,
- "w": 19,
- "h": 20
- }
- },
- {
- "filename": "877-hangry_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 3,
- "w": 19,
- "h": 23
- },
- "frame": {
- "x": 184,
- "y": 174,
- "w": 19,
- "h": 23
- }
- },
- {
- "filename": "891_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 3,
- "w": 20,
- "h": 24
- },
- "frame": {
- "x": 183,
- "y": 197,
- "w": 20,
- "h": 24
- }
- },
- {
- "filename": "4052_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 3,
- "w": 23,
- "h": 23
- },
- "frame": {
- "x": 177,
- "y": 221,
- "w": 23,
- "h": 23
- }
- },
- {
- "filename": "821_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 6,
- "w": 21,
- "h": 18
- },
- "frame": {
- "x": 160,
- "y": 245,
- "w": 21,
- "h": 18
- }
- },
- {
- "filename": "829_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 5,
- "w": 19,
- "h": 20
- },
- "frame": {
- "x": 181,
- "y": 244,
- "w": 19,
- "h": 20
- }
- },
- {
- "filename": "850_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 9,
- "w": 23,
- "h": 12
- },
- "frame": {
- "x": 143,
- "y": 263,
- "w": 23,
- "h": 12
- }
- },
- {
- "filename": "6100_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 13,
- "w": 16,
- "h": 16
- },
- "frame": {
- "x": 264,
- "y": 53,
- "w": 16,
- "h": 16
- }
- },
- {
- "filename": "6100_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 13,
- "w": 16,
- "h": 16
- },
- "frame": {
- "x": 264,
- "y": 69,
- "w": 16,
- "h": 16
- }
- },
- {
- "filename": "877-hangry_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 3,
- "w": 19,
- "h": 23
- },
- "frame": {
- "x": 258,
- "y": 134,
- "w": 19,
- "h": 23
+ "h": 27
}
},
{
@@ -2139,20 +795,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 11,
- "y": 4,
- "w": 18,
- "h": 25
+ "x": 12,
+ "y": 5,
+ "w": 16,
+ "h": 23
},
"frame": {
- "x": 200,
- "y": 221,
- "w": 18,
- "h": 25
+ "x": 92,
+ "y": 28,
+ "w": 16,
+ "h": 23
}
},
{
- "filename": "877-hangry_3",
+ "filename": "830_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2166,33 +822,12 @@
"h": 23
},
"frame": {
- "x": 200,
- "y": 246,
+ "x": 108,
+ "y": 48,
"w": 19,
"h": 23
}
},
- {
- "filename": "6101_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 11,
- "w": 18,
- "h": 18
- },
- "frame": {
- "x": 200,
- "y": 155,
- "w": 18,
- "h": 18
- }
- },
{
"filename": "6549_3",
"rotated": false,
@@ -2201,122 +836,101 @@
"w": 40,
"h": 30
},
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 5,
+ "w": 16,
+ "h": 23
+ },
+ "frame": {
+ "x": 92,
+ "y": 51,
+ "w": 16,
+ "h": 23
+ }
+ },
+ {
+ "filename": "830_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 3,
+ "w": 19,
+ "h": 23
+ },
+ "frame": {
+ "x": 108,
+ "y": 71,
+ "w": 19,
+ "h": 23
+ }
+ },
+ {
+ "filename": "903_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 1,
+ "w": 21,
+ "h": 27
+ },
+ "frame": {
+ "x": 71,
+ "y": 57,
+ "w": 21,
+ "h": 27
+ }
+ },
+ {
+ "filename": "6101_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 12,
+ "w": 16,
+ "h": 16
+ },
+ "frame": {
+ "x": 92,
+ "y": 74,
+ "w": 16,
+ "h": 16
+ }
+ },
+ {
+ "filename": "891_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
"spriteSourceSize": {
"x": 11,
"y": 4,
"w": 18,
- "h": 25
+ "h": 22
},
"frame": {
- "x": 203,
- "y": 173,
+ "x": 53,
+ "y": 58,
"w": 18,
- "h": 25
- }
- },
- {
- "filename": "877_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 3,
- "w": 19,
- "h": 23
- },
- "frame": {
- "x": 203,
- "y": 198,
- "w": 19,
- "h": 23
- }
- },
- {
- "filename": "891_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 3,
- "w": 20,
- "h": 24
- },
- "frame": {
- "x": 218,
- "y": 221,
- "w": 20,
- "h": 24
- }
- },
- {
- "filename": "891_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 3,
- "w": 20,
- "h": 24
- },
- "frame": {
- "x": 219,
- "y": 245,
- "w": 20,
- "h": 24
- }
- },
- {
- "filename": "6570_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 20,
- "h": 24
- },
- "frame": {
- "x": 238,
- "y": 156,
- "w": 20,
- "h": 24
- }
- },
- {
- "filename": "877_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 3,
- "w": 19,
- "h": 23
- },
- "frame": {
- "x": 258,
- "y": 157,
- "w": 19,
- "h": 23
+ "h": 22
}
},
{
@@ -2328,20 +942,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 12,
- "y": 5,
- "w": 17,
- "h": 24
+ "x": 13,
+ "y": 6,
+ "w": 15,
+ "h": 22
},
"frame": {
- "x": 221,
- "y": 156,
- "w": 17,
- "h": 24
+ "x": 38,
+ "y": 58,
+ "w": 15,
+ "h": 22
}
},
{
- "filename": "6101_3",
+ "filename": "850_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2349,20 +963,62 @@
"h": 30
},
"spriteSourceSize": {
- "x": 11,
- "y": 11,
- "w": 18,
- "h": 18
+ "x": 9,
+ "y": 10,
+ "w": 21,
+ "h": 10
},
"frame": {
- "x": 221,
- "y": 180,
- "w": 18,
- "h": 18
+ "x": 37,
+ "y": 80,
+ "w": 21,
+ "h": 10
}
},
{
- "filename": "877_3",
+ "filename": "4199_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 1,
+ "w": 20,
+ "h": 27
+ },
+ "frame": {
+ "x": 53,
+ "y": 90,
+ "w": 20,
+ "h": 27
+ }
+ },
+ {
+ "filename": "861_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 2,
+ "w": 25,
+ "h": 26
+ },
+ "frame": {
+ "x": 53,
+ "y": 117,
+ "w": 25,
+ "h": 26
+ }
+ },
+ {
+ "filename": "856_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2376,8 +1032,50 @@
"h": 23
},
"frame": {
- "x": 222,
- "y": 198,
+ "x": 73,
+ "y": 84,
+ "w": 19,
+ "h": 23
+ }
+ },
+ {
+ "filename": "6101_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 12,
+ "w": 16,
+ "h": 16
+ },
+ "frame": {
+ "x": 92,
+ "y": 90,
+ "w": 16,
+ "h": 16
+ }
+ },
+ {
+ "filename": "856_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 3,
+ "w": 19,
+ "h": 23
+ },
+ "frame": {
+ "x": 108,
+ "y": 94,
"w": 19,
"h": 23
}
@@ -2390,21 +1088,63 @@
"w": 40,
"h": 30
},
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 10,
+ "w": 21,
+ "h": 10
+ },
+ "frame": {
+ "x": 73,
+ "y": 107,
+ "w": 21,
+ "h": 10
+ }
+ },
+ {
+ "filename": "861_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 2,
+ "w": 25,
+ "h": 26
+ },
+ "frame": {
+ "x": 78,
+ "y": 117,
+ "w": 25,
+ "h": 26
+ }
+ },
+ {
+ "filename": "892-gigantamax-rapid_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
"spriteSourceSize": {
"x": 8,
- "y": 9,
- "w": 23,
- "h": 12
+ "y": 2,
+ "w": 24,
+ "h": 26
},
"frame": {
- "x": 239,
- "y": 180,
- "w": 23,
- "h": 12
+ "x": 103,
+ "y": 117,
+ "w": 24,
+ "h": 26
}
},
{
- "filename": "6570_3",
+ "filename": "901_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2412,20 +1152,41 @@
"h": 30
},
"spriteSourceSize": {
- "x": 11,
+ "x": 6,
"y": 5,
- "w": 20,
- "h": 24
+ "w": 28,
+ "h": 23
},
"frame": {
- "x": 241,
- "y": 192,
- "w": 20,
- "h": 24
+ "x": 53,
+ "y": 143,
+ "w": 28,
+ "h": 23
}
},
{
- "filename": "6215_2",
+ "filename": "901_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 5,
+ "w": 28,
+ "h": 23
+ },
+ "frame": {
+ "x": 81,
+ "y": 143,
+ "w": 28,
+ "h": 23
+ }
+ },
+ {
+ "filename": "891_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2434,19 +1195,166 @@
},
"spriteSourceSize": {
"x": 11,
- "y": 6,
- "w": 19,
+ "y": 4,
+ "w": 18,
+ "h": 22
+ },
+ "frame": {
+ "x": 109,
+ "y": 143,
+ "w": 18,
+ "h": 22
+ }
+ },
+ {
+ "filename": "892-gigantamax-rapid_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 2,
+ "w": 24,
+ "h": 26
+ },
+ "frame": {
+ "x": 29,
+ "y": 150,
+ "w": 24,
+ "h": 26
+ }
+ },
+ {
+ "filename": "892-gigantamax-rapid_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 2,
+ "w": 24,
+ "h": 26
+ },
+ "frame": {
+ "x": 29,
+ "y": 176,
+ "w": 24,
+ "h": 26
+ }
+ },
+ {
+ "filename": "823_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 3,
+ "w": 27,
+ "h": 24
+ },
+ "frame": {
+ "x": 53,
+ "y": 166,
+ "w": 27,
+ "h": 24
+ }
+ },
+ {
+ "filename": "823_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 3,
+ "w": 27,
+ "h": 24
+ },
+ "frame": {
+ "x": 80,
+ "y": 166,
+ "w": 27,
+ "h": 24
+ }
+ },
+ {
+ "filename": "863_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 3,
+ "w": 20,
+ "h": 24
+ },
+ "frame": {
+ "x": 107,
+ "y": 166,
+ "w": 20,
+ "h": 24
+ }
+ },
+ {
+ "filename": "4145_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 3,
+ "w": 28,
"h": 23
},
"frame": {
- "x": 261,
- "y": 192,
- "w": 19,
+ "x": 53,
+ "y": 190,
+ "w": 28,
"h": 23
}
},
{
- "filename": "6215_3",
+ "filename": "4145_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 3,
+ "w": 28,
+ "h": 23
+ },
+ "frame": {
+ "x": 81,
+ "y": 190,
+ "w": 28,
+ "h": 23
+ }
+ },
+ {
+ "filename": "891_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2455,17 +1363,1361 @@
},
"spriteSourceSize": {
"x": 11,
- "y": 6,
- "w": 19,
+ "y": 4,
+ "w": 18,
+ "h": 22
+ },
+ "frame": {
+ "x": 109,
+ "y": 190,
+ "w": 18,
+ "h": 22
+ }
+ },
+ {
+ "filename": "817_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 3,
+ "w": 24,
+ "h": 24
+ },
+ "frame": {
+ "x": 29,
+ "y": 202,
+ "w": 24,
+ "h": 24
+ }
+ },
+ {
+ "filename": "6706_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 4,
+ "w": 26,
+ "h": 25
+ },
+ "frame": {
+ "x": 27,
+ "y": 226,
+ "w": 26,
+ "h": 25
+ }
+ },
+ {
+ "filename": "6706_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 4,
+ "w": 26,
+ "h": 25
+ },
+ "frame": {
+ "x": 53,
+ "y": 213,
+ "w": 26,
+ "h": 25
+ }
+ },
+ {
+ "filename": "886_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 3,
+ "w": 26,
+ "h": 24
+ },
+ "frame": {
+ "x": 79,
+ "y": 213,
+ "w": 26,
+ "h": 24
+ }
+ },
+ {
+ "filename": "858_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 2,
+ "w": 22,
+ "h": 25
+ },
+ "frame": {
+ "x": 105,
+ "y": 213,
+ "w": 22,
+ "h": 25
+ }
+ },
+ {
+ "filename": "886_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 3,
+ "w": 26,
+ "h": 24
+ },
+ "frame": {
+ "x": 27,
+ "y": 251,
+ "w": 26,
+ "h": 24
+ }
+ },
+ {
+ "filename": "886_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 3,
+ "w": 26,
+ "h": 24
+ },
+ "frame": {
+ "x": 53,
+ "y": 238,
+ "w": 26,
+ "h": 24
+ }
+ },
+ {
+ "filename": "897_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 3,
+ "w": 26,
+ "h": 24
+ },
+ "frame": {
+ "x": 79,
+ "y": 237,
+ "w": 26,
+ "h": 24
+ }
+ },
+ {
+ "filename": "858_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 2,
+ "w": 22,
+ "h": 25
+ },
+ "frame": {
+ "x": 105,
+ "y": 238,
+ "w": 22,
+ "h": 25
+ }
+ },
+ {
+ "filename": "897_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 3,
+ "w": 26,
+ "h": 24
+ },
+ "frame": {
+ "x": 26,
+ "y": 275,
+ "w": 26,
+ "h": 24
+ }
+ },
+ {
+ "filename": "897_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 3,
+ "w": 26,
+ "h": 24
+ },
+ "frame": {
+ "x": 26,
+ "y": 299,
+ "w": 26,
+ "h": 24
+ }
+ },
+ {
+ "filename": "900_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 3,
+ "w": 25,
+ "h": 25
+ },
+ "frame": {
+ "x": 26,
+ "y": 323,
+ "w": 25,
+ "h": 25
+ }
+ },
+ {
+ "filename": "900_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 3,
+ "w": 25,
+ "h": 25
+ },
+ "frame": {
+ "x": 26,
+ "y": 348,
+ "w": 25,
+ "h": 25
+ }
+ },
+ {
+ "filename": "817_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 3,
+ "w": 24,
+ "h": 24
+ },
+ "frame": {
+ "x": 26,
+ "y": 373,
+ "w": 24,
+ "h": 24
+ }
+ },
+ {
+ "filename": "4078_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 3,
+ "w": 27,
"h": 23
},
"frame": {
- "x": 261,
- "y": 215,
- "w": 19,
+ "x": 26,
+ "y": 397,
+ "w": 27,
"h": 23
}
},
+ {
+ "filename": "884_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 2,
+ "w": 22,
+ "h": 25
+ },
+ "frame": {
+ "x": 32,
+ "y": 420,
+ "w": 22,
+ "h": 25
+ }
+ },
+ {
+ "filename": "884_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 2,
+ "w": 22,
+ "h": 25
+ },
+ "frame": {
+ "x": 32,
+ "y": 445,
+ "w": 22,
+ "h": 25
+ }
+ },
+ {
+ "filename": "892-rapid-strike_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 4,
+ "w": 26,
+ "h": 22
+ },
+ "frame": {
+ "x": 53,
+ "y": 262,
+ "w": 26,
+ "h": 22
+ }
+ },
+ {
+ "filename": "892-rapid-strike_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 4,
+ "w": 26,
+ "h": 22
+ },
+ "frame": {
+ "x": 79,
+ "y": 261,
+ "w": 26,
+ "h": 22
+ }
+ },
+ {
+ "filename": "816_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 3,
+ "w": 22,
+ "h": 23
+ },
+ "frame": {
+ "x": 105,
+ "y": 263,
+ "w": 22,
+ "h": 23
+ }
+ },
+ {
+ "filename": "4078_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 3,
+ "w": 27,
+ "h": 23
+ },
+ "frame": {
+ "x": 52,
+ "y": 284,
+ "w": 27,
+ "h": 23
+ }
+ },
+ {
+ "filename": "896_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 3,
+ "w": 24,
+ "h": 24
+ },
+ "frame": {
+ "x": 79,
+ "y": 283,
+ "w": 24,
+ "h": 24
+ }
+ },
+ {
+ "filename": "896_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 3,
+ "w": 24,
+ "h": 24
+ },
+ "frame": {
+ "x": 103,
+ "y": 286,
+ "w": 24,
+ "h": 24
+ }
+ },
+ {
+ "filename": "4146_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 6,
+ "w": 28,
+ "h": 18
+ },
+ "frame": {
+ "x": 52,
+ "y": 307,
+ "w": 28,
+ "h": 18
+ }
+ },
+ {
+ "filename": "6713_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 5,
+ "w": 27,
+ "h": 23
+ },
+ "frame": {
+ "x": 51,
+ "y": 325,
+ "w": 27,
+ "h": 23
+ }
+ },
+ {
+ "filename": "6713_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 5,
+ "w": 27,
+ "h": 23
+ },
+ "frame": {
+ "x": 51,
+ "y": 348,
+ "w": 27,
+ "h": 23
+ }
+ },
+ {
+ "filename": "892_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 2,
+ "w": 23,
+ "h": 25
+ },
+ "frame": {
+ "x": 80,
+ "y": 307,
+ "w": 23,
+ "h": 25
+ }
+ },
+ {
+ "filename": "896_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 3,
+ "w": 24,
+ "h": 24
+ },
+ "frame": {
+ "x": 103,
+ "y": 310,
+ "w": 24,
+ "h": 24
+ }
+ },
+ {
+ "filename": "6571_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 5,
+ "w": 25,
+ "h": 23
+ },
+ "frame": {
+ "x": 78,
+ "y": 332,
+ "w": 25,
+ "h": 23
+ }
+ },
+ {
+ "filename": "4080_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 3,
+ "w": 24,
+ "h": 23
+ },
+ "frame": {
+ "x": 103,
+ "y": 334,
+ "w": 24,
+ "h": 23
+ }
+ },
+ {
+ "filename": "873_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 4,
+ "w": 25,
+ "h": 22
+ },
+ "frame": {
+ "x": 78,
+ "y": 355,
+ "w": 25,
+ "h": 22
+ }
+ },
+ {
+ "filename": "4077_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 4,
+ "w": 24,
+ "h": 21
+ },
+ "frame": {
+ "x": 103,
+ "y": 357,
+ "w": 24,
+ "h": 21
+ }
+ },
+ {
+ "filename": "873_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 4,
+ "w": 25,
+ "h": 22
+ },
+ "frame": {
+ "x": 53,
+ "y": 371,
+ "w": 25,
+ "h": 22
+ }
+ },
+ {
+ "filename": "892_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 2,
+ "w": 23,
+ "h": 25
+ },
+ "frame": {
+ "x": 53,
+ "y": 393,
+ "w": 23,
+ "h": 25
+ }
+ },
+ {
+ "filename": "892_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 2,
+ "w": 23,
+ "h": 25
+ },
+ "frame": {
+ "x": 54,
+ "y": 418,
+ "w": 23,
+ "h": 25
+ }
+ },
+ {
+ "filename": "6571_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 5,
+ "w": 25,
+ "h": 23
+ },
+ "frame": {
+ "x": 54,
+ "y": 443,
+ "w": 25,
+ "h": 23
+ }
+ },
+ {
+ "filename": "873_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 4,
+ "w": 25,
+ "h": 22
+ },
+ "frame": {
+ "x": 78,
+ "y": 377,
+ "w": 25,
+ "h": 22
+ }
+ },
+ {
+ "filename": "4077_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 4,
+ "w": 24,
+ "h": 21
+ },
+ "frame": {
+ "x": 103,
+ "y": 378,
+ "w": 24,
+ "h": 21
+ }
+ },
+ {
+ "filename": "822_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 5,
+ "w": 22,
+ "h": 19
+ },
+ "frame": {
+ "x": 76,
+ "y": 399,
+ "w": 22,
+ "h": 19
+ }
+ },
+ {
+ "filename": "816_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 3,
+ "w": 22,
+ "h": 23
+ },
+ "frame": {
+ "x": 77,
+ "y": 418,
+ "w": 22,
+ "h": 23
+ }
+ },
+ {
+ "filename": "822_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 5,
+ "w": 22,
+ "h": 19
+ },
+ "frame": {
+ "x": 98,
+ "y": 399,
+ "w": 22,
+ "h": 19
+ }
+ },
+ {
+ "filename": "855_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 3,
+ "w": 22,
+ "h": 23
+ },
+ "frame": {
+ "x": 99,
+ "y": 418,
+ "w": 22,
+ "h": 23
+ }
+ },
+ {
+ "filename": "855_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 3,
+ "w": 22,
+ "h": 23
+ },
+ "frame": {
+ "x": 79,
+ "y": 441,
+ "w": 22,
+ "h": 23
+ }
+ },
+ {
+ "filename": "860_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 3,
+ "w": 22,
+ "h": 23
+ },
+ "frame": {
+ "x": 101,
+ "y": 441,
+ "w": 22,
+ "h": 23
+ }
+ },
+ {
+ "filename": "885_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 24,
+ "h": 17
+ },
+ "frame": {
+ "x": 54,
+ "y": 466,
+ "w": 24,
+ "h": 17
+ }
+ },
+ {
+ "filename": "835_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 5,
+ "w": 22,
+ "h": 20
+ },
+ "frame": {
+ "x": 32,
+ "y": 470,
+ "w": 22,
+ "h": 20
+ }
+ },
+ {
+ "filename": "860_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 3,
+ "w": 22,
+ "h": 23
+ },
+ "frame": {
+ "x": 30,
+ "y": 490,
+ "w": 22,
+ "h": 23
+ }
+ },
+ {
+ "filename": "876-female_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 3,
+ "w": 22,
+ "h": 23
+ },
+ "frame": {
+ "x": 30,
+ "y": 513,
+ "w": 22,
+ "h": 23
+ }
+ },
+ {
+ "filename": "876-female_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 3,
+ "w": 22,
+ "h": 23
+ },
+ "frame": {
+ "x": 30,
+ "y": 536,
+ "w": 22,
+ "h": 23
+ }
+ },
+ {
+ "filename": "836_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 4,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 30,
+ "y": 559,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "836_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 4,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 30,
+ "y": 581,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "885_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 24,
+ "h": 17
+ },
+ "frame": {
+ "x": 54,
+ "y": 483,
+ "w": 24,
+ "h": 17
+ }
+ },
+ {
+ "filename": "857_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 4,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 52,
+ "y": 500,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "857_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 4,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 52,
+ "y": 522,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "863_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 3,
+ "w": 20,
+ "h": 24
+ },
+ "frame": {
+ "x": 52,
+ "y": 544,
+ "w": 20,
+ "h": 24
+ }
+ },
+ {
+ "filename": "898_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 4,
+ "w": 19,
+ "h": 22
+ },
+ "frame": {
+ "x": 52,
+ "y": 568,
+ "w": 19,
+ "h": 22
+ }
+ },
+ {
+ "filename": "821_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 7,
+ "w": 19,
+ "h": 16
+ },
+ "frame": {
+ "x": 52,
+ "y": 590,
+ "w": 19,
+ "h": 16
+ }
+ },
+ {
+ "filename": "835_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 5,
+ "w": 22,
+ "h": 20
+ },
+ "frame": {
+ "x": 47,
+ "y": 606,
+ "w": 22,
+ "h": 20
+ }
+ },
+ {
+ "filename": "885_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 24,
+ "h": 17
+ },
+ "frame": {
+ "x": 47,
+ "y": 626,
+ "w": 24,
+ "h": 17
+ }
+ },
+ {
+ "filename": "4052_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 4,
+ "w": 21,
+ "h": 21
+ },
+ "frame": {
+ "x": 46,
+ "y": 643,
+ "w": 21,
+ "h": 21
+ }
+ },
+ {
+ "filename": "4052_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 4,
+ "w": 21,
+ "h": 21
+ },
+ "frame": {
+ "x": 46,
+ "y": 664,
+ "w": 21,
+ "h": 21
+ }
+ },
+ {
+ "filename": "898_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 4,
+ "w": 19,
+ "h": 22
+ },
+ "frame": {
+ "x": 54,
+ "y": 685,
+ "w": 19,
+ "h": 22
+ }
+ },
+ {
+ "filename": "898_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 4,
+ "w": 19,
+ "h": 22
+ },
+ "frame": {
+ "x": 74,
+ "y": 500,
+ "w": 19,
+ "h": 22
+ }
+ },
+ {
+ "filename": "6570_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 6,
+ "w": 18,
+ "h": 22
+ },
+ "frame": {
+ "x": 74,
+ "y": 522,
+ "w": 18,
+ "h": 22
+ }
+ },
{
"filename": "4222_2",
"rotated": false,
@@ -2475,15 +2727,36 @@
"h": 30
},
"spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 23,
+ "x": 9,
+ "y": 5,
+ "w": 21,
+ "h": 20
+ },
+ "frame": {
+ "x": 72,
+ "y": 544,
+ "w": 21,
+ "h": 20
+ }
+ },
+ {
+ "filename": "6570_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 6,
+ "w": 18,
"h": 22
},
"frame": {
- "x": 238,
- "y": 221,
- "w": 23,
+ "x": 67,
+ "y": 643,
+ "w": 18,
"h": 22
}
},
@@ -2496,16 +2769,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 23,
- "h": 22
+ "x": 9,
+ "y": 5,
+ "w": 21,
+ "h": 20
},
"frame": {
- "x": 239,
- "y": 243,
- "w": 23,
- "h": 22
+ "x": 67,
+ "y": 665,
+ "w": 21,
+ "h": 20
}
},
{
@@ -2517,16 +2790,562 @@
"h": 30
},
"spriteSourceSize": {
- "x": 12,
- "y": 5,
- "w": 17,
- "h": 24
+ "x": 13,
+ "y": 6,
+ "w": 15,
+ "h": 22
},
"frame": {
- "x": 262,
- "y": 238,
+ "x": 73,
+ "y": 685,
+ "w": 15,
+ "h": 22
+ }
+ },
+ {
+ "filename": "4144_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 5,
+ "w": 22,
+ "h": 19
+ },
+ "frame": {
+ "x": 72,
+ "y": 564,
+ "w": 22,
+ "h": 19
+ }
+ },
+ {
+ "filename": "4264_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 5,
+ "w": 22,
+ "h": 20
+ },
+ "frame": {
+ "x": 71,
+ "y": 583,
+ "w": 22,
+ "h": 20
+ }
+ },
+ {
+ "filename": "4144_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 5,
+ "w": 22,
+ "h": 19
+ },
+ "frame": {
+ "x": 71,
+ "y": 603,
+ "w": 22,
+ "h": 19
+ }
+ },
+ {
+ "filename": "877-hangry_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 4,
"w": 17,
- "h": 24
+ "h": 21
+ },
+ "frame": {
+ "x": 71,
+ "y": 622,
+ "w": 17,
+ "h": 21
+ }
+ },
+ {
+ "filename": "877-hangry_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 4,
+ "w": 17,
+ "h": 21
+ },
+ "frame": {
+ "x": 88,
+ "y": 622,
+ "w": 17,
+ "h": 21
+ }
+ },
+ {
+ "filename": "4264_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 5,
+ "w": 22,
+ "h": 20
+ },
+ "frame": {
+ "x": 85,
+ "y": 643,
+ "w": 22,
+ "h": 20
+ }
+ },
+ {
+ "filename": "877-hangry_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 4,
+ "w": 17,
+ "h": 21
+ },
+ "frame": {
+ "x": 88,
+ "y": 663,
+ "w": 17,
+ "h": 21
+ }
+ },
+ {
+ "filename": "877_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 4,
+ "w": 17,
+ "h": 21
+ },
+ "frame": {
+ "x": 88,
+ "y": 684,
+ "w": 17,
+ "h": 21
+ }
+ },
+ {
+ "filename": "4263_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 7,
+ "w": 22,
+ "h": 16
+ },
+ "frame": {
+ "x": 105,
+ "y": 464,
+ "w": 22,
+ "h": 16
+ }
+ },
+ {
+ "filename": "4263_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 7,
+ "w": 22,
+ "h": 16
+ },
+ "frame": {
+ "x": 105,
+ "y": 480,
+ "w": 22,
+ "h": 16
+ }
+ },
+ {
+ "filename": "877_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 4,
+ "w": 17,
+ "h": 21
+ },
+ "frame": {
+ "x": 105,
+ "y": 663,
+ "w": 17,
+ "h": 21
+ }
+ },
+ {
+ "filename": "877_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 4,
+ "w": 17,
+ "h": 21
+ },
+ "frame": {
+ "x": 105,
+ "y": 684,
+ "w": 17,
+ "h": 21
+ }
+ },
+ {
+ "filename": "6215_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 7,
+ "w": 17,
+ "h": 21
+ },
+ "frame": {
+ "x": 92,
+ "y": 522,
+ "w": 17,
+ "h": 21
+ }
+ },
+ {
+ "filename": "6215_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 7,
+ "w": 17,
+ "h": 21
+ },
+ "frame": {
+ "x": 93,
+ "y": 543,
+ "w": 17,
+ "h": 21
+ }
+ },
+ {
+ "filename": "859_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 5,
+ "w": 17,
+ "h": 20
+ },
+ "frame": {
+ "x": 110,
+ "y": 496,
+ "w": 17,
+ "h": 20
+ }
+ },
+ {
+ "filename": "859_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 5,
+ "w": 17,
+ "h": 20
+ },
+ "frame": {
+ "x": 93,
+ "y": 496,
+ "w": 17,
+ "h": 20
+ }
+ },
+ {
+ "filename": "829_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 6,
+ "w": 17,
+ "h": 18
+ },
+ "frame": {
+ "x": 110,
+ "y": 516,
+ "w": 17,
+ "h": 18
+ }
+ },
+ {
+ "filename": "829_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 6,
+ "w": 17,
+ "h": 18
+ },
+ "frame": {
+ "x": 110,
+ "y": 534,
+ "w": 17,
+ "h": 18
+ }
+ },
+ {
+ "filename": "854_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 8,
+ "w": 17,
+ "h": 14
+ },
+ "frame": {
+ "x": 110,
+ "y": 552,
+ "w": 17,
+ "h": 14
+ }
+ },
+ {
+ "filename": "6100_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 14,
+ "w": 14,
+ "h": 14
+ },
+ "frame": {
+ "x": 94,
+ "y": 564,
+ "w": 14,
+ "h": 14
+ }
+ },
+ {
+ "filename": "821_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 7,
+ "w": 19,
+ "h": 16
+ },
+ "frame": {
+ "x": 108,
+ "y": 566,
+ "w": 19,
+ "h": 16
+ }
+ },
+ {
+ "filename": "6100_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 14,
+ "w": 14,
+ "h": 14
+ },
+ "frame": {
+ "x": 94,
+ "y": 578,
+ "w": 14,
+ "h": 14
+ }
+ },
+ {
+ "filename": "854_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 8,
+ "w": 17,
+ "h": 14
+ },
+ "frame": {
+ "x": 93,
+ "y": 592,
+ "w": 17,
+ "h": 14
+ }
+ },
+ {
+ "filename": "872_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 8,
+ "w": 17,
+ "h": 14
+ },
+ "frame": {
+ "x": 110,
+ "y": 582,
+ "w": 17,
+ "h": 14
+ }
+ },
+ {
+ "filename": "872_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 8,
+ "w": 17,
+ "h": 14
+ },
+ "frame": {
+ "x": 110,
+ "y": 596,
+ "w": 17,
+ "h": 14
+ }
+ },
+ {
+ "filename": "872_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 8,
+ "w": 17,
+ "h": 14
+ },
+ "frame": {
+ "x": 93,
+ "y": 606,
+ "w": 17,
+ "h": 14
}
}
]
@@ -2535,6 +3354,6 @@
"meta": {
"app": "https://www.codeandweb.com/texturepacker",
"version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:0376b6da5e522ec879b95e2342fb8deb:f9978fe0485a1bd1f89978c3eb97401a:ec5f05e7f30cd98f74db0c2326109fd3$"
+ "smartupdate": "$TexturePacker:SmartUpdate:e57165b71bf3e3ae5c42c992a485f65c:793bc46ac44791f8e836adaa13efdcd3:ec5f05e7f30cd98f74db0c2326109fd3$"
}
}
diff --git a/public/images/pokemon_icons_8v.png b/public/images/pokemon_icons_8v.png
index a9e26b02b3a..3b2ef39de62 100644
Binary files a/public/images/pokemon_icons_8v.png and b/public/images/pokemon_icons_8v.png differ
diff --git a/public/images/pokemon_icons_9.json b/public/images/pokemon_icons_9.json
index 80bd5556f29..e08ebd4dcca 100644
--- a/public/images/pokemon_icons_9.json
+++ b/public/images/pokemon_icons_9.json
@@ -4,8 +4,8 @@
"image": "pokemon_icons_9.png",
"format": "RGBA8888",
"size": {
- "w": 248,
- "h": 604
+ "w": 252,
+ "h": 591
},
"scale": 1,
"frames": [
@@ -430,7 +430,7 @@
}
},
{
- "filename": "988",
+ "filename": "8901",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -438,15 +438,15 @@
"h": 30
},
"spriteSourceSize": {
- "x": 8,
+ "x": 5,
"y": 1,
- "w": 26,
+ "w": 30,
"h": 28
},
"frame": {
"x": 222,
"y": 0,
- "w": 26,
+ "w": 30,
"h": 28
}
},
@@ -535,7 +535,7 @@
}
},
{
- "filename": "8901",
+ "filename": "8901s",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -555,27 +555,6 @@
"h": 28
}
},
- {
- "filename": "8901s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 1,
- "w": 30,
- "h": 28
- },
- "frame": {
- "x": 0,
- "y": 328,
- "w": 30,
- "h": 28
- }
- },
{
"filename": "934",
"rotated": false,
@@ -592,7 +571,7 @@
},
"frame": {
"x": 0,
- "y": 356,
+ "y": 328,
"w": 27,
"h": 30
}
@@ -613,7 +592,7 @@
},
"frame": {
"x": 0,
- "y": 386,
+ "y": 358,
"w": 27,
"h": 30
}
@@ -661,7 +640,7 @@
}
},
{
- "filename": "988s",
+ "filename": "992",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -669,16 +648,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 8,
- "y": 1,
- "w": 26,
- "h": 28
+ "x": 6,
+ "y": 2,
+ "w": 30,
+ "h": 26
},
"frame": {
"x": 222,
"y": 28,
- "w": 26,
- "h": 28
+ "w": 30,
+ "h": 26
}
},
{
@@ -697,7 +676,7 @@
},
"frame": {
"x": 0,
- "y": 416,
+ "y": 388,
"w": 27,
"h": 29
}
@@ -718,7 +697,7 @@
},
"frame": {
"x": 0,
- "y": 445,
+ "y": 417,
"w": 27,
"h": 29
}
@@ -739,7 +718,7 @@
},
"frame": {
"x": 0,
- "y": 474,
+ "y": 446,
"w": 29,
"h": 28
}
@@ -760,7 +739,7 @@
},
"frame": {
"x": 0,
- "y": 502,
+ "y": 474,
"w": 29,
"h": 28
}
@@ -781,7 +760,7 @@
},
"frame": {
"x": 0,
- "y": 530,
+ "y": 502,
"w": 29,
"h": 27
}
@@ -802,13 +781,13 @@
},
"frame": {
"x": 0,
- "y": 557,
+ "y": 529,
"w": 29,
"h": 27
}
},
{
- "filename": "924",
+ "filename": "1003",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -816,16 +795,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 5,
- "y": 8,
- "w": 29,
- "h": 20
+ "x": 6,
+ "y": 0,
+ "w": 28,
+ "h": 28
},
"frame": {
"x": 0,
- "y": 584,
- "w": 29,
- "h": 20
+ "y": 556,
+ "w": 28,
+ "h": 28
}
},
{
@@ -913,7 +892,7 @@
}
},
{
- "filename": "956",
+ "filename": "992s",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -921,16 +900,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 7,
- "y": 6,
- "w": 26,
- "h": 22
+ "x": 6,
+ "y": 2,
+ "w": 30,
+ "h": 26
},
"frame": {
"x": 222,
- "y": 56,
- "w": 26,
- "h": 22
+ "y": 54,
+ "w": 30,
+ "h": 26
}
},
{
@@ -1018,7 +997,7 @@
}
},
{
- "filename": "994",
+ "filename": "993",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1026,16 +1005,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 8,
- "y": 1,
- "w": 27,
- "h": 28
+ "x": 6,
+ "y": 2,
+ "w": 30,
+ "h": 25
},
"frame": {
"x": 221,
- "y": 78,
- "w": 27,
- "h": 28
+ "y": 80,
+ "w": 30,
+ "h": 25
}
},
{
@@ -1054,7 +1033,7 @@
},
"frame": {
"x": 27,
- "y": 356,
+ "y": 328,
"w": 23,
"h": 30
}
@@ -1075,7 +1054,7 @@
},
"frame": {
"x": 27,
- "y": 386,
+ "y": 358,
"w": 23,
"h": 30
}
@@ -1096,7 +1075,7 @@
},
"frame": {
"x": 27,
- "y": 416,
+ "y": 388,
"w": 25,
"h": 30
}
@@ -1117,7 +1096,7 @@
},
"frame": {
"x": 27,
- "y": 446,
+ "y": 418,
"w": 25,
"h": 28
}
@@ -1138,7 +1117,7 @@
},
"frame": {
"x": 29,
- "y": 474,
+ "y": 446,
"w": 25,
"h": 30
}
@@ -1159,13 +1138,13 @@
},
"frame": {
"x": 29,
- "y": 504,
+ "y": 476,
"w": 25,
"h": 28
}
},
{
- "filename": "994s",
+ "filename": "988",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1175,118 +1154,34 @@
"spriteSourceSize": {
"x": 8,
"y": 1,
- "w": 27,
+ "w": 26,
"h": 28
},
+ "frame": {
+ "x": 29,
+ "y": 504,
+ "w": 26,
+ "h": 28
+ }
+ },
+ {
+ "filename": "979",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 2,
+ "w": 27,
+ "h": 26
+ },
"frame": {
"x": 29,
"y": 532,
"w": 27,
- "h": 28
- }
- },
- {
- "filename": "1003",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 0,
- "w": 28,
- "h": 28
- },
- "frame": {
- "x": 29,
- "y": 560,
- "w": 28,
- "h": 28
- }
- },
- {
- "filename": "953",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 12,
- "w": 24,
- "h": 16
- },
- "frame": {
- "x": 29,
- "y": 588,
- "w": 24,
- "h": 16
- }
- },
- {
- "filename": "953s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 12,
- "w": 24,
- "h": 16
- },
- "frame": {
- "x": 53,
- "y": 588,
- "w": 24,
- "h": 16
- }
- },
- {
- "filename": "992",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 2,
- "w": 30,
- "h": 26
- },
- "frame": {
- "x": 31,
- "y": 118,
- "w": 30,
- "h": 26
- }
- },
- {
- "filename": "992s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 2,
- "w": 30,
- "h": 26
- },
- "frame": {
- "x": 30,
- "y": 144,
- "w": 30,
"h": 26
}
},
@@ -1305,75 +1200,12 @@
"h": 28
},
"frame": {
- "x": 30,
- "y": 170,
+ "x": 28,
+ "y": 558,
"w": 28,
"h": 28
}
},
- {
- "filename": "8128-blaze",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 2,
- "w": 29,
- "h": 27
- },
- "frame": {
- "x": 30,
- "y": 198,
- "w": 29,
- "h": 27
- }
- },
- {
- "filename": "8128s-blaze",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 2,
- "w": 29,
- "h": 27
- },
- "frame": {
- "x": 30,
- "y": 225,
- "w": 29,
- "h": 27
- }
- },
- {
- "filename": "993",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 2,
- "w": 30,
- "h": 25
- },
- "frame": {
- "x": 30,
- "y": 252,
- "w": 30,
- "h": 25
- }
- },
{
"filename": "993s",
"rotated": false,
@@ -1389,14 +1221,14 @@
"h": 25
},
"frame": {
- "x": 30,
- "y": 277,
+ "x": 62,
+ "y": 86,
"w": 30,
"h": 25
}
},
{
- "filename": "1022",
+ "filename": "924",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1404,226 +1236,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 6,
- "y": 3,
+ "x": 5,
+ "y": 8,
"w": 29,
- "h": 25
+ "h": 20
},
"frame": {
- "x": 30,
- "y": 302,
+ "x": 92,
+ "y": 97,
"w": 29,
- "h": 25
- }
- },
- {
- "filename": "964-hero",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 0,
- "w": 22,
- "h": 29
- },
- "frame": {
- "x": 30,
- "y": 327,
- "w": 22,
- "h": 29
- }
- },
- {
- "filename": "954",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 0,
- "w": 21,
- "h": 29
- },
- "frame": {
- "x": 52,
- "y": 327,
- "w": 21,
- "h": 29
- }
- },
- {
- "filename": "964s-hero",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 0,
- "w": 22,
- "h": 29
- },
- "frame": {
- "x": 50,
- "y": 356,
- "w": 22,
- "h": 29
- }
- },
- {
- "filename": "999",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 0,
- "w": 22,
- "h": 29
- },
- "frame": {
- "x": 50,
- "y": 385,
- "w": 22,
- "h": 29
- }
- },
- {
- "filename": "954s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 0,
- "w": 21,
- "h": 29
- },
- "frame": {
- "x": 52,
- "y": 414,
- "w": 21,
- "h": 29
- }
- },
- {
- "filename": "999s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 0,
- "w": 22,
- "h": 29
- },
- "frame": {
- "x": 52,
- "y": 443,
- "w": 22,
- "h": 29
- }
- },
- {
- "filename": "936",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 0,
- "w": 20,
- "h": 28
- },
- "frame": {
- "x": 54,
- "y": 472,
- "w": 20,
- "h": 28
- }
- },
- {
- "filename": "936s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 0,
- "w": 20,
- "h": 28
- },
- "frame": {
- "x": 54,
- "y": 500,
- "w": 20,
- "h": 28
- }
- },
- {
- "filename": "968",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 0,
- "w": 23,
- "h": 28
- },
- "frame": {
- "x": 56,
- "y": 528,
- "w": 23,
- "h": 28
- }
- },
- {
- "filename": "968s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 0,
- "w": 23,
- "h": 28
- },
- "frame": {
- "x": 57,
- "y": 556,
- "w": 23,
- "h": 28
+ "h": 20
}
},
{
@@ -1641,54 +1263,12 @@
"h": 20
},
"frame": {
- "x": 77,
- "y": 584,
+ "x": 121,
+ "y": 97,
"w": 29,
"h": 20
}
},
- {
- "filename": "914",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 3,
- "w": 24,
- "h": 25
- },
- "frame": {
- "x": 59,
- "y": 302,
- "w": 24,
- "h": 25
- }
- },
- {
- "filename": "1023",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 1,
- "w": 20,
- "h": 28
- },
- "frame": {
- "x": 73,
- "y": 327,
- "w": 20,
- "h": 28
- }
- },
{
"filename": "925-four",
"rotated": false,
@@ -1704,54 +1284,12 @@
"h": 22
},
"frame": {
- "x": 62,
- "y": 86,
+ "x": 150,
+ "y": 101,
"w": 29,
"h": 22
}
},
- {
- "filename": "1022s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 3,
- "w": 29,
- "h": 25
- },
- "frame": {
- "x": 61,
- "y": 108,
- "w": 29,
- "h": 25
- }
- },
- {
- "filename": "925-three",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 8,
- "w": 29,
- "h": 20
- },
- "frame": {
- "x": 61,
- "y": 133,
- "w": 29,
- "h": 20
- }
- },
{
"filename": "925s-four",
"rotated": false,
@@ -1767,14 +1305,119 @@
"h": 22
},
"frame": {
- "x": 60,
- "y": 153,
+ "x": 179,
+ "y": 101,
"w": 29,
"h": 22
}
},
{
- "filename": "911",
+ "filename": "935",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 7,
+ "w": 13,
+ "h": 21
+ },
+ "frame": {
+ "x": 208,
+ "y": 101,
+ "w": 13,
+ "h": 21
+ }
+ },
+ {
+ "filename": "925-three",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 8,
+ "w": 29,
+ "h": 20
+ },
+ "frame": {
+ "x": 221,
+ "y": 105,
+ "w": 29,
+ "h": 20
+ }
+ },
+ {
+ "filename": "925s-three",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 8,
+ "w": 29,
+ "h": 20
+ },
+ "frame": {
+ "x": 61,
+ "y": 111,
+ "w": 29,
+ "h": 20
+ }
+ },
+ {
+ "filename": "976",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 10,
+ "w": 29,
+ "h": 18
+ },
+ "frame": {
+ "x": 90,
+ "y": 117,
+ "w": 29,
+ "h": 18
+ }
+ },
+ {
+ "filename": "976s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 10,
+ "w": 29,
+ "h": 18
+ },
+ "frame": {
+ "x": 119,
+ "y": 117,
+ "w": 29,
+ "h": 18
+ }
+ },
+ {
+ "filename": "1022",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1783,19 +1426,19 @@
},
"spriteSourceSize": {
"x": 6,
- "y": 5,
- "w": 28,
- "h": 23
+ "y": 3,
+ "w": 29,
+ "h": 25
},
"frame": {
- "x": 58,
- "y": 175,
- "w": 28,
- "h": 23
+ "x": 148,
+ "y": 123,
+ "w": 29,
+ "h": 25
}
},
{
- "filename": "979",
+ "filename": "1022s",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1803,16 +1446,163 @@
"h": 30
},
"spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 27,
- "h": 26
+ "x": 6,
+ "y": 3,
+ "w": 29,
+ "h": 25
},
"frame": {
- "x": 59,
- "y": 198,
+ "x": 177,
+ "y": 123,
+ "w": 29,
+ "h": 25
+ }
+ },
+ {
+ "filename": "8128-blaze",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 2,
+ "w": 29,
+ "h": 27
+ },
+ "frame": {
+ "x": 206,
+ "y": 125,
+ "w": 29,
+ "h": 27
+ }
+ },
+ {
+ "filename": "913",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 5,
+ "w": 17,
+ "h": 23
+ },
+ "frame": {
+ "x": 235,
+ "y": 125,
+ "w": 17,
+ "h": 23
+ }
+ },
+ {
+ "filename": "913s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 5,
+ "w": 17,
+ "h": 23
+ },
+ "frame": {
+ "x": 235,
+ "y": 148,
+ "w": 17,
+ "h": 23
+ }
+ },
+ {
+ "filename": "8128s-blaze",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 2,
+ "w": 29,
+ "h": 27
+ },
+ "frame": {
+ "x": 31,
+ "y": 118,
+ "w": 29,
+ "h": 27
+ }
+ },
+ {
+ "filename": "994",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 1,
"w": 27,
- "h": 26
+ "h": 28
+ },
+ "frame": {
+ "x": 30,
+ "y": 145,
+ "w": 27,
+ "h": 28
+ }
+ },
+ {
+ "filename": "994s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 1,
+ "w": 27,
+ "h": 28
+ },
+ "frame": {
+ "x": 30,
+ "y": 173,
+ "w": 27,
+ "h": 28
+ }
+ },
+ {
+ "filename": "988s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 1,
+ "w": 26,
+ "h": 28
+ },
+ "frame": {
+ "x": 30,
+ "y": 201,
+ "w": 26,
+ "h": 28
}
},
{
@@ -1830,8 +1620,8 @@
"h": 26
},
"frame": {
- "x": 59,
- "y": 224,
+ "x": 30,
+ "y": 229,
"w": 27,
"h": 26
}
@@ -1851,54 +1641,12 @@
"h": 27
},
"frame": {
- "x": 60,
- "y": 250,
+ "x": 30,
+ "y": 255,
"w": 25,
"h": 27
}
},
- {
- "filename": "914s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 3,
- "w": 24,
- "h": 25
- },
- "frame": {
- "x": 60,
- "y": 277,
- "w": 24,
- "h": 25
- }
- },
- {
- "filename": "925s-three",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 8,
- "w": 29,
- "h": 20
- },
- "frame": {
- "x": 91,
- "y": 97,
- "w": 29,
- "h": 20
- }
- },
{
"filename": "989s",
"rotated": false,
@@ -1914,14 +1662,35 @@
"h": 27
},
"frame": {
- "x": 90,
- "y": 117,
+ "x": 30,
+ "y": 282,
"w": 25,
"h": 27
}
},
{
- "filename": "911s",
+ "filename": "916",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 9,
+ "w": 25,
+ "h": 19
+ },
+ "frame": {
+ "x": 30,
+ "y": 309,
+ "w": 25,
+ "h": 19
+ }
+ },
+ {
+ "filename": "911",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1935,8 +1704,8 @@
"h": 23
},
"frame": {
- "x": 120,
- "y": 97,
+ "x": 60,
+ "y": 131,
"w": 28,
"h": 23
}
@@ -1956,35 +1725,14 @@
"h": 24
},
"frame": {
- "x": 115,
- "y": 120,
+ "x": 57,
+ "y": 154,
"w": 28,
"h": 24
}
},
{
- "filename": "976",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 10,
- "w": 29,
- "h": 18
- },
- "frame": {
- "x": 90,
- "y": 144,
- "w": 29,
- "h": 18
- }
- },
- {
- "filename": "916-female",
+ "filename": "911s",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1993,57 +1741,99 @@
},
"spriteSourceSize": {
"x": 6,
- "y": 7,
- "w": 25,
- "h": 21
- },
- "frame": {
- "x": 119,
- "y": 144,
- "w": 25,
- "h": 21
- }
- },
- {
- "filename": "976s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 10,
- "w": 29,
- "h": 18
- },
- "frame": {
- "x": 89,
- "y": 162,
- "w": 29,
- "h": 18
- }
- },
- {
- "filename": "8128s-aqua",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
"y": 5,
"w": 28,
- "h": 24
+ "h": 23
},
"frame": {
- "x": 86,
- "y": 180,
+ "x": 57,
+ "y": 178,
"w": 28,
- "h": 24
+ "h": 23
+ }
+ },
+ {
+ "filename": "968",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 0,
+ "w": 23,
+ "h": 28
+ },
+ "frame": {
+ "x": 56,
+ "y": 201,
+ "w": 23,
+ "h": 28
+ }
+ },
+ {
+ "filename": "964-hero",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 0,
+ "w": 22,
+ "h": 29
+ },
+ "frame": {
+ "x": 57,
+ "y": 229,
+ "w": 22,
+ "h": 29
+ }
+ },
+ {
+ "filename": "964s-hero",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 0,
+ "w": 22,
+ "h": 29
+ },
+ "frame": {
+ "x": 55,
+ "y": 258,
+ "w": 22,
+ "h": 29
+ }
+ },
+ {
+ "filename": "999",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 0,
+ "w": 22,
+ "h": 29
+ },
+ "frame": {
+ "x": 55,
+ "y": 287,
+ "w": 22,
+ "h": 29
}
},
{
@@ -2061,8 +1851,8 @@
"h": 23
},
"frame": {
- "x": 86,
- "y": 204,
+ "x": 88,
+ "y": 135,
"w": 28,
"h": 23
}
@@ -2082,14 +1872,14 @@
"h": 23
},
"frame": {
- "x": 86,
- "y": 227,
+ "x": 116,
+ "y": 135,
"w": 28,
"h": 23
}
},
{
- "filename": "998",
+ "filename": "8128s-aqua",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2097,100 +1887,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 25,
- "h": 26
+ "x": 10,
+ "y": 5,
+ "w": 28,
+ "h": 24
},
"frame": {
"x": 85,
- "y": 250,
- "w": 25,
- "h": 26
- }
- },
- {
- "filename": "950",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 11,
+ "y": 158,
"w": 28,
- "h": 17
- },
- "frame": {
- "x": 118,
- "y": 165,
- "w": 28,
- "h": 17
- }
- },
- {
- "filename": "998s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 2,
- "w": 25,
- "h": 26
- },
- "frame": {
- "x": 114,
- "y": 182,
- "w": 25,
- "h": 26
- }
- },
- {
- "filename": "1016",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 1,
- "w": 24,
- "h": 27
- },
- "frame": {
- "x": 114,
- "y": 208,
- "w": 24,
- "h": 27
- }
- },
- {
- "filename": "916",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 9,
- "w": 25,
- "h": 19
- },
- "frame": {
- "x": 114,
- "y": 235,
- "w": 25,
- "h": 19
+ "h": 24
}
},
{
@@ -2208,8 +1914,8 @@
"h": 22
},
"frame": {
- "x": 110,
- "y": 254,
+ "x": 113,
+ "y": 158,
"w": 27,
"h": 22
}
@@ -2229,14 +1935,35 @@
"h": 22
},
"frame": {
- "x": 148,
- "y": 101,
+ "x": 85,
+ "y": 182,
"w": 27,
"h": 22
}
},
{
- "filename": "956s",
+ "filename": "968s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 0,
+ "w": 23,
+ "h": 28
+ },
+ "frame": {
+ "x": 79,
+ "y": 204,
+ "w": 23,
+ "h": 28
+ }
+ },
+ {
+ "filename": "998",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2245,15 +1972,78 @@
},
"spriteSourceSize": {
"x": 7,
- "y": 6,
- "w": 26,
- "h": 22
+ "y": 2,
+ "w": 25,
+ "h": 26
},
"frame": {
- "x": 175,
- "y": 101,
- "w": 26,
- "h": 22
+ "x": 79,
+ "y": 232,
+ "w": 25,
+ "h": 26
+ }
+ },
+ {
+ "filename": "998s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 2,
+ "w": 25,
+ "h": 26
+ },
+ "frame": {
+ "x": 77,
+ "y": 258,
+ "w": 25,
+ "h": 26
+ }
+ },
+ {
+ "filename": "999s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 0,
+ "w": 22,
+ "h": 29
+ },
+ "frame": {
+ "x": 77,
+ "y": 284,
+ "w": 22,
+ "h": 29
+ }
+ },
+ {
+ "filename": "936",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 0,
+ "w": 20,
+ "h": 28
+ },
+ "frame": {
+ "x": 102,
+ "y": 204,
+ "w": 20,
+ "h": 28
}
},
{
@@ -2271,14 +2061,14 @@
"h": 26
},
"frame": {
- "x": 201,
- "y": 101,
+ "x": 104,
+ "y": 232,
"w": 20,
"h": 26
}
},
{
- "filename": "985",
+ "filename": "982",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2286,104 +2076,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
- "y": 7,
- "w": 27,
- "h": 21
+ "x": 10,
+ "y": 2,
+ "w": 22,
+ "h": 26
},
"frame": {
- "x": 221,
- "y": 106,
- "w": 27,
- "h": 21
+ "x": 102,
+ "y": 258,
+ "w": 22,
+ "h": 26
}
},
{
- "filename": "985s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 7,
- "w": 27,
- "h": 21
- },
- "frame": {
- "x": 143,
- "y": 123,
- "w": 27,
- "h": 21
- }
- },
- {
- "filename": "1002",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 7,
- "w": 27,
- "h": 21
- },
- "frame": {
- "x": 144,
- "y": 144,
- "w": 27,
- "h": 21
- }
- },
- {
- "filename": "1002s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 7,
- "w": 27,
- "h": 21
- },
- "frame": {
- "x": 170,
- "y": 123,
- "w": 27,
- "h": 21
- }
- },
- {
- "filename": "1012-counterfeit",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 6,
- "w": 26,
- "h": 22
- },
- "frame": {
- "x": 171,
- "y": 144,
- "w": 26,
- "h": 22
- }
- },
- {
- "filename": "1016s",
+ "filename": "1016",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2397,243 +2103,12 @@
"h": 27
},
"frame": {
- "x": 197,
- "y": 127,
+ "x": 99,
+ "y": 284,
"w": 24,
"h": 27
}
},
- {
- "filename": "1000",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 1,
- "w": 22,
- "h": 27
- },
- "frame": {
- "x": 221,
- "y": 127,
- "w": 22,
- "h": 27
- }
- },
- {
- "filename": "916s-female",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 7,
- "w": 25,
- "h": 21
- },
- "frame": {
- "x": 146,
- "y": 165,
- "w": 25,
- "h": 21
- }
- },
- {
- "filename": "1012s-counterfeit",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 6,
- "w": 26,
- "h": 22
- },
- "frame": {
- "x": 171,
- "y": 166,
- "w": 26,
- "h": 22
- }
- },
- {
- "filename": "1000s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 1,
- "w": 22,
- "h": 27
- },
- "frame": {
- "x": 197,
- "y": 154,
- "w": 22,
- "h": 27
- }
- },
- {
- "filename": "1006",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 1,
- "w": 22,
- "h": 27
- },
- "frame": {
- "x": 219,
- "y": 154,
- "w": 22,
- "h": 27
- }
- },
- {
- "filename": "945",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 6,
- "w": 25,
- "h": 22
- },
- "frame": {
- "x": 139,
- "y": 186,
- "w": 25,
- "h": 22
- }
- },
- {
- "filename": "1006s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 1,
- "w": 22,
- "h": 27
- },
- "frame": {
- "x": 138,
- "y": 208,
- "w": 22,
- "h": 27
- }
- },
- {
- "filename": "910",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 7,
- "w": 21,
- "h": 21
- },
- "frame": {
- "x": 139,
- "y": 235,
- "w": 21,
- "h": 21
- }
- },
- {
- "filename": "927",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 7,
- "w": 24,
- "h": 21
- },
- "frame": {
- "x": 137,
- "y": 256,
- "w": 24,
- "h": 21
- }
- },
- {
- "filename": "933",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 7,
- "w": 25,
- "h": 21
- },
- "frame": {
- "x": 164,
- "y": 188,
- "w": 25,
- "h": 21
- }
- },
- {
- "filename": "1017-hearthflame-mask-tera",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 25,
- "h": 24
- },
- "frame": {
- "x": 160,
- "y": 209,
- "w": 25,
- "h": 24
- }
- },
{
"filename": "1017-hearthflame-mask",
"rotated": false,
@@ -2649,14 +2124,14 @@
"h": 24
},
"frame": {
- "x": 160,
- "y": 209,
+ "x": 113,
+ "y": 180,
"w": 25,
"h": 24
}
},
{
- "filename": "1017s-hearthflame-mask-tera",
+ "filename": "1017-hearthflame-mask-tera",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2670,8 +2145,8 @@
"h": 24
},
"frame": {
- "x": 160,
- "y": 209,
+ "x": 113,
+ "y": 180,
"w": 25,
"h": 24
}
@@ -2691,14 +2166,14 @@
"h": 24
},
"frame": {
- "x": 160,
- "y": 209,
+ "x": 113,
+ "y": 180,
"w": 25,
"h": 24
}
},
{
- "filename": "945s",
+ "filename": "1017s-hearthflame-mask-tera",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2707,40 +2182,19 @@
},
"spriteSourceSize": {
"x": 7,
- "y": 6,
+ "y": 4,
"w": 25,
- "h": 22
+ "h": 24
},
"frame": {
- "x": 160,
- "y": 233,
+ "x": 113,
+ "y": 180,
"w": 25,
- "h": 22
+ "h": 24
}
},
{
- "filename": "952",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 6,
- "w": 25,
- "h": 22
- },
- "frame": {
- "x": 161,
- "y": 255,
- "w": 25,
- "h": 22
- }
- },
- {
- "filename": "949",
+ "filename": "936s",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2749,19 +2203,61 @@
},
"spriteSourceSize": {
"x": 10,
+ "y": 0,
+ "w": 20,
+ "h": 28
+ },
+ "frame": {
+ "x": 122,
+ "y": 204,
+ "w": 20,
+ "h": 28
+ }
+ },
+ {
+ "filename": "954",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 0,
+ "w": 21,
+ "h": 29
+ },
+ "frame": {
+ "x": 124,
+ "y": 232,
+ "w": 21,
+ "h": 29
+ }
+ },
+ {
+ "filename": "914",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
"y": 3,
- "w": 20,
+ "w": 24,
"h": 25
},
"frame": {
- "x": 83,
- "y": 302,
- "w": 20,
+ "x": 124,
+ "y": 261,
+ "w": 24,
"h": 25
}
},
{
- "filename": "949s",
+ "filename": "914s",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2769,20 +2265,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 10,
+ "x": 8,
"y": 3,
- "w": 20,
+ "w": 24,
"h": 25
},
"frame": {
- "x": 84,
- "y": 277,
- "w": 20,
+ "x": 123,
+ "y": 286,
+ "w": 24,
"h": 25
}
},
{
- "filename": "982",
+ "filename": "916-female",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2790,20 +2286,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 10,
- "y": 2,
- "w": 22,
- "h": 26
+ "x": 6,
+ "y": 7,
+ "w": 25,
+ "h": 21
},
"frame": {
- "x": 104,
- "y": 276,
- "w": 22,
- "h": 26
+ "x": 55,
+ "y": 316,
+ "w": 25,
+ "h": 21
}
},
{
- "filename": "982s",
+ "filename": "1016s",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2811,16 +2307,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 10,
- "y": 2,
- "w": 22,
- "h": 26
+ "x": 8,
+ "y": 1,
+ "w": 24,
+ "h": 27
},
"frame": {
- "x": 103,
- "y": 302,
- "w": 22,
- "h": 26
+ "x": 50,
+ "y": 337,
+ "w": 24,
+ "h": 27
}
},
{
@@ -2838,12 +2334,264 @@
"h": 24
},
"frame": {
- "x": 93,
- "y": 328,
+ "x": 50,
+ "y": 364,
"w": 24,
"h": 24
}
},
+ {
+ "filename": "954s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 0,
+ "w": 21,
+ "h": 29
+ },
+ "frame": {
+ "x": 52,
+ "y": 388,
+ "w": 21,
+ "h": 29
+ }
+ },
+ {
+ "filename": "1000",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 1,
+ "w": 22,
+ "h": 27
+ },
+ "frame": {
+ "x": 52,
+ "y": 417,
+ "w": 22,
+ "h": 27
+ }
+ },
+ {
+ "filename": "1023",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 1,
+ "w": 20,
+ "h": 28
+ },
+ "frame": {
+ "x": 54,
+ "y": 444,
+ "w": 20,
+ "h": 28
+ }
+ },
+ {
+ "filename": "1023s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 1,
+ "w": 20,
+ "h": 28
+ },
+ "frame": {
+ "x": 54,
+ "y": 472,
+ "w": 20,
+ "h": 28
+ }
+ },
+ {
+ "filename": "1000s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 1,
+ "w": 22,
+ "h": 27
+ },
+ "frame": {
+ "x": 55,
+ "y": 500,
+ "w": 22,
+ "h": 27
+ }
+ },
+ {
+ "filename": "1006",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 1,
+ "w": 22,
+ "h": 27
+ },
+ "frame": {
+ "x": 56,
+ "y": 527,
+ "w": 22,
+ "h": 27
+ }
+ },
+ {
+ "filename": "1006s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 1,
+ "w": 22,
+ "h": 27
+ },
+ "frame": {
+ "x": 56,
+ "y": 554,
+ "w": 22,
+ "h": 27
+ }
+ },
+ {
+ "filename": "908s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 2,
+ "w": 20,
+ "h": 26
+ },
+ "frame": {
+ "x": 80,
+ "y": 313,
+ "w": 20,
+ "h": 26
+ }
+ },
+ {
+ "filename": "956",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 6,
+ "w": 26,
+ "h": 22
+ },
+ "frame": {
+ "x": 100,
+ "y": 311,
+ "w": 26,
+ "h": 22
+ }
+ },
+ {
+ "filename": "917",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 6,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 126,
+ "y": 311,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "956s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 6,
+ "w": 26,
+ "h": 22
+ },
+ "frame": {
+ "x": 74,
+ "y": 339,
+ "w": 26,
+ "h": 22
+ }
+ },
+ {
+ "filename": "982s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 2,
+ "w": 22,
+ "h": 26
+ },
+ "frame": {
+ "x": 100,
+ "y": 333,
+ "w": 22,
+ "h": 26
+ }
+ },
{
"filename": "987s",
"rotated": false,
@@ -2859,8 +2607,239 @@
"h": 24
},
"frame": {
- "x": 126,
- "y": 277,
+ "x": 74,
+ "y": 361,
+ "w": 24,
+ "h": 24
+ }
+ },
+ {
+ "filename": "1012-counterfeit",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 6,
+ "w": 26,
+ "h": 22
+ },
+ "frame": {
+ "x": 122,
+ "y": 333,
+ "w": 26,
+ "h": 22
+ }
+ },
+ {
+ "filename": "950",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 11,
+ "w": 28,
+ "h": 17
+ },
+ "frame": {
+ "x": 144,
+ "y": 148,
+ "w": 28,
+ "h": 17
+ }
+ },
+ {
+ "filename": "950s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 11,
+ "w": 28,
+ "h": 17
+ },
+ "frame": {
+ "x": 172,
+ "y": 148,
+ "w": 28,
+ "h": 17
+ }
+ },
+ {
+ "filename": "985",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 7,
+ "w": 27,
+ "h": 21
+ },
+ "frame": {
+ "x": 140,
+ "y": 165,
+ "w": 27,
+ "h": 21
+ }
+ },
+ {
+ "filename": "985s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 7,
+ "w": 27,
+ "h": 21
+ },
+ "frame": {
+ "x": 167,
+ "y": 165,
+ "w": 27,
+ "h": 21
+ }
+ },
+ {
+ "filename": "953",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 12,
+ "w": 24,
+ "h": 16
+ },
+ "frame": {
+ "x": 138,
+ "y": 186,
+ "w": 24,
+ "h": 16
+ }
+ },
+ {
+ "filename": "1010",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 2,
+ "w": 21,
+ "h": 26
+ },
+ "frame": {
+ "x": 142,
+ "y": 202,
+ "w": 21,
+ "h": 26
+ }
+ },
+ {
+ "filename": "953s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 12,
+ "w": 24,
+ "h": 16
+ },
+ "frame": {
+ "x": 162,
+ "y": 186,
+ "w": 24,
+ "h": 16
+ }
+ },
+ {
+ "filename": "1010s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 2,
+ "w": 21,
+ "h": 26
+ },
+ "frame": {
+ "x": 163,
+ "y": 202,
+ "w": 21,
+ "h": 26
+ }
+ },
+ {
+ "filename": "1002",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 7,
+ "w": 27,
+ "h": 21
+ },
+ "frame": {
+ "x": 145,
+ "y": 228,
+ "w": 27,
+ "h": 21
+ }
+ },
+ {
+ "filename": "1017-cornerstone-mask",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 4,
+ "w": 24,
+ "h": 24
+ },
+ "frame": {
+ "x": 148,
+ "y": 249,
"w": 24,
"h": 24
}
@@ -2880,50 +2859,8 @@
"h": 24
},
"frame": {
- "x": 150,
- "y": 277,
- "w": 24,
- "h": 24
- }
- },
- {
- "filename": "1017-cornerstone-mask",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 24,
- "h": 24
- },
- "frame": {
- "x": 150,
- "y": 277,
- "w": 24,
- "h": 24
- }
- },
- {
- "filename": "1017s-cornerstone-mask-tera",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 24,
- "h": 24
- },
- "frame": {
- "x": 150,
- "y": 277,
+ "x": 148,
+ "y": 249,
"w": 24,
"h": 24
}
@@ -2943,56 +2880,14 @@
"h": 24
},
"frame": {
- "x": 150,
- "y": 277,
+ "x": 148,
+ "y": 249,
"w": 24,
"h": 24
}
},
{
- "filename": "908s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 2,
- "w": 20,
- "h": 26
- },
- "frame": {
- "x": 174,
- "y": 277,
- "w": 20,
- "h": 26
- }
- },
- {
- "filename": "950s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 11,
- "w": 28,
- "h": 17
- },
- "frame": {
- "x": 197,
- "y": 181,
- "w": 28,
- "h": 17
- }
- },
- {
- "filename": "961",
+ "filename": "1017s-cornerstone-mask-tera",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -3001,35 +2896,14 @@
},
"spriteSourceSize": {
"x": 8,
- "y": 5,
- "w": 23,
- "h": 23
- },
- "frame": {
- "x": 225,
- "y": 181,
- "w": 23,
- "h": 23
- }
- },
- {
- "filename": "918",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
"y": 4,
- "w": 22,
+ "w": 24,
"h": 24
},
"frame": {
- "x": 117,
- "y": 328,
- "w": 22,
+ "x": 148,
+ "y": 249,
+ "w": 24,
"h": 24
}
},
@@ -3048,453 +2922,12 @@
"h": 26
},
"frame": {
- "x": 125,
- "y": 302,
+ "x": 172,
+ "y": 228,
"w": 15,
"h": 26
}
},
- {
- "filename": "1017-teal-mask-tera",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 24,
- "h": 24
- },
- "frame": {
- "x": 140,
- "y": 301,
- "w": 24,
- "h": 24
- }
- },
- {
- "filename": "1017-teal-mask",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 24,
- "h": 24
- },
- "frame": {
- "x": 140,
- "y": 301,
- "w": 24,
- "h": 24
- }
- },
- {
- "filename": "1017s-teal-mask-tera",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 24,
- "h": 24
- },
- "frame": {
- "x": 140,
- "y": 301,
- "w": 24,
- "h": 24
- }
- },
- {
- "filename": "1017s-teal-mask",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 24,
- "h": 24
- },
- "frame": {
- "x": 140,
- "y": 301,
- "w": 24,
- "h": 24
- }
- },
- {
- "filename": "952s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 6,
- "w": 25,
- "h": 22
- },
- "frame": {
- "x": 164,
- "y": 303,
- "w": 25,
- "h": 22
- }
- },
- {
- "filename": "1023s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 1,
- "w": 20,
- "h": 28
- },
- "frame": {
- "x": 185,
- "y": 209,
- "w": 20,
- "h": 28
- }
- },
- {
- "filename": "991",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 4,
- "w": 20,
- "h": 24
- },
- "frame": {
- "x": 205,
- "y": 198,
- "w": 20,
- "h": 24
- }
- },
- {
- "filename": "961s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 5,
- "w": 23,
- "h": 23
- },
- "frame": {
- "x": 225,
- "y": 204,
- "w": 23,
- "h": 23
- }
- },
- {
- "filename": "931-blue-plumage",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 8,
- "w": 20,
- "h": 20
- },
- "frame": {
- "x": 205,
- "y": 222,
- "w": 20,
- "h": 20
- }
- },
- {
- "filename": "986",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 5,
- "w": 23,
- "h": 23
- },
- "frame": {
- "x": 225,
- "y": 227,
- "w": 23,
- "h": 23
- }
- },
- {
- "filename": "970",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 12,
- "w": 20,
- "h": 16
- },
- "frame": {
- "x": 185,
- "y": 237,
- "w": 20,
- "h": 16
- }
- },
- {
- "filename": "918s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 4,
- "w": 22,
- "h": 24
- },
- "frame": {
- "x": 186,
- "y": 253,
- "w": 22,
- "h": 24
- }
- },
- {
- "filename": "973s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 2,
- "w": 15,
- "h": 26
- },
- "frame": {
- "x": 194,
- "y": 277,
- "w": 15,
- "h": 26
- }
- },
- {
- "filename": "917",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 6,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 189,
- "y": 303,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "913",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 17,
- "h": 23
- },
- "frame": {
- "x": 208,
- "y": 242,
- "w": 17,
- "h": 23
- }
- },
- {
- "filename": "986s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 5,
- "w": 23,
- "h": 23
- },
- "frame": {
- "x": 225,
- "y": 250,
- "w": 23,
- "h": 23
- }
- },
- {
- "filename": "948",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 7,
- "w": 16,
- "h": 21
- },
- "frame": {
- "x": 209,
- "y": 265,
- "w": 16,
- "h": 21
- }
- },
- {
- "filename": "947",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 6,
- "w": 23,
- "h": 22
- },
- "frame": {
- "x": 225,
- "y": 273,
- "w": 23,
- "h": 22
- }
- },
- {
- "filename": "957",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 11,
- "w": 16,
- "h": 17
- },
- "frame": {
- "x": 209,
- "y": 286,
- "w": 16,
- "h": 17
- }
- },
- {
- "filename": "947s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 6,
- "w": 23,
- "h": 22
- },
- "frame": {
- "x": 225,
- "y": 295,
- "w": 23,
- "h": 22
- }
- },
- {
- "filename": "999-roaming",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 10,
- "w": 14,
- "h": 18
- },
- "frame": {
- "x": 211,
- "y": 303,
- "w": 14,
- "h": 18
- }
- },
{
"filename": "916s",
"rotated": false,
@@ -3510,14 +2943,14 @@
"h": 19
},
"frame": {
- "x": 93,
- "y": 352,
+ "x": 148,
+ "y": 273,
"w": 25,
"h": 19
}
},
{
- "filename": "1010",
+ "filename": "997",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -3526,271 +2959,19 @@
},
"spriteSourceSize": {
"x": 9,
- "y": 2,
+ "y": 9,
"w": 21,
- "h": 26
+ "h": 19
},
"frame": {
- "x": 72,
- "y": 356,
+ "x": 147,
+ "y": 292,
"w": 21,
- "h": 26
+ "h": 19
}
},
{
- "filename": "1010s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 2,
- "w": 21,
- "h": 26
- },
- "frame": {
- "x": 72,
- "y": 382,
- "w": 21,
- "h": 26
- }
- },
- {
- "filename": "1017-wellspring-mask-tera",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 24,
- "h": 24
- },
- "frame": {
- "x": 93,
- "y": 371,
- "w": 24,
- "h": 24
- }
- },
- {
- "filename": "1017-wellspring-mask",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 24,
- "h": 24
- },
- "frame": {
- "x": 93,
- "y": 371,
- "w": 24,
- "h": 24
- }
- },
- {
- "filename": "1017s-wellspring-mask-tera",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 24,
- "h": 24
- },
- "frame": {
- "x": 93,
- "y": 371,
- "w": 24,
- "h": 24
- }
- },
- {
- "filename": "1017s-wellspring-mask",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 24,
- "h": 24
- },
- "frame": {
- "x": 93,
- "y": 371,
- "w": 24,
- "h": 24
- }
- },
- {
- "filename": "910s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 7,
- "w": 21,
- "h": 21
- },
- "frame": {
- "x": 118,
- "y": 352,
- "w": 21,
- "h": 21
- }
- },
- {
- "filename": "917s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 6,
- "w": 22,
- "h": 22
- },
- "frame": {
- "x": 117,
- "y": 373,
- "w": 22,
- "h": 22
- }
- },
- {
- "filename": "933s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 7,
- "w": 25,
- "h": 21
- },
- "frame": {
- "x": 93,
- "y": 395,
- "w": 25,
- "h": 21
- }
- },
- {
- "filename": "991s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 4,
- "w": 20,
- "h": 24
- },
- "frame": {
- "x": 73,
- "y": 408,
- "w": 20,
- "h": 24
- }
- },
- {
- "filename": "920",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 5,
- "w": 22,
- "h": 23
- },
- "frame": {
- "x": 118,
- "y": 395,
- "w": 22,
- "h": 23
- }
- },
- {
- "filename": "966",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 7,
- "w": 25,
- "h": 21
- },
- "frame": {
- "x": 93,
- "y": 416,
- "w": 25,
- "h": 21
- }
- },
- {
- "filename": "920s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 5,
- "w": 22,
- "h": 23
- },
- "frame": {
- "x": 118,
- "y": 418,
- "w": 22,
- "h": 23
- }
- },
- {
- "filename": "962",
+ "filename": "949",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -3800,291 +2981,18 @@
"spriteSourceSize": {
"x": 10,
"y": 3,
- "w": 19,
+ "w": 20,
"h": 25
},
"frame": {
- "x": 74,
- "y": 432,
- "w": 19,
+ "x": 148,
+ "y": 311,
+ "w": 20,
"h": 25
}
},
{
- "filename": "966s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 7,
- "w": 25,
- "h": 21
- },
- "frame": {
- "x": 93,
- "y": 437,
- "w": 25,
- "h": 21
- }
- },
- {
- "filename": "962s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 3,
- "w": 19,
- "h": 25
- },
- "frame": {
- "x": 74,
- "y": 457,
- "w": 19,
- "h": 25
- }
- },
- {
- "filename": "8128",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 7,
- "w": 25,
- "h": 21
- },
- "frame": {
- "x": 93,
- "y": 458,
- "w": 25,
- "h": 21
- }
- },
- {
- "filename": "1013-unremarkable",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 4,
- "w": 20,
- "h": 24
- },
- "frame": {
- "x": 118,
- "y": 441,
- "w": 20,
- "h": 24
- }
- },
- {
- "filename": "923",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 4,
- "w": 19,
- "h": 24
- },
- "frame": {
- "x": 74,
- "y": 482,
- "w": 19,
- "h": 24
- }
- },
- {
- "filename": "1011",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 19,
- "h": 22
- },
- "frame": {
- "x": 74,
- "y": 506,
- "w": 19,
- "h": 22
- }
- },
- {
- "filename": "8128s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 7,
- "w": 25,
- "h": 21
- },
- "frame": {
- "x": 93,
- "y": 479,
- "w": 25,
- "h": 21
- }
- },
- {
- "filename": "927s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 7,
- "w": 24,
- "h": 21
- },
- "frame": {
- "x": 93,
- "y": 500,
- "w": 24,
- "h": 21
- }
- },
- {
- "filename": "1013s-unremarkable",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 4,
- "w": 20,
- "h": 24
- },
- "frame": {
- "x": 118,
- "y": 465,
- "w": 20,
- "h": 24
- }
- },
- {
- "filename": "923s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 4,
- "w": 19,
- "h": 24
- },
- "frame": {
- "x": 79,
- "y": 528,
- "w": 19,
- "h": 24
- }
- },
- {
- "filename": "913s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 17,
- "h": 23
- },
- "frame": {
- "x": 80,
- "y": 552,
- "w": 17,
- "h": 23
- }
- },
- {
- "filename": "1011s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 5,
- "w": 19,
- "h": 22
- },
- "frame": {
- "x": 98,
- "y": 521,
- "w": 19,
- "h": 22
- }
- },
- {
- "filename": "931-green-plumage",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 8,
- "w": 20,
- "h": 20
- },
- "frame": {
- "x": 118,
- "y": 489,
- "w": 20,
- "h": 20
- }
- },
- {
- "filename": "941",
+ "filename": "910",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -4098,558 +3006,12 @@
"h": 21
},
"frame": {
- "x": 117,
- "y": 509,
+ "x": 148,
+ "y": 336,
"w": 21,
"h": 21
}
},
- {
- "filename": "941s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 7,
- "w": 21,
- "h": 21
- },
- "frame": {
- "x": 117,
- "y": 530,
- "w": 21,
- "h": 21
- }
- },
- {
- "filename": "915",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 11,
- "w": 19,
- "h": 17
- },
- "frame": {
- "x": 98,
- "y": 543,
- "w": 19,
- "h": 17
- }
- },
- {
- "filename": "931-white-plumage",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 8,
- "w": 20,
- "h": 20
- },
- "frame": {
- "x": 97,
- "y": 560,
- "w": 20,
- "h": 20
- }
- },
- {
- "filename": "939",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 7,
- "w": 20,
- "h": 21
- },
- "frame": {
- "x": 117,
- "y": 551,
- "w": 20,
- "h": 21
- }
- },
- {
- "filename": "907",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 6,
- "w": 17,
- "h": 22
- },
- "frame": {
- "x": 106,
- "y": 580,
- "w": 17,
- "h": 22
- }
- },
- {
- "filename": "907s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 6,
- "w": 17,
- "h": 22
- },
- "frame": {
- "x": 123,
- "y": 572,
- "w": 17,
- "h": 22
- }
- },
- {
- "filename": "943",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 8,
- "w": 24,
- "h": 20
- },
- "frame": {
- "x": 140,
- "y": 325,
- "w": 24,
- "h": 20
- }
- },
- {
- "filename": "943s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 8,
- "w": 24,
- "h": 20
- },
- "frame": {
- "x": 164,
- "y": 325,
- "w": 24,
- "h": 20
- }
- },
- {
- "filename": "1024",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 8,
- "w": 24,
- "h": 20
- },
- "frame": {
- "x": 139,
- "y": 345,
- "w": 24,
- "h": 20
- }
- },
- {
- "filename": "1024s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 8,
- "w": 24,
- "h": 20
- },
- "frame": {
- "x": 163,
- "y": 345,
- "w": 24,
- "h": 20
- }
- },
- {
- "filename": "939s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 7,
- "w": 20,
- "h": 21
- },
- "frame": {
- "x": 139,
- "y": 365,
- "w": 20,
- "h": 21
- }
- },
- {
- "filename": "971",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 7,
- "w": 20,
- "h": 21
- },
- "frame": {
- "x": 159,
- "y": 365,
- "w": 20,
- "h": 21
- }
- },
- {
- "filename": "1004",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 8,
- "w": 21,
- "h": 20
- },
- "frame": {
- "x": 188,
- "y": 325,
- "w": 21,
- "h": 20
- }
- },
- {
- "filename": "1004s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 8,
- "w": 21,
- "h": 20
- },
- "frame": {
- "x": 187,
- "y": 345,
- "w": 21,
- "h": 20
- }
- },
- {
- "filename": "971s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 7,
- "w": 20,
- "h": 21
- },
- "frame": {
- "x": 179,
- "y": 365,
- "w": 20,
- "h": 21
- }
- },
- {
- "filename": "931-yellow-plumage",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 8,
- "w": 20,
- "h": 20
- },
- "frame": {
- "x": 140,
- "y": 386,
- "w": 20,
- "h": 20
- }
- },
- {
- "filename": "931s-blue-plumage",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 8,
- "w": 20,
- "h": 20
- },
- "frame": {
- "x": 140,
- "y": 406,
- "w": 20,
- "h": 20
- }
- },
- {
- "filename": "931s-green-plumage",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 8,
- "w": 20,
- "h": 20
- },
- "frame": {
- "x": 160,
- "y": 386,
- "w": 20,
- "h": 20
- }
- },
- {
- "filename": "931s-white-plumage",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 8,
- "w": 20,
- "h": 20
- },
- "frame": {
- "x": 160,
- "y": 406,
- "w": 20,
- "h": 20
- }
- },
- {
- "filename": "929",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 6,
- "w": 17,
- "h": 22
- },
- "frame": {
- "x": 180,
- "y": 386,
- "w": 17,
- "h": 22
- }
- },
- {
- "filename": "963",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 13,
- "w": 22,
- "h": 15
- },
- "frame": {
- "x": 140,
- "y": 426,
- "w": 22,
- "h": 15
- }
- },
- {
- "filename": "931s-yellow-plumage",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 8,
- "w": 20,
- "h": 20
- },
- "frame": {
- "x": 138,
- "y": 441,
- "w": 20,
- "h": 20
- }
- },
- {
- "filename": "929s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 6,
- "w": 17,
- "h": 22
- },
- "frame": {
- "x": 138,
- "y": 461,
- "w": 17,
- "h": 22
- }
- },
- {
- "filename": "1015",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 7,
- "w": 17,
- "h": 21
- },
- "frame": {
- "x": 138,
- "y": 483,
- "w": 17,
- "h": 21
- }
- },
- {
- "filename": "1015s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 7,
- "w": 17,
- "h": 21
- },
- "frame": {
- "x": 138,
- "y": 504,
- "w": 17,
- "h": 21
- }
- },
- {
- "filename": "948s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 7,
- "w": 16,
- "h": 21
- },
- "frame": {
- "x": 138,
- "y": 525,
- "w": 16,
- "h": 21
- }
- },
{
"filename": "906",
"rotated": false,
@@ -4665,8 +3027,8 @@
"h": 19
},
"frame": {
- "x": 180,
- "y": 408,
+ "x": 172,
+ "y": 254,
"w": 18,
"h": 19
}
@@ -4686,12 +3048,558 @@
"h": 19
},
"frame": {
- "x": 162,
- "y": 426,
+ "x": 173,
+ "y": 273,
"w": 18,
"h": 19
}
},
+ {
+ "filename": "1017-teal-mask",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 4,
+ "w": 24,
+ "h": 24
+ },
+ "frame": {
+ "x": 168,
+ "y": 292,
+ "w": 24,
+ "h": 24
+ }
+ },
+ {
+ "filename": "1017-teal-mask-tera",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 4,
+ "w": 24,
+ "h": 24
+ },
+ "frame": {
+ "x": 168,
+ "y": 292,
+ "w": 24,
+ "h": 24
+ }
+ },
+ {
+ "filename": "1017s-teal-mask",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 4,
+ "w": 24,
+ "h": 24
+ },
+ "frame": {
+ "x": 168,
+ "y": 292,
+ "w": 24,
+ "h": 24
+ }
+ },
+ {
+ "filename": "1017s-teal-mask-tera",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 4,
+ "w": 24,
+ "h": 24
+ },
+ "frame": {
+ "x": 168,
+ "y": 292,
+ "w": 24,
+ "h": 24
+ }
+ },
+ {
+ "filename": "943",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 8,
+ "w": 24,
+ "h": 20
+ },
+ "frame": {
+ "x": 168,
+ "y": 316,
+ "w": 24,
+ "h": 20
+ }
+ },
+ {
+ "filename": "916s-female",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 7,
+ "w": 25,
+ "h": 21
+ },
+ "frame": {
+ "x": 169,
+ "y": 336,
+ "w": 25,
+ "h": 21
+ }
+ },
+ {
+ "filename": "1002s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 7,
+ "w": 27,
+ "h": 21
+ },
+ "frame": {
+ "x": 200,
+ "y": 152,
+ "w": 27,
+ "h": 21
+ }
+ },
+ {
+ "filename": "945",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 6,
+ "w": 25,
+ "h": 22
+ },
+ "frame": {
+ "x": 227,
+ "y": 171,
+ "w": 25,
+ "h": 22
+ }
+ },
+ {
+ "filename": "1012s-counterfeit",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 6,
+ "w": 26,
+ "h": 22
+ },
+ "frame": {
+ "x": 194,
+ "y": 173,
+ "w": 26,
+ "h": 22
+ }
+ },
+ {
+ "filename": "973s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 2,
+ "w": 15,
+ "h": 26
+ },
+ "frame": {
+ "x": 184,
+ "y": 202,
+ "w": 15,
+ "h": 26
+ }
+ },
+ {
+ "filename": "918",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 4,
+ "w": 22,
+ "h": 24
+ },
+ "frame": {
+ "x": 199,
+ "y": 195,
+ "w": 22,
+ "h": 24
+ }
+ },
+ {
+ "filename": "1017-wellspring-mask",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 4,
+ "w": 24,
+ "h": 24
+ },
+ "frame": {
+ "x": 221,
+ "y": 193,
+ "w": 24,
+ "h": 24
+ }
+ },
+ {
+ "filename": "1017-wellspring-mask-tera",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 4,
+ "w": 24,
+ "h": 24
+ },
+ "frame": {
+ "x": 221,
+ "y": 193,
+ "w": 24,
+ "h": 24
+ }
+ },
+ {
+ "filename": "1017s-wellspring-mask",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 4,
+ "w": 24,
+ "h": 24
+ },
+ "frame": {
+ "x": 221,
+ "y": 193,
+ "w": 24,
+ "h": 24
+ }
+ },
+ {
+ "filename": "1017s-wellspring-mask-tera",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 4,
+ "w": 24,
+ "h": 24
+ },
+ "frame": {
+ "x": 221,
+ "y": 193,
+ "w": 24,
+ "h": 24
+ }
+ },
+ {
+ "filename": "949s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 3,
+ "w": 20,
+ "h": 25
+ },
+ "frame": {
+ "x": 187,
+ "y": 228,
+ "w": 20,
+ "h": 25
+ }
+ },
+ {
+ "filename": "931-blue-plumage",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 20,
+ "h": 20
+ },
+ "frame": {
+ "x": 190,
+ "y": 253,
+ "w": 20,
+ "h": 20
+ }
+ },
+ {
+ "filename": "967",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 9,
+ "w": 20,
+ "h": 19
+ },
+ "frame": {
+ "x": 191,
+ "y": 273,
+ "w": 20,
+ "h": 19
+ }
+ },
+ {
+ "filename": "962",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 3,
+ "w": 19,
+ "h": 25
+ },
+ "frame": {
+ "x": 192,
+ "y": 292,
+ "w": 19,
+ "h": 25
+ }
+ },
+ {
+ "filename": "967s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 9,
+ "w": 20,
+ "h": 19
+ },
+ "frame": {
+ "x": 192,
+ "y": 317,
+ "w": 20,
+ "h": 19
+ }
+ },
+ {
+ "filename": "910s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 7,
+ "w": 21,
+ "h": 21
+ },
+ "frame": {
+ "x": 194,
+ "y": 336,
+ "w": 21,
+ "h": 21
+ }
+ },
+ {
+ "filename": "962s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 3,
+ "w": 19,
+ "h": 25
+ },
+ "frame": {
+ "x": 207,
+ "y": 219,
+ "w": 19,
+ "h": 25
+ }
+ },
+ {
+ "filename": "918s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 4,
+ "w": 22,
+ "h": 24
+ },
+ "frame": {
+ "x": 226,
+ "y": 217,
+ "w": 22,
+ "h": 24
+ }
+ },
+ {
+ "filename": "923",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 4,
+ "w": 19,
+ "h": 24
+ },
+ "frame": {
+ "x": 210,
+ "y": 244,
+ "w": 19,
+ "h": 24
+ }
+ },
+ {
+ "filename": "961",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 5,
+ "w": 23,
+ "h": 23
+ },
+ "frame": {
+ "x": 229,
+ "y": 241,
+ "w": 23,
+ "h": 23
+ }
+ },
+ {
+ "filename": "961s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 5,
+ "w": 23,
+ "h": 23
+ },
+ "frame": {
+ "x": 229,
+ "y": 264,
+ "w": 23,
+ "h": 23
+ }
+ },
{
"filename": "909",
"rotated": false,
@@ -4707,14 +3615,98 @@
"h": 19
},
"frame": {
- "x": 180,
- "y": 427,
+ "x": 211,
+ "y": 268,
"w": 18,
"h": 19
}
},
{
- "filename": "963s",
+ "filename": "945s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 6,
+ "w": 25,
+ "h": 22
+ },
+ "frame": {
+ "x": 211,
+ "y": 287,
+ "w": 25,
+ "h": 22
+ }
+ },
+ {
+ "filename": "948",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 7,
+ "w": 16,
+ "h": 21
+ },
+ "frame": {
+ "x": 236,
+ "y": 287,
+ "w": 16,
+ "h": 21
+ }
+ },
+ {
+ "filename": "948s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 7,
+ "w": 16,
+ "h": 21
+ },
+ "frame": {
+ "x": 236,
+ "y": 308,
+ "w": 16,
+ "h": 21
+ }
+ },
+ {
+ "filename": "927",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 7,
+ "w": 24,
+ "h": 21
+ },
+ "frame": {
+ "x": 212,
+ "y": 309,
+ "w": 24,
+ "h": 21
+ }
+ },
+ {
+ "filename": "920",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -4723,15 +3715,162 @@
},
"spriteSourceSize": {
"x": 9,
- "y": 13,
+ "y": 5,
"w": 22,
- "h": 15
+ "h": 23
},
"frame": {
- "x": 158,
- "y": 445,
+ "x": 215,
+ "y": 330,
"w": 22,
- "h": 15
+ "h": 23
+ }
+ },
+ {
+ "filename": "912",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 9,
+ "w": 15,
+ "h": 19
+ },
+ "frame": {
+ "x": 237,
+ "y": 329,
+ "w": 15,
+ "h": 19
+ }
+ },
+ {
+ "filename": "912s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 9,
+ "w": 15,
+ "h": 19
+ },
+ "frame": {
+ "x": 237,
+ "y": 348,
+ "w": 15,
+ "h": 19
+ }
+ },
+ {
+ "filename": "917s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 6,
+ "w": 22,
+ "h": 22
+ },
+ "frame": {
+ "x": 215,
+ "y": 353,
+ "w": 22,
+ "h": 22
+ }
+ },
+ {
+ "filename": "960",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 10,
+ "w": 15,
+ "h": 18
+ },
+ "frame": {
+ "x": 237,
+ "y": 367,
+ "w": 15,
+ "h": 18
+ }
+ },
+ {
+ "filename": "933",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 7,
+ "w": 25,
+ "h": 21
+ },
+ "frame": {
+ "x": 122,
+ "y": 355,
+ "w": 25,
+ "h": 21
+ }
+ },
+ {
+ "filename": "933s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 7,
+ "w": 25,
+ "h": 21
+ },
+ "frame": {
+ "x": 147,
+ "y": 357,
+ "w": 25,
+ "h": 21
+ }
+ },
+ {
+ "filename": "952",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 6,
+ "w": 25,
+ "h": 22
+ },
+ "frame": {
+ "x": 172,
+ "y": 357,
+ "w": 25,
+ "h": 22
}
},
{
@@ -4749,14 +3888,854 @@
"h": 19
},
"frame": {
- "x": 180,
- "y": 446,
+ "x": 197,
+ "y": 357,
"w": 18,
"h": 19
}
},
{
- "filename": "935",
+ "filename": "920s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 5,
+ "w": 22,
+ "h": 23
+ },
+ "frame": {
+ "x": 100,
+ "y": 359,
+ "w": 22,
+ "h": 23
+ }
+ },
+ {
+ "filename": "952s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 6,
+ "w": 25,
+ "h": 22
+ },
+ "frame": {
+ "x": 122,
+ "y": 376,
+ "w": 25,
+ "h": 22
+ }
+ },
+ {
+ "filename": "966",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 7,
+ "w": 25,
+ "h": 21
+ },
+ "frame": {
+ "x": 147,
+ "y": 378,
+ "w": 25,
+ "h": 21
+ }
+ },
+ {
+ "filename": "966s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 7,
+ "w": 25,
+ "h": 21
+ },
+ "frame": {
+ "x": 172,
+ "y": 379,
+ "w": 25,
+ "h": 21
+ }
+ },
+ {
+ "filename": "923s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 4,
+ "w": 19,
+ "h": 24
+ },
+ "frame": {
+ "x": 197,
+ "y": 376,
+ "w": 19,
+ "h": 24
+ }
+ },
+ {
+ "filename": "941",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 7,
+ "w": 21,
+ "h": 21
+ },
+ "frame": {
+ "x": 216,
+ "y": 375,
+ "w": 21,
+ "h": 21
+ }
+ },
+ {
+ "filename": "960s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 10,
+ "w": 15,
+ "h": 18
+ },
+ "frame": {
+ "x": 237,
+ "y": 385,
+ "w": 15,
+ "h": 18
+ }
+ },
+ {
+ "filename": "927s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 7,
+ "w": 24,
+ "h": 21
+ },
+ "frame": {
+ "x": 98,
+ "y": 382,
+ "w": 24,
+ "h": 21
+ }
+ },
+ {
+ "filename": "943s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 8,
+ "w": 24,
+ "h": 20
+ },
+ "frame": {
+ "x": 74,
+ "y": 385,
+ "w": 24,
+ "h": 20
+ }
+ },
+ {
+ "filename": "986",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 5,
+ "w": 23,
+ "h": 23
+ },
+ "frame": {
+ "x": 74,
+ "y": 405,
+ "w": 23,
+ "h": 23
+ }
+ },
+ {
+ "filename": "986s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 5,
+ "w": 23,
+ "h": 23
+ },
+ "frame": {
+ "x": 74,
+ "y": 428,
+ "w": 23,
+ "h": 23
+ }
+ },
+ {
+ "filename": "947",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 23,
+ "h": 22
+ },
+ "frame": {
+ "x": 74,
+ "y": 451,
+ "w": 23,
+ "h": 22
+ }
+ },
+ {
+ "filename": "947s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 6,
+ "w": 23,
+ "h": 22
+ },
+ "frame": {
+ "x": 74,
+ "y": 473,
+ "w": 23,
+ "h": 22
+ }
+ },
+ {
+ "filename": "991",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 4,
+ "w": 20,
+ "h": 24
+ },
+ "frame": {
+ "x": 77,
+ "y": 495,
+ "w": 20,
+ "h": 24
+ }
+ },
+ {
+ "filename": "991s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 4,
+ "w": 20,
+ "h": 24
+ },
+ "frame": {
+ "x": 78,
+ "y": 519,
+ "w": 20,
+ "h": 24
+ }
+ },
+ {
+ "filename": "1013-unremarkable",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 4,
+ "w": 20,
+ "h": 24
+ },
+ "frame": {
+ "x": 78,
+ "y": 543,
+ "w": 20,
+ "h": 24
+ }
+ },
+ {
+ "filename": "1013s-unremarkable",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 4,
+ "w": 20,
+ "h": 24
+ },
+ "frame": {
+ "x": 78,
+ "y": 567,
+ "w": 20,
+ "h": 24
+ }
+ },
+ {
+ "filename": "941s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 7,
+ "w": 21,
+ "h": 21
+ },
+ "frame": {
+ "x": 216,
+ "y": 396,
+ "w": 21,
+ "h": 21
+ }
+ },
+ {
+ "filename": "996",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 12,
+ "w": 15,
+ "h": 16
+ },
+ "frame": {
+ "x": 237,
+ "y": 403,
+ "w": 15,
+ "h": 16
+ }
+ },
+ {
+ "filename": "8128",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 7,
+ "w": 25,
+ "h": 21
+ },
+ "frame": {
+ "x": 122,
+ "y": 398,
+ "w": 25,
+ "h": 21
+ }
+ },
+ {
+ "filename": "8128s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 7,
+ "w": 25,
+ "h": 21
+ },
+ "frame": {
+ "x": 147,
+ "y": 399,
+ "w": 25,
+ "h": 21
+ }
+ },
+ {
+ "filename": "1024",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 8,
+ "w": 24,
+ "h": 20
+ },
+ "frame": {
+ "x": 172,
+ "y": 400,
+ "w": 24,
+ "h": 20
+ }
+ },
+ {
+ "filename": "931-green-plumage",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 20,
+ "h": 20
+ },
+ "frame": {
+ "x": 196,
+ "y": 400,
+ "w": 20,
+ "h": 20
+ }
+ },
+ {
+ "filename": "1024s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 8,
+ "w": 24,
+ "h": 20
+ },
+ "frame": {
+ "x": 98,
+ "y": 403,
+ "w": 24,
+ "h": 20
+ }
+ },
+ {
+ "filename": "939",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 7,
+ "w": 20,
+ "h": 21
+ },
+ "frame": {
+ "x": 97,
+ "y": 423,
+ "w": 20,
+ "h": 21
+ }
+ },
+ {
+ "filename": "939s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 7,
+ "w": 20,
+ "h": 21
+ },
+ "frame": {
+ "x": 97,
+ "y": 444,
+ "w": 20,
+ "h": 21
+ }
+ },
+ {
+ "filename": "971",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 7,
+ "w": 20,
+ "h": 21
+ },
+ "frame": {
+ "x": 97,
+ "y": 465,
+ "w": 20,
+ "h": 21
+ }
+ },
+ {
+ "filename": "971s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 7,
+ "w": 20,
+ "h": 21
+ },
+ "frame": {
+ "x": 97,
+ "y": 486,
+ "w": 20,
+ "h": 21
+ }
+ },
+ {
+ "filename": "969",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 16,
+ "w": 18,
+ "h": 12
+ },
+ "frame": {
+ "x": 97,
+ "y": 507,
+ "w": 18,
+ "h": 12
+ }
+ },
+ {
+ "filename": "907",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 6,
+ "w": 17,
+ "h": 22
+ },
+ "frame": {
+ "x": 98,
+ "y": 519,
+ "w": 17,
+ "h": 22
+ }
+ },
+ {
+ "filename": "907s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 6,
+ "w": 17,
+ "h": 22
+ },
+ "frame": {
+ "x": 98,
+ "y": 541,
+ "w": 17,
+ "h": 22
+ }
+ },
+ {
+ "filename": "929",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 6,
+ "w": 17,
+ "h": 22
+ },
+ "frame": {
+ "x": 98,
+ "y": 563,
+ "w": 17,
+ "h": 22
+ }
+ },
+ {
+ "filename": "929s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 6,
+ "w": 17,
+ "h": 22
+ },
+ "frame": {
+ "x": 117,
+ "y": 423,
+ "w": 17,
+ "h": 22
+ }
+ },
+ {
+ "filename": "1011",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 5,
+ "w": 19,
+ "h": 22
+ },
+ "frame": {
+ "x": 117,
+ "y": 445,
+ "w": 19,
+ "h": 22
+ }
+ },
+ {
+ "filename": "1011s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 5,
+ "w": 19,
+ "h": 22
+ },
+ "frame": {
+ "x": 117,
+ "y": 467,
+ "w": 19,
+ "h": 22
+ }
+ },
+ {
+ "filename": "931-white-plumage",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 20,
+ "h": 20
+ },
+ "frame": {
+ "x": 117,
+ "y": 489,
+ "w": 20,
+ "h": 20
+ }
+ },
+ {
+ "filename": "1004",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 8,
+ "w": 21,
+ "h": 20
+ },
+ "frame": {
+ "x": 115,
+ "y": 509,
+ "w": 21,
+ "h": 20
+ }
+ },
+ {
+ "filename": "1004s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 8,
+ "w": 21,
+ "h": 20
+ },
+ "frame": {
+ "x": 115,
+ "y": 529,
+ "w": 21,
+ "h": 20
+ }
+ },
+ {
+ "filename": "931-yellow-plumage",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 20,
+ "h": 20
+ },
+ "frame": {
+ "x": 115,
+ "y": 549,
+ "w": 20,
+ "h": 20
+ }
+ },
+ {
+ "filename": "931s-blue-plumage",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 20,
+ "h": 20
+ },
+ "frame": {
+ "x": 115,
+ "y": 569,
+ "w": 20,
+ "h": 20
+ }
+ },
+ {
+ "filename": "935s",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -4770,14 +4749,14 @@
"h": 21
},
"frame": {
- "x": 199,
- "y": 365,
+ "x": 134,
+ "y": 419,
"w": 13,
"h": 21
}
},
{
- "filename": "951",
+ "filename": "931s-green-plumage",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -4785,20 +4764,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 12,
+ "x": 10,
"y": 8,
- "w": 16,
+ "w": 20,
"h": 20
},
"frame": {
- "x": 197,
- "y": 386,
- "w": 16,
+ "x": 147,
+ "y": 420,
+ "w": 20,
"h": 20
}
},
{
- "filename": "951s",
+ "filename": "931s-white-plumage",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -4806,18 +4785,144 @@
"h": 30
},
"spriteSourceSize": {
- "x": 12,
+ "x": 10,
"y": 8,
- "w": 16,
+ "w": 20,
"h": 20
},
"frame": {
- "x": 198,
- "y": 406,
- "w": 16,
+ "x": 167,
+ "y": 420,
+ "w": 20,
"h": 20
}
},
+ {
+ "filename": "931s-yellow-plumage",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 8,
+ "w": 20,
+ "h": 20
+ },
+ "frame": {
+ "x": 187,
+ "y": 420,
+ "w": 20,
+ "h": 20
+ }
+ },
+ {
+ "filename": "997s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 9,
+ "w": 21,
+ "h": 19
+ },
+ "frame": {
+ "x": 136,
+ "y": 440,
+ "w": 21,
+ "h": 19
+ }
+ },
+ {
+ "filename": "1015",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 7,
+ "w": 17,
+ "h": 21
+ },
+ "frame": {
+ "x": 136,
+ "y": 459,
+ "w": 17,
+ "h": 21
+ }
+ },
+ {
+ "filename": "932",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 9,
+ "w": 18,
+ "h": 19
+ },
+ "frame": {
+ "x": 157,
+ "y": 440,
+ "w": 18,
+ "h": 19
+ }
+ },
+ {
+ "filename": "1015s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 7,
+ "w": 17,
+ "h": 21
+ },
+ "frame": {
+ "x": 153,
+ "y": 459,
+ "w": 17,
+ "h": 21
+ }
+ },
+ {
+ "filename": "932s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 9,
+ "w": 18,
+ "h": 19
+ },
+ "frame": {
+ "x": 175,
+ "y": 440,
+ "w": 18,
+ "h": 19
+ }
+ },
{
"filename": "958",
"rotated": false,
@@ -4833,8 +4938,8 @@
"h": 20
},
"frame": {
- "x": 198,
- "y": 426,
+ "x": 170,
+ "y": 459,
"w": 17,
"h": 20
}
@@ -4854,12 +4959,159 @@
"h": 19
},
"frame": {
- "x": 198,
- "y": 446,
+ "x": 193,
+ "y": 440,
"w": 17,
"h": 19
}
},
+ {
+ "filename": "958s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 8,
+ "w": 17,
+ "h": 20
+ },
+ "frame": {
+ "x": 187,
+ "y": 459,
+ "w": 17,
+ "h": 20
+ }
+ },
+ {
+ "filename": "951",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 8,
+ "w": 16,
+ "h": 20
+ },
+ "frame": {
+ "x": 207,
+ "y": 420,
+ "w": 16,
+ "h": 20
+ }
+ },
+ {
+ "filename": "922s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 9,
+ "w": 17,
+ "h": 19
+ },
+ "frame": {
+ "x": 210,
+ "y": 440,
+ "w": 17,
+ "h": 19
+ }
+ },
+ {
+ "filename": "963",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 13,
+ "w": 22,
+ "h": 15
+ },
+ "frame": {
+ "x": 204,
+ "y": 459,
+ "w": 22,
+ "h": 15
+ }
+ },
+ {
+ "filename": "999-roaming",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 10,
+ "w": 14,
+ "h": 18
+ },
+ "frame": {
+ "x": 223,
+ "y": 417,
+ "w": 14,
+ "h": 18
+ }
+ },
+ {
+ "filename": "996s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 12,
+ "w": 15,
+ "h": 16
+ },
+ "frame": {
+ "x": 237,
+ "y": 419,
+ "w": 15,
+ "h": 16
+ }
+ },
+ {
+ "filename": "963s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 13,
+ "w": 22,
+ "h": 15
+ },
+ "frame": {
+ "x": 227,
+ "y": 435,
+ "w": 22,
+ "h": 15
+ }
+ },
{
"filename": "964-zero",
"rotated": false,
@@ -4875,54 +5127,12 @@
"h": 15
},
"frame": {
- "x": 158,
- "y": 460,
+ "x": 227,
+ "y": 450,
"w": 22,
"h": 15
}
},
- {
- "filename": "997",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 9,
- "w": 21,
- "h": 19
- },
- "frame": {
- "x": 155,
- "y": 475,
- "w": 21,
- "h": 19
- }
- },
- {
- "filename": "997s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 9,
- "w": 21,
- "h": 19
- },
- "frame": {
- "x": 155,
- "y": 494,
- "w": 21,
- "h": 19
- }
- },
{
"filename": "964s-zero",
"rotated": false,
@@ -4938,33 +5148,12 @@
"h": 15
},
"frame": {
- "x": 155,
- "y": 513,
+ "x": 226,
+ "y": 465,
"w": 22,
"h": 15
}
},
- {
- "filename": "967",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 9,
- "w": 20,
- "h": 19
- },
- "frame": {
- "x": 154,
- "y": 528,
- "w": 20,
- "h": 19
- }
- },
{
"filename": "974",
"rotated": false,
@@ -4980,75 +5169,12 @@
"h": 15
},
"frame": {
- "x": 180,
- "y": 465,
+ "x": 204,
+ "y": 474,
"w": 22,
"h": 15
}
},
- {
- "filename": "967s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 9,
- "w": 20,
- "h": 19
- },
- "frame": {
- "x": 176,
- "y": 480,
- "w": 20,
- "h": 19
- }
- },
- {
- "filename": "940",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 14,
- "w": 17,
- "h": 14
- },
- "frame": {
- "x": 176,
- "y": 499,
- "w": 17,
- "h": 14
- }
- },
- {
- "filename": "915s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 11,
- "w": 19,
- "h": 17
- },
- "frame": {
- "x": 177,
- "y": 513,
- "w": 19,
- "h": 17
- }
- },
{
"filename": "974s",
"rotated": false,
@@ -5064,33 +5190,12 @@
"h": 15
},
"frame": {
- "x": 174,
- "y": 530,
+ "x": 226,
+ "y": 480,
"w": 22,
"h": 15
}
},
- {
- "filename": "912",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 9,
- "w": 15,
- "h": 19
- },
- "frame": {
- "x": 202,
- "y": 465,
- "w": 15,
- "h": 19
- }
- },
{
"filename": "980",
"rotated": false,
@@ -5106,54 +5211,12 @@
"h": 15
},
"frame": {
- "x": 196,
- "y": 484,
+ "x": 137,
+ "y": 480,
"w": 22,
"h": 15
}
},
- {
- "filename": "940s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 14,
- "w": 17,
- "h": 14
- },
- "frame": {
- "x": 193,
- "y": 499,
- "w": 17,
- "h": 14
- }
- },
- {
- "filename": "935s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 7,
- "w": 13,
- "h": 21
- },
- "frame": {
- "x": 196,
- "y": 513,
- "w": 13,
- "h": 21
- }
- },
{
"filename": "980s",
"rotated": false,
@@ -5169,14 +5232,14 @@
"h": 15
},
"frame": {
- "x": 225,
- "y": 317,
+ "x": 137,
+ "y": 495,
"w": 22,
"h": 15
}
},
{
- "filename": "999s-roaming",
+ "filename": "915",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -5184,20 +5247,62 @@
"h": 30
},
"spriteSourceSize": {
- "x": 13,
- "y": 10,
- "w": 14,
- "h": 18
+ "x": 11,
+ "y": 11,
+ "w": 19,
+ "h": 17
},
"frame": {
- "x": 211,
- "y": 321,
- "w": 14,
- "h": 18
+ "x": 136,
+ "y": 510,
+ "w": 19,
+ "h": 17
}
},
{
- "filename": "970s",
+ "filename": "915s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 11,
+ "w": 19,
+ "h": 17
+ },
+ "frame": {
+ "x": 136,
+ "y": 527,
+ "w": 19,
+ "h": 17
+ }
+ },
+ {
+ "filename": "951s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 8,
+ "w": 16,
+ "h": 20
+ },
+ "frame": {
+ "x": 159,
+ "y": 480,
+ "w": 16,
+ "h": 20
+ }
+ },
+ {
+ "filename": "970",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -5211,8 +5316,8 @@
"h": 16
},
"frame": {
- "x": 225,
- "y": 332,
+ "x": 175,
+ "y": 479,
"w": 20,
"h": 16
}
@@ -5232,14 +5337,14 @@
"h": 15
},
"frame": {
- "x": 209,
- "y": 339,
+ "x": 159,
+ "y": 500,
"w": 16,
"h": 15
}
},
{
- "filename": "942",
+ "filename": "970s",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -5248,99 +5353,15 @@
},
"spriteSourceSize": {
"x": 10,
- "y": 13,
- "w": 19,
- "h": 15
+ "y": 12,
+ "w": 20,
+ "h": 16
},
"frame": {
- "x": 225,
- "y": 348,
- "w": 19,
- "h": 15
- }
- },
- {
- "filename": "928",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 10,
- "w": 13,
- "h": 18
- },
- "frame": {
- "x": 212,
- "y": 354,
- "w": 13,
- "h": 18
- }
- },
- {
- "filename": "942s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 13,
- "w": 19,
- "h": 15
- },
- "frame": {
- "x": 225,
- "y": 363,
- "w": 19,
- "h": 15
- }
- },
- {
- "filename": "912s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 13,
- "y": 9,
- "w": 15,
- "h": 19
- },
- "frame": {
- "x": 196,
- "y": 534,
- "w": 15,
- "h": 19
- }
- },
- {
- "filename": "919s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 13,
- "w": 16,
- "h": 15
- },
- "frame": {
- "x": 138,
- "y": 546,
- "w": 16,
- "h": 15
+ "x": 175,
+ "y": 495,
+ "w": 20,
+ "h": 16
}
},
{
@@ -5358,35 +5379,14 @@
"h": 16
},
"frame": {
- "x": 154,
- "y": 547,
+ "x": 155,
+ "y": 515,
"w": 19,
"h": 16
}
},
{
- "filename": "921",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 10,
- "w": 16,
- "h": 18
- },
- "frame": {
- "x": 210,
- "y": 499,
- "w": 16,
- "h": 18
- }
- },
- {
- "filename": "8194",
+ "filename": "942",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -5395,19 +5395,19 @@
},
"spriteSourceSize": {
"x": 10,
- "y": 11,
- "w": 18,
- "h": 17
+ "y": 13,
+ "w": 19,
+ "h": 15
},
"frame": {
- "x": 209,
- "y": 517,
- "w": 18,
- "h": 17
+ "x": 155,
+ "y": 531,
+ "w": 19,
+ "h": 15
}
},
{
- "filename": "922s",
+ "filename": "942s",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -5415,16 +5415,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 12,
- "y": 9,
- "w": 17,
- "h": 19
+ "x": 10,
+ "y": 13,
+ "w": 19,
+ "h": 15
},
"frame": {
- "x": 211,
- "y": 534,
- "w": 17,
- "h": 19
+ "x": 136,
+ "y": 544,
+ "w": 19,
+ "h": 15
}
},
{
@@ -5442,8 +5442,8 @@
"h": 16
},
"frame": {
- "x": 174,
- "y": 545,
+ "x": 135,
+ "y": 559,
"w": 19,
"h": 16
}
@@ -5463,12 +5463,243 @@
"h": 16
},
"frame": {
- "x": 193,
- "y": 553,
+ "x": 135,
+ "y": 575,
"w": 19,
"h": 16
}
},
+ {
+ "filename": "965s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 12,
+ "w": 19,
+ "h": 16
+ },
+ "frame": {
+ "x": 155,
+ "y": 546,
+ "w": 19,
+ "h": 16
+ }
+ },
+ {
+ "filename": "8194",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 11,
+ "w": 18,
+ "h": 17
+ },
+ "frame": {
+ "x": 154,
+ "y": 562,
+ "w": 18,
+ "h": 17
+ }
+ },
+ {
+ "filename": "969s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 16,
+ "w": 18,
+ "h": 12
+ },
+ "frame": {
+ "x": 154,
+ "y": 579,
+ "w": 18,
+ "h": 12
+ }
+ },
+ {
+ "filename": "8194s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 11,
+ "w": 18,
+ "h": 17
+ },
+ "frame": {
+ "x": 195,
+ "y": 489,
+ "w": 18,
+ "h": 17
+ }
+ },
+ {
+ "filename": "928",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 10,
+ "w": 13,
+ "h": 18
+ },
+ "frame": {
+ "x": 213,
+ "y": 489,
+ "w": 13,
+ "h": 18
+ }
+ },
+ {
+ "filename": "926",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 13,
+ "w": 17,
+ "h": 15
+ },
+ "frame": {
+ "x": 226,
+ "y": 495,
+ "w": 17,
+ "h": 15
+ }
+ },
+ {
+ "filename": "926s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 13,
+ "w": 17,
+ "h": 15
+ },
+ "frame": {
+ "x": 195,
+ "y": 506,
+ "w": 17,
+ "h": 15
+ }
+ },
+ {
+ "filename": "999s-roaming",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 10,
+ "w": 14,
+ "h": 18
+ },
+ "frame": {
+ "x": 212,
+ "y": 507,
+ "w": 14,
+ "h": 18
+ }
+ },
+ {
+ "filename": "955",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 12,
+ "w": 17,
+ "h": 16
+ },
+ "frame": {
+ "x": 226,
+ "y": 510,
+ "w": 17,
+ "h": 16
+ }
+ },
+ {
+ "filename": "940",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 14,
+ "w": 17,
+ "h": 14
+ },
+ "frame": {
+ "x": 175,
+ "y": 511,
+ "w": 17,
+ "h": 14
+ }
+ },
+ {
+ "filename": "921",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 10,
+ "w": 16,
+ "h": 18
+ },
+ "frame": {
+ "x": 174,
+ "y": 525,
+ "w": 16,
+ "h": 18
+ }
+ },
{
"filename": "921s",
"rotated": false,
@@ -5484,8 +5715,8 @@
"h": 18
},
"frame": {
- "x": 212,
- "y": 553,
+ "x": 174,
+ "y": 543,
"w": 16,
"h": 18
}
@@ -5505,14 +5736,14 @@
"h": 18
},
"frame": {
- "x": 140,
- "y": 561,
+ "x": 172,
+ "y": 562,
"w": 13,
"h": 18
}
},
{
- "filename": "965s",
+ "filename": "957",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -5520,165 +5751,18 @@
"h": 30
},
"spriteSourceSize": {
- "x": 10,
- "y": 12,
- "w": 19,
- "h": 16
- },
- "frame": {
- "x": 153,
- "y": 563,
- "w": 19,
- "h": 16
- }
- },
- {
- "filename": "932",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 9,
- "w": 18,
- "h": 19
- },
- "frame": {
- "x": 140,
- "y": 579,
- "w": 18,
- "h": 19
- }
- },
- {
- "filename": "932s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 9,
- "w": 18,
- "h": 19
- },
- "frame": {
- "x": 158,
- "y": 579,
- "w": 18,
- "h": 19
- }
- },
- {
- "filename": "958s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 8,
- "w": 17,
- "h": 20
- },
- "frame": {
- "x": 176,
- "y": 561,
- "w": 17,
- "h": 20
- }
- },
- {
- "filename": "8194s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
+ "x": 12,
"y": 11,
- "w": 18,
+ "w": 16,
"h": 17
},
"frame": {
- "x": 176,
- "y": 581,
- "w": 18,
+ "x": 185,
+ "y": 561,
+ "w": 16,
"h": 17
}
},
- {
- "filename": "969",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 16,
- "w": 18,
- "h": 12
- },
- "frame": {
- "x": 193,
- "y": 569,
- "w": 18,
- "h": 12
- }
- },
- {
- "filename": "955",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 12,
- "w": 17,
- "h": 16
- },
- "frame": {
- "x": 194,
- "y": 581,
- "w": 17,
- "h": 16
- }
- },
- {
- "filename": "955s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 12,
- "w": 17,
- "h": 16
- },
- "frame": {
- "x": 211,
- "y": 571,
- "w": 17,
- "h": 16
- }
- },
{
"filename": "957s",
"rotated": false,
@@ -5694,14 +5778,14 @@
"h": 17
},
"frame": {
- "x": 211,
- "y": 587,
+ "x": 190,
+ "y": 525,
"w": 16,
"h": 17
}
},
{
- "filename": "969s",
+ "filename": "955s",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -5710,40 +5794,19 @@
},
"spriteSourceSize": {
"x": 11,
- "y": 16,
- "w": 18,
- "h": 12
+ "y": 12,
+ "w": 17,
+ "h": 16
},
"frame": {
- "x": 226,
- "y": 378,
- "w": 18,
- "h": 12
+ "x": 190,
+ "y": 542,
+ "w": 17,
+ "h": 16
}
},
{
- "filename": "926",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 13,
- "w": 17,
- "h": 15
- },
- "frame": {
- "x": 213,
- "y": 390,
- "w": 17,
- "h": 15
- }
- },
- {
- "filename": "960",
+ "filename": "919s",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -5752,59 +5815,17 @@
},
"spriteSourceSize": {
"x": 12,
- "y": 10,
- "w": 15,
- "h": 18
- },
- "frame": {
- "x": 214,
- "y": 405,
- "w": 15,
- "h": 18
- }
- },
- {
- "filename": "926s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
"y": 13,
- "w": 17,
+ "w": 16,
"h": 15
},
"frame": {
- "x": 230,
- "y": 390,
- "w": 17,
+ "x": 206,
+ "y": 525,
+ "w": 16,
"h": 15
}
},
- {
- "filename": "960s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 10,
- "w": 15,
- "h": 18
- },
- "frame": {
- "x": 229,
- "y": 405,
- "w": 15,
- "h": 18
- }
- },
{
"filename": "944",
"rotated": false,
@@ -5820,12 +5841,33 @@
"h": 15
},
"frame": {
- "x": 215,
- "y": 423,
+ "x": 207,
+ "y": 540,
"w": 16,
"h": 15
}
},
+ {
+ "filename": "940s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 14,
+ "w": 17,
+ "h": 14
+ },
+ "frame": {
+ "x": 222,
+ "y": 526,
+ "w": 17,
+ "h": 14
+ }
+ },
{
"filename": "944s",
"rotated": false,
@@ -5841,14 +5883,14 @@
"h": 15
},
"frame": {
- "x": 215,
- "y": 438,
+ "x": 223,
+ "y": 540,
"w": 16,
"h": 15
}
},
{
- "filename": "996",
+ "filename": "938",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -5856,15 +5898,36 @@
"h": 30
},
"spriteSourceSize": {
- "x": 12,
+ "x": 14,
"y": 12,
- "w": 15,
+ "w": 11,
"h": 16
},
"frame": {
- "x": 231,
- "y": 423,
- "w": 15,
+ "x": 239,
+ "y": 526,
+ "w": 11,
+ "h": 16
+ }
+ },
+ {
+ "filename": "938s",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 12,
+ "w": 11,
+ "h": 16
+ },
+ "frame": {
+ "x": 239,
+ "y": 542,
+ "w": 11,
"h": 16
}
},
@@ -5883,33 +5946,12 @@
"h": 14
},
"frame": {
- "x": 231,
- "y": 439,
+ "x": 207,
+ "y": 555,
"w": 15,
"h": 14
}
},
- {
- "filename": "996s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 12,
- "w": 15,
- "h": 16
- },
- "frame": {
- "x": 217,
- "y": 453,
- "w": 15,
- "h": 16
- }
- },
{
"filename": "978-droopy",
"rotated": false,
@@ -5925,33 +5967,12 @@
"h": 14
},
"frame": {
- "x": 217,
- "y": 469,
+ "x": 222,
+ "y": 555,
"w": 15,
"h": 14
}
},
- {
- "filename": "938",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 14,
- "y": 12,
- "w": 11,
- "h": 16
- },
- "frame": {
- "x": 218,
- "y": 483,
- "w": 11,
- "h": 16
- }
- },
{
"filename": "978-stretchy",
"rotated": false,
@@ -5967,8 +5988,8 @@
"h": 14
},
"frame": {
- "x": 232,
- "y": 453,
+ "x": 237,
+ "y": 558,
"w": 15,
"h": 14
}
@@ -5988,33 +6009,12 @@
"h": 14
},
"frame": {
- "x": 232,
- "y": 467,
+ "x": 201,
+ "y": 569,
"w": 15,
"h": 14
}
},
- {
- "filename": "938s",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 14,
- "y": 12,
- "w": 11,
- "h": 16
- },
- "frame": {
- "x": 226,
- "y": 499,
- "w": 11,
- "h": 16
- }
- },
{
"filename": "978s-droopy",
"rotated": false,
@@ -6030,8 +6030,8 @@
"h": 14
},
"frame": {
- "x": 227,
- "y": 515,
+ "x": 216,
+ "y": 569,
"w": 15,
"h": 14
}
@@ -6051,8 +6051,8 @@
"h": 14
},
"frame": {
- "x": 228,
- "y": 529,
+ "x": 231,
+ "y": 572,
"w": 15,
"h": 14
}
@@ -6063,6 +6063,6 @@
"meta": {
"app": "https://www.codeandweb.com/texturepacker",
"version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:e795275a3a477a2abaa0caebf537dee7:b89e39dcf2ffc80674586079d88ed60d:6fb417eff82c0971c86b4818772ba292$"
+ "smartupdate": "$TexturePacker:SmartUpdate:8b16dd09022b670e1292a2198ba0ee01:ad245407ccbb4d50190a033da06426e5:6fb417eff82c0971c86b4818772ba292$"
}
}
diff --git a/public/images/pokemon_icons_9.png b/public/images/pokemon_icons_9.png
index 13a45ac3c30..70e1ada98dd 100644
Binary files a/public/images/pokemon_icons_9.png and b/public/images/pokemon_icons_9.png differ
diff --git a/public/images/pokemon_icons_9v.json b/public/images/pokemon_icons_9v.json
index 1d858398c25..5e4e786d50f 100644
--- a/public/images/pokemon_icons_9v.json
+++ b/public/images/pokemon_icons_9v.json
@@ -4,53 +4,11 @@
"image": "pokemon_icons_9v.png",
"format": "RGBA8888",
"size": {
- "w": 274,
- "h": 274
+ "w": 126,
+ "h": 580
},
"scale": 1,
"frames": [
- {
- "filename": "1007-apex-build_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 3,
- "y": 0,
- "w": 34,
- "h": 30
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 34,
- "h": 30
- }
- },
- {
- "filename": "1007-apex-build_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 3,
- "y": 0,
- "w": 34,
- "h": 30
- },
- "frame": {
- "x": 0,
- "y": 30,
- "w": 34,
- "h": 30
- }
- },
{
"filename": "959_1",
"rotated": false,
@@ -60,15 +18,15 @@
"h": 30
},
"spriteSourceSize": {
- "x": 3,
+ "x": 4,
"y": 0,
- "w": 33,
+ "w": 31,
"h": 30
},
"frame": {
- "x": 34,
+ "x": 0,
"y": 0,
- "w": 33,
+ "w": 31,
"h": 30
}
},
@@ -81,15 +39,15 @@
"h": 30
},
"spriteSourceSize": {
- "x": 3,
+ "x": 4,
"y": 0,
- "w": 33,
+ "w": 31,
"h": 30
},
"frame": {
"x": 0,
- "y": 60,
- "w": 33,
+ "y": 30,
+ "w": 31,
"h": 30
}
},
@@ -102,18 +60,60 @@
"h": 30
},
"spriteSourceSize": {
- "x": 3,
+ "x": 4,
"y": 0,
- "w": 33,
+ "w": 31,
"h": 30
},
"frame": {
- "x": 34,
- "y": 30,
- "w": 33,
+ "x": 31,
+ "y": 0,
+ "w": 31,
"h": 30
}
},
+ {
+ "filename": "1007-apex-build_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 32,
+ "h": 29
+ },
+ "frame": {
+ "x": 62,
+ "y": 0,
+ "w": 32,
+ "h": 29
+ }
+ },
+ {
+ "filename": "1007-apex-build_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 4,
+ "y": 0,
+ "w": 32,
+ "h": 29
+ },
+ "frame": {
+ "x": 94,
+ "y": 0,
+ "w": 32,
+ "h": 29
+ }
+ },
{
"filename": "1018_2",
"rotated": false,
@@ -123,15 +123,15 @@
"h": 30
},
"spriteSourceSize": {
- "x": 4,
+ "x": 5,
"y": 0,
- "w": 33,
+ "w": 31,
"h": 30
},
"frame": {
- "x": 67,
- "y": 0,
- "w": 33,
+ "x": 0,
+ "y": 60,
+ "w": 31,
"h": 30
}
},
@@ -144,15 +144,15 @@
"h": 30
},
"spriteSourceSize": {
- "x": 4,
+ "x": 5,
"y": 0,
- "w": 33,
+ "w": 31,
"h": 30
},
"frame": {
- "x": 0,
- "y": 90,
- "w": 33,
+ "x": 31,
+ "y": 30,
+ "w": 31,
"h": 30
}
},
@@ -165,15 +165,15 @@
"h": 30
},
"spriteSourceSize": {
- "x": 4,
+ "x": 5,
"y": 0,
- "w": 32,
+ "w": 30,
"h": 30
},
"frame": {
- "x": 33,
- "y": 60,
- "w": 32,
+ "x": 62,
+ "y": 29,
+ "w": 30,
"h": 30
}
},
@@ -186,15 +186,15 @@
"h": 30
},
"spriteSourceSize": {
- "x": 4,
+ "x": 5,
"y": 0,
- "w": 32,
+ "w": 30,
"h": 30
},
"frame": {
- "x": 67,
- "y": 30,
- "w": 32,
+ "x": 0,
+ "y": 90,
+ "w": 30,
"h": 30
}
},
@@ -207,15 +207,15 @@
"h": 30
},
"spriteSourceSize": {
- "x": 4,
+ "x": 5,
"y": 0,
- "w": 32,
+ "w": 30,
"h": 30
},
"frame": {
- "x": 100,
- "y": 0,
- "w": 32,
+ "x": 31,
+ "y": 60,
+ "w": 30,
"h": 30
}
},
@@ -228,15 +228,15 @@
"h": 30
},
"spriteSourceSize": {
- "x": 4,
+ "x": 5,
"y": 0,
- "w": 32,
+ "w": 30,
"h": 30
},
"frame": {
- "x": 0,
- "y": 120,
- "w": 32,
+ "x": 92,
+ "y": 29,
+ "w": 30,
"h": 30
}
},
@@ -249,15 +249,15 @@
"h": 30
},
"spriteSourceSize": {
- "x": 4,
+ "x": 5,
"y": 0,
- "w": 32,
+ "w": 30,
"h": 30
},
"frame": {
- "x": 33,
- "y": 90,
- "w": 32,
+ "x": 0,
+ "y": 120,
+ "w": 30,
"h": 30
}
},
@@ -270,16 +270,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 4,
- "y": 0,
- "w": 32,
- "h": 30
+ "x": 5,
+ "y": 1,
+ "w": 30,
+ "h": 28
},
"frame": {
- "x": 65,
- "y": 60,
- "w": 32,
- "h": 30
+ "x": 30,
+ "y": 90,
+ "w": 30,
+ "h": 28
}
},
{
@@ -291,16 +291,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 4,
- "y": 0,
- "w": 32,
- "h": 30
+ "x": 5,
+ "y": 1,
+ "w": 30,
+ "h": 28
},
"frame": {
- "x": 99,
- "y": 30,
- "w": 32,
- "h": 30
+ "x": 0,
+ "y": 150,
+ "w": 30,
+ "h": 28
}
},
{
@@ -312,100 +312,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 4,
- "y": 0,
- "w": 32,
- "h": 30
+ "x": 5,
+ "y": 1,
+ "w": 30,
+ "h": 28
},
"frame": {
- "x": 132,
- "y": 0,
- "w": 32,
- "h": 30
- }
- },
- {
- "filename": "937_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 0,
- "w": 31,
- "h": 29
- },
- "frame": {
- "x": 0,
- "y": 150,
- "w": 31,
- "h": 29
- }
- },
- {
- "filename": "937_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 0,
- "w": 31,
- "h": 29
- },
- "frame": {
- "x": 32,
- "y": 120,
- "w": 31,
- "h": 29
- }
- },
- {
- "filename": "937_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 0,
- "w": 31,
- "h": 29
- },
- "frame": {
- "x": 65,
- "y": 90,
- "w": 31,
- "h": 29
- }
- },
- {
- "filename": "937_9",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 0,
- "w": 31,
- "h": 29
- },
- "frame": {
- "x": 97,
- "y": 60,
- "w": 31,
- "h": 29
+ "x": 30,
+ "y": 118,
+ "w": 30,
+ "h": 28
}
},
{
@@ -417,15 +333,15 @@
"h": 30
},
"spriteSourceSize": {
- "x": 5,
+ "x": 6,
"y": 0,
- "w": 29,
+ "w": 27,
"h": 30
},
"frame": {
- "x": 131,
- "y": 30,
- "w": 29,
+ "x": 0,
+ "y": 178,
+ "w": 27,
"h": 30
}
},
@@ -438,57 +354,15 @@
"h": 30
},
"spriteSourceSize": {
- "x": 5,
+ "x": 6,
"y": 0,
- "w": 29,
+ "w": 27,
"h": 30
},
"frame": {
- "x": 164,
- "y": 0,
- "w": 29,
- "h": 30
- }
- },
- {
- "filename": "994_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 29,
- "h": 30
- },
- "frame": {
- "x": 0,
- "y": 179,
- "w": 29,
- "h": 30
- }
- },
- {
- "filename": "994_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 29,
- "h": 30
- },
- "frame": {
- "x": 160,
- "y": 30,
- "w": 29,
+ "x": 30,
+ "y": 146,
+ "w": 27,
"h": 30
}
},
@@ -501,16 +375,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 7,
+ "x": 8,
"y": 0,
- "w": 29,
- "h": 30
+ "w": 27,
+ "h": 29
},
"frame": {
- "x": 193,
- "y": 0,
- "w": 29,
- "h": 30
+ "x": 0,
+ "y": 208,
+ "w": 27,
+ "h": 29
}
},
{
@@ -522,16 +396,142 @@
"h": 30
},
"spriteSourceSize": {
- "x": 7,
+ "x": 8,
"y": 0,
- "w": 29,
- "h": 30
+ "w": 27,
+ "h": 29
},
"frame": {
"x": 0,
- "y": 209,
- "w": 29,
+ "y": 237,
+ "w": 27,
+ "h": 29
+ }
+ },
+ {
+ "filename": "937_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
"h": 30
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 29,
+ "h": 28
+ },
+ "frame": {
+ "x": 0,
+ "y": 266,
+ "w": 29,
+ "h": 28
+ }
+ },
+ {
+ "filename": "937_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 29,
+ "h": 28
+ },
+ "frame": {
+ "x": 0,
+ "y": 294,
+ "w": 29,
+ "h": 28
+ }
+ },
+ {
+ "filename": "937_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 29,
+ "h": 28
+ },
+ "frame": {
+ "x": 0,
+ "y": 322,
+ "w": 29,
+ "h": 28
+ }
+ },
+ {
+ "filename": "937_9",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 0,
+ "w": 29,
+ "h": 28
+ },
+ "frame": {
+ "x": 0,
+ "y": 350,
+ "w": 29,
+ "h": 28
+ }
+ },
+ {
+ "filename": "994_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 1,
+ "w": 27,
+ "h": 28
+ },
+ "frame": {
+ "x": 0,
+ "y": 378,
+ "w": 27,
+ "h": 28
+ }
+ },
+ {
+ "filename": "994_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 1,
+ "w": 27,
+ "h": 28
+ },
+ "frame": {
+ "x": 0,
+ "y": 406,
+ "w": 27,
+ "h": 28
}
},
{
@@ -543,16 +543,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 28,
- "h": 30
+ "x": 8,
+ "y": 1,
+ "w": 26,
+ "h": 28
},
"frame": {
- "x": 189,
- "y": 30,
- "w": 28,
- "h": 30
+ "x": 0,
+ "y": 434,
+ "w": 26,
+ "h": 28
}
},
{
@@ -563,101 +563,17 @@
"w": 40,
"h": 30
},
- "spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 28,
- "h": 30
- },
- "frame": {
- "x": 222,
- "y": 0,
- "w": 28,
- "h": 30
- }
- },
- {
- "filename": "999_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
"spriteSourceSize": {
"x": 8,
- "y": 0,
- "w": 24,
- "h": 30
- },
- "frame": {
- "x": 250,
- "y": 0,
- "w": 24,
- "h": 30
- }
- },
- {
- "filename": "1022_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 2,
- "w": 31,
- "h": 27
- },
- "frame": {
- "x": 128,
- "y": 60,
- "w": 31,
- "h": 27
- }
- },
- {
- "filename": "1022_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 2,
- "w": 31,
- "h": 27
- },
- "frame": {
- "x": 217,
- "y": 30,
- "w": 31,
- "h": 27
- }
- },
- {
- "filename": "987_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 3,
+ "y": 1,
"w": 26,
- "h": 26
+ "h": 28
},
"frame": {
- "x": 248,
- "y": 30,
+ "x": 0,
+ "y": 462,
"w": 26,
- "h": 26
+ "h": 28
}
},
{
@@ -669,79 +585,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 27,
- "h": 30
+ "x": 8,
+ "y": 1,
+ "w": 25,
+ "h": 28
},
"frame": {
"x": 0,
- "y": 239,
- "w": 27,
- "h": 30
- }
- },
- {
- "filename": "911_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 2,
- "w": 30,
- "h": 25
- },
- "frame": {
- "x": 159,
- "y": 60,
- "w": 30,
- "h": 25
- }
- },
- {
- "filename": "911_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 5,
- "y": 2,
- "w": 30,
- "h": 25
- },
- "frame": {
- "x": 189,
- "y": 60,
- "w": 30,
- "h": 25
- }
- },
- {
- "filename": "987_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 3,
- "w": 26,
- "h": 26
- },
- "frame": {
- "x": 248,
- "y": 56,
- "w": 26,
- "h": 26
+ "y": 490,
+ "w": 25,
+ "h": 28
}
},
{
@@ -753,309 +606,15 @@
"h": 30
},
"spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 27,
- "h": 30
- },
- "frame": {
- "x": 219,
- "y": 57,
- "w": 27,
- "h": 30
- }
- },
- {
- "filename": "924_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 7,
- "w": 31,
- "h": 22
- },
- "frame": {
- "x": 128,
- "y": 87,
- "w": 31,
- "h": 22
- }
- },
- {
- "filename": "925-four_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 5,
- "w": 31,
- "h": 24
- },
- "frame": {
- "x": 159,
- "y": 85,
- "w": 31,
- "h": 24
- }
- },
- {
- "filename": "924_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 7,
- "w": 31,
- "h": 22
- },
- "frame": {
- "x": 97,
- "y": 89,
- "w": 31,
- "h": 22
- }
- },
- {
- "filename": "998_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
+ "x": 8,
"y": 1,
- "w": 27,
+ "w": 25,
"h": 28
},
"frame": {
- "x": 190,
- "y": 85,
- "w": 27,
- "h": 28
- }
- },
- {
- "filename": "925-four_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 5,
- "w": 31,
- "h": 24
- },
- "frame": {
- "x": 217,
- "y": 87,
- "w": 31,
- "h": 24
- }
- },
- {
- "filename": "987_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 3,
- "w": 26,
- "h": 26
- },
- "frame": {
- "x": 248,
- "y": 82,
- "w": 26,
- "h": 26
- }
- },
- {
- "filename": "924_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 7,
- "w": 31,
- "h": 22
- },
- "frame": {
- "x": 96,
- "y": 111,
- "w": 31,
- "h": 22
- }
- },
- {
- "filename": "925-four_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 5,
- "w": 31,
- "h": 24
- },
- "frame": {
- "x": 65,
- "y": 119,
- "w": 31,
- "h": 24
- }
- },
- {
- "filename": "925-three_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 7,
- "w": 31,
- "h": 22
- },
- "frame": {
- "x": 96,
- "y": 133,
- "w": 31,
- "h": 22
- }
- },
- {
- "filename": "925-three_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 7,
- "w": 31,
- "h": 22
- },
- "frame": {
- "x": 63,
- "y": 143,
- "w": 31,
- "h": 22
- }
- },
- {
- "filename": "925-three_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 4,
- "y": 7,
- "w": 31,
- "h": 22
- },
- "frame": {
- "x": 32,
- "y": 149,
- "w": 31,
- "h": 22
- }
- },
- {
- "filename": "933_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 6,
- "w": 27,
- "h": 23
- },
- "frame": {
- "x": 94,
- "y": 155,
- "w": 27,
- "h": 23
- }
- },
- {
- "filename": "933_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 6,
- "w": 27,
- "h": 23
- },
- "frame": {
- "x": 31,
- "y": 171,
- "w": 27,
- "h": 23
- }
- },
- {
- "filename": "998_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 6,
- "y": 1,
- "w": 27,
- "h": 28
- },
- "frame": {
- "x": 29,
- "y": 194,
- "w": 27,
+ "x": 0,
+ "y": 518,
+ "w": 25,
"h": 28
}
},
@@ -1068,104 +627,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 7,
+ "x": 8,
"y": 0,
- "w": 25,
- "h": 29
- },
- "frame": {
- "x": 29,
- "y": 222,
- "w": 25,
- "h": 29
- }
- },
- {
- "filename": "910_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 3,
"w": 23,
- "h": 23
- },
- "frame": {
- "x": 27,
- "y": 251,
- "w": 23,
- "h": 23
- }
- },
- {
- "filename": "910_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 3,
- "w": 23,
- "h": 23
- },
- "frame": {
- "x": 50,
- "y": 251,
- "w": 23,
- "h": 23
- }
- },
- {
- "filename": "936_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 0,
- "w": 22,
- "h": 29
- },
- "frame": {
- "x": 54,
- "y": 222,
- "w": 22,
- "h": 29
- }
- },
- {
- "filename": "982_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 1,
- "w": 24,
"h": 28
},
"frame": {
- "x": 56,
- "y": 194,
- "w": 24,
+ "x": 0,
+ "y": 546,
+ "w": 23,
"h": 28
}
},
{
- "filename": "968_3",
+ "filename": "975_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1173,20 +648,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 7,
- "y": 0,
- "w": 25,
- "h": 29
+ "x": 4,
+ "y": 7,
+ "w": 32,
+ "h": 21
},
"frame": {
- "x": 63,
- "y": 165,
- "w": 25,
- "h": 29
+ "x": 62,
+ "y": 59,
+ "w": 32,
+ "h": 21
}
},
{
- "filename": "948_2",
+ "filename": "975_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1194,20 +669,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 11,
- "y": 6,
- "w": 18,
- "h": 23
+ "x": 4,
+ "y": 7,
+ "w": 32,
+ "h": 21
},
"frame": {
- "x": 73,
- "y": 251,
- "w": 18,
- "h": 23
+ "x": 94,
+ "y": 59,
+ "w": 32,
+ "h": 21
}
},
{
- "filename": "936_2",
+ "filename": "993_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1215,20 +690,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
- "y": 0,
- "w": 22,
- "h": 29
+ "x": 6,
+ "y": 2,
+ "w": 30,
+ "h": 25
},
"frame": {
- "x": 76,
- "y": 222,
- "w": 22,
- "h": 29
+ "x": 61,
+ "y": 80,
+ "w": 30,
+ "h": 25
}
},
{
- "filename": "982_3",
+ "filename": "993_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1236,41 +711,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
- "y": 1,
- "w": 24,
- "h": 28
- },
- "frame": {
- "x": 80,
- "y": 194,
- "w": 24,
- "h": 28
- }
- },
- {
- "filename": "948_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 6,
- "w": 18,
- "h": 23
+ "x": 6,
+ "y": 2,
+ "w": 30,
+ "h": 25
},
"frame": {
"x": 91,
- "y": 251,
- "w": 18,
- "h": 23
+ "y": 80,
+ "w": 30,
+ "h": 25
}
},
{
- "filename": "936_3",
+ "filename": "1022_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1278,20 +732,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
- "y": 0,
- "w": 22,
- "h": 29
+ "x": 6,
+ "y": 3,
+ "w": 29,
+ "h": 25
},
"frame": {
- "x": 98,
- "y": 222,
- "w": 22,
- "h": 29
+ "x": 60,
+ "y": 105,
+ "w": 29,
+ "h": 25
}
},
{
- "filename": "935_1",
+ "filename": "1022_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1299,20 +753,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 12,
- "y": 6,
- "w": 15,
- "h": 23
+ "x": 6,
+ "y": 3,
+ "w": 29,
+ "h": 25
},
"frame": {
- "x": 109,
- "y": 251,
- "w": 15,
- "h": 23
+ "x": 89,
+ "y": 105,
+ "w": 29,
+ "h": 25
}
},
{
- "filename": "978-curly_2",
+ "filename": "924_1",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1320,16 +774,79 @@
"h": 30
},
"spriteSourceSize": {
- "x": 11,
- "y": 13,
- "w": 17,
- "h": 16
+ "x": 5,
+ "y": 8,
+ "w": 29,
+ "h": 20
},
"frame": {
- "x": 88,
- "y": 178,
- "w": 17,
- "h": 16
+ "x": 60,
+ "y": 130,
+ "w": 29,
+ "h": 20
+ }
+ },
+ {
+ "filename": "979_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 2,
+ "w": 27,
+ "h": 26
+ },
+ "frame": {
+ "x": 57,
+ "y": 150,
+ "w": 27,
+ "h": 26
+ }
+ },
+ {
+ "filename": "924_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 8,
+ "w": 29,
+ "h": 20
+ },
+ "frame": {
+ "x": 89,
+ "y": 130,
+ "w": 29,
+ "h": 20
+ }
+ },
+ {
+ "filename": "979_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 2,
+ "w": 27,
+ "h": 26
+ },
+ "frame": {
+ "x": 84,
+ "y": 150,
+ "w": 27,
+ "h": 26
}
},
{
@@ -1341,20 +858,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 11,
- "y": 1,
- "w": 17,
- "h": 28
+ "x": 12,
+ "y": 2,
+ "w": 15,
+ "h": 26
},
"frame": {
- "x": 104,
- "y": 194,
- "w": 17,
- "h": 28
+ "x": 111,
+ "y": 150,
+ "w": 15,
+ "h": 26
}
},
{
- "filename": "978-curly_3",
+ "filename": "999_1",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1362,41 +879,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 11,
- "y": 13,
- "w": 17,
- "h": 16
- },
- "frame": {
- "x": 105,
- "y": 178,
- "w": 17,
- "h": 16
- }
- },
- {
- "filename": "1000_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
+ "x": 9,
"y": 0,
- "w": 24,
+ "w": 22,
"h": 29
},
"frame": {
- "x": 120,
- "y": 222,
- "w": 24,
+ "x": 27,
+ "y": 178,
+ "w": 22,
"h": 29
}
},
{
- "filename": "935_2",
+ "filename": "979_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1404,20 +900,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 12,
- "y": 6,
- "w": 15,
- "h": 23
+ "x": 7,
+ "y": 2,
+ "w": 27,
+ "h": 26
},
"frame": {
- "x": 124,
- "y": 251,
- "w": 15,
- "h": 23
+ "x": 49,
+ "y": 176,
+ "w": 27,
+ "h": 26
}
},
{
- "filename": "973_2",
+ "filename": "911_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1425,36 +921,15 @@
"h": 30
},
"spriteSourceSize": {
- "x": 11,
- "y": 1,
- "w": 17,
- "h": 28
- },
- "frame": {
- "x": 121,
- "y": 194,
- "w": 17,
- "h": 28
- }
- },
- {
- "filename": "935_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 12,
- "y": 6,
- "w": 15,
+ "x": 6,
+ "y": 3,
+ "w": 28,
"h": 23
},
"frame": {
- "x": 139,
- "y": 251,
- "w": 15,
+ "x": 76,
+ "y": 176,
+ "w": 28,
"h": 23
}
},
@@ -1467,16 +942,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 8,
+ "x": 9,
"y": 0,
- "w": 24,
- "h": 30
+ "w": 22,
+ "h": 29
},
"frame": {
- "x": 127,
- "y": 111,
- "w": 24,
- "h": 30
+ "x": 104,
+ "y": 176,
+ "w": 22,
+ "h": 29
}
},
{
@@ -1488,20 +963,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 8,
+ "x": 9,
"y": 0,
- "w": 24,
- "h": 30
+ "w": 22,
+ "h": 29
},
"frame": {
- "x": 151,
- "y": 109,
- "w": 24,
- "h": 30
+ "x": 27,
+ "y": 207,
+ "w": 22,
+ "h": 29
}
},
{
- "filename": "920_1",
+ "filename": "968_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1510,15 +985,120 @@
},
"spriteSourceSize": {
"x": 8,
- "y": 4,
- "w": 24,
- "h": 25
+ "y": 0,
+ "w": 23,
+ "h": 28
},
"frame": {
- "x": 127,
- "y": 141,
- "w": 24,
- "h": 25
+ "x": 49,
+ "y": 202,
+ "w": 23,
+ "h": 28
+ }
+ },
+ {
+ "filename": "1000_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 1,
+ "w": 22,
+ "h": 27
+ },
+ "frame": {
+ "x": 27,
+ "y": 236,
+ "w": 22,
+ "h": 27
+ }
+ },
+ {
+ "filename": "998_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 2,
+ "w": 25,
+ "h": 26
+ },
+ "frame": {
+ "x": 49,
+ "y": 230,
+ "w": 25,
+ "h": 26
+ }
+ },
+ {
+ "filename": "936_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 0,
+ "w": 20,
+ "h": 28
+ },
+ "frame": {
+ "x": 29,
+ "y": 263,
+ "w": 20,
+ "h": 28
+ }
+ },
+ {
+ "filename": "998_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 2,
+ "w": 25,
+ "h": 26
+ },
+ "frame": {
+ "x": 49,
+ "y": 256,
+ "w": 25,
+ "h": 26
+ }
+ },
+ {
+ "filename": "936_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 0,
+ "w": 20,
+ "h": 28
+ },
+ "frame": {
+ "x": 29,
+ "y": 291,
+ "w": 20,
+ "h": 28
}
},
{
@@ -1530,20 +1110,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 8,
- "y": 0,
- "w": 24,
- "h": 29
+ "x": 9,
+ "y": 1,
+ "w": 22,
+ "h": 27
},
"frame": {
- "x": 151,
- "y": 139,
- "w": 24,
- "h": 29
+ "x": 49,
+ "y": 282,
+ "w": 22,
+ "h": 27
}
},
{
- "filename": "973_3",
+ "filename": "936_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1551,15 +1131,15 @@
"h": 30
},
"spriteSourceSize": {
- "x": 11,
- "y": 1,
- "w": 17,
+ "x": 10,
+ "y": 0,
+ "w": 20,
"h": 28
},
"frame": {
- "x": 122,
- "y": 166,
- "w": 17,
+ "x": 29,
+ "y": 319,
+ "w": 20,
"h": 28
}
},
@@ -1572,37 +1152,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 8,
- "y": 0,
- "w": 24,
- "h": 29
+ "x": 9,
+ "y": 1,
+ "w": 22,
+ "h": 27
},
"frame": {
- "x": 175,
- "y": 113,
- "w": 24,
- "h": 29
- }
- },
- {
- "filename": "920_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 24,
- "h": 25
- },
- "frame": {
- "x": 175,
- "y": 142,
- "w": 24,
- "h": 25
+ "x": 49,
+ "y": 309,
+ "w": 22,
+ "h": 27
}
},
{
@@ -1614,16 +1173,121 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
- "y": 0,
- "w": 22,
- "h": 30
+ "x": 10,
+ "y": 1,
+ "w": 20,
+ "h": 28
},
"frame": {
- "x": 199,
- "y": 113,
- "w": 22,
+ "x": 29,
+ "y": 347,
+ "w": 20,
+ "h": 28
+ }
+ },
+ {
+ "filename": "982_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
"h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 2,
+ "w": 22,
+ "h": 26
+ },
+ "frame": {
+ "x": 49,
+ "y": 336,
+ "w": 22,
+ "h": 26
+ }
+ },
+ {
+ "filename": "911_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 6,
+ "y": 3,
+ "w": 28,
+ "h": 23
+ },
+ "frame": {
+ "x": 76,
+ "y": 199,
+ "w": 28,
+ "h": 23
+ }
+ },
+ {
+ "filename": "982_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 2,
+ "w": 22,
+ "h": 26
+ },
+ "frame": {
+ "x": 104,
+ "y": 205,
+ "w": 22,
+ "h": 26
+ }
+ },
+ {
+ "filename": "925-four_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 6,
+ "w": 29,
+ "h": 22
+ },
+ "frame": {
+ "x": 74,
+ "y": 222,
+ "w": 29,
+ "h": 22
+ }
+ },
+ {
+ "filename": "925-four_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 6,
+ "w": 29,
+ "h": 22
+ },
+ "frame": {
+ "x": 74,
+ "y": 244,
+ "w": 29,
+ "h": 22
}
},
{
@@ -1635,20 +1299,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
- "y": 0,
- "w": 22,
- "h": 30
+ "x": 10,
+ "y": 1,
+ "w": 20,
+ "h": 28
},
"frame": {
- "x": 221,
- "y": 111,
- "w": 22,
- "h": 30
+ "x": 103,
+ "y": 231,
+ "w": 20,
+ "h": 28
}
},
{
- "filename": "909_2",
+ "filename": "924_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1656,16 +1320,79 @@
"h": 30
},
"spriteSourceSize": {
- "x": 7,
- "y": 4,
- "w": 23,
- "h": 25
+ "x": 5,
+ "y": 8,
+ "w": 29,
+ "h": 20
},
"frame": {
- "x": 199,
- "y": 143,
- "w": 23,
- "h": 25
+ "x": 74,
+ "y": 266,
+ "w": 29,
+ "h": 20
+ }
+ },
+ {
+ "filename": "925-four_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 6,
+ "w": 29,
+ "h": 22
+ },
+ "frame": {
+ "x": 71,
+ "y": 286,
+ "w": 29,
+ "h": 22
+ }
+ },
+ {
+ "filename": "925-three_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 8,
+ "w": 29,
+ "h": 20
+ },
+ "frame": {
+ "x": 71,
+ "y": 308,
+ "w": 29,
+ "h": 20
+ }
+ },
+ {
+ "filename": "925-three_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 5,
+ "y": 8,
+ "w": 29,
+ "h": 20
+ },
+ "frame": {
+ "x": 71,
+ "y": 328,
+ "w": 29,
+ "h": 20
}
},
{
@@ -1677,20 +1404,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
- "y": 2,
- "w": 22,
- "h": 27
+ "x": 10,
+ "y": 3,
+ "w": 20,
+ "h": 25
},
"frame": {
- "x": 222,
- "y": 141,
- "w": 22,
- "h": 27
+ "x": 103,
+ "y": 259,
+ "w": 20,
+ "h": 25
}
},
{
- "filename": "920_3",
+ "filename": "925-three_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1698,20 +1425,41 @@
"h": 30
},
"spriteSourceSize": {
- "x": 8,
- "y": 4,
- "w": 24,
- "h": 25
+ "x": 5,
+ "y": 8,
+ "w": 29,
+ "h": 20
},
"frame": {
- "x": 139,
- "y": 168,
- "w": 24,
- "h": 25
+ "x": 71,
+ "y": 348,
+ "w": 29,
+ "h": 20
}
},
{
- "filename": "909_3",
+ "filename": "920_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 5,
+ "w": 22,
+ "h": 23
+ },
+ "frame": {
+ "x": 49,
+ "y": 362,
+ "w": 22,
+ "h": 23
+ }
+ },
+ {
+ "filename": "933_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1720,15 +1468,15 @@
},
"spriteSourceSize": {
"x": 7,
- "y": 4,
- "w": 23,
- "h": 25
+ "y": 7,
+ "w": 25,
+ "h": 21
},
"frame": {
- "x": 163,
- "y": 168,
- "w": 23,
- "h": 25
+ "x": 71,
+ "y": 368,
+ "w": 25,
+ "h": 21
}
},
{
@@ -1740,16 +1488,289 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
- "y": 2,
- "w": 22,
- "h": 27
+ "x": 10,
+ "y": 3,
+ "w": 20,
+ "h": 25
},
"frame": {
- "x": 186,
- "y": 168,
+ "x": 29,
+ "y": 375,
+ "w": 20,
+ "h": 25
+ }
+ },
+ {
+ "filename": "987_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 4,
+ "w": 24,
+ "h": 24
+ },
+ "frame": {
+ "x": 27,
+ "y": 400,
+ "w": 24,
+ "h": 24
+ }
+ },
+ {
+ "filename": "974_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 13,
"w": 22,
- "h": 27
+ "h": 15
+ },
+ "frame": {
+ "x": 49,
+ "y": 385,
+ "w": 22,
+ "h": 15
+ }
+ },
+ {
+ "filename": "987_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 4,
+ "w": 24,
+ "h": 24
+ },
+ "frame": {
+ "x": 51,
+ "y": 400,
+ "w": 24,
+ "h": 24
+ }
+ },
+ {
+ "filename": "933_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 7,
+ "w": 25,
+ "h": 21
+ },
+ "frame": {
+ "x": 27,
+ "y": 424,
+ "w": 25,
+ "h": 21
+ }
+ },
+ {
+ "filename": "987_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 4,
+ "w": 24,
+ "h": 24
+ },
+ "frame": {
+ "x": 26,
+ "y": 445,
+ "w": 24,
+ "h": 24
+ }
+ },
+ {
+ "filename": "952_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 6,
+ "w": 25,
+ "h": 22
+ },
+ "frame": {
+ "x": 26,
+ "y": 469,
+ "w": 25,
+ "h": 22
+ }
+ },
+ {
+ "filename": "952_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 7,
+ "y": 6,
+ "w": 25,
+ "h": 22
+ },
+ "frame": {
+ "x": 25,
+ "y": 491,
+ "w": 25,
+ "h": 22
+ }
+ },
+ {
+ "filename": "920_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 5,
+ "w": 22,
+ "h": 23
+ },
+ "frame": {
+ "x": 25,
+ "y": 513,
+ "w": 22,
+ "h": 23
+ }
+ },
+ {
+ "filename": "920_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 5,
+ "w": 22,
+ "h": 23
+ },
+ "frame": {
+ "x": 52,
+ "y": 424,
+ "w": 22,
+ "h": 23
+ }
+ },
+ {
+ "filename": "910_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 4,
+ "w": 21,
+ "h": 21
+ },
+ "frame": {
+ "x": 50,
+ "y": 447,
+ "w": 21,
+ "h": 21
+ }
+ },
+ {
+ "filename": "909_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 5,
+ "w": 21,
+ "h": 23
+ },
+ "frame": {
+ "x": 51,
+ "y": 468,
+ "w": 21,
+ "h": 23
+ }
+ },
+ {
+ "filename": "909_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 8,
+ "y": 5,
+ "w": 21,
+ "h": 23
+ },
+ "frame": {
+ "x": 50,
+ "y": 491,
+ "w": 21,
+ "h": 23
+ }
+ },
+ {
+ "filename": "910_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 4,
+ "w": 21,
+ "h": 21
+ },
+ "frame": {
+ "x": 47,
+ "y": 514,
+ "w": 21,
+ "h": 21
}
},
{
@@ -1761,16 +1782,37 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
- "y": 2,
- "w": 21,
- "h": 27
+ "x": 10,
+ "y": 3,
+ "w": 19,
+ "h": 25
},
"frame": {
- "x": 208,
- "y": 168,
- "w": 21,
- "h": 27
+ "x": 75,
+ "y": 389,
+ "w": 19,
+ "h": 25
+ }
+ },
+ {
+ "filename": "974_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 9,
+ "y": 13,
+ "w": 22,
+ "h": 15
+ },
+ "frame": {
+ "x": 25,
+ "y": 536,
+ "w": 22,
+ "h": 15
}
},
{
@@ -1782,58 +1824,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
- "y": 2,
- "w": 21,
- "h": 27
+ "x": 10,
+ "y": 3,
+ "w": 19,
+ "h": 25
},
"frame": {
- "x": 229,
- "y": 168,
- "w": 21,
- "h": 27
- }
- },
- {
- "filename": "962_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 2,
- "w": 21,
- "h": 27
- },
- "frame": {
- "x": 138,
- "y": 195,
- "w": 21,
- "h": 27
- }
- },
- {
- "filename": "1004_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 8,
- "y": 7,
- "w": 23,
- "h": 22
- },
- "frame": {
- "x": 159,
- "y": 193,
- "w": 23,
- "h": 22
+ "x": 23,
+ "y": 551,
+ "w": 19,
+ "h": 25
}
},
{
@@ -1845,20 +1845,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 8,
- "y": 8,
- "w": 23,
- "h": 21
+ "x": 9,
+ "y": 9,
+ "w": 21,
+ "h": 19
},
"frame": {
- "x": 182,
- "y": 195,
- "w": 23,
- "h": 21
+ "x": 47,
+ "y": 535,
+ "w": 21,
+ "h": 19
}
},
{
- "filename": "997_3",
+ "filename": "973_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1866,16 +1866,58 @@
"h": 30
},
"spriteSourceSize": {
- "x": 8,
- "y": 8,
- "w": 23,
- "h": 21
+ "x": 12,
+ "y": 2,
+ "w": 15,
+ "h": 26
},
"frame": {
- "x": 205,
- "y": 195,
- "w": 23,
- "h": 21
+ "x": 42,
+ "y": 554,
+ "w": 15,
+ "h": 26
+ }
+ },
+ {
+ "filename": "973_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 2,
+ "w": 15,
+ "h": 26
+ },
+ "frame": {
+ "x": 57,
+ "y": 554,
+ "w": 15,
+ "h": 26
+ }
+ },
+ {
+ "filename": "962_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 3,
+ "w": 19,
+ "h": 25
+ },
+ "frame": {
+ "x": 75,
+ "y": 414,
+ "w": 19,
+ "h": 25
}
},
{
@@ -1886,21 +1928,42 @@
"w": 40,
"h": 30
},
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 9,
+ "w": 20,
+ "h": 19
+ },
+ "frame": {
+ "x": 74,
+ "y": 439,
+ "w": 20,
+ "h": 19
+ }
+ },
+ {
+ "filename": "1004_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
"spriteSourceSize": {
"x": 9,
"y": 8,
- "w": 22,
- "h": 21
+ "w": 21,
+ "h": 20
},
"frame": {
- "x": 228,
- "y": 195,
- "w": 22,
- "h": 21
+ "x": 72,
+ "y": 458,
+ "w": 21,
+ "h": 20
}
},
{
- "filename": "958_1",
+ "filename": "997_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1908,37 +1971,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 10,
- "y": 7,
- "w": 19,
- "h": 22
+ "x": 9,
+ "y": 9,
+ "w": 21,
+ "h": 19
},
"frame": {
- "x": 144,
- "y": 222,
- "w": 19,
- "h": 22
- }
- },
- {
- "filename": "958_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 7,
- "w": 19,
- "h": 22
- },
- "frame": {
- "x": 163,
- "y": 215,
- "w": 19,
- "h": 22
+ "x": 72,
+ "y": 478,
+ "w": 21,
+ "h": 19
}
},
{
@@ -1950,16 +1992,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 8,
- "y": 7,
- "w": 23,
- "h": 22
+ "x": 9,
+ "y": 8,
+ "w": 21,
+ "h": 20
},
"frame": {
- "x": 182,
- "y": 216,
- "w": 23,
- "h": 22
+ "x": 71,
+ "y": 497,
+ "w": 21,
+ "h": 20
}
},
{
@@ -1971,20 +2013,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
- "y": 8,
- "w": 22,
- "h": 21
+ "x": 10,
+ "y": 9,
+ "w": 20,
+ "h": 19
},
"frame": {
- "x": 205,
- "y": 216,
- "w": 22,
- "h": 21
+ "x": 68,
+ "y": 517,
+ "w": 20,
+ "h": 19
}
},
{
- "filename": "967_3_GENERATED",
+ "filename": "970_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -1992,15 +2034,351 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
- "y": 8,
- "w": 22,
+ "x": 10,
+ "y": 12,
+ "w": 20,
+ "h": 16
+ },
+ "frame": {
+ "x": 68,
+ "y": 536,
+ "w": 20,
+ "h": 16
+ }
+ },
+ {
+ "filename": "948_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 7,
+ "w": 16,
"h": 21
},
"frame": {
- "x": 205,
- "y": 216,
- "w": 22,
+ "x": 72,
+ "y": 552,
+ "w": 16,
+ "h": 21
+ }
+ },
+ {
+ "filename": "935_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 7,
+ "w": 13,
+ "h": 21
+ },
+ "frame": {
+ "x": 96,
+ "y": 368,
+ "w": 13,
+ "h": 21
+ }
+ },
+ {
+ "filename": "948_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 7,
+ "w": 16,
+ "h": 21
+ },
+ "frame": {
+ "x": 94,
+ "y": 389,
+ "w": 16,
+ "h": 21
+ }
+ },
+ {
+ "filename": "951_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 8,
+ "w": 16,
+ "h": 20
+ },
+ "frame": {
+ "x": 94,
+ "y": 410,
+ "w": 16,
+ "h": 20
+ }
+ },
+ {
+ "filename": "951_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 8,
+ "w": 16,
+ "h": 20
+ },
+ "frame": {
+ "x": 94,
+ "y": 430,
+ "w": 16,
+ "h": 20
+ }
+ },
+ {
+ "filename": "958_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 8,
+ "w": 17,
+ "h": 20
+ },
+ "frame": {
+ "x": 109,
+ "y": 284,
+ "w": 17,
+ "h": 20
+ }
+ },
+ {
+ "filename": "958_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 8,
+ "w": 17,
+ "h": 20
+ },
+ "frame": {
+ "x": 109,
+ "y": 304,
+ "w": 17,
+ "h": 20
+ }
+ },
+ {
+ "filename": "958_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 8,
+ "w": 17,
+ "h": 20
+ },
+ "frame": {
+ "x": 109,
+ "y": 324,
+ "w": 17,
+ "h": 20
+ }
+ },
+ {
+ "filename": "957_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 11,
+ "w": 16,
+ "h": 17
+ },
+ "frame": {
+ "x": 110,
+ "y": 344,
+ "w": 16,
+ "h": 17
+ }
+ },
+ {
+ "filename": "957_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 11,
+ "w": 16,
+ "h": 17
+ },
+ "frame": {
+ "x": 110,
+ "y": 361,
+ "w": 16,
+ "h": 17
+ }
+ },
+ {
+ "filename": "957_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 11,
+ "w": 16,
+ "h": 17
+ },
+ "frame": {
+ "x": 110,
+ "y": 378,
+ "w": 16,
+ "h": 17
+ }
+ },
+ {
+ "filename": "919_1",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 13,
+ "w": 16,
+ "h": 15
+ },
+ "frame": {
+ "x": 110,
+ "y": 395,
+ "w": 16,
+ "h": 15
+ }
+ },
+ {
+ "filename": "919_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 13,
+ "w": 16,
+ "h": 15
+ },
+ "frame": {
+ "x": 110,
+ "y": 410,
+ "w": 16,
+ "h": 15
+ }
+ },
+ {
+ "filename": "919_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 12,
+ "y": 13,
+ "w": 16,
+ "h": 15
+ },
+ "frame": {
+ "x": 110,
+ "y": 425,
+ "w": 16,
+ "h": 15
+ }
+ },
+ {
+ "filename": "935_2",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 7,
+ "w": 13,
+ "h": 21
+ },
+ "frame": {
+ "x": 88,
+ "y": 517,
+ "w": 13,
+ "h": 21
+ }
+ },
+ {
+ "filename": "935_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 13,
+ "y": 7,
+ "w": 13,
+ "h": 21
+ },
+ "frame": {
+ "x": 88,
+ "y": 538,
+ "w": 13,
"h": 21
}
},
@@ -2013,20 +2391,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 10,
- "y": 8,
- "w": 20,
- "h": 21
+ "x": 11,
+ "y": 9,
+ "w": 18,
+ "h": 19
},
"frame": {
- "x": 227,
- "y": 216,
- "w": 20,
- "h": 21
+ "x": 88,
+ "y": 559,
+ "w": 18,
+ "h": 19
}
},
{
- "filename": "958_3",
+ "filename": "978-curly_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2034,165 +2412,18 @@
"h": 30
},
"spriteSourceSize": {
- "x": 10,
- "y": 7,
- "w": 19,
- "h": 22
- },
- "frame": {
- "x": 243,
- "y": 111,
- "w": 19,
- "h": 22
- }
- },
- {
- "filename": "932_3",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 8,
- "w": 20,
- "h": 21
- },
- "frame": {
- "x": 244,
- "y": 133,
- "w": 20,
- "h": 21
- }
- },
- {
- "filename": "969_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 10,
- "y": 15,
- "w": 20,
+ "x": 12,
+ "y": 14,
+ "w": 15,
"h": 14
},
"frame": {
- "x": 244,
- "y": 154,
- "w": 20,
+ "x": 110,
+ "y": 440,
+ "w": 15,
"h": 14
}
},
- {
- "filename": "957_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 10,
- "w": 18,
- "h": 19
- },
- "frame": {
- "x": 250,
- "y": 168,
- "w": 18,
- "h": 19
- }
- },
- {
- "filename": "957_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 10,
- "w": 18,
- "h": 19
- },
- "frame": {
- "x": 250,
- "y": 187,
- "w": 18,
- "h": 19
- }
- },
- {
- "filename": "919_1",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 12,
- "w": 18,
- "h": 17
- },
- "frame": {
- "x": 250,
- "y": 206,
- "w": 18,
- "h": 17
- }
- },
- {
- "filename": "970_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 9,
- "y": 11,
- "w": 22,
- "h": 18
- },
- "frame": {
- "x": 247,
- "y": 223,
- "w": 22,
- "h": 18
- }
- },
- {
- "filename": "919_2",
- "rotated": false,
- "trimmed": true,
- "sourceSize": {
- "w": 40,
- "h": 30
- },
- "spriteSourceSize": {
- "x": 11,
- "y": 12,
- "w": 18,
- "h": 17
- },
- "frame": {
- "x": 163,
- "y": 237,
- "w": 18,
- "h": 17
- }
- },
{
"filename": "970_3",
"rotated": false,
@@ -2202,16 +2433,37 @@
"h": 30
},
"spriteSourceSize": {
- "x": 9,
- "y": 11,
- "w": 22,
- "h": 18
+ "x": 10,
+ "y": 12,
+ "w": 20,
+ "h": 16
},
"frame": {
- "x": 181,
- "y": 238,
- "w": 22,
- "h": 18
+ "x": 106,
+ "y": 454,
+ "w": 20,
+ "h": 16
+ }
+ },
+ {
+ "filename": "932_3",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 40,
+ "h": 30
+ },
+ "spriteSourceSize": {
+ "x": 11,
+ "y": 9,
+ "w": 18,
+ "h": 19
+ },
+ "frame": {
+ "x": 93,
+ "y": 470,
+ "w": 18,
+ "h": 19
}
},
{
@@ -2223,16 +2475,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 11,
- "y": 11,
- "w": 17,
- "h": 18
+ "x": 12,
+ "y": 12,
+ "w": 15,
+ "h": 16
},
"frame": {
- "x": 154,
- "y": 256,
- "w": 17,
- "h": 18
+ "x": 111,
+ "y": 470,
+ "w": 15,
+ "h": 16
}
},
{
@@ -2244,20 +2496,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 11,
- "y": 11,
- "w": 17,
- "h": 18
+ "x": 12,
+ "y": 12,
+ "w": 15,
+ "h": 16
},
"frame": {
- "x": 171,
- "y": 256,
- "w": 17,
- "h": 18
+ "x": 111,
+ "y": 486,
+ "w": 15,
+ "h": 16
}
},
{
- "filename": "919_3",
+ "filename": "969_2",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2266,15 +2518,15 @@
},
"spriteSourceSize": {
"x": 11,
- "y": 12,
+ "y": 16,
"w": 18,
- "h": 17
+ "h": 12
},
"frame": {
- "x": 188,
- "y": 256,
+ "x": 93,
+ "y": 489,
"w": 18,
- "h": 17
+ "h": 12
}
},
{
@@ -2286,20 +2538,20 @@
"h": 30
},
"spriteSourceSize": {
- "x": 10,
- "y": 15,
- "w": 20,
- "h": 14
+ "x": 11,
+ "y": 16,
+ "w": 18,
+ "h": 12
},
"frame": {
- "x": 205,
- "y": 237,
- "w": 20,
- "h": 14
+ "x": 92,
+ "y": 501,
+ "w": 18,
+ "h": 12
}
},
{
- "filename": "957_3",
+ "filename": "978-curly_3",
"rotated": false,
"trimmed": true,
"sourceSize": {
@@ -2307,16 +2559,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 11,
- "y": 10,
- "w": 18,
- "h": 19
+ "x": 12,
+ "y": 14,
+ "w": 15,
+ "h": 14
},
"frame": {
- "x": 225,
- "y": 237,
- "w": 18,
- "h": 19
+ "x": 110,
+ "y": 502,
+ "w": 15,
+ "h": 14
}
},
{
@@ -2328,16 +2580,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 11,
- "y": 13,
- "w": 17,
- "h": 16
+ "x": 12,
+ "y": 14,
+ "w": 15,
+ "h": 14
},
"frame": {
- "x": 206,
- "y": 251,
- "w": 17,
- "h": 16
+ "x": 101,
+ "y": 516,
+ "w": 15,
+ "h": 14
}
},
{
@@ -2349,16 +2601,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 11,
- "y": 13,
- "w": 17,
- "h": 16
+ "x": 12,
+ "y": 14,
+ "w": 15,
+ "h": 14
},
"frame": {
- "x": 243,
- "y": 241,
- "w": 17,
- "h": 16
+ "x": 101,
+ "y": 530,
+ "w": 15,
+ "h": 14
}
},
{
@@ -2370,16 +2622,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 11,
- "y": 13,
- "w": 17,
- "h": 16
+ "x": 12,
+ "y": 14,
+ "w": 15,
+ "h": 14
},
"frame": {
- "x": 223,
- "y": 256,
- "w": 17,
- "h": 16
+ "x": 101,
+ "y": 544,
+ "w": 15,
+ "h": 14
}
},
{
@@ -2391,16 +2643,16 @@
"h": 30
},
"spriteSourceSize": {
- "x": 11,
- "y": 13,
- "w": 17,
- "h": 16
+ "x": 12,
+ "y": 14,
+ "w": 15,
+ "h": 14
},
"frame": {
- "x": 240,
- "y": 257,
- "w": 17,
- "h": 16
+ "x": 106,
+ "y": 558,
+ "w": 15,
+ "h": 14
}
}
]
@@ -2409,6 +2661,6 @@
"meta": {
"app": "https://www.codeandweb.com/texturepacker",
"version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:c9436a7c76ad02efaf1843f970c50eaf:5dea819f3027da31263054c24dbf49bb:3ec5c0bc286c296cfb7fa30a8b06f3da$"
+ "smartupdate": "$TexturePacker:SmartUpdate:b15ef57152451054d5ae039df52e3d03:6bdd73a990ad7f8fbaec172a42e5dcb6:3ec5c0bc286c296cfb7fa30a8b06f3da$"
}
}
diff --git a/public/images/pokemon_icons_9v.png b/public/images/pokemon_icons_9v.png
index 01370af7a43..71fd591b55a 100644
Binary files a/public/images/pokemon_icons_9v.png and b/public/images/pokemon_icons_9v.png differ
diff --git a/public/images/trainer/aqua_grunt_f.json b/public/images/trainer/aqua_grunt_f.json
new file mode 100644
index 00000000000..20515f30e5e
--- /dev/null
+++ b/public/images/trainer/aqua_grunt_f.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "aqua_grunt_f.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 71,
+ "h": 71
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 80,
+ "h": 80
+ },
+ "spriteSourceSize": {
+ "x": 22,
+ "y": 8,
+ "w": 36,
+ "h": 71
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 36,
+ "h": 71
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:6db25cb5753163d19bca8e2db45849ae:7d8f51509862bfdf8a78bf42dd0005cd:af0aa9494be37941522487032b556989$"
+ }
+}
diff --git a/public/images/trainer/aqua_grunt_f.png b/public/images/trainer/aqua_grunt_f.png
new file mode 100644
index 00000000000..132d239c0b8
Binary files /dev/null and b/public/images/trainer/aqua_grunt_f.png differ
diff --git a/public/images/trainer/aqua_grunt_m.json b/public/images/trainer/aqua_grunt_m.json
new file mode 100644
index 00000000000..93408cc40c8
--- /dev/null
+++ b/public/images/trainer/aqua_grunt_m.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "aqua_grunt_m.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 73,
+ "h": 73
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 80,
+ "h": 80
+ },
+ "spriteSourceSize": {
+ "x": 17,
+ "y": 6,
+ "w": 46,
+ "h": 73
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 46,
+ "h": 73
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:efd07ff3ed1e610150a4b8ca18974343:d9b85b9eb11182e9e4669e2bd8b08694:72b7b50231708a9486d5f315824e4df1$"
+ }
+}
diff --git a/public/images/trainer/aqua_grunt_m.png b/public/images/trainer/aqua_grunt_m.png
new file mode 100644
index 00000000000..87dbfd566a1
Binary files /dev/null and b/public/images/trainer/aqua_grunt_m.png differ
diff --git a/public/images/trainer/archie.json b/public/images/trainer/archie.json
new file mode 100644
index 00000000000..63837d40847
--- /dev/null
+++ b/public/images/trainer/archie.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "archie.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 80,
+ "h": 80
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 80,
+ "h": 80
+ },
+ "spriteSourceSize": {
+ "x": 21,
+ "y": 0,
+ "w": 42,
+ "h": 80
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 42,
+ "h": 80
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:bfa7fdd7b6ac9be68dc9dc562fb8339f:06f87a279450b21b19294ba956b69c26:4b7980be4e3ac1d20c9eaf970913ec63$"
+ }
+}
diff --git a/public/images/trainer/archie.png b/public/images/trainer/archie.png
new file mode 100644
index 00000000000..c83975c0690
Binary files /dev/null and b/public/images/trainer/archie.png differ
diff --git a/public/images/trainer/cyrus.json b/public/images/trainer/cyrus.json
new file mode 100644
index 00000000000..8a3044f4034
--- /dev/null
+++ b/public/images/trainer/cyrus.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "cyrus.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 80,
+ "h": 80
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 80,
+ "h": 80
+ },
+ "spriteSourceSize": {
+ "x": 15,
+ "y": 0,
+ "w": 48,
+ "h": 80
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 48,
+ "h": 80
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:5fc65535a23867fca7511cc9d7fc15b3:f328e97821f4faffcbca155cc2c5dc2c:55da82f1e1919212896c9c96b682cbd1$"
+ }
+}
diff --git a/public/images/trainer/cyrus.png b/public/images/trainer/cyrus.png
new file mode 100644
index 00000000000..f7351340568
Binary files /dev/null and b/public/images/trainer/cyrus.png differ
diff --git a/public/images/trainer/flare_grunt_f.json b/public/images/trainer/flare_grunt_f.json
new file mode 100644
index 00000000000..e536d28a1aa
--- /dev/null
+++ b/public/images/trainer/flare_grunt_f.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "flare_grunt_f.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 80,
+ "h": 80
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 80,
+ "h": 80
+ },
+ "spriteSourceSize": {
+ "x": 31,
+ "y": 0,
+ "w": 23,
+ "h": 80
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 23,
+ "h": 80
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:c30bf82452209a923f4becf13d275a9a:a6355b09f92c9c0388d0b919010f587f:0638dbf213f8a974eb5af76eb1e5ddeb$"
+ }
+}
diff --git a/public/images/trainer/flare_grunt_f.png b/public/images/trainer/flare_grunt_f.png
new file mode 100644
index 00000000000..4446675dc44
Binary files /dev/null and b/public/images/trainer/flare_grunt_f.png differ
diff --git a/public/images/trainer/flare_grunt_m.json b/public/images/trainer/flare_grunt_m.json
new file mode 100644
index 00000000000..4d54acbf810
--- /dev/null
+++ b/public/images/trainer/flare_grunt_m.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "flare_grunt_m.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 77,
+ "h": 77
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 80,
+ "h": 80
+ },
+ "spriteSourceSize": {
+ "x": 24,
+ "y": 2,
+ "w": 31,
+ "h": 77
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 31,
+ "h": 77
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:a26606e70778f88a1a7053b2f2420dde:84abf0d0f6bc90c6a60f660567b2d641:adc35a4070bac9fe828c2605a3b15744$"
+ }
+}
diff --git a/public/images/trainer/flare_grunt_m.png b/public/images/trainer/flare_grunt_m.png
new file mode 100644
index 00000000000..79eb98449ca
Binary files /dev/null and b/public/images/trainer/flare_grunt_m.png differ
diff --git a/public/images/trainer/galactic_grunt_f.json b/public/images/trainer/galactic_grunt_f.json
new file mode 100644
index 00000000000..d98809432ca
--- /dev/null
+++ b/public/images/trainer/galactic_grunt_f.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "galactic_grunt_f.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 68,
+ "h": 68
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 80,
+ "h": 80
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 11,
+ "w": 57,
+ "h": 68
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 57,
+ "h": 68
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:3012867f03f02c4ee67a8ab3ad5a000e:77a5f60f1adc158664b3b2ee17bf30fe:7e8259b5177c0a76e5d02d6bdc66affe$"
+ }
+}
diff --git a/public/images/trainer/galactic_grunt_f.png b/public/images/trainer/galactic_grunt_f.png
new file mode 100644
index 00000000000..209d8ae09ba
Binary files /dev/null and b/public/images/trainer/galactic_grunt_f.png differ
diff --git a/public/images/trainer/galactic_grunt_m.json b/public/images/trainer/galactic_grunt_m.json
new file mode 100644
index 00000000000..508c3fd182a
--- /dev/null
+++ b/public/images/trainer/galactic_grunt_m.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "galactic_grunt_m.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 73,
+ "h": 73
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 80,
+ "h": 80
+ },
+ "spriteSourceSize": {
+ "x": 20,
+ "y": 6,
+ "w": 37,
+ "h": 73
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 37,
+ "h": 73
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:856b85bb5d7a1ea2e7a76708ebf82d21:1687dff972369c6248e4aa5b0795fe62:259dd316440c335df5dc6008166d69ca$"
+ }
+}
diff --git a/public/images/trainer/galactic_grunt_m.png b/public/images/trainer/galactic_grunt_m.png
new file mode 100644
index 00000000000..1fff818266c
Binary files /dev/null and b/public/images/trainer/galactic_grunt_m.png differ
diff --git a/public/images/trainer/lysandre.json b/public/images/trainer/lysandre.json
new file mode 100644
index 00000000000..931b1633a32
--- /dev/null
+++ b/public/images/trainer/lysandre.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "lysandre.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 80,
+ "h": 80
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 80,
+ "h": 80
+ },
+ "spriteSourceSize": {
+ "x": 14,
+ "y": 0,
+ "w": 52,
+ "h": 80
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 52,
+ "h": 80
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:6b887c8bab74885a1b05f2b382759db6:ba102d9d25ddd794a3a17f029b971daf:e6066149f6ec4ccb9fc28faea3d64a7f$"
+ }
+}
diff --git a/public/images/trainer/lysandre.png b/public/images/trainer/lysandre.png
new file mode 100644
index 00000000000..b83b649d142
Binary files /dev/null and b/public/images/trainer/lysandre.png differ
diff --git a/public/images/trainer/magma_grunt_f.json b/public/images/trainer/magma_grunt_f.json
new file mode 100644
index 00000000000..05c0512bbf0
--- /dev/null
+++ b/public/images/trainer/magma_grunt_f.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "magma_grunt_f.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 80,
+ "h": 80
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 80,
+ "h": 80
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 0,
+ "w": 60,
+ "h": 80
+ },
+ "frame": {
+ "x": 10,
+ "y": 0,
+ "w": 60,
+ "h": 80
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:f63ad48affc076f60fae78992c96a2bf:80928b32710abcb28c07c6fc5a425d99:3b961d8852b62aaf24ceb2030c036515$"
+ }
+}
diff --git a/public/images/trainer/magma_grunt_f.png b/public/images/trainer/magma_grunt_f.png
new file mode 100644
index 00000000000..215ad83eea1
Binary files /dev/null and b/public/images/trainer/magma_grunt_f.png differ
diff --git a/public/images/trainer/magma_grunt_m.json b/public/images/trainer/magma_grunt_m.json
new file mode 100644
index 00000000000..ac8cd838c5a
--- /dev/null
+++ b/public/images/trainer/magma_grunt_m.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "magma_grunt_m.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 80,
+ "h": 80
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": true,
+ "sourceSize": {
+ "w": 80,
+ "h": 80
+ },
+ "spriteSourceSize": {
+ "x": 10,
+ "y": 0,
+ "w": 60,
+ "h": 80
+ },
+ "frame": {
+ "x": 10,
+ "y": 0,
+ "w": 60,
+ "h": 80
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:96aa833d987a01bcdcb6f0e7809f5daf:791cce8d026f92b2e52f0b66df8b8e11:35532fd5d9aea30957d50d06f2d2f9a6$"
+ }
+}
diff --git a/public/images/trainer/magma_grunt_m.png b/public/images/trainer/magma_grunt_m.png
new file mode 100644
index 00000000000..a37b9acbb52
Binary files /dev/null and b/public/images/trainer/magma_grunt_m.png differ
diff --git a/public/images/trainer/maxie.json b/public/images/trainer/maxie.json
new file mode 100644
index 00000000000..46914ada760
--- /dev/null
+++ b/public/images/trainer/maxie.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "maxie.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 79,
+ "h": 79
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 80,
+ "h": 80
+ },
+ "spriteSourceSize": {
+ "x": 20,
+ "y": 0,
+ "w": 35,
+ "h": 79
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 35,
+ "h": 79
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:a943a18803f18065ae5f19e5089c83bb:33a1c168d314f5fb32f9b34244201178:54a227d24523907b8adf8e907821dcd9$"
+ }
+}
diff --git a/public/images/trainer/maxie.png b/public/images/trainer/maxie.png
new file mode 100644
index 00000000000..232082f869f
Binary files /dev/null and b/public/images/trainer/maxie.png differ
diff --git a/public/images/trainer/plasma_grunt_f.json b/public/images/trainer/plasma_grunt_f.json
new file mode 100644
index 00000000000..4d23eeeb483
--- /dev/null
+++ b/public/images/trainer/plasma_grunt_f.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "plasma_grunt_f.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 75,
+ "h": 75
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 80,
+ "h": 80
+ },
+ "spriteSourceSize": {
+ "x": 21,
+ "y": 4,
+ "w": 37,
+ "h": 75
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 37,
+ "h": 75
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:c3001e18f1878c01a4825697200e823e:2003e0d4db249f7020c3471872198ac8:b01645b9e941158814978f2126e7e995$"
+ }
+}
diff --git a/public/images/trainer/plasma_grunt_f.png b/public/images/trainer/plasma_grunt_f.png
new file mode 100644
index 00000000000..95b065f4360
Binary files /dev/null and b/public/images/trainer/plasma_grunt_f.png differ
diff --git a/public/images/trainer/plasma_grunt_m.json b/public/images/trainer/plasma_grunt_m.json
new file mode 100644
index 00000000000..7c34b16790f
--- /dev/null
+++ b/public/images/trainer/plasma_grunt_m.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "plasma_grunt_m.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 72,
+ "h": 72
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 80,
+ "h": 80
+ },
+ "spriteSourceSize": {
+ "x": 16,
+ "y": 7,
+ "w": 47,
+ "h": 72
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 47,
+ "h": 72
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:61f195ebbcde93ab7442408edad7fe7a:28ae203b3cb42a94c4ba4420fdebdccc:9ae0ee174d431d48052a2f6b74e9d40c$"
+ }
+}
diff --git a/public/images/trainer/plasma_grunt_m.png b/public/images/trainer/plasma_grunt_m.png
new file mode 100644
index 00000000000..e3ec6dd8c35
Binary files /dev/null and b/public/images/trainer/plasma_grunt_m.png differ
diff --git a/public/images/trainer/rocket_grunt_f.json b/public/images/trainer/rocket_grunt_f.json
new file mode 100644
index 00000000000..091fedd31f0
--- /dev/null
+++ b/public/images/trainer/rocket_grunt_f.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "rocket_grunt_f.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 67,
+ "h": 67
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 80,
+ "h": 80
+ },
+ "spriteSourceSize": {
+ "x": 18,
+ "y": 9,
+ "w": 50,
+ "h": 67
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 50,
+ "h": 67
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:f2e4df704ed3262efeba03b98c4f34b6:856ea7816491331f96e020076871263b:fadb24d665ba1be4d210fe9064954d5b$"
+ }
+}
diff --git a/public/images/trainer/rocket_grunt_f.png b/public/images/trainer/rocket_grunt_f.png
new file mode 100644
index 00000000000..c4f6e96dec4
Binary files /dev/null and b/public/images/trainer/rocket_grunt_f.png differ
diff --git a/public/images/trainer/rocket_grunt_m.json b/public/images/trainer/rocket_grunt_m.json
new file mode 100644
index 00000000000..b8417d3b763
--- /dev/null
+++ b/public/images/trainer/rocket_grunt_m.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "rocket_grunt_m.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 65,
+ "h": 65
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 80,
+ "h": 80
+ },
+ "spriteSourceSize": {
+ "x": 17,
+ "y": 9,
+ "w": 42,
+ "h": 65
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 42,
+ "h": 65
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:831f5748dad92911b10a1cb358ee2dae:a3bf81bbaa3b49cad5e0e549cf94563b:bb6befc9383c9c08837183ae2a7a80c1$"
+ }
+}
diff --git a/public/images/trainer/rocket_grunt_m.png b/public/images/trainer/rocket_grunt_m.png
new file mode 100644
index 00000000000..027da6cacb0
Binary files /dev/null and b/public/images/trainer/rocket_grunt_m.png differ
diff --git a/public/images/trainer/sailor.json b/public/images/trainer/sailor.json
new file mode 100644
index 00000000000..6a9331dbaf6
--- /dev/null
+++ b/public/images/trainer/sailor.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "sailor.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 72,
+ "h": 72
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0001.png",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 72,
+ "h": 72
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 73,
+ "h": 73
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 39,
+ "h": 72
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:f692676a166fc1915532cd94d5799af4:fb833f76fb6797474657726bb59a7eee:aeb55e30992938f494b6cd2420158dda$"
+ }
+}
diff --git a/public/images/trainer/sailor.png b/public/images/trainer/sailor.png
new file mode 100644
index 00000000000..ec61152bce3
Binary files /dev/null and b/public/images/trainer/sailor.png differ
diff --git a/public/images/types/bug.png b/public/images/types/bug.png
deleted file mode 100644
index 72681086ec6..00000000000
Binary files a/public/images/types/bug.png and /dev/null differ
diff --git a/public/images/types/dark.png b/public/images/types/dark.png
deleted file mode 100644
index 6605a95bb4c..00000000000
Binary files a/public/images/types/dark.png and /dev/null differ
diff --git a/public/images/types/dragon.png b/public/images/types/dragon.png
deleted file mode 100644
index 3554bc8bd68..00000000000
Binary files a/public/images/types/dragon.png and /dev/null differ
diff --git a/public/images/types/electric.png b/public/images/types/electric.png
deleted file mode 100644
index ea5008652c5..00000000000
Binary files a/public/images/types/electric.png and /dev/null differ
diff --git a/public/images/types/fairy.png b/public/images/types/fairy.png
deleted file mode 100644
index f8ca169d3aa..00000000000
Binary files a/public/images/types/fairy.png and /dev/null differ
diff --git a/public/images/types/fighting.png b/public/images/types/fighting.png
deleted file mode 100644
index 0fd87f3dbd9..00000000000
Binary files a/public/images/types/fighting.png and /dev/null differ
diff --git a/public/images/types/fire.png b/public/images/types/fire.png
deleted file mode 100644
index 08a550fcaff..00000000000
Binary files a/public/images/types/fire.png and /dev/null differ
diff --git a/public/images/types/flying.png b/public/images/types/flying.png
deleted file mode 100644
index 3a13e051222..00000000000
Binary files a/public/images/types/flying.png and /dev/null differ
diff --git a/public/images/types/ghost.png b/public/images/types/ghost.png
deleted file mode 100644
index f32896bed02..00000000000
Binary files a/public/images/types/ghost.png and /dev/null differ
diff --git a/public/images/types/grass.png b/public/images/types/grass.png
deleted file mode 100644
index 35dfecfc2d2..00000000000
Binary files a/public/images/types/grass.png and /dev/null differ
diff --git a/public/images/types/ground.png b/public/images/types/ground.png
deleted file mode 100644
index 0df975559b6..00000000000
Binary files a/public/images/types/ground.png and /dev/null differ
diff --git a/public/images/types/ice.png b/public/images/types/ice.png
deleted file mode 100644
index 57ea33f9b16..00000000000
Binary files a/public/images/types/ice.png and /dev/null differ
diff --git a/public/images/types/normal.png b/public/images/types/normal.png
deleted file mode 100644
index 92524168f5c..00000000000
Binary files a/public/images/types/normal.png and /dev/null differ
diff --git a/public/images/types/poison.png b/public/images/types/poison.png
deleted file mode 100644
index c898b4d14a9..00000000000
Binary files a/public/images/types/poison.png and /dev/null differ
diff --git a/public/images/types/psychic.png b/public/images/types/psychic.png
deleted file mode 100644
index ff55bc54a60..00000000000
Binary files a/public/images/types/psychic.png and /dev/null differ
diff --git a/public/images/types/rock.png b/public/images/types/rock.png
deleted file mode 100644
index 0a90b780a24..00000000000
Binary files a/public/images/types/rock.png and /dev/null differ
diff --git a/public/images/types/steel.png b/public/images/types/steel.png
deleted file mode 100644
index 34e2ad73db8..00000000000
Binary files a/public/images/types/steel.png and /dev/null differ
diff --git a/public/images/types/stellar.png b/public/images/types/stellar.png
deleted file mode 100644
index 6ca5e5bdbc4..00000000000
Binary files a/public/images/types/stellar.png and /dev/null differ
diff --git a/public/images/types/unknown.png b/public/images/types/unknown.png
deleted file mode 100644
index 607111adefb..00000000000
Binary files a/public/images/types/unknown.png and /dev/null differ
diff --git a/public/images/types/water.png b/public/images/types/water.png
deleted file mode 100644
index eb618008d00..00000000000
Binary files a/public/images/types/water.png and /dev/null differ
diff --git a/public/images/types_pt-BR.json b/public/images/types_pt-BR.json
new file mode 100644
index 00000000000..e89bdcba87f
--- /dev/null
+++ b/public/images/types_pt-BR.json
@@ -0,0 +1,440 @@
+{
+ "textures": [
+ {
+ "image": "types_pt-BR.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 32,
+ "h": 280
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "unknown",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "bug",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 14,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "dark",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 28,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "dragon",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 42,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "electric",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 56,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "fairy",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 70,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "fighting",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 84,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "fire",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 98,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "flying",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 112,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "ghost",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 126,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "grass",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 140,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "ground",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 154,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "ice",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 168,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "normal",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 182,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "poison",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 196,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "psychic",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 210,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "rock",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 224,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "steel",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 238,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "water",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 252,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "stellar",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 266,
+ "w": 32,
+ "h": 14
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:f14cf47d9a8f1d40c8e03aa6ba00fff3:6fc4227b57a95d429a1faad4280f7ec8:5961efbfbf4c56b8745347e7a663a32f$"
+ }
+}
diff --git a/public/images/types_pt_BR.png b/public/images/types_pt-BR.png
similarity index 100%
rename from public/images/types_pt_BR.png
rename to public/images/types_pt-BR.png
diff --git a/public/images/types_pt_BR.json b/public/images/types_pt_BR.json
deleted file mode 100644
index 932d316fd30..00000000000
--- a/public/images/types_pt_BR.json
+++ /dev/null
@@ -1,440 +0,0 @@
-{
- "textures": [
- {
- "image": "types_pt_BR.png",
- "format": "RGBA8888",
- "size": {
- "w": 32,
- "h": 280
- },
- "scale": 1,
- "frames": [
- {
- "filename": "unknown",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "bug",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 14,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "dark",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 28,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "dragon",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 42,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "electric",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 56,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "fairy",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 70,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "fighting",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 84,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "fire",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 98,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "flying",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 112,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "ghost",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 126,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "grass",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 140,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "ground",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 154,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "ice",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 168,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "normal",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 182,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "poison",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 196,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "psychic",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 210,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "rock",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 224,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "steel",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 238,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "water",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 252,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "stellar",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 266,
- "w": 32,
- "h": 14
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:f14cf47d9a8f1d40c8e03aa6ba00fff3:6fc4227b57a95d429a1faad4280f7ec8:5961efbfbf4c56b8745347e7a663a32f$"
- }
-}
diff --git a/public/images/types_zh-CN.json b/public/images/types_zh-CN.json
new file mode 100644
index 00000000000..e82d3c56468
--- /dev/null
+++ b/public/images/types_zh-CN.json
@@ -0,0 +1,440 @@
+{
+ "textures": [
+ {
+ "image": "types_zh-CN.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 32,
+ "h": 280
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "unknown",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "bug",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 14,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "dark",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 28,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "dragon",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 42,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "electric",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 56,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "fairy",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 70,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "fighting",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 84,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "fire",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 98,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "flying",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 112,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "ghost",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 126,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "grass",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 140,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "ground",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 154,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "ice",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 168,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "normal",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 182,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "poison",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 196,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "psychic",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 210,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "rock",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 224,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "steel",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 238,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "water",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 252,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "stellar",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 266,
+ "w": 32,
+ "h": 14
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:f14cf47d9a8f1d40c8e03aa6ba00fff3:6fc4227b57a95d429a1faad4280f7ec8:5961efbfbf4c56b8745347e7a663a32f$"
+ }
+}
diff --git a/public/images/types_zh-CN.png b/public/images/types_zh-CN.png
new file mode 100644
index 00000000000..a1a41a663fd
Binary files /dev/null and b/public/images/types_zh-CN.png differ
diff --git a/public/images/types_zh-TW.json b/public/images/types_zh-TW.json
new file mode 100644
index 00000000000..18c51ab61f4
--- /dev/null
+++ b/public/images/types_zh-TW.json
@@ -0,0 +1,440 @@
+{
+ "textures": [
+ {
+ "image": "types_zh-TW.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 32,
+ "h": 280
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "unknown",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "bug",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 14,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "dark",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 28,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "dragon",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 42,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "electric",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 56,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "fairy",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 70,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "fighting",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 84,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "fire",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 98,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "flying",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 112,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "ghost",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 126,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "grass",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 140,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "ground",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 154,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "ice",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 168,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "normal",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 182,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "poison",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 196,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "psychic",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 210,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "rock",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 224,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "steel",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 238,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "water",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 252,
+ "w": 32,
+ "h": 14
+ }
+ },
+ {
+ "filename": "stellar",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 32,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 32,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 266,
+ "w": 32,
+ "h": 14
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:f14cf47d9a8f1d40c8e03aa6ba00fff3:6fc4227b57a95d429a1faad4280f7ec8:5961efbfbf4c56b8745347e7a663a32f$"
+ }
+}
diff --git a/public/images/types_zh_CN.png b/public/images/types_zh-TW.png
similarity index 100%
rename from public/images/types_zh_CN.png
rename to public/images/types_zh-TW.png
diff --git a/public/images/types_zh_CN.json b/public/images/types_zh_CN.json
deleted file mode 100644
index 4cd0135a677..00000000000
--- a/public/images/types_zh_CN.json
+++ /dev/null
@@ -1,440 +0,0 @@
-{
- "textures": [
- {
- "image": "types_zh_CN.png",
- "format": "RGBA8888",
- "size": {
- "w": 32,
- "h": 280
- },
- "scale": 1,
- "frames": [
- {
- "filename": "unknown",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "bug",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 14,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "dark",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 28,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "dragon",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 42,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "electric",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 56,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "fairy",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 70,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "fighting",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 84,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "fire",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 98,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "flying",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 112,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "ghost",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 126,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "grass",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 140,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "ground",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 154,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "ice",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 168,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "normal",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 182,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "poison",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 196,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "psychic",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 210,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "rock",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 224,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "steel",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 238,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "water",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 252,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "stellar",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 266,
- "w": 32,
- "h": 14
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:f14cf47d9a8f1d40c8e03aa6ba00fff3:6fc4227b57a95d429a1faad4280f7ec8:5961efbfbf4c56b8745347e7a663a32f$"
- }
-}
diff --git a/public/images/types_zh_TW.json b/public/images/types_zh_TW.json
deleted file mode 100644
index e3923b00f02..00000000000
--- a/public/images/types_zh_TW.json
+++ /dev/null
@@ -1,440 +0,0 @@
-{
- "textures": [
- {
- "image": "types_zh_TW.png",
- "format": "RGBA8888",
- "size": {
- "w": 32,
- "h": 280
- },
- "scale": 1,
- "frames": [
- {
- "filename": "unknown",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "bug",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 14,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "dark",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 28,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "dragon",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 42,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "electric",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 56,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "fairy",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 70,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "fighting",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 84,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "fire",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 98,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "flying",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 112,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "ghost",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 126,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "grass",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 140,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "ground",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 154,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "ice",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 168,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "normal",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 182,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "poison",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 196,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "psychic",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 210,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "rock",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 224,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "steel",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 238,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "water",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 252,
- "w": 32,
- "h": 14
- }
- },
- {
- "filename": "stellar",
- "rotated": false,
- "trimmed": false,
- "sourceSize": {
- "w": 32,
- "h": 14
- },
- "spriteSourceSize": {
- "x": 0,
- "y": 0,
- "w": 32,
- "h": 14
- },
- "frame": {
- "x": 0,
- "y": 266,
- "w": 32,
- "h": 14
- }
- }
- ]
- }
- ],
- "meta": {
- "app": "https://www.codeandweb.com/texturepacker",
- "version": "3.0",
- "smartupdate": "$TexturePacker:SmartUpdate:f14cf47d9a8f1d40c8e03aa6ba00fff3:6fc4227b57a95d429a1faad4280f7ec8:5961efbfbf4c56b8745347e7a663a32f$"
- }
-}
diff --git a/public/images/types_zh_TW.png b/public/images/types_zh_TW.png
deleted file mode 100644
index 8b644f1041c..00000000000
Binary files a/public/images/types_zh_TW.png and /dev/null differ
diff --git a/public/images/ui/bgm_bar.png b/public/images/ui/bgm_bar.png
new file mode 100644
index 00000000000..54abe4c5a94
Binary files /dev/null and b/public/images/ui/bgm_bar.png differ
diff --git a/public/images/ui/command_fight_labels.png b/public/images/ui/command_fight_labels.png
deleted file mode 100644
index c9d6d60c47f..00000000000
Binary files a/public/images/ui/command_fight_labels.png and /dev/null differ
diff --git a/public/images/ui/dawn_icon.png b/public/images/ui/dawn_icon.png
deleted file mode 100644
index e04e6024aa0..00000000000
Binary files a/public/images/ui/dawn_icon.png and /dev/null differ
diff --git a/public/images/ui/dawn_icon_bg.png b/public/images/ui/dawn_icon_bg.png
new file mode 100644
index 00000000000..2983c2744a3
Binary files /dev/null and b/public/images/ui/dawn_icon_bg.png differ
diff --git a/public/images/ui/dawn_icon_fg.png b/public/images/ui/dawn_icon_fg.png
new file mode 100644
index 00000000000..e6c195bd371
Binary files /dev/null and b/public/images/ui/dawn_icon_fg.png differ
diff --git a/public/images/ui/dawn_icon_mg.png b/public/images/ui/dawn_icon_mg.png
new file mode 100644
index 00000000000..ff32b4418aa
Binary files /dev/null and b/public/images/ui/dawn_icon_mg.png differ
diff --git a/public/images/ui/day_icon.png b/public/images/ui/day_icon.png
deleted file mode 100644
index fe41acffd9c..00000000000
Binary files a/public/images/ui/day_icon.png and /dev/null differ
diff --git a/public/images/ui/day_icon_bg.png b/public/images/ui/day_icon_bg.png
new file mode 100644
index 00000000000..9028e0309f7
Binary files /dev/null and b/public/images/ui/day_icon_bg.png differ
diff --git a/public/images/ui/day_icon_fg.png b/public/images/ui/day_icon_fg.png
new file mode 100644
index 00000000000..523f7b1be7e
Binary files /dev/null and b/public/images/ui/day_icon_fg.png differ
diff --git a/public/images/ui/day_icon_mg.png b/public/images/ui/day_icon_mg.png
new file mode 100644
index 00000000000..7a236fa48d3
Binary files /dev/null and b/public/images/ui/day_icon_mg.png differ
diff --git a/public/images/ui/dusk_icon.png b/public/images/ui/dusk_icon.png
deleted file mode 100644
index e848fa31345..00000000000
Binary files a/public/images/ui/dusk_icon.png and /dev/null differ
diff --git a/public/images/ui/dusk_icon_bg.png b/public/images/ui/dusk_icon_bg.png
new file mode 100644
index 00000000000..57d22ec2b21
Binary files /dev/null and b/public/images/ui/dusk_icon_bg.png differ
diff --git a/public/images/ui/dusk_icon_fg.png b/public/images/ui/dusk_icon_fg.png
new file mode 100644
index 00000000000..e0ca1bce79b
Binary files /dev/null and b/public/images/ui/dusk_icon_fg.png differ
diff --git a/public/images/ui/dusk_icon_mg.png b/public/images/ui/dusk_icon_mg.png
new file mode 100644
index 00000000000..4e6a880b37f
Binary files /dev/null and b/public/images/ui/dusk_icon_mg.png differ
diff --git a/public/images/ui/legacy/bgm_bar.png b/public/images/ui/legacy/bgm_bar.png
new file mode 100644
index 00000000000..fedeb323fc2
Binary files /dev/null and b/public/images/ui/legacy/bgm_bar.png differ
diff --git a/public/images/ui/legacy/command_fight_labels.png b/public/images/ui/legacy/command_fight_labels.png
deleted file mode 100644
index 257d0e5d93f..00000000000
Binary files a/public/images/ui/legacy/command_fight_labels.png and /dev/null differ
diff --git a/public/images/ui/legacy/dawn_icon.png b/public/images/ui/legacy/dawn_icon.png
deleted file mode 100644
index eb24a799ab9..00000000000
Binary files a/public/images/ui/legacy/dawn_icon.png and /dev/null differ
diff --git a/public/images/ui/legacy/dawn_icon_bg.png b/public/images/ui/legacy/dawn_icon_bg.png
new file mode 100644
index 00000000000..87c4d75cd94
Binary files /dev/null and b/public/images/ui/legacy/dawn_icon_bg.png differ
diff --git a/public/images/ui/legacy/dawn_icon_fg.png b/public/images/ui/legacy/dawn_icon_fg.png
new file mode 100644
index 00000000000..db985f953d3
Binary files /dev/null and b/public/images/ui/legacy/dawn_icon_fg.png differ
diff --git a/public/images/ui/legacy/dawn_icon_mg.png b/public/images/ui/legacy/dawn_icon_mg.png
new file mode 100644
index 00000000000..442cb1b674c
Binary files /dev/null and b/public/images/ui/legacy/dawn_icon_mg.png differ
diff --git a/public/images/ui/legacy/day_icon.png b/public/images/ui/legacy/day_icon.png
deleted file mode 100644
index 310ba50dcf3..00000000000
Binary files a/public/images/ui/legacy/day_icon.png and /dev/null differ
diff --git a/public/images/ui/legacy/day_icon_bg.png b/public/images/ui/legacy/day_icon_bg.png
new file mode 100644
index 00000000000..3db0dab4589
Binary files /dev/null and b/public/images/ui/legacy/day_icon_bg.png differ
diff --git a/public/images/ui/legacy/day_icon_fg.png b/public/images/ui/legacy/day_icon_fg.png
new file mode 100644
index 00000000000..657c82e5dbd
Binary files /dev/null and b/public/images/ui/legacy/day_icon_fg.png differ
diff --git a/public/images/ui/legacy/day_icon_mg.png b/public/images/ui/legacy/day_icon_mg.png
new file mode 100644
index 00000000000..90fce4a761c
Binary files /dev/null and b/public/images/ui/legacy/day_icon_mg.png differ
diff --git a/public/images/ui/legacy/dusk_icon.png b/public/images/ui/legacy/dusk_icon.png
deleted file mode 100644
index f383ebf5246..00000000000
Binary files a/public/images/ui/legacy/dusk_icon.png and /dev/null differ
diff --git a/public/images/ui/legacy/dusk_icon_bg.png b/public/images/ui/legacy/dusk_icon_bg.png
new file mode 100644
index 00000000000..7610a2e67f8
Binary files /dev/null and b/public/images/ui/legacy/dusk_icon_bg.png differ
diff --git a/public/images/ui/legacy/dusk_icon_fg.png b/public/images/ui/legacy/dusk_icon_fg.png
new file mode 100644
index 00000000000..d4bbb98fdd1
Binary files /dev/null and b/public/images/ui/legacy/dusk_icon_fg.png differ
diff --git a/public/images/ui/legacy/dusk_icon_mg.png b/public/images/ui/legacy/dusk_icon_mg.png
new file mode 100644
index 00000000000..dc603f8ca79
Binary files /dev/null and b/public/images/ui/legacy/dusk_icon_mg.png differ
diff --git a/public/images/ui/legacy/night_icon.png b/public/images/ui/legacy/night_icon.png
deleted file mode 100644
index 1796081c05b..00000000000
Binary files a/public/images/ui/legacy/night_icon.png and /dev/null differ
diff --git a/public/images/ui/legacy/night_icon_bg.png b/public/images/ui/legacy/night_icon_bg.png
new file mode 100644
index 00000000000..c32ee1ebd2a
Binary files /dev/null and b/public/images/ui/legacy/night_icon_bg.png differ
diff --git a/public/images/ui/legacy/night_icon_fg.png b/public/images/ui/legacy/night_icon_fg.png
new file mode 100644
index 00000000000..737cca3305e
Binary files /dev/null and b/public/images/ui/legacy/night_icon_fg.png differ
diff --git a/public/images/ui/legacy/night_icon_mg.png b/public/images/ui/legacy/night_icon_mg.png
new file mode 100644
index 00000000000..f5fdff51cc8
Binary files /dev/null and b/public/images/ui/legacy/night_icon_mg.png differ
diff --git a/public/images/ui/legacy/shiny_icons.json b/public/images/ui/legacy/shiny_icons.json
new file mode 100644
index 00000000000..698b5b96e72
--- /dev/null
+++ b/public/images/ui/legacy/shiny_icons.json
@@ -0,0 +1,78 @@
+{
+ "textures": [
+ {
+ "image": "shiny_icons.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 15,
+ "h": 14
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 15,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 15,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 15,
+ "h": 14
+ }
+ },
+ {
+ "filename": "1",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 15,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 15,
+ "y": 0,
+ "w": 15,
+ "h": 14
+ },
+ "frame": {
+ "x": 15,
+ "y": 0,
+ "w": 15,
+ "h": 14
+ }
+ },
+ {
+ "filename": "2",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 15,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 30,
+ "y": 0,
+ "w": 15,
+ "h": 14
+ },
+ "frame": {
+ "x": 30,
+ "y": 0,
+ "w": 15,
+ "h": 14
+ }
+ }
+ ]
+ }
+ ]
+}
diff --git a/public/images/ui/legacy/shiny_icons.png b/public/images/ui/legacy/shiny_icons.png
new file mode 100644
index 00000000000..f601d908d32
Binary files /dev/null and b/public/images/ui/legacy/shiny_icons.png differ
diff --git a/public/images/ui/legacy/summary_moves_effect_pt_BR.png b/public/images/ui/legacy/summary_moves_effect_pt-BR.png
similarity index 100%
rename from public/images/ui/legacy/summary_moves_effect_pt_BR.png
rename to public/images/ui/legacy/summary_moves_effect_pt-BR.png
diff --git a/public/images/ui/legacy/summary_moves_effect_zh_CN.png b/public/images/ui/legacy/summary_moves_effect_zh-CN.png
similarity index 100%
rename from public/images/ui/legacy/summary_moves_effect_zh_CN.png
rename to public/images/ui/legacy/summary_moves_effect_zh-CN.png
diff --git a/public/images/ui/night_icon.png b/public/images/ui/night_icon.png
deleted file mode 100644
index 1782303f73d..00000000000
Binary files a/public/images/ui/night_icon.png and /dev/null differ
diff --git a/public/images/ui/night_icon_bg.png b/public/images/ui/night_icon_bg.png
new file mode 100644
index 00000000000..1ce4007d54c
Binary files /dev/null and b/public/images/ui/night_icon_bg.png differ
diff --git a/public/images/ui/night_icon_fg.png b/public/images/ui/night_icon_fg.png
new file mode 100644
index 00000000000..78741584312
Binary files /dev/null and b/public/images/ui/night_icon_fg.png differ
diff --git a/public/images/ui/night_icon_mg.png b/public/images/ui/night_icon_mg.png
new file mode 100644
index 00000000000..5583c8f799d
Binary files /dev/null and b/public/images/ui/night_icon_mg.png differ
diff --git a/public/images/ui/shiny_icons.json b/public/images/ui/shiny_icons.json
new file mode 100644
index 00000000000..698b5b96e72
--- /dev/null
+++ b/public/images/ui/shiny_icons.json
@@ -0,0 +1,78 @@
+{
+ "textures": [
+ {
+ "image": "shiny_icons.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 15,
+ "h": 14
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 15,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 15,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 15,
+ "h": 14
+ }
+ },
+ {
+ "filename": "1",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 15,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 15,
+ "y": 0,
+ "w": 15,
+ "h": 14
+ },
+ "frame": {
+ "x": 15,
+ "y": 0,
+ "w": 15,
+ "h": 14
+ }
+ },
+ {
+ "filename": "2",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 15,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 30,
+ "y": 0,
+ "w": 15,
+ "h": 14
+ },
+ "frame": {
+ "x": 30,
+ "y": 0,
+ "w": 15,
+ "h": 14
+ }
+ }
+ ]
+ }
+ ]
+}
diff --git a/public/images/ui/shiny_icons.png b/public/images/ui/shiny_icons.png
new file mode 100644
index 00000000000..f601d908d32
Binary files /dev/null and b/public/images/ui/shiny_icons.png differ
diff --git a/public/images/ui/summary_bg.png b/public/images/ui/summary_bg.png
index 1fa1d95fcc3..b77cdadd2ac 100644
Binary files a/public/images/ui/summary_bg.png and b/public/images/ui/summary_bg.png differ
diff --git a/public/update-source-comments.py b/public/update-source-comments.py
index 34f0c28dd4c..410d1a42566 100644
--- a/public/update-source-comments.py
+++ b/public/update-source-comments.py
@@ -1,6 +1,6 @@
import re
-filenames = [['src/data/enums/moves.ts', 'move'], ['src/data/enums/abilities.ts', 'ability'], ['src/data/enums/species.ts', 'Pokémon']]
+filenames = [['src/enums/moves.ts', 'move'], ['src/enums/abilities.ts', 'ability'], ['src/enums/species.ts', 'Pokémon']]
commentBlockStart = re.compile('\/\*[^\*].*') # Regex for the start of a comment block
commentBlockEnd = re.compile('.*,\*\/') # Regex for the end of a comment block
diff --git a/src/@types/i18next.d.ts b/src/@types/i18next.d.ts
new file mode 100644
index 00000000000..f3a63d6f4ec
--- /dev/null
+++ b/src/@types/i18next.d.ts
@@ -0,0 +1,9 @@
+import { enConfig } from "#app/locales/en/config.js";
+
+// Module declared to make referencing keys in the localization files type-safe.
+declare module "i18next" {
+ interface CustomTypeOptions {
+ defaultNS: "menu", // needed here as well for typedoc
+ resources: typeof enConfig
+ }
+ }
diff --git a/src/account.ts b/src/account.ts
index c63bf879e9f..4d19513908f 100644
--- a/src/account.ts
+++ b/src/account.ts
@@ -7,8 +7,13 @@ export interface UserInfo {
}
export let loggedInUser: UserInfo = null;
+// This is a random string that is used to identify the client session - unique per session (tab or window) so that the game will only save on the one that the server is expecting
export const clientSessionId = Utils.randomString(32);
+export function initLoggedInUser(): void {
+ loggedInUser = { username: "Guest", lastSessionSlot: -1 };
+}
+
export function updateUserInfo(): Promise<[boolean, integer]> {
return new Promise<[boolean, integer]>(resolve => {
if (bypassLogin) {
diff --git a/src/battle-scene-events.ts b/src/battle-scene-events.ts
deleted file mode 100644
index 74fac97d2b7..00000000000
--- a/src/battle-scene-events.ts
+++ /dev/null
@@ -1,118 +0,0 @@
-import Move from "./data/move";
-import { BerryModifier } from "./modifier/modifier";
-
-/** Alias for all {@linkcode BattleScene} events */
-export enum BattleSceneEventType {
- /**
- * Triggers when the corresponding setting is changed
- * @see {@linkcode CandyUpgradeNotificationChangedEvent}
- */
- CANDY_UPGRADE_NOTIFICATION_CHANGED = "onCandyUpgradeDisplayChanged",
-
- /**
- * Triggers when a move is successfully used
- * @see {@linkcode MoveUsedEvent}
- */
- MOVE_USED = "onMoveUsed",
- /**
- * Triggers when a berry gets successfully used
- * @see {@linkcode BerryUsedEvent}
- */
- BERRY_USED = "onBerryUsed",
-
- /**
- * Triggers on the first turn of a new battle
- * @see {@linkcode TurnInitEvent}
- */
- TURN_INIT = "onTurnInit",
- /**
- * Triggers after a turn ends in battle
- * @see {@linkcode TurnEndEvent}
- */
- TURN_END = "onTurnEnd",
-
- /**
- * Triggers when a new {@linkcode Arena} is created during initialization
- * @see {@linkcode NewArenaEvent}
- */
- NEW_ARENA = "onNewArena",
-}
-
-/**
- * Container class for {@linkcode BattleSceneEventType.CANDY_UPGRADE_NOTIFICATION_CHANGED} events
- * @extends Event
-*/
-export class CandyUpgradeNotificationChangedEvent extends Event {
- /** The new value the setting was changed to */
- public newValue: number;
- constructor(newValue: number) {
- super(BattleSceneEventType.CANDY_UPGRADE_NOTIFICATION_CHANGED);
-
- this.newValue = newValue;
- }
-}
-
-/**
- * Container class for {@linkcode BattleSceneEventType.MOVE_USED} events
- * @extends Event
-*/
-export class MoveUsedEvent extends Event {
- /** The ID of the {@linkcode Pokemon} that used the {@linkcode Move} */
- public pokemonId: number;
- /** The {@linkcode Move} used */
- public move: Move;
- /** The amount of PP used on the {@linkcode Move} this turn */
- public ppUsed: number;
- constructor(userId: number, move: Move, ppUsed: number) {
- super(BattleSceneEventType.MOVE_USED);
-
- this.pokemonId = userId;
- this.move = move;
- this.ppUsed = ppUsed;
- }
-}
-/**
- * Container class for {@linkcode BattleSceneEventType.BERRY_USED} events
- * @extends Event
-*/
-export class BerryUsedEvent extends Event {
- /** The {@linkcode BerryModifier} being used */
- public berryModifier: BerryModifier;
- constructor(berry: BerryModifier) {
- super(BattleSceneEventType.BERRY_USED);
-
- this.berryModifier = berry;
- }
-}
-
-/**
- * Container class for {@linkcode BattleSceneEventType.TURN_INIT} events
- * @extends Event
-*/
-export class TurnInitEvent extends Event {
- constructor() {
- super(BattleSceneEventType.TURN_INIT);
- }
-}
-/**
- * Container class for {@linkcode BattleSceneEventType.TURN_END} events
- * @extends Event
-*/
-export class TurnEndEvent extends Event {
- /** The amount of turns in the current battle */
- public turnCount: number;
- constructor(turnCount: number) {
- super(BattleSceneEventType.TURN_END);
-
- this.turnCount = turnCount;
- }
-}
-/**
- * Container class for {@linkcode BattleSceneEventType.NEW_ARENA} events
- * @extends Event
-*/
-export class NewArenaEvent extends Event {
- constructor() {
- super(BattleSceneEventType.NEW_ARENA);
- }
-}
diff --git a/src/battle-scene.ts b/src/battle-scene.ts
index 957052d9881..f20c6503229 100644
--- a/src/battle-scene.ts
+++ b/src/battle-scene.ts
@@ -3,24 +3,23 @@ import UI from "./ui/ui";
import { NextEncounterPhase, NewBiomeEncounterPhase, SelectBiomePhase, MessagePhase, TurnInitPhase, ReturnPhase, LevelCapPhase, ShowTrainerPhase, LoginPhase, MovePhase, TitlePhase, SwitchPhase } from "./phases";
import Pokemon, { PlayerPokemon, EnemyPokemon } from "./field/pokemon";
import PokemonSpecies, { PokemonSpeciesFilter, allSpecies, getPokemonSpecies } from "./data/pokemon-species";
+import { Constructor } from "#app/utils";
import * as Utils from "./utils";
import { Modifier, ModifierBar, ConsumablePokemonModifier, ConsumableModifier, PokemonHpRestoreModifier, HealingBoosterModifier, PersistentModifier, PokemonHeldItemModifier, ModifierPredicate, DoubleBattleChanceBoosterModifier, FusePokemonModifier, PokemonFormChangeItemModifier, TerastallizeModifier, overrideModifiers, overrideHeldItems } from "./modifier/modifier";
import { PokeballType } from "./data/pokeball";
import { initCommonAnims, initMoveAnim, loadCommonAnimAssets, loadMoveAnimAssets, populateAnims } from "./data/battle-anims";
import { Phase } from "./phase";
import { initGameSpeed } from "./system/game-speed";
-import { Biome } from "./data/enums/biome";
import { Arena, ArenaBase } from "./field/arena";
-import { GameData, PlayerGender } from "./system/game-data";
-import { TextStyle, addTextObject } from "./ui/text";
-import { Moves } from "./data/enums/moves";
+import { GameData } from "./system/game-data";
+import { TextStyle, addTextObject, getTextColor } from "./ui/text";
import { allMoves } from "./data/move";
import { ModifierPoolType, getDefaultModifierTypeForTier, getEnemyModifierTypesForWave, getLuckString, getLuckTextTint, getModifierPoolForType, getPartyLuckValue } from "./modifier/modifier-type";
import AbilityBar from "./ui/ability-bar";
import { BlockItemTheftAbAttr, DoubleBattleChanceAbAttr, IncrementMovePriorityAbAttr, PostBattleInitAbAttr, applyAbAttrs, applyPostBattleInitAbAttrs } from "./data/ability";
import { allAbilities } from "./data/ability";
-import Battle, { BattleType, FixedBattleConfig, fixedBattles } from "./battle";
-import { GameMode, GameModes, gameModes } from "./game-mode";
+import Battle, { BattleType, FixedBattleConfig } from "./battle";
+import { GameMode, GameModes, getGameMode } from "./game-mode";
import FieldSpritePipeline from "./pipelines/field-sprite";
import SpritePipeline from "./pipelines/sprite";
import PartyExpBar from "./ui/party-exp-bar";
@@ -30,7 +29,6 @@ import TrainerData from "./system/trainer-data";
import SoundFade from "phaser3-rex-plugins/plugins/soundfade";
import { pokemonPrevolutions } from "./data/pokemon-evolutions";
import PokeballTray from "./ui/pokeball-tray";
-import { Species } from "./data/enums/species";
import InvertPostFX from "./pipelines/invert";
import { Achv, ModifierAchv, MoneyAchv, achvs } from "./system/achv";
import { Voucher, vouchers } from "./system/voucher";
@@ -39,46 +37,67 @@ import UIPlugin from "phaser3-rex-plugins/templates/ui/ui-plugin";
import { addUiThemeOverrides } from "./ui/ui-theme";
import PokemonData from "./system/pokemon-data";
import { Nature } from "./data/nature";
-import { SpeciesFormChangeTimeOfDayTrigger, SpeciesFormChangeTrigger, pokemonFormChanges } from "./data/pokemon-forms";
+import { SpeciesFormChangeManualTrigger, SpeciesFormChangeTimeOfDayTrigger, SpeciesFormChangeTrigger, pokemonFormChanges } from "./data/pokemon-forms";
import { FormChangePhase, QuietFormChangePhase } from "./form-change-phase";
-import { BattleSpec } from "./enums/battle-spec";
import { getTypeRgb } from "./data/type";
import PokemonSpriteSparkleHandler from "./field/pokemon-sprite-sparkle-handler";
import CharSprite from "./ui/char-sprite";
import DamageNumberHandler from "./field/damage-number-handler";
import PokemonInfoContainer from "./ui/pokemon-info-container";
import { biomeDepths, getBiomeName } from "./data/biomes";
-import { UiTheme } from "./enums/ui-theme";
import { SceneBase } from "./scene-base";
import CandyBar from "./ui/candy-bar";
import { Variant, variantData } from "./data/variant";
-import { Localizable } from "./plugins/i18n";
+import { Localizable } from "#app/interfaces/locales";
import * as Overrides from "./overrides";
import {InputsController} from "./inputs-controller";
import {UiInputs} from "./ui-inputs";
-import { MoneyFormat } from "./enums/money-format";
-import { NewArenaEvent } from "./battle-scene-events";
+import { NewArenaEvent } from "./events/battle-scene";
import ArenaFlyout from "./ui/arena-flyout";
+import { EaseType } from "#enums/ease-type";
+import { Abilities } from "#enums/abilities";
+import { BattleSpec } from "#enums/battle-spec";
+import { BattleStyle } from "#enums/battle-style";
+import { Biome } from "#enums/biome";
+import { ExpNotification } from "#enums/exp-notification";
+import { MoneyFormat } from "#enums/money-format";
+import { Moves } from "#enums/moves";
+import { PlayerGender } from "#enums/player-gender";
+import { Species } from "#enums/species";
+import { UiTheme } from "#enums/ui-theme";
+import { TimedEventManager } from "#app/timed-event-manager.js";
+import i18next from "i18next";
export const bypassLogin = import.meta.env.VITE_BYPASS_LOGIN === "1";
const DEBUG_RNG = false;
+const OPP_IVS_OVERRIDE_VALIDATED : integer[] = (
+ 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);
+
export const startingWave = Overrides.STARTING_WAVE_OVERRIDE || 1;
const expSpriteKeys: string[] = [];
export let starterColors: StarterColors;
interface StarterColors {
- [key: string]: [string, string]
+ [key: string]: [string, string]
}
export interface PokeballCounts {
- [pb: string]: integer;
+ [pb: string]: integer;
}
export type AnySound = Phaser.Sound.WebAudioSound | Phaser.Sound.HTML5AudioSound | Phaser.Sound.NoAudioSound;
+export interface InfoToggle {
+ toggleInfo(force?: boolean): void;
+ isActive(): boolean;
+}
+
export default class BattleScene extends SceneBase {
public rexUI: UIPlugin;
public inputController: InputsController;
@@ -94,8 +113,11 @@ export default class BattleScene extends SceneBase {
public reroll: boolean = false;
public showMovesetFlyout: boolean = true;
public showArenaFlyout: boolean = true;
+ public showTimeOfDayWidget: boolean = 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;
/**
* Determines the condition for a notification should be shown for Candy Upgrades
@@ -114,34 +136,51 @@ export default class BattleScene extends SceneBase {
public uiTheme: UiTheme = UiTheme.DEFAULT;
public windowType: integer = 0;
public experimentalSprites: boolean = false;
+ public musicPreference: integer = 0;
public moveAnimations: boolean = true;
public expGainsSpeed: integer = 0;
public skipSeenDialogues: boolean = false;
/**
- * Defines the experience gain display mode.
- *
- * @remarks
- * The `expParty` can have several modes:
- * - `0` - Default: The normal experience gain display, nothing changed.
- * - `1` - Level Up Notification: Displays the level up in the small frame instead of a message.
- * - `2` - Skip: No level up frame nor message.
- *
- * Modes `1` and `2` are still compatible with stats display, level up, new move, etc.
- * @default 0 - Uses the default normal experience gain display.
- */
- public expParty: integer = 0;
+ * Defines the experience gain display mode.
+ *
+ * @remarks
+ * The `expParty` can have several modes:
+ * - `0` - Default: The normal experience gain display, nothing changed.
+ * - `1` - Level Up Notification: Displays the level up in the small frame instead of a message.
+ * - `2` - Skip: No level up frame nor message.
+ *
+ * Modes `1` and `2` are still compatible with stats display, level up, new move, etc.
+ * @default 0 - Uses the default normal experience gain display.
+ */
+ public expParty: ExpNotification = 0;
public hpBarSpeed: integer = 0;
public fusionPaletteSwaps: boolean = true;
public enableTouchControls: boolean = false;
public enableVibration: boolean = false;
+ public showBgmBar: boolean = true;
+
+ /**
+ * Determines the selected battle style.
+ * - 0 = 'Switch'
+ * - 1 = 'Set' - The option to switch the active pokemon at the start of a battle will not display.
+ */
+ public battleStyle: integer = BattleStyle.SWITCH;
+
+ /**
+ * Defines whether or not to show type effectiveness hints
+ * - true: No hints
+ * - false: Show hints for moves
+ */
+ public typeHints: boolean = false;
public disableMenu: boolean = false;
public gameData: GameData;
public sessionSlotId: integer;
- private phaseQueue: Phase[];
+ public phaseQueue: Phase[];
+ public conditionalQueue: Array<[() => boolean, Phase]>;
private phaseQueuePrepend: Phase[];
private phaseQueuePrependSpliceIndex: integer;
private nextCommandPhaseQueue: Phase[];
@@ -183,7 +222,8 @@ export default class BattleScene extends SceneBase {
public arenaFlyout: ArenaFlyout;
private fieldOverlay: Phaser.GameObjects.Rectangle;
- private modifiers: PersistentModifier[];
+ private shopOverlay: Phaser.GameObjects.Rectangle;
+ public modifiers: PersistentModifier[];
private enemyModifiers: PersistentModifier[];
public uiContainer: Phaser.GameObjects.Container;
public ui: UI;
@@ -208,6 +248,11 @@ export default class BattleScene extends SceneBase {
public rngSeedOverride: string = "";
public rngOffset: integer = 0;
+ public inputMethod: string;
+ private infoToggles: InfoToggle[] = [];
+
+ public eventManager: TimedEventManager;
+
/**
* Allows subscribers to listen for events
*
@@ -223,6 +268,7 @@ export default class BattleScene extends SceneBase {
super("battle");
this.phaseQueue = [];
this.phaseQueuePrepend = [];
+ this.conditionalQueue = [];
this.phaseQueuePrependSpliceIndex = -1;
this.nextCommandPhaseQueue = [];
this.updateGameInfo();
@@ -279,18 +325,20 @@ export default class BattleScene extends SceneBase {
this.fieldSpritePipeline = new FieldSpritePipeline(this.game);
(this.renderer as Phaser.Renderer.WebGL.WebGLRenderer).pipelines.add("FieldSprite", this.fieldSpritePipeline);
+ this.eventManager = new TimedEventManager();
- this.time.delayedCall(20, () => this.launchBattle());
+ this.launchBattle();
}
update() {
- this.inputController.update();
this.ui?.update();
}
launchBattle() {
this.arenaBg = this.add.sprite(0, 0, "plains_bg");
+ this.arenaBg.setName("sprite-arena-bg");
this.arenaBgTransition = this.add.sprite(0, 0, "plains_bg");
+ this.arenaBgTransition.setName("sprite-arena-bg-transition");
[ this.arenaBgTransition, this.arenaBg ].forEach(a => {
a.setPipeline(this.fieldSpritePipeline);
@@ -300,12 +348,13 @@ export default class BattleScene extends SceneBase {
});
const field = this.add.container(0, 0);
+ field.setName("field");
field.setScale(6);
this.field = field;
const fieldUI = this.add.container(0, this.game.canvas.height);
- fieldUI.setName("container-field-ui");
+ fieldUI.setName("field-ui");
fieldUI.setDepth(1);
fieldUI.setScale(6);
@@ -329,7 +378,7 @@ export default class BattleScene extends SceneBase {
this.add.existing(transition);
const uiContainer = this.add.container(0, 0);
- uiContainer.setName("container-ui");
+ uiContainer.setName("ui");
uiContainer.setDepth(2);
uiContainer.setScale(6);
@@ -343,16 +392,22 @@ export default class BattleScene extends SceneBase {
this.fieldOverlay.setAlpha(0);
this.fieldUI.add(this.fieldOverlay);
+ 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);
+ this.fieldUI.add(this.shopOverlay);
+
this.modifiers = [];
this.enemyModifiers = [];
this.modifierBar = new ModifierBar(this);
- this.modifierBar.setName("container-modifier-bar");
+ this.modifierBar.setName("modifier-bar");
this.add.existing(this.modifierBar);
uiContainer.add(this.modifierBar);
this.enemyModifierBar = new ModifierBar(this, true);
- this.enemyModifierBar.setName("container-enemy-modifier-bar");
+ this.enemyModifierBar.setName("enemy-modifier-bar");
this.add.existing(this.enemyModifierBar);
uiContainer.add(this.enemyModifierBar);
@@ -363,55 +418,55 @@ export default class BattleScene extends SceneBase {
this.fieldUI.add(this.charSprite);
this.pbTray = new PokeballTray(this, true);
- this.pbTray.setName("container-pb-tray");
+ this.pbTray.setName("pb-tray");
this.pbTray.setup();
this.pbTrayEnemy = new PokeballTray(this, false);
- this.pbTrayEnemy.setName("container-enemy-pb-tray");
+ this.pbTrayEnemy.setName("enemy-pb-tray");
this.pbTrayEnemy.setup();
this.fieldUI.add(this.pbTray);
this.fieldUI.add(this.pbTrayEnemy);
this.abilityBar = new AbilityBar(this);
- this.abilityBar.setName("container-ability-bar");
+ this.abilityBar.setName("ability-bar");
this.abilityBar.setup();
this.fieldUI.add(this.abilityBar);
this.partyExpBar = new PartyExpBar(this);
- this.partyExpBar.setName("container-party-exp-bar");
+ this.partyExpBar.setName("party-exp-bar");
this.partyExpBar.setup();
this.fieldUI.add(this.partyExpBar);
this.candyBar = new CandyBar(this);
- this.candyBar.setName("container-candy-bar");
+ this.candyBar.setName("candy-bar");
this.candyBar.setup();
this.fieldUI.add(this.candyBar);
this.biomeWaveText = addTextObject(this, (this.game.canvas.width / 6) - 2, 0, startingWave.toString(), TextStyle.BATTLE_INFO);
this.biomeWaveText.setName("text-biome-wave");
- this.biomeWaveText.setOrigin(1, 0);
+ this.biomeWaveText.setOrigin(1, 0.5);
this.fieldUI.add(this.biomeWaveText);
this.moneyText = addTextObject(this, (this.game.canvas.width / 6) - 2, 0, "", TextStyle.MONEY);
this.moneyText.setName("text-money");
- this.moneyText.setOrigin(1, 0);
+ this.moneyText.setOrigin(1, 0.5);
this.fieldUI.add(this.moneyText);
this.scoreText = addTextObject(this, (this.game.canvas.width / 6) - 2, 0, "", TextStyle.PARTY, { fontSize: "54px" });
this.scoreText.setName("text-score");
- this.scoreText.setOrigin(1, 0);
+ this.scoreText.setOrigin(1, 0.5);
this.fieldUI.add(this.scoreText);
this.luckText = addTextObject(this, (this.game.canvas.width / 6) - 2, 0, "", TextStyle.PARTY, { fontSize: "54px" });
this.luckText.setName("text-luck");
- this.luckText.setOrigin(1, 0);
+ this.luckText.setOrigin(1, 0.5);
this.luckText.setVisible(false);
this.fieldUI.add(this.luckText);
- this.luckLabelText = addTextObject(this, (this.game.canvas.width / 6) - 2, 0, "Luck:", TextStyle.PARTY, { fontSize: "54px" });
+ this.luckLabelText = addTextObject(this, (this.game.canvas.width / 6) - 2, 0, i18next.t("common:luckIndicator"), TextStyle.PARTY, { fontSize: "54px" });
this.luckLabelText.setName("text-luck-label");
- this.luckLabelText.setOrigin(1, 0);
+ this.luckLabelText.setOrigin(1, 0.5);
this.luckLabelText.setVisible(false);
this.fieldUI.add(this.luckLabelText);
@@ -436,9 +491,13 @@ export default class BattleScene extends SceneBase {
const loadPokemonAssets = [];
this.arenaPlayer = new ArenaBase(this, true);
+ this.arenaPlayer.setName("arena-player");
this.arenaPlayerTransition = new ArenaBase(this, true);
+ this.arenaPlayerTransition.setName("arena-player-transition");
this.arenaEnemy = new ArenaBase(this, false);
+ this.arenaEnemy.setName("arena-enemy");
this.arenaNextEnemy = new ArenaBase(this, false);
+ this.arenaNextEnemy.setName("arena-next-enemy");
this.arenaBgTransition.setVisible(false);
this.arenaPlayerTransition.setVisible(false);
@@ -453,6 +512,7 @@ export default class BattleScene extends SceneBase {
const trainer = this.addFieldSprite(0, 0, `trainer_${this.gameData.gender === PlayerGender.FEMALE ? "f" : "m"}_back`);
trainer.setOrigin(0.5, 1);
+ trainer.setName("sprite-trainer");
field.add(trainer);
@@ -514,7 +574,7 @@ export default class BattleScene extends SceneBase {
this.playTimeTimer = this.time.addEvent({
delay: Utils.fixedInt(1000),
repeat: -1,
- callback: () => {
+ callback: () => {
if (this.gameData) {
this.gameData.gameStats.playTime++;
}
@@ -598,25 +658,25 @@ export default class BattleScene extends SceneBase {
/*const loadPokemonAssets: Promise[] = [];
- for (let s of Object.keys(speciesStarters)) {
- const species = getPokemonSpecies(parseInt(s));
- loadPokemonAssets.push(species.loadAssets(this, false, 0, false));
- }
+ 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('');
+ 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));
+ 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]));
- }
+ starterCandyColors[species.speciesId] = species.generateCandyColors(this).map(c => rgbaToHexFunc(c[0], c[1], c[2]));
+ }
- console.log(JSON.stringify(starterCandyColors));
+ console.log(JSON.stringify(starterCandyColors));
- resolve();
- });*/
+ resolve();
+ });*/
resolve();
});
@@ -652,6 +712,10 @@ export default class BattleScene extends SceneBase {
return this.getPlayerField().find(p => p.isActive());
}
+ /**
+ * Returns an array of PlayerPokemon of length 1 or 2 depending on if double battles or not
+ * @returns array of {@linkcode PlayerPokemon}
+ */
getPlayerField(): PlayerPokemon[] {
const party = this.getParty();
return party.slice(0, Math.min(party.length, this.currentBattle?.double ? 2 : 1));
@@ -665,6 +729,10 @@ export default class BattleScene extends SceneBase {
return this.getEnemyField().find(p => p.isActive());
}
+ /**
+ * Returns an array of EnemyPokemon of length 1 or 2 depending on if double battles or not
+ * @returns array of {@linkcode EnemyPokemon}
+ */
getEnemyField(): EnemyPokemon[] {
const party = this.getEnemyParty();
return party.slice(0, Math.min(party.length, this.currentBattle?.double ? 2 : 1));
@@ -681,6 +749,24 @@ export default class BattleScene extends SceneBase {
: ret;
}
+ /**
+ * Returns the ModifierBar of this scene, which is declared private and therefore not accessible elsewhere
+ * @returns {ModifierBar}
+ */
+ getModifierBar(): ModifierBar {
+ return this.modifierBar;
+ }
+
+ // store info toggles to be accessible by the ui
+ addInfoToggle(infoToggle: InfoToggle): void {
+ this.infoToggles.push(infoToggle);
+ }
+
+ // return the stored info toggles; used by ui-inputs
+ getInfoToggles(activeOnly: boolean = false): InfoToggle[] {
+ return activeOnly ? this.infoToggles.filter(t => t?.isActive()) : this.infoToggles;
+ }
+
getPokemonById(pokemonId: integer): Pokemon {
const findInParty = (party: Pokemon[]) => party.find(p => p.id === pokemonId);
return findInParty(this.getParty()) || findInParty(this.getEnemyParty());
@@ -719,15 +805,24 @@ export default class BattleScene extends SceneBase {
if (postProcess) {
postProcess(pokemon);
}
+
+ for (let i = 0; i < pokemon.ivs.length; i++) {
+ if (OPP_IVS_OVERRIDE_VALIDATED[i] > -1) {
+ pokemon.ivs[i] = OPP_IVS_OVERRIDE_VALIDATED[i];
+ }
+ }
+
pokemon.init();
return pokemon;
}
addPokemonIcon(pokemon: Pokemon, x: number, y: number, originX: number = 0.5, originY: number = 0.5, ignoreOverride: boolean = false): Phaser.GameObjects.Container {
const container = this.add.container(x, y);
+ container.setName(`${pokemon.name}-icon`);
const icon = this.add.sprite(0, 0, pokemon.getIconAtlasKey(ignoreOverride));
- icon.setFrame(pokemon.getIconId(true));
+ icon.setName(`sprite-${pokemon.name}-icon`);
+ 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.`);
@@ -743,6 +838,7 @@ export default class BattleScene extends SceneBase {
if (pokemon.isFusion()) {
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));
@@ -815,7 +911,7 @@ export default class BattleScene extends SceneBase {
this.gameData = new GameData(this);
}
- this.gameMode = gameModes[GameModes.CLASSIC];
+ this.gameMode = getGameMode(GameModes.CLASSIC);
this.setSeed(Overrides.SEED_OVERRIDE || Utils.randomString(24));
console.log("Seed:", this.seed);
@@ -911,7 +1007,8 @@ export default class BattleScene extends SceneBase {
}
newBattle(waveIndex?: integer, battleType?: BattleType, trainerData?: TrainerData, double?: boolean): Battle {
- const newWaveIndex = waveIndex || ((this.currentBattle?.waveIndex || (startingWave - 1)) + 1);
+ const _startingWave = Overrides.STARTING_WAVE_OVERRIDE || startingWave;
+ const newWaveIndex = waveIndex || ((this.currentBattle?.waveIndex || (_startingWave - 1)) + 1);
let newDouble: boolean;
let newBattleType: BattleType;
let newTrainer: Trainer;
@@ -922,8 +1019,8 @@ export default class BattleScene extends SceneBase {
const playerField = this.getPlayerField();
- if (this.gameMode.hasFixedBattles && fixedBattles.hasOwnProperty(newWaveIndex) && trainerData === undefined) {
- battleConfig = fixedBattles[newWaveIndex];
+ if (this.gameMode.isFixedBattle(newWaveIndex) && trainerData === undefined) {
+ battleConfig = this.gameMode.getFixedBattle(newWaveIndex);
newDouble = battleConfig.double;
newBattleType = battleConfig.battleType;
this.executeWithSeedOffset(() => newTrainer = battleConfig.getTrainer(this), (battleConfig.seedOffsetWaveIndex || newWaveIndex) << 8);
@@ -971,6 +1068,10 @@ export default class BattleScene extends SceneBase {
if (Overrides.DOUBLE_BATTLE_OVERRIDE) {
newDouble = true;
}
+ /* Override battles into single only if not fighting with trainers */
+ if (newBattleType !== BattleType.TRAINER && Overrides.SINGLE_BATTLE_OVERRIDE) {
+ newDouble = false;
+ }
const lastBattle = this.currentBattle;
@@ -1020,17 +1121,25 @@ export default class BattleScene extends SceneBase {
if (resetArenaState) {
this.arena.removeAllTags();
playerField.forEach((_, p) => this.unshiftPhase(new ReturnPhase(this, p)));
+
+ for (const pokemon of this.getParty()) {
+ // Only trigger form change when Eiscue is in Noice form
+ // Hardcoded Eiscue for now in case it is fused with another pokemon
+ if (pokemon.species.speciesId === Species.EISCUE && pokemon.hasAbility(Abilities.ICE_FACE) && pokemon.formIndex === 1) {
+ this.triggerPokemonFormChange(pokemon, SpeciesFormChangeManualTrigger);
+ }
+
+ pokemon.resetBattleData();
+ applyPostBattleInitAbAttrs(PostBattleInitAbAttr, pokemon);
+ }
+
this.unshiftPhase(new ShowTrainerPhase(this));
}
+
for (const pokemon of this.getParty()) {
- if (pokemon) {
- if (resetArenaState) {
- pokemon.resetBattleData();
- applyPostBattleInitAbAttrs(PostBattleInitAbAttr, pokemon, true);
- }
- this.triggerPokemonFormChange(pokemon, SpeciesFormChangeTimeOfDayTrigger);
- }
+ this.triggerPokemonFormChange(pokemon, SpeciesFormChangeTimeOfDayTrigger);
}
+
if (!this.gameMode.hasRandomBiomes && !isNewBiome) {
this.pushPhase(new NextEncounterPhase(this));
} else {
@@ -1118,6 +1227,7 @@ export default class BattleScene extends SceneBase {
case Species.ZARUDE:
case Species.SQUAWKABILLY:
case Species.TATSUGIRI:
+ case Species.GIMMIGHOUL:
case Species.PALDEA_TAUROS:
return Utils.randSeedInt(species.forms.length);
case Species.PIKACHU:
@@ -1313,9 +1423,42 @@ export default class BattleScene extends SceneBase {
});
}
+ showShopOverlay(duration: integer): Promise {
+ return new Promise(resolve => {
+ this.tweens.add({
+ targets: this.shopOverlay,
+ alpha: 0.8,
+ ease: "Sine.easeOut",
+ duration: duration,
+ onComplete: () => resolve()
+ });
+ });
+ }
+
+ hideShopOverlay(duration: integer): Promise {
+ return new Promise(resolve => {
+ this.tweens.add({
+ targets: this.shopOverlay,
+ alpha: 0,
+ duration: duration,
+ ease: "Cubic.easeIn",
+ onComplete: () => resolve()
+ });
+ });
+ }
+
+ showEnemyModifierBar(): void {
+ this.enemyModifierBar.setVisible(true);
+ }
+
+ hideEnemyModifierBar(): void {
+ this.enemyModifierBar.setVisible(false);
+ }
+
updateBiomeWaveText(): void {
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.setColor(!isBoss ? "#ffffff" : "#f89890");
this.biomeWaveText.setShadowColor(!isBoss ? "#636363" : "#984038");
@@ -1326,8 +1469,7 @@ export default class BattleScene extends SceneBase {
if (this.money === undefined) {
return;
}
- const formattedMoney =
- this.moneyFormat === MoneyFormat.ABBREVIATED ? Utils.formatFancyLargeNumber(this.money, 3) : this.money.toLocaleString();
+ const formattedMoney = Utils.formatMoney(this.moneyFormat, this.money);
this.moneyText.setText(`₽${formattedMoney}`);
this.fieldUI.moveAbove(this.moneyText, this.luckText);
if (forceVisible) {
@@ -1335,6 +1477,22 @@ export default class BattleScene extends SceneBase {
}
}
+ animateMoneyChanged(positiveChange: boolean): void {
+ if (this.tweens.getTweensOf(this.moneyText).length > 0) {
+ return;
+ }
+ const deltaScale = this.moneyText.scale * 0.14 * (positiveChange ? 1 : -1);
+ this.moneyText.setShadowColor(positiveChange ? "#008000" : "#FF0000");
+ this.tweens.add({
+ targets: this.moneyText,
+ duration: 250,
+ scale: this.moneyText.scale + deltaScale,
+ loop: 0,
+ yoyo: true,
+ onComplete: (_) => this.moneyText.setShadowColor(getTextColor(TextStyle.MONEY, true)),
+ });
+ }
+
updateScoreText(): void {
this.scoreText.setText(`Score: ${this.score.toString()}`);
this.scoreText.setVisible(this.gameMode.isDaily);
@@ -1378,7 +1536,10 @@ export default class BattleScene extends SceneBase {
updateUIPositions(): void {
const enemyModifierCount = this.enemyModifiers.filter(m => m.isIconVisible(this)).length;
- this.biomeWaveText.setY(-(this.game.canvas.height / 6) + (enemyModifierCount ? enemyModifierCount <= 12 ? 15 : 24 : 0));
+ const biomeWaveTextHeight = this.biomeWaveText.getBottomLeft().y - this.biomeWaveText.getTopLeft().y;
+ this.biomeWaveText.setY(
+ -(this.game.canvas.height / 6) + (enemyModifierCount ? enemyModifierCount <= 12 ? 15 : 24 : 0) + (biomeWaveTextHeight / 2)
+ );
this.moneyText.setY(this.biomeWaveText.y + 10);
this.scoreText.setY(this.moneyText.y + 10);
[ this.luckLabelText, this.luckText ].map(l => l.setY((this.scoreText.visible ? this.scoreText : this.moneyText).y + 10));
@@ -1418,7 +1579,7 @@ export default class BattleScene extends SceneBase {
randomSpecies(waveIndex: integer, level: integer, fromArenaPool?: boolean, speciesFilter?: PokemonSpeciesFilter, filterAllEvolutions?: boolean): PokemonSpecies {
if (fromArenaPool) {
- return this.arena.randomSpecies(waveIndex, level);
+ return this.arena.randomSpecies(waveIndex, level,null , getPartyLuckValue(this.party));
}
const filteredSpecies = speciesFilter ? [...new Set(allSpecies.filter(s => s.isCatchable()).filter(speciesFilter).map(s => {
if (!filterAllEvolutions) {
@@ -1482,6 +1643,7 @@ export default class BattleScene extends SceneBase {
: this.getBgmLoopPoint(bgmName);
let loaded = false;
const playNewBgm = () => {
+ this.ui.bgmBar.setBgmToBgmBar(bgmName);
if (bgmName === null && this.bgm && !this.bgm.pendingRemove) {
this.bgm.play({
volume: this.masterVolume * this.bgmVolume
@@ -1597,56 +1759,168 @@ export default class BattleScene extends SceneBase {
getBgmLoopPoint(bgmName: string): number {
switch (bgmName) {
- case "battle_kanto_champion":
+ case "battle_kanto_champion": //B2W2 Kanto Champion Battle
return 13.950;
- case "battle_johto_champion":
+ case "battle_johto_champion": //B2W2 Johto Champion Battle
return 23.498;
- case "battle_hoenn_champion":
+ case "battle_hoenn_champion": //B2W2 Hoenn Champion Battle
return 11.328;
- case "battle_sinnoh_champion":
+ case "battle_sinnoh_champion": //B2W2 Sinnoh Champion Battle
return 12.235;
- case "battle_champion_alder":
+ case "battle_champion_alder": //BW Unova Champion Battle
return 27.653;
- case "battle_champion_iris":
+ case "battle_champion_iris": //B2W2 Unova Champion Battle
return 10.145;
- case "battle_elite":
+ case "battle_kalos_champion": //XY Kalos Champion Battle
+ return 10.380;
+ case "battle_alola_champion": //USUM Alola Champion Battle
+ return 13.025;
+ case "battle_galar_champion": //SWSH Galar Champion Battle
+ return 61.635;
+ case "battle_champion_geeta": //SV Champion Geeta Battle
+ return 37.447;
+ case "battle_champion_nemona": //SV Champion Nemona Battle
+ return 14.914;
+ case "battle_champion_kieran": //SV Champion Kieran Battle
+ return 7.206;
+ case "battle_hoenn_elite": //ORAS Elite Four Battle
+ return 11.350;
+ case "battle_unova_elite": //BW Elite Four Battle
return 17.730;
- case "battle_final_encounter":
+ case "battle_kalos_elite": //XY Elite Four Battle
+ return 12.340;
+ case "battle_alola_elite": //SM Elite Four Battle
+ return 19.212;
+ case "battle_galar_elite": //SWSH League Tournament Battle
+ return 164.069;
+ case "battle_paldea_elite": //SV Elite Four Battle
+ return 12.770;
+ case "battle_bb_elite": //SV BB League Elite Four Battle
+ return 19.434;
+ case "battle_final_encounter": //PMD RTDX Rayquaza's Domain
return 19.159;
- case "battle_final":
+ case "battle_final": //BW Ghetsis Battle
return 16.453;
- case "battle_kanto_gym":
+ case "battle_kanto_gym": //B2W2 Kanto Gym Battle
return 13.857;
- case "battle_johto_gym":
+ case "battle_johto_gym": //B2W2 Johto Gym Battle
return 12.911;
- case "battle_hoenn_gym":
+ case "battle_hoenn_gym": //B2W2 Hoenn Gym Battle
return 12.379;
- case "battle_sinnoh_gym":
+ case "battle_sinnoh_gym": //B2W2 Sinnoh Gym Battle
return 13.122;
- case "battle_unova_gym":
+ case "battle_unova_gym": //BW Unova Gym Battle
return 19.145;
- case "battle_legendary_regis": //B2W2 Legendary Titan Battle
+ case "battle_kalos_gym": //XY Kalos Gym Battle
+ return 44.810;
+ case "battle_galar_gym": //SWSH Galar Gym Battle
+ return 171.262;
+ case "battle_paldea_gym": //SV Paldea Gym Battle
+ return 127.489;
+ case "battle_legendary_kanto": //XY Kanto Legendary Battle
+ return 32.966;
+ case "battle_legendary_raikou": //HGSS Raikou Battle
+ return 12.632;
+ case "battle_legendary_entei": //HGSS Entei Battle
+ return 2.905;
+ case "battle_legendary_suicune": //HGSS Suicune Battle
+ return 12.636;
+ case "battle_legendary_lugia": //HGSS Lugia Battle
+ return 19.770;
+ case "battle_legendary_ho_oh": //HGSS Ho-oh Battle
+ return 17.668;
+ case "battle_legendary_regis_g5": //B2W2 Legendary Titan Battle
return 49.500;
+ case "battle_legendary_regis_g6": //ORAS Legendary Titan Battle
+ return 21.130;
+ case "battle_legendary_gro_kyo": //ORAS Groudon & Kyogre Battle
+ return 10.547;
+ case "battle_legendary_rayquaza": //ORAS Rayquaza Battle
+ return 10.495;
+ case "battle_legendary_deoxys": //ORAS Deoxys Battle
+ return 13.333;
+ case "battle_legendary_lake_trio": //ORAS Lake Guardians Battle
+ return 16.887;
+ case "battle_legendary_sinnoh": //ORAS Sinnoh Legendary Battle
+ return 22.770;
+ case "battle_legendary_dia_pal": //ORAS Dialga & Palkia Battle
+ return 16.009;
+ case "battle_legendary_giratina": //ORAS Giratina Battle
+ return 10.451;
+ case "battle_legendary_arceus": //HGSS Arceus Battle
+ return 9.595;
case "battle_legendary_unova": //BW Unova Legendary Battle
return 13.855;
case "battle_legendary_kyurem": //BW Kyurem Battle
return 18.314;
case "battle_legendary_res_zek": //BW Reshiram & Zekrom Battle
return 18.329;
- case "battle_rival":
+ case "battle_legendary_xern_yvel": //XY Xerneas & Yveltal Battle
+ return 26.468;
+ case "battle_legendary_tapu": //SM Tapu Battle
+ return 0.000;
+ case "battle_legendary_sol_lun": //SM Solgaleo & Lunala Battle
+ return 6.525;
+ case "battle_legendary_ub": //SM Ultra Beast Battle
+ return 9.818;
+ case "battle_legendary_dusk_dawn": //USUM Dusk Mane & Dawn Wings Necrozma Battle
+ return 5.211;
+ case "battle_legendary_ultra_nec": //USUM Ultra Necrozma Battle
+ return 10.344;
+ case "battle_legendary_zac_zam": //SWSH Zacian & Zamazenta Battle
+ return 11.424;
+ case "battle_legendary_glas_spec": //SWSH Glastrier & Spectrier Battle
+ return 12.503;
+ case "battle_legendary_calyrex": //SWSH Calyrex Battle
+ return 50.641;
+ case "battle_legendary_birds_galar": //SWSH Galarian Legendary Birds Battle
+ return 0.175;
+ case "battle_legendary_ruinous": //SV Treasures of Ruin Battle
+ return 6.333;
+ case "battle_legendary_kor_mir": //SV Depths of Area Zero Battle
+ return 6.442;
+ case "battle_legendary_loyal_three": //SV Loyal Three Battle
+ return 6.500;
+ case "battle_legendary_ogerpon": //SV Ogerpon Battle
+ return 14.335;
+ case "battle_legendary_terapagos": //SV Terapagos Battle
+ return 24.377;
+ case "battle_legendary_pecharunt": //SV Pecharunt Battle
+ return 6.508;
+ case "battle_rival": //BW Rival Battle
return 13.689;
- case "battle_rival_2":
+ case "battle_rival_2": //BW N Battle
return 17.714;
- case "battle_rival_3":
+ case "battle_rival_3": //BW Final N Battle
return 17.586;
- case "battle_trainer":
+ case "battle_trainer": //BW Trainer Battle
return 13.686;
- case "battle_wild":
+ case "battle_wild": //BW Wild Battle
return 12.703;
- case "battle_wild_strong":
+ case "battle_wild_strong": //BW Strong Wild Battle
return 13.940;
- case "end_summit":
+ case "end_summit": //PMD RTDX Sky Tower Summit
return 30.025;
+ case "battle_rocket_grunt": //HGSS Team Rocket Battle
+ return 12.707;
+ case "battle_aqua_magma_grunt": //ORAS Team Aqua & Magma Battle
+ return 12.062;
+ case "battle_galactic_grunt": //BDSP Team Galactic Battle
+ return 13.043;
+ case "battle_plasma_grunt": //BW Team Plasma Battle
+ return 12.974;
+ case "battle_flare_grunt": //XY Team Flare Battle
+ return 4.228;
+ case "battle_rocket_boss": //USUM Giovanni Battle
+ return 9.115;
+ case "battle_aqua_magma_boss": //ORAS Archie & Maxie Battle
+ return 14.847;
+ case "battle_galactic_boss": //BDSP Cyrus Battle
+ return 106.962;
+ case "battle_plasma_boss": //B2W2 Ghetsis Battle
+ return 25.624;
+ case "battle_flare_boss": //XY Lysandre Battle
+ return 8.085;
}
return 0;
@@ -1669,6 +1943,21 @@ export default class BattleScene extends SceneBase {
return this.standbyPhase;
}
+ /**
+ * Adds a phase to the conditional queue and ensures it is executed only when the specified condition is met.
+ *
+ * This method allows deferring the execution of a phase until certain conditions are met, which is useful for handling
+ * situations like abilities and entry hazards that depend on specific game states.
+ *
+ * @param {Phase} phase - The phase to be added to the conditional queue.
+ * @param {() => boolean} condition - A function that returns a boolean indicating whether the phase should be executed.
+ *
+ */
+ pushConditionalPhase(phase: Phase, condition: () => boolean): void {
+ this.conditionalQueue.push([condition, phase]);
+ }
+
+
pushPhase(phase: Phase, defer: boolean = false): void {
(!defer ? this.phaseQueue : this.nextCommandPhaseQueue).push(phase);
}
@@ -1710,8 +1999,25 @@ export default class BattleScene extends SceneBase {
}
if (!this.phaseQueue.length) {
this.populatePhaseQueue();
+ // clear the conditionalQueue if there are no phases left in the phaseQueue
+ this.conditionalQueue = [];
}
this.currentPhase = this.phaseQueue.shift();
+
+ // Check if there are any conditional phases queued
+ if (this.conditionalQueue?.length) {
+ // Retrieve the first conditional phase from the queue
+ const conditionalPhase = this.conditionalQueue.shift();
+ // Evaluate the condition associated with the phase
+ if (conditionalPhase[0]()) {
+ // If the condition is met, add the phase to the front of the phase queue
+ this.unshiftPhase(conditionalPhase[1]);
+ } else {
+ // If the condition is not met, re-add the phase back to the front of the conditional queue
+ this.conditionalQueue.unshift(conditionalPhase);
+ }
+ }
+
this.currentPhase.start();
}
@@ -1780,6 +2086,7 @@ export default class BattleScene extends SceneBase {
addMoney(amount: integer): void {
this.money = Math.min(this.money + amount, Number.MAX_SAFE_INTEGER);
this.updateMoneyText();
+ this.animateMoneyChanged(true);
this.validateAchvs(MoneyAchv);
}
@@ -1917,7 +2224,7 @@ export default class BattleScene extends SceneBase {
const newItemModifier = itemModifier.clone() as PokemonHeldItemModifier;
newItemModifier.pokemonId = target.id;
const matchingModifier = target.scene.findModifier(m => m instanceof PokemonHeldItemModifier
- && (m as PokemonHeldItemModifier).matchType(itemModifier) && m.pokemonId === target.id, target.isPlayer()) as PokemonHeldItemModifier;
+ && (m as PokemonHeldItemModifier).matchType(itemModifier) && m.pokemonId === target.id, target.isPlayer()) as PokemonHeldItemModifier;
let removeOld = true;
if (matchingModifier) {
const maxStackCount = matchingModifier.getMaxStackCount(target.scene);
@@ -2021,8 +2328,8 @@ export default class BattleScene extends SceneBase {
}
/**
- * Removes all modifiers from enemy of PersistentModifier type
- */
+ * Removes all modifiers from enemy of PersistentModifier type
+ */
clearEnemyModifiers(): void {
const modifiersToRemove = this.enemyModifiers.filter(m => m instanceof PersistentModifier);
for (const m of modifiersToRemove) {
@@ -2032,8 +2339,8 @@ export default class BattleScene extends SceneBase {
}
/**
- * Removes all modifiers from enemy of PokemonHeldItemModifier type
- */
+ * Removes all modifiers from enemy of PokemonHeldItemModifier type
+ */
clearEnemyHeldItemModifiers(): void {
const modifiersToRemove = this.enemyModifiers.filter(m => m instanceof PokemonHeldItemModifier);
for (const m of modifiersToRemove) {
@@ -2106,8 +2413,14 @@ export default class BattleScene extends SceneBase {
return false;
}
- getModifiers(modifierType: { new(...args: any[]): Modifier }, player: boolean = true): PersistentModifier[] {
- return (player ? this.modifiers : this.enemyModifiers).filter(m => m instanceof modifierType);
+ /**
+ * Get all of the modifiers that match `modifierType`
+ * @param modifierType The type of modifier to apply; must extend {@linkcode PersistentModifier}
+ * @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);
}
findModifiers(modifierFilter: ModifierPredicate, player: boolean = true): PersistentModifier[] {
@@ -2118,7 +2431,7 @@ export default class BattleScene extends SceneBase {
return (player ? this.modifiers : this.enemyModifiers).find(m => (modifierFilter as ModifierPredicate)(m));
}
- applyShuffledModifiers(scene: BattleScene, modifierType: { new(...args: any[]): Modifier }, player: boolean = true, ...args: any[]): PersistentModifier[] {
+ applyShuffledModifiers(scene: BattleScene, modifierType: Constructor, player: boolean = true, ...args: any[]): PersistentModifier[] {
let modifiers = (player ? this.modifiers : this.enemyModifiers).filter(m => m instanceof modifierType && m.shouldApply(args));
scene.executeWithSeedOffset(() => {
const shuffleModifiers = mods => {
@@ -2133,7 +2446,7 @@ export default class BattleScene extends SceneBase {
return this.applyModifiersInternal(modifiers, player, args);
}
- applyModifiers(modifierType: { new(...args: any[]): Modifier }, player: boolean = true, ...args: any[]): PersistentModifier[] {
+ applyModifiers(modifierType: Constructor, player: boolean = true, ...args: any[]): PersistentModifier[] {
const modifiers = (player ? this.modifiers : this.enemyModifiers).filter(m => m instanceof modifierType && m.shouldApply(args));
return this.applyModifiersInternal(modifiers, player, args);
}
@@ -2150,7 +2463,7 @@ export default class BattleScene extends SceneBase {
return appliedModifiers;
}
- applyModifier(modifierType: { new(...args: any[]): Modifier }, player: boolean = true, ...args: any[]): PersistentModifier {
+ applyModifier(modifierType: Constructor, player: boolean = true, ...args: any[]): PersistentModifier {
const modifiers = (player ? this.modifiers : this.enemyModifiers).filter(m => m instanceof modifierType && m.shouldApply(args));
for (const modifier of modifiers) {
if (modifier.apply(args)) {
@@ -2162,7 +2475,7 @@ export default class BattleScene extends SceneBase {
return null;
}
- triggerPokemonFormChange(pokemon: Pokemon, formChangeTriggerType: { new(...args: any[]): SpeciesFormChangeTrigger }, delayed: boolean = false, modal: boolean = false): boolean {
+ triggerPokemonFormChange(pokemon: Pokemon, formChangeTriggerType: Constructor, delayed: boolean = false, modal: boolean = false): boolean {
if (pokemonFormChanges.hasOwnProperty(pokemon.species.speciesId)) {
const matchingFormChange = pokemonFormChanges[pokemon.species.speciesId].find(fc => fc.findTrigger(formChangeTriggerType) && fc.canChange(pokemon));
if (matchingFormChange) {
@@ -2186,7 +2499,7 @@ export default class BattleScene extends SceneBase {
return false;
}
- validateAchvs(achvType: { new(...args: any[]): Achv }, ...args: any[]): void {
+ validateAchvs(achvType: Constructor, ...args: unknown[]): void {
const filteredAchvs = Object.values(achvs).filter(a => a instanceof achvType);
for (const achv of filteredAchvs) {
this.validateAchv(achv, args);
diff --git a/src/battle.ts b/src/battle.ts
index 3f524cbe572..7e77350d892 100644
--- a/src/battle.ts
+++ b/src/battle.ts
@@ -2,16 +2,18 @@ import BattleScene from "./battle-scene";
import { Command } from "./ui/command-ui-handler";
import * as Utils from "./utils";
import Trainer, { TrainerVariant } from "./field/trainer";
-import { Species } from "./data/enums/species";
-import { Moves } from "./data/enums/moves";
-import { TrainerType } from "./data/enums/trainer-type";
import { GameMode } from "./game-mode";
-import { BattleSpec } from "./enums/battle-spec";
-import { PlayerGender } from "./system/game-data";
import { MoneyMultiplierModifier, PokemonHeldItemModifier } from "./modifier/modifier";
import { PokeballType } from "./data/pokeball";
import {trainerConfigs} from "#app/data/trainer-config";
import Pokemon, { EnemyPokemon, PlayerPokemon, QueuedMove } from "field/pokemon";
+import { ArenaTagType } from "#enums/arena-tag-type";
+import { BattleSpec } from "#enums/battle-spec";
+import { Moves } from "#enums/moves";
+import { PlayerGender } from "#enums/player-gender";
+import { Species } from "#enums/species";
+import { TrainerType } from "#enums/trainer-type";
+import i18next from "#app/plugins/i18n";
export enum BattleType {
WILD,
@@ -175,9 +177,16 @@ export default class Battle {
const moneyAmount = new Utils.IntegerHolder(scene.currentBattle.moneyScattered);
scene.applyModifiers(MoneyMultiplierModifier, true, moneyAmount);
+ if (scene.arena.getTag(ArenaTagType.HAPPY_HOUR)) {
+ moneyAmount.value *= 2;
+ }
+
scene.addMoney(moneyAmount.value);
- scene.queueMessage(`You picked up ₽${moneyAmount.value.toLocaleString("en-US")}!`, null, true);
+ const userLocale = navigator.language || "en-US";
+ const formattedMoneyAmount = moneyAmount.value.toLocaleString(userLocale);
+ const message = i18next.t("battle:moneyPickedUp", { moneyAmount: formattedMoneyAmount });
+ scene.queueMessage(message, null, true);
scene.currentBattle.moneyScattered = 0;
}
@@ -206,7 +215,11 @@ export default class Battle {
if (!this.started && this.trainer.config.encounterBgm && this.trainer.getEncounterMessages()?.length) {
return `encounter_${this.trainer.getEncounterBgm()}`;
}
- return this.trainer.getBattleBgm();
+ if (scene.musicPreference === 0) {
+ return this.trainer.getBattleBgm();
+ } else {
+ return this.trainer.getMixedBattleBgm();
+ }
} else if (this.gameMode.isClassic && this.waveIndex > 195 && this.battleSpec !== BattleSpec.FINAL_BOSS) {
return "end_summit";
}
@@ -218,22 +231,119 @@ export default class Battle {
return "battle_final_encounter";
}
if (pokemon.species.legendary || pokemon.species.subLegendary || pokemon.species.mythical) {
- if (pokemon.species.speciesId === Species.REGIROCK || pokemon.species.speciesId === Species.REGICE || pokemon.species.speciesId === Species.REGISTEEL || pokemon.species.speciesId === Species.REGIGIGAS || pokemon.species.speciesId === Species.REGIELEKI || pokemon.species.speciesId === Species.REGIDRAGO) {
- return "battle_legendary_regis";
- }
- if (pokemon.species.speciesId === Species.COBALION || pokemon.species.speciesId === Species.TERRAKION || pokemon.species.speciesId === Species.VIRIZION || pokemon.species.speciesId === Species.TORNADUS || pokemon.species.speciesId === Species.THUNDURUS || pokemon.species.speciesId === Species.LANDORUS || pokemon.species.speciesId === Species.KELDEO || pokemon.species.speciesId === Species.MELOETTA || pokemon.species.speciesId === Species.GENESECT) {
+ if (scene.musicPreference === 0) {
+ if (pokemon.species.speciesId === Species.REGIROCK || pokemon.species.speciesId === Species.REGICE || pokemon.species.speciesId === Species.REGISTEEL || pokemon.species.speciesId === Species.REGIGIGAS || pokemon.species.speciesId === Species.REGIELEKI || pokemon.species.speciesId === Species.REGIDRAGO) {
+ return "battle_legendary_regis_g5";
+ }
+ if (pokemon.species.speciesId === Species.COBALION || pokemon.species.speciesId === Species.TERRAKION || pokemon.species.speciesId === Species.VIRIZION || pokemon.species.speciesId === Species.TORNADUS || pokemon.species.speciesId === Species.THUNDURUS || pokemon.species.speciesId === Species.LANDORUS || pokemon.species.speciesId === Species.KELDEO || pokemon.species.speciesId === Species.MELOETTA || pokemon.species.speciesId === Species.GENESECT) {
+ return "battle_legendary_unova";
+ }
+ if (pokemon.species.speciesId === Species.KYUREM) {
+ return "battle_legendary_kyurem";
+ }
+ if (pokemon.species.legendary) {
+ return "battle_legendary_res_zek";
+ }
+ return "battle_legendary_unova";
+ } else {
+ if (pokemon.species.speciesId === Species.ARTICUNO || pokemon.species.speciesId === Species.ZAPDOS || pokemon.species.speciesId === Species.MOLTRES || pokemon.species.speciesId === Species.MEWTWO || pokemon.species.speciesId === Species.MEW) {
+ return "battle_legendary_kanto";
+ }
+ if (pokemon.species.speciesId === Species.RAIKOU) {
+ return "battle_legendary_raikou";
+ }
+ if (pokemon.species.speciesId === Species.ENTEI) {
+ return "battle_legendary_entei";
+ }
+ if (pokemon.species.speciesId === Species.SUICUNE) {
+ return "battle_legendary_suicune";
+ }
+ if (pokemon.species.speciesId === Species.LUGIA) {
+ return "battle_legendary_lugia";
+ }
+ if (pokemon.species.speciesId === Species.HO_OH) {
+ return "battle_legendary_ho_oh";
+ }
+ if (pokemon.species.speciesId === Species.REGIROCK || pokemon.species.speciesId === Species.REGICE || pokemon.species.speciesId === Species.REGISTEEL || pokemon.species.speciesId === Species.REGIGIGAS || pokemon.species.speciesId === Species.REGIELEKI || pokemon.species.speciesId === Species.REGIDRAGO) {
+ return "battle_legendary_regis_g6";
+ }
+ if (pokemon.species.speciesId === Species.GROUDON || pokemon.species.speciesId === Species.KYOGRE) {
+ return "battle_legendary_gro_kyo";
+ }
+ if (pokemon.species.speciesId === Species.RAYQUAZA) {
+ return "battle_legendary_rayquaza";
+ }
+ if (pokemon.species.speciesId === Species.DEOXYS) {
+ return "battle_legendary_deoxys";
+ }
+ if (pokemon.species.speciesId === Species.UXIE || pokemon.species.speciesId === Species.MESPRIT || pokemon.species.speciesId === Species.AZELF) {
+ return "battle_legendary_lake_trio";
+ }
+ if (pokemon.species.speciesId === Species.HEATRAN || pokemon.species.speciesId === Species.CRESSELIA || pokemon.species.speciesId === Species.DARKRAI || pokemon.species.speciesId === Species.SHAYMIN) {
+ return "battle_legendary_sinnoh";
+ }
+ if (pokemon.species.speciesId === Species.DIALGA || pokemon.species.speciesId === Species.PALKIA) {
+ return "battle_legendary_dia_pal";
+ }
+ if (pokemon.species.speciesId === Species.GIRATINA) {
+ return "battle_legendary_giratina";
+ }
+ if (pokemon.species.speciesId === Species.ARCEUS) {
+ return "battle_legendary_arceus";
+ }
+ if (pokemon.species.speciesId === Species.COBALION || pokemon.species.speciesId === Species.TERRAKION || pokemon.species.speciesId === Species.VIRIZION || pokemon.species.speciesId === Species.TORNADUS || pokemon.species.speciesId === Species.THUNDURUS || pokemon.species.speciesId === Species.LANDORUS || pokemon.species.speciesId === Species.KELDEO || pokemon.species.speciesId === Species.MELOETTA || pokemon.species.speciesId === Species.GENESECT) {
+ return "battle_legendary_unova";
+ }
+ if (pokemon.species.speciesId === Species.KYUREM) {
+ return "battle_legendary_kyurem";
+ }
+ if (pokemon.species.speciesId === Species.XERNEAS || pokemon.species.speciesId === Species.YVELTAL || pokemon.species.speciesId === Species.ZYGARDE) {
+ return "battle_legendary_xern_yvel";
+ }
+ if (pokemon.species.speciesId === Species.TAPU_KOKO || pokemon.species.speciesId === Species.TAPU_LELE || pokemon.species.speciesId === Species.TAPU_BULU || pokemon.species.speciesId === Species.TAPU_FINI) {
+ return "battle_legendary_tapu";
+ }
+ if (pokemon.species.speciesId === Species.COSMOG || pokemon.species.speciesId === Species.COSMOEM || pokemon.species.speciesId === Species.SOLGALEO || pokemon.species.speciesId === Species.LUNALA || pokemon.species.speciesId === Species.NECROZMA) {
+ return "battle_legendary_sol_lun";
+ }
+ if (pokemon.species.speciesId === Species.NIHILEGO || pokemon.species.speciesId === Species.BUZZWOLE || pokemon.species.speciesId === Species.PHEROMOSA || pokemon.species.speciesId === Species.XURKITREE || pokemon.species.speciesId === Species.CELESTEELA || pokemon.species.speciesId === Species.KARTANA || pokemon.species.speciesId === Species.GUZZLORD || pokemon.species.speciesId === Species.POIPOLE || pokemon.species.speciesId === Species.NAGANADEL || pokemon.species.speciesId === Species.STAKATAKA || pokemon.species.speciesId === Species.BLACEPHALON) {
+ return "battle_legendary_ub";
+ }
+ if (pokemon.species.speciesId === Species.ZACIAN || pokemon.species.speciesId === Species.ZAMAZENTA) {
+ return "battle_legendary_zac_zam";
+ }
+ if (pokemon.species.speciesId === Species.GLASTRIER || pokemon.species.speciesId === Species.SPECTRIER) {
+ return "battle_legendary_glas_spec";
+ }
+ if (pokemon.species.speciesId === Species.CALYREX) {
+ return "battle_legendary_calyrex";
+ }
+ if (pokemon.species.speciesId === Species.GALAR_ARTICUNO || pokemon.species.speciesId === Species.GALAR_ZAPDOS || pokemon.species.speciesId === Species.GALAR_MOLTRES) {
+ return "battle_legendary_birds_galar";
+ }
+ if (pokemon.species.speciesId === Species.WO_CHIEN || pokemon.species.speciesId === Species.CHIEN_PAO || pokemon.species.speciesId === Species.TING_LU || pokemon.species.speciesId === Species.CHI_YU) {
+ return "battle_legendary_ruinous";
+ }
+ if (pokemon.species.speciesId === Species.KORAIDON || pokemon.species.speciesId === Species.MIRAIDON) {
+ return "battle_legendary_kor_mir";
+ }
+ if (pokemon.species.speciesId === Species.OKIDOGI || pokemon.species.speciesId === Species.MUNKIDORI || pokemon.species.speciesId === Species.FEZANDIPITI) {
+ return "battle_legendary_loyal_three";
+ }
+ if (pokemon.species.speciesId === Species.OGERPON) {
+ return "battle_legendary_ogerpon";
+ }
+ if (pokemon.species.speciesId === Species.TERAPAGOS) {
+ return "battle_legendary_terapagos";
+ }
+ if (pokemon.species.speciesId === Species.PECHARUNT) {
+ return "battle_legendary_pecharunt";
+ }
+ if (pokemon.species.legendary) {
+ return "battle_legendary_res_zek";
+ }
return "battle_legendary_unova";
}
- if (pokemon.species.speciesId === Species.RESHIRAM || pokemon.species.speciesId === Species.ZEKROM) {
- return "battle_legendary_res_zek";
- }
- if (pokemon.species.speciesId === Species.KYUREM) {
- return "battle_legendary_kyurem";
- }
- if (pokemon.species.legendary) {
- return "battle_legendary_res_zek";
- }
- return "battle_legendary_unova";
}
}
@@ -331,31 +441,54 @@ function getRandomTrainerFunc(trainerPool: (TrainerType | TrainerType[])[]): Get
};
}
-interface FixedBattleConfigs {
+export interface FixedBattleConfigs {
[key: integer]: FixedBattleConfig
}
-
-export const fixedBattles: FixedBattleConfigs = {
+/**
+ * Youngster/Lass on 5
+ * Rival on 8, 55, 95, 145, 195
+ * Evil team grunts on 35, 62, 64, 66, 112, 114
+ * Evil leader on 115, 165
+ * E4 on 182, 184, 186, 188
+ * Champion on 190
+ */
+export const classicFixedBattles: FixedBattleConfigs = {
[5]: new FixedBattleConfig().setBattleType(BattleType.TRAINER)
.setGetTrainerFunc(scene => new Trainer(scene, TrainerType.YOUNGSTER, Utils.randSeedInt(2) ? TrainerVariant.FEMALE : TrainerVariant.DEFAULT)),
[8]: new FixedBattleConfig().setBattleType(BattleType.TRAINER)
.setGetTrainerFunc(scene => new Trainer(scene, TrainerType.RIVAL, scene.gameData.gender === PlayerGender.MALE ? TrainerVariant.FEMALE : TrainerVariant.DEFAULT)),
[25]: new FixedBattleConfig().setBattleType(BattleType.TRAINER)
.setGetTrainerFunc(scene => new Trainer(scene, TrainerType.RIVAL_2, scene.gameData.gender === PlayerGender.MALE ? TrainerVariant.FEMALE : TrainerVariant.DEFAULT)),
+ [35]: 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 ])),
[55]: new FixedBattleConfig().setBattleType(BattleType.TRAINER)
.setGetTrainerFunc(scene => new Trainer(scene, TrainerType.RIVAL_3, scene.gameData.gender === PlayerGender.MALE ? TrainerVariant.FEMALE : TrainerVariant.DEFAULT)),
+ [62]: new FixedBattleConfig().setBattleType(BattleType.TRAINER).setSeedOffsetWave(35)
+ .setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.ROCKET_GRUNT, TrainerType.MAGMA_GRUNT, TrainerType.AQUA_GRUNT, TrainerType.GALACTIC_GRUNT, TrainerType.PLASMA_GRUNT, TrainerType.FLARE_GRUNT ])),
+ [64]: new FixedBattleConfig().setBattleType(BattleType.TRAINER).setSeedOffsetWave(35)
+ .setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.ROCKET_GRUNT, TrainerType.MAGMA_GRUNT, TrainerType.AQUA_GRUNT, TrainerType.GALACTIC_GRUNT, TrainerType.PLASMA_GRUNT, TrainerType.FLARE_GRUNT ])),
+ [66]: new FixedBattleConfig().setBattleType(BattleType.TRAINER).setSeedOffsetWave(35)
+ .setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.ROCKET_GRUNT, TrainerType.MAGMA_GRUNT, TrainerType.AQUA_GRUNT, TrainerType.GALACTIC_GRUNT, TrainerType.PLASMA_GRUNT, TrainerType.FLARE_GRUNT ])),
[95]: new FixedBattleConfig().setBattleType(BattleType.TRAINER)
.setGetTrainerFunc(scene => new Trainer(scene, TrainerType.RIVAL_4, scene.gameData.gender === PlayerGender.MALE ? TrainerVariant.FEMALE : TrainerVariant.DEFAULT)),
+ [112]: new FixedBattleConfig().setBattleType(BattleType.TRAINER).setSeedOffsetWave(35)
+ .setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.ROCKET_GRUNT, TrainerType.MAGMA_GRUNT, TrainerType.AQUA_GRUNT, TrainerType.GALACTIC_GRUNT, TrainerType.PLASMA_GRUNT, TrainerType.FLARE_GRUNT ])),
+ [114]: new FixedBattleConfig().setBattleType(BattleType.TRAINER).setSeedOffsetWave(35)
+ .setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.ROCKET_GRUNT, TrainerType.MAGMA_GRUNT, TrainerType.AQUA_GRUNT, TrainerType.GALACTIC_GRUNT, TrainerType.PLASMA_GRUNT, TrainerType.FLARE_GRUNT ])),
+ [115]: new FixedBattleConfig().setBattleType(BattleType.TRAINER).setSeedOffsetWave(35)
+ .setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.ROCKET_BOSS_GIOVANNI_1, TrainerType.MAXIE, TrainerType.ARCHIE, TrainerType.CYRUS, TrainerType.GHETSIS, TrainerType.LYSANDRE ])),
[145]: new FixedBattleConfig().setBattleType(BattleType.TRAINER)
.setGetTrainerFunc(scene => new Trainer(scene, TrainerType.RIVAL_5, scene.gameData.gender === PlayerGender.MALE ? TrainerVariant.FEMALE : TrainerVariant.DEFAULT)),
+ [165]: new FixedBattleConfig().setBattleType(BattleType.TRAINER).setSeedOffsetWave(35)
+ .setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.ROCKET_BOSS_GIOVANNI_2, TrainerType.MAXIE_2, TrainerType.ARCHIE_2, TrainerType.CYRUS_2, TrainerType.GHETSIS_2, TrainerType.LYSANDRE_2 ])),
[182]: 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 ])),
+ .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 ])),
[184]: new FixedBattleConfig().setBattleType(BattleType.TRAINER).setSeedOffsetWave(182)
.setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.BRUNO, TrainerType.KOGA, TrainerType.PHOEBE, TrainerType.BERTHA, TrainerType.MARSHAL, TrainerType.SIEBOLD, TrainerType.OLIVIA, TrainerType.NESSA_ELITE, TrainerType.POPPY, TrainerType.AMARYS ])),
[186]: new FixedBattleConfig().setBattleType(BattleType.TRAINER).setSeedOffsetWave(182)
- .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 ])),
+ .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 ])),
[188]: new FixedBattleConfig().setBattleType(BattleType.TRAINER).setSeedOffsetWave(182)
- .setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.LANCE, TrainerType.KAREN, TrainerType.DRAKE, TrainerType.LUCIAN, TrainerType.CAITLIN, TrainerType.DRASNA, TrainerType.KAHILI,TrainerType.RAIHAN_ELITE, TrainerType.HASSEL, TrainerType.DRAYTON ])),
+ .setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.LANCE, TrainerType.KAREN, TrainerType.DRAKE, TrainerType.LUCIAN, TrainerType.CAITLIN, TrainerType.DRASNA, TrainerType.KAHILI, TrainerType.RAIHAN_ELITE, TrainerType.HASSEL, TrainerType.DRAYTON ])),
[190]: new FixedBattleConfig().setBattleType(BattleType.TRAINER).setSeedOffsetWave(182)
.setGetTrainerFunc(getRandomTrainerFunc([ TrainerType.BLUE, [ TrainerType.RED, TrainerType.LANCE_CHAMPION ], [ TrainerType.STEVEN, TrainerType.WALLACE ], TrainerType.CYNTHIA, [ TrainerType.ALDER, TrainerType.IRIS ], TrainerType.DIANTHA, TrainerType.HAU, TrainerType.LEON, [ TrainerType.GEETA, TrainerType.NEMONA ], TrainerType.KIERAN ])),
[195]: new FixedBattleConfig().setBattleType(BattleType.TRAINER)
diff --git a/src/configs/inputs/cfg_keyboard_qwerty.ts b/src/configs/inputs/cfg_keyboard_qwerty.ts
index 83472529697..09a02f02836 100644
--- a/src/configs/inputs/cfg_keyboard_qwerty.ts
+++ b/src/configs/inputs/cfg_keyboard_qwerty.ts
@@ -1,4 +1,4 @@
-import {Button} from "#app/enums/buttons";
+import {Button} from "#enums/buttons";
import {SettingKeyboard} from "#app/system/settings/settings-keyboard";
const cfg_keyboard_qwerty = {
diff --git a/src/configs/inputs/configHandler.ts b/src/configs/inputs/configHandler.ts
index 0770ebffce1..a67c45fd413 100644
--- a/src/configs/inputs/configHandler.ts
+++ b/src/configs/inputs/configHandler.ts
@@ -1,4 +1,4 @@
-import {Device} from "#app/enums/devices";
+import {Device} from "#enums/devices";
/**
* Retrieves the key associated with the specified keycode from the mapping.
diff --git a/src/configs/inputs/pad_dualshock.ts b/src/configs/inputs/pad_dualshock.ts
index d58a8b2879d..742040958b4 100644
--- a/src/configs/inputs/pad_dualshock.ts
+++ b/src/configs/inputs/pad_dualshock.ts
@@ -1,5 +1,5 @@
import {SettingGamepad} from "../../system/settings/settings-gamepad";
-import {Button} from "../../enums/buttons";
+import {Button} from "#enums/buttons";
/**
* Dualshock mapping
diff --git a/src/configs/inputs/pad_generic.ts b/src/configs/inputs/pad_generic.ts
index 916f8c82add..88ff66e231c 100644
--- a/src/configs/inputs/pad_generic.ts
+++ b/src/configs/inputs/pad_generic.ts
@@ -1,5 +1,5 @@
import {SettingGamepad} from "../../system/settings/settings-gamepad";
-import {Button} from "../../enums/buttons";
+import {Button} from "#enums/buttons";
/**
* Generic pad mapping
diff --git a/src/configs/inputs/pad_procon.ts b/src/configs/inputs/pad_procon.ts
index 4b7bd8457b0..8cb707f882a 100644
--- a/src/configs/inputs/pad_procon.ts
+++ b/src/configs/inputs/pad_procon.ts
@@ -1,5 +1,5 @@
import {SettingGamepad} from "#app/system/settings/settings-gamepad.js";
-import {Button} from "#app/enums/buttons";
+import {Button} from "#enums/buttons";
/**
* Nintendo Pro Controller mapping
diff --git a/src/configs/inputs/pad_unlicensedSNES.ts b/src/configs/inputs/pad_unlicensedSNES.ts
index 106fbc9eb8f..8a7f3e78f98 100644
--- a/src/configs/inputs/pad_unlicensedSNES.ts
+++ b/src/configs/inputs/pad_unlicensedSNES.ts
@@ -1,5 +1,5 @@
import {SettingGamepad} from "../../system/settings/settings-gamepad";
-import {Button} from "../../enums/buttons";
+import {Button} from "#enums/buttons";
/**
* 081f-e401 - UnlicensedSNES
diff --git a/src/configs/inputs/pad_xbox360.ts b/src/configs/inputs/pad_xbox360.ts
index 645829d5be2..e003ccc8e87 100644
--- a/src/configs/inputs/pad_xbox360.ts
+++ b/src/configs/inputs/pad_xbox360.ts
@@ -1,5 +1,5 @@
import {SettingGamepad} from "../../system/settings/settings-gamepad";
-import {Button} from "#app/enums/buttons";
+import {Button} from "#enums/buttons";
/**
* Generic pad mapping
diff --git a/src/data/ability.ts b/src/data/ability.ts
old mode 100755
new mode 100644
index 31f41492ba7..f449b33992b
--- a/src/data/ability.ts
+++ b/src/data/ability.ts
@@ -1,29 +1,31 @@
import Pokemon, { HitResult, PokemonMove } from "../field/pokemon";
import { Type } from "./type";
+import { Constructor } from "#app/utils";
import * as Utils from "../utils";
import { BattleStat, getBattleStatName } from "./battle-stat";
import { MovePhase, PokemonHealPhase, ShowAbilityPhase, StatChangePhase } from "../phases";
-import { getPokemonMessage, getPokemonPrefix } from "../messages";
+import { getPokemonMessage, getPokemonNameWithAffix } from "../messages";
import { Weather, WeatherType } from "./weather";
-import { BattlerTag } from "./battler-tags";
-import { BattlerTagType } from "./enums/battler-tag-type";
+import { BattlerTag, GroundedTag } from "./battler-tags";
import { StatusEffect, getNonVolatileStatusEffects, getStatusEffectDescriptor, getStatusEffectHealText } from "./status-effect";
import { Gender } from "./gender";
-import Move, { AttackMove, MoveCategory, MoveFlags, MoveTarget, StatusMoveTypeImmunityAttr, FlinchAttr, OneHitKOAttr, HitHealAttr, allMoves, StatusMove, SelfStatusMove, VariablePowerAttr, applyMoveAttrs, IncrementMovePriorityAttr } from "./move";
+import Move, { AttackMove, MoveCategory, MoveFlags, MoveTarget, FlinchAttr, OneHitKOAttr, HitHealAttr, allMoves, StatusMove, SelfStatusMove, VariablePowerAttr, applyMoveAttrs, IncrementMovePriorityAttr, VariableMoveTypeAttr, RandomMovesetMoveAttr, RandomMoveAttr, NaturePowerAttr, CopyMoveAttr, MoveAttr, MultiHitAttr, ChargeAttr, SacrificialAttr, SacrificialAttrOnHit } from "./move";
import { ArenaTagSide, ArenaTrapTag } from "./arena-tag";
-import { ArenaTagType } from "./enums/arena-tag-type";
-import { Stat } from "./pokemon-stat";
+import { Stat, getStatName } from "./pokemon-stat";
import { BerryModifier, PokemonHeldItemModifier } from "../modifier/modifier";
-import { Moves } from "./enums/moves";
import { TerrainType } from "./terrain";
import { SpeciesFormChangeManualTrigger } from "./pokemon-forms";
-import { Abilities } from "./enums/abilities";
-import i18next, { Localizable } from "#app/plugins/i18n.js";
+import i18next from "i18next";
+import { Localizable } from "#app/interfaces/locales.js";
import { Command } from "../ui/command-ui-handler";
import { BerryModifierType } from "#app/modifier/modifier-type";
import { getPokeballName } from "./pokeball";
-import { Species } from "./enums/species";
-import {BattlerIndex} from "#app/battle";
+import { BattlerIndex } from "#app/battle";
+import { Abilities } from "#enums/abilities";
+import { ArenaTagType } from "#enums/arena-tag-type";
+import { BattlerTagType } from "#enums/battler-tag-type";
+import { Moves } from "#enums/moves";
+import { Species } from "#enums/species";
export class Ability implements Localizable {
public id: Abilities;
@@ -60,7 +62,7 @@ export class Ability implements Localizable {
* @param attrType any attribute that extends {@linkcode AbAttr}
* @returns Array of attributes that match `attrType`, Empty Array if none match.
*/
- getAttrs(attrType: new(...args: any[]) => T ): T[] {
+ getAttrs(attrType: Constructor ): T[] {
return this.attrs.filter((a): a is T => a instanceof attrType);
}
@@ -69,18 +71,18 @@ export class Ability implements Localizable {
* @param attrType any attribute that extends {@linkcode AbAttr}
* @returns true if the ability has attribute `attrType`
*/
- hasAttr(attrType: new(...args: any[]) => T): boolean {
+ hasAttr(attrType: Constructor): boolean {
return this.attrs.some((attr) => attr instanceof attrType);
}
- attr AbAttr>(AttrType: T, ...args: ConstructorParameters): Ability {
+ attr>(AttrType: T, ...args: ConstructorParameters): Ability {
const attr = new AttrType(...args);
this.attrs.push(attr);
return this;
}
- conditionalAttr AbAttr>(condition: AbAttrCondition, AttrType: T, ...args: ConstructorParameters): Ability {
+ conditionalAttr>(condition: AbAttrCondition, AttrType: T, ...args: ConstructorParameters): Ability {
const attr = new AttrType(...args);
attr.addCondition(condition);
this.attrs.push(attr);
@@ -156,7 +158,7 @@ export class BlockRecoilDamageAttr extends AbAttr {
}
getTriggerMessage(pokemon: Pokemon, abilityName: string, ...args: any[]) {
- return i18next.t("abilityTriggers:blockRecoilDamage", {pokemonName: `${getPokemonPrefix(pokemon)}${pokemon.name}`, abilityName: abilityName});
+ return i18next.t("abilityTriggers:blockRecoilDamage", {pokemonName: getPokemonNameWithAffix(pokemon), abilityName: abilityName});
}
}
@@ -235,10 +237,10 @@ export class PostBattleInitStatChangeAbAttr extends PostBattleInitAbAttr {
}
}
-type PreDefendAbAttrCondition = (pokemon: Pokemon, attacker: Pokemon, move: PokemonMove) => boolean;
+type PreDefendAbAttrCondition = (pokemon: Pokemon, attacker: Pokemon, move: Move) => boolean;
export class PreDefendAbAttr extends AbAttr {
- applyPreDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: PokemonMove, cancelled: Utils.BooleanHolder, args: any[]): boolean | Promise {
+ applyPreDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: Move, cancelled: Utils.BooleanHolder, args: any[]): boolean | Promise {
return false;
}
}
@@ -252,7 +254,7 @@ export class PreDefendFormChangeAbAttr extends PreDefendAbAttr {
this.formFunc = formFunc;
}
- applyPreDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: PokemonMove, cancelled: Utils.BooleanHolder, args: any[]): boolean {
+ applyPreDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: Move, cancelled: Utils.BooleanHolder, args: any[]): boolean {
const formIndex = this.formFunc(pokemon);
if (formIndex !== pokemon.formIndex) {
pokemon.scene.triggerPokemonFormChange(pokemon, SpeciesFormChangeManualTrigger, false);
@@ -263,7 +265,7 @@ export class PreDefendFormChangeAbAttr extends PreDefendAbAttr {
}
}
export class PreDefendFullHpEndureAbAttr extends PreDefendAbAttr {
- applyPreDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: PokemonMove, cancelled: Utils.BooleanHolder, args: any[]): boolean {
+ applyPreDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: Move, cancelled: Utils.BooleanHolder, args: any[]): boolean {
if (pokemon.hp === pokemon.getMaxHp() &&
pokemon.getMaxHp() > 1 && //Checks if pokemon has wonder_guard (which forces 1hp)
(args[0] as Utils.NumberHolder).value >= pokemon.hp) { //Damage >= hp
@@ -299,18 +301,19 @@ export class StabBoostAbAttr extends AbAttr {
export class ReceivedMoveDamageMultiplierAbAttr extends PreDefendAbAttr {
protected condition: PokemonDefendCondition;
- private powerMultiplier: number;
+ private damageMultiplier: number;
- constructor(condition: PokemonDefendCondition, powerMultiplier: number) {
+ constructor(condition: PokemonDefendCondition, damageMultiplier: number) {
super();
this.condition = condition;
- this.powerMultiplier = powerMultiplier;
+ this.damageMultiplier = damageMultiplier;
}
- applyPreDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: PokemonMove, cancelled: Utils.BooleanHolder, args: any[]): boolean {
- if (this.condition(pokemon, attacker, move.getMove())) {
- (args[0] as Utils.NumberHolder).value *= this.powerMultiplier;
+ applyPreDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: Move, cancelled: Utils.BooleanHolder, args: any[]): boolean {
+ if (this.condition(pokemon, attacker, move)) {
+ (args[0] as Utils.NumberHolder).value = Math.floor((args[0] as Utils.NumberHolder).value * this.damageMultiplier);
+
return true;
}
@@ -319,19 +322,19 @@ export class ReceivedMoveDamageMultiplierAbAttr extends PreDefendAbAttr {
}
export class ReceivedTypeDamageMultiplierAbAttr extends ReceivedMoveDamageMultiplierAbAttr {
- constructor(moveType: Type, powerMultiplier: number) {
- super((user, target, move) => move.type === moveType, powerMultiplier);
+ constructor(moveType: Type, damageMultiplier: number) {
+ super((user, target, move) => move.type === moveType, damageMultiplier);
}
}
-export class PreDefendMovePowerToOneAbAttr extends ReceivedMoveDamageMultiplierAbAttr {
+export class PreDefendMoveDamageToOneAbAttr extends ReceivedMoveDamageMultiplierAbAttr {
constructor(condition: PokemonDefendCondition) {
super(condition, 1);
}
- applyPreDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: PokemonMove, cancelled: Utils.BooleanHolder, args: any[]): boolean {
- if (this.condition(pokemon, attacker, move.getMove())) {
- (args[0] as Utils.NumberHolder).value = 1;
+ applyPreDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: Move, cancelled: Utils.BooleanHolder, args: any[]): boolean {
+ if (this.condition(pokemon, attacker, move)) {
+ (args[0] as Utils.NumberHolder).value = Math.floor(pokemon.getMaxHp() / 8);
return true;
}
@@ -339,6 +342,12 @@ export class PreDefendMovePowerToOneAbAttr extends ReceivedMoveDamageMultiplierA
}
}
+/**
+ * Determines whether a Pokemon is immune to a move because of an ability.
+ * @extends PreDefendAbAttr
+ * @see {@linkcode applyPreDefend}
+ * @see {@linkcode getCondition}
+ */
export class TypeImmunityAbAttr extends PreDefendAbAttr {
private immuneType: Type;
private condition: AbAttrCondition;
@@ -350,8 +359,23 @@ export class TypeImmunityAbAttr extends PreDefendAbAttr {
this.condition = condition;
}
- applyPreDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: PokemonMove, cancelled: Utils.BooleanHolder, args: any[]): boolean {
- if ((move.getMove() instanceof AttackMove || move.getMove().getAttrs(StatusMoveTypeImmunityAttr).find(attr => attr.immuneType === this.immuneType)) && move.getMove().type === this.immuneType) {
+ /**
+ * Applies immunity if this ability grants immunity to the type of the given move.
+ * @param pokemon {@linkcode Pokemon} the defending Pokemon
+ * @param passive N/A
+ * @param attacker {@linkcode Pokemon} the attacking Pokemon
+ * @param move {@linkcode Move} the attacking move
+ * @param cancelled N/A
+ * @param args [0] {@linkcode Utils.NumberHolder} gets set to 0 if move is immuned by an ability.
+ * @param args [1] {@linkcode Utils.NumberHolder} type of move being defended against in case it has changed from default type
+ */
+ applyPreDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: Move, cancelled: Utils.BooleanHolder, args: any[]): boolean {
+ // Field moves should ignore immunity
+ if ([ MoveTarget.BOTH_SIDES, MoveTarget.ENEMY_SIDE, MoveTarget.USER_SIDE ].includes(move.moveTarget)) {
+ return false;
+ }
+
+ if (attacker !== pokemon && move.type === this.immuneType) {
(args[0] as Utils.NumberHolder).value = 0;
return true;
}
@@ -369,7 +393,7 @@ export class TypeImmunityHealAbAttr extends TypeImmunityAbAttr {
super(immuneType);
}
- applyPreDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: PokemonMove, cancelled: Utils.BooleanHolder, args: any[]): boolean {
+ applyPreDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: Move, cancelled: Utils.BooleanHolder, args: any[]): boolean {
const ret = super.applyPreDefend(pokemon, passive, attacker, move, cancelled, args);
if (ret) {
@@ -399,7 +423,7 @@ class TypeImmunityStatChangeAbAttr extends TypeImmunityAbAttr {
this.levels = levels;
}
- applyPreDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: PokemonMove, cancelled: Utils.BooleanHolder, args: any[]): boolean {
+ applyPreDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: Move, cancelled: Utils.BooleanHolder, args: any[]): boolean {
const ret = super.applyPreDefend(pokemon, passive, attacker, move, cancelled, args);
if (ret) {
@@ -425,7 +449,7 @@ class TypeImmunityAddBattlerTagAbAttr extends TypeImmunityAbAttr {
this.turnCount = turnCount;
}
- applyPreDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: PokemonMove, cancelled: Utils.BooleanHolder, args: any[]): boolean {
+ applyPreDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: Move, cancelled: Utils.BooleanHolder, args: any[]): boolean {
const ret = super.applyPreDefend(pokemon, passive, attacker, move, cancelled, args);
if (ret) {
@@ -445,8 +469,8 @@ export class NonSuperEffectiveImmunityAbAttr extends TypeImmunityAbAttr {
super(null, condition);
}
- applyPreDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: PokemonMove, cancelled: Utils.BooleanHolder, args: any[]): boolean {
- if (move.getMove() instanceof AttackMove && pokemon.getAttackTypeEffectiveness(move.getMove().type, attacker) < 2) {
+ applyPreDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: Move, cancelled: Utils.BooleanHolder, args: any[]): boolean {
+ if (move instanceof AttackMove && pokemon.getAttackTypeEffectiveness(move.type, attacker) < 2) {
cancelled.value = true;
(args[0] as Utils.NumberHolder).value = 0;
return true;
@@ -461,15 +485,15 @@ export class NonSuperEffectiveImmunityAbAttr extends TypeImmunityAbAttr {
}
export class PostDefendAbAttr extends AbAttr {
- applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: PokemonMove, hitResult: HitResult, args: any[]): boolean | Promise {
+ applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: Move, hitResult: HitResult, args: any[]): boolean | Promise {
return false;
}
}
export class PostDefendDisguiseAbAttr extends PostDefendAbAttr {
- applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: PokemonMove, hitResult: HitResult, args: any[]): boolean {
- if (pokemon.formIndex === 0 && pokemon.battleData.hitCount !== 0 && (move.getMove().category === MoveCategory.SPECIAL || move.getMove().category === MoveCategory.PHYSICAL)) {
+ applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: Move, hitResult: HitResult, args: any[]): boolean {
+ if (pokemon.formIndex === 0 && pokemon.battleData.hitCount !== 0 && (move.category === MoveCategory.SPECIAL || move.category === MoveCategory.PHYSICAL)) {
const recoilDamage = Math.ceil((pokemon.getMaxHp() / 8) - attacker.turnData.damageDealt);
if (!recoilDamage) {
@@ -494,7 +518,7 @@ export class PostDefendFormChangeAbAttr extends PostDefendAbAttr {
this.formFunc = formFunc;
}
- applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: PokemonMove, hitResult: HitResult, args: any[]): boolean {
+ applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: Move, hitResult: HitResult, args: any[]): boolean {
const formIndex = this.formFunc(pokemon);
if (formIndex !== pokemon.formIndex) {
pokemon.scene.triggerPokemonFormChange(pokemon, SpeciesFormChangeManualTrigger, false);
@@ -506,16 +530,16 @@ export class PostDefendFormChangeAbAttr extends PostDefendAbAttr {
}
export class FieldPriorityMoveImmunityAbAttr extends PreDefendAbAttr {
- applyPreDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: PokemonMove, cancelled: Utils.BooleanHolder, args: any[]): boolean {
- const attackPriority = new Utils.IntegerHolder(move.getMove().priority);
- applyMoveAttrs(IncrementMovePriorityAttr,attacker,null,move.getMove(),attackPriority);
- applyAbAttrs(IncrementMovePriorityAbAttr, attacker, null, move.getMove(), attackPriority);
+ applyPreDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: Move, cancelled: Utils.BooleanHolder, args: any[]): boolean {
+ const attackPriority = new Utils.IntegerHolder(move.priority);
+ applyMoveAttrs(IncrementMovePriorityAttr,attacker,null,move,attackPriority);
+ applyAbAttrs(IncrementMovePriorityAbAttr, attacker, null, move, attackPriority);
- if (move.getMove().moveTarget===MoveTarget.USER || move.getMove().moveTarget===MoveTarget.NEAR_ALLY) {
+ if (move.moveTarget===MoveTarget.USER || move.moveTarget===MoveTarget.NEAR_ALLY) {
return false;
}
- if (attackPriority.value > 0 && !move.getMove().isMultiTarget()) {
+ if (attackPriority.value > 0 && !move.isMultiTarget()) {
cancelled.value = true;
return true;
}
@@ -539,7 +563,7 @@ export class MoveImmunityAbAttr extends PreDefendAbAttr {
this.immuneCondition = immuneCondition;
}
- applyPreDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: PokemonMove, cancelled: Utils.BooleanHolder, args: any[]): boolean {
+ applyPreDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: Move, cancelled: Utils.BooleanHolder, args: any[]): boolean {
if (this.immuneCondition(pokemon, attacker, move)) {
cancelled.value = true;
return true;
@@ -553,6 +577,24 @@ export class MoveImmunityAbAttr extends PreDefendAbAttr {
}
}
+/**
+ * Reduces the accuracy of status moves used against the Pokémon with this ability to 50%.
+ * Used by Wonder Skin.
+ *
+ * @extends PreDefendAbAttr
+ */
+export class WonderSkinAbAttr extends PreDefendAbAttr {
+ applyPreDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: Move, cancelled: Utils.BooleanHolder, args: any[]): boolean {
+ const moveAccuracy = args[0] as Utils.NumberHolder;
+ if (move.category === MoveCategory.STATUS && moveAccuracy.value >= 50) {
+ moveAccuracy.value = 50;
+ return true;
+ }
+
+ return false;
+ }
+}
+
export class MoveImmunityStatChangeAbAttr extends MoveImmunityAbAttr {
private stat: BattleStat;
private levels: integer;
@@ -563,7 +605,7 @@ export class MoveImmunityStatChangeAbAttr extends MoveImmunityAbAttr {
this.levels = levels;
}
- applyPreDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: PokemonMove, cancelled: Utils.BooleanHolder, args: any[]): boolean {
+ applyPreDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: Move, cancelled: Utils.BooleanHolder, args: any[]): boolean {
const ret = super.applyPreDefend(pokemon, passive, attacker, move, cancelled, args);
if (ret) {
const simulated = args.length > 1 && args[1];
@@ -593,8 +635,8 @@ export class ReverseDrainAbAttr extends PostDefendAbAttr {
* @args N/A
* @returns true if healing should be reversed on a healing move, false otherwise.
*/
- applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: PokemonMove, hitResult: HitResult, args: any[]): boolean {
- if (move.getMove().hasAttr(HitHealAttr)) {
+ applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: Move, hitResult: HitResult, args: any[]): boolean {
+ if (move.hasAttr(HitHealAttr)) {
pokemon.scene.queueMessage(getPokemonMessage(attacker, " sucked up the liquid ooze!"));
return true;
}
@@ -619,8 +661,8 @@ export class PostDefendStatChangeAbAttr extends PostDefendAbAttr {
this.allOthers = allOthers;
}
- applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: PokemonMove, hitResult: HitResult, args: any[]): boolean {
- if (this.condition(pokemon, attacker, move.getMove())) {
+ applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: Move, hitResult: HitResult, args: any[]): boolean {
+ if (this.condition(pokemon, attacker, move)) {
if (this.allOthers) {
const otherPokemon = pokemon.getAlly() ? pokemon.getOpponents().concat([ pokemon.getAlly() ]) : pokemon.getOpponents();
for (const other of otherPokemon) {
@@ -653,10 +695,12 @@ export class PostDefendHpGatedStatChangeAbAttr extends PostDefendAbAttr {
this.selfTarget = selfTarget;
}
- applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: PokemonMove, hitResult: HitResult, args: any[]): boolean {
+ applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: Move, hitResult: HitResult, args: any[]): boolean {
const hpGateFlat: integer = Math.ceil(pokemon.getMaxHp() * this.hpGate);
const lastAttackReceived = pokemon.turnData.attacksReceived[pokemon.turnData.attacksReceived.length - 1];
- if (this.condition(pokemon, attacker, move.getMove()) && (pokemon.hp <= hpGateFlat && (pokemon.hp + lastAttackReceived.damage) > hpGateFlat)) {
+ const damageReceived = lastAttackReceived?.damage || 0;
+
+ if (this.condition(pokemon, attacker, move) && (pokemon.hp <= hpGateFlat && (pokemon.hp + damageReceived) > hpGateFlat)) {
pokemon.scene.unshiftPhase(new StatChangePhase(pokemon.scene, (this.selfTarget ? pokemon : attacker).getBattlerIndex(), true, this.stats, this.levels));
return true;
}
@@ -676,8 +720,8 @@ export class PostDefendApplyArenaTrapTagAbAttr extends PostDefendAbAttr {
this.tagType = tagType;
}
- applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: PokemonMove, hitResult: HitResult, args: any[]): boolean {
- if (this.condition(pokemon, attacker, move.getMove())) {
+ applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: Move, hitResult: HitResult, args: any[]): boolean {
+ if (this.condition(pokemon, attacker, move)) {
const tag = pokemon.scene.arena.getTag(this.tagType) as ArenaTrapTag;
if (!pokemon.scene.arena.getTag(this.tagType) || tag.layers < tag.maxLayers) {
pokemon.scene.arena.addTag(this.tagType, 0, undefined, pokemon.id, pokemon.isPlayer() ? ArenaTagSide.ENEMY : ArenaTagSide.PLAYER);
@@ -698,11 +742,11 @@ export class PostDefendApplyBattlerTagAbAttr extends PostDefendAbAttr {
this.tagType = tagType;
}
- applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: PokemonMove, hitResult: HitResult, args: any[]): boolean {
- if (this.condition(pokemon, attacker, move.getMove())) {
+ applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: Move, hitResult: HitResult, args: any[]): boolean {
+ if (this.condition(pokemon, attacker, move)) {
if (!pokemon.getTag(this.tagType)) {
pokemon.addTag(this.tagType, undefined, undefined, pokemon.id);
- pokemon.scene.queueMessage(i18next.t("abilityTriggers:windPowerCharged", { pokemonName: pokemon.name, moveName: move.getName() }));
+ pokemon.scene.queueMessage(i18next.t("abilityTriggers:windPowerCharged", { pokemonName: pokemon.name, moveName: move.name }));
}
return true;
}
@@ -711,9 +755,9 @@ export class PostDefendApplyBattlerTagAbAttr extends PostDefendAbAttr {
}
export class PostDefendTypeChangeAbAttr extends PostDefendAbAttr {
- applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: PokemonMove, hitResult: HitResult, args: any[]): boolean {
+ applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: Move, hitResult: HitResult, args: any[]): boolean {
if (hitResult < HitResult.NO_EFFECT) {
- const type = move.getMove().type;
+ const type = move.type;
const pokemonTypes = pokemon.getTypes(true);
if (pokemonTypes.length !== 1 || pokemonTypes[0] !== type) {
pokemon.summonData.types = [ type ];
@@ -738,7 +782,7 @@ export class PostDefendTerrainChangeAbAttr extends PostDefendAbAttr {
this.terrainType = terrainType;
}
- applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: PokemonMove, hitResult: HitResult, args: any[]): boolean {
+ applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: Move, hitResult: HitResult, args: any[]): boolean {
if (hitResult < HitResult.NO_EFFECT) {
return pokemon.scene.arena.trySetTerrain(this.terrainType, true);
}
@@ -758,8 +802,8 @@ export class PostDefendContactApplyStatusEffectAbAttr extends PostDefendAbAttr {
this.effects = effects;
}
- applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: PokemonMove, hitResult: HitResult, args: any[]): boolean {
- if (move.getMove().checkFlag(MoveFlags.MAKES_CONTACT, attacker, pokemon) && !attacker.status && (this.chance === -1 || pokemon.randSeedInt(100) < this.chance)) {
+ applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: Move, hitResult: HitResult, args: any[]): boolean {
+ if (move.checkFlag(MoveFlags.MAKES_CONTACT, attacker, pokemon) && !attacker.status && (this.chance === -1 || pokemon.randSeedInt(100) < this.chance)) {
const effect = this.effects.length === 1 ? this.effects[0] : this.effects[pokemon.randSeedInt(this.effects.length)];
return attacker.trySetStatus(effect, true, pokemon);
}
@@ -773,7 +817,7 @@ export class EffectSporeAbAttr extends PostDefendContactApplyStatusEffectAbAttr
super(10, StatusEffect.POISON, StatusEffect.PARALYSIS, StatusEffect.SLEEP);
}
- applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: PokemonMove, hitResult: HitResult, args: any[]): boolean {
+ applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: Move, hitResult: HitResult, args: any[]): boolean {
if (attacker.hasAbility(Abilities.OVERCOAT) || attacker.isOfType(Type.GRASS)) {
return false;
}
@@ -794,9 +838,9 @@ export class PostDefendContactApplyTagChanceAbAttr extends PostDefendAbAttr {
this.turnCount = turnCount;
}
- applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: PokemonMove, hitResult: HitResult, args: any[]): boolean {
- if (move.getMove().checkFlag(MoveFlags.MAKES_CONTACT, attacker, pokemon) && pokemon.randSeedInt(100) < this.chance) {
- return attacker.addTag(this.tagType, this.turnCount, move.moveId, attacker.id);
+ applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: Move, hitResult: HitResult, args: any[]): boolean {
+ if (move.checkFlag(MoveFlags.MAKES_CONTACT, attacker, pokemon) && pokemon.randSeedInt(100) < this.chance) {
+ return attacker.addTag(this.tagType, this.turnCount, move.id, attacker.id);
}
return false;
@@ -814,7 +858,7 @@ export class PostDefendCritStatChangeAbAttr extends PostDefendAbAttr {
this.levels = levels;
}
- applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: PokemonMove, hitResult: HitResult, args: any[]): boolean {
+ applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: Move, hitResult: HitResult, args: any[]): boolean {
pokemon.scene.unshiftPhase(new StatChangePhase(pokemon.scene, pokemon.getBattlerIndex(), true, [ this.stat ], this.levels));
return true;
@@ -834,8 +878,8 @@ export class PostDefendContactDamageAbAttr extends PostDefendAbAttr {
this.damageRatio = damageRatio;
}
- applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: PokemonMove, hitResult: HitResult, args: any[]): boolean {
- if (move.getMove().checkFlag(MoveFlags.MAKES_CONTACT, attacker, pokemon)) {
+ applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: Move, hitResult: HitResult, args: any[]): boolean {
+ if (move.checkFlag(MoveFlags.MAKES_CONTACT, attacker, pokemon) && !attacker.hasAbilityWithAttr(BlockNonDirectDamageAbAttr)) {
attacker.damageAndUpdate(Math.ceil(attacker.getMaxHp() * (1 / this.damageRatio)), HitResult.OTHER);
attacker.turnData.damageTaken += Math.ceil(attacker.getMaxHp() * (1 / this.damageRatio));
return true;
@@ -864,8 +908,8 @@ export class PostDefendPerishSongAbAttr extends PostDefendAbAttr {
this.turns = turns;
}
- applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: PokemonMove, hitResult: HitResult, args: any[]): boolean {
- if (move.getMove().checkFlag(MoveFlags.MAKES_CONTACT, attacker, pokemon)) {
+ applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: Move, hitResult: HitResult, args: any[]): boolean {
+ if (move.checkFlag(MoveFlags.MAKES_CONTACT, attacker, pokemon)) {
if (pokemon.getTag(BattlerTagType.PERISH_SONG) || attacker.getTag(BattlerTagType.PERISH_SONG)) {
return false;
} else {
@@ -878,7 +922,7 @@ export class PostDefendPerishSongAbAttr extends PostDefendAbAttr {
}
getTriggerMessage(pokemon: Pokemon, abilityName: string, ...args: any[]): string {
- return i18next.t("abilityTriggers:perishBody", {pokemonName: `${getPokemonPrefix(pokemon)}${pokemon.name}`, abilityName: abilityName});
+ return i18next.t("abilityTriggers:perishBody", {pokemonName: getPokemonNameWithAffix(pokemon), abilityName: abilityName});
}
}
@@ -891,7 +935,7 @@ export class PostDefendWeatherChangeAbAttr extends PostDefendAbAttr {
this.weatherType = weatherType;
}
- applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: PokemonMove, hitResult: HitResult, args: any[]): boolean {
+ applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: Move, hitResult: HitResult, args: any[]): boolean {
if (!pokemon.scene.arena.weather?.isImmutable()) {
return pokemon.scene.arena.trySetWeather(this.weatherType, true);
}
@@ -905,8 +949,8 @@ export class PostDefendAbilitySwapAbAttr extends PostDefendAbAttr {
super();
}
- applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: PokemonMove, hitResult: HitResult, args: any[]): boolean {
- if (move.getMove().checkFlag(MoveFlags.MAKES_CONTACT, attacker, pokemon) && !attacker.getAbility().hasAttr(UnswappableAbilityAbAttr)) {
+ applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: Move, hitResult: HitResult, args: any[]): boolean {
+ if (move.checkFlag(MoveFlags.MAKES_CONTACT, attacker, pokemon) && !attacker.getAbility().hasAttr(UnswappableAbilityAbAttr)) {
const tempAbilityId = attacker.getAbility().id;
attacker.summonData.ability = pokemon.getAbility().id;
pokemon.summonData.ability = tempAbilityId;
@@ -929,8 +973,8 @@ export class PostDefendAbilityGiveAbAttr extends PostDefendAbAttr {
this.ability = ability;
}
- applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: PokemonMove, hitResult: HitResult, args: any[]): boolean {
- if (move.getMove().checkFlag(MoveFlags.MAKES_CONTACT, attacker, pokemon) && !attacker.getAbility().hasAttr(UnsuppressableAbilityAbAttr) && !attacker.getAbility().hasAttr(PostDefendAbilityGiveAbAttr)) {
+ applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: Move, hitResult: HitResult, args: any[]): boolean {
+ if (move.checkFlag(MoveFlags.MAKES_CONTACT, attacker, pokemon) && !attacker.getAbility().hasAttr(UnsuppressableAbilityAbAttr) && !attacker.getAbility().hasAttr(PostDefendAbilityGiveAbAttr)) {
attacker.summonData.ability = this.ability;
return true;
@@ -947,7 +991,7 @@ export class PostDefendAbilityGiveAbAttr extends PostDefendAbAttr {
export class PostDefendMoveDisableAbAttr extends PostDefendAbAttr {
private chance: integer;
private attacker: Pokemon;
- private move: PokemonMove;
+ private move: Move;
constructor(chance: integer) {
super();
@@ -955,13 +999,13 @@ export class PostDefendMoveDisableAbAttr extends PostDefendAbAttr {
this.chance = chance;
}
- applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: PokemonMove, hitResult: HitResult, args: any[]): boolean {
+ applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: Move, hitResult: HitResult, args: any[]): boolean {
if (!attacker.summonData.disabledMove) {
- if (move.getMove().checkFlag(MoveFlags.MAKES_CONTACT, attacker, pokemon) && (this.chance === -1 || pokemon.randSeedInt(100) < this.chance) && !attacker.isMax()) {
+ if (move.checkFlag(MoveFlags.MAKES_CONTACT, attacker, pokemon) && (this.chance === -1 || pokemon.randSeedInt(100) < this.chance) && !attacker.isMax()) {
this.attacker = attacker;
this.move = move;
- attacker.summonData.disabledMove = move.moveId;
+ attacker.summonData.disabledMove = move.id;
attacker.summonData.disabledTurns = 4;
return true;
}
@@ -970,7 +1014,7 @@ export class PostDefendMoveDisableAbAttr extends PostDefendAbAttr {
}
getTriggerMessage(pokemon: Pokemon, abilityName: string, ...args: any[]): string {
- return getPokemonMessage(this.attacker, `'s ${this.move.getName()}\nwas disabled!`);
+ return getPokemonMessage(this.attacker, `'s ${this.move.name}\nwas disabled!`);
}
}
@@ -998,49 +1042,68 @@ export class PostStatChangeStatChangeAbAttr extends PostStatChangeAbAttr {
}
export class PreAttackAbAttr extends AbAttr {
- applyPreAttack(pokemon: Pokemon, passive: boolean, defender: Pokemon, move: PokemonMove, args: any[]): boolean | Promise {
+ applyPreAttack(pokemon: Pokemon, passive: boolean, defender: Pokemon, move: Move, args: any[]): boolean | Promise {
return false;
}
}
+/**
+ * Modifies moves additional effects with multipliers, ie. Sheer Force, Serene Grace.
+ * @extends AbAttr
+ * @see {@linkcode apply}
+ */
+export class MoveEffectChanceMultiplierAbAttr extends AbAttr {
+ private chanceMultiplier: number;
+
+ constructor(chanceMultiplier?: number) {
+ super(true);
+ this.chanceMultiplier = chanceMultiplier;
+ }
+ /**
+ * @param args [0]: {@linkcode Utils.NumberHolder} Move additional effect chance. Has to be higher than or equal to 0.
+ * [1]: {@linkcode Moves } Move used by the ability user.
+ */
+ apply(pokemon: Pokemon, passive: boolean, cancelled: Utils.BooleanHolder, args: any[]): boolean {
+
+ if ((args[0] as Utils.NumberHolder).value <= 0 || (args[1] as Move).id === Moves.ORDER_UP) {
+ return false;
+ }
+
+ (args[0] as Utils.NumberHolder).value *= this.chanceMultiplier;
+ (args[0] as Utils.NumberHolder).value = Math.min((args[0] as Utils.NumberHolder).value, 100);
+ return true;
+
+ }
+}
+
+/**
+ * Sets incoming moves additional effect chance to zero, ignoring all effects from moves. ie. Shield Dust.
+ * @extends PreDefendAbAttr
+ * @see {@linkcode applyPreDefend}
+ */
+export class IgnoreMoveEffectsAbAttr extends PreDefendAbAttr {
+ /**
+ * @param args [0]: {@linkcode Utils.NumberHolder} Move additional effect chance.
+ */
+ applyPreDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: Move, cancelled: Utils.BooleanHolder, args: any[]): boolean {
+
+ if ((args[0] as Utils.NumberHolder).value <= 0) {
+ return false;
+ }
+
+ (args[0] as Utils.NumberHolder).value = 0;
+ return true;
+
+ }
+}
+
export class VariableMovePowerAbAttr extends PreAttackAbAttr {
- applyPreAttack(pokemon: Pokemon, passive: boolean, defender: Pokemon, move: PokemonMove, args: any[]): boolean {
+ applyPreAttack(pokemon: Pokemon, passive: boolean, defender: Pokemon, move: Move, args: any[]): boolean {
//const power = args[0] as Utils.NumberHolder;
return false;
}
}
-export class VariableMoveTypeAbAttr extends AbAttr {
- apply(pokemon: Pokemon, passive: boolean, cancelled: Utils.BooleanHolder, args: any[]): boolean {
- //const power = args[0] as Utils.IntegerHolder;
- return false;
- }
-}
-
-export class MoveTypeChangePowerMultiplierAbAttr extends VariableMoveTypeAbAttr {
- private matchType: Type;
- private newType: Type;
- private powerMultiplier: number;
-
- constructor(matchType: Type, newType: Type, powerMultiplier: number) {
- super(true);
- this.matchType = matchType;
- this.newType = newType;
- this.powerMultiplier = powerMultiplier;
- }
-
- apply(pokemon: Pokemon, passive: boolean, cancelled: Utils.BooleanHolder, args: any[]): boolean {
- const type = (args[0] as Utils.IntegerHolder);
- if (type.value === this.matchType) {
- type.value = this.newType;
- (args[1] as Utils.NumberHolder).value *= this.powerMultiplier;
- return true;
- }
-
- return false;
- }
-}
-
export class FieldPreventExplosiveMovesAbAttr extends AbAttr {
apply(pokemon: Pokemon, passive: boolean, cancelled: Utils.BooleanHolder, args: any[]): boolean | Promise {
cancelled.value = true;
@@ -1048,23 +1111,67 @@ export class FieldPreventExplosiveMovesAbAttr extends AbAttr {
}
}
-export class MoveTypeChangeAttr extends PreAttackAbAttr {
- private newType: Type;
- private powerMultiplier: number;
- private condition: PokemonAttackCondition;
+/**
+ * Multiplies a BattleStat if the checked Pokemon lacks this ability.
+ * If this ability cannot stack, a BooleanHolder can be used to prevent this from stacking.
+ * @see {@link applyFieldBattleStatMultiplierAbAttrs}
+ * @see {@link applyFieldBattleStat}
+ * @see {@link Utils.BooleanHolder}
+ */
+export class FieldMultiplyBattleStatAbAttr extends AbAttr {
+ private stat: Stat;
+ private multiplier: number;
+ private canStack: boolean;
- constructor(newType: Type, powerMultiplier: number, condition: PokemonAttackCondition) {
- super(true);
- this.newType = newType;
- this.powerMultiplier = powerMultiplier;
- this.condition = condition;
+ constructor(stat: Stat, multiplier: number, canStack: boolean = false) {
+ super(false);
+
+ this.stat = stat;
+ this.multiplier = multiplier;
+ this.canStack = canStack;
}
- applyPreAttack(pokemon: Pokemon, passive: boolean, defender: Pokemon, move: PokemonMove, args: any[]): boolean {
- if (this.condition(pokemon, defender, move.getMove())) {
- const type = (args[0] as Utils.IntegerHolder);
- type.value = this.newType;
- (args[1] as Utils.NumberHolder).value *= this.powerMultiplier;
+ /**
+ * applyFieldBattleStat: Tries to multiply a Pokemon's BattleStat
+ * @param pokemon {@linkcode Pokemon} the Pokemon using this ability
+ * @param passive {@linkcode boolean} unused
+ * @param stat {@linkcode Stat} the type of the checked stat
+ * @param statValue {@linkcode Utils.NumberHolder} the value of the checked stat
+ * @param checkedPokemon {@linkcode Pokemon} the Pokemon this ability is targeting
+ * @param hasApplied {@linkcode Utils.BooleanHolder} whether or not another multiplier has been applied to this stat
+ * @param args {any[]} unused
+ * @returns true if this changed the checked stat, false otherwise.
+ */
+ applyFieldBattleStat(pokemon: Pokemon, passive: boolean, stat: Stat, statValue: Utils.NumberHolder, checkedPokemon: Pokemon, hasApplied: Utils.BooleanHolder, args: any[]): boolean {
+ if (!this.canStack && hasApplied.value) {
+ return false;
+ }
+
+ if (this.stat === stat && checkedPokemon.getAbilityAttrs(FieldMultiplyBattleStatAbAttr).every(attr => (attr as FieldMultiplyBattleStatAbAttr).stat !== stat)) {
+ statValue.value *= this.multiplier;
+ hasApplied.value = true;
+ return true;
+ }
+ return false;
+ }
+
+}
+
+export class MoveTypeChangeAttr extends PreAttackAbAttr {
+ constructor(
+ private newType: Type,
+ private powerMultiplier: number,
+ private condition?: PokemonAttackCondition
+ ) {
+ super(true);
+ }
+
+ applyPreAttack(pokemon: Pokemon, passive: boolean, defender: Pokemon, move: Move, args: any[]): boolean {
+ if (this.condition && this.condition(pokemon, defender, move)) {
+ move.type = this.newType;
+ if (args[0] && args[0] instanceof Utils.NumberHolder) {
+ args[0].value *= this.powerMultiplier;
+ }
return true;
}
@@ -1072,6 +1179,137 @@ export class MoveTypeChangeAttr extends PreAttackAbAttr {
}
}
+/** Ability attribute for changing a pokemon's type before using a move */
+export class PokemonTypeChangeAbAttr extends PreAttackAbAttr {
+ private moveType: Type;
+
+ constructor() {
+ super(true);
+ }
+
+ applyPreAttack(pokemon: Pokemon, passive: boolean, defender: Pokemon, move: Move, args: any[]): boolean {
+ if (
+ !pokemon.isTerastallized() &&
+ move.id !== Moves.STRUGGLE &&
+ /**
+ * Skip moves that call other moves because these moves generate a following move that will trigger this ability attribute
+ * @see {@link https://bulbapedia.bulbagarden.net/wiki/Category:Moves_that_call_other_moves}
+ */
+ !move.findAttr((attr) =>
+ attr instanceof RandomMovesetMoveAttr ||
+ attr instanceof RandomMoveAttr ||
+ attr instanceof NaturePowerAttr ||
+ attr instanceof CopyMoveAttr
+ )
+ ) {
+ // TODO remove this copy when phase order is changed so that damage, type, category, etc.
+ // TODO are all calculated prior to playing the move animation.
+ const moveCopy = new Move(move.id, move.type, move.category, move.moveTarget, move.power, move.accuracy, move.pp, move.chance, move.priority, move.generation);
+ moveCopy.attrs = move.attrs;
+
+ // Moves like Weather Ball ignore effects of abilities like Normalize and Refrigerate
+ if (move.findAttr(attr => attr instanceof VariableMoveTypeAttr)) {
+ applyMoveAttrs(VariableMoveTypeAttr, pokemon, null, moveCopy);
+ } else {
+ applyPreAttackAbAttrs(MoveTypeChangeAttr, pokemon, null, moveCopy);
+ }
+
+ if (pokemon.getTypes().some((t) => t !== moveCopy.type)) {
+ this.moveType = moveCopy.type;
+ pokemon.summonData.types = [moveCopy.type];
+ pokemon.updateInfo();
+
+ return true;
+ }
+ }
+
+ return false;
+ }
+
+ getTriggerMessage(pokemon: Pokemon, abilityName: string, ...args: any[]): string {
+ return getPokemonMessage(pokemon, ` transformed into the ${Type[this.moveType]} type!`);
+ }
+}
+
+/**
+ * Class for abilities that convert single-strike moves to two-strike moves (i.e. Parental Bond).
+ * @param damageMultiplier the damage multiplier for the second strike, relative to the first.
+ */
+export class AddSecondStrikeAbAttr extends PreAttackAbAttr {
+ private damageMultiplier: number;
+
+ constructor(damageMultiplier: number) {
+ super(false);
+
+ this.damageMultiplier = damageMultiplier;
+ }
+
+ /**
+ * Determines whether this attribute can apply to a given move.
+ * @param {Move} move the move to which this attribute may apply
+ * @param numTargets the number of {@linkcode Pokemon} targeted by this move
+ * @returns true if the attribute can apply to the move, false otherwise
+ */
+ canApplyPreAttack(move: Move, numTargets: integer): boolean {
+ /**
+ * Parental Bond cannot apply to multi-hit moves, charging moves, or
+ * moves that cause the user to faint.
+ */
+ const exceptAttrs: Constructor[] = [
+ MultiHitAttr,
+ ChargeAttr,
+ SacrificialAttr,
+ SacrificialAttrOnHit
+ ];
+
+ /** Parental Bond cannot apply to these specific moves */
+ const exceptMoves: Moves[] = [
+ Moves.FLING,
+ Moves.UPROAR,
+ Moves.ROLLOUT,
+ Moves.ICE_BALL,
+ Moves.ENDEAVOR
+ ];
+
+ /** Also check if this move is an Attack move and if it's only targeting one Pokemon */
+ return numTargets === 1
+ && !exceptAttrs.some(attr => move.hasAttr(attr))
+ && !exceptMoves.some(id => move.id === id)
+ && move.category !== MoveCategory.STATUS;
+ }
+
+ /**
+ * If conditions are met, this doubles the move's hit count (via args[1])
+ * or multiplies the damage of secondary strikes (via args[2])
+ * @param {Pokemon} pokemon the Pokemon using the move
+ * @param passive n/a
+ * @param defender n/a
+ * @param {Move} move the move used by the ability source
+ * @param args\[0\] the number of Pokemon this move is targeting
+ * @param {Utils.IntegerHolder} args\[1\] the number of strikes with this move
+ * @param {Utils.NumberHolder} args\[2\] the damage multiplier for the current strike
+ * @returns
+ */
+ applyPreAttack(pokemon: Pokemon, passive: boolean, defender: Pokemon, move: Move, args: any[]): boolean {
+ const numTargets = args[0] as integer;
+ const hitCount = args[1] as Utils.IntegerHolder;
+ const multiplier = args[2] as Utils.NumberHolder;
+
+ if (this.canApplyPreAttack(move, numTargets)) {
+ this.showAbility = !!hitCount?.value;
+ if (!!hitCount?.value) {
+ hitCount.value *= 2;
+ }
+
+ if (!!multiplier?.value && pokemon.turnData.hitsLeft % 2 === 1 && pokemon.turnData.hitsLeft !== pokemon.turnData.hitCount) {
+ multiplier.value *= this.damageMultiplier;
+ }
+ return true;
+ }
+ return false;
+ }
+}
+
/**
* Class for abilities that boost the damage of moves
* For abilities that boost the base power of moves, see VariableMovePowerAbAttr
@@ -1097,8 +1335,8 @@ export class DamageBoostAbAttr extends PreAttackAbAttr {
* @param args Utils.NumberHolder as damage
* @returns true if the function succeeds
*/
- applyPreAttack(pokemon: Pokemon, passive: boolean, defender: Pokemon, move: PokemonMove, args: any[]): boolean {
- if (this.condition(pokemon, defender, move.getMove())) {
+ applyPreAttack(pokemon: Pokemon, passive: boolean, defender: Pokemon, move: Move, args: any[]): boolean {
+ if (this.condition(pokemon, defender, move)) {
const power = args[0] as Utils.NumberHolder;
power.value = Math.floor(power.value * this.damageMultiplier);
return true;
@@ -1118,8 +1356,8 @@ export class MovePowerBoostAbAttr extends VariableMovePowerAbAttr {
this.powerMultiplier = powerMultiplier;
}
- applyPreAttack(pokemon: Pokemon, passive: boolean, defender: Pokemon, move: PokemonMove, args: any[]): boolean {
- if (this.condition(pokemon, defender, move.getMove())) {
+ applyPreAttack(pokemon: Pokemon, passive: boolean, defender: Pokemon, move: Move, args: any[]): boolean {
+ if (this.condition(pokemon, defender, move)) {
(args[0] as Utils.NumberHolder).value *= this.powerMultiplier;
return true;
@@ -1165,8 +1403,8 @@ export class VariableMovePowerBoostAbAttr extends VariableMovePowerAbAttr {
/**
* @override
*/
- applyPreAttack(pokemon: Pokemon, passive: boolean, defender: Pokemon, move: PokemonMove, args: any[]): boolean {
- const multiplier = this.mult(pokemon, defender, move.getMove());
+ applyPreAttack(pokemon: Pokemon, passive: boolean, defender: Pokemon, move, args: any[]): boolean {
+ const multiplier = this.mult(pokemon, defender, move);
if (multiplier !== 1) {
(args[0] as Utils.NumberHolder).value *= multiplier;
return true;
@@ -1176,25 +1414,26 @@ export class VariableMovePowerBoostAbAttr extends VariableMovePowerAbAttr {
}
}
-export class FieldVariableMovePowerAbAttr extends AbAttr {
- applyPreAttack(pokemon: Pokemon, passive: boolean, defender: Pokemon, move: PokemonMove, args: any[]): boolean {
- //const power = args[0] as Utils.NumberHolder;
- return false;
- }
-}
-
-export class FieldMovePowerBoostAbAttr extends FieldVariableMovePowerAbAttr {
+/**
+ * Boosts the power of a Pokémon's move under certain conditions.
+ * @extends AbAttr
+ */
+export class FieldMovePowerBoostAbAttr extends AbAttr {
private condition: PokemonAttackCondition;
private powerMultiplier: number;
+ /**
+ * @param condition - A function that determines whether the power boost condition is met.
+ * @param powerMultiplier - The multiplier to apply to the move's power when the condition is met.
+ */
constructor(condition: PokemonAttackCondition, powerMultiplier: number) {
super(false);
this.condition = condition;
this.powerMultiplier = powerMultiplier;
}
- applyPreAttack(pokemon: Pokemon, passive: boolean, defender: Pokemon, move: PokemonMove, args: any[]): boolean {
- if (this.condition(pokemon, defender, move.getMove())) {
+ applyPreAttack(pokemon: Pokemon, passive: boolean, defender: Pokemon, move: Move, args: any[]): boolean {
+ if (this.condition(pokemon, defender, move)) {
(args[0] as Utils.NumberHolder).value *= this.powerMultiplier;
return true;
@@ -1204,12 +1443,46 @@ export class FieldMovePowerBoostAbAttr extends FieldVariableMovePowerAbAttr {
}
}
-export class FieldMoveTypePowerBoostAbAttr extends FieldMovePowerBoostAbAttr {
+/**
+ * Boosts the power of a specific type of move.
+ * @extends FieldMovePowerBoostAbAttr
+ */
+export class PreAttackFieldMoveTypePowerBoostAbAttr extends FieldMovePowerBoostAbAttr {
+ /**
+ * @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) {
super((pokemon, defender, move) => move.type === boostedType, powerMultiplier || 1.5);
}
}
+/**
+ * Boosts the power of a specific type of move for all Pokemon in the field.
+ * @extends PreAttackFieldMoveTypePowerBoostAbAttr
+ */
+export class FieldMoveTypePowerBoostAbAttr extends PreAttackFieldMoveTypePowerBoostAbAttr { }
+
+/**
+ * Boosts the power of a specific type of move for the user and its allies.
+ * @extends PreAttackFieldMoveTypePowerBoostAbAttr
+ */
+export class UserFieldMoveTypePowerBoostAbAttr extends PreAttackFieldMoveTypePowerBoostAbAttr { }
+
+/**
+ * Boosts the power of moves in specified categories.
+ * @extends FieldMovePowerBoostAbAttr
+ */
+export class AllyMoveCategoryPowerBoostAbAttr extends FieldMovePowerBoostAbAttr {
+ /**
+ * @param boostedCategories - The categories of moves that will receive the power boost.
+ * @param powerMultiplier - The multiplier to apply to the move's power.
+ */
+ constructor(boostedCategories: MoveCategory[], powerMultiplier: number) {
+ super((pokemon, defender, move) => boostedCategories.includes(move.category), powerMultiplier);
+ }
+}
+
export class BattleStatMultiplierAbAttr extends AbAttr {
private battleStat: BattleStat;
private multiplier: number;
@@ -1235,7 +1508,7 @@ export class BattleStatMultiplierAbAttr extends AbAttr {
}
export class PostAttackAbAttr extends AbAttr {
- applyPostAttack(pokemon: Pokemon, passive: boolean, defender: Pokemon, move: PokemonMove, hitResult: HitResult, args: any[]): boolean | Promise {
+ applyPostAttack(pokemon: Pokemon, passive: boolean, defender: Pokemon, move: Move, hitResult: HitResult, args: any[]): boolean | Promise {
return false;
}
}
@@ -1249,9 +1522,9 @@ export class PostAttackStealHeldItemAbAttr extends PostAttackAbAttr {
this.condition = condition;
}
- applyPostAttack(pokemon: Pokemon, passive: boolean, defender: Pokemon, move: PokemonMove, hitResult: HitResult, args: any[]): Promise {
+ applyPostAttack(pokemon: Pokemon, passive: boolean, defender: Pokemon, move: Move, hitResult: HitResult, args: any[]): Promise {
return new Promise(resolve => {
- if (hitResult < HitResult.NO_EFFECT && (!this.condition || this.condition(pokemon, defender, move.getMove()))) {
+ if (hitResult < HitResult.NO_EFFECT && (!this.condition || this.condition(pokemon, defender, move))) {
const heldItems = this.getTargetHeldItems(defender).filter(i => i.getTransferrable(false));
if (heldItems.length) {
const stolenItem = heldItems[pokemon.randSeedInt(heldItems.length)];
@@ -1287,8 +1560,9 @@ export class PostAttackApplyStatusEffectAbAttr extends PostAttackAbAttr {
this.effects = effects;
}
- applyPostAttack(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: PokemonMove, hitResult: HitResult, args: any[]): boolean {
- if (pokemon !== attacker && (!this.contactRequired || move.getMove().checkFlag(MoveFlags.MAKES_CONTACT, attacker, pokemon)) && pokemon.randSeedInt(100) < this.chance && !pokemon.status) {
+ applyPostAttack(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: Move, hitResult: HitResult, args: any[]): boolean {
+ /**Status inflicted by abilities post attacking are also considered additional effects.*/
+ if (!attacker.hasAbilityWithAttr(IgnoreMoveEffectsAbAttr) && pokemon !== attacker && (!this.contactRequired || move.checkFlag(MoveFlags.MAKES_CONTACT, attacker, pokemon)) && pokemon.randSeedInt(100) < this.chance && !pokemon.status) {
const effect = this.effects.length === 1 ? this.effects[0] : this.effects[pokemon.randSeedInt(this.effects.length)];
return attacker.trySetStatus(effect, true, pokemon);
}
@@ -1305,11 +1579,11 @@ export class PostAttackContactApplyStatusEffectAbAttr extends PostAttackApplySta
export class PostAttackApplyBattlerTagAbAttr extends PostAttackAbAttr {
private contactRequired: boolean;
- private chance: (user: Pokemon, target: Pokemon, move: PokemonMove) => integer;
+ private chance: (user: Pokemon, target: Pokemon, move: Move) => integer;
private effects: BattlerTagType[];
- constructor(contactRequired: boolean, chance: (user: Pokemon, target: Pokemon, move: PokemonMove) => integer, ...effects: BattlerTagType[]) {
+ constructor(contactRequired: boolean, chance: (user: Pokemon, target: Pokemon, move: Move) => integer, ...effects: BattlerTagType[]) {
super();
this.contactRequired = contactRequired;
@@ -1317,11 +1591,10 @@ export class PostAttackApplyBattlerTagAbAttr extends PostAttackAbAttr {
this.effects = effects;
}
- applyPostAttack(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: PokemonMove, hitResult: HitResult, args: any[]): boolean {
- if (pokemon !== attacker && (!this.contactRequired || move.getMove().checkFlag(MoveFlags.MAKES_CONTACT, attacker, pokemon)) && pokemon.randSeedInt(100) < this.chance(attacker, pokemon, move) && !pokemon.status) {
+ applyPostAttack(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: Move, hitResult: HitResult, args: any[]): boolean {
+ /**Battler tags inflicted by abilities post attacking are also considered additional effects.*/
+ if (!attacker.hasAbilityWithAttr(IgnoreMoveEffectsAbAttr) && pokemon !== attacker && (!this.contactRequired || move.checkFlag(MoveFlags.MAKES_CONTACT, attacker, pokemon)) && pokemon.randSeedInt(100) < this.chance(attacker, pokemon, move) && !pokemon.status) {
const effect = this.effects.length === 1 ? this.effects[0] : this.effects[pokemon.randSeedInt(this.effects.length)];
-
-
return attacker.addTag(effect);
}
@@ -1338,9 +1611,9 @@ export class PostDefendStealHeldItemAbAttr extends PostDefendAbAttr {
this.condition = condition;
}
- applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: PokemonMove, hitResult: HitResult, args: any[]): Promise {
+ applyPostDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: Move, hitResult: HitResult, args: any[]): Promise {
return new Promise(resolve => {
- if (hitResult < HitResult.NO_EFFECT && (!this.condition || this.condition(pokemon, attacker, move.getMove()))) {
+ if (hitResult < HitResult.NO_EFFECT && (!this.condition || this.condition(pokemon, attacker, move))) {
const heldItems = this.getTargetHeldItems(attacker).filter(i => i.getTransferrable(false));
if (heldItems.length) {
const stolenItem = heldItems[pokemon.randSeedInt(heldItems.length)];
@@ -1521,11 +1794,44 @@ export class PostIntimidateStatChangeAbAttr extends AbAttr {
}
}
+/**
+ * Base class for defining all {@linkcode Ability} Attributes post summon
+ * @see {@linkcode applyPostSummon()}
+ */
export class PostSummonAbAttr extends AbAttr {
+ /**
+ * Applies ability post summon (after switching in)
+ * @param pokemon {@linkcode Pokemon} with this ability
+ * @param passive Whether this ability is a passive
+ * @param args Set of unique arguments needed by this attribute
+ * @returns true if application of the ability succeeds
+ */
applyPostSummon(pokemon: Pokemon, passive: boolean, args: any[]): boolean | Promise {
return false;
}
}
+/**
+ * Removes specified arena tags when a Pokemon is summoned.
+ */
+export class PostSummonRemoveArenaTagAbAttr extends PostSummonAbAttr {
+ private arenaTags: ArenaTagType[];
+
+ /**
+ * @param arenaTags {@linkcode ArenaTagType[]} - the arena tags to be removed
+ */
+ constructor(arenaTags: ArenaTagType[]) {
+ super(true);
+
+ this.arenaTags = arenaTags;
+ }
+
+ applyPostSummon(pokemon: Pokemon, passive: boolean, args: any[]): boolean | Promise {
+ for (const arenaTag of this.arenaTags) {
+ pokemon.scene.arena.removeTag(arenaTag);
+ }
+ return true;
+ }
+}
export class PostSummonMessageAbAttr extends PostSummonAbAttr {
private messageFunc: (pokemon: Pokemon) => string;
@@ -1596,7 +1902,9 @@ export class PostSummonStatChangeAbAttr extends PostSummonAbAttr {
applyPostSummon(pokemon: Pokemon, passive: boolean, args: any[]): boolean {
queueShowAbility(pokemon, passive); // TODO: Better solution than manually showing the ability here
if (this.selfTarget) {
- pokemon.scene.pushPhase(new StatChangePhase(pokemon.scene, pokemon.getBattlerIndex(), true, this.stats, this.levels));
+ // we unshift the StatChangePhase to put it right after the showAbility and not at the end of the
+ // phase list (which could be after CommandPhase for example)
+ pokemon.scene.unshiftPhase(new StatChangePhase(pokemon.scene, pokemon.getBattlerIndex(), true, this.stats, this.levels));
return true;
}
for (const opponent of pokemon.getOpponents()) {
@@ -1693,15 +2001,13 @@ export class DownloadAbAttr extends PostSummonAbAttr {
this.enemySpDef = 0;
this.enemyCountTally = 0;
- if (pokemon.getOpponents()[0].summonData !== undefined) {
- for (const opponent of pokemon.getOpponents()) {
- this.enemyCountTally++;
- this.enemyDef += opponent.getBattleStat(Stat.DEF);
- this.enemySpDef += opponent.getBattleStat(Stat.SPDEF);
- }
- this.enemyDef = Math.round(this.enemyDef / this.enemyCountTally);
- this.enemySpDef = Math.round(this.enemySpDef / this.enemyCountTally);
+ for (const opponent of pokemon.getOpponents()) {
+ this.enemyCountTally++;
+ this.enemyDef += opponent.getBattleStat(Stat.DEF);
+ this.enemySpDef += opponent.getBattleStat(Stat.SPDEF);
}
+ this.enemyDef = Math.round(this.enemyDef / this.enemyCountTally);
+ this.enemySpDef = Math.round(this.enemySpDef / this.enemyCountTally);
if (this.enemyDef < this.enemySpDef) {
this.stats = [BattleStat.ATK];
@@ -1728,7 +2034,9 @@ export class PostSummonWeatherChangeAbAttr extends PostSummonAbAttr {
}
applyPostSummon(pokemon: Pokemon, passive: boolean, args: any[]): boolean {
- if (!pokemon.scene.arena.weather?.isImmutable()) {
+ if ((this.weatherType === WeatherType.HEAVY_RAIN ||
+ this.weatherType === WeatherType.HARSH_SUN ||
+ this.weatherType === WeatherType.STRONG_WINDS) || !pokemon.scene.arena.weather?.isImmutable()) {
return pokemon.scene.arena.trySetWeather(this.weatherType, true);
}
@@ -1769,7 +2077,11 @@ export class PostSummonFormChangeAbAttr extends PostSummonAbAttr {
}
}
-export class TraceAbAttr extends PostSummonAbAttr {
+/** Attempts to copy a pokemon's ability */
+export class PostSummonCopyAbilityAbAttr extends PostSummonAbAttr {
+ private target: Pokemon;
+ private targetAbilityName: string;
+
applyPostSummon(pokemon: Pokemon, passive: boolean, args: any[]): boolean {
const targets = pokemon.getOpponents();
if (!targets.length) {
@@ -1783,17 +2095,57 @@ export class TraceAbAttr extends PostSummonAbAttr {
target = targets[0];
}
- // Wonder Guard is normally uncopiable so has the attribute, but trace specifically can copy it
- if (target.getAbility().hasAttr(UncopiableAbilityAbAttr) && target.getAbility().id !== Abilities.WONDER_GUARD) {
+ if (
+ target.getAbility().hasAttr(UncopiableAbilityAbAttr) &&
+ // Wonder Guard is normally uncopiable so has the attribute, but Trace specifically can copy it
+ !(pokemon.hasAbility(Abilities.TRACE) && target.getAbility().id === Abilities.WONDER_GUARD)
+ ) {
return false;
}
+ this.target = target;
+ this.targetAbilityName = allAbilities[target.getAbility().id].name;
pokemon.summonData.ability = target.getAbility().id;
-
- pokemon.scene.queueMessage(getPokemonMessage(pokemon, ` traced ${target.name}'s\n${allAbilities[target.getAbility().id].name}!`));
+ setAbilityRevealed(target);
+ pokemon.updateInfo();
return true;
}
+
+ getTriggerMessage(pokemon: Pokemon, abilityName: string, ...args: any[]): string {
+ return i18next.t("abilityTriggers:trace", {
+ pokemonName: getPokemonNameWithAffix(pokemon),
+ targetName: getPokemonNameWithAffix(this.target),
+ abilityName: this.targetAbilityName,
+ });
+ }
+}
+
+
+/** Attempt to copy the stat changes on an ally pokemon */
+export class PostSummonCopyAllyStatsAbAttr extends PostSummonAbAttr {
+ applyPostSummon(pokemon: Pokemon, passive: boolean, args: any[]): boolean {
+ if (!pokemon.scene.currentBattle.double) {
+ return false;
+ }
+
+ const ally = pokemon.getAlly();
+ if (!ally || ally.summonData.battleStats.every((change) => change === 0)) {
+ return false;
+ }
+
+ pokemon.summonData.battleStats = ally.summonData.battleStats;
+ pokemon.updateInfo();
+
+ return true;
+ }
+
+ getTriggerMessage(pokemon: Pokemon, abilityName: string, ...args: any[]): string {
+ return i18next.t("abilityTriggers:costar", {
+ pokemonName: getPokemonNameWithAffix(pokemon),
+ allyName: getPokemonNameWithAffix(pokemon.getAlly()),
+ });
+ }
}
export class PostSummonTransformAbAttr extends PostSummonAbAttr {
@@ -1856,6 +2208,52 @@ export class PreSwitchOutResetStatusAbAttr extends PreSwitchOutAbAttr {
}
}
+/**
+ * Clears Desolate Land/Primordial Sea/Delta Stream upon the Pokemon switching out.
+ */
+export class PreSwitchOutClearWeatherAbAttr extends PreSwitchOutAbAttr {
+
+ /**
+ * @param pokemon The {@linkcode Pokemon} with the ability
+ * @param passive N/A
+ * @param args N/A
+ * @returns {boolean} Returns true if the weather clears, otherwise false.
+ */
+ applyPreSwitchOut(pokemon: Pokemon, passive: boolean, args: any[]): boolean | Promise {
+ const weatherType = pokemon.scene.arena.weather.weatherType;
+ let turnOffWeather = false;
+
+ // Clear weather only if user's ability matches the weather and no other pokemon has the ability.
+ switch (weatherType) {
+ case (WeatherType.HARSH_SUN):
+ if (pokemon.hasAbility(Abilities.DESOLATE_LAND)
+ && pokemon.scene.getField(true).filter(p => p !== pokemon).filter(p => p.hasAbility(Abilities.DESOLATE_LAND)).length === 0) {
+ turnOffWeather = true;
+ }
+ break;
+ case (WeatherType.HEAVY_RAIN):
+ if (pokemon.hasAbility(Abilities.PRIMORDIAL_SEA)
+ && pokemon.scene.getField(true).filter(p => p !== pokemon).filter(p => p.hasAbility(Abilities.PRIMORDIAL_SEA)).length === 0) {
+ turnOffWeather = true;
+ }
+ break;
+ case (WeatherType.STRONG_WINDS):
+ if (pokemon.hasAbility(Abilities.DELTA_STREAM)
+ && pokemon.scene.getField(true).filter(p => p !== pokemon).filter(p => p.hasAbility(Abilities.DELTA_STREAM)).length === 0) {
+ turnOffWeather = true;
+ }
+ break;
+ }
+
+ if (turnOffWeather) {
+ pokemon.scene.arena.trySetWeather(WeatherType.NONE, false);
+ return true;
+ }
+
+ return false;
+ }
+}
+
export class PreSwitchOutHealAbAttr extends PreSwitchOutAbAttr {
applyPreSwitchOut(pokemon: Pokemon, passive: boolean, args: any[]): boolean | Promise {
if (pokemon.getHpRatio() < 1 ) {
@@ -1956,9 +2354,9 @@ export class ConfusionOnStatusEffectAbAttr extends PostAttackAbAttr {
* @param args [0] {@linkcode StatusEffect} applied by move
* @returns true if defender is confused
*/
- applyPostAttack(pokemon: Pokemon, passive: boolean, defender: Pokemon, move: PokemonMove, hitResult: HitResult, args: any[]): boolean {
+ applyPostAttack(pokemon: Pokemon, passive: boolean, defender: Pokemon, move: Move, hitResult: HitResult, args: any[]): boolean {
if (this.effects.indexOf(args[0]) > -1 && !defender.isFainted()) {
- return defender.addTag(BattlerTagType.CONFUSED, pokemon.randSeedInt(3,2), move.moveId, defender.id);
+ return defender.addTag(BattlerTagType.CONFUSED, pokemon.randSeedInt(3,2), move.id, defender.id);
}
return false;
}
@@ -2098,7 +2496,7 @@ export class BlockNonDirectDamageAbAttr extends AbAttr {
/**
* This attribute will block any status damage that you put in the parameter.
*/
-export class BlockStatusDamageAbAttr extends BlockNonDirectDamageAbAttr {
+export class BlockStatusDamageAbAttr extends AbAttr {
private effects: StatusEffect[];
/**
@@ -2118,7 +2516,7 @@ export class BlockStatusDamageAbAttr extends BlockNonDirectDamageAbAttr {
* @returns Returns true if status damage is blocked
*/
apply(pokemon: Pokemon, passive: boolean, cancelled: Utils.BooleanHolder, args: any[]): boolean {
- if (this.effects.includes(pokemon.status.effect)) {
+ if (this.effects.includes(pokemon.status?.effect)) {
cancelled.value = true;
return true;
}
@@ -2201,8 +2599,40 @@ export class SuppressWeatherEffectAbAttr extends PreWeatherEffectAbAttr {
}
}
+/**
+ * Condition function to applied to abilities related to Sheer Force.
+ * Checks if last move used against target was affected by a Sheer Force user and:
+ * Disables: Color Change, Pickpocket, Wimp Out, Emergency Exit, Berserk, Anger Shell
+ * @returns {AbAttrCondition} If false disables the ability which the condition is applied to.
+ */
+function getSheerForceHitDisableAbCondition(): AbAttrCondition {
+ return (pokemon: Pokemon) => {
+ if (!pokemon.turnData) {
+ return true;
+ }
+
+ const lastReceivedAttack = pokemon.turnData.attacksReceived[0];
+ if (!lastReceivedAttack) {
+ return true;
+ }
+
+ const lastAttacker = pokemon.getOpponents().find(p => p.id === lastReceivedAttack.sourceId);
+ if (!lastAttacker) {
+ return true;
+ }
+
+ /**if the last move chance is greater than or equal to cero, and the last attacker's ability is sheer force*/
+ const SheerForceAffected = allMoves[lastReceivedAttack.move].chance >= 0 && lastAttacker.hasAbility(Abilities.SHEER_FORCE);
+
+ return !SheerForceAffected;
+ };
+}
+
function getWeatherCondition(...weatherTypes: WeatherType[]): AbAttrCondition {
return (pokemon: Pokemon) => {
+ if (!pokemon.scene?.arena) {
+ return false;
+ }
if (pokemon.scene.arena.weather?.isEffectSuppressed(pokemon.scene)) {
return false;
}
@@ -2216,7 +2646,7 @@ function getAnticipationCondition(): AbAttrCondition {
for (const opponent of pokemon.getOpponents()) {
for (const move of opponent.moveset) {
// move is super effective
- if (move.getMove() instanceof AttackMove && pokemon.getAttackTypeEffectiveness(move.getMove().type, opponent) >= 2) {
+ if (move.getMove() instanceof AttackMove && pokemon.getAttackTypeEffectiveness(move.getMove().type, opponent, true) >= 2) {
return true;
}
// move is a OHKO
@@ -2303,6 +2733,7 @@ export class FriskAbAttr extends PostSummonAbAttr {
applyPostSummon(pokemon: Pokemon, passive: boolean, args: any[]): boolean {
for (const opponent of pokemon.getOpponents()) {
pokemon.scene.queueMessage(getPokemonMessage(pokemon, " frisked " + opponent.name + "'s " + opponent.getAbility().name + "!"));
+ setAbilityRevealed(opponent);
}
return true;
}
@@ -2387,15 +2818,11 @@ export class PostWeatherLapseDamageAbAttr extends PostWeatherLapseAbAttr {
}
applyPostWeatherLapse(pokemon: Pokemon, passive: boolean, weather: Weather, args: any[]): boolean {
- if (pokemon.getHpRatio() < 1) {
- const scene = pokemon.scene;
- const abilityName = (!passive ? pokemon.getAbility() : pokemon.getPassiveAbility()).name;
- scene.queueMessage(getPokemonMessage(pokemon, ` is hurt\nby its ${abilityName}!`));
- pokemon.damageAndUpdate(Math.ceil(pokemon.getMaxHp() / (16 / this.damageFactor)), HitResult.OTHER);
- return true;
- }
-
- return false;
+ const scene = pokemon.scene;
+ const abilityName = (!passive ? pokemon.getAbility() : pokemon.getPassiveAbility()).name;
+ scene.queueMessage(getPokemonMessage(pokemon, ` is hurt\nby its ${abilityName}!`));
+ pokemon.damageAndUpdate(Math.ceil(pokemon.getMaxHp() / (16 / this.damageFactor)), HitResult.OTHER);
+ return true;
}
}
@@ -2462,7 +2889,7 @@ export class PostTurnStatusHealAbAttr extends PostTurnAbAttr {
* @returns Returns true if healed from status, false if not
*/
applyPostTurn(pokemon: Pokemon, passive: boolean, args: any[]): boolean | Promise {
- if (this.effects.includes(pokemon.status.effect)) {
+ if (this.effects.includes(pokemon.status?.effect)) {
if (pokemon.getMaxHp() !== pokemon.hp) {
const scene = pokemon.scene;
const abilityName = (!passive ? pokemon.getAbility() : pokemon.getPassiveAbility()).name;
@@ -2496,7 +2923,7 @@ export class PostTurnResetStatusAbAttr extends PostTurnAbAttr {
}
if (this.target?.status) {
- this.target.scene.queueMessage(getPokemonMessage(this.target, getStatusEffectHealText(this.target.status?.effect)));
+ this.target.scene.queueMessage(getStatusEffectHealText(this.target.status?.effect, getPokemonNameWithAffix(this.target)));
this.target.resetStatus(false);
this.target.updateInfo();
return true;
@@ -2561,7 +2988,7 @@ export class PostTurnLootAbAttr extends PostTurnAbAttr {
if (!berryModifier) {
pokemon.scene.addModifier(new BerryModifier(chosenBerry, pokemon.id, chosenBerryType, 1));
- } else {
+ } else if (berryModifier.stackCount < berryModifier.getMaxHeldItemCount(pokemon)) {
berryModifier.stackCount++;
}
@@ -2666,7 +3093,7 @@ export class PostTurnHurtIfSleepingAbAttr extends PostTurnAbAttr {
for (const opp of pokemon.getOpponents()) {
if (opp.status?.effect === StatusEffect.SLEEP || opp.hasAbility(Abilities.COMATOSE)) {
opp.damageAndUpdate(Math.floor(Math.max(1, opp.getMaxHp() / 8)), HitResult.OTHER);
- pokemon.scene.queueMessage(i18next.t("abilityTriggers:badDreams", {pokemonName: `${getPokemonPrefix(opp)}${opp.name}`}));
+ pokemon.scene.queueMessage(i18next.t("abilityTriggers:badDreams", {pokemonName: getPokemonNameWithAffix(opp)}));
hadEffect = true;
}
@@ -2764,8 +3191,12 @@ export class PostDancingMoveAbAttr extends PostMoveUsedAbAttr {
* @return true if the Dancer ability was resolved
*/
applyPostMoveUsed(dancer: Pokemon, move: PokemonMove, source: Pokemon, targets: BattlerIndex[], args: any[]): boolean | Promise {
+ // List of tags that prevent the Dancer from replicating the move
+ const forbiddenTags = [BattlerTagType.FLYING, BattlerTagType.UNDERWATER,
+ BattlerTagType.UNDERGROUND, BattlerTagType.HIDDEN];
// The move to replicate cannot come from the Dancer
- if (source.getBattlerIndex() !== dancer.getBattlerIndex()) {
+ if (source.getBattlerIndex() !== dancer.getBattlerIndex()
+ && !dancer.summonData.tags.some(tag => forbiddenTags.includes(tag.tagType))) {
// If the move is an AttackMove or a StatusMove the Dancer must replicate the move on the source of the Dance
if (move.getMove() instanceof AttackMove || move.getMove() instanceof StatusMove) {
const target = this.getTarget(dancer, source, targets);
@@ -2774,8 +3205,9 @@ export class PostDancingMoveAbAttr extends PostMoveUsedAbAttr {
// If the move is a SelfStatusMove (ie. Swords Dance) the Dancer should replicate it on itself
dancer.scene.unshiftPhase(new MovePhase(dancer.scene, dancer, [dancer.getBattlerIndex()], move, true));
}
+ return true;
}
- return true;
+ return false;
}
/**
@@ -2915,6 +3347,7 @@ export class ArenaTrapAbAttr extends CheckTrappedAbAttr {
/**
* Checks if enemy Pokemon is trapped by an Arena Trap-esque ability
* If the enemy is a Ghost type, it is not trapped
+ * If the enemy has the ability Run Away, it is not trapped.
* If the user has Magnet Pull and the enemy is not a Steel type, it is not trapped.
* If the user has Arena Trap and the enemy is not grounded, it is not trapped.
* @param pokemon The {@link Pokemon} with this {@link AbAttr}
@@ -2929,6 +3362,9 @@ export class ArenaTrapAbAttr extends CheckTrappedAbAttr {
if (otherPokemon.getTypes(true).includes(Type.GHOST) || (otherPokemon.getTypes(true).includes(Type.STELLAR) && otherPokemon.getTypes().includes(Type.GHOST))) {
trapped.value = false;
return false;
+ } else if (otherPokemon.hasAbility(Abilities.RUN_AWAY)) {
+ trapped.value = false;
+ return false;
}
trapped.value = true;
return true;
@@ -2977,7 +3413,56 @@ export class PostBattleLootAbAttr extends PostBattleAbAttr {
}
export class PostFaintAbAttr extends AbAttr {
- applyPostFaint(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: PokemonMove, hitResult: HitResult, args: any[]): boolean {
+ applyPostFaint(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: Move, hitResult: HitResult, args: any[]): boolean {
+ return false;
+ }
+}
+
+/**
+ * Clears Desolate Land/Primordial Sea/Delta Stream upon the Pokemon fainting
+ */
+export class PostFaintClearWeatherAbAttr extends PostFaintAbAttr {
+
+ /**
+ * @param pokemon The {@linkcode Pokemon} with the ability
+ * @param passive N/A
+ * @param attacker N/A
+ * @param move N/A
+ * @param hitResult N/A
+ * @param args N/A
+ * @returns {boolean} Returns true if the weather clears, otherwise false.
+ */
+ applyPostFaint(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: Move, hitResult: HitResult, args: any[]): boolean {
+ const weatherType = pokemon.scene.arena.weather.weatherType;
+ let turnOffWeather = false;
+
+ // Clear weather only if user's ability matches the weather and no other pokemon has the ability.
+ switch (weatherType) {
+ case (WeatherType.HARSH_SUN):
+ if (pokemon.hasAbility(Abilities.DESOLATE_LAND)
+ && pokemon.scene.getField(true).filter(p => p.hasAbility(Abilities.DESOLATE_LAND)).length === 0) {
+ turnOffWeather = true;
+ }
+ break;
+ case (WeatherType.HEAVY_RAIN):
+ if (pokemon.hasAbility(Abilities.PRIMORDIAL_SEA)
+ && pokemon.scene.getField(true).filter(p => p.hasAbility(Abilities.PRIMORDIAL_SEA)).length === 0) {
+ turnOffWeather = true;
+ }
+ break;
+ case (WeatherType.STRONG_WINDS):
+ if (pokemon.hasAbility(Abilities.DELTA_STREAM)
+ && pokemon.scene.getField(true).filter(p => p.hasAbility(Abilities.DELTA_STREAM)).length === 0) {
+ turnOffWeather = true;
+ }
+ break;
+ }
+
+ if (turnOffWeather) {
+ pokemon.scene.arena.trySetWeather(WeatherType.NONE, false);
+ return true;
+ }
+
return false;
}
}
@@ -2991,8 +3476,8 @@ export class PostFaintContactDamageAbAttr extends PostFaintAbAttr {
this.damageRatio = damageRatio;
}
- applyPostFaint(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: PokemonMove, hitResult: HitResult, args: any[]): boolean {
- if (move.getMove().checkFlag(MoveFlags.MAKES_CONTACT, attacker, pokemon)) {
+ applyPostFaint(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: Move, hitResult: HitResult, args: any[]): boolean {
+ if (move.checkFlag(MoveFlags.MAKES_CONTACT, attacker, pokemon)) {
const cancelled = new Utils.BooleanHolder(false);
pokemon.scene.getField(true).map(p=>applyAbAttrs(FieldPreventExplosiveMovesAbAttr, p, cancelled));
if (cancelled.value) {
@@ -3019,7 +3504,7 @@ export class PostFaintHPDamageAbAttr extends PostFaintAbAttr {
super ();
}
- applyPostFaint(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: PokemonMove, hitResult: HitResult, args: any[]): boolean {
+ applyPostFaint(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: Move, hitResult: HitResult, args: any[]): boolean {
const damage = pokemon.turnData.attacksReceived[0].damage;
attacker.damageAndUpdate((damage), HitResult.OTHER);
attacker.turnData.damageTaken += damage;
@@ -3199,6 +3684,9 @@ export class SuppressFieldAbilitiesAbAttr extends AbAttr {
export class AlwaysHitAbAttr extends AbAttr { }
+/** Attribute for abilities that allow moves that make contact to ignore protection (i.e. Unseen Fist) */
+export class IgnoreProtectOnContactAbAttr extends AbAttr { }
+
export class UncopiableAbilityAbAttr extends AbAttr {
constructor() {
super(false);
@@ -3339,10 +3827,105 @@ export class PostSummonStatChangeOnArenaAbAttr extends PostSummonStatChangeAbAtt
}
}
-function applyAbAttrsInternal(attrType: { new(...args: any[]): TAttr },
+/**
+ * Takes no damage from the first hit of a physical move.
+ * This is used in Ice Face ability.
+ */
+export class IceFaceBlockPhysicalAbAttr extends ReceivedMoveDamageMultiplierAbAttr {
+ private multiplier: number;
+
+ constructor(condition: PokemonDefendCondition, multiplier: number) {
+ super(condition, multiplier);
+
+ this.multiplier = multiplier;
+ }
+
+ /**
+ * Applies the Ice Face pre-defense ability to the Pokémon.
+ * Removes BattlerTagType.ICE_FACE when hit by physical attack and is in Ice Face form.
+ *
+ * @param {Pokemon} pokemon - The Pokémon with the Ice Face ability.
+ * @param {boolean} passive - Whether the ability is passive.
+ * @param {Pokemon} attacker - The attacking Pokémon.
+ * @param {PokemonMove} move - The move being used.
+ * @param {Utils.BooleanHolder} cancelled - A holder for whether the move was cancelled.
+ * @param {any[]} args - Additional arguments.
+ * @returns {boolean} - Whether the immunity was applied.
+ */
+ applyPreDefend(pokemon: Pokemon, passive: boolean, attacker: Pokemon, move: Move, cancelled: Utils.BooleanHolder, args: any[]): boolean {
+ if (this.condition(pokemon, attacker, move)) {
+ (args[0] as Utils.NumberHolder).value = this.multiplier;
+ pokemon.removeTag(BattlerTagType.ICE_FACE);
+ return true;
+ }
+
+ return false;
+ }
+
+ /**
+ * Gets the message triggered when the Pokémon avoids damage using the Ice Face ability.
+ * @param {Pokemon} pokemon - The Pokémon with the Ice Face ability.
+ * @param {string} abilityName - The name of the ability.
+ * @param {...any} args - Additional arguments.
+ * @returns {string} - The trigger message.
+ */
+ getTriggerMessage(pokemon: Pokemon, abilityName: string, ...args: any[]): string {
+ return i18next.t("abilityTriggers:iceFaceAvoidedDamage", { pokemonName: pokemon.name, abilityName: abilityName });
+ }
+}
+
+/**
+ * If a Pokémon with this Ability selects a damaging move, it has a 30% chance of going first in its priority bracket. If the Ability activates, this is announced at the start of the turn (after move selection).
+ *
+ * @extends AbAttr
+ */
+export class BypassSpeedChanceAbAttr extends AbAttr {
+ public chance: integer;
+
+ /**
+ * @param {integer} chance probability of ability being active.
+ */
+ constructor(chance: integer) {
+ super(true);
+ this.chance = chance;
+ }
+
+ /**
+ * bypass move order in their priority bracket when pokemon choose damaging move
+ * @param {Pokemon} pokemon {@linkcode Pokemon} the Pokemon applying this ability
+ * @param {boolean} passive N/A
+ * @param {Utils.BooleanHolder} cancelled N/A
+ * @param {any[]} args [0] {@linkcode Utils.BooleanHolder} set to true when the ability activated
+ * @returns {boolean} - whether the ability was activated.
+ */
+ apply(pokemon: Pokemon, passive: boolean, cancelled: Utils.BooleanHolder, args: any[]): boolean {
+ const bypassSpeed = args[0] as Utils.BooleanHolder;
+
+ if (!bypassSpeed.value && pokemon.randSeedInt(100) < this.chance) {
+ const turnCommand =
+ pokemon.scene.currentBattle.turnCommands[pokemon.getBattlerIndex()];
+ const isCommandFight = turnCommand?.command === Command.FIGHT;
+ const move = allMoves[turnCommand.move?.move];
+ const isDamageMove = move?.category === MoveCategory.PHYSICAL || move?.category === MoveCategory.SPECIAL;
+
+ if (isCommandFight && isDamageMove) {
+ bypassSpeed.value = true;
+ return true;
+ }
+ }
+
+ return false;
+ }
+
+ getTriggerMessage(pokemon: Pokemon, abilityName: string, ...args: any[]): string {
+ return i18next.t("abilityTriggers:quickDraw", {pokemonName: getPokemonNameWithAffix(pokemon)});
+ }
+}
+
+function applyAbAttrsInternal(attrType: Constructor,
pokemon: Pokemon, applyFunc: AbAttrApplyFunc, args: any[], isAsync: boolean = false, showAbilityInstant: boolean = false, quiet: boolean = false, passive: boolean = false): Promise {
return new Promise(resolve => {
- if (!pokemon.canApplyAbility(passive, args[0])) {
+ if (!pokemon.canApplyAbility(passive)) {
if (!passive) {
return applyAbAttrsInternal(attrType, pokemon, applyFunc, args, isAsync, showAbilityInstant, quiet, true).then(() => resolve());
} else {
@@ -3354,7 +3937,7 @@ function applyAbAttrsInternal(attrType: { new(...args: any
const attrs = ability.getAttrs(attrType);
const clearSpliceQueueAndResolve = () => {
- pokemon.scene.clearPhaseQueueSplice();
+ pokemon.scene?.clearPhaseQueueSplice();
if (!passive) {
return applyAbAttrsInternal(attrType, pokemon, applyFunc, args, isAsync, showAbilityInstant, quiet, true).then(() => resolve());
} else {
@@ -3374,6 +3957,9 @@ function applyAbAttrsInternal(attrType: { new(...args: any
}
pokemon.scene.setPhaseQueueSplice();
const onApplySuccess = () => {
+ if (pokemon.summonData && !pokemon.summonData.abilitiesApplied.includes(ability.id)) {
+ pokemon.summonData.abilitiesApplied.push(ability.id);
+ }
if (pokemon.battleData && !pokemon.battleData.abilitiesApplied.includes(ability.id)) {
pokemon.battleData.abilitiesApplied.push(ability.id);
}
@@ -3414,124 +4000,139 @@ function applyAbAttrsInternal(attrType: { new(...args: any
});
}
-export function applyAbAttrs(attrType: { new(...args: any[]): AbAttr }, pokemon: Pokemon, cancelled: Utils.BooleanHolder, ...args: any[]): Promise {
+export function applyAbAttrs(attrType: Constructor, pokemon: Pokemon, cancelled: Utils.BooleanHolder, ...args: any[]): Promise {
return applyAbAttrsInternal(attrType, pokemon, (attr, passive) => attr.apply(pokemon, passive, cancelled, args), args);
}
-export function applyPostBattleInitAbAttrs(attrType: { new(...args: any[]): PostBattleInitAbAttr },
+export function applyPostBattleInitAbAttrs(attrType: Constructor,
pokemon: Pokemon, ...args: any[]): Promise {
return applyAbAttrsInternal(attrType, pokemon, (attr, passive) => attr.applyPostBattleInit(pokemon, passive, args), args);
}
-export function applyPreDefendAbAttrs(attrType: { new(...args: any[]): PreDefendAbAttr },
- pokemon: Pokemon, attacker: Pokemon, move: PokemonMove, cancelled: Utils.BooleanHolder, ...args: any[]): Promise {
+export function applyPreDefendAbAttrs(attrType: Constructor,
+ pokemon: Pokemon, attacker: Pokemon, move: Move, cancelled: Utils.BooleanHolder, ...args: any[]): Promise {
const simulated = args.length > 1 && args[1];
return applyAbAttrsInternal(attrType, pokemon, (attr, passive) => attr.applyPreDefend(pokemon, passive, attacker, move, cancelled, args), args, false, false, simulated);
}
-export function applyPostDefendAbAttrs(attrType: { new(...args: any[]): PostDefendAbAttr },
- pokemon: Pokemon, attacker: Pokemon, move: PokemonMove, hitResult: HitResult, ...args: any[]): Promise {
+export function applyPostDefendAbAttrs(attrType: Constructor,
+ pokemon: Pokemon, attacker: Pokemon, move: Move, hitResult: HitResult, ...args: any[]): Promise {
return applyAbAttrsInternal(attrType, pokemon, (attr, passive) => attr.applyPostDefend(pokemon, passive, attacker, move, hitResult, args), args);
}
-export function applyPostMoveUsedAbAttrs(attrType: { new(...args: any[]): PostMoveUsedAbAttr },
+export function applyPostMoveUsedAbAttrs(attrType: Constructor,
pokemon: Pokemon, move: PokemonMove, source: Pokemon, targets: BattlerIndex[], ...args: any[]): Promise {
return applyAbAttrsInternal(attrType, pokemon, (attr, passive) => attr.applyPostMoveUsed(pokemon, move, source, targets, args), args);
}
-export function applyBattleStatMultiplierAbAttrs(attrType: { new(...args: any[]): BattleStatMultiplierAbAttr },
+export function applyBattleStatMultiplierAbAttrs(attrType: Constructor,
pokemon: Pokemon, battleStat: BattleStat, statValue: Utils.NumberHolder, ...args: any[]): Promise {
return applyAbAttrsInternal(attrType, pokemon, (attr, passive) => attr.applyBattleStat(pokemon, passive, battleStat, statValue, args), args);
}
-export function applyPreAttackAbAttrs(attrType: { new(...args: any[]): PreAttackAbAttr },
- pokemon: Pokemon, defender: Pokemon, move: PokemonMove, ...args: any[]): Promise {
+/**
+ * Applies a field Battle Stat multiplier attribute
+ * @param attrType {@linkcode FieldMultiplyBattleStatAbAttr} should always be FieldMultiplyBattleStatAbAttr for the time being
+ * @param pokemon {@linkcode Pokemon} the Pokemon applying this ability
+ * @param stat {@linkcode Stat} the type of the checked stat
+ * @param statValue {@linkcode Utils.NumberHolder} the value of the checked stat
+ * @param checkedPokemon {@linkcode Pokemon} the Pokemon with the checked stat
+ * @param hasApplied {@linkcode Utils.BooleanHolder} whether or not a FieldMultiplyBattleStatAbAttr has already affected this stat
+ * @param args unused
+ */
+export function applyFieldBattleStatMultiplierAbAttrs(attrType: Constructor,
+ pokemon: Pokemon, stat: Stat, statValue: Utils.NumberHolder, checkedPokemon: Pokemon, hasApplied: Utils.BooleanHolder, ...args: any[]): Promise {
+ return applyAbAttrsInternal(attrType, pokemon, (attr, passive) => attr.applyFieldBattleStat(pokemon, passive, stat, statValue, checkedPokemon, hasApplied, args), args);
+}
+
+export function applyPreAttackAbAttrs(attrType: Constructor,
+ pokemon: Pokemon, defender: Pokemon, move: Move, ...args: any[]): Promise {
return applyAbAttrsInternal(attrType, pokemon, (attr, passive) => attr.applyPreAttack(pokemon, passive, defender, move, args), args);
}
-export function applyPostAttackAbAttrs(attrType: { new(...args: any[]): PostAttackAbAttr },
- pokemon: Pokemon, defender: Pokemon, move: PokemonMove, hitResult: HitResult, ...args: any[]): Promise {
+export function applyPostAttackAbAttrs(attrType: Constructor,
+ pokemon: Pokemon, defender: Pokemon, move: Move, hitResult: HitResult, ...args: any[]): Promise {
return applyAbAttrsInternal(attrType, pokemon, (attr, passive) => attr.applyPostAttack(pokemon, passive, defender, move, hitResult, args), args);
}
-export function applyPostKnockOutAbAttrs(attrType: { new(...args: any[]): PostKnockOutAbAttr },
+export function applyPostKnockOutAbAttrs(attrType: Constructor,
pokemon: Pokemon, knockedOut: Pokemon, ...args: any[]): Promise {
return applyAbAttrsInternal(attrType, pokemon, (attr, passive) => attr.applyPostKnockOut(pokemon, passive, knockedOut, args), args);
}
-export function applyPostVictoryAbAttrs(attrType: { new(...args: any[]): PostVictoryAbAttr },
+export function applyPostVictoryAbAttrs(attrType: Constructor,
pokemon: Pokemon, ...args: any[]): Promise {
return applyAbAttrsInternal(attrType, pokemon, (attr, passive) => attr.applyPostVictory(pokemon, passive, args), args);
}
-export function applyPostSummonAbAttrs(attrType: { new(...args: any[]): PostSummonAbAttr },
+export function applyPostSummonAbAttrs(attrType: Constructor,
pokemon: Pokemon, ...args: any[]): Promise {
return applyAbAttrsInternal(attrType, pokemon, (attr, passive) => attr.applyPostSummon(pokemon, passive, args), args);
}
-export function applyPreSwitchOutAbAttrs(attrType: { new(...args: any[]): PreSwitchOutAbAttr },
+export function applyPreSwitchOutAbAttrs(attrType: Constructor,
pokemon: Pokemon, ...args: any[]): Promise {
return applyAbAttrsInternal(attrType, pokemon, (attr, passive) => attr.applyPreSwitchOut(pokemon, passive, args), args, false, true);
}
-export function applyPreStatChangeAbAttrs(attrType: { new(...args: any[]): PreStatChangeAbAttr },
+export function applyPreStatChangeAbAttrs(attrType: Constructor,
pokemon: Pokemon, stat: BattleStat, cancelled: Utils.BooleanHolder, ...args: any[]): Promise {
return applyAbAttrsInternal(attrType, pokemon, (attr, passive) => attr.applyPreStatChange(pokemon, passive, stat, cancelled, args), args);
}
-export function applyPostStatChangeAbAttrs(attrType: { new(...args: any[]): PostStatChangeAbAttr },
+export function applyPostStatChangeAbAttrs(attrType: Constructor,
pokemon: Pokemon, stats: BattleStat[], levels: integer, selfTarget: boolean, ...args: any[]): Promise {
return applyAbAttrsInternal(attrType, pokemon, (attr, passive) => attr.applyPostStatChange(pokemon, stats, levels, selfTarget, args), args);
}
-export function applyPreSetStatusAbAttrs(attrType: { new(...args: any[]): PreSetStatusAbAttr },
+export function applyPreSetStatusAbAttrs(attrType: Constructor,
pokemon: Pokemon, effect: StatusEffect, cancelled: Utils.BooleanHolder, ...args: any[]): Promise {
const simulated = args.length > 1 && args[1];
return applyAbAttrsInternal(attrType, pokemon, (attr, passive) => attr.applyPreSetStatus(pokemon, passive, effect, cancelled, args), args, false, false, !simulated);
}
-export function applyPreApplyBattlerTagAbAttrs(attrType: { new(...args: any[]): PreApplyBattlerTagAbAttr },
+export function applyPreApplyBattlerTagAbAttrs(attrType: Constructor,
pokemon: Pokemon, tag: BattlerTag, cancelled: Utils.BooleanHolder, ...args: any[]): Promise {
return applyAbAttrsInternal(attrType, pokemon, (attr, passive) => attr.applyPreApplyBattlerTag(pokemon, passive, tag, cancelled, args), args);
}
-export function applyPreWeatherEffectAbAttrs(attrType: { new(...args: any[]): PreWeatherEffectAbAttr },
+export function applyPreWeatherEffectAbAttrs(attrType: Constructor,
pokemon: Pokemon, weather: Weather, cancelled: Utils.BooleanHolder, ...args: any[]): Promise {
return applyAbAttrsInternal(attrType, pokemon, (attr, passive) => attr.applyPreWeatherEffect(pokemon, passive, weather, cancelled, args), args, false, true);
}
-export function applyPostTurnAbAttrs(attrType: { new(...args: any[]): PostTurnAbAttr },
+export function applyPostTurnAbAttrs(attrType: Constructor,
pokemon: Pokemon, ...args: any[]): Promise {
return applyAbAttrsInternal(attrType, pokemon, (attr, passive) => attr.applyPostTurn(pokemon, passive, args), args);
}
-export function applyPostWeatherChangeAbAttrs(attrType: { new(...args: any[]): PostWeatherChangeAbAttr },
+export function applyPostWeatherChangeAbAttrs(attrType: Constructor,
pokemon: Pokemon, weather: WeatherType, ...args: any[]): Promise {
return applyAbAttrsInternal(attrType, pokemon, (attr, passive) => attr.applyPostWeatherChange(pokemon, passive, weather, args), args);
}
-export function applyPostWeatherLapseAbAttrs(attrType: { new(...args: any[]): PostWeatherLapseAbAttr },
+export function applyPostWeatherLapseAbAttrs(attrType: Constructor,
pokemon: Pokemon, weather: Weather, ...args: any[]): Promise {
return applyAbAttrsInternal(attrType, pokemon, (attr, passive) => attr.applyPostWeatherLapse(pokemon, passive, weather, args), args);
}
-export function applyPostTerrainChangeAbAttrs(attrType: { new(...args: any[]): PostTerrainChangeAbAttr },
+export function applyPostTerrainChangeAbAttrs(attrType: Constructor,
pokemon: Pokemon, terrain: TerrainType, ...args: any[]): Promise {
return applyAbAttrsInternal(attrType, pokemon, (attr, passive) => attr.applyPostTerrainChange(pokemon, passive, terrain, args), args);
}
-export function applyCheckTrappedAbAttrs(attrType: { new(...args: any[]): CheckTrappedAbAttr },
+export function applyCheckTrappedAbAttrs(attrType: Constructor,
pokemon: Pokemon, trapped: Utils.BooleanHolder, otherPokemon: Pokemon, ...args: any[]): Promise {
return applyAbAttrsInternal(attrType, pokemon, (attr, passive) => attr.applyCheckTrapped(pokemon, passive, trapped, otherPokemon, args), args, true);
}
-export function applyPostBattleAbAttrs(attrType: { new(...args: any[]): PostBattleAbAttr },
+export function applyPostBattleAbAttrs(attrType: Constructor,
pokemon: Pokemon, ...args: any[]): Promise {
return applyAbAttrsInternal(attrType, pokemon, (attr, passive) => attr.applyPostBattle(pokemon, passive, args), args);
}
-export function applyPostFaintAbAttrs(attrType: { new(...args: any[]): PostFaintAbAttr },
- pokemon: Pokemon, attacker: Pokemon, move: PokemonMove, hitResult: HitResult, ...args: any[]): Promise {
+export function applyPostFaintAbAttrs(attrType: Constructor,
+ pokemon: Pokemon, attacker: Pokemon, move: Move, hitResult: HitResult, ...args: any[]): Promise {
return applyAbAttrsInternal(attrType, pokemon, (attr, passive) => attr.applyPostFaint(pokemon, passive, attacker, move, hitResult, args), args);
}
@@ -3545,12 +4146,23 @@ function queueShowAbility(pokemon: Pokemon, passive: boolean): void {
pokemon.scene.clearPhaseQueueSplice();
}
+/**
+ * Sets the ability of a Pokémon as revealed.
+ *
+ * @param pokemon - The Pokémon whose ability is being revealed.
+ */
+function setAbilityRevealed(pokemon: Pokemon): void {
+ if (pokemon.battleData) {
+ pokemon.battleData.abilityRevealed = true;
+ }
+}
+
export const allAbilities = [ new Ability(Abilities.NONE, 3) ];
export function initAbilities() {
allAbilities.push(
new Ability(Abilities.STENCH, 3)
- .attr(PostAttackApplyBattlerTagAbAttr, false, (user, target, move) => (move.getMove().category !== MoveCategory.STATUS && !move.getMove().hasAttr(FlinchAttr)) ? 10 : 0, BattlerTagType.FLINCHED),
+ .attr(PostAttackApplyBattlerTagAbAttr, false, (user, target, move) => (move.category !== MoveCategory.STATUS && !move.hasAttr(FlinchAttr)) ? 10 : 0, BattlerTagType.FLINCHED),
new Ability(Abilities.DRIZZLE, 3)
.attr(PostSummonWeatherChangeAbAttr, WeatherType.RAIN)
.attr(PostBiomeChangeWeatherChangeAbAttr, WeatherType.RAIN),
@@ -3598,7 +4210,8 @@ export function initAbilities() {
.attr(BattlerTagImmunityAbAttr, BattlerTagType.DROWSY)
.ignorable(),
new Ability(Abilities.COLOR_CHANGE, 3)
- .attr(PostDefendTypeChangeAbAttr),
+ .attr(PostDefendTypeChangeAbAttr)
+ .condition(getSheerForceHitDisableAbCondition()),
new Ability(Abilities.IMMUNITY, 3)
.attr(StatusEffectImmunityAbAttr, StatusEffect.POISON, StatusEffect.TOXIC)
.ignorable(),
@@ -3606,8 +4219,8 @@ export function initAbilities() {
.attr(TypeImmunityAddBattlerTagAbAttr, Type.FIRE, BattlerTagType.FIRE_BOOST, 1, (pokemon: Pokemon) => !pokemon.status || pokemon.status.effect !== StatusEffect.FREEZE)
.ignorable(),
new Ability(Abilities.SHIELD_DUST, 3)
- .ignorable()
- .unimplemented(),
+ .attr(IgnoreMoveEffectsAbAttr)
+ .partial(),
new Ability(Abilities.OWN_TEMPO, 3)
.attr(BattlerTagImmunityAbAttr, BattlerTagType.CONFUSED)
.attr(IntimidateImmunityAbAttr)
@@ -3633,7 +4246,7 @@ export function initAbilities() {
.attr(UnswappableAbilityAbAttr)
.ignorable(),
new Ability(Abilities.LEVITATE, 3)
- .attr(TypeImmunityAbAttr, Type.GROUND, (pokemon: Pokemon) => !pokemon.getTag(BattlerTagType.IGNORE_FLYING) && !pokemon.scene.arena.getTag(ArenaTagType.GRAVITY) && !pokemon.getTag(BattlerTagType.GROUNDED))
+ .attr(TypeImmunityAbAttr, Type.GROUND, (pokemon: Pokemon) => !pokemon.getTag(GroundedTag) && !pokemon.scene.arena.getTag(ArenaTagType.GRAVITY))
.ignorable(),
new Ability(Abilities.EFFECT_SPORE, 3)
.attr(EffectSporeAbAttr),
@@ -3650,7 +4263,8 @@ export function initAbilities() {
.attr(TypeImmunityStatChangeAbAttr, Type.ELECTRIC, BattleStat.SPATK, 1)
.ignorable(),
new Ability(Abilities.SERENE_GRACE, 3)
- .unimplemented(),
+ .attr(MoveEffectChanceMultiplierAbAttr, 2)
+ .partial(),
new Ability(Abilities.SWIFT_SWIM, 3)
.attr(BattleStatMultiplierAbAttr, BattleStat.SPD, 2)
.condition(getWeatherCondition(WeatherType.RAIN, WeatherType.HEAVY_RAIN)),
@@ -3662,7 +4276,7 @@ export function initAbilities() {
.attr(DoubleBattleChanceAbAttr)
.ignorable(),
new Ability(Abilities.TRACE, 3)
- .attr(TraceAbAttr)
+ .attr(PostSummonCopyAbilityAbAttr)
.attr(UncopiableAbilityAbAttr),
new Ability(Abilities.HUGE_POWER, 3)
.attr(BattleStatMultiplierAbAttr, BattleStat.ATK, 2),
@@ -3687,7 +4301,7 @@ export function initAbilities() {
return false;
}),
new Ability(Abilities.SOUNDPROOF, 3)
- .attr(MoveImmunityAbAttr, (pokemon, attacker, move) => pokemon !== attacker && move.getMove().hasFlag(MoveFlags.SOUND_BASED))
+ .attr(MoveImmunityAbAttr, (pokemon, attacker, move) => pokemon !== attacker && move.hasFlag(MoveFlags.SOUND_BASED))
.ignorable(),
new Ability(Abilities.RAIN_DISH, 3)
.attr(PostWeatherLapseHealAbAttr, 1, WeatherType.RAIN, WeatherType.HEAVY_RAIN)
@@ -3841,8 +4455,9 @@ export function initAbilities() {
.conditionalAttr(pokemon => pokemon.status ? pokemon.status.effect === StatusEffect.PARALYSIS : false, BattleStatMultiplierAbAttr, BattleStat.SPD, 2)
.conditionalAttr(pokemon => !!pokemon.status || pokemon.hasAbility(Abilities.COMATOSE), BattleStatMultiplierAbAttr, BattleStat.SPD, 1.5),
new Ability(Abilities.NORMALIZE, 4)
- .attr(MoveTypeChangeAttr, Type.NORMAL, 1.2, (user, target, move) => move.id !== Moves.HIDDEN_POWER && move.id !== Moves.WEATHER_BALL &&
- move.id !== Moves.NATURAL_GIFT && move.id !== Moves.JUDGMENT && move.id !== Moves.TECHNO_BLAST),
+ .attr(MoveTypeChangeAttr, Type.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)
.attr(MultCritAbAttr, 1.5),
new Ability(Abilities.MAGIC_GUARD, 4)
@@ -3914,8 +4529,7 @@ export function initAbilities() {
.attr(UncopiableAbilityAbAttr)
.attr(UnswappableAbilityAbAttr)
.attr(UnsuppressableAbilityAbAttr)
- .attr(NoFusionAbilityAbAttr)
- .unimplemented(),
+ .attr(NoFusionAbilityAbAttr),
new Ability(Abilities.FLOWER_GIFT, 4)
.conditionalAttr(getWeatherCondition(WeatherType.SUNNY || WeatherType.HARSH_SUN), BattleStatMultiplierAbAttr, BattleStat.ATK, 1.5)
.conditionalAttr(getWeatherCondition(WeatherType.SUNNY || WeatherType.HARSH_SUN), BattleStatMultiplierAbAttr, BattleStat.SPDEF, 1.5)
@@ -3926,9 +4540,12 @@ export function initAbilities() {
new Ability(Abilities.BAD_DREAMS, 4)
.attr(PostTurnHurtIfSleepingAbAttr),
new Ability(Abilities.PICKPOCKET, 5)
- .attr(PostDefendStealHeldItemAbAttr, (target, user, move) => move.hasFlag(MoveFlags.MAKES_CONTACT)),
+ .attr(PostDefendStealHeldItemAbAttr, (target, user, move) => move.hasFlag(MoveFlags.MAKES_CONTACT))
+ .condition(getSheerForceHitDisableAbCondition()),
new Ability(Abilities.SHEER_FORCE, 5)
- .unimplemented(),
+ .attr(MovePowerBoostAbAttr, (user, target, move) => move.chance >= 1, 5461/4096)
+ .attr(MoveEffectChanceMultiplierAbAttr, 0)
+ .partial(),
new Ability(Abilities.CONTRARY, 5)
.attr(StatChangeMultiplierAbAttr, -1)
.ignorable(),
@@ -3973,13 +4590,13 @@ export function initAbilities() {
)
.partial(),
new Ability(Abilities.TELEPATHY, 5)
- .attr(MoveImmunityAbAttr, (pokemon, attacker, move) => pokemon.getAlly() === attacker && move.getMove() instanceof AttackMove)
+ .attr(MoveImmunityAbAttr, (pokemon, attacker, move) => pokemon.getAlly() === attacker && move instanceof AttackMove)
.ignorable(),
new Ability(Abilities.MOODY, 5)
.attr(MoodyAbAttr),
new Ability(Abilities.OVERCOAT, 5)
.attr(BlockWeatherDamageAttr)
- .attr(MoveImmunityAbAttr, (pokemon, attacker, move) => pokemon !== attacker && move.getMove().hasFlag(MoveFlags.POWDER_MOVE))
+ .attr(MoveImmunityAbAttr, (pokemon, attacker, move) => pokemon !== attacker && move.hasFlag(MoveFlags.POWDER_MOVE))
.ignorable(),
new Ability(Abilities.POISON_TOUCH, 5)
.attr(PostAttackContactApplyStatusEffectAbAttr, 30, StatusEffect.POISON),
@@ -3993,8 +4610,8 @@ export function initAbilities() {
.attr(BlockWeatherDamageAttr, WeatherType.SANDSTORM)
.condition(getWeatherCondition(WeatherType.SANDSTORM)),
new Ability(Abilities.WONDER_SKIN, 5)
- .ignorable()
- .unimplemented(),
+ .attr(WonderSkinAbAttr)
+ .ignorable(),
new Ability(Abilities.ANALYTIC, 5)
.attr(MovePowerBoostAbAttr, (user, target, move) => !!target.getLastXMoves(1).find(m => m.turn === target.scene.currentBattle.turn) || user.scene.currentBattle.turnCommands[target.getBattlerIndex()].command !== Command.FIGHT, 1.3),
new Ability(Abilities.ILLUSION, 5)
@@ -4041,7 +4658,8 @@ export function initAbilities() {
.attr(UncopiableAbilityAbAttr)
.attr(UnswappableAbilityAbAttr)
.attr(UnsuppressableAbilityAbAttr)
- .attr(NoFusionAbilityAbAttr),
+ .attr(NoFusionAbilityAbAttr)
+ .bypassFaint(),
new Ability(Abilities.VICTORY_STAR, 5)
.attr(BattleStatMultiplierAbAttr, BattleStat.ACC, 1.1)
.partial(),
@@ -4061,21 +4679,22 @@ export function initAbilities() {
.attr(HealFromBerryUseAbAttr, 1/3)
.partial(), // Healing not blocked by Heal Block
new Ability(Abilities.PROTEAN, 6)
- .unimplemented(),
+ .attr(PokemonTypeChangeAbAttr),
+ //.condition((p) => !p.summonData?.abilitiesApplied.includes(Abilities.PROTEAN)), //Gen 9 Implementation
new Ability(Abilities.FUR_COAT, 6)
.attr(ReceivedMoveDamageMultiplierAbAttr, (target, user, move) => move.category === MoveCategory.PHYSICAL, 0.5)
.ignorable(),
new Ability(Abilities.MAGICIAN, 6)
.attr(PostAttackStealHeldItemAbAttr),
new Ability(Abilities.BULLETPROOF, 6)
- .attr(MoveImmunityAbAttr, (pokemon, attacker, move) => pokemon !== attacker && move.getMove().hasFlag(MoveFlags.BALLBOMB_MOVE))
+ .attr(MoveImmunityAbAttr, (pokemon, attacker, move) => pokemon !== attacker && move.hasFlag(MoveFlags.BALLBOMB_MOVE))
.ignorable(),
new Ability(Abilities.COMPETITIVE, 6)
.attr(PostStatChangeStatChangeAbAttr, (target, statsChanged, levels) => levels < 0, [BattleStat.SPATK], 2),
new Ability(Abilities.STRONG_JAW, 6)
.attr(MovePowerBoostAbAttr, (user, target, move) => move.hasFlag(MoveFlags.BITING_MOVE), 1.5),
new Ability(Abilities.REFRIGERATE, 6)
- .attr(MoveTypeChangePowerMultiplierAbAttr, Type.NORMAL, Type.ICE, 1.2),
+ .attr(MoveTypeChangeAttr, Type.ICE, 1.2, (user, target, move) => move.type === Type.NORMAL),
new Ability(Abilities.SWEET_VEIL, 6)
.attr(StatusEffectImmunityAbAttr, StatusEffect.SLEEP)
.attr(BattlerTagImmunityAbAttr, BattlerTagType.DROWSY)
@@ -4098,13 +4717,13 @@ 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(MoveTypeChangePowerMultiplierAbAttr, Type.NORMAL, Type.FAIRY, 1.2),
+ .attr(MoveTypeChangeAttr, Type.FAIRY, 1.2, (user, target, move) => move.type === Type.NORMAL),
new Ability(Abilities.GOOEY, 6)
.attr(PostDefendStatChangeAbAttr, (target, user, move) => move.hasFlag(MoveFlags.MAKES_CONTACT), BattleStat.SPD, -1, false),
new Ability(Abilities.AERILATE, 6)
- .attr(MoveTypeChangePowerMultiplierAbAttr, Type.NORMAL, Type.FLYING, 1.2),
+ .attr(MoveTypeChangeAttr, Type.FLYING, 1.2, (user, target, move) => move.type === Type.NORMAL),
new Ability(Abilities.PARENTAL_BOND, 6)
- .unimplemented(),
+ .attr(AddSecondStrikeAbAttr, 0.25),
new Ability(Abilities.DARK_AURA, 6)
.attr(PostSummonMessageAbAttr, (pokemon: Pokemon) => getPokemonMessage(pokemon, " is radiating a Dark Aura!"))
.attr(FieldMoveTypePowerBoostAbAttr, Type.DARK, 4 / 3),
@@ -4113,21 +4732,33 @@ export function initAbilities() {
.attr(FieldMoveTypePowerBoostAbAttr, Type.FAIRY, 4 / 3),
new Ability(Abilities.AURA_BREAK, 6)
.ignorable()
- .unimplemented(),
+ .conditionalAttr(target => target.hasAbility(Abilities.DARK_AURA), FieldMoveTypePowerBoostAbAttr, Type.DARK, 9 / 16)
+ .conditionalAttr(target => target.hasAbility(Abilities.FAIRY_AURA), FieldMoveTypePowerBoostAbAttr, Type.FAIRY, 9 / 16),
new Ability(Abilities.PRIMORDIAL_SEA, 6)
.attr(PostSummonWeatherChangeAbAttr, WeatherType.HEAVY_RAIN)
- .attr(PostBiomeChangeWeatherChangeAbAttr, WeatherType.HEAVY_RAIN),
+ .attr(PostBiomeChangeWeatherChangeAbAttr, WeatherType.HEAVY_RAIN)
+ .attr(PreSwitchOutClearWeatherAbAttr)
+ .attr(PostFaintClearWeatherAbAttr)
+ .bypassFaint(),
new Ability(Abilities.DESOLATE_LAND, 6)
.attr(PostSummonWeatherChangeAbAttr, WeatherType.HARSH_SUN)
- .attr(PostBiomeChangeWeatherChangeAbAttr, WeatherType.HARSH_SUN),
+ .attr(PostBiomeChangeWeatherChangeAbAttr, WeatherType.HARSH_SUN)
+ .attr(PreSwitchOutClearWeatherAbAttr)
+ .attr(PostFaintClearWeatherAbAttr)
+ .bypassFaint(),
new Ability(Abilities.DELTA_STREAM, 6)
.attr(PostSummonWeatherChangeAbAttr, WeatherType.STRONG_WINDS)
- .attr(PostBiomeChangeWeatherChangeAbAttr, WeatherType.STRONG_WINDS),
+ .attr(PostBiomeChangeWeatherChangeAbAttr, WeatherType.STRONG_WINDS)
+ .attr(PreSwitchOutClearWeatherAbAttr)
+ .attr(PostFaintClearWeatherAbAttr)
+ .bypassFaint(),
new Ability(Abilities.STAMINA, 7)
.attr(PostDefendStatChangeAbAttr, (target, user, move) => move.category !== MoveCategory.STATUS, BattleStat.DEF, 1),
new Ability(Abilities.WIMP_OUT, 7)
+ .condition(getSheerForceHitDisableAbCondition())
.unimplemented(),
new Ability(Abilities.EMERGENCY_EXIT, 7)
+ .condition(getSheerForceHitDisableAbCondition())
.unimplemented(),
new Ability(Abilities.WATER_COMPACTION, 7)
.attr(PostDefendStatChangeAbAttr, (target, user, move) => move.type === Type.WATER && move.category !== MoveCategory.STATUS, BattleStat.DEF, 2),
@@ -4141,6 +4772,7 @@ export function initAbilities() {
.attr(UnswappableAbilityAbAttr)
.attr(UnsuppressableAbilityAbAttr)
.attr(NoFusionAbilityAbAttr)
+ .bypassFaint()
.partial(),
new Ability(Abilities.STAKEOUT, 7)
.attr(MovePowerBoostAbAttr, (user, target, move) => user.scene.currentBattle.turnCommands[target.getBattlerIndex()].command === Command.POKEMON, 2),
@@ -4152,7 +4784,8 @@ export function initAbilities() {
new Ability(Abilities.STEELWORKER, 7)
.attr(MoveTypePowerBoostAbAttr, Type.STEEL),
new Ability(Abilities.BERSERK, 7)
- .attr(PostDefendHpGatedStatChangeAbAttr, (target, user, move) => move.category !== MoveCategory.STATUS, 0.5, [BattleStat.SPATK], 1),
+ .attr(PostDefendHpGatedStatChangeAbAttr, (target, user, move) => move.category !== MoveCategory.STATUS, 0.5, [BattleStat.SPATK], 1)
+ .condition(getSheerForceHitDisableAbCondition()),
new Ability(Abilities.SLUSH_RUSH, 7)
.attr(BattleStatMultiplierAbAttr, BattleStat.SPD, 2)
.condition(getWeatherCondition(WeatherType.HAIL, WeatherType.SNOW)),
@@ -4163,7 +4796,7 @@ export function initAbilities() {
new Ability(Abilities.TRIAGE, 7)
.attr(IncrementMovePriorityAbAttr, (pokemon, move) => move.hasFlag(MoveFlags.TRIAGE_MOVE), 3),
new Ability(Abilities.GALVANIZE, 7)
- .attr(MoveTypeChangePowerMultiplierAbAttr, Type.NORMAL, Type.ELECTRIC, 1.2),
+ .attr(MoveTypeChangeAttr, Type.ELECTRIC, 1.2, (user, target, move) => move.type === Type.NORMAL),
new Ability(Abilities.SURGE_SURFER, 7)
.conditionalAttr(getTerrainCondition(TerrainType.ELECTRIC), BattleStatMultiplierAbAttr, BattleStat.SPD, 2),
new Ability(Abilities.SCHOOLING, 7)
@@ -4173,9 +4806,10 @@ export function initAbilities() {
.attr(UncopiableAbilityAbAttr)
.attr(UnswappableAbilityAbAttr)
.attr(UnsuppressableAbilityAbAttr)
- .attr(NoFusionAbilityAbAttr),
+ .attr(NoFusionAbilityAbAttr)
+ .bypassFaint(),
new Ability(Abilities.DISGUISE, 7)
- .attr(PreDefendMovePowerToOneAbAttr, (target, user, move) => target.formIndex === 0 && target.getAttackTypeEffectiveness(move.type, user) > 0)
+ .attr(PreDefendMoveDamageToOneAbAttr, (target, user, move) => target.formIndex === 0 && target.getAttackTypeEffectiveness(move.type, user) > 0)
.attr(PostSummonFormChangeAbAttr, p => p.battleData.hitCount === 0 ? 0 : 1)
.attr(PostBattleInitFormChangeAbAttr, () => 0)
.attr(PostDefendFormChangeAbAttr, p => p.battleData.hitCount === 0 ? 0 : 1)
@@ -4186,6 +4820,7 @@ export function initAbilities() {
.attr(UnsuppressableAbilityAbAttr)
.attr(NoTransformAbilityAbAttr)
.attr(NoFusionAbilityAbAttr)
+ .bypassFaint()
.ignorable()
.partial(),
new Ability(Abilities.BATTLE_BOND, 7)
@@ -4194,7 +4829,8 @@ export function initAbilities() {
.attr(UncopiableAbilityAbAttr)
.attr(UnswappableAbilityAbAttr)
.attr(UnsuppressableAbilityAbAttr)
- .attr(NoFusionAbilityAbAttr),
+ .attr(NoFusionAbilityAbAttr)
+ .bypassFaint(),
new Ability(Abilities.POWER_CONSTRUCT, 7) // TODO: 10% Power Construct Zygarde isn't accounted for yet. If changed, update Zygarde's getSpeciesFormIndex entry accordingly
.attr(PostBattleInitFormChangeAbAttr, () => 2)
.attr(PostSummonFormChangeAbAttr, p => p.getHpRatio() <= 0.5 || p.getFormKey() === "complete" ? 4 : 2)
@@ -4203,6 +4839,7 @@ export function initAbilities() {
.attr(UnswappableAbilityAbAttr)
.attr(UnsuppressableAbilityAbAttr)
.attr(NoFusionAbilityAbAttr)
+ .bypassFaint()
.partial(),
new Ability(Abilities.CORROSION, 7) // TODO: Test Corrosion against Magic Bounce once it is implemented
.attr(IgnoreTypeStatusEffectImmunityAbAttr, [StatusEffect.POISON, StatusEffect.TOXIC], [Type.STEEL, Type.POISON])
@@ -4222,7 +4859,7 @@ export function initAbilities() {
new Ability(Abilities.DANCER, 7)
.attr(PostDancingMoveAbAttr),
new Ability(Abilities.BATTERY, 7)
- .unimplemented(),
+ .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) => move.type === Type.FIRE, 2)
@@ -4258,8 +4895,7 @@ export function initAbilities() {
.attr(UncopiableAbilityAbAttr)
.attr(UnswappableAbilityAbAttr)
.attr(UnsuppressableAbilityAbAttr)
- .attr(NoFusionAbilityAbAttr)
- .unimplemented(),
+ .attr(NoFusionAbilityAbAttr),
new Ability(Abilities.ELECTRIC_SURGE, 7)
.attr(PostSummonTerrainChangeAbAttr, TerrainType.ELECTRIC)
.attr(PostBiomeChangeTerrainChangeAbAttr, TerrainType.ELECTRIC),
@@ -4287,7 +4923,8 @@ export function initAbilities() {
.attr(PostSummonStatChangeAbAttr, BattleStat.DEF, 1, true)
.condition(getOncePerBattleCondition(Abilities.DAUNTLESS_SHIELD)),
new Ability(Abilities.LIBERO, 8)
- .unimplemented(),
+ .attr(PokemonTypeChangeAbAttr),
+ //.condition((p) => !p.summonData?.abilitiesApplied.includes(Abilities.LIBERO)), //Gen 9 Implementation
new Ability(Abilities.BALL_FETCH, 8)
.attr(FetchBallAbAttr)
.condition(getOncePerBattleCondition(Abilities.BALL_FETCH)),
@@ -4325,17 +4962,22 @@ export function initAbilities() {
.attr(UnsuppressableAbilityAbAttr)
.attr(NoTransformAbilityAbAttr)
.attr(NoFusionAbilityAbAttr)
- .ignorable()
- .unimplemented(),
+ // Add BattlerTagType.ICE_FACE if the pokemon is in ice face form
+ .conditionalAttr(pokemon => pokemon.formIndex === 0, PostSummonAddBattlerTagAbAttr, BattlerTagType.ICE_FACE, 0, false)
+ // When summoned with active HAIL or SNOW, add BattlerTagType.ICE_FACE
+ .conditionalAttr(getWeatherCondition(WeatherType.HAIL, WeatherType.SNOW), PostSummonAddBattlerTagAbAttr, BattlerTagType.ICE_FACE, 0)
+ // When weather changes to HAIL or SNOW while pokemon is fielded, add BattlerTagType.ICE_FACE
+ .attr(PostWeatherChangeAddBattlerTagAttr, BattlerTagType.ICE_FACE, 0, WeatherType.HAIL, WeatherType.SNOW)
+ .attr(IceFaceBlockPhysicalAbAttr, (target, user, move) => move.category === MoveCategory.PHYSICAL && !!target.getTag(BattlerTagType.ICE_FACE), 0)
+ .ignorable(),
new Ability(Abilities.POWER_SPOT, 8)
- .unimplemented(),
+ .attr(AllyMoveCategoryPowerBoostAbAttr, [MoveCategory.SPECIAL, MoveCategory.PHYSICAL], 1.3),
new Ability(Abilities.MIMICRY, 8)
.unimplemented(),
new Ability(Abilities.SCREEN_CLEANER, 8)
- .unimplemented(),
+ .attr(PostSummonRemoveArenaTagAbAttr, [ArenaTagType.AURORA_VEIL, ArenaTagType.LIGHT_SCREEN, ArenaTagType.REFLECT]),
new Ability(Abilities.STEELY_SPIRIT, 8)
- .attr(MoveTypePowerBoostAbAttr, Type.STEEL)
- .partial(),
+ .attr(UserFieldMoveTypePowerBoostAbAttr, Type.STEEL),
new Ability(Abilities.PERISH_BODY, 8)
.attr(PostDefendPerishSongAbAttr, 4),
new Ability(Abilities.WANDERING_SPIRIT, 8)
@@ -4363,9 +5005,9 @@ export function initAbilities() {
.attr(NoFusionAbilityAbAttr)
.condition((pokemon) => !pokemon.isTerastallized()),
new Ability(Abilities.QUICK_DRAW, 8)
- .unimplemented(),
+ .attr(BypassSpeedChanceAbAttr, 30),
new Ability(Abilities.UNSEEN_FIST, 8)
- .unimplemented(),
+ .attr(IgnoreProtectOnContactAbAttr),
new Ability(Abilities.CURIOUS_MEDICINE, 8)
.attr(PostSummonClearAllyStatsAbAttr),
new Ability(Abilities.TRANSISTOR, 8)
@@ -4401,7 +5043,8 @@ export function initAbilities() {
.ignorable(),
new Ability(Abilities.ANGER_SHELL, 9)
.attr(PostDefendHpGatedStatChangeAbAttr, (target, user, move) => move.category !== MoveCategory.STATUS, 0.5, [ BattleStat.ATK, BattleStat.SPATK, BattleStat.SPD ], 1)
- .attr(PostDefendHpGatedStatChangeAbAttr, (target, user, move) => move.category !== MoveCategory.STATUS, 0.5, [ BattleStat.DEF, BattleStat.SPDEF ], -1),
+ .attr(PostDefendHpGatedStatChangeAbAttr, (target, user, move) => move.category !== MoveCategory.STATUS, 0.5, [ BattleStat.DEF, BattleStat.SPDEF ], -1)
+ .condition(getSheerForceHitDisableAbCondition()),
new Ability(Abilities.PURIFYING_SALT, 9)
.attr(StatusEffectImmunityAbAttr)
.attr(ReceivedTypeDamageMultiplierAbAttr, Type.GHOST, 0.5)
@@ -4410,7 +5053,7 @@ export function initAbilities() {
.attr(TypeImmunityStatChangeAbAttr, Type.FIRE, BattleStat.DEF, 2)
.ignorable(),
new Ability(Abilities.WIND_RIDER, 9)
- .attr(MoveImmunityStatChangeAbAttr, (pokemon, attacker, move) => pokemon !== attacker && move.getMove().hasFlag(MoveFlags.WIND_MOVE) && move.getMove().category !== MoveCategory.STATUS, BattleStat.ATK, 1)
+ .attr(MoveImmunityStatChangeAbAttr, (pokemon, attacker, move) => pokemon !== attacker && move.hasFlag(MoveFlags.WIND_MOVE) && move.category !== MoveCategory.STATUS, BattleStat.ATK, 1)
.attr(PostSummonStatChangeOnArenaAbAttr, ArenaTagType.TAILWIND)
.ignorable(),
new Ability(Abilities.GUARD_DOG, 9)
@@ -4428,7 +5071,8 @@ export function initAbilities() {
.attr(NoTransformAbilityAbAttr)
.attr(NoFusionAbilityAbAttr)
.attr(PostBattleInitFormChangeAbAttr, () => 0)
- .attr(PreSwitchOutFormChangeAbAttr, () => 1),
+ .attr(PreSwitchOutFormChangeAbAttr, () => 1)
+ .bypassFaint(),
new Ability(Abilities.COMMANDER, 9)
.attr(UncopiableAbilityAbAttr)
.attr(UnswappableAbilityAbAttr)
@@ -4450,21 +5094,25 @@ export function initAbilities() {
.attr(NoTransformAbilityAbAttr)
.partial(), // While setting the tag, the getbattlestat should ignore all modifiers to stats except stat stages
new Ability(Abilities.GOOD_AS_GOLD, 9)
- .attr(MoveImmunityAbAttr, (pokemon, attacker, move) => pokemon !== attacker && move.getMove().category === MoveCategory.STATUS)
+ .attr(MoveImmunityAbAttr, (pokemon, attacker, move) => pokemon !== attacker && move.category === MoveCategory.STATUS)
.ignorable()
.partial(),
new Ability(Abilities.VESSEL_OF_RUIN, 9)
- .ignorable()
- .unimplemented(),
+ .attr(FieldMultiplyBattleStatAbAttr, Stat.SPATK, 0.75)
+ .attr(PostSummonMessageAbAttr, (user) => getPokemonMessage(user, `'s Vessel of Ruin lowered the ${getStatName(Stat.SPATK)}\nof all surrounding Pokémon!`))
+ .ignorable(),
new Ability(Abilities.SWORD_OF_RUIN, 9)
- .ignorable()
- .unimplemented(),
+ .attr(FieldMultiplyBattleStatAbAttr, Stat.DEF, 0.75)
+ .attr(PostSummonMessageAbAttr, (user) => getPokemonMessage(user, `'s Sword of Ruin lowered the ${getStatName(Stat.DEF)}\nof all surrounding Pokémon!`))
+ .ignorable(),
new Ability(Abilities.TABLETS_OF_RUIN, 9)
- .ignorable()
- .unimplemented(),
+ .attr(FieldMultiplyBattleStatAbAttr, Stat.ATK, 0.75)
+ .attr(PostSummonMessageAbAttr, (user) => getPokemonMessage(user, `'s Tablets of Ruin lowered the ${getStatName(Stat.ATK)}\nof all surrounding Pokémon!`))
+ .ignorable(),
new Ability(Abilities.BEADS_OF_RUIN, 9)
- .ignorable()
- .unimplemented(),
+ .attr(FieldMultiplyBattleStatAbAttr, Stat.SPDEF, 0.75)
+ .attr(PostSummonMessageAbAttr, (user) => getPokemonMessage(user, `'s Beads of Ruin lowered the ${getStatName(Stat.SPDEF)}\nof all surrounding Pokémon!`))
+ .ignorable(),
new Ability(Abilities.ORICHALCUM_PULSE, 9)
.attr(PostSummonWeatherChangeAbAttr, WeatherType.SUNNY)
.attr(PostBiomeChangeWeatherChangeAbAttr, WeatherType.SUNNY)
@@ -4483,7 +5131,7 @@ export function initAbilities() {
.attr(VariableMovePowerBoostAbAttr, (user, target, move) => 1 + 0.1 * Math.min(user.isPlayer() ? user.scene.currentBattle.playerFaints : user.scene.currentBattle.enemyFaints, 5))
.partial(),
new Ability(Abilities.COSTAR, 9)
- .unimplemented(),
+ .attr(PostSummonCopyAllyStatsAbAttr),
new Ability(Abilities.TOXIC_DEBRIS, 9)
.attr(PostDefendApplyArenaTrapTagAbAttr, (target, user, move) => move.category === MoveCategory.PHYSICAL, ArenaTagType.TOXIC_SPIKES)
.bypassFaint(),
diff --git a/src/data/api-generator.script.ts b/src/data/api-generator.script.ts
new file mode 100644
index 00000000000..f4a72a24c76
--- /dev/null
+++ b/src/data/api-generator.script.ts
@@ -0,0 +1,689 @@
+import { MainClient, NamedAPIResource } from "pokenode-ts";
+import { MoveTarget, allMoves } from "./move";
+import * as Utils from "../utils";
+import fs from "vite-plugin-fs/browser";
+import PokemonSpecies, { PokemonForm, SpeciesFormKey, allSpecies } from "./pokemon-species";
+import { GrowthRate } from "./exp";
+import { Type } from "./type";
+import { allAbilities } from "./ability";
+import { pokemonFormLevelMoves } from "./pokemon-level-moves";
+import { tmSpecies } from "./tms";
+import { Abilities } from "#enums/abilities";
+import { Moves } from "#enums/moves";
+import { Species } from "#enums/species";
+
+const targetMap = {
+ "specific-move": MoveTarget.ATTACKER,
+ "selected-pokemon-me-first": MoveTarget.NEAR_ENEMY,
+ "ally": MoveTarget.NEAR_ALLY,
+ "users-field": MoveTarget.USER_SIDE,
+ "user-or-ally": MoveTarget.USER_OR_NEAR_ALLY,
+ "opponents-field": MoveTarget.ENEMY_SIDE,
+ "user": MoveTarget.USER,
+ "random-opponent": MoveTarget.RANDOM_NEAR_ENEMY,
+ "all-other-pokemon": MoveTarget.ALL_NEAR_OTHERS,
+ "selected-pokemon": MoveTarget.NEAR_OTHER,
+ "all-opponents": MoveTarget.ALL_NEAR_ENEMIES,
+ "entire-field": MoveTarget.BOTH_SIDES,
+ "user-and-allies": MoveTarget.USER_AND_ALLIES,
+ "all-pokemon": MoveTarget.ALL,
+ "all-allies": MoveTarget.NEAR_ALLY,
+ "fainting-pokemon": MoveTarget.NEAR_OTHER
+};
+
+const generationMap = {
+ "generation-i": 1,
+ "generation-ii": 2,
+ "generation-iii": 3,
+ "generation-iv": 4,
+ "generation-v": 5,
+ "generation-vi": 6,
+ "generation-vii": 7,
+ "generation-viii": 8,
+ "generation-ix": 9
+};
+
+const growthRateMap = {
+ "slow-then-very-fast": GrowthRate.ERRATIC,
+ "fast": GrowthRate.FAST,
+ "medium": GrowthRate.MEDIUM_FAST,
+ "medium-slow": GrowthRate.MEDIUM_SLOW,
+ "slow": GrowthRate.SLOW,
+ "fast-then-very-slow": GrowthRate.FLUCTUATING
+};
+
+const regionalForms = [ "alola", "galar", "hisui", "paldea" ];
+
+const ignoredForms = [ "gmax", "totem", "cap", "starter" ];
+
+const generationDexNumbers = {
+ 1: 151,
+ 2: 251,
+ 3: 386,
+ 4: 494,
+ 5: 649,
+ 6: 721,
+ 7: 809,
+ 8: 905,
+ 9: 1010
+};
+
+const versions = [ "scarlet-violet", "sword-shield", "sun-moon" ];
+
+type LevelMove = [level: integer, moveId: integer];
+
+interface SpeciesLevelMoves {
+ [key: string]: LevelMove[]
+}
+
+interface FormLevelMoves {
+ [key: integer]: LevelMove[]
+}
+
+interface SpeciesFormLevelMoves {
+ [key: string]: FormLevelMoves
+}
+
+interface TmSpecies {
+ [key: string]: Array
+}
+
+export async function printPokemon() {
+ const api = new MainClient();
+
+ const useExistingTmList = true;
+
+ let enumStr = "export enum Species {\n";
+ let pokemonSpeciesStr = "\tallSpecies.push(\n";
+ const speciesLevelMoves: SpeciesLevelMoves = {};
+ const speciesFormLevelMoves: SpeciesFormLevelMoves = {};
+ const moveTmSpecies: TmSpecies = {};
+
+ let pokemonArr: NamedAPIResource[] = [];
+
+ const offset = 0;
+ const pokemonResponse = await api.pokemon.listPokemons(offset, 2000);
+
+ pokemonArr = pokemonResponse.results;
+
+ const types = Utils.getEnumKeys(Type).map(t => t.toLowerCase());
+ const abilities = Utils.getEnumKeys(Abilities).map(a => a.toLowerCase().replace(/\_/g, "-"));
+
+ const pokemonSpeciesList: PokemonSpecies[] = [];
+
+ for (const p of pokemonArr) {
+ const pokemon = await api.pokemon.getPokemonByName(p.name);
+
+ let region: string = "";
+
+ if (pokemon.id > 10000) {
+ const dexIdMatch = /\/(\d+)\//.exec(pokemon.species.url);
+ if (!dexIdMatch) {
+ continue;
+ }
+
+ const matchingSpecies = pokemonSpeciesList[parseInt(dexIdMatch[1]) - 1];
+
+ if (!matchingSpecies) {
+ continue;
+ }
+
+ const speciesKey = (matchingSpecies as any).key as string;
+
+ const formName = pokemon.name.slice(speciesKey.length + 1);
+
+ if (ignoredForms.filter(f => formName.indexOf(f) > -1).length) {
+ continue;
+ }
+
+ const shortFormName = formName.indexOf("-") > -1
+ ? formName.slice(0, formName.indexOf("-"))
+ : formName;
+
+ if (regionalForms.indexOf(shortFormName) > -1) {
+ region = shortFormName.toUpperCase();
+ } else {
+ const formBaseStats: integer[] = [];
+ let formBaseTotal = 0;
+ // Assume correct stat order in API result
+ for (const stat of pokemon.stats) {
+ formBaseStats.push(stat.base_stat);
+ formBaseTotal += stat.base_stat;
+ }
+
+ const [ formType1, formType2 ] = [ types.indexOf(pokemon.types.find(t => t.slot === 1).type.name), types.indexOf(pokemon.types.find(t => t.slot === 2)?.type.name) ];
+ const [ formAbility1, formAbility2, formAbilityHidden ] = [
+ Math.max(abilities.indexOf(pokemon.abilities.find(a => a.slot === 1)?.ability.name), 0),
+ Math.max(abilities.indexOf(pokemon.abilities.find(a => a.slot === 2)?.ability.name), 0),
+ Math.max(abilities.indexOf(pokemon.abilities.find(a => a.slot === 3)?.ability.name), 0)
+ ];
+
+ const pokemonForm = new PokemonForm(formName, formName, formType1 as Type, formType2 > -1 ? formType2 as Type : null, pokemon.height / 10, pokemon.weight / 10,
+ formAbility1 as Abilities, formAbility2 as Abilities, formAbilityHidden as Abilities, formBaseTotal, formBaseStats[0], formBaseStats[1], formBaseStats[2], formBaseStats[3], formBaseStats[4], formBaseStats[5],
+ matchingSpecies.catchRate, matchingSpecies.baseFriendship, matchingSpecies.baseExp, matchingSpecies.genderDiffs);
+ pokemonForm.speciesId = matchingSpecies.speciesId;
+ pokemonForm.formIndex = matchingSpecies.forms.length;
+ pokemonForm.generation = matchingSpecies.generation;
+
+ let moveVer: string;
+
+ if (!speciesFormLevelMoves.hasOwnProperty(speciesKey)) {
+ speciesFormLevelMoves[speciesKey] = [];
+ }
+ speciesFormLevelMoves[speciesKey][pokemonForm.formIndex] = [];
+
+ for (const version of versions) {
+ if (pokemon.moves.find(m => m.version_group_details.find(v => v.version_group.name === version && v.move_learn_method.name === "level-up"))) {
+ moveVer = version;
+ break;
+ }
+ }
+
+ if (moveVer) {
+ pokemon.moves.forEach(moveData => {
+ moveData.version_group_details.filter(v => versions.indexOf(v.version_group.name) > -1).forEach(verData => {
+ const isMoveVer = verData.version_group.name === moveVer;
+
+ const moveName = moveData.move.name.toUpperCase().replace(/\_/g, "").replace(/\-/g, "_");
+ const moveId = Math.max(Utils.getEnumKeys(Moves).indexOf(moveName), 0);
+
+ const learnMethod = verData.move_learn_method.name;
+
+ if (isMoveVer && learnMethod === "level-up") {
+ speciesFormLevelMoves[speciesKey][pokemonForm.formIndex].push([ verData.level_learned_at, moveId ]);
+ }
+
+ if ([ "machine", "tutor" ].indexOf(learnMethod) > -1 || (useExistingTmList && tmSpecies.hasOwnProperty(moveId as Moves) && learnMethod === "level-up")) {
+ if (!moveTmSpecies.hasOwnProperty(moveId)) {
+ moveTmSpecies[moveId] = [];
+ }
+ const speciesIndex = moveTmSpecies[moveId].findIndex(s => s[0] === speciesKey);
+ if (speciesIndex === -1) {
+ moveTmSpecies[moveId].push([ speciesKey, formName ]);
+ } else {
+ (moveTmSpecies[moveId][speciesIndex] as string[]).push(formName);
+ }
+ }
+ });
+ });
+
+ if (JSON.stringify(speciesLevelMoves[speciesKey]) === JSON.stringify(speciesFormLevelMoves[speciesKey][pokemonForm.formIndex])) {
+ delete speciesFormLevelMoves[speciesKey][pokemonForm.formIndex];
+ if (!Object.keys(speciesFormLevelMoves[speciesKey]).length) {
+ delete speciesFormLevelMoves[speciesKey];
+ }
+ }
+ }
+
+ matchingSpecies.forms.push(pokemonForm);
+ continue;
+ }
+ }
+
+ const species = await api.pokemon.getPokemonSpeciesByName(pokemon.species.name);
+
+ let speciesKey = species.name.toUpperCase().replace(/\-/g, "_");
+
+ const matchingExistingSpecies = allSpecies.find(s => Species[s.speciesId] === speciesKey);
+
+ let dexId = species.id;
+
+ if (region) {
+ dexId += (regionalForms.indexOf(region.toLowerCase()) + 1) * 2000;
+ speciesKey = `${region}_${speciesKey}`;
+ }
+
+ let generationIndex = 0;
+
+ if (!region) {
+ while (++generationIndex < 9 && dexId > generationDexNumbers[generationIndex]) {}
+ } else {
+ generationIndex = regionalForms.indexOf(region.toLowerCase()) + 6;
+ }
+
+ const baseStats: integer[] = [];
+ let baseTotal = 0;
+ // Assume correct stat order in API result
+ for (const stat of pokemon.stats) {
+ baseStats.push(stat.base_stat);
+ baseTotal += stat.base_stat;
+ }
+
+ console.log(pokemon);
+
+ const [ type1, type2 ] = [ types.indexOf(pokemon.types.find(t => t.slot === 1).type.name), types.indexOf(pokemon.types.find(t => t.slot === 2)?.type.name) ];
+ const [ ability1, ability2, abilityHidden ] = [
+ Math.max(abilities.indexOf(pokemon.abilities.find(a => a.slot === 1)?.ability.name), 0),
+ Math.max(abilities.indexOf(pokemon.abilities.find(a => a.slot === 2)?.ability.name), 0),
+ Math.max(abilities.indexOf(pokemon.abilities.find(a => a.slot === 3)?.ability.name), 0)
+ ];
+
+ const pokemonSpecies = new PokemonSpecies(dexId, generationIndex, species.is_legendary && baseTotal < 660, species.is_legendary && baseTotal >= 660, species.is_mythical,
+ species.genera.find(g => g.language.name === "en")?.genus, type1 as Type, type2 > -1 ? type2 as Type : null, pokemon.height / 10, pokemon.weight / 10, ability1 as Abilities, ability2 as Abilities, abilityHidden as Abilities,
+ baseTotal, baseStats[0], baseStats[1], baseStats[2], baseStats[3], baseStats[4], baseStats[5], species.capture_rate, species.base_happiness, pokemon.base_experience, growthRateMap[species.growth_rate.name],
+ species.gender_rate < 9 ? 100 - (species.gender_rate * 12.5) : null, species.has_gender_differences, species.forms_switchable);
+
+ (pokemonSpecies as any).key = speciesKey;
+
+ pokemonSpeciesList.push(pokemonSpecies);
+
+ let moveVer: string;
+
+ speciesLevelMoves[speciesKey] = [];
+
+ for (const version of versions) {
+ if (pokemon.moves.find(m => m.version_group_details.find(v => v.version_group.name === version && v.move_learn_method.name === "level-up"))) {
+ moveVer = version;
+ break;
+ }
+ }
+
+ const speciesTmMoves: integer[] = [];
+
+ if (moveVer) {
+ pokemon.moves.forEach(moveData => {
+ const verData = moveData.version_group_details.find(v => v.version_group.name === moveVer);
+ if (!verData) {
+ return;
+ }
+
+ const moveName = moveData.move.name.toUpperCase().replace(/\_/g, "").replace(/\-/g, "_");
+ const moveId = Math.max(Utils.getEnumKeys(Moves).indexOf(moveName), 0);
+
+ switch (verData.move_learn_method.name) {
+ case "level-up":
+ speciesLevelMoves[speciesKey].push([ verData.level_learned_at, moveId ]);
+ break;
+ case "machine":
+ case "tutor":
+ if (moveId > 0) {
+ if (!moveTmSpecies.hasOwnProperty(moveId)) {
+ moveTmSpecies[moveId] = [];
+ }
+ if (moveTmSpecies[moveId].indexOf(speciesKey) === -1) {
+ moveTmSpecies[moveId].push(speciesKey);
+ }
+ speciesTmMoves.push(moveId);
+ }
+ break;
+ }
+ });
+ }
+
+ for (const f of pokemon.forms) {
+ const form = await api.pokemon.getPokemonFormByName(f.name);
+ const formIndex = pokemonSpecies.forms.length;
+
+ const matchingForm = matchingExistingSpecies && matchingExistingSpecies.forms.length > formIndex
+ ? matchingExistingSpecies.forms.find(f2 => f2.formKey === form.form_name || f2.formName === form.form_name) || matchingExistingSpecies.forms[formIndex]
+ : null;
+ const formName = matchingForm
+ ? matchingForm.formName
+ : form.form_names.find(fn => fn.language.name === "en")?.name || form.form_name;
+ const formKey = matchingForm
+ ? matchingForm.formKey
+ : form.form_name;
+
+ const [ formType1, formType2 ] = [ types.indexOf(form.types.find(t => t.slot === 1).type.name), types.indexOf(form.types.find(t => t.slot === 2)?.type.name) ];
+ const pokemonForm = new PokemonForm(formName, formKey, formType1 as Type, formType2 > -1 ? formType2 as Type : null,
+ pokemonSpecies.height, pokemonSpecies.weight, pokemonSpecies.ability1, pokemonSpecies.ability2, pokemonSpecies.abilityHidden, baseTotal, baseStats[0], baseStats[1], baseStats[2], baseStats[3], baseStats[4], baseStats[5],
+ pokemonSpecies.catchRate, pokemonSpecies.baseFriendship, pokemonSpecies.baseExp, pokemonSpecies.genderDiffs);
+ pokemonForm.speciesId = pokemonSpecies.speciesId;
+ pokemonForm.formIndex = formIndex;
+ pokemonForm.generation = pokemonSpecies.generation;
+
+ if (!pokemonForm.formIndex && speciesTmMoves.length) {
+ for (const moveId of speciesTmMoves) {
+ const speciesIndex = moveTmSpecies[moveId].findIndex(s => s === speciesKey);
+ moveTmSpecies[moveId][speciesIndex] = [
+ speciesKey,
+ formKey
+ ];
+ }
+ }
+
+ pokemonSpecies.forms.push(pokemonForm);
+ }
+
+ console.log(pokemonSpecies.name, pokemonSpecies);
+ }
+
+ for (const pokemonSpecies of pokemonSpeciesList) {
+ const speciesKey = (pokemonSpecies as any).key as string;
+
+ enumStr += ` ${speciesKey}${pokemonSpecies.speciesId >= 2000 ? ` = ${pokemonSpecies.speciesId}` : ""},\n`;
+ pokemonSpeciesStr += ` new PokemonSpecies(Species.${speciesKey}, "${pokemonSpecies.name}", ${pokemonSpecies.generation}, ${pokemonSpecies.subLegendary}, ${pokemonSpecies.legendary}, ${pokemonSpecies.mythical}, "${pokemonSpecies.species}", Type.${Type[pokemonSpecies.type1]}, ${pokemonSpecies.type2 ? `Type.${Type[pokemonSpecies.type2]}` : "null"}, ${pokemonSpecies.height}, ${pokemonSpecies.weight}, Abilities.${Abilities[pokemonSpecies.ability1]}, Abilities.${Abilities[pokemonSpecies.ability2]}, Abilities.${Abilities[pokemonSpecies.abilityHidden]}, ${pokemonSpecies.baseTotal}, ${pokemonSpecies.baseStats[0]}, ${pokemonSpecies.baseStats[1]}, ${pokemonSpecies.baseStats[2]}, ${pokemonSpecies.baseStats[3]}, ${pokemonSpecies.baseStats[4]}, ${pokemonSpecies.baseStats[5]}, ${pokemonSpecies.catchRate}, ${pokemonSpecies.baseFriendship}, ${pokemonSpecies.baseExp}, GrowthRate.${GrowthRate[pokemonSpecies.growthRate]}, ${pokemonSpecies.malePercent}, ${pokemonSpecies.genderDiffs}`;
+ if (pokemonSpecies.forms.length > 1) {
+ pokemonSpeciesStr += `, ${pokemonSpecies.canChangeForm},`;
+ for (const form of pokemonSpecies.forms) {
+ pokemonSpeciesStr += `\n new PokemonForm("${form.formName}", "${form.formName}", Type.${Type[form.type1]}, ${form.type2 ? `Type.${Type[form.type2]}` : "null"}, ${form.height}, ${form.weight}, Abilities.${Abilities[form.ability1]}, Abilities.${Abilities[form.ability2]}, Abilities.${Abilities[form.abilityHidden]}, ${form.baseTotal}, ${form.baseStats[0]}, ${form.baseStats[1]}, ${form.baseStats[2]}, ${form.baseStats[3]}, ${form.baseStats[4]}, ${form.baseStats[5]}, ${form.catchRate}, ${form.baseFriendship}, ${form.baseExp}${form.genderDiffs ? ", true" : ""}),`;
+ }
+ pokemonSpeciesStr += "\n ";
+ }
+ pokemonSpeciesStr += "),\n";
+ }
+
+ let speciesLevelMovesStr = "export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {\n";
+ let speciesFormLevelMovesStr = "export const pokemonFormLevelMoves: PokemonSpeciesFormLevelMoves = {\n";
+ let tmSpeciesStr = "export const tmSpecies: TmSpecies = {\n";
+
+ for (const species of Object.keys(speciesLevelMoves)) {
+ speciesLevelMovesStr += ` [Species.${species}]: [\n`;
+
+ const orderedLevelMoves = speciesLevelMoves[species].sort((a: LevelMove, b: LevelMove) => {
+ if (a[0] !== b[0]) {
+ return a[0] < b[0] ? -1 : 1;
+ }
+ return a[1] < b[1] ? -1 : 1;
+ });
+
+ for (const lm of orderedLevelMoves) {
+ speciesLevelMovesStr += ` [ ${lm[0]}, Moves.${Moves[lm[1]]} ],\n`;
+ }
+
+ speciesLevelMovesStr += " ],\n";
+ }
+
+ for (const species of Object.keys(speciesFormLevelMoves)) {
+ speciesFormLevelMovesStr += ` [Species.${species}]: {\n`;
+
+ for (const f of Object.keys(speciesFormLevelMoves[species])) {
+ speciesFormLevelMovesStr += ` ${f}: [\n`;
+
+ const orderedLevelMoves = speciesFormLevelMoves[species][f].sort((a: LevelMove, b: LevelMove) => {
+ if (a[0] !== b[0]) {
+ return a[0] < b[0] ? -1 : 1;
+ }
+ return a[1] < b[1] ? -1 : 1;
+ });
+
+ for (const lm of orderedLevelMoves) {
+ speciesFormLevelMovesStr += ` [ ${lm[0]}, Moves.${Moves[lm[1]]} ],\n`;
+ }
+
+ speciesFormLevelMovesStr += " ],\n";
+ }
+
+ speciesFormLevelMovesStr += " },\n";
+ }
+
+ for (const moveId of Object.keys(moveTmSpecies)) {
+ tmSpeciesStr += ` [Moves.${Moves[parseInt(moveId)]}]: [\n`;
+ for (const species of moveTmSpecies[moveId]) {
+ if (typeof species === "string") {
+ tmSpeciesStr += ` Species.${species},\n`;
+ } else {
+ const matchingExistingSpecies = allSpecies.find(s => Species[s.speciesId] === species[0]);
+ const forms = (species as string[]).slice(1);
+ if (matchingExistingSpecies && (!pokemonFormLevelMoves.hasOwnProperty(matchingExistingSpecies.speciesId) || matchingExistingSpecies.forms.length <= 1 || (matchingExistingSpecies.forms.length === 2 && matchingExistingSpecies.forms[1].formKey.indexOf(SpeciesFormKey.MEGA) > -1) || matchingExistingSpecies.forms.length === forms.length)) {
+ tmSpeciesStr += ` Species.${species[0]},\n`;
+ } else {
+ tmSpeciesStr += ` [\n Species.${species[0]},\n`;
+ for (const form of forms) {
+ tmSpeciesStr += ` '${form}',\n`;
+ }
+ tmSpeciesStr += " ],\n";
+ }
+ }
+ }
+ tmSpeciesStr += " ],\n";
+ }
+
+ enumStr += "\n};";
+ pokemonSpeciesStr += " );";
+ speciesLevelMovesStr += "\n};";
+ speciesFormLevelMovesStr += "\n};";
+ tmSpeciesStr += "\n};";
+
+ console.log(enumStr);
+ console.log(pokemonSpeciesStr);
+ console.log(speciesLevelMovesStr);
+ console.log(speciesFormLevelMovesStr);
+ console.log(tmSpeciesStr);
+
+ console.log(moveTmSpecies);
+}
+
+export async function printAbilities() {
+ const replaceText = true;
+
+ let abilityContent: string = await fs.readFile("./src/data/ability.ts");
+
+ const api = new MainClient();
+
+ let enumStr = "export enum Abilities {\n NONE,";
+ let abilityStr = " allAbilities.push(";
+
+ abilityContent = abilityContent.slice(abilityContent.indexOf(abilityStr));
+
+ let abilities: NamedAPIResource[] = [];
+ const offset = 0;
+ const abilitiesResponse = await api.pokemon.listAbilities(offset, 2000);
+ abilities = abilitiesResponse.results;
+
+ for (const a of abilities) {
+ const ability = await api.pokemon.getAbilityByName(a.name);
+ const abilityEnumName = ability.name.toUpperCase().replace(/\_/g, "").replace(/\-/g, "_");
+ enumStr += `\n ${abilityEnumName},`;
+ console.log(ability.name, ability);
+
+ const matchingLineIndex = abilityContent.search(new RegExp(`new Ability\\\(Abilities.${abilityEnumName},`));
+ let matchingLine = matchingLineIndex > -1 ? abilityContent.slice(matchingLineIndex) : null;
+ if (matchingLine) {
+ matchingLine = matchingLine.slice(0, matchingLine.search(/,(?: \/\/.*?)?(?:\r)?\n[ \t]+(?:new|\);)/));
+ }
+
+ let abilityName = ability.names.find(ln => ln.language.name === "en").name;
+ [ "N", "P" ].every(s => {
+ if (!matchingLine || matchingLine.indexOf(` (${s})`) > -1) {
+ abilityName += ` (${s})`;
+ return false;
+ }
+ return true;
+ });
+
+ let flavorText: string;
+ if (!matchingLine || replaceText) {
+ for (const version of versions) {
+ if ((flavorText = ability.flavor_text_entries.find(fte => fte.language.name === "en" && fte.version_group.name === version)?.flavor_text) || "") {
+ if (flavorText.indexOf("forgotten") > -1) {
+ continue;
+ }
+ break;
+ }
+ }
+ } else if (matchingLine) {
+ flavorText = allAbilities[ability.id].description;
+ }
+ abilityStr += `\n new Ability(Abilities.${abilityEnumName}, "${abilityName}", "${flavorText?.replace(/\n/g, "\\n").replace(/ /g, " ").replace(/’/g, "'") || ""}", ${generationMap[ability.generation.name]})`;
+ if (matchingLine && matchingLine.length > 1) {
+ const newLineIndex = matchingLine.indexOf("\n");
+ if (newLineIndex > -1) {
+ abilityStr += matchingLine.slice(newLineIndex);
+ }
+ }
+ abilityStr += ",";
+ }
+
+ enumStr += "\n};";
+ abilityStr += "\n);";
+
+ console.log(enumStr);
+ console.log(abilityStr);
+}
+
+export async function printMoves() {
+ const replaceText = true;
+
+ let moveContent: string = await fs.readFile("./src/data/move.ts");
+
+ const api = new MainClient();
+
+ let enumStr = "export enum Moves {\n NONE,";
+ let moveStr = " allMoves.push(";
+
+ moveContent = moveContent.slice(moveContent.indexOf(moveStr));
+
+ let moves: NamedAPIResource[] = [];
+ const offset = 0;
+ const movesResponse = await api.move.listMoves(offset, 2000);
+ moves = movesResponse.results;
+
+ console.log(moves);
+
+ for (const m of moves) {
+ const move = await api.move.getMoveByName(m.name);
+ const moveEnumName = move.name.toUpperCase().replace(/\_/g, "").replace(/\-/g, "_");
+ enumStr += `\n ${moveEnumName},`;
+ console.log(move.name, move);
+
+ const matchingLineIndex = moveContent.search(new RegExp(`new (?:Attack|(?:Self)?Status)Move\\\(Moves.${Moves[move.id]},`));
+ let matchingLine = matchingLineIndex > -1 ? moveContent.slice(matchingLineIndex) : null;
+ if (matchingLine) {
+ matchingLine = matchingLine.slice(0, matchingLine.search(/,(?: \/\/.*?)?(?:\r)?\n[ \t]+(?:new|\);)/));
+ }
+
+ let moveName = move.names.find(ln => ln.language.name === "en").name;
+ [ "N", "P" ].every(s => {
+ if (!matchingLine || matchingLine.indexOf(` (${s})`) > -1) {
+ moveName += ` (${s})`;
+ return false;
+ }
+ return true;
+ });
+
+ let flavorText: string;
+ if (!matchingLine || replaceText) {
+ for (const version of versions) {
+ if ((flavorText = move.flavor_text_entries.find(fte => fte.language.name === "en" && fte.version_group.name === version)?.flavor_text) || "") {
+ if (flavorText.indexOf("forgotten") > -1) {
+ continue;
+ }
+ break;
+ }
+ }
+ } else if (matchingLine) {
+ flavorText = allMoves[move.id].effect;
+ }
+ const moveTarget = targetMap[move.target.name];
+ moveStr += `\n new ${move.damage_class.name !== "status" ? "Attack" : (moveTarget === MoveTarget.USER ? "Self" : "") + "Status"}Move(Moves.${moveEnumName}, "${moveName}", Type.${move.type.name.toUpperCase()}${move.damage_class.name !== "status" ? `, MoveCategory.${move.damage_class.name.toUpperCase()}` : ""}${move.damage_class.name !== "status" ? `, ${move.power || -1}` : ""}, ${move.accuracy || -1}, ${move.pp}, "${flavorText?.replace(/\n/g, "\\n").replace(/ /g, " ").replace(/’/g, "'") || ""}", ${move.effect_chance || -1}, ${move.priority}, ${generationMap[move.generation.name]})`;
+ const expectedTarget = move.damage_class.name !== "status" || moveTarget !== MoveTarget.USER ? MoveTarget.NEAR_OTHER : MoveTarget.USER;
+ if (matchingLine && matchingLine.length > 1) {
+ const newLineIndex = matchingLine.indexOf("\n");
+ if (newLineIndex > -1) {
+ console.log(matchingLine.slice(newLineIndex).replace(/(?:\r)?\n[ \t]+.target\(.*?\)/g, ""), newLineIndex);
+ moveStr += matchingLine.slice(newLineIndex).replace(/(?:\r)?\n[ \t]+.target\(.*?\)/g, "");
+ }
+ }
+ if (moveTarget !== expectedTarget) {
+ moveStr += `\n .target(MoveTarget.${MoveTarget[moveTarget]})`;
+ }
+ moveStr += ",";
+ }
+
+ enumStr += "\n};";
+ moveStr += "\n);";
+
+ console.log(enumStr);
+ console.log(moveStr);
+}
+
+export async function printTmSpecies() {
+ const moveTmSpecies: TmSpecies = {};
+
+ const api = new MainClient();
+
+ const moveIds = Object.keys(tmSpecies).map(k => parseInt(k) as Moves);
+
+ for (const moveId of moveIds) {
+ const move = await api.move.getMoveById(moveId);
+
+ moveTmSpecies[moveId] = [];
+
+ for (const species of move.learned_by_pokemon) {
+ const dexIdMatch = /\/(\d+)\//.exec(species.url);
+ if (!dexIdMatch) {
+ continue;
+ }
+
+ const dexId = parseInt(dexIdMatch[1]);
+
+ let matchingSpecies: PokemonSpecies;
+ let formKey = "";
+
+ console.log(species.name);
+
+ if (dexId < 10000) {
+ matchingSpecies = allSpecies[dexId - 1];
+ } else {
+ const pokemon = await api.pokemon.getPokemonById(dexId);
+
+ const speciesDexIdMatch = /\/(\d+)\//.exec(pokemon.species.url);
+ if (!speciesDexIdMatch) {
+ continue;
+ }
+
+ const speciesDexId = parseInt(speciesDexIdMatch[1]);
+
+ const speciesKey = Species[allSpecies[speciesDexId - 1].speciesId];
+
+ formKey = species.name.slice(speciesKey.length + 1);
+
+ const regionKey = regionalForms.find(r => formKey.indexOf(r) > -1);
+
+ if (regionKey) {
+ formKey = formKey.slice(regionKey.length + 1);
+ matchingSpecies = allSpecies.find(s => Species[s.speciesId] === `${regionKey.toUpperCase()}_${speciesKey}`);
+ } else {
+ matchingSpecies = allSpecies[speciesDexId - 1];
+ }
+ }
+
+ if (!matchingSpecies) {
+ console.log("NO MATCH", species.name);
+ continue;
+ }
+
+ const speciesKey = Species[matchingSpecies.speciesId];
+
+ const matchingIndex = moveTmSpecies[moveId].findIndex(s => Array.isArray(s) ? s[0] === speciesKey : s === speciesKey);
+
+ if (matchingIndex === -1) {
+ moveTmSpecies[moveId].push(!formKey ? speciesKey : [ speciesKey, formKey ]);
+ } else {
+ if (!Array.isArray(moveTmSpecies[moveId][matchingIndex])) {
+ moveTmSpecies[moveId][matchingIndex] = [ moveTmSpecies[moveId][matchingIndex] as string, "" ];
+ }
+ (moveTmSpecies[moveId][matchingIndex] as string[]).push(formKey);
+ }
+ }
+ }
+
+ let tmSpeciesStr = "export const tmSpecies: TmSpecies = {\n";
+
+ for (const moveId of Object.keys(moveTmSpecies)) {
+ tmSpeciesStr += ` [Moves.${Moves[parseInt(moveId)]}]: [\n`;
+ for (const species of moveTmSpecies[moveId]) {
+ if (typeof species === "string") {
+ tmSpeciesStr += ` Species.${species},\n`;
+ } else {
+ const matchingExistingSpecies = allSpecies.find(s => Species[s.speciesId] === species[0]);
+ const forms = (species as string[]).slice(1);
+ if (matchingExistingSpecies && (!pokemonFormLevelMoves.hasOwnProperty(matchingExistingSpecies.speciesId) || matchingExistingSpecies.forms.length <= 1 || (matchingExistingSpecies.forms.length === 2 && matchingExistingSpecies.forms[1].formKey.indexOf(SpeciesFormKey.MEGA) > -1) || matchingExistingSpecies.forms.length === forms.length)) {
+ tmSpeciesStr += ` Species.${species[0]},\n`;
+ } else {
+ tmSpeciesStr += ` [\n Species.${species[0]},\n`;
+ for (const form of forms) {
+ tmSpeciesStr += ` '${form}',\n`;
+ }
+ tmSpeciesStr += " ],\n";
+ }
+ }
+ }
+ tmSpeciesStr += " ],\n";
+ }
+
+ tmSpeciesStr += "\n};";
+
+ console.log(tmSpeciesStr);
+}
diff --git a/src/data/api.ts b/src/data/api.ts
deleted file mode 100644
index 2a88fc8d410..00000000000
--- a/src/data/api.ts
+++ /dev/null
@@ -1,689 +0,0 @@
-import { MainClient, NamedAPIResource } from "pokenode-ts";
-import { MoveTarget, allMoves } from "./move";
-import * as Utils from "../utils";
-import fs from "vite-plugin-fs/browser";
-import PokemonSpecies, { PokemonForm, SpeciesFormKey, allSpecies } from "./pokemon-species";
-import { GrowthRate } from "./exp";
-import { Type } from "./type";
-import { allAbilities } from "./ability";
-import { Abilities } from "./enums/abilities";
-import { Species } from "./enums/species";
-import { pokemonFormLevelMoves } from "./pokemon-level-moves";
-import { tmSpecies } from "./tms";
-import { Moves } from "./enums/moves";
-
-const targetMap = {
- "specific-move": MoveTarget.ATTACKER,
- "selected-pokemon-me-first": MoveTarget.NEAR_ENEMY,
- "ally": MoveTarget.NEAR_ALLY,
- "users-field": MoveTarget.USER_SIDE,
- "user-or-ally": MoveTarget.USER_OR_NEAR_ALLY,
- "opponents-field": MoveTarget.ENEMY_SIDE,
- "user": MoveTarget.USER,
- "random-opponent": MoveTarget.RANDOM_NEAR_ENEMY,
- "all-other-pokemon": MoveTarget.ALL_NEAR_OTHERS,
- "selected-pokemon": MoveTarget.NEAR_OTHER,
- "all-opponents": MoveTarget.ALL_NEAR_ENEMIES,
- "entire-field": MoveTarget.BOTH_SIDES,
- "user-and-allies": MoveTarget.USER_AND_ALLIES,
- "all-pokemon": MoveTarget.ALL,
- "all-allies": MoveTarget.NEAR_ALLY,
- "fainting-pokemon": MoveTarget.NEAR_OTHER
-};
-
-const generationMap = {
- "generation-i": 1,
- "generation-ii": 2,
- "generation-iii": 3,
- "generation-iv": 4,
- "generation-v": 5,
- "generation-vi": 6,
- "generation-vii": 7,
- "generation-viii": 8,
- "generation-ix": 9
-};
-
-const growthRateMap = {
- "slow-then-very-fast": GrowthRate.ERRATIC,
- "fast": GrowthRate.FAST,
- "medium": GrowthRate.MEDIUM_FAST,
- "medium-slow": GrowthRate.MEDIUM_SLOW,
- "slow": GrowthRate.SLOW,
- "fast-then-very-slow": GrowthRate.FLUCTUATING
-};
-
-const regionalForms = [ "alola", "galar", "hisui", "paldea" ];
-
-const ignoredForms = [ "gmax", "totem", "cap", "starter" ];
-
-const generationDexNumbers = {
- 1: 151,
- 2: 251,
- 3: 386,
- 4: 494,
- 5: 649,
- 6: 721,
- 7: 809,
- 8: 905,
- 9: 1010
-};
-
-const versions = [ "scarlet-violet", "sword-shield", "sun-moon" ];
-
-type LevelMove = [level: integer, moveId: integer];
-
-interface SpeciesLevelMoves {
- [key: string]: LevelMove[]
-}
-
-interface FormLevelMoves {
- [key: integer]: LevelMove[]
-}
-
-interface SpeciesFormLevelMoves {
- [key: string]: FormLevelMoves
-}
-
-interface TmSpecies {
- [key: string]: Array
-}
-
-export async function printPokemon() {
- const api = new MainClient();
-
- const useExistingTmList = true;
-
- let enumStr = "export enum Species {\n";
- let pokemonSpeciesStr = "\tallSpecies.push(\n";
- const speciesLevelMoves: SpeciesLevelMoves = {};
- const speciesFormLevelMoves: SpeciesFormLevelMoves = {};
- const moveTmSpecies: TmSpecies = {};
-
- let pokemonArr: NamedAPIResource[] = [];
-
- const offset = 0;
- const pokemonResponse = await api.pokemon.listPokemons(offset, 2000);
-
- pokemonArr = pokemonResponse.results;
-
- const types = Utils.getEnumKeys(Type).map(t => t.toLowerCase());
- const abilities = Utils.getEnumKeys(Abilities).map(a => a.toLowerCase().replace(/\_/g, "-"));
-
- const pokemonSpeciesList: PokemonSpecies[] = [];
-
- for (const p of pokemonArr) {
- const pokemon = await api.pokemon.getPokemonByName(p.name);
-
- let region: string = "";
-
- if (pokemon.id > 10000) {
- const dexIdMatch = /\/(\d+)\//.exec(pokemon.species.url);
- if (!dexIdMatch) {
- continue;
- }
-
- const matchingSpecies = pokemonSpeciesList[parseInt(dexIdMatch[1]) - 1];
-
- if (!matchingSpecies) {
- continue;
- }
-
- const speciesKey = (matchingSpecies as any).key as string;
-
- const formName = pokemon.name.slice(speciesKey.length + 1);
-
- if (ignoredForms.filter(f => formName.indexOf(f) > -1).length) {
- continue;
- }
-
- const shortFormName = formName.indexOf("-") > -1
- ? formName.slice(0, formName.indexOf("-"))
- : formName;
-
- if (regionalForms.indexOf(shortFormName) > -1) {
- region = shortFormName.toUpperCase();
- } else {
- const formBaseStats: integer[] = [];
- let formBaseTotal = 0;
- // Assume correct stat order in API result
- for (const stat of pokemon.stats) {
- formBaseStats.push(stat.base_stat);
- formBaseTotal += stat.base_stat;
- }
-
- const [ formType1, formType2 ] = [ types.indexOf(pokemon.types.find(t => t.slot === 1).type.name), types.indexOf(pokemon.types.find(t => t.slot === 2)?.type.name) ];
- const [ formAbility1, formAbility2, formAbilityHidden ] = [
- Math.max(abilities.indexOf(pokemon.abilities.find(a => a.slot === 1)?.ability.name), 0),
- Math.max(abilities.indexOf(pokemon.abilities.find(a => a.slot === 2)?.ability.name), 0),
- Math.max(abilities.indexOf(pokemon.abilities.find(a => a.slot === 3)?.ability.name), 0)
- ];
-
- const pokemonForm = new PokemonForm(formName, formName, formType1 as Type, formType2 > -1 ? formType2 as Type : null, pokemon.height / 10, pokemon.weight / 10,
- formAbility1 as Abilities, formAbility2 as Abilities, formAbilityHidden as Abilities, formBaseTotal, formBaseStats[0], formBaseStats[1], formBaseStats[2], formBaseStats[3], formBaseStats[4], formBaseStats[5],
- matchingSpecies.catchRate, matchingSpecies.baseFriendship, matchingSpecies.baseExp, matchingSpecies.genderDiffs);
- pokemonForm.speciesId = matchingSpecies.speciesId;
- pokemonForm.formIndex = matchingSpecies.forms.length;
- pokemonForm.generation = matchingSpecies.generation;
-
- let moveVer: string;
-
- if (!speciesFormLevelMoves.hasOwnProperty(speciesKey)) {
- speciesFormLevelMoves[speciesKey] = [];
- }
- speciesFormLevelMoves[speciesKey][pokemonForm.formIndex] = [];
-
- for (const version of versions) {
- if (pokemon.moves.find(m => m.version_group_details.find(v => v.version_group.name === version && v.move_learn_method.name === "level-up"))) {
- moveVer = version;
- break;
- }
- }
-
- if (moveVer) {
- pokemon.moves.forEach(moveData => {
- moveData.version_group_details.filter(v => versions.indexOf(v.version_group.name) > -1).forEach(verData => {
- const isMoveVer = verData.version_group.name === moveVer;
-
- const moveName = moveData.move.name.toUpperCase().replace(/\_/g, "").replace(/\-/g, "_");
- const moveId = Math.max(Utils.getEnumKeys(Moves).indexOf(moveName), 0);
-
- const learnMethod = verData.move_learn_method.name;
-
- if (isMoveVer && learnMethod === "level-up") {
- speciesFormLevelMoves[speciesKey][pokemonForm.formIndex].push([ verData.level_learned_at, moveId ]);
- }
-
- if ([ "machine", "tutor" ].indexOf(learnMethod) > -1 || (useExistingTmList && tmSpecies.hasOwnProperty(moveId as Moves) && learnMethod === "level-up")) {
- if (!moveTmSpecies.hasOwnProperty(moveId)) {
- moveTmSpecies[moveId] = [];
- }
- const speciesIndex = moveTmSpecies[moveId].findIndex(s => s[0] === speciesKey);
- if (speciesIndex === -1) {
- moveTmSpecies[moveId].push([ speciesKey, formName ]);
- } else {
- (moveTmSpecies[moveId][speciesIndex] as string[]).push(formName);
- }
- }
- });
- });
-
- if (JSON.stringify(speciesLevelMoves[speciesKey]) === JSON.stringify(speciesFormLevelMoves[speciesKey][pokemonForm.formIndex])) {
- delete speciesFormLevelMoves[speciesKey][pokemonForm.formIndex];
- if (!Object.keys(speciesFormLevelMoves[speciesKey]).length) {
- delete speciesFormLevelMoves[speciesKey];
- }
- }
- }
-
- matchingSpecies.forms.push(pokemonForm);
- continue;
- }
- }
-
- const species = await api.pokemon.getPokemonSpeciesByName(pokemon.species.name);
-
- let speciesKey = species.name.toUpperCase().replace(/\-/g, "_");
-
- const matchingExistingSpecies = allSpecies.find(s => Species[s.speciesId] === speciesKey);
-
- let dexId = species.id;
-
- if (region) {
- dexId += (regionalForms.indexOf(region.toLowerCase()) + 1) * 2000;
- speciesKey = `${region}_${speciesKey}`;
- }
-
- let generationIndex = 0;
-
- if (!region) {
- while (++generationIndex < 9 && dexId > generationDexNumbers[generationIndex]) {}
- } else {
- generationIndex = regionalForms.indexOf(region.toLowerCase()) + 6;
- }
-
- const baseStats: integer[] = [];
- let baseTotal = 0;
- // Assume correct stat order in API result
- for (const stat of pokemon.stats) {
- baseStats.push(stat.base_stat);
- baseTotal += stat.base_stat;
- }
-
- console.log(pokemon);
-
- const [ type1, type2 ] = [ types.indexOf(pokemon.types.find(t => t.slot === 1).type.name), types.indexOf(pokemon.types.find(t => t.slot === 2)?.type.name) ];
- const [ ability1, ability2, abilityHidden ] = [
- Math.max(abilities.indexOf(pokemon.abilities.find(a => a.slot === 1)?.ability.name), 0),
- Math.max(abilities.indexOf(pokemon.abilities.find(a => a.slot === 2)?.ability.name), 0),
- Math.max(abilities.indexOf(pokemon.abilities.find(a => a.slot === 3)?.ability.name), 0)
- ];
-
- const pokemonSpecies = new PokemonSpecies(dexId, generationIndex, species.is_legendary && baseTotal < 660, species.is_legendary && baseTotal >= 660, species.is_mythical,
- species.genera.find(g => g.language.name === "en")?.genus, type1 as Type, type2 > -1 ? type2 as Type : null, pokemon.height / 10, pokemon.weight / 10, ability1 as Abilities, ability2 as Abilities, abilityHidden as Abilities,
- baseTotal, baseStats[0], baseStats[1], baseStats[2], baseStats[3], baseStats[4], baseStats[5], species.capture_rate, species.base_happiness, pokemon.base_experience, growthRateMap[species.growth_rate.name],
- species.gender_rate < 9 ? 100 - (species.gender_rate * 12.5) : null, species.has_gender_differences, species.forms_switchable);
-
- (pokemonSpecies as any).key = speciesKey;
-
- pokemonSpeciesList.push(pokemonSpecies);
-
- let moveVer: string;
-
- speciesLevelMoves[speciesKey] = [];
-
- for (const version of versions) {
- if (pokemon.moves.find(m => m.version_group_details.find(v => v.version_group.name === version && v.move_learn_method.name === "level-up"))) {
- moveVer = version;
- break;
- }
- }
-
- const speciesTmMoves: integer[] = [];
-
- if (moveVer) {
- pokemon.moves.forEach(moveData => {
- const verData = moveData.version_group_details.find(v => v.version_group.name === moveVer);
- if (!verData) {
- return;
- }
-
- const moveName = moveData.move.name.toUpperCase().replace(/\_/g, "").replace(/\-/g, "_");
- const moveId = Math.max(Utils.getEnumKeys(Moves).indexOf(moveName), 0);
-
- switch (verData.move_learn_method.name) {
- case "level-up":
- speciesLevelMoves[speciesKey].push([ verData.level_learned_at, moveId ]);
- break;
- case "machine":
- case "tutor":
- if (moveId > 0) {
- if (!moveTmSpecies.hasOwnProperty(moveId)) {
- moveTmSpecies[moveId] = [];
- }
- if (moveTmSpecies[moveId].indexOf(speciesKey) === -1) {
- moveTmSpecies[moveId].push(speciesKey);
- }
- speciesTmMoves.push(moveId);
- }
- break;
- }
- });
- }
-
- for (const f of pokemon.forms) {
- const form = await api.pokemon.getPokemonFormByName(f.name);
- const formIndex = pokemonSpecies.forms.length;
-
- const matchingForm = matchingExistingSpecies && matchingExistingSpecies.forms.length > formIndex
- ? matchingExistingSpecies.forms.find(f2 => f2.formKey === form.form_name || f2.formName === form.form_name) || matchingExistingSpecies.forms[formIndex]
- : null;
- const formName = matchingForm
- ? matchingForm.formName
- : form.form_names.find(fn => fn.language.name === "en")?.name || form.form_name;
- const formKey = matchingForm
- ? matchingForm.formKey
- : form.form_name;
-
- const [ formType1, formType2 ] = [ types.indexOf(form.types.find(t => t.slot === 1).type.name), types.indexOf(form.types.find(t => t.slot === 2)?.type.name) ];
- const pokemonForm = new PokemonForm(formName, formKey, formType1 as Type, formType2 > -1 ? formType2 as Type : null,
- pokemonSpecies.height, pokemonSpecies.weight, pokemonSpecies.ability1, pokemonSpecies.ability2, pokemonSpecies.abilityHidden, baseTotal, baseStats[0], baseStats[1], baseStats[2], baseStats[3], baseStats[4], baseStats[5],
- pokemonSpecies.catchRate, pokemonSpecies.baseFriendship, pokemonSpecies.baseExp, pokemonSpecies.genderDiffs);
- pokemonForm.speciesId = pokemonSpecies.speciesId;
- pokemonForm.formIndex = formIndex;
- pokemonForm.generation = pokemonSpecies.generation;
-
- if (!pokemonForm.formIndex && speciesTmMoves.length) {
- for (const moveId of speciesTmMoves) {
- const speciesIndex = moveTmSpecies[moveId].findIndex(s => s === speciesKey);
- moveTmSpecies[moveId][speciesIndex] = [
- speciesKey,
- formKey
- ];
- }
- }
-
- pokemonSpecies.forms.push(pokemonForm);
- }
-
- console.log(pokemonSpecies.name, pokemonSpecies);
- }
-
- for (const pokemonSpecies of pokemonSpeciesList) {
- const speciesKey = (pokemonSpecies as any).key as string;
-
- enumStr += ` ${speciesKey}${pokemonSpecies.speciesId >= 2000 ? ` = ${pokemonSpecies.speciesId}` : ""},\n`;
- pokemonSpeciesStr += ` new PokemonSpecies(Species.${speciesKey}, "${pokemonSpecies.name}", ${pokemonSpecies.generation}, ${pokemonSpecies.subLegendary}, ${pokemonSpecies.legendary}, ${pokemonSpecies.mythical}, "${pokemonSpecies.species}", Type.${Type[pokemonSpecies.type1]}, ${pokemonSpecies.type2 ? `Type.${Type[pokemonSpecies.type2]}` : "null"}, ${pokemonSpecies.height}, ${pokemonSpecies.weight}, Abilities.${Abilities[pokemonSpecies.ability1]}, Abilities.${Abilities[pokemonSpecies.ability2]}, Abilities.${Abilities[pokemonSpecies.abilityHidden]}, ${pokemonSpecies.baseTotal}, ${pokemonSpecies.baseStats[0]}, ${pokemonSpecies.baseStats[1]}, ${pokemonSpecies.baseStats[2]}, ${pokemonSpecies.baseStats[3]}, ${pokemonSpecies.baseStats[4]}, ${pokemonSpecies.baseStats[5]}, ${pokemonSpecies.catchRate}, ${pokemonSpecies.baseFriendship}, ${pokemonSpecies.baseExp}, GrowthRate.${GrowthRate[pokemonSpecies.growthRate]}, ${pokemonSpecies.malePercent}, ${pokemonSpecies.genderDiffs}`;
- if (pokemonSpecies.forms.length > 1) {
- pokemonSpeciesStr += `, ${pokemonSpecies.canChangeForm},`;
- for (const form of pokemonSpecies.forms) {
- pokemonSpeciesStr += `\n new PokemonForm("${form.formName}", "${form.formName}", Type.${Type[form.type1]}, ${form.type2 ? `Type.${Type[form.type2]}` : "null"}, ${form.height}, ${form.weight}, Abilities.${Abilities[form.ability1]}, Abilities.${Abilities[form.ability2]}, Abilities.${Abilities[form.abilityHidden]}, ${form.baseTotal}, ${form.baseStats[0]}, ${form.baseStats[1]}, ${form.baseStats[2]}, ${form.baseStats[3]}, ${form.baseStats[4]}, ${form.baseStats[5]}, ${form.catchRate}, ${form.baseFriendship}, ${form.baseExp}${form.genderDiffs ? ", true" : ""}),`;
- }
- pokemonSpeciesStr += "\n ";
- }
- pokemonSpeciesStr += "),\n";
- }
-
- let speciesLevelMovesStr = "export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {\n";
- let speciesFormLevelMovesStr = "export const pokemonFormLevelMoves: PokemonSpeciesFormLevelMoves = {\n";
- let tmSpeciesStr = "export const tmSpecies: TmSpecies = {\n";
-
- for (const species of Object.keys(speciesLevelMoves)) {
- speciesLevelMovesStr += ` [Species.${species}]: [\n`;
-
- const orderedLevelMoves = speciesLevelMoves[species].sort((a: LevelMove, b: LevelMove) => {
- if (a[0] !== b[0]) {
- return a[0] < b[0] ? -1 : 1;
- }
- return a[1] < b[1] ? -1 : 1;
- });
-
- for (const lm of orderedLevelMoves) {
- speciesLevelMovesStr += ` [ ${lm[0]}, Moves.${Moves[lm[1]]} ],\n`;
- }
-
- speciesLevelMovesStr += " ],\n";
- }
-
- for (const species of Object.keys(speciesFormLevelMoves)) {
- speciesFormLevelMovesStr += ` [Species.${species}]: {\n`;
-
- for (const f of Object.keys(speciesFormLevelMoves[species])) {
- speciesFormLevelMovesStr += ` ${f}: [\n`;
-
- const orderedLevelMoves = speciesFormLevelMoves[species][f].sort((a: LevelMove, b: LevelMove) => {
- if (a[0] !== b[0]) {
- return a[0] < b[0] ? -1 : 1;
- }
- return a[1] < b[1] ? -1 : 1;
- });
-
- for (const lm of orderedLevelMoves) {
- speciesFormLevelMovesStr += ` [ ${lm[0]}, Moves.${Moves[lm[1]]} ],\n`;
- }
-
- speciesFormLevelMovesStr += " ],\n";
- }
-
- speciesFormLevelMovesStr += " },\n";
- }
-
- for (const moveId of Object.keys(moveTmSpecies)) {
- tmSpeciesStr += ` [Moves.${Moves[parseInt(moveId)]}]: [\n`;
- for (const species of moveTmSpecies[moveId]) {
- if (typeof species === "string") {
- tmSpeciesStr += ` Species.${species},\n`;
- } else {
- const matchingExistingSpecies = allSpecies.find(s => Species[s.speciesId] === species[0]);
- const forms = (species as string[]).slice(1);
- if (matchingExistingSpecies && (!pokemonFormLevelMoves.hasOwnProperty(matchingExistingSpecies.speciesId) || matchingExistingSpecies.forms.length <= 1 || (matchingExistingSpecies.forms.length === 2 && matchingExistingSpecies.forms[1].formKey.indexOf(SpeciesFormKey.MEGA) > -1) || matchingExistingSpecies.forms.length === forms.length)) {
- tmSpeciesStr += ` Species.${species[0]},\n`;
- } else {
- tmSpeciesStr += ` [\n Species.${species[0]},\n`;
- for (const form of forms) {
- tmSpeciesStr += ` '${form}',\n`;
- }
- tmSpeciesStr += " ],\n";
- }
- }
- }
- tmSpeciesStr += " ],\n";
- }
-
- enumStr += "\n};";
- pokemonSpeciesStr += " );";
- speciesLevelMovesStr += "\n};";
- speciesFormLevelMovesStr += "\n};";
- tmSpeciesStr += "\n};";
-
- console.log(enumStr);
- console.log(pokemonSpeciesStr);
- console.log(speciesLevelMovesStr);
- console.log(speciesFormLevelMovesStr);
- console.log(tmSpeciesStr);
-
- console.log(moveTmSpecies);
-}
-
-export async function printAbilities() {
- const replaceText = true;
-
- let abilityContent: string = await fs.readFile("./src/data/ability.ts");
-
- const api = new MainClient();
-
- let enumStr = "export enum Abilities {\n NONE,";
- let abilityStr = " allAbilities.push(";
-
- abilityContent = abilityContent.slice(abilityContent.indexOf(abilityStr));
-
- let abilities: NamedAPIResource[] = [];
- const offset = 0;
- const abilitiesResponse = await api.pokemon.listAbilities(offset, 2000);
- abilities = abilitiesResponse.results;
-
- for (const a of abilities) {
- const ability = await api.pokemon.getAbilityByName(a.name);
- const abilityEnumName = ability.name.toUpperCase().replace(/\_/g, "").replace(/\-/g, "_");
- enumStr += `\n ${abilityEnumName},`;
- console.log(ability.name, ability);
-
- const matchingLineIndex = abilityContent.search(new RegExp(`new Ability\\\(Abilities.${abilityEnumName},`));
- let matchingLine = matchingLineIndex > -1 ? abilityContent.slice(matchingLineIndex) : null;
- if (matchingLine) {
- matchingLine = matchingLine.slice(0, matchingLine.search(/,(?: \/\/.*?)?(?:\r)?\n[ \t]+(?:new|\);)/));
- }
-
- let abilityName = ability.names.find(ln => ln.language.name === "en").name;
- [ "N", "P" ].every(s => {
- if (!matchingLine || matchingLine.indexOf(` (${s})`) > -1) {
- abilityName += ` (${s})`;
- return false;
- }
- return true;
- });
-
- let flavorText: string;
- if (!matchingLine || replaceText) {
- for (const version of versions) {
- if ((flavorText = ability.flavor_text_entries.find(fte => fte.language.name === "en" && fte.version_group.name === version)?.flavor_text) || "") {
- if (flavorText.indexOf("forgotten") > -1) {
- continue;
- }
- break;
- }
- }
- } else if (matchingLine) {
- flavorText = allAbilities[ability.id].description;
- }
- abilityStr += `\n new Ability(Abilities.${abilityEnumName}, "${abilityName}", "${flavorText?.replace(/\n/g, "\\n").replace(/ /g, " ").replace(/’/g, "'") || ""}", ${generationMap[ability.generation.name]})`;
- if (matchingLine && matchingLine.length > 1) {
- const newLineIndex = matchingLine.indexOf("\n");
- if (newLineIndex > -1) {
- abilityStr += matchingLine.slice(newLineIndex);
- }
- }
- abilityStr += ",";
- }
-
- enumStr += "\n};";
- abilityStr += "\n);";
-
- console.log(enumStr);
- console.log(abilityStr);
-}
-
-export async function printMoves() {
- const replaceText = true;
-
- let moveContent: string = await fs.readFile("./src/data/move.ts");
-
- const api = new MainClient();
-
- let enumStr = "export enum Moves {\n NONE,";
- let moveStr = " allMoves.push(";
-
- moveContent = moveContent.slice(moveContent.indexOf(moveStr));
-
- let moves: NamedAPIResource[] = [];
- const offset = 0;
- const movesResponse = await api.move.listMoves(offset, 2000);
- moves = movesResponse.results;
-
- console.log(moves);
-
- for (const m of moves) {
- const move = await api.move.getMoveByName(m.name);
- const moveEnumName = move.name.toUpperCase().replace(/\_/g, "").replace(/\-/g, "_");
- enumStr += `\n ${moveEnumName},`;
- console.log(move.name, move);
-
- const matchingLineIndex = moveContent.search(new RegExp(`new (?:Attack|(?:Self)?Status)Move\\\(Moves.${Moves[move.id]},`));
- let matchingLine = matchingLineIndex > -1 ? moveContent.slice(matchingLineIndex) : null;
- if (matchingLine) {
- matchingLine = matchingLine.slice(0, matchingLine.search(/,(?: \/\/.*?)?(?:\r)?\n[ \t]+(?:new|\);)/));
- }
-
- let moveName = move.names.find(ln => ln.language.name === "en").name;
- [ "N", "P" ].every(s => {
- if (!matchingLine || matchingLine.indexOf(` (${s})`) > -1) {
- moveName += ` (${s})`;
- return false;
- }
- return true;
- });
-
- let flavorText: string;
- if (!matchingLine || replaceText) {
- for (const version of versions) {
- if ((flavorText = move.flavor_text_entries.find(fte => fte.language.name === "en" && fte.version_group.name === version)?.flavor_text) || "") {
- if (flavorText.indexOf("forgotten") > -1) {
- continue;
- }
- break;
- }
- }
- } else if (matchingLine) {
- flavorText = allMoves[move.id].effect;
- }
- const moveTarget = targetMap[move.target.name];
- moveStr += `\n new ${move.damage_class.name !== "status" ? "Attack" : (moveTarget === MoveTarget.USER ? "Self" : "") + "Status"}Move(Moves.${moveEnumName}, "${moveName}", Type.${move.type.name.toUpperCase()}${move.damage_class.name !== "status" ? `, MoveCategory.${move.damage_class.name.toUpperCase()}` : ""}${move.damage_class.name !== "status" ? `, ${move.power || -1}` : ""}, ${move.accuracy || -1}, ${move.pp}, "${flavorText?.replace(/\n/g, "\\n").replace(/ /g, " ").replace(/’/g, "'") || ""}", ${move.effect_chance || -1}, ${move.priority}, ${generationMap[move.generation.name]})`;
- const expectedTarget = move.damage_class.name !== "status" || moveTarget !== MoveTarget.USER ? MoveTarget.NEAR_OTHER : MoveTarget.USER;
- if (matchingLine && matchingLine.length > 1) {
- const newLineIndex = matchingLine.indexOf("\n");
- if (newLineIndex > -1) {
- console.log(matchingLine.slice(newLineIndex).replace(/(?:\r)?\n[ \t]+.target\(.*?\)/g, ""), newLineIndex);
- moveStr += matchingLine.slice(newLineIndex).replace(/(?:\r)?\n[ \t]+.target\(.*?\)/g, "");
- }
- }
- if (moveTarget !== expectedTarget) {
- moveStr += `\n .target(MoveTarget.${MoveTarget[moveTarget]})`;
- }
- moveStr += ",";
- }
-
- enumStr += "\n};";
- moveStr += "\n);";
-
- console.log(enumStr);
- console.log(moveStr);
-}
-
-export async function printTmSpecies() {
- const moveTmSpecies: TmSpecies = {};
-
- const api = new MainClient();
-
- const moveIds = Object.keys(tmSpecies).map(k => parseInt(k) as Moves);
-
- for (const moveId of moveIds) {
- const move = await api.move.getMoveById(moveId);
-
- moveTmSpecies[moveId] = [];
-
- for (const species of move.learned_by_pokemon) {
- const dexIdMatch = /\/(\d+)\//.exec(species.url);
- if (!dexIdMatch) {
- continue;
- }
-
- const dexId = parseInt(dexIdMatch[1]);
-
- let matchingSpecies: PokemonSpecies;
- let formKey = "";
-
- console.log(species.name);
-
- if (dexId < 10000) {
- matchingSpecies = allSpecies[dexId - 1];
- } else {
- const pokemon = await api.pokemon.getPokemonById(dexId);
-
- const speciesDexIdMatch = /\/(\d+)\//.exec(pokemon.species.url);
- if (!speciesDexIdMatch) {
- continue;
- }
-
- const speciesDexId = parseInt(speciesDexIdMatch[1]);
-
- const speciesKey = Species[allSpecies[speciesDexId - 1].speciesId];
-
- formKey = species.name.slice(speciesKey.length + 1);
-
- const regionKey = regionalForms.find(r => formKey.indexOf(r) > -1);
-
- if (regionKey) {
- formKey = formKey.slice(regionKey.length + 1);
- matchingSpecies = allSpecies.find(s => Species[s.speciesId] === `${regionKey.toUpperCase()}_${speciesKey}`);
- } else {
- matchingSpecies = allSpecies[speciesDexId - 1];
- }
- }
-
- if (!matchingSpecies) {
- console.log("NO MATCH", species.name);
- continue;
- }
-
- const speciesKey = Species[matchingSpecies.speciesId];
-
- const matchingIndex = moveTmSpecies[moveId].findIndex(s => Array.isArray(s) ? s[0] === speciesKey : s === speciesKey);
-
- if (matchingIndex === -1) {
- moveTmSpecies[moveId].push(!formKey ? speciesKey : [ speciesKey, formKey ]);
- } else {
- if (!Array.isArray(moveTmSpecies[moveId][matchingIndex])) {
- moveTmSpecies[moveId][matchingIndex] = [ moveTmSpecies[moveId][matchingIndex] as string, "" ];
- }
- (moveTmSpecies[moveId][matchingIndex] as string[]).push(formKey);
- }
- }
- }
-
- let tmSpeciesStr = "export const tmSpecies: TmSpecies = {\n";
-
- for (const moveId of Object.keys(moveTmSpecies)) {
- tmSpeciesStr += ` [Moves.${Moves[parseInt(moveId)]}]: [\n`;
- for (const species of moveTmSpecies[moveId]) {
- if (typeof species === "string") {
- tmSpeciesStr += ` Species.${species},\n`;
- } else {
- const matchingExistingSpecies = allSpecies.find(s => Species[s.speciesId] === species[0]);
- const forms = (species as string[]).slice(1);
- if (matchingExistingSpecies && (!pokemonFormLevelMoves.hasOwnProperty(matchingExistingSpecies.speciesId) || matchingExistingSpecies.forms.length <= 1 || (matchingExistingSpecies.forms.length === 2 && matchingExistingSpecies.forms[1].formKey.indexOf(SpeciesFormKey.MEGA) > -1) || matchingExistingSpecies.forms.length === forms.length)) {
- tmSpeciesStr += ` Species.${species[0]},\n`;
- } else {
- tmSpeciesStr += ` [\n Species.${species[0]},\n`;
- for (const form of forms) {
- tmSpeciesStr += ` '${form}',\n`;
- }
- tmSpeciesStr += " ],\n";
- }
- }
- }
- tmSpeciesStr += " ],\n";
- }
-
- tmSpeciesStr += "\n};";
-
- console.log(tmSpeciesStr);
-}
diff --git a/src/data/arena-tag.ts b/src/data/arena-tag.ts
index 37de1af2efa..28d38daffb4 100644
--- a/src/data/arena-tag.ts
+++ b/src/data/arena-tag.ts
@@ -4,17 +4,17 @@ import * as Utils from "../utils";
import { MoveCategory, allMoves, MoveTarget } from "./move";
import { getPokemonMessage } from "../messages";
import Pokemon, { HitResult, PokemonMove } from "../field/pokemon";
-import { MoveEffectPhase, PokemonHealPhase, ShowAbilityPhase, StatChangePhase} from "../phases";
+import { MoveEffectPhase, PokemonHealPhase, ShowAbilityPhase, StatChangePhase } from "../phases";
import { StatusEffect } from "./status-effect";
import { BattlerIndex } from "../battle";
-import { Moves } from "./enums/moves";
-import { ArenaTagType } from "./enums/arena-tag-type";
import { BlockNonDirectDamageAbAttr, ProtectStatAbAttr, applyAbAttrs } from "./ability";
import { BattleStat } from "./battle-stat";
import { CommonAnim, CommonBattleAnim } from "./battle-anims";
-import { Abilities } from "./enums/abilities";
-import { BattlerTagType } from "./enums/battler-tag-type";
import i18next from "i18next";
+import { Abilities } from "#enums/abilities";
+import { ArenaTagType } from "#enums/arena-tag-type";
+import { BattlerTagType } from "#enums/battler-tag-type";
+import { Moves } from "#enums/moves";
export enum ArenaTagSide {
BOTH,
@@ -29,6 +29,7 @@ export abstract class ArenaTag {
public sourceId: integer;
public side: ArenaTagSide;
+
constructor(tagType: ArenaTagType, turnCount: integer, sourceMove: Moves, sourceId?: integer, side: ArenaTagSide = ArenaTagSide.BOTH) {
this.tagType = tagType;
this.turnCount = turnCount;
@@ -41,10 +42,12 @@ export abstract class ArenaTag {
return true;
}
- onAdd(arena: Arena): void { }
+ onAdd(arena: Arena, quiet: boolean = false): void { }
- onRemove(arena: Arena): void {
- arena.scene.queueMessage(`${this.getMoveName()}\'s effect wore off${this.side === ArenaTagSide.PLAYER ? "\non your side" : this.side === ArenaTagSide.ENEMY ? "\non the foe's side" : ""}.`);
+ onRemove(arena: Arena, quiet: boolean = false): void {
+ if (!quiet) {
+ arena.scene.queueMessage(`${this.getMoveName()}\'s effect wore off${this.side === ArenaTagSide.PLAYER ? "\non your side" : this.side === ArenaTagSide.ENEMY ? "\non the foe's side" : ""}.`);
+ }
}
onOverlap(arena: Arena): void { }
@@ -60,16 +63,22 @@ export abstract class ArenaTag {
}
}
+/**
+ * Arena Tag class for {@link https://bulbapedia.bulbagarden.net/wiki/Mist_(move) Mist}.
+ * Prevents Pokémon on the opposing side from lowering the stats of the Pokémon in the Mist.
+ */
export class MistTag extends ArenaTag {
constructor(turnCount: integer, sourceId: integer, side: ArenaTagSide) {
super(ArenaTagType.MIST, turnCount, Moves.MIST, sourceId, side);
}
- onAdd(arena: Arena): void {
+ onAdd(arena: Arena, quiet: boolean = false): void {
super.onAdd(arena);
const source = arena.scene.getPokemonById(this.sourceId);
- arena.scene.queueMessage(getPokemonMessage(source, "'s team became\nshrouded in mist!"));
+ if (!quiet) {
+ arena.scene.queueMessage(getPokemonMessage(source, "'s team became\nshrouded in mist!"));
+ }
}
apply(arena: Arena, args: any[]): boolean {
@@ -81,72 +90,94 @@ export class MistTag extends ArenaTag {
}
}
+/**
+ * Reduces the damage of specific move categories in the arena.
+ * @extends ArenaTag
+ */
export class WeakenMoveScreenTag extends ArenaTag {
- constructor(tagType: ArenaTagType, turnCount: integer, sourceMove: Moves, sourceId: integer, side: ArenaTagSide) {
+ protected weakenedCategories: MoveCategory[];
+
+ /**
+ * Creates a new instance of the WeakenMoveScreenTag class.
+ *
+ * @param tagType - The type of the arena tag.
+ * @param turnCount - The number of turns the tag is active.
+ * @param sourceMove - The move that created the tag.
+ * @param sourceId - The ID of the source of the tag.
+ * @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: integer, sourceMove: Moves, sourceId: integer, side: ArenaTagSide, weakenedCategories: MoveCategory[]) {
super(tagType, turnCount, sourceMove, sourceId, side);
+
+ this.weakenedCategories = weakenedCategories;
}
+ /**
+ * Applies the weakening effect to the move.
+ *
+ * @param arena - The arena where the move is applied.
+ * @param args - The arguments for the move application.
+ * @param args[0] - The category of the move.
+ * @param args[1] - A boolean indicating whether it is a double battle.
+ * @param args[2] - An object of type `Utils.NumberHolder` that holds the damage multiplier
+ *
+ * @returns True if the move was weakened, otherwise false.
+ */
apply(arena: Arena, args: any[]): boolean {
- if ((args[1] as boolean)) {
- (args[2] as Utils.NumberHolder).value = 2732/4096;
- } else {
- (args[2] as Utils.NumberHolder).value = 0.5;
+ if (this.weakenedCategories.includes((args[0] as MoveCategory))) {
+ (args[2] as Utils.NumberHolder).value = (args[1] as boolean) ? 2732/4096 : 0.5;
+ return true;
}
- return true;
+ return false;
}
}
+/**
+ * Reduces the damage of physical moves.
+ * Used by {@linkcode Moves.REFLECT}
+ */
class ReflectTag extends WeakenMoveScreenTag {
constructor(turnCount: integer, sourceId: integer, side: ArenaTagSide) {
- super(ArenaTagType.REFLECT, turnCount, Moves.REFLECT, sourceId, side);
+ super(ArenaTagType.REFLECT, turnCount, Moves.REFLECT, sourceId, side, [MoveCategory.PHYSICAL]);
}
- apply(arena: Arena, args: any[]): boolean {
- if ((args[0] as MoveCategory) === MoveCategory.PHYSICAL) {
- if ((args[1] as boolean)) {
- (args[2] as Utils.NumberHolder).value = 2732/4096;
- } else {
- (args[2] as Utils.NumberHolder).value = 0.5;
- }
- return true;
+ onAdd(arena: Arena, quiet: boolean = false): void {
+ if (!quiet) {
+ arena.scene.queueMessage(`Reflect reduced the damage of physical moves${this.side === ArenaTagSide.PLAYER ? "\non your side" : this.side === ArenaTagSide.ENEMY ? "\non the foe's side" : ""}.`);
}
- return false;
- }
-
- onAdd(arena: Arena): void {
- arena.scene.queueMessage(`Reflect reduced the damage of physical moves${this.side === ArenaTagSide.PLAYER ? "\non your side" : this.side === ArenaTagSide.ENEMY ? "\non the foe's side" : ""}.`);
}
}
+/**
+ * Reduces the damage of special moves.
+ * Used by {@linkcode Moves.LIGHT_SCREEN}
+ */
class LightScreenTag extends WeakenMoveScreenTag {
constructor(turnCount: integer, sourceId: integer, side: ArenaTagSide) {
- super(ArenaTagType.LIGHT_SCREEN, turnCount, Moves.LIGHT_SCREEN, sourceId, side);
+ super(ArenaTagType.LIGHT_SCREEN, turnCount, Moves.LIGHT_SCREEN, sourceId, side, [MoveCategory.SPECIAL]);
}
- apply(arena: Arena, args: any[]): boolean {
- if ((args[0] as MoveCategory) === MoveCategory.SPECIAL) {
- if ((args[1] as boolean)) {
- (args[2] as Utils.NumberHolder).value = 2732/4096;
- } else {
- (args[2] as Utils.NumberHolder).value = 0.5;
- }
- return true;
+ onAdd(arena: Arena, quiet: boolean = false): void {
+ if (!quiet) {
+ arena.scene.queueMessage(`Light Screen reduced the damage of special moves${this.side === ArenaTagSide.PLAYER ? "\non your side" : this.side === ArenaTagSide.ENEMY ? "\non the foe's side" : ""}.`);
}
- return false;
- }
-
- onAdd(arena: Arena): void {
- arena.scene.queueMessage(`Light Screen reduced the damage of special moves${this.side === ArenaTagSide.PLAYER ? "\non your side" : this.side === ArenaTagSide.ENEMY ? "\non the foe's side" : ""}.`);
}
}
+/**
+ * Reduces the damage of physical and special moves.
+ * Used by {@linkcode Moves.AURORA_VEIL}
+ */
class AuroraVeilTag extends WeakenMoveScreenTag {
constructor(turnCount: integer, sourceId: integer, side: ArenaTagSide) {
- super(ArenaTagType.AURORA_VEIL, turnCount, Moves.AURORA_VEIL, sourceId, side);
+ super(ArenaTagType.AURORA_VEIL, turnCount, Moves.AURORA_VEIL, sourceId, side, [MoveCategory.SPECIAL, MoveCategory.PHYSICAL]);
}
- onAdd(arena: Arena): void {
- arena.scene.queueMessage(`Aurora Veil reduced the damage of moves${this.side === ArenaTagSide.PLAYER ? "\non your side" : this.side === ArenaTagSide.ENEMY ? "\non the foe's side" : ""}.`);
+ onAdd(arena: Arena, quiet: boolean = false): void {
+ if (!quiet) {
+ arena.scene.queueMessage(`Aurora Veil reduced the damage of moves${this.side === ArenaTagSide.PLAYER ? "\non your side" : this.side === ArenaTagSide.ENEMY ? "\non the foe's side" : ""}.`);
+ }
}
}
@@ -272,6 +303,10 @@ class CraftyShieldTag extends ConditionalProtectTag {
}
}
+/**
+ * Arena Tag class for {@link https://bulbapedia.bulbagarden.net/wiki/Wish_(move) Wish}.
+ * Heals the Pokémon in the user's position the turn after Wish is used.
+ */
class WishTag extends ArenaTag {
private battlerIndex: BattlerIndex;
private triggerMessage: string;
@@ -297,9 +332,21 @@ class WishTag extends ArenaTag {
}
}
+/**
+ * Abstract class to implement weakened moves of a specific type.
+ */
export class WeakenMoveTypeTag extends ArenaTag {
private weakenedType: Type;
+ /**
+ * Creates a new instance of the WeakenMoveTypeTag class.
+ *
+ * @param tagType - The type of the arena tag.
+ * @param turnCount - The number of turns the tag is active.
+ * @param type - The type being weakened from this tag.
+ * @param sourceMove - The move that created the tag.
+ * @param sourceId - The ID of the source of the tag.
+ */
constructor(tagType: ArenaTagType, turnCount: integer, type: Type, sourceMove: Moves, sourceId: integer) {
super(tagType, turnCount, sourceMove, sourceId);
@@ -316,6 +363,10 @@ export class WeakenMoveTypeTag extends ArenaTag {
}
}
+/**
+ * Arena Tag class for {@link https://bulbapedia.bulbagarden.net/wiki/Mud_Sport_(move) Mud Sport}.
+ * Weakens Electric type moves for a set amount of turns, usually 5.
+ */
class MudSportTag extends WeakenMoveTypeTag {
constructor(turnCount: integer, sourceId: integer) {
super(ArenaTagType.MUD_SPORT, turnCount, Type.ELECTRIC, Moves.MUD_SPORT, sourceId);
@@ -330,6 +381,10 @@ class MudSportTag extends WeakenMoveTypeTag {
}
}
+/**
+ * Arena Tag class for {@link https://bulbapedia.bulbagarden.net/wiki/Water_Sport_(move) Water Sport}.
+ * Weakens Fire type moves for a set amount of turns, usually 5.
+ */
class WaterSportTag extends WeakenMoveTypeTag {
constructor(turnCount: integer, sourceId: integer) {
super(ArenaTagType.WATER_SPORT, turnCount, Type.FIRE, Moves.WATER_SPORT, sourceId);
@@ -344,10 +399,22 @@ class WaterSportTag extends WeakenMoveTypeTag {
}
}
+/**
+ * Abstract class to implement arena traps.
+ */
export class ArenaTrapTag extends ArenaTag {
public layers: integer;
public maxLayers: integer;
+ /**
+ * Creates a new instance of the ArenaTrapTag class.
+ *
+ * @param tagType - The type of the arena tag.
+ * @param sourceMove - The move that created the tag.
+ * @param sourceId - The ID of the source of the tag.
+ * @param side - The side (player or enemy) the tag affects.
+ * @param maxLayers - The maximum amount of layers this tag can have.
+ */
constructor(tagType: ArenaTagType, sourceMove: Moves, sourceId: integer, side: ArenaTagSide, maxLayers: integer) {
super(tagType, 0, sourceMove, sourceId, side);
@@ -381,16 +448,23 @@ export class ArenaTrapTag extends ArenaTag {
}
}
+/**
+ * Arena Tag class for {@link https://bulbapedia.bulbagarden.net/wiki/Spikes_(move) Spikes}.
+ * Applies up to 3 layers of Spikes, dealing 1/8th, 1/6th, or 1/4th of the the Pokémon's HP
+ * in damage for 1, 2, or 3 layers of Spikes respectively if they are summoned into this trap.
+ */
class SpikesTag extends ArenaTrapTag {
constructor(sourceId: integer, side: ArenaTagSide) {
super(ArenaTagType.SPIKES, Moves.SPIKES, sourceId, side, 3);
}
- onAdd(arena: Arena): void {
+ onAdd(arena: Arena, quiet: boolean = false): void {
super.onAdd(arena);
const source = arena.scene.getPokemonById(this.sourceId);
- arena.scene.queueMessage(`${this.getMoveName()} were scattered\nall around ${source.getOpponentDescriptor()}'s feet!`);
+ if (!quiet) {
+ arena.scene.queueMessage(`${this.getMoveName()} were scattered\nall around ${source.getOpponentDescriptor()}'s feet!`);
+ }
}
activateTrap(pokemon: Pokemon): boolean {
@@ -415,6 +489,12 @@ class SpikesTag extends ArenaTrapTag {
}
}
+/**
+ * Arena Tag class for {@link https://bulbapedia.bulbagarden.net/wiki/Toxic_Spikes_(move) Toxic Spikes}.
+ * Applies up to 2 layers of Toxic Spikes, poisoning or badly poisoning any Pokémon who is
+ * summoned into this trap if 1 or 2 layers of Toxic Spikes respectively are up. Poison-type
+ * Pokémon summoned into this trap remove it entirely.
+ */
class ToxicSpikesTag extends ArenaTrapTag {
private neutralized: boolean;
@@ -423,11 +503,13 @@ class ToxicSpikesTag extends ArenaTrapTag {
this.neutralized = false;
}
- onAdd(arena: Arena): void {
+ onAdd(arena: Arena, quiet: boolean = false): void {
super.onAdd(arena);
const source = arena.scene.getPokemonById(this.sourceId);
- arena.scene.queueMessage(`${this.getMoveName()} were scattered\nall around ${source.getOpponentDescriptor()}'s feet!`);
+ if (!quiet) {
+ arena.scene.queueMessage(`${this.getMoveName()} were scattered\nall around ${source.getOpponentDescriptor()}'s feet!`);
+ }
}
onRemove(arena: Arena): void {
@@ -466,6 +548,11 @@ class ToxicSpikesTag extends ArenaTrapTag {
}
}
+/**
+ * Arena Tag class for delayed attacks, such as {@linkcode Moves.FUTURE_SIGHT} or {@linkcode Moves.DOOM_DESIRE}.
+ * Delays the attack's effect by a set amount of turns, usually 3 (including the turn the move is used),
+ * and deals damage after the turn count is reached.
+ */
class DelayedAttackTag extends ArenaTag {
public targetIndex: BattlerIndex;
@@ -488,20 +575,27 @@ class DelayedAttackTag extends ArenaTag {
onRemove(arena: Arena): void { }
}
+/**
+ * Arena Tag class for {@link https://bulbapedia.bulbagarden.net/wiki/Stealth_Rock_(move) Stealth Rock}.
+ * Applies up to 1 layer of Stealth Rocks, dealing percentage-based damage to any Pokémon
+ * who is summoned into the trap, based on the Rock type's type effectiveness.
+ */
class StealthRockTag extends ArenaTrapTag {
constructor(sourceId: integer, side: ArenaTagSide) {
super(ArenaTagType.STEALTH_ROCK, Moves.STEALTH_ROCK, sourceId, side, 1);
}
- onAdd(arena: Arena): void {
+ onAdd(arena: Arena, quiet: boolean = false): void {
super.onAdd(arena);
const source = arena.scene.getPokemonById(this.sourceId);
- arena.scene.queueMessage(`Pointed stones float in the air\naround ${source.getOpponentDescriptor()}!`);
+ if (!quiet) {
+ arena.scene.queueMessage(`Pointed stones float in the air\naround ${source.getOpponentDescriptor()}!`);
+ }
}
getDamageHpRatio(pokemon: Pokemon): number {
- const effectiveness = pokemon.getAttackTypeEffectiveness(Type.ROCK);
+ const effectiveness = pokemon.getAttackTypeEffectiveness(Type.ROCK, undefined, true);
let damageHpRatio: number;
@@ -557,18 +651,25 @@ class StealthRockTag extends ArenaTrapTag {
}
}
+/**
+ * Arena Tag class for {@link https://bulbapedia.bulbagarden.net/wiki/Sticky_Web_(move) Sticky Web}.
+ * Applies up to 1 layer of Sticky Web, which lowers the Speed by one stage
+ * to any Pokémon who is summoned into this trap.
+ */
class StickyWebTag extends ArenaTrapTag {
constructor(sourceId: integer, side: ArenaTagSide) {
super(ArenaTagType.STICKY_WEB, Moves.STICKY_WEB, sourceId, side, 1);
}
- onAdd(arena: Arena): void {
+ onAdd(arena: Arena, quiet: boolean = false): void {
super.onAdd(arena);
// does not seem to be used anywhere
// eslint-disable-next-line @typescript-eslint/no-unused-vars
const source = arena.scene.getPokemonById(this.sourceId);
- arena.scene.queueMessage(`A ${this.getMoveName()} has been laid out on the ground around the opposing team!`);
+ if (!quiet) {
+ arena.scene.queueMessage(`A ${this.getMoveName()} has been laid out on the ground around the opposing team!`);
+ }
}
activateTrap(pokemon: Pokemon): boolean {
@@ -587,6 +688,11 @@ class StickyWebTag extends ArenaTrapTag {
}
+/**
+ * Arena Tag class for {@link https://bulbapedia.bulbagarden.net/wiki/Trick_Room_(move) Trick Room}.
+ * Reverses the Speed stats for all Pokémon on the field as long as this arena tag is up,
+ * also reversing the turn order for all Pokémon on the field as well.
+ */
export class TrickRoomTag extends ArenaTag {
constructor(turnCount: integer, sourceId: integer) {
super(ArenaTagType.TRICK_ROOM, turnCount, Moves.TRICK_ROOM, sourceId);
@@ -607,6 +713,11 @@ export class TrickRoomTag extends ArenaTag {
}
}
+/**
+ * Arena Tag class for {@link https://bulbapedia.bulbagarden.net/wiki/Gravity_(move) Gravity}.
+ * Grounds all Pokémon on the field, including Flying-types and those with
+ * {@linkcode Abilities.LEVITATE} for the duration of the arena tag, usually 5 turns.
+ */
export class GravityTag extends ArenaTag {
constructor(turnCount: integer) {
super(ArenaTagType.GRAVITY, turnCount, Moves.GRAVITY);
@@ -614,6 +725,11 @@ export class GravityTag extends ArenaTag {
onAdd(arena: Arena): void {
arena.scene.queueMessage("Gravity intensified!");
+ arena.scene.getField(true).forEach((pokemon) => {
+ if (pokemon !== null) {
+ pokemon.removeTag(BattlerTagType.MAGNET_RISEN);
+ }
+ });
}
onRemove(arena: Arena): void {
@@ -621,13 +737,20 @@ export class GravityTag extends ArenaTag {
}
}
+/**
+ * Arena Tag class for {@link https://bulbapedia.bulbagarden.net/wiki/Tailwind_(move) Tailwind}.
+ * Doubles the Speed of the Pokémon who created this arena tag, as well as all allied Pokémon.
+ * Applies this arena tag for 4 turns (including the turn the move was used).
+ */
class TailwindTag extends ArenaTag {
constructor(turnCount: integer, sourceId: integer, side: ArenaTagSide) {
super(ArenaTagType.TAILWIND, turnCount, Moves.TAILWIND, sourceId, side);
}
- onAdd(arena: Arena): void {
- arena.scene.queueMessage(`The Tailwind blew from behind${this.side === ArenaTagSide.PLAYER ? "\nyour" : this.side === ArenaTagSide.ENEMY ? "\nthe opposing" : ""} team!`);
+ onAdd(arena: Arena, quiet: boolean = false): void {
+ if (!quiet) {
+ arena.scene.queueMessage(`The Tailwind blew from behind${this.side === ArenaTagSide.PLAYER ? "\nyour" : this.side === ArenaTagSide.ENEMY ? "\nthe opposing" : ""} team!`);
+ }
const source = arena.scene.getPokemonById(this.sourceId);
const party = source.isPlayer() ? source.scene.getPlayerField() : source.scene.getEnemyField();
@@ -646,8 +769,28 @@ class TailwindTag extends ArenaTag {
}
}
+ onRemove(arena: Arena, quiet: boolean = false): void {
+ if (!quiet) {
+ arena.scene.queueMessage(`${this.side === ArenaTagSide.PLAYER ? "Your" : this.side === ArenaTagSide.ENEMY ? "The opposing" : ""} team's Tailwind petered out!`);
+ }
+ }
+}
+
+/**
+ * Arena Tag class for {@link https://bulbapedia.bulbagarden.net/wiki/Happy_Hour_(move) Happy Hour}.
+ * Doubles the prize money from trainers and money moves like {@linkcode Moves.PAY_DAY} and {@linkcode Moves.MAKE_IT_RAIN}.
+ */
+class HappyHourTag extends ArenaTag {
+ constructor(turnCount: integer, sourceId: integer, side: ArenaTagSide) {
+ super(ArenaTagType.HAPPY_HOUR, turnCount, Moves.HAPPY_HOUR, sourceId, side);
+ }
+
+ onAdd(arena: Arena): void {
+ arena.scene.queueMessage("Everyone is caught up in the happy atmosphere!");
+ }
+
onRemove(arena: Arena): void {
- arena.scene.queueMessage(`${this.side === ArenaTagSide.PLAYER ? "Your" : this.side === ArenaTagSide.ENEMY ? "The opposing" : ""} team's Tailwind petered out!`);
+ arena.scene.queueMessage("The atmosphere returned to normal.");
}
}
@@ -692,5 +835,7 @@ export function getArenaTag(tagType: ArenaTagType, turnCount: integer, sourceMov
return new AuroraVeilTag(turnCount, sourceId, side);
case ArenaTagType.TAILWIND:
return new TailwindTag(turnCount, sourceId, side);
+ case ArenaTagType.HAPPY_HOUR:
+ return new HappyHourTag(turnCount, sourceId, side);
}
}
diff --git a/src/data/battle-anims.ts b/src/data/battle-anims.ts
index 75c883ec1e7..d4dbb8ec350 100644
--- a/src/data/battle-anims.ts
+++ b/src/data/battle-anims.ts
@@ -5,7 +5,7 @@ import Pokemon from "../field/pokemon";
import * as Utils from "../utils";
import { BattlerIndex } from "../battle";
import { Element } from "json-stable-stringify";
-import { Moves } from "./enums/moves";
+import { Moves } from "#enums/moves";
//import fs from 'vite-plugin-fs/browser';
export enum AnimFrameTarget {
diff --git a/src/data/battle-stat.ts b/src/data/battle-stat.ts
index 46e5a7dac8b..7dccd4f8a7c 100644
--- a/src/data/battle-stat.ts
+++ b/src/data/battle-stat.ts
@@ -1,3 +1,5 @@
+import i18next from "i18next";
+
export enum BattleStat {
ATK,
DEF,
@@ -12,52 +14,56 @@ export enum BattleStat {
export function getBattleStatName(stat: BattleStat) {
switch (stat) {
case BattleStat.ATK:
- return "Attack";
+ return i18next.t("pokemonInfo:Stat.ATK");
case BattleStat.DEF:
- return "Defense";
+ return i18next.t("pokemonInfo:Stat.DEF");
case BattleStat.SPATK:
- return "Sp. Atk";
+ return i18next.t("pokemonInfo:Stat.SPATK");
case BattleStat.SPDEF:
- return "Sp. Def";
+ return i18next.t("pokemonInfo:Stat.SPDEF");
case BattleStat.SPD:
- return "Speed";
+ return i18next.t("pokemonInfo:Stat.SPD");
case BattleStat.ACC:
- return "Accuracy";
+ return i18next.t("pokemonInfo:Stat.ACC");
case BattleStat.EVA:
- return "Evasiveness";
+ return i18next.t("pokemonInfo:Stat.EVA");
default:
return "???";
}
}
-export function getBattleStatLevelChangeDescription(levels: integer, up: boolean) {
- if (up) {
- switch (levels) {
- case 1:
- return "rose";
- case 2:
- return "sharply rose";
- case 3:
- case 4:
- case 5:
- case 6:
- return "rose drastically";
- default:
- return "won't go any higher";
+export function getBattleStatLevelChangeDescription(pokemonNameWithAffix: string, stats: string, levels: integer, up: boolean) {
+ const stringKey = (() => {
+ if (up) {
+ switch (levels) {
+ case 1:
+ return "battle:statRose";
+ case 2:
+ return "battle:statSharplyRose";
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ return "battle:statRoseDrastically";
+ default:
+ return "battle:statWontGoAnyHigher";
+ }
+ } else {
+ switch (levels) {
+ case 1:
+ return "battle:statFell";
+ case 2:
+ return "battle:statHarshlyFell";
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ return "battle:statSeverelyFell";
+ default:
+ return "battle:statWontGoAnyLower";
+ }
}
- } else {
- switch (levels) {
- case 1:
- return "fell";
- case 2:
- return "harshly fell";
- case 3:
- case 4:
- case 5:
- case 6:
- return "severely fell";
- default:
- return "won't go any lower";
- }
- }
+ })();
+
+ return i18next.t(stringKey, { pokemonNameWithAffix, stats });
}
diff --git a/src/data/battler-tags.ts b/src/data/battler-tags.ts
index 63ac9fd895d..41b6f73ec28 100644
--- a/src/data/battler-tags.ts
+++ b/src/data/battler-tags.ts
@@ -1,20 +1,23 @@
import { CommonAnim, CommonBattleAnim } from "./battle-anims";
import { CommonAnimPhase, MoveEffectPhase, MovePhase, PokemonHealPhase, ShowAbilityPhase, StatChangePhase } from "../phases";
-import { getPokemonMessage, getPokemonPrefix } from "../messages";
+import { getPokemonMessage, getPokemonNameWithAffix } from "../messages";
import Pokemon, { MoveResult, HitResult } from "../field/pokemon";
import { Stat, getStatName } from "./pokemon-stat";
import { StatusEffect } from "./status-effect";
import * as Utils from "../utils";
-import { Moves } from "./enums/moves";
import { ChargeAttr, MoveFlags, allMoves } from "./move";
import { Type } from "./type";
import { BlockNonDirectDamageAbAttr, FlinchEffectAbAttr, ReverseDrainAbAttr, applyAbAttrs } from "./ability";
-import { Abilities } from "./enums/abilities";
-import { BattlerTagType } from "./enums/battler-tag-type";
import { TerrainType } from "./terrain";
import { WeatherType } from "./weather";
import { BattleStat } from "./battle-stat";
import { allAbilities } from "./ability";
+import { SpeciesFormChangeManualTrigger } from "./pokemon-forms";
+import { Abilities } from "#enums/abilities";
+import { BattlerTagType } from "#enums/battler-tag-type";
+import { Moves } from "#enums/moves";
+import { Species } from "#enums/species";
+import i18next from "#app/plugins/i18n.js";
export enum BattlerTagLapseType {
FAINT,
@@ -103,7 +106,7 @@ export class RechargingTag extends BattlerTag {
lapse(pokemon: Pokemon, lapseType: BattlerTagLapseType): boolean {
super.lapse(pokemon, lapseType);
- pokemon.scene.queueMessage(getPokemonMessage(pokemon, " must\nrecharge!"));
+ pokemon.scene.queueMessage(i18next.t("battle:battlerTagsRechargingLapse", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) }));
(pokemon.scene.getCurrentPhase() as MovePhase).cancel();
pokemon.getMoveQueue().shift();
@@ -132,7 +135,10 @@ export class TrappedTag extends BattlerTag {
onRemove(pokemon: Pokemon): void {
super.onRemove(pokemon);
- pokemon.scene.queueMessage(getPokemonMessage(pokemon, ` was freed\nfrom ${this.getMoveName()}!`));
+ pokemon.scene.queueMessage(i18next.t("battle:battlerTagsTrappedOnRemove", {
+ pokemonNameWithAffix: getPokemonNameWithAffix(pokemon),
+ moveName: this.getMoveName()
+ }));
}
getDescriptor(): string {
@@ -144,7 +150,7 @@ export class TrappedTag extends BattlerTag {
}
getTrapMessage(pokemon: Pokemon): string {
- return getPokemonMessage(pokemon, " can no\nlonger escape!");
+ return i18next.t("battle:battlerTagsTrappedOnAdd", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) });
}
}
@@ -167,7 +173,7 @@ export class FlinchedTag extends BattlerTag {
super.lapse(pokemon, lapseType);
(pokemon.scene.getCurrentPhase() as MovePhase).cancel();
- pokemon.scene.queueMessage(getPokemonMessage(pokemon, " flinched!"));
+ pokemon.scene.queueMessage(i18next.t("battle:battlerTagsFlinchedLapse", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) }));
return true;
}
@@ -200,6 +206,9 @@ export class InterruptedTag extends BattlerTag {
}
}
+/**
+ * BattlerTag that represents the {@link https://bulbapedia.bulbagarden.net/wiki/Confusion_(status_condition)}
+ */
export class ConfusedTag extends BattlerTag {
constructor(turnCount: integer, sourceMove: Moves) {
super(BattlerTagType.CONFUSED, BattlerTagLapseType.MOVE, turnCount, sourceMove);
@@ -213,33 +222,34 @@ export class ConfusedTag extends BattlerTag {
super.onAdd(pokemon);
pokemon.scene.unshiftPhase(new CommonAnimPhase(pokemon.scene, pokemon.getBattlerIndex(), undefined, CommonAnim.CONFUSION));
- pokemon.scene.queueMessage(getPokemonMessage(pokemon, " became\nconfused!"));
+ pokemon.scene.queueMessage(i18next.t("battle:battlerTagsConfusedOnAdd", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) }));
}
onRemove(pokemon: Pokemon): void {
super.onRemove(pokemon);
- pokemon.scene.queueMessage(getPokemonMessage(pokemon, " snapped\nout of confusion!"));
+ pokemon.scene.queueMessage(i18next.t("battle:battlerTagsConfusedOnRemove", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) }));
}
onOverlap(pokemon: Pokemon): void {
super.onOverlap(pokemon);
- pokemon.scene.queueMessage(getPokemonMessage(pokemon, " is\nalready confused!"));
+ pokemon.scene.queueMessage(i18next.t("battle:battlerTagsConfusedOnOverlap", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) }));
}
lapse(pokemon: Pokemon, lapseType: BattlerTagLapseType): boolean {
const ret = lapseType !== BattlerTagLapseType.CUSTOM && super.lapse(pokemon, lapseType);
if (ret) {
- pokemon.scene.queueMessage(getPokemonMessage(pokemon, " is\nconfused!"));
+ pokemon.scene.queueMessage(i18next.t("battle:battlerTagsConfusedLapse", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) }));
pokemon.scene.unshiftPhase(new CommonAnimPhase(pokemon.scene, pokemon.getBattlerIndex(), undefined, CommonAnim.CONFUSION));
- if (pokemon.randSeedInt(3)) {
+ // 1/3 chance of hitting self with a 40 base power move
+ if (pokemon.randSeedInt(3) === 0) {
const atk = pokemon.getBattleStat(Stat.ATK);
const def = pokemon.getBattleStat(Stat.DEF);
const damage = Math.ceil(((((2 * pokemon.level / 5 + 2) * 40 * atk / def) / 50) + 2) * (pokemon.randSeedInt(15, 85) / 100));
- pokemon.scene.queueMessage("It hurt itself in its\nconfusion!");
+ pokemon.scene.queueMessage(i18next.t("battle:battlerTagsConfusedLapseHurtItself"));
pokemon.damageAndUpdate(damage);
pokemon.battleData.hitCount++;
(pokemon.scene.getCurrentPhase() as MovePhase).cancel();
@@ -286,14 +296,17 @@ export class DestinyBondTag extends BattlerTag {
return false;
}
- const targetMessage = getPokemonMessage(pokemon, "");
-
if (pokemon.isBossImmune()) {
- pokemon.scene.queueMessage(`${targetMessage} is unaffected\nby the effects of Destiny Bond.`);
+ pokemon.scene.queueMessage(i18next.t("battle:battlerTagsDestinyBondLapseIsBoss", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) }));
return false;
}
- pokemon.scene.queueMessage(`${getPokemonMessage(source, ` took\n${targetMessage} down with it!`)}`);
+ pokemon.scene.queueMessage(
+ i18next.t("battle:battlerTagsDestinyBondLapse", {
+ pokemonNameWithAffix: getPokemonNameWithAffix(source),
+ pokemonNameWithAffix2: getPokemonNameWithAffix(pokemon)
+ })
+ );
pokemon.damageAndUpdate(pokemon.hp, HitResult.ONE_HIT_KO, false, false, true);
return false;
}
@@ -311,24 +324,34 @@ export class InfatuatedTag extends BattlerTag {
onAdd(pokemon: Pokemon): void {
super.onAdd(pokemon);
- pokemon.scene.queueMessage(getPokemonMessage(pokemon, ` fell in love\nwith ${pokemon.scene.getPokemonById(this.sourceId).name}!`));
+ pokemon.scene.queueMessage(
+ i18next.t("battle:battlerTagsInfatuatedOnAdd", {
+ pokemonNameWithAffix: getPokemonNameWithAffix(pokemon),
+ sourcePokemonName: pokemon.scene.getPokemonById(this.sourceId).name
+ })
+ );
}
onOverlap(pokemon: Pokemon): void {
super.onOverlap(pokemon);
- pokemon.scene.queueMessage(getPokemonMessage(pokemon, " is\nalready in love!"));
+ pokemon.scene.queueMessage(i18next.t("battle:battlerTagsInfatuatedOnOverlap", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) }));
}
lapse(pokemon: Pokemon, lapseType: BattlerTagLapseType): boolean {
const ret = lapseType !== BattlerTagLapseType.CUSTOM || super.lapse(pokemon, lapseType);
if (ret) {
- pokemon.scene.queueMessage(getPokemonMessage(pokemon, ` is in love\nwith ${pokemon.scene.getPokemonById(this.sourceId).name}!`));
+ pokemon.scene.queueMessage(
+ i18next.t("battle:battlerTagsInfatuatedLapse", {
+ pokemonNameWithAffix: getPokemonNameWithAffix(pokemon),
+ sourcePokemonName: pokemon.scene.getPokemonById(this.sourceId).name
+ })
+ );
pokemon.scene.unshiftPhase(new CommonAnimPhase(pokemon.scene, pokemon.getBattlerIndex(), undefined, CommonAnim.ATTRACT));
if (pokemon.randSeedInt(2)) {
- pokemon.scene.queueMessage(getPokemonMessage(pokemon, " is\nimmobilized by love!"));
+ pokemon.scene.queueMessage(i18next.t("battle:battlerTagsInfatuatedLapseImmobilize", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) }));
(pokemon.scene.getCurrentPhase() as MovePhase).cancel();
}
}
@@ -339,7 +362,7 @@ export class InfatuatedTag extends BattlerTag {
onRemove(pokemon: Pokemon): void {
super.onRemove(pokemon);
- pokemon.scene.queueMessage(getPokemonMessage(pokemon, " got over\nits infatuation."));
+ pokemon.scene.queueMessage(i18next.t("battle:battlerTagsInfatuatedOnRemove", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) }));
}
isSourceLinked(): boolean {
@@ -374,7 +397,7 @@ export class SeedTag extends BattlerTag {
onAdd(pokemon: Pokemon): void {
super.onAdd(pokemon);
- pokemon.scene.queueMessage(getPokemonMessage(pokemon, " was seeded!"));
+ pokemon.scene.queueMessage(i18next.t("battle:battlerTagsSeededOnAdd", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) }));
this.sourceIndex = pokemon.scene.getPokemonById(this.sourceId).getBattlerIndex();
}
@@ -394,7 +417,7 @@ export class SeedTag extends BattlerTag {
const reverseDrain = pokemon.hasAbilityWithAttr(ReverseDrainAbAttr, false);
pokemon.scene.unshiftPhase(new PokemonHealPhase(pokemon.scene, source.getBattlerIndex(),
!reverseDrain ? damage : damage * -1,
- !reverseDrain ? getPokemonMessage(pokemon, "'s health is\nsapped by Leech Seed!") : getPokemonMessage(source, "'s Leech Seed\nsucked up the liquid ooze!"),
+ !reverseDrain ? i18next.t("battle:battlerTagsSeededLapse", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) }) : i18next.t("battle:battlerTagsSeededLapseShed", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) }),
false, true));
}
}
@@ -416,20 +439,20 @@ export class NightmareTag extends BattlerTag {
onAdd(pokemon: Pokemon): void {
super.onAdd(pokemon);
- pokemon.scene.queueMessage(getPokemonMessage(pokemon, " began\nhaving a Nightmare!"));
+ pokemon.scene.queueMessage(i18next.t("battle:battlerTagsNightmareOnAdd", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) }));
}
onOverlap(pokemon: Pokemon): void {
super.onOverlap(pokemon);
- pokemon.scene.queueMessage(getPokemonMessage(pokemon, " is\nalready locked in a Nightmare!"));
+ pokemon.scene.queueMessage(i18next.t("battle:battlerTagsNightmareOnOverlap", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) }));
}
lapse(pokemon: Pokemon, lapseType: BattlerTagLapseType): boolean {
const ret = lapseType !== BattlerTagLapseType.CUSTOM || super.lapse(pokemon, lapseType);
if (ret) {
- pokemon.scene.queueMessage(getPokemonMessage(pokemon, " is locked\nin a Nightmare!"));
+ pokemon.scene.queueMessage(i18next.t("battle:battlerTagsNightmareLapse", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) }));
pokemon.scene.unshiftPhase(new CommonAnimPhase(pokemon.scene, pokemon.getBattlerIndex(), undefined, CommonAnim.CURSE)); // TODO: Update animation type
const cancelled = new Utils.BooleanHolder(false);
@@ -521,7 +544,7 @@ export class EncoreTag extends BattlerTag {
onAdd(pokemon: Pokemon): void {
super.onRemove(pokemon);
- pokemon.scene.queueMessage(getPokemonMessage(pokemon, " got\nan Encore!"));
+ pokemon.scene.queueMessage(i18next.t("battle:battlerTagsEncoreOnAdd", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) }));
const movePhase = pokemon.scene.findPhase(m => m instanceof MovePhase && m.pokemon === pokemon);
if (movePhase) {
@@ -537,7 +560,7 @@ export class EncoreTag extends BattlerTag {
onRemove(pokemon: Pokemon): void {
super.onRemove(pokemon);
- pokemon.scene.queueMessage(getPokemonMessage(pokemon, "'s Encore\nended!"));
+ pokemon.scene.queueMessage(i18next.t("battle:battlerTagsEncoreOnRemove", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) }));
}
}
@@ -547,7 +570,12 @@ export class HelpingHandTag extends BattlerTag {
}
onAdd(pokemon: Pokemon): void {
- pokemon.scene.queueMessage(getPokemonMessage(pokemon.scene.getPokemonById(this.sourceId), ` is ready to\nhelp ${pokemon.name}!`));
+ pokemon.scene.queueMessage(
+ i18next.t("battle:battlerTagsHelpingHandOnAdd", {
+ pokemonNameWithAffix: getPokemonNameWithAffix(pokemon.scene.getPokemonById(this.sourceId)),
+ pokemonName: pokemon.name
+ })
+ );
}
}
@@ -575,15 +603,22 @@ export class IngrainTag extends TrappedTag {
const ret = lapseType !== BattlerTagLapseType.CUSTOM || super.lapse(pokemon, lapseType);
if (ret) {
- pokemon.scene.unshiftPhase(new PokemonHealPhase(pokemon.scene, pokemon.getBattlerIndex(), Math.floor(pokemon.getMaxHp() / 16),
- getPokemonMessage(pokemon, " absorbed\nnutrients with its roots!"), true));
+ pokemon.scene.unshiftPhase(
+ new PokemonHealPhase(
+ pokemon.scene,
+ pokemon.getBattlerIndex(),
+ Math.floor(pokemon.getMaxHp() / 16),
+ i18next.t("battle:battlerTagsIngrainLapse", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) }),
+ true
+ )
+ );
}
return ret;
}
getTrapMessage(pokemon: Pokemon): string {
- return getPokemonMessage(pokemon, " planted its roots!");
+ return i18next.t("battle:battlerTagsIngrainOnTrap", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) });
}
getDescriptor(): string {
@@ -599,15 +634,23 @@ export class AquaRingTag extends BattlerTag {
onAdd(pokemon: Pokemon): void {
super.onAdd(pokemon);
- pokemon.scene.queueMessage(getPokemonMessage(pokemon, " surrounded\nitself with a veil of water!"));
+ pokemon.scene.queueMessage(i18next.t("battle:battlerTagsAquaRingOnAdd", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) }));
}
lapse(pokemon: Pokemon, lapseType: BattlerTagLapseType): boolean {
const ret = lapseType !== BattlerTagLapseType.CUSTOM || super.lapse(pokemon, lapseType);
if (ret) {
- pokemon.scene.unshiftPhase(new PokemonHealPhase(pokemon.scene, pokemon.getBattlerIndex(),
- Math.floor(pokemon.getMaxHp() / 16), `${this.getMoveName()} restored\n${pokemon.name}\'s HP!`, true));
+ pokemon.scene.unshiftPhase(
+ new PokemonHealPhase(
+ pokemon.scene,
+ pokemon.getBattlerIndex(),
+ Math.floor(pokemon.getMaxHp() / 16),
+ i18next.t("battle:battlerTagsAquaRingLapse", {
+ moveName: this.getMoveName(),
+ pokemonName: pokemon.name
+ }),
+ true));
}
return ret;
@@ -653,7 +696,7 @@ export class DrowsyTag extends BattlerTag {
onAdd(pokemon: Pokemon): void {
super.onAdd(pokemon);
- pokemon.scene.queueMessage(getPokemonMessage(pokemon, " grew drowsy!"));
+ pokemon.scene.queueMessage(i18next.t("battle:battlerTagsDrowsyOnAdd", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) }));
}
lapse(pokemon: Pokemon, lapseType: BattlerTagLapseType): boolean {
@@ -696,7 +739,12 @@ export abstract class DamagingTrapTag extends TrappedTag {
const ret = super.lapse(pokemon, lapseType);
if (ret) {
- pokemon.scene.queueMessage(getPokemonMessage(pokemon, ` is hurt\nby ${this.getMoveName()}!`));
+ pokemon.scene.queueMessage(
+ i18next.t("battle:battlerTagsDamagingTrapLapse", {
+ pokemonNameWithAffix: getPokemonNameWithAffix(pokemon),
+ moveName: this.getMoveName()
+ })
+ );
pokemon.scene.unshiftPhase(new CommonAnimPhase(pokemon.scene, pokemon.getBattlerIndex(), undefined, this.commonAnim));
const cancelled = new Utils.BooleanHolder(false);
@@ -717,7 +765,11 @@ export class BindTag extends DamagingTrapTag {
}
getTrapMessage(pokemon: Pokemon): string {
- return getPokemonMessage(pokemon, ` was squeezed by\n${pokemon.scene.getPokemonById(this.sourceId).name}'s ${this.getMoveName()}!`);
+ return i18next.t("battle:battlerTagsBindOnTrap", {
+ pokemonNameWithAffix: getPokemonNameWithAffix(pokemon),
+ sourcePokemonName: pokemon.scene.getPokemonById(this.sourceId).name,
+ moveName: this.getMoveName()
+ });
}
}
@@ -727,7 +779,10 @@ export class WrapTag extends DamagingTrapTag {
}
getTrapMessage(pokemon: Pokemon): string {
- return getPokemonMessage(pokemon, ` was Wrapped\nby ${pokemon.scene.getPokemonById(this.sourceId).name}!`);
+ return i18next.t("battle:battlerTagsWrapOnTrap", {
+ pokemonNameWithAffix: getPokemonNameWithAffix(pokemon),
+ sourcePokemonName: pokemon.scene.getPokemonById(this.sourceId).name
+ });
}
}
@@ -737,7 +792,7 @@ export abstract class VortexTrapTag extends DamagingTrapTag {
}
getTrapMessage(pokemon: Pokemon): string {
- return getPokemonMessage(pokemon, " was trapped\nin the vortex!");
+ return i18next.t("battle:battlerTagsVortexOnTrap", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) });
}
}
@@ -759,7 +814,10 @@ export class ClampTag extends DamagingTrapTag {
}
getTrapMessage(pokemon: Pokemon): string {
- return getPokemonMessage(pokemon.scene.getPokemonById(this.sourceId), ` Clamped\n${pokemon.name}!`);
+ return i18next.t("battle:battlerTagsClampOnTrap", {
+ sourcePokemonNameWithAffix: getPokemonNameWithAffix(pokemon.scene.getPokemonById(this.sourceId)),
+ pokemonName: pokemon.name,
+ });
}
}
@@ -769,7 +827,10 @@ export class SandTombTag extends DamagingTrapTag {
}
getTrapMessage(pokemon: Pokemon): string {
- return getPokemonMessage(pokemon, ` became trapped\nby ${this.getMoveName()}!`);
+ return i18next.t("battle:battlerTagsSandTombOnTrap", {
+ pokemonNameWithAffix: getPokemonNameWithAffix(pokemon),
+ moveName: this.getMoveName()
+ });
}
}
@@ -779,7 +840,7 @@ export class MagmaStormTag extends DamagingTrapTag {
}
getTrapMessage(pokemon: Pokemon): string {
- return getPokemonMessage(pokemon, " became trapped\nby swirling magma!");
+ return i18next.t("battle:battlerTagsMagmaStormOnTrap", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) });
}
}
@@ -789,7 +850,7 @@ export class SnapTrapTag extends DamagingTrapTag {
}
getTrapMessage(pokemon: Pokemon): string {
- return getPokemonMessage(pokemon, " got trapped\nby a snap trap!");
+ return i18next.t("battle:battlerTagsSnapTrapOnTrap", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) });
}
}
@@ -799,7 +860,10 @@ export class ThunderCageTag extends DamagingTrapTag {
}
getTrapMessage(pokemon: Pokemon): string {
- return getPokemonMessage(pokemon.scene.getPokemonById(this.sourceId), ` trapped\n${getPokemonPrefix(pokemon).toLowerCase()}${pokemon.name}!`);
+ return i18next.t("battle:battlerTagsThunderCageOnTrap", {
+ pokemonNameWithAffix: getPokemonNameWithAffix(pokemon),
+ sourcePokemonNameWithAffix: getPokemonNameWithAffix(pokemon.scene.getPokemonById(this.sourceId))
+ });
}
}
@@ -809,7 +873,10 @@ export class InfestationTag extends DamagingTrapTag {
}
getTrapMessage(pokemon: Pokemon): string {
- return getPokemonMessage(pokemon, ` has been afflicted \nwith an infestation by ${getPokemonPrefix(pokemon.scene.getPokemonById(this.sourceId))}${pokemon.scene.getPokemonById(this.sourceId).name}!`);
+ return i18next.t("battle:battlerTagsInfestationOnTrap", {
+ pokemonNameWithAffix: getPokemonNameWithAffix(pokemon),
+ sourcePokemonNameWithAffix: getPokemonNameWithAffix(pokemon.scene.getPokemonById(this.sourceId))
+ });
}
}
@@ -822,13 +889,19 @@ export class ProtectedTag extends BattlerTag {
onAdd(pokemon: Pokemon): void {
super.onAdd(pokemon);
- pokemon.scene.queueMessage(getPokemonMessage(pokemon, "\nprotected itself!"));
+ pokemon.scene.queueMessage(i18next.t("battle:battlerTagsProtectedOnAdd", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) }));
}
lapse(pokemon: Pokemon, lapseType: BattlerTagLapseType): boolean {
if (lapseType === BattlerTagLapseType.CUSTOM) {
new CommonBattleAnim(CommonAnim.PROTECT, pokemon).play(pokemon.scene);
- pokemon.scene.queueMessage(getPokemonMessage(pokemon, "\nprotected itself!"));
+ pokemon.scene.queueMessage(i18next.t("battle:battlerTagsProtectedLapse", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) }));
+
+ // Stop multi-hit moves early
+ const effectPhase = pokemon.scene.getCurrentPhase();
+ if (effectPhase instanceof MoveEffectPhase) {
+ effectPhase.stopMultiHit(pokemon);
+ }
return true;
}
@@ -861,7 +934,9 @@ export class ContactDamageProtectedTag extends ProtectedTag {
const effectPhase = pokemon.scene.getCurrentPhase();
if (effectPhase instanceof MoveEffectPhase && effectPhase.move.getMove().hasFlag(MoveFlags.MAKES_CONTACT)) {
const attacker = effectPhase.getPokemon();
- attacker.damageAndUpdate(Math.ceil(attacker.getMaxHp() * (1 / this.damageRatio)), HitResult.OTHER);
+ if (!attacker.hasAbilityWithAttr(BlockNonDirectDamageAbAttr)) {
+ attacker.damageAndUpdate(Math.ceil(attacker.getMaxHp() * (1 / this.damageRatio)), HitResult.OTHER);
+ }
}
}
@@ -953,12 +1028,12 @@ export class EnduringTag extends BattlerTag {
onAdd(pokemon: Pokemon): void {
super.onAdd(pokemon);
- pokemon.scene.queueMessage(getPokemonMessage(pokemon, " braced\nitself!"));
+ pokemon.scene.queueMessage(i18next.t("battle:battlerTagsEnduringOnAdd", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) }));
}
lapse(pokemon: Pokemon, lapseType: BattlerTagLapseType): boolean {
if (lapseType === BattlerTagLapseType.CUSTOM) {
- pokemon.scene.queueMessage(getPokemonMessage(pokemon, " endured\nthe hit!"));
+ pokemon.scene.queueMessage(i18next.t("battle:battlerTagsEnduringLapse", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) }));
return true;
}
@@ -973,7 +1048,7 @@ export class SturdyTag extends BattlerTag {
lapse(pokemon: Pokemon, lapseType: BattlerTagLapseType): boolean {
if (lapseType === BattlerTagLapseType.CUSTOM) {
- pokemon.scene.queueMessage(getPokemonMessage(pokemon, " endured\nthe hit!"));
+ pokemon.scene.queueMessage(i18next.t("battle:battlerTagsSturdyLapse", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) }));
return true;
}
@@ -994,7 +1069,12 @@ export class PerishSongTag extends BattlerTag {
const ret = super.lapse(pokemon, lapseType);
if (ret) {
- pokemon.scene.queueMessage(getPokemonMessage(pokemon, `\'s perish count fell to ${this.turnCount}.`));
+ pokemon.scene.queueMessage(
+ i18next.t("battle:battlerTagsPerishSongLapse", {
+ pokemonNameWithAffix: getPokemonNameWithAffix(pokemon),
+ turnCount: this.turnCount
+ })
+ );
} else {
pokemon.damageAndUpdate(pokemon.hp, HitResult.ONE_HIT_KO, false, true, true);
}
@@ -1003,6 +1083,33 @@ export class PerishSongTag extends BattlerTag {
}
}
+/**
+ * Applies the "Center of Attention" volatile status effect, the effect applied by Follow Me, Rage Powder, and Spotlight.
+ * @see {@link https://bulbapedia.bulbagarden.net/wiki/Center_of_attention | Center of Attention}
+ */
+export class CenterOfAttentionTag extends BattlerTag {
+ public powder: boolean;
+
+ constructor(sourceMove: Moves) {
+ super(BattlerTagType.CENTER_OF_ATTENTION, BattlerTagLapseType.TURN_END, 1, sourceMove);
+
+ this.powder = (this.sourceMove === Moves.RAGE_POWDER);
+ }
+
+ /** "Center of Attention" can't be added if an ally is already the Center of Attention. */
+ canAdd(pokemon: Pokemon): boolean {
+ const activeTeam = pokemon.isPlayer() ? pokemon.scene.getPlayerField() : pokemon.scene.getEnemyField();
+
+ return !activeTeam.find(p => p.getTag(BattlerTagType.CENTER_OF_ATTENTION));
+ }
+
+ onAdd(pokemon: Pokemon): void {
+ super.onAdd(pokemon);
+
+ pokemon.scene.queueMessage(getPokemonMessage(pokemon, " became the center\nof attention!"));
+ }
+}
+
export class AbilityBattlerTag extends BattlerTag {
public ability: Abilities;
@@ -1038,7 +1145,7 @@ export class TruantTag extends AbilityBattlerTag {
if (lastMove && lastMove.move !== Moves.NONE) {
(pokemon.scene.getCurrentPhase() as MovePhase).cancel();
pokemon.scene.unshiftPhase(new ShowAbilityPhase(pokemon.scene, pokemon.id, passive));
- pokemon.scene.queueMessage(getPokemonMessage(pokemon, " is\nloafing around!"));
+ pokemon.scene.queueMessage(i18next.t("battle:battlerTagsTruantLapse", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) }));
}
return true;
@@ -1053,7 +1160,7 @@ export class SlowStartTag extends AbilityBattlerTag {
onAdd(pokemon: Pokemon): void {
super.onAdd(pokemon);
- pokemon.scene.queueMessage(getPokemonMessage(pokemon, " can't\nget it going!"), null, false, null, true);
+ pokemon.scene.queueMessage(i18next.t("battle:battlerTagsSlowStartOnAdd", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) }), null, false, null, true);
}
lapse(pokemon: Pokemon, lapseType: BattlerTagLapseType): boolean {
@@ -1067,7 +1174,7 @@ export class SlowStartTag extends AbilityBattlerTag {
onRemove(pokemon: Pokemon): void {
super.onRemove(pokemon);
- pokemon.scene.queueMessage(getPokemonMessage(pokemon, " finally\ngot its act together!"), null, false, null);
+ pokemon.scene.queueMessage(i18next.t("battle:battlerTagsSlowStartOnRemove", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) }), null, false, null);
}
}
@@ -1113,13 +1220,13 @@ export class HighestStatBoostTag extends AbilityBattlerTag {
break;
}
- pokemon.scene.queueMessage(getPokemonMessage(pokemon, `'s ${getStatName(highestStat)}\nwas heightened!`), null, false, null, true);
+ pokemon.scene.queueMessage(i18next.t("battle:battlerTagsHighestStatBoostOnAdd", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), statName: getStatName(highestStat) }), null, false, null, true);
}
onRemove(pokemon: Pokemon): void {
super.onRemove(pokemon);
- pokemon.scene.queueMessage(`The effects of ${getPokemonMessage(pokemon, `'s\n${allAbilities[this.ability].name} wore off!`)}`);
+ pokemon.scene.queueMessage(i18next.t("battle:battlerTagsHighestStatBoostOnRemove", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), abilityName: allAbilities[this.ability].name }));
}
}
@@ -1159,7 +1266,7 @@ export class TerrainHighestStatBoostTag extends HighestStatBoostTag implements T
}
}
-export class HideSpriteTag extends BattlerTag {
+export class SemiInvulnerableTag extends BattlerTag {
constructor(tagType: BattlerTagType, turnCount: integer, sourceMove: Moves) {
super(tagType, BattlerTagLapseType.MOVE_EFFECT, turnCount, sourceMove);
}
@@ -1181,8 +1288,11 @@ export class HideSpriteTag extends BattlerTag {
export class TypeImmuneTag extends BattlerTag {
public immuneType: Type;
- constructor(tagType: BattlerTagType, sourceMove: Moves, immuneType: Type, length: number) {
- super(tagType, BattlerTagLapseType.TURN_END, 1, sourceMove);
+
+ constructor(tagType: BattlerTagType, sourceMove: Moves, immuneType: Type, length: number = 1) {
+ super(tagType, BattlerTagLapseType.TURN_END, length, sourceMove);
+
+ this.immuneType = immuneType;
}
/**
@@ -1199,6 +1309,18 @@ export class MagnetRisenTag extends TypeImmuneTag {
constructor(tagType: BattlerTagType, sourceMove: Moves) {
super(tagType, sourceMove, Type.GROUND, 5);
}
+
+ onAdd(pokemon: Pokemon): void {
+ super.onAdd(pokemon);
+
+ pokemon.scene.queueMessage(getPokemonMessage(pokemon, " levitated with electromagnetism!"));
+ }
+
+ onRemove(pokemon: Pokemon): void {
+ super.onRemove(pokemon);
+
+ pokemon.scene.queueMessage(getPokemonMessage(pokemon, " stopped levitating!"));
+ }
}
export class TypeBoostTag extends BattlerTag {
@@ -1238,7 +1360,7 @@ export class CritBoostTag extends BattlerTag {
onAdd(pokemon: Pokemon): void {
super.onAdd(pokemon);
- pokemon.scene.queueMessage(getPokemonMessage(pokemon, " is getting\npumped!"));
+ pokemon.scene.queueMessage(i18next.t("battle:battlerTagsCritBoostOnAdd", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) }));
}
lapse(pokemon: Pokemon, lapseType: BattlerTagLapseType): boolean {
@@ -1248,7 +1370,7 @@ export class CritBoostTag extends BattlerTag {
onRemove(pokemon: Pokemon): void {
super.onRemove(pokemon);
- pokemon.scene.queueMessage(getPokemonMessage(pokemon, " relaxed."));
+ pokemon.scene.queueMessage(i18next.t("battle:battlerTagsCritBoostOnRemove", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) }));
}
}
@@ -1283,7 +1405,7 @@ export class SaltCuredTag extends BattlerTag {
onAdd(pokemon: Pokemon): void {
super.onAdd(pokemon);
- pokemon.scene.queueMessage(getPokemonMessage(pokemon, " is being salt cured!"));
+ pokemon.scene.queueMessage(i18next.t("battle:battlerTagsSaltCuredOnAdd", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) }));
this.sourceIndex = pokemon.scene.getPokemonById(this.sourceId).getBattlerIndex();
}
@@ -1300,7 +1422,12 @@ export class SaltCuredTag extends BattlerTag {
const pokemonSteelOrWater = pokemon.isOfType(Type.STEEL) || pokemon.isOfType(Type.WATER);
pokemon.damageAndUpdate(Math.max(Math.floor(pokemonSteelOrWater ? pokemon.getMaxHp() / 4 : pokemon.getMaxHp() / 8), 1));
- pokemon.scene.queueMessage(getPokemonMessage(pokemon, ` is hurt by ${this.getMoveName()}!`));
+ pokemon.scene.queueMessage(
+ i18next.t("battle:battlerTagsSaltCuredLapse", {
+ pokemonNameWithAffix: getPokemonNameWithAffix(pokemon),
+ moveName: this.getMoveName()
+ })
+ );
}
}
@@ -1326,8 +1453,6 @@ export class CursedTag extends BattlerTag {
onAdd(pokemon: Pokemon): void {
super.onAdd(pokemon);
-
- pokemon.scene.queueMessage(getPokemonMessage(pokemon, " has been cursed!"));
this.sourceIndex = pokemon.scene.getPokemonById(this.sourceId).getBattlerIndex();
}
@@ -1342,7 +1467,7 @@ export class CursedTag extends BattlerTag {
if (!cancelled.value) {
pokemon.damageAndUpdate(Math.max(Math.floor(pokemon.getMaxHp() / 4), 1));
- pokemon.scene.queueMessage(getPokemonMessage(pokemon, ` is hurt by the ${this.getMoveName()}!`));
+ pokemon.scene.queueMessage(i18next.t("battle:battlerTagsCursedLapse", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) }));
}
}
@@ -1350,6 +1475,68 @@ export class CursedTag extends BattlerTag {
}
}
+/**
+ * Battler tag for effects that ground the source, allowing Ground-type moves to hit them. Encompasses two tag types:
+ * @item IGNORE_FLYING: Persistent grounding effects (i.e. from Smack Down and Thousand Waves)
+ * @item ROOSTED: One-turn grounding effects (i.e. from Roost)
+ */
+export class GroundedTag extends BattlerTag {
+ constructor(tagType: BattlerTagType, lapseType: BattlerTagLapseType, sourceMove: Moves) {
+ super(tagType, lapseType, 1, sourceMove);
+ }
+}
+
+/**
+ * Provides the Ice Face ability's effects.
+ */
+export class IceFaceTag extends BattlerTag {
+ constructor(sourceMove: Moves) {
+ super(BattlerTagType.ICE_FACE, BattlerTagLapseType.CUSTOM, 1, sourceMove);
+ }
+
+ /**
+ * Determines if the Ice Face tag can be added to the Pokémon.
+ * @param {Pokemon} pokemon - The Pokémon to which the tag might be added.
+ * @returns {boolean} - True if the tag can be added, false otherwise.
+ */
+ canAdd(pokemon: Pokemon): boolean {
+ const weatherType = pokemon.scene.arena.weather?.weatherType;
+ const isWeatherSnowOrHail = weatherType === WeatherType.HAIL || weatherType === WeatherType.SNOW;
+ const isFormIceFace = pokemon.formIndex === 0;
+
+
+ // Hard code Eiscue for now, this is to prevent the game from crashing if fused pokemon has Ice Face
+ if ((pokemon.species.speciesId === Species.EISCUE && isFormIceFace) || isWeatherSnowOrHail) {
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Applies the Ice Face tag to the Pokémon.
+ * Triggers a form change to Ice Face if the Pokémon is not in its Ice Face form.
+ * @param {Pokemon} pokemon - The Pokémon to which the tag is added.
+ */
+ onAdd(pokemon: Pokemon): void {
+ super.onAdd(pokemon);
+
+ if (pokemon.formIndex !== 0) {
+ pokemon.scene.triggerPokemonFormChange(pokemon, SpeciesFormChangeManualTrigger);
+ }
+ }
+
+ /**
+ * Removes the Ice Face tag from the Pokémon.
+ * Triggers a form change to Noice when the tag is removed.
+ * @param {Pokemon} pokemon - The Pokémon from which the tag is removed.
+ */
+ onRemove(pokemon: Pokemon): void {
+ super.onRemove(pokemon);
+
+ pokemon.scene.triggerPokemonFormChange(pokemon, SpeciesFormChangeManualTrigger);
+ }
+}
+
export function getBattlerTag(tagType: BattlerTagType, turnCount: integer, sourceMove: Moves, sourceId: integer): BattlerTag {
switch (tagType) {
case BattlerTagType.RECHARGING:
@@ -1422,6 +1609,8 @@ export function getBattlerTag(tagType: BattlerTagType, turnCount: integer, sourc
return new SturdyTag(sourceMove);
case BattlerTagType.PERISH_SONG:
return new PerishSongTag(turnCount);
+ case BattlerTagType.CENTER_OF_ATTENTION:
+ return new CenterOfAttentionTag(sourceMove);
case BattlerTagType.TRUANT:
return new TruantTag();
case BattlerTagType.SLOW_START:
@@ -1434,7 +1623,7 @@ export function getBattlerTag(tagType: BattlerTagType, turnCount: integer, sourc
case BattlerTagType.UNDERGROUND:
case BattlerTagType.UNDERWATER:
case BattlerTagType.HIDDEN:
- return new HideSpriteTag(tagType, turnCount, sourceMove);
+ return new SemiInvulnerableTag(tagType, turnCount, sourceMove);
case BattlerTagType.FIRE_BOOST:
return new TypeBoostTag(tagType, sourceMove, Type.FIRE, 1.5, false);
case BattlerTagType.CRIT_BOOST:
@@ -1448,9 +1637,9 @@ export function getBattlerTag(tagType: BattlerTagType, turnCount: integer, sourc
case BattlerTagType.BYPASS_SLEEP:
return new BattlerTag(BattlerTagType.BYPASS_SLEEP, BattlerTagLapseType.TURN_END, turnCount, sourceMove);
case BattlerTagType.IGNORE_FLYING:
- return new BattlerTag(tagType, BattlerTagLapseType.TURN_END, turnCount, sourceMove);
- case BattlerTagType.GROUNDED:
- return new BattlerTag(tagType, BattlerTagLapseType.TURN_END, turnCount - 1, sourceMove);
+ return new GroundedTag(tagType, BattlerTagLapseType.CUSTOM, sourceMove);
+ case BattlerTagType.ROOSTED:
+ return new GroundedTag(tagType, BattlerTagLapseType.TURN_END, sourceMove);
case BattlerTagType.SALT_CURED:
return new SaltCuredTag(sourceId);
case BattlerTagType.CURSED:
@@ -1463,6 +1652,8 @@ export function getBattlerTag(tagType: BattlerTagType, turnCount: integer, sourc
return new MinimizeTag();
case BattlerTagType.DESTINY_BOND:
return new DestinyBondTag(sourceMove, sourceId);
+ case BattlerTagType.ICE_FACE:
+ return new IceFaceTag(sourceMove);
case BattlerTagType.NONE:
default:
return new BattlerTag(tagType, BattlerTagLapseType.CUSTOM, turnCount, sourceMove, sourceId);
diff --git a/src/data/berry.ts b/src/data/berry.ts
index f5bcd5e4be8..2f0f466d8a9 100644
--- a/src/data/berry.ts
+++ b/src/data/berry.ts
@@ -1,13 +1,13 @@
import { PokemonHealPhase, StatChangePhase } from "../phases";
-import { getPokemonMessage } from "../messages";
+import { getPokemonMessage, getPokemonNameWithAffix } from "../messages";
import Pokemon, { HitResult } from "../field/pokemon";
import { BattleStat } from "./battle-stat";
-import { BattlerTagType } from "./enums/battler-tag-type";
import { getStatusEffectHealText } from "./status-effect";
import * as Utils from "../utils";
import { DoubleBerryEffectAbAttr, ReduceBerryUseThresholdAbAttr, applyAbAttrs } from "./ability";
-import i18next from "../plugins/i18n";
-import { BerryType } from "./enums/berry-type";
+import i18next from "i18next";
+import { BattlerTagType } from "#enums/battler-tag-type";
+import { BerryType } from "#enums/berry-type";
export function getBerryName(berryType: BerryType): string {
return i18next.t(`berry:${BerryType[berryType]}.name`);
@@ -80,13 +80,10 @@ export function getBerryEffectFunc(berryType: BerryType): BerryEffectFunc {
pokemon.battleData.berriesEaten.push(berryType);
}
if (pokemon.status) {
- pokemon.scene.queueMessage(getPokemonMessage(pokemon, getStatusEffectHealText(pokemon.status.effect)));
- pokemon.resetStatus();
- pokemon.updateInfo();
- }
- if (pokemon.getTag(BattlerTagType.CONFUSED)) {
- pokemon.lapseTag(BattlerTagType.CONFUSED);
+ pokemon.scene.queueMessage(getStatusEffectHealText(pokemon.status.effect, getPokemonNameWithAffix(pokemon)));
}
+ pokemon.resetStatus(true, true);
+ pokemon.updateInfo();
};
case BerryType.LIECHI:
case BerryType.GANLON:
diff --git a/src/data/biomes.ts b/src/data/biomes.ts
index bfee8904c46..782826d8695 100644
--- a/src/data/biomes.ts
+++ b/src/data/biomes.ts
@@ -1,12 +1,12 @@
-import { Species } from "./enums/species";
import { Type } from "./type";
import * as Utils from "../utils";
-import beautify from "json-beautify";
-import { TrainerType } from "./enums/trainer-type";
-import { TimeOfDay } from "./enums/time-of-day";
-import { Biome } from "./enums/biome";
import {pokemonEvolutions, SpeciesFormEvolution} from "./pokemon-evolutions";
import i18next from "i18next";
+import { Biome } from "#enums/biome";
+import { Species } from "#enums/species";
+import { TimeOfDay } from "#enums/time-of-day";
+import { TrainerType } from "#enums/trainer-type";
+// import beautify from "json-beautify";
export function getBiomeName(biome: Biome | -1) {
if (biome === -1) {
@@ -1691,7 +1691,7 @@ export const biomeTrainerPools: BiomeTrainerPools = {
[BiomePoolTier.BOSS_ULTRA_RARE]: []
},
[Biome.SEA]: {
- [BiomePoolTier.COMMON]: [ TrainerType.SWIMMER ],
+ [BiomePoolTier.COMMON]: [ TrainerType.SWIMMER, TrainerType.SAILOR ],
[BiomePoolTier.UNCOMMON]: [],
[BiomePoolTier.RARE]: [],
[BiomePoolTier.SUPER_RARE]: [],
@@ -1713,7 +1713,7 @@ export const biomeTrainerPools: BiomeTrainerPools = {
[BiomePoolTier.BOSS_ULTRA_RARE]: []
},
[Biome.BEACH]: {
- [BiomePoolTier.COMMON]: [ TrainerType.FISHERMAN, TrainerType.PARASOL_LADY ],
+ [BiomePoolTier.COMMON]: [ TrainerType.FISHERMAN, TrainerType.PARASOL_LADY, TrainerType.SAILOR ],
[BiomePoolTier.UNCOMMON]: [ TrainerType.ACE_TRAINER, TrainerType.BREEDER ],
[BiomePoolTier.RARE]: [ TrainerType.BLACK_BELT ],
[BiomePoolTier.SUPER_RARE]: [],
@@ -2934,7 +2934,7 @@ export function initBiomes() {
[ Species.AZUMARILL, Type.WATER, Type.FAIRY, [
[ Biome.LAKE, BiomePoolTier.COMMON, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ] ],
[ Biome.LAKE, BiomePoolTier.BOSS, [ TimeOfDay.DUSK, TimeOfDay.NIGHT ] ],
- [ Biome.FAIRY_CAVE, BiomePoolTier.COMMON ],
+ [ Biome.FAIRY_CAVE, BiomePoolTier.COMMON ]
]
],
[ Species.SUDOWOODO, Type.ROCK, -1, [
@@ -3630,7 +3630,7 @@ export function initBiomes() {
[ Species.FLYGON, Type.GROUND, Type.DRAGON, [
[ Biome.DESERT, BiomePoolTier.RARE, [ TimeOfDay.DAWN, TimeOfDay.DAY ] ],
[ Biome.WASTELAND, BiomePoolTier.COMMON ],
- [ Biome.WASTELAND, BiomePoolTier.BOSS ],
+ [ Biome.WASTELAND, BiomePoolTier.BOSS ]
]
],
[ Species.CACNEA, Type.GRASS, -1, [
@@ -3694,14 +3694,14 @@ export function initBiomes() {
[ Species.BALTOY, Type.GROUND, Type.PSYCHIC, [
[ Biome.RUINS, BiomePoolTier.COMMON ],
[ Biome.SPACE, BiomePoolTier.UNCOMMON ],
- [ Biome.TEMPLE, BiomePoolTier.UNCOMMON ],
+ [ Biome.TEMPLE, BiomePoolTier.UNCOMMON ]
]
],
[ Species.CLAYDOL, Type.GROUND, Type.PSYCHIC, [
[ Biome.RUINS, BiomePoolTier.COMMON ],
[ Biome.RUINS, BiomePoolTier.BOSS ],
[ Biome.SPACE, BiomePoolTier.UNCOMMON ],
- [ Biome.TEMPLE, BiomePoolTier.UNCOMMON ],
+ [ Biome.TEMPLE, BiomePoolTier.UNCOMMON ]
]
],
[ Species.LILEEP, Type.ROCK, Type.GRASS, [
@@ -4199,14 +4199,14 @@ export function initBiomes() {
[ Species.SKORUPI, Type.POISON, Type.BUG, [
[ Biome.SWAMP, BiomePoolTier.UNCOMMON ],
[ Biome.DESERT, BiomePoolTier.COMMON ],
- [ Biome.TEMPLE, BiomePoolTier.UNCOMMON ],
+ [ Biome.TEMPLE, BiomePoolTier.UNCOMMON ]
]
],
[ Species.DRAPION, Type.POISON, Type.DARK, [
[ Biome.SWAMP, BiomePoolTier.UNCOMMON ],
[ Biome.DESERT, BiomePoolTier.COMMON ],
[ Biome.DESERT, BiomePoolTier.BOSS ],
- [ Biome.TEMPLE, BiomePoolTier.UNCOMMON ],
+ [ Biome.TEMPLE, BiomePoolTier.UNCOMMON ]
]
],
[ Species.CROAGUNK, Type.POISON, Type.FIGHTING, [
@@ -4793,7 +4793,7 @@ export function initBiomes() {
]
],
[ Species.CINCCINO, Type.NORMAL, -1, [
- [ Biome.MEADOW, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ] ],
+ [ Biome.MEADOW, BiomePoolTier.BOSS, [ TimeOfDay.DAWN, TimeOfDay.DAY ] ]
]
],
[ Species.GOTHITA, Type.PSYCHIC, -1, [
@@ -4898,7 +4898,7 @@ export function initBiomes() {
]
],
[ Species.JOLTIK, Type.BUG, Type.ELECTRIC, [
- [ Biome.JUNGLE, BiomePoolTier.UNCOMMON ],
+ [ Biome.JUNGLE, BiomePoolTier.UNCOMMON ]
]
],
[ Species.GALVANTULA, Type.BUG, Type.ELECTRIC, [
@@ -7308,6 +7308,11 @@ export function initBiomes() {
[ Biome.VOLCANO, BiomePoolTier.COMMON ]
]
],
+ [ TrainerType.SAILOR, [
+ [ Biome.SEA, BiomePoolTier.COMMON ],
+ [ Biome.BEACH, BiomePoolTier.COMMON ]
+ ]
+ ],
[ TrainerType.BROCK, [
[ Biome.CAVE, BiomePoolTier.BOSS ]
]
@@ -7803,57 +7808,56 @@ export function initBiomes() {
// used in a commented code
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
- function outputPools() {
- const pokemonOutput = {};
- const trainerOutput = {};
+ // function outputPools() {
+ // const pokemonOutput = {};
+ // const trainerOutput = {};
- for (const b of Object.keys(biomePokemonPools)) {
- const biome = Biome[b];
- pokemonOutput[biome] = {};
- trainerOutput[biome] = {};
+ // for (const b of Object.keys(biomePokemonPools)) {
+ // const biome = Biome[b];
+ // pokemonOutput[biome] = {};
+ // trainerOutput[biome] = {};
- for (const t of Object.keys(biomePokemonPools[b])) {
- const tier = BiomePoolTier[t];
+ // for (const t of Object.keys(biomePokemonPools[b])) {
+ // const tier = BiomePoolTier[t];
- pokemonOutput[biome][tier] = {};
+ // pokemonOutput[biome][tier] = {};
- for (const tod of Object.keys(biomePokemonPools[b][t])) {
- const timeOfDay = TimeOfDay[tod];
+ // for (const tod of Object.keys(biomePokemonPools[b][t])) {
+ // const timeOfDay = TimeOfDay[tod];
- pokemonOutput[biome][tier][timeOfDay] = [];
+ // pokemonOutput[biome][tier][timeOfDay] = [];
- for (const f of biomePokemonPools[b][t][tod]) {
- if (typeof f === "number") {
- pokemonOutput[biome][tier][timeOfDay].push(Species[f]);
- } else {
- const tree = {};
+ // for (const f of biomePokemonPools[b][t][tod]) {
+ // if (typeof f === "number") {
+ // pokemonOutput[biome][tier][timeOfDay].push(Species[f]);
+ // } else {
+ // const tree = {};
- for (const l of Object.keys(f)) {
- tree[l] = f[l].map(s => Species[s]);
- }
+ // for (const l of Object.keys(f)) {
+ // tree[l] = f[l].map(s => Species[s]);
+ // }
- pokemonOutput[biome][tier][timeOfDay].push(tree);
- }
- }
+ // pokemonOutput[biome][tier][timeOfDay].push(tree);
+ // }
+ // }
- }
- }
+ // }
+ // }
- for (const t of Object.keys(biomeTrainerPools[b])) {
- const tier = BiomePoolTier[t];
+ // for (const t of Object.keys(biomeTrainerPools[b])) {
+ // const tier = BiomePoolTier[t];
- trainerOutput[biome][tier] = [];
+ // trainerOutput[biome][tier] = [];
- for (const f of biomeTrainerPools[b][t]) {
- trainerOutput[biome][tier].push(TrainerType[f]);
- }
- }
- }
+ // for (const f of biomeTrainerPools[b][t]) {
+ // trainerOutput[biome][tier].push(TrainerType[f]);
+ // }
+ // }
+ // }
- console.log(beautify(pokemonOutput, null, 2, 180).replace(/( | (?:\{ "\d+": \[ )?| "(?:.*?)": \[ |(?:,|\[) (?:"\w+": \[ |(?:\{ )?"\d+": \[ )?)"(\w+)"(?= |,|\n)/g, "$1Species.$2").replace(/"(\d+)": /g, "$1: ").replace(/((?: )|(?:(?!\n) "(?:.*?)": \{) |\[(?: .*? )?\], )"(\w+)"/g, "$1[TimeOfDay.$2]").replace(/( )"(.*?)"/g, "$1[BiomePoolTier.$2]").replace(/( )"(.*?)"/g, "$1[Biome.$2]"));
- console.log(beautify(trainerOutput, null, 2, 120).replace(/( | (?:\{ "\d+": \[ )?| "(?:.*?)": \[ |, (?:(?:\{ )?"\d+": \[ )?)"(.*?)"/g, "$1TrainerType.$2").replace(/"(\d+)": /g, "$1: ").replace(/( )"(.*?)"/g, "$1[BiomePoolTier.$2]").replace(/( )"(.*?)"/g, "$1[Biome.$2]"));
- }
+ // console.log(beautify(pokemonOutput, null, 2, 180).replace(/( | (?:\{ "\d+": \[ )?| "(?:.*?)": \[ |(?:,|\[) (?:"\w+": \[ |(?:\{ )?"\d+": \[ )?)"(\w+)"(?= |,|\n)/g, "$1Species.$2").replace(/"(\d+)": /g, "$1: ").replace(/((?: )|(?:(?!\n) "(?:.*?)": \{) |\[(?: .*? )?\], )"(\w+)"/g, "$1[TimeOfDay.$2]").replace(/( )"(.*?)"/g, "$1[BiomePoolTier.$2]").replace(/( )"(.*?)"/g, "$1[Biome.$2]"));
+ // console.log(beautify(trainerOutput, null, 2, 120).replace(/( | (?:\{ "\d+": \[ )?| "(?:.*?)": \[ |, (?:(?:\{ )?"\d+": \[ )?)"(.*?)"/g, "$1TrainerType.$2").replace(/"(\d+)": /g, "$1: ").replace(/( )"(.*?)"/g, "$1[BiomePoolTier.$2]").replace(/( )"(.*?)"/g, "$1[Biome.$2]"));
+ // }
/*for (let pokemon of allSpecies) {
if (pokemon.speciesId >= Species.XERNEAS)
diff --git a/src/data/challenge.ts b/src/data/challenge.ts
new file mode 100644
index 00000000000..75b200b24ee
--- /dev/null
+++ b/src/data/challenge.ts
@@ -0,0 +1,678 @@
+import * as Utils from "../utils";
+import i18next from "i18next";
+import { DexAttrProps, GameData } from "#app/system/game-data.js";
+import PokemonSpecies, { getPokemonSpecies, getPokemonSpeciesForm, speciesStarters } from "./pokemon-species";
+import Pokemon from "#app/field/pokemon.js";
+import { BattleType, FixedBattleConfig } from "#app/battle.js";
+import Trainer, { TrainerVariant } from "#app/field/trainer.js";
+import { GameMode } from "#app/game-mode.js";
+import { Type } from "./type";
+import { pokemonEvolutions } from "./pokemon-evolutions";
+import { pokemonFormChanges } from "./pokemon-forms";
+import { Challenges } from "#enums/challenges";
+import { Species } from "#enums/species";
+import { TrainerType } from "#enums/trainer-type";
+import { TypeColor, TypeShadow } from "#app/enums/color.js";
+
+/**
+ * An enum for all the challenge types. The parameter entries on these describe the
+ * parameters to use when calling the applyChallenges function.
+ */
+export enum ChallengeType {
+ /**
+ * Challenges which modify what starters you can choose
+ * @param args [0] {@link PokemonSpecies} The species to check
+ * [1] {@link Utils.BooleanHolder} Sets to false if illegal, pass in true.
+ */
+ STARTER_CHOICE,
+ /**
+ * Challenges which modify how many starter points you have
+ * @param args [0] {@link Utils.NumberHolder} The amount of starter points you have
+ */
+ STARTER_POINTS,
+ /**
+ * Challenges which modify your starters in some way
+ * Not Fully Implemented
+ */
+ STARTER_MODIFY,
+ /**
+ * Challenges which limit which pokemon you can have in battle.
+ * @param args [0] {@link Pokemon} The pokemon to check
+ * [1] {@link Utils.BooleanHolder} Sets to false if illegal, pass in true.
+ */
+ POKEMON_IN_BATTLE,
+ /**
+ * Adds or modifies the fixed battles in a run
+ * @param args [0] integer The wave to get a battle for
+ * [1] {@link FixedBattleConfig} A new fixed battle. It'll be modified if a battle exists.
+ */
+ FIXED_BATTLES,
+}
+
+/**
+ * A challenge object. Exists only to serve as a base class.
+ */
+export abstract class Challenge {
+ public id: Challenges; // The id of the challenge
+
+ public value: integer; // The "strength" of the challenge, all challenges have a numerical value.
+ public maxValue: integer; // The maximum strength of the challenge.
+ public severity: integer; // The current severity of the challenge. Some challenges have multiple severities in addition to strength.
+ public maxSeverity: integer; // The maximum severity of the challenge.
+
+ public conditions: ChallengeCondition[];
+ public challengeTypes: ChallengeType[];
+
+ /**
+ * @param {Challenges} id The enum value for the challenge
+ */
+ constructor(id: Challenges, maxValue: integer = Number.MAX_SAFE_INTEGER) {
+ this.id = id;
+
+ this.value = 0;
+ this.maxValue = maxValue;
+ this.severity = 0;
+ this.maxSeverity = 0;
+ this.conditions = [];
+ this.challengeTypes = [];
+ }
+
+ /**
+ * Reset the challenge to a base state.
+ */
+ reset(): void {
+ this.value = 0;
+ this.severity = 0;
+ }
+
+ /**
+ * Gets the localisation key for the challenge
+ * @returns The i18n key for this challenge
+ */
+ geti18nKey(): string {
+ return Challenges[this.id].split("_").map((f, i) => i ? `${f[0]}${f.slice(1).toLowerCase()}` : f.toLowerCase()).join("");
+ }
+
+ /**
+ * Used for unlockable challenges to check if they're unlocked.
+ * @param {GameData} data The save data.
+ * @returns {boolean} Whether this challenge is unlocked.
+ */
+ isUnlocked(data: GameData): boolean {
+ return this.conditions.every(f => f(data));
+ }
+
+ /**
+ * Adds an unlock condition to this challenge.
+ * @param {ChallengeCondition} condition The condition to add.
+ * @returns {Challenge} This challenge
+ */
+ condition(condition: ChallengeCondition): Challenge {
+ this.conditions.push(condition);
+
+ return this;
+ }
+
+ /**
+ * If this challenge is of a particular type
+ * @param {ChallengeType} challengeType The challenge type to check.
+ * @returns {Challenge} This challenge
+ */
+ isOfType(challengeType: ChallengeType): boolean {
+ return this.challengeTypes.some(c => c === challengeType);
+ }
+
+ /**
+ * Adds a challenge type to this challenge.
+ * @param {ChallengeType} challengeType The challenge type to add.
+ * @returns {Challenge} This challenge
+ */
+ addChallengeType(challengeType: ChallengeType): Challenge {
+ this.challengeTypes.push(challengeType);
+
+ return this;
+ }
+
+ /**
+ * @returns {string} The localised name of this challenge.
+ */
+ getName(): string {
+ return i18next.t(`challenges:${this.geti18nKey()}.name`);
+ }
+
+ /**
+ * Returns the textual representation of a challenge's current value.
+ * @param {value} overrideValue The value to check for. If undefined, gets the current value.
+ * @returns {string} The localised name for the current value.
+ */
+ getValue(overrideValue?: integer): string {
+ if (overrideValue === undefined) {
+ overrideValue = this.value;
+ }
+ return i18next.t(`challenges:${this.geti18nKey()}.value.${this.value}`);
+ }
+
+ /**
+ * Returns the description of a challenge's current value.
+ * @param {value} overrideValue The value to check for. If undefined, gets the current value.
+ * @returns {string} The localised description for the current value.
+ */
+ getDescription(overrideValue?: integer): string {
+ if (overrideValue === undefined) {
+ overrideValue = this.value;
+ }
+ return `${i18next.t("challenges:usePokemon")}${i18next.t(`challenges:${this.geti18nKey()}.desc.${this.value}`)}`;
+ }
+
+ /**
+ * Increase the value of the challenge
+ * @returns {boolean} Returns true if the value changed
+ */
+ increaseValue(): boolean {
+ if (this.value < this.maxValue) {
+ this.value = Math.min(this.value + 1, this.maxValue);
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Decrease the value of the challenge
+ * @returns {boolean} Returns true if the value changed
+ */
+ decreaseValue(): boolean {
+ if (this.value > 0) {
+ this.value = Math.max(this.value - 1, 0);
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Whether to allow choosing this challenge's severity.
+ */
+ hasSeverity(): boolean {
+ return this.value !== 0 && this.maxSeverity > 0;
+ }
+
+ /**
+ * Decrease the severity of the challenge
+ * @returns {boolean} Returns true if the value changed
+ */
+ decreaseSeverity(): boolean {
+ if (this.severity > 0) {
+ this.severity = Math.max(this.severity - 1, 0);
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Increase the severity of the challenge
+ * @returns {boolean} Returns true if the value changed
+ */
+ increaseSeverity(): boolean {
+ if (this.severity < this.maxSeverity) {
+ this.severity = Math.min(this.severity + 1, this.maxSeverity);
+ return true;
+ }
+ return false;
+ }
+
+ /**
+ * Gets the "difficulty" value of this challenge.
+ * @returns {integer} The difficulty value.
+ */
+ getDifficulty(): integer {
+ return this.value;
+ }
+
+ /**
+ * Gets the minimum difficulty added by this challenge.
+ * @returns {integer} The difficulty value.
+ */
+ getMinDifficulty(): integer {
+ return 0;
+ }
+
+ /**
+ * Modifies the data or game state in some way to apply the challenge.
+ * @param {ChallengeType} challengeType Which challenge type this is being applied for.
+ * @param args Irrelevant. See the specific challenge's apply function for additional information.
+ */
+ abstract apply(challengeType: ChallengeType, args: any[]): boolean;
+
+ /**
+ * Clones a challenge, either from another challenge or json. Chainable.
+ * @param {Challenge | any} source The source challenge of json.
+ * @returns {Challenge} This challenge.
+ */
+ static loadChallenge(source: Challenge | any): Challenge {
+ throw new Error("Method not implemented! Use derived class");
+ }
+}
+
+type ChallengeCondition = (data: GameData) => boolean;
+
+/**
+ * Implements a mono generation challenge.
+ */
+export class SingleGenerationChallenge extends Challenge {
+ constructor() {
+ super(Challenges.SINGLE_GENERATION, 9);
+ this.addChallengeType(ChallengeType.STARTER_CHOICE);
+ this.addChallengeType(ChallengeType.POKEMON_IN_BATTLE);
+ this.addChallengeType(ChallengeType.FIXED_BATTLES);
+ }
+
+ apply(challengeType: ChallengeType, args: any[]): boolean {
+ if (this.value === 0) {
+ return false;
+ }
+
+ /**
+ * We have special code below for victini because it is classed as a generation 4 pokemon in the code
+ * despite being a generation 5 pokemon. This is due to UI constraints, the starter select screen has
+ * no more room for pokemon so victini is put in the gen 4 section instead. This code just overrides the
+ * normal generation check to correctly treat victini as gen 5.
+ */
+ switch (challengeType) {
+ case ChallengeType.STARTER_CHOICE:
+ const species = args[0] as PokemonSpecies;
+ const isValidStarter = args[1] as Utils.BooleanHolder;
+ const amountOfPokemon = args[3] as number;
+ const starterGeneration = species.speciesId === Species.VICTINI ? 5 : species.generation;
+ const generations = [starterGeneration];
+ if (amountOfPokemon > 0) {
+ const speciesToCheck = [species.speciesId];
+ while (speciesToCheck.length) {
+ const checking = speciesToCheck.pop();
+ if (pokemonEvolutions.hasOwnProperty(checking)) {
+ pokemonEvolutions[checking].forEach(e => {
+ speciesToCheck.push(e.speciesId);
+ generations.push(getPokemonSpecies(e.speciesId).generation);
+ });
+ }
+ }
+ }
+ if (!generations.includes(this.value)) {
+ isValidStarter.value = false;
+ return true;
+ }
+ break;
+ case ChallengeType.POKEMON_IN_BATTLE:
+ const pokemon = args[0] as Pokemon;
+ const isValidPokemon = args[1] as Utils.BooleanHolder;
+ const baseGeneration = pokemon.species.speciesId === Species.VICTINI ? 5 : getPokemonSpecies(pokemon.species.speciesId).generation;
+ const fusionGeneration = pokemon.isFusion() ? pokemon.fusionSpecies.speciesId === Species.VICTINI ? 5 : getPokemonSpecies(pokemon.fusionSpecies.speciesId).generation : 0;
+ if (pokemon.isPlayer() && (baseGeneration !== this.value || (pokemon.isFusion() && fusionGeneration !== this.value))) {
+ isValidPokemon.value = false;
+ return true;
+ }
+ break;
+ case ChallengeType.FIXED_BATTLES:
+ const waveIndex = args[0] as integer;
+ const battleConfig = args[1] as FixedBattleConfig;
+ let trainerTypes: TrainerType[] = [];
+ switch (waveIndex) {
+ case 182:
+ trainerTypes = [ TrainerType.LORELEI, TrainerType.WILL, TrainerType.SIDNEY, TrainerType.AARON, TrainerType.SHAUNTAL, TrainerType.MALVA, Utils.randSeedItem([ TrainerType.HALA, TrainerType.MOLAYNE ]),TrainerType.MARNIE_ELITE, TrainerType.RIKA ];
+ break;
+ case 184:
+ trainerTypes = [ TrainerType.BRUNO, TrainerType.KOGA, TrainerType.PHOEBE, TrainerType.BERTHA, TrainerType.MARSHAL, TrainerType.SIEBOLD, TrainerType.OLIVIA, TrainerType.NESSA_ELITE, TrainerType.POPPY ];
+ break;
+ case 186:
+ trainerTypes = [ TrainerType.AGATHA, TrainerType.BRUNO, TrainerType.GLACIA, TrainerType.FLINT, TrainerType.GRIMSLEY, TrainerType.WIKSTROM, TrainerType.ACEROLA, Utils.randSeedItem([TrainerType.BEA_ELITE,TrainerType.ALLISTER_ELITE]), TrainerType.LARRY_ELITE ];
+ break;
+ case 188:
+ trainerTypes = [ TrainerType.LANCE, TrainerType.KAREN, TrainerType.DRAKE, TrainerType.LUCIAN, TrainerType.CAITLIN, TrainerType.DRASNA, TrainerType.KAHILI, TrainerType.RAIHAN_ELITE, TrainerType.HASSEL ];
+ break;
+ case 190:
+ trainerTypes = [ TrainerType.BLUE, Utils.randSeedItem([ TrainerType.RED, TrainerType.LANCE_CHAMPION ]), Utils.randSeedItem([ TrainerType.STEVEN, TrainerType.WALLACE ]), TrainerType.CYNTHIA, Utils.randSeedItem([ TrainerType.ALDER, TrainerType.IRIS ]), TrainerType.DIANTHA, TrainerType.HAU, TrainerType.LEON, Utils.randSeedItem([ TrainerType.GEETA, TrainerType.NEMONA ]) ];
+ break;
+ }
+ if (trainerTypes.length === 0) {
+ return false;
+ } else {
+ battleConfig.setBattleType(BattleType.TRAINER).setGetTrainerFunc(scene => new Trainer(scene, trainerTypes[this.value - 1], TrainerVariant.DEFAULT));
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /**
+ * @overrides
+ */
+ getDifficulty(): number {
+ return this.value > 0 ? 1 : 0;
+ }
+
+ /**
+ * Returns the textual representation of a challenge's current value.
+ * @param {value} overrideValue The value to check for. If undefined, gets the current value.
+ * @returns {string} The localised name for the current value.
+ */
+ getValue(overrideValue?: integer): string {
+ if (overrideValue === undefined) {
+ overrideValue = this.value;
+ }
+ if (this.value === 0) {
+ return i18next.t("settings:off");
+ }
+ return i18next.t(`starterSelectUiHandler:gen${this.value}`);
+ }
+
+ /**
+ * Returns the description of a challenge's current value.
+ * @param {value} overrideValue The value to check for. If undefined, gets the current value.
+ * @returns {string} The localised description for the current value.
+ */
+ getDescription(overrideValue?: integer): string {
+ if (overrideValue === undefined) {
+ overrideValue = this.value;
+ }
+ if (this.value === 0) {
+ return i18next.t("challenges:singleGeneration.desc_default");
+ }
+ return i18next.t("challenges:singleGeneration.desc", { gen: i18next.t(`challenges:singleGeneration.gen_${this.value}`) });
+ }
+
+
+ static loadChallenge(source: SingleGenerationChallenge | any): SingleGenerationChallenge {
+ const newChallenge = new SingleGenerationChallenge();
+ newChallenge.value = source.value;
+ newChallenge.severity = source.severity;
+ return newChallenge;
+ }
+}
+
+interface monotypeOverride {
+ /** The species to override */
+ species: Species;
+ /** The type to count as */
+ type: Type;
+ /** If part of a fusion, should we check the fused species instead of the base species? */
+ fusion: boolean;
+}
+
+/**
+ * Implements a mono type challenge.
+ */
+export class SingleTypeChallenge extends Challenge {
+ private static TYPE_OVERRIDES: monotypeOverride[] = [
+ {species: Species.MELOETTA, type: Type.PSYCHIC, fusion: true},
+ {species: Species.CASTFORM, type: Type.NORMAL, fusion: false},
+ ];
+
+ constructor() {
+ super(Challenges.SINGLE_TYPE, 18);
+ this.addChallengeType(ChallengeType.STARTER_CHOICE);
+ this.addChallengeType(ChallengeType.POKEMON_IN_BATTLE);
+ }
+
+ apply(challengeType: ChallengeType, args: any[]): boolean {
+ if (this.value === 0) {
+ return false;
+ }
+
+ switch (challengeType) {
+ case ChallengeType.STARTER_CHOICE:
+ const species = args[0] as PokemonSpecies;
+ const isValidStarter = args[1] as Utils.BooleanHolder;
+ const dexAttr = args[2] as DexAttrProps;
+ const amountOfPokemon = args[3] as number;
+ const speciesForm = getPokemonSpeciesForm(species.speciesId, dexAttr.formIndex);
+ const types = [speciesForm.type1, speciesForm.type2];
+ if (amountOfPokemon > 0) {
+ const speciesToCheck = [species.speciesId];
+ while (speciesToCheck.length) {
+ const checking = speciesToCheck.pop();
+ if (pokemonEvolutions.hasOwnProperty(checking)) {
+ pokemonEvolutions[checking].forEach(e => {
+ speciesToCheck.push(e.speciesId);
+ types.push(getPokemonSpecies(e.speciesId).type1, getPokemonSpecies(e.speciesId).type2);
+ });
+ }
+ if (pokemonFormChanges.hasOwnProperty(checking)) {
+ pokemonFormChanges[checking].forEach(f1 => {
+ getPokemonSpecies(checking).forms.forEach(f2 => {
+ if (f1.formKey === f2.formKey) {
+ types.push(f2.type1, f2.type2);
+ }
+ });
+ });
+ }
+ }
+ }
+ if (!types.includes(this.value - 1)) {
+ isValidStarter.value = false;
+ return true;
+ }
+ break;
+ case ChallengeType.POKEMON_IN_BATTLE:
+ const pokemon = args[0] as Pokemon;
+ const isValidPokemon = args[1] as Utils.BooleanHolder;
+ if (pokemon.isPlayer() && !pokemon.isOfType(this.value - 1, false, false, true)
+ && !SingleTypeChallenge.TYPE_OVERRIDES.some(o => o.type === (this.value - 1) && (pokemon.isFusion() && o.fusion ? pokemon.fusionSpecies : pokemon.species).speciesId === o.species)) {
+ isValidPokemon.value = false;
+ return true;
+ }
+ break;
+ }
+ return false;
+ }
+
+ /**
+ * @overrides
+ */
+ getDifficulty(): number {
+ return this.value > 0 ? 1 : 0;
+ }
+
+ /**
+ * Returns the textual representation of a challenge's current value.
+ * @param {value} overrideValue The value to check for. If undefined, gets the current value.
+ * @returns {string} The localised name for the current value.
+ */
+ getValue(overrideValue?: integer): string {
+ if (overrideValue === undefined) {
+ overrideValue = this.value;
+ }
+ return Type[this.value - 1].toLowerCase();
+ }
+
+ /**
+ * Returns the description of a challenge's current value.
+ * @param {value} overrideValue The value to check for. If undefined, gets the current value.
+ * @returns {string} The localised description for the current value.
+ */
+ getDescription(overrideValue?: integer): string {
+ if (overrideValue === undefined) {
+ overrideValue = this.value;
+ }
+ const type = i18next.t(`pokemonInfo:Type.${Type[this.value - 1]}`);
+ const typeColor = `[color=${TypeColor[Type[this.value-1]]}][shadow=${TypeShadow[Type[this.value-1]]}]${type}[/shadow][/color]`;
+ const defaultDesc = i18next.t("challenges:singleType.desc_default");
+ const typeDesc = i18next.t("challenges:singleType.desc", {type: typeColor});
+ return this.value === 0 ? defaultDesc : typeDesc;
+ }
+
+ static loadChallenge(source: SingleTypeChallenge | any): SingleTypeChallenge {
+ const newChallenge = new SingleTypeChallenge();
+ newChallenge.value = source.value;
+ newChallenge.severity = source.severity;
+ return newChallenge;
+ }
+}
+
+/**
+ * Implements a fresh start challenge.
+ */
+export class FreshStartChallenge extends Challenge {
+ constructor() {
+ super(Challenges.FRESH_START, 1);
+ this.addChallengeType(ChallengeType.STARTER_CHOICE);
+ this.addChallengeType(ChallengeType.STARTER_MODIFY);
+ }
+
+ apply(challengeType: ChallengeType, args: any[]): boolean {
+ if (this.value === 0) {
+ return false;
+ }
+
+ switch (challengeType) {
+ case ChallengeType.STARTER_CHOICE:
+ const species = args[0] as PokemonSpecies;
+ const isValidStarter = args[1] as Utils.BooleanHolder;
+ if (species) {
+ isValidStarter.value = false;
+ return true;
+ }
+ break;
+ }
+ return false;
+ }
+
+ /**
+ * @overrides
+ */
+ getDifficulty(): number {
+ return 0;
+ }
+
+ static loadChallenge(source: FreshStartChallenge | any): FreshStartChallenge {
+ const newChallenge = new FreshStartChallenge();
+ newChallenge.value = source.value;
+ newChallenge.severity = source.severity;
+ return newChallenge;
+ }
+}
+
+/**
+ * Lowers the amount of starter points available.
+ */
+export class LowerStarterMaxCostChallenge extends Challenge {
+ constructor() {
+ super(Challenges.LOWER_MAX_STARTER_COST, 9);
+ this.addChallengeType(ChallengeType.STARTER_CHOICE);
+ }
+
+ /**
+ * @override
+ */
+ getValue(overrideValue?: integer): string {
+ if (overrideValue === undefined) {
+ overrideValue = this.value;
+ }
+ return (10 - overrideValue).toString();
+ }
+
+ apply(challengeType: ChallengeType, args: any[]): boolean {
+ if (this.value === 0) {
+ return false;
+ }
+
+ switch (challengeType) {
+ case ChallengeType.STARTER_CHOICE:
+ const species = args[0] as PokemonSpecies;
+ const isValid = args[1] as Utils.BooleanHolder;
+ if (speciesStarters[species.speciesId] > 10 - this.value) {
+ isValid.value = false;
+ return true;
+ }
+ }
+ return false;
+ }
+
+ static loadChallenge(source: LowerStarterMaxCostChallenge | any): LowerStarterMaxCostChallenge {
+ const newChallenge = new LowerStarterMaxCostChallenge();
+ newChallenge.value = source.value;
+ newChallenge.severity = source.severity;
+ return newChallenge;
+ }
+}
+
+/**
+ * Lowers the maximum cost of starters available.
+ */
+export class LowerStarterPointsChallenge extends Challenge {
+ constructor() {
+ super(Challenges.LOWER_STARTER_POINTS, 9);
+ this.addChallengeType(ChallengeType.STARTER_POINTS);
+ }
+
+ /**
+ * @override
+ */
+ getValue(overrideValue?: integer): string {
+ if (overrideValue === undefined) {
+ overrideValue = this.value;
+ }
+ return (10 - overrideValue).toString();
+ }
+
+ apply(challengeType: ChallengeType, args: any[]): boolean {
+ if (this.value === 0) {
+ return false;
+ }
+
+ switch (challengeType) {
+ case ChallengeType.STARTER_POINTS:
+ const points = args[0] as Utils.NumberHolder;
+ points.value -= this.value;
+ return true;
+ }
+ return false;
+ }
+
+ static loadChallenge(source: LowerStarterPointsChallenge | any): LowerStarterPointsChallenge {
+ const newChallenge = new LowerStarterPointsChallenge();
+ newChallenge.value = source.value;
+ newChallenge.severity = source.severity;
+ return newChallenge;
+ }
+}
+
+/**
+ * Apply all challenges of a given challenge type.
+ * @param {GameMode} gameMode The current game mode
+ * @param {ChallengeType} challengeType What challenge type to apply
+ * @param {any[]} args Any args for that challenge type
+ * @returns {boolean} True if any challenge was successfully applied.
+ */
+export function applyChallenges(gameMode: GameMode, challengeType: ChallengeType, ...args: any[]): boolean {
+ let ret = false;
+ gameMode.challenges.forEach(v => {
+ if (v.isOfType(challengeType)) {
+ ret ||= v.apply(challengeType, args);
+ }
+ });
+ return ret;
+}
+
+export function copyChallenge(source: Challenge | any): Challenge {
+ switch (source.id) {
+ case Challenges.SINGLE_GENERATION:
+ return SingleGenerationChallenge.loadChallenge(source);
+ case Challenges.SINGLE_TYPE:
+ return SingleTypeChallenge.loadChallenge(source);
+ case Challenges.LOWER_MAX_STARTER_COST:
+ return LowerStarterMaxCostChallenge.loadChallenge(source);
+ case Challenges.LOWER_STARTER_POINTS:
+ return LowerStarterPointsChallenge.loadChallenge(source);
+ }
+ throw new Error("Unknown challenge copied");
+}
+
+export const allChallenges: Challenge[] = [];
+
+export function initChallenges() {
+ allChallenges.push(
+ new SingleGenerationChallenge(),
+ new SingleTypeChallenge(),
+ // new LowerStarterMaxCostChallenge(),
+ // new LowerStarterPointsChallenge(),
+ // new FreshStartChallenge()
+ );
+}
diff --git a/src/data/daily-run.ts b/src/data/daily-run.ts
index cb4bfddc685..4b741b6f473 100644
--- a/src/data/daily-run.ts
+++ b/src/data/daily-run.ts
@@ -1,11 +1,10 @@
+import { PartyMemberStrength } from "#enums/party-member-strength";
+import { Species } from "#enums/species";
import BattleScene from "../battle-scene";
import { PlayerPokemon } from "../field/pokemon";
-import { GameModes, gameModes } from "../game-mode";
import { Starter } from "../ui/starter-select-ui-handler";
import * as Utils from "../utils";
-import { Species } from "./enums/species";
import PokemonSpecies, { PokemonSpeciesForm, getPokemonSpecies, getPokemonSpeciesForm, speciesStarters } from "./pokemon-species";
-import { PartyMemberStrength } from "./enums/party-member-strength";
export interface DailyRunConfig {
seed: integer;
@@ -29,7 +28,7 @@ export function getDailyRunStarters(scene: BattleScene, seed: string): Starter[]
const starters: Starter[] = [];
scene.executeWithSeedOffset(() => {
- const startingLevel = gameModes[GameModes.DAILY].getStartingLevel();
+ const startingLevel = scene.gameMode.getStartingLevel();
if (/\d{18}$/.test(seed)) {
for (let s = 0; s < 3; s++) {
diff --git a/src/data/dialogue.ts b/src/data/dialogue.ts
index bed72ceb9bb..ec3358b1a77 100644
--- a/src/data/dialogue.ts
+++ b/src/data/dialogue.ts
@@ -1,6 +1,6 @@
+import { BattleSpec } from "#enums/battle-spec";
+import { TrainerType } from "#enums/trainer-type";
import {trainerConfigs} from "./trainer-config";
-import {TrainerType} from "./enums/trainer-type";
-import {BattleSpec} from "../enums/battle-spec";
export interface TrainerTypeMessages {
encounter?: string | string[],
@@ -435,6 +435,236 @@ export const trainerTypeDialogue: TrainerTypeDialogue = {
]
}
],
+ [TrainerType.SAILOR]: [
+ {
+ encounter: [
+ "dialogue:sailor.encounter.1",
+ "dialogue:sailor.encounter.2",
+ "dialogue:sailor.encounter.3",
+ ],
+ victory: [
+ "dialogue:sailor.victory.1",
+ "dialogue:sailor.victory.2",
+ "dialogue:sailor.victory.3",
+ ]
+ }
+ ],
+ [TrainerType.ROCKET_GRUNT]: [
+ {
+ encounter: [
+ "dialogue:rocket_grunt.encounter.1"
+ ],
+ victory: [
+ "dialogue:rocket_grunt.victory.1"
+ ]
+ }
+ ],
+ [TrainerType.MAGMA_GRUNT]: [
+ {
+ encounter: [
+ "dialogue:magma_grunt.encounter.1"
+ ],
+ victory: [
+ "dialogue:magma_grunt.victory.1"
+ ]
+ }
+ ],
+ [TrainerType.AQUA_GRUNT]: [
+ {
+ encounter: [
+ "dialogue:aqua_grunt.encounter.1"
+ ],
+ victory: [
+ "dialogue:aqua_grunt.victory.1"
+ ]
+ }
+ ],
+ [TrainerType.GALACTIC_GRUNT]: [
+ {
+ encounter: [
+ "dialogue:galactic_grunt.encounter.1"
+ ],
+ victory: [
+ "dialogue:galactic_grunt.victory.1"
+ ]
+ }
+ ],
+ [TrainerType.PLASMA_GRUNT]: [
+ {
+ encounter: [
+ "dialogue:plasma_grunt.encounter.1"
+ ],
+ victory: [
+ "dialogue:plasma_grunt.victory.1"
+ ]
+ }
+ ],
+ [TrainerType.FLARE_GRUNT]: [
+ {
+ encounter: [
+ "dialogue:flare_grunt.encounter.1"
+ ],
+ victory: [
+ "dialogue:flare_grunt.victory.1"
+ ]
+ }
+ ],
+ [TrainerType.ROCKET_BOSS_GIOVANNI_1]: [
+ {
+ encounter: [
+ "dialogue:rocket_boss_giovanni_1.encounter.1"
+ ],
+ victory: [
+ "dialogue:rocket_boss_giovanni_1.victory.1"
+ ],
+ defeat: [
+ "dialogue:rocket_boss_giovanni_1.defeat.1"
+ ]
+ }
+ ],
+ [TrainerType.ROCKET_BOSS_GIOVANNI_2]: [
+ {
+ encounter: [
+ "dialogue:rocket_boss_giovanni_2.encounter.1"
+ ],
+ victory: [
+ "dialogue:rocket_boss_giovanni_2.victory.1"
+ ],
+ defeat: [
+ "dialogue:rocket_boss_giovanni_2.defeat.1"
+ ]
+ }
+ ],
+ [TrainerType.MAXIE]: [
+ {
+ encounter: [
+ "dialogue:magma_boss_maxie_1.encounter.1"
+ ],
+ victory: [
+ "dialogue:magma_boss_maxie_1.victory.1"
+ ],
+ defeat: [
+ "dialogue:magma_boss_maxie_1.defeat.1"
+ ]
+ }
+ ],
+ [TrainerType.MAXIE_2]: [
+ {
+ encounter: [
+ "dialogue:magma_boss_maxie_2.encounter.1"
+ ],
+ victory: [
+ "dialogue:magma_boss_maxie_2.victory.1"
+ ],
+ defeat: [
+ "dialogue:magma_boss_maxie_2.defeat.1"
+ ]
+ }
+ ],
+ [TrainerType.ARCHIE]: [
+ {
+ encounter: [
+ "dialogue:aqua_boss_archie_1.encounter.1"
+ ],
+ victory: [
+ "dialogue:aqua_boss_archie_1.victory.1"
+ ],
+ defeat: [
+ "dialogue:aqua_boss_archie_1.defeat.1"
+ ]
+ }
+ ],
+ [TrainerType.ARCHIE_2]: [
+ {
+ encounter: [
+ "dialogue:aqua_boss_archie_2.encounter.1"
+ ],
+ victory: [
+ "dialogue:aqua_boss_archie_2.victory.1"
+ ],
+ defeat: [
+ "dialogue:aqua_boss_archie_2.defeat.1"
+ ]
+ }
+ ],
+ [TrainerType.CYRUS]: [
+ {
+ encounter: [
+ "dialogue:galactic_boss_cyrus_1.encounter.1"
+ ],
+ victory: [
+ "dialogue:galactic_boss_cyrus_1.victory.1"
+ ],
+ defeat: [
+ "dialogue:galactic_boss_cyrus_1.defeat.1"
+ ]
+ }
+ ],
+ [TrainerType.CYRUS_2]: [
+ {
+ encounter: [
+ "dialogue:galactic_boss_cyrus_2.encounter.1"
+ ],
+ victory: [
+ "dialogue:galactic_boss_cyrus_2.victory.1"
+ ],
+ defeat: [
+ "dialogue:galactic_boss_cyrus_2.defeat.1"
+ ]
+ }
+ ],
+ [TrainerType.GHETSIS]: [
+ {
+ encounter: [
+ "dialogue:plasma_boss_ghetsis_1.encounter.1"
+ ],
+ victory: [
+ "dialogue:plasma_boss_ghetsis_1.victory.1"
+ ],
+ defeat: [
+ "dialogue:plasma_boss_ghetsis_1.defeat.1"
+ ]
+ }
+ ],
+ [TrainerType.GHETSIS_2]: [
+ {
+ encounter: [
+ "dialogue:plasma_boss_ghetsis_2.encounter.1"
+ ],
+ victory: [
+ "dialogue:plasma_boss_ghetsis_2.victory.1"
+ ],
+ defeat: [
+ "dialogue:plasma_boss_ghetsis_2.defeat.1"
+ ]
+ }
+ ],
+ [TrainerType.LYSANDRE]: [
+ {
+ encounter: [
+ "dialogue:flare_boss_lysandre_1.encounter.1"
+ ],
+ victory: [
+ "dialogue:flare_boss_lysandre_1.victory.1"
+ ],
+ defeat: [
+ "dialogue:flare_boss_lysandre_1.defeat.1"
+ ]
+ }
+ ],
+ [TrainerType.LYSANDRE_2]: [
+ {
+ encounter: [
+ "dialogue:flare_boss_lysandre_2.encounter.1"
+ ],
+ victory: [
+ "dialogue:flare_boss_lysandre_2.victory.1"
+ ],
+ defeat: [
+ "dialogue:flare_boss_lysandre_2.defeat.1"
+ ]
+ }
+ ],
[TrainerType.BROCK]: {
encounter: [
"dialogue:brock.encounter.1",
@@ -2060,6 +2290,28 @@ export const trainerTypeDialogue: TrainerTypeDialogue = {
"dialogue:raihan_elite.defeat.2"
]
},
+ [TrainerType.ALDER]: {
+ encounter: [
+ "dialogue:alder.encounter.1"
+ ],
+ victory: [
+ "dialogue:alder.victory.1"
+ ],
+ defeat: [
+ "dialogue:alder.defeat.1"
+ ]
+ },
+ [TrainerType.KIERAN]: {
+ encounter: [
+ "dialogue:kieran.encounter.1"
+ ],
+ victory: [
+ "dialogue:kieran.victory.1"
+ ],
+ defeat: [
+ "dialogue:kieran.defeat.1"
+ ]
+ },
[TrainerType.RIVAL]: [
{
encounter: [
diff --git a/src/data/egg-moves.ts b/src/data/egg-moves.ts
index bed989849d9..64e75113dbc 100644
--- a/src/data/egg-moves.ts
+++ b/src/data/egg-moves.ts
@@ -1,124 +1,124 @@
-import { Moves } from "./enums/moves";
-import { Species } from "./enums/species";
import { allMoves } from "./move";
import * as Utils from "../utils";
+import { Moves } from "#enums/moves";
+import { Species } from "#enums/species";
export const speciesEggMoves = {
[Species.BULBASAUR]: [ Moves.GIGA_DRAIN, Moves.SLUDGE_BOMB, Moves.EARTH_POWER, Moves.SAPPY_SEED ],
[Species.CHARMANDER]: [ Moves.DRAGON_DANCE, Moves.BITTER_BLADE, Moves.EARTH_POWER, Moves.OBLIVION_WING ],
[Species.SQUIRTLE]: [ Moves.ICE_BEAM, Moves.DARK_PULSE, Moves.BOUNCY_BUBBLE, Moves.ORIGIN_PULSE ],
- [Species.CATERPIE]: [ Moves.EARTH_POWER, Moves.SILK_TRAP, Moves.STICKY_WEB, Moves.BLEAKWIND_STORM ],
- [Species.WEEDLE]: [ Moves.DRILL_RUN, Moves.SWORDS_DANCE, Moves.BANEFUL_BUNKER, Moves.BARB_BARRAGE ],
+ [Species.CATERPIE]: [ Moves.SANDSEAR_STORM, Moves.SILK_TRAP, Moves.TWIN_BEAM, Moves.BLEAKWIND_STORM ],
+ [Species.WEEDLE]: [ Moves.THOUSAND_ARROWS, Moves.SWORDS_DANCE, Moves.ATTACK_ORDER, Moves.NOXIOUS_TORQUE ],
[Species.PIDGEY]: [ Moves.HEAT_WAVE, Moves.FOCUS_BLAST, Moves.U_TURN, Moves.WILDBOLT_STORM ],
[Species.RATTATA]: [ Moves.HYPER_FANG, Moves.PSYCHIC_FANGS, Moves.FIRE_FANG, Moves.EXTREME_SPEED ],
[Species.SPEAROW]: [ Moves.FLOATY_FALL, Moves.EXTREME_SPEED, Moves.TIDY_UP, Moves.TRIPLE_ARROWS ],
[Species.EKANS]: [ Moves.NOXIOUS_TORQUE, Moves.DRAGON_DANCE, Moves.SLACK_OFF, Moves.SHED_TAIL ],
- [Species.SANDSHREW]: [ Moves.DIRE_CLAW, Moves.CEASELESS_EDGE, Moves.SHORE_UP, Moves.PRECIPICE_BLADES ],
+ [Species.SANDSHREW]: [ Moves.HIGH_HORSEPOWER, Moves.CEASELESS_EDGE, Moves.SHORE_UP, Moves.MIGHTY_CLEAVE ],
[Species.NIDORAN_F]: [ Moves.NO_RETREAT, Moves.BANEFUL_BUNKER, Moves.SANDSEAR_STORM, Moves.MALIGNANT_CHAIN ],
[Species.NIDORAN_M]: [ Moves.NOXIOUS_TORQUE, Moves.KINGS_SHIELD, Moves.NO_RETREAT, Moves.PRECIPICE_BLADES ],
[Species.VULPIX]: [ Moves.MOONBLAST, Moves.ICE_BEAM, Moves.MORNING_SUN, Moves.TAIL_GLOW ],
[Species.ZUBAT]: [ Moves.FLOATY_FALL, Moves.DIRE_CLAW, Moves.SWORDS_DANCE, Moves.WICKED_BLOW ],
- [Species.ODDISH]: [ Moves.SLUDGE_BOMB, Moves.FIERY_DANCE, Moves.STRENGTH_SAP, Moves.SPORE ],
- [Species.PARAS]: [ Moves.FIRST_IMPRESSION, Moves.SAPPY_SEED, Moves.CRABHAMMER, Moves.DIRE_CLAW ],
+ [Species.ODDISH]: [ Moves.SLUDGE_BOMB, Moves.FIERY_DANCE, Moves.BOUNCY_BUBBLE, Moves.SPORE ],
+ [Species.PARAS]: [ Moves.LEECH_LIFE, Moves.HORN_LEECH, Moves.CRABHAMMER, Moves.SAPPY_SEED ],
[Species.VENONAT]: [ Moves.SLUDGE_BOMB, Moves.MOONLIGHT, Moves.EARTH_POWER, Moves.MYSTICAL_POWER ],
- [Species.DIGLETT]: [ Moves.REVERSAL, Moves.SWORDS_DANCE, Moves.ICE_SPINNER, Moves.HEADLONG_RUSH ],
- [Species.MEOWTH]: [ Moves.COVET, Moves.HAPPY_HOUR, Moves.PARTING_SHOT, Moves.MAKE_IT_RAIN ],
- [Species.PSYDUCK]: [ Moves.MYSTICAL_POWER, Moves.AQUA_STEP, Moves.AURA_SPHERE, Moves.MIND_BLOWN ],
- [Species.MANKEY]: [ Moves.DRAIN_PUNCH, Moves.RAGING_FURY, Moves.METEOR_MASH, Moves.NO_RETREAT ],
+ [Species.DIGLETT]: [ Moves.REVERSAL, Moves.SWORDS_DANCE, Moves.TRIPLE_AXEL, Moves.HEADLONG_RUSH ],
+ [Species.MEOWTH]: [ Moves.COVET, Moves.SWORDS_DANCE, Moves.DOUBLE_KICK, Moves.TAIL_SLAP ],
+ [Species.PSYDUCK]: [ Moves.SPLISHY_SPLASH, Moves.AQUA_STEP, Moves.AURA_SPHERE, Moves.MYSTICAL_POWER ],
+ [Species.MANKEY]: [ Moves.DRAIN_PUNCH, Moves.PLAY_ROUGH, Moves.METEOR_MASH, Moves.NO_RETREAT ],
[Species.GROWLITHE]: [ Moves.ZING_ZAP, Moves.PARTING_SHOT, Moves.MORNING_SUN, Moves.SACRED_FIRE ],
- [Species.POLIWAG]: [ Moves.BOUNCY_BUBBLE, Moves.WILDBOLT_STORM, Moves.DRAIN_PUNCH, Moves.SURGING_STRIKES ],
+ [Species.POLIWAG]: [ Moves.SLACK_OFF, Moves.WILDBOLT_STORM, Moves.DRAIN_PUNCH, Moves.SURGING_STRIKES ],
[Species.ABRA]: [ Moves.MOONBLAST, Moves.FLAMETHROWER, Moves.THUNDERBOLT, Moves.PSYSTRIKE ],
- [Species.MACHOP]: [ Moves.MACH_PUNCH, Moves.METEOR_MASH, Moves.ICE_HAMMER, Moves.FISSURE ],
+ [Species.MACHOP]: [ Moves.COMBAT_TORQUE, Moves.METEOR_MASH, Moves.MOUNTAIN_GALE, Moves.FISSURE ],
[Species.BELLSPROUT]: [ Moves.SOLAR_BLADE, Moves.STRENGTH_SAP, Moves.FIRE_LASH, Moves.VICTORY_DANCE ],
- [Species.TENTACOOL]: [ Moves.BANEFUL_BUNKER, Moves.STRENGTH_SAP, Moves.HAZE, Moves.MALIGNANT_CHAIN ],
+ [Species.TENTACOOL]: [ Moves.BANEFUL_BUNKER, Moves.STRENGTH_SAP, Moves.BOUNCY_BUBBLE, Moves.MALIGNANT_CHAIN ],
[Species.GEODUDE]: [ Moves.BODY_PRESS, Moves.BULK_UP, Moves.SHORE_UP, Moves.HEAD_SMASH ],
[Species.PONYTA]: [ Moves.HIGH_HORSEPOWER, Moves.FIRE_LASH, Moves.SWORDS_DANCE, Moves.VOLT_TACKLE ],
[Species.SLOWPOKE]: [ Moves.BOUNCY_BUBBLE, Moves.FLAMETHROWER, Moves.MYSTICAL_POWER, Moves.SHED_TAIL ],
[Species.MAGNEMITE]: [ Moves.PARABOLIC_CHARGE, Moves.BODY_PRESS, Moves.ICE_BEAM, Moves.THUNDERCLAP ],
[Species.FARFETCHD]: [ Moves.BATON_PASS, Moves.SACRED_SWORD, Moves.ROOST, Moves.VICTORY_DANCE ],
[Species.DODUO]: [ Moves.TRIPLE_AXEL, Moves.MULTI_ATTACK, Moves.FLOATY_FALL, Moves.TRIPLE_ARROWS ],
- [Species.SEEL]: [ Moves.FREEZE_DRY, Moves.CHILLY_RECEPTION, Moves.SLACK_OFF, Moves.BOUNCY_BUBBLE ],
- [Species.GRIMER]: [ Moves.SHADOW_SNEAK, Moves.CURSE, Moves.STRENGTH_SAP, Moves.NOXIOUS_TORQUE ],
+ [Species.SEEL]: [ Moves.FREEZE_DRY, Moves.BOUNCY_BUBBLE, Moves.SLACK_OFF, Moves.STEAM_ERUPTION ],
+ [Species.GRIMER]: [ Moves.SUCKER_PUNCH, Moves.CURSE, Moves.STRENGTH_SAP, Moves.NOXIOUS_TORQUE ],
[Species.SHELLDER]: [ Moves.ROCK_BLAST, Moves.WATER_SHURIKEN, Moves.BANEFUL_BUNKER, Moves.BONE_RUSH ],
- [Species.GASTLY]: [ Moves.ICE_BEAM, Moves.AURA_SPHERE, Moves.NASTY_PLOT, Moves.MALIGNANT_CHAIN ],
- [Species.ONIX]: [ Moves.SHORE_UP, Moves.BODY_PRESS, Moves.HEAD_SMASH, Moves.SPIN_OUT ],
- [Species.DROWZEE]: [ Moves.DREAM_EATER, Moves.RECOVER, Moves.NIGHTMARE, Moves.SPORE ],
+ [Species.GASTLY]: [ Moves.SLUDGE_BOMB, Moves.AURA_SPHERE, Moves.NASTY_PLOT, Moves.ASTRAL_BARRAGE ],
+ [Species.ONIX]: [ Moves.SHORE_UP, Moves.BODY_PRESS, Moves.HEAVY_SLAM, Moves.DIAMOND_STORM ],
+ [Species.DROWZEE]: [ Moves.DREAM_EATER, Moves.RECOVER, Moves.LUMINA_CRASH, Moves.DARK_VOID ],
[Species.KRABBY]: [ Moves.ICICLE_CRASH, Moves.LIQUIDATION, Moves.IVY_CUDGEL, Moves.SHELL_SMASH ],
- [Species.VOLTORB]: [ Moves.BUZZY_BUZZ, Moves.OVERHEAT, Moves.ICE_BEAM, Moves.TAIL_GLOW ],
+ [Species.VOLTORB]: [ Moves.RISING_VOLTAGE, Moves.OVERHEAT, Moves.ICE_BEAM, Moves.NASTY_PLOT ],
[Species.EXEGGCUTE]: [ Moves.MYSTICAL_POWER, Moves.APPLE_ACID, Moves.TRICK_ROOM, Moves.FICKLE_BEAM ],
- [Species.CUBONE]: [ Moves.HEAD_SMASH, Moves.WOOD_HAMMER, Moves.PAIN_SPLIT, Moves.VOLT_TACKLE ],
+ [Species.CUBONE]: [ Moves.HEAD_SMASH, Moves.WOOD_HAMMER, Moves.SHADOW_SNEAK, Moves.BITTER_BLADE ],
[Species.LICKITUNG]: [ Moves.BODY_SLAM, Moves.FIRE_LASH, Moves.GRAV_APPLE, Moves.MILK_DRINK ],
- [Species.KOFFING]: [ Moves.SCALD, Moves.RECOVER, Moves.SEARING_SHOT, Moves.MALIGNANT_CHAIN ],
- [Species.RHYHORN]: [ Moves.SHORE_UP, Moves.WAVE_CRASH, Moves.FLARE_BLITZ, Moves.HEAD_SMASH ],
+ [Species.KOFFING]: [ Moves.SCALD, Moves.RECOVER, Moves.MOONBLAST, Moves.MALIGNANT_CHAIN ],
+ [Species.RHYHORN]: [ Moves.SHORE_UP, Moves.ICE_HAMMER, Moves.ACCELEROCK, Moves.HEAD_SMASH ],
[Species.TANGELA]: [ Moves.STRENGTH_SAP, Moves.INFESTATION, Moves.PARTING_SHOT, Moves.SAPPY_SEED ],
- [Species.KANGASKHAN]: [ Moves.POWER_UP_PUNCH, Moves.BREAKING_SWIPE, Moves.RETURN, Moves.SEISMIC_TOSS ],
+ [Species.KANGASKHAN]: [ Moves.POWER_UP_PUNCH, Moves.TRAILBLAZE, Moves.FACADE, Moves.SEISMIC_TOSS ],
[Species.HORSEA]: [ Moves.SNIPE_SHOT, Moves.FROST_BREATH, Moves.HURRICANE, Moves.DRAGON_ENERGY ],
[Species.GOLDEEN]: [ Moves.DRILL_RUN, Moves.FLIP_TURN, Moves.DRAGON_DANCE, Moves.FISHIOUS_REND ],
[Species.STARYU]: [ Moves.CALM_MIND, Moves.BOUNCY_BUBBLE, Moves.MOONBLAST, Moves.MYSTICAL_POWER ],
- [Species.SCYTHER]: [ Moves.GEAR_GRIND, Moves.BUG_BITE, Moves.STORM_THROW, Moves.MIGHTY_CLEAVE ],
+ [Species.SCYTHER]: [ Moves.MIGHTY_CLEAVE, Moves.BUG_BITE, Moves.STORM_THROW, Moves.DOUBLE_IRON_BASH ],
[Species.PINSIR]: [ Moves.EARTHQUAKE, Moves.LEECH_LIFE, Moves.CLOSE_COMBAT, Moves.EXTREME_SPEED ],
- [Species.TAUROS]: [ Moves.HIGH_HORSEPOWER, Moves.FLARE_BLITZ, Moves.WAVE_CRASH, Moves.HEAD_CHARGE ],
- [Species.MAGIKARP]: [ Moves.FLIP_TURN, Moves.ICE_SPINNER, Moves.LIQUIDATION, Moves.DRAGON_ASCENT ],
- [Species.LAPRAS]: [ Moves.RECOVER, Moves.FREEZE_DRY, Moves.CHILLY_RECEPTION, Moves.BOOMBURST ],
+ [Species.TAUROS]: [ Moves.HIGH_HORSEPOWER, Moves.BLAZING_TORQUE, Moves.LIQUIDATION, Moves.COMBAT_TORQUE ],
+ [Species.MAGIKARP]: [ Moves.FLIP_TURN, Moves.ICE_SPINNER, Moves.POWER_TRIP, Moves.DRAGON_ASCENT ],
+ [Species.LAPRAS]: [ Moves.RECOVER, Moves.FREEZE_DRY, Moves.SHELL_SMASH, Moves.STEAM_ERUPTION ],
[Species.DITTO]: [ Moves.MIMIC, Moves.COPYCAT, Moves.ME_FIRST, Moves.METRONOME ],
- [Species.EEVEE]: [ Moves.WISH, Moves.REVELATION_DANCE, Moves.TRI_ATTACK, Moves.NO_RETREAT ],
- [Species.PORYGON]: [ Moves.BUZZY_BUZZ, Moves.AURA_SPHERE, Moves.TOPSY_TURVY, Moves.TECHNO_BLAST ],
+ [Species.EEVEE]: [ Moves.WISH, Moves.REVELATION_DANCE, Moves.ZIPPY_ZAP, Moves.NO_RETREAT ],
+ [Species.PORYGON]: [ Moves.THUNDERCLAP, Moves.AURA_SPHERE, Moves.FLAMETHROWER, Moves.TECHNO_BLAST ],
[Species.OMANYTE]: [ Moves.FREEZE_DRY, Moves.EARTH_POWER, Moves.POWER_GEM, Moves.STEAM_ERUPTION ],
- [Species.KABUTO]: [ Moves.CEASELESS_EDGE, Moves.DRILL_RUN, Moves.AQUA_CUTTER, Moves.MIGHTY_CLEAVE ],
+ [Species.KABUTO]: [ Moves.CEASELESS_EDGE, Moves.HIGH_HORSEPOWER, Moves.RAZOR_SHELL, Moves.MIGHTY_CLEAVE ],
[Species.AERODACTYL]: [ Moves.FLOATY_FALL, Moves.HEAD_SMASH, Moves.SWORDS_DANCE, Moves.MIGHTY_CLEAVE ],
[Species.ARTICUNO]: [ Moves.AURA_SPHERE, Moves.CALM_MIND, Moves.AURORA_VEIL, Moves.AEROBLAST ],
[Species.ZAPDOS]: [ Moves.WEATHER_BALL, Moves.CALM_MIND, Moves.SANDSEAR_STORM, Moves.ELECTRO_SHOT ],
- [Species.MOLTRES]: [ Moves.SCORCHING_SANDS, Moves.CALM_MIND, Moves.BURNING_BULWARK, Moves.TORCH_SONG ],
- [Species.DRATINI]: [ Moves.DRAGON_HAMMER, Moves.METEOR_MASH, Moves.FIRE_LASH, Moves.FLOATY_FALL ],
+ [Species.MOLTRES]: [ Moves.SCORCHING_SANDS, Moves.CALM_MIND, Moves.AEROBLAST, Moves.TORCH_SONG ],
+ [Species.DRATINI]: [ Moves.DRAGON_HAMMER, Moves.FLOATY_FALL, Moves.FIRE_LASH, Moves.MULTI_ATTACK ],
[Species.MEWTWO]: [ Moves.METEOR_MASH, Moves.MOONBLAST, Moves.PLASMA_FISTS, Moves.PHOTON_GEYSER ],
- [Species.MEW]: [ Moves.PHOTON_GEYSER, Moves.QUIVER_DANCE, Moves.VICTORY_DANCE, Moves.REVIVAL_BLESSING ],
- [Species.CHIKORITA]: [ Moves.ROCK_SLIDE, Moves.PLAY_ROUGH, Moves.DRAGON_DANCE, Moves.SAPPY_SEED ],
+ [Species.MEW]: [ Moves.PHOTON_GEYSER, Moves.MOONBLAST, Moves.ASTRAL_BARRAGE, Moves.SHELL_SMASH ],
+ [Species.CHIKORITA]: [ Moves.SPORE, Moves.STONE_AXE, Moves.DRAGON_DANCE, Moves.SAPPY_SEED ],
[Species.CYNDAQUIL]: [ Moves.NASTY_PLOT, Moves.SCORCHING_SANDS, Moves.FIERY_DANCE, Moves.ELECTRO_DRIFT ],
- [Species.TOTODILE]: [ Moves.THUNDER_PUNCH, Moves.DRAGON_DANCE, Moves.ICICLE_CRASH, Moves.FISHIOUS_REND ],
+ [Species.TOTODILE]: [ Moves.THUNDER_PUNCH, Moves.DRAGON_DANCE, Moves.TRIPLE_AXEL, Moves.FISHIOUS_REND ],
[Species.SENTRET]: [ Moves.TIDY_UP, Moves.THIEF, Moves.NUZZLE, Moves.EXTREME_SPEED ],
[Species.HOOTHOOT]: [ Moves.CALM_MIND, Moves.ESPER_WING, Moves.BOOMBURST, Moves.OBLIVION_WING ],
[Species.LEDYBA]: [ Moves.POLLEN_PUFF, Moves.THIEF, Moves.PARTING_SHOT, Moves.SPORE ],
[Species.SPINARAK]: [ Moves.PARTING_SHOT, Moves.ATTACK_ORDER, Moves.GASTRO_ACID, Moves.STRENGTH_SAP ],
[Species.CHINCHOU]: [ Moves.THUNDERCLAP, Moves.BOUNCY_BUBBLE, Moves.VOLT_SWITCH, Moves.TAIL_GLOW ],
- [Species.PICHU]: [ Moves.THUNDERCLAP, Moves.SPLISHY_SPLASH, Moves.FLOATY_FALL, Moves.THUNDER_CAGE ],
+ [Species.PICHU]: [ Moves.RISING_VOLTAGE, Moves.SPLISHY_SPLASH, Moves.FLOATY_FALL, Moves.THUNDERCLAP ],
[Species.CLEFFA]: [ Moves.TAKE_HEART, Moves.POWER_GEM, Moves.WISH, Moves.LIGHT_OF_RUIN ],
- [Species.IGGLYBUFF]: [ Moves.MOONBLAST, Moves.APPLE_ACID, Moves.WISH, Moves.BOOMBURST ],
+ [Species.IGGLYBUFF]: [ Moves.DRAIN_PUNCH, Moves.GRAV_APPLE, Moves.SOFT_BOILED, Moves.EXTREME_SPEED ],
[Species.TOGEPI]: [ Moves.SCORCHING_SANDS, Moves.ROOST, Moves.MOONBLAST, Moves.FIERY_DANCE ],
[Species.NATU]: [ Moves.AEROBLAST, Moves.ROOST, Moves.CALM_MIND, Moves.LUMINA_CRASH ],
- [Species.MAREEP]: [ Moves.ICE_BEAM, Moves.PARABOLIC_CHARGE, Moves.DRAGON_ENERGY, Moves.TAIL_GLOW ],
- [Species.HOPPIP]: [ Moves.AIR_SLASH, Moves.STRENGTH_SAP, Moves.QUIVER_DANCE, Moves.SEED_FLARE ],
+ [Species.MAREEP]: [ Moves.ICE_BEAM, Moves.PARABOLIC_CHARGE, Moves.CORE_ENFORCER, Moves.TAIL_GLOW ],
+ [Species.HOPPIP]: [ Moves.FLOATY_FALL, Moves.STRENGTH_SAP, Moves.SPORE, Moves.SAPPY_SEED ],
[Species.AIPOM]: [ Moves.TIDY_UP, Moves.STORM_THROW, Moves.FAKE_OUT, Moves.POPULATION_BOMB ],
[Species.SUNKERN]: [ Moves.SPORE, Moves.SAPPY_SEED, Moves.FIERY_DANCE, Moves.HYDRO_STEAM ],
- [Species.YANMA]: [ Moves.NASTY_PLOT, Moves.EARTH_POWER, Moves.HEAT_WAVE, Moves.AEROBLAST ],
+ [Species.YANMA]: [ Moves.NASTY_PLOT, Moves.EARTH_POWER, Moves.HEAT_WAVE, Moves.BLEAKWIND_STORM ],
[Species.WOOPER]: [ Moves.SIZZLY_SLIDE, Moves.RECOVER, Moves.CURSE, Moves.SURGING_STRIKES ],
[Species.MURKROW]: [ Moves.TRIPLE_ARROWS, Moves.FLOATY_FALL, Moves.TIDY_UP, Moves.WICKED_BLOW ],
[Species.MISDREAVUS]: [ Moves.TAKE_HEART, Moves.MOONBLAST, Moves.AURA_SPHERE, Moves.ASTRAL_BARRAGE ],
[Species.UNOWN]: [ Moves.NATURE_POWER, Moves.COSMIC_POWER, Moves.ANCIENT_POWER, Moves.MYSTICAL_POWER ],
[Species.GIRAFARIG]: [ Moves.MYSTICAL_POWER, Moves.NIGHT_DAZE, Moves.RECOVER, Moves.BOOMBURST ],
[Species.PINECO]: [ Moves.METAL_BURST, Moves.LUNGE, Moves.BODY_PRESS, Moves.SHORE_UP ],
- [Species.DUNSPARCE]: [ Moves.BODY_SLAM, Moves.WICKED_TORQUE, Moves.BLAZING_TORQUE, Moves.EXTREME_SPEED ],
- [Species.GLIGAR]: [ Moves.STONE_AXE, Moves.EARTHQUAKE, Moves.ROOST, Moves.FLOATY_FALL ],
- [Species.SNUBBULL]: [ Moves.PARTING_SHOT, Moves.EARTHQUAKE, Moves.STUFF_CHEEKS, Moves.MAGICAL_TORQUE ],
+ [Species.DUNSPARCE]: [ Moves.BODY_SLAM, Moves.MAGICAL_TORQUE, Moves.BLAZING_TORQUE, Moves.EXTREME_SPEED ],
+ [Species.GLIGAR]: [ Moves.FLOATY_FALL, Moves.THOUSAND_WAVES, Moves.ROOST, Moves.MIGHTY_CLEAVE ],
+ [Species.SNUBBULL]: [ Moves.FACADE, Moves.EARTHQUAKE, Moves.SWORDS_DANCE, Moves.EXTREME_SPEED ],
[Species.QWILFISH]: [ Moves.BARB_BARRAGE, Moves.BANEFUL_BUNKER, Moves.KNOCK_OFF, Moves.FISHIOUS_REND ],
- [Species.SHUCKLE]: [ Moves.COSMIC_POWER, Moves.SHORE_UP, Moves.BODY_PRESS, Moves.SALT_CURE ],
- [Species.HERACROSS]: [ Moves.ROCK_BLAST, Moves.FIRST_IMPRESSION, Moves.ICICLE_SPEAR, Moves.TIDY_UP ],
+ [Species.SHUCKLE]: [ Moves.STUFF_CHEEKS, Moves.HEAL_ORDER, Moves.BODY_PRESS, Moves.SALT_CURE ],
+ [Species.HERACROSS]: [ Moves.ROCK_BLAST, Moves.FIRST_IMPRESSION, Moves.ICICLE_SPEAR, Moves.DRAGON_DANCE ],
[Species.SNEASEL]: [ Moves.DIRE_CLAW, Moves.SUCKER_PUNCH, Moves.TRIPLE_AXEL, Moves.WICKED_BLOW ],
[Species.TEDDIURSA]: [ Moves.DIRE_CLAW, Moves.FACADE, Moves.BULK_UP, Moves.SLACK_OFF ],
- [Species.SLUGMA]: [ Moves.BURNING_BULWARK, Moves.POWER_GEM, Moves.MAGMA_STORM, Moves.HYDRO_STEAM ],
+ [Species.SLUGMA]: [ Moves.BURNING_BULWARK, Moves.POWER_GEM, Moves.SOLAR_BEAM, Moves.MAGMA_STORM ],
[Species.SWINUB]: [ Moves.ICE_SPINNER, Moves.HEADLONG_RUSH, Moves.MIGHTY_CLEAVE, Moves.GLACIAL_LANCE ],
[Species.CORSOLA]: [ Moves.SCALD, Moves.FREEZE_DRY, Moves.STRENGTH_SAP, Moves.SALT_CURE ],
[Species.REMORAID]: [ Moves.WATER_SHURIKEN, Moves.SNIPE_SHOT, Moves.SEARING_SHOT, Moves.ELECTRO_SHOT ],
[Species.DELIBIRD]: [ Moves.DRILL_RUN, Moves.FLOATY_FALL, Moves.NO_RETREAT, Moves.GLACIAL_LANCE ],
[Species.SKARMORY]: [ Moves.ROOST, Moves.BODY_PRESS, Moves.SPIKY_SHIELD, Moves.BEAK_BLAST ],
- [Species.HOUNDOUR]: [ Moves.SEARING_SHOT, Moves.FIERY_WRATH, Moves.PARTING_SHOT, Moves.HYDRO_STEAM ],
- [Species.PHANPY]: [ Moves.SHORE_UP, Moves.HEAD_SMASH, Moves.MOUNTAIN_GALE, Moves.VOLT_TACKLE ],
- [Species.STANTLER]: [ Moves.HORN_LEECH, Moves.HIGH_JUMP_KICK, Moves.BULK_UP, Moves.HEAD_CHARGE ],
- [Species.SMEARGLE]: [ Moves.BATON_PASS, Moves.BURNING_BULWARK, Moves.SALT_CURE, Moves.SPORE ],
+ [Species.HOUNDOUR]: [ Moves.HEAT_WAVE, Moves.FIERY_WRATH, Moves.SOLAR_BEAM, Moves.HYDRO_STEAM ],
+ [Species.PHANPY]: [ Moves.SHORE_UP, Moves.SWORDS_DANCE, Moves.ICICLE_CRASH, Moves.COLLISION_COURSE ],
+ [Species.STANTLER]: [ Moves.THUNDEROUS_KICK, Moves.HYPER_VOICE, Moves.BULK_UP, Moves.PHOTON_GEYSER ],
+ [Species.SMEARGLE]: [ Moves.CONVERSION, Moves.BURNING_BULWARK, Moves.SALT_CURE, Moves.DARK_VOID ],
[Species.TYROGUE]: [ Moves.VICTORY_DANCE, Moves.WICKED_TORQUE, Moves.METEOR_MASH, Moves.COLLISION_COURSE ],
- [Species.SMOOCHUM]: [ Moves.EXPANDING_FORCE, Moves.AURA_SPHERE, Moves.FREEZY_FROST, Moves.TAKE_HEART ],
- [Species.ELEKID]: [ Moves.DRAIN_PUNCH, Moves.TIDY_UP, Moves.ICE_HAMMER, Moves.PLASMA_FISTS ],
- [Species.MAGBY]: [ Moves.STORED_POWER, Moves.EARTH_POWER, Moves.ARMOR_CANNON, Moves.FLEUR_CANNON ],
+ [Species.SMOOCHUM]: [ Moves.EXPANDING_FORCE, Moves.AURA_SPHERE, Moves.FREEZY_FROST, Moves.QUIVER_DANCE ],
+ [Species.ELEKID]: [ Moves.BLAZING_TORQUE, Moves.TIDY_UP, Moves.MOUNTAIN_GALE, Moves.ZIPPY_ZAP ],
+ [Species.MAGBY]: [ Moves.THUNDERCLAP, Moves.EARTH_POWER, Moves.ARMOR_CANNON, Moves.FLEUR_CANNON ],
[Species.MILTANK]: [ Moves.BODY_PRESS, Moves.BULK_UP, Moves.YAWN, Moves.SIZZLY_SLIDE ],
[Species.RAIKOU]: [ Moves.THUNDERCLAP, Moves.NASTY_PLOT, Moves.ICE_BEAM, Moves.PARABOLIC_CHARGE ],
[Species.ENTEI]: [ Moves.BURNING_BULWARK, Moves.DRAGON_DANCE, Moves.EARTHQUAKE, Moves.MIGHTY_CLEAVE ],
@@ -127,24 +127,24 @@ export const speciesEggMoves = {
[Species.LUGIA]: [ Moves.TAKE_HEART, Moves.STORED_POWER, Moves.SCALD, Moves.OBLIVION_WING ],
[Species.HO_OH]: [ Moves.SWORDS_DANCE, Moves.EARTHQUAKE, Moves.BRAVE_BIRD, Moves.REVIVAL_BLESSING ],
[Species.CELEBI]: [ Moves.MYSTICAL_POWER, Moves.STORED_POWER, Moves.COSMIC_POWER, Moves.SEED_FLARE ],
- [Species.TREECKO]: [ Moves.DRAGON_PULSE, Moves.DRAGON_ENERGY, Moves.SECRET_SWORD, Moves.SEED_FLARE ],
+ [Species.TREECKO]: [ Moves.NASTY_PLOT, Moves.DRAGON_ENERGY, Moves.SECRET_SWORD, Moves.SEED_FLARE ],
[Species.TORCHIC]: [ Moves.HIGH_JUMP_KICK, Moves.SUPERCELL_SLAM, Moves.KNOCK_OFF, Moves.V_CREATE ],
[Species.MUDKIP]: [ Moves.SHORE_UP, Moves.ICICLE_CRASH, Moves.BULK_UP, Moves.SURGING_STRIKES ],
- [Species.POOCHYENA]: [ Moves.JAW_LOCK, Moves.PSYCHIC_FANGS, Moves.POISON_FANG, Moves.NO_RETREAT ],
- [Species.ZIGZAGOON]: [ Moves.EXTREME_SPEED, Moves.ENDURE, Moves.HIGH_HORSEPOWER, Moves.TIDY_UP ],
- [Species.WURMPLE]: [ Moves.BATON_PASS, Moves.BLEAKWIND_STORM, Moves.STICKY_WEB, Moves.MALIGNANT_CHAIN ],
+ [Species.POOCHYENA]: [ Moves.JAW_LOCK, Moves.CLOSE_COMBAT, Moves.DIRE_CLAW, Moves.NO_RETREAT ],
+ [Species.ZIGZAGOON]: [ Moves.EXTREME_SPEED, Moves.NUZZLE, Moves.HIGH_HORSEPOWER, Moves.TIDY_UP ],
+ [Species.WURMPLE]: [ Moves.BATON_PASS, Moves.BLEAKWIND_STORM, Moves.STORED_POWER, Moves.MALIGNANT_CHAIN ],
[Species.LOTAD]: [ Moves.REVELATION_DANCE, Moves.APPLE_ACID, Moves.ICE_BEAM, Moves.QUIVER_DANCE ],
- [Species.SEEDOT]: [ Moves.SWORDS_DANCE, Moves.GRASSY_GLIDE, Moves.KOWTOW_CLEAVE, Moves.IVY_CUDGEL ],
- [Species.TAILLOW]: [ Moves.SWORDS_DANCE, Moves.FACADE, Moves.DRILL_RUN, Moves.EXTREME_SPEED ],
- [Species.WINGULL]: [ Moves.THUNDER, Moves.FLIP_TURN, Moves.DEFOG, Moves.STEAM_ERUPTION ],
- [Species.RALTS]: [ Moves.BOOMBURST, Moves.BITTER_BLADE, Moves.QUIVER_DANCE, Moves.VICTORY_DANCE ],
+ [Species.SEEDOT]: [ Moves.SWORDS_DANCE, Moves.SACRED_SWORD, Moves.KOWTOW_CLEAVE, Moves.BITTER_BLADE ],
+ [Species.TAILLOW]: [ Moves.BOOMBURST, Moves.FACADE, Moves.HEADLONG_RUSH, Moves.NO_RETREAT ],
+ [Species.WINGULL]: [ Moves.THUNDER, Moves.FLIP_TURN, Moves.CALM_MIND, Moves.STEAM_ERUPTION ],
+ [Species.RALTS]: [ Moves.PSYBLADE, Moves.BITTER_BLADE, Moves.NO_RETREAT, Moves.BOOMBURST ],
[Species.SURSKIT]: [ Moves.POLLEN_PUFF, Moves.FIERY_DANCE, Moves.BOUNCY_BUBBLE, Moves.AEROBLAST ],
[Species.SHROOMISH]: [ Moves.ACCELEROCK, Moves.TRAILBLAZE, Moves.STORM_THROW, Moves.SAPPY_SEED ],
- [Species.SLAKOTH]: [ Moves.FACADE, Moves.JUMP_KICK, Moves.KNOCK_OFF, Moves.SKILL_SWAP ],
+ [Species.SLAKOTH]: [ Moves.FACADE, Moves.DRAIN_PUNCH, Moves.KNOCK_OFF, Moves.SKILL_SWAP ],
[Species.NINCADA]: [ Moves.ATTACK_ORDER, Moves.STICKY_WEB, Moves.SPIRIT_SHACKLE, Moves.SHELL_SMASH ],
[Species.WHISMUR]: [ Moves.ALLURING_VOICE, Moves.TRICK_ROOM, Moves.SPARKLING_ARIA, Moves.TORCH_SONG ],
[Species.MAKUHITA]: [ Moves.STORM_THROW, Moves.SLACK_OFF, Moves.HEAT_CRASH, Moves.DOUBLE_IRON_BASH ],
- [Species.AZURILL]: [ Moves.JET_PUNCH, Moves.SPIRIT_BREAK, Moves.SWORDS_DANCE, Moves.SURGING_STRIKES ],
+ [Species.AZURILL]: [ Moves.JET_PUNCH, Moves.MAGICAL_TORQUE, Moves.SWORDS_DANCE, Moves.SURGING_STRIKES ],
[Species.NOSEPASS]: [ Moves.SHORE_UP, Moves.BODY_PRESS, Moves.CALM_MIND, Moves.TACHYON_CUTTER ],
[Species.SKITTY]: [ Moves.THUNDEROUS_KICK, Moves.ENTRAINMENT, Moves.TIDY_UP, Moves.V_CREATE ],
[Species.SABLEYE]: [ Moves.RECOVER, Moves.TOPSY_TURVY, Moves.CURSE, Moves.SALT_CURE ],
@@ -153,46 +153,46 @@ export const speciesEggMoves = {
[Species.MEDITITE]: [ Moves.THUNDEROUS_KICK, Moves.SUCKER_PUNCH, Moves.BULLET_PUNCH, Moves.PHOTON_GEYSER ],
[Species.ELECTRIKE]: [ Moves.RISING_VOLTAGE, Moves.FLAMETHROWER, Moves.NASTY_PLOT, Moves.ICE_BEAM ],
[Species.PLUSLE]: [ Moves.FLAMETHROWER, Moves.GLITZY_GLOW, Moves.SPLISHY_SPLASH, Moves.TAIL_GLOW ],
- [Species.MINUN]: [ Moves.ICE_BEAM, Moves.BADDY_BAD, Moves.SIZZLY_SLIDE, Moves.TAIL_GLOW ],
- [Species.VOLBEAT]: [ Moves.PARTING_SHOT, Moves.LUNGE, Moves.POWDER, Moves.VICTORY_DANCE ],
- [Species.ILLUMISE]: [ Moves.PARTING_SHOT, Moves.POLLEN_PUFF, Moves.POWDER, Moves.QUIVER_DANCE ],
+ [Species.MINUN]: [ Moves.ICE_BEAM, Moves.BADDY_BAD, Moves.SPARKLY_SWIRL, Moves.TAIL_GLOW ],
+ [Species.VOLBEAT]: [ Moves.BATON_PASS, Moves.LUNGE, Moves.DECORATE, Moves.VICTORY_DANCE ],
+ [Species.ILLUMISE]: [ Moves.PARTING_SHOT, Moves.GLITZY_GLOW, Moves.POWDER, Moves.QUIVER_DANCE ],
[Species.GULPIN]: [ Moves.STRENGTH_SAP, Moves.EARTH_POWER, Moves.GROWTH, Moves.MALIGNANT_CHAIN ],
- [Species.CARVANHA]: [ Moves.DRILL_RUN, Moves.ICE_SPINNER, Moves.WAVE_CRASH, Moves.SWORDS_DANCE ],
- [Species.WAILMER]: [ Moves.CURSE, Moves.LIQUIDATION, Moves.FLOATY_FALL, Moves.RECOVER ],
+ [Species.CARVANHA]: [ Moves.THUNDER_FANG, Moves.SWORDS_DANCE, Moves.OBSTRUCT, Moves.SURGING_STRIKES ],
+ [Species.WAILMER]: [ Moves.TAKE_HEART, Moves.BOUNCY_BUBBLE, Moves.SLACK_OFF, Moves.COMEUPPANCE ],
[Species.NUMEL]: [ Moves.TRICK_ROOM, Moves.ENERGY_BALL, Moves.MORNING_SUN, Moves.BLUE_FLARE ],
[Species.TORKOAL]: [ Moves.MORNING_SUN, Moves.BURNING_BULWARK, Moves.BODY_PRESS, Moves.HYDRO_STEAM ],
- [Species.SPOINK]: [ Moves.AURA_SPHERE, Moves.MILK_DRINK, Moves.COSMIC_POWER, Moves.EXPANDING_FORCE ],
+ [Species.SPOINK]: [ Moves.AURA_SPHERE, Moves.MILK_DRINK, Moves.EXPANDING_FORCE, Moves.TAIL_GLOW ],
[Species.SPINDA]: [ Moves.SUPERPOWER, Moves.SLACK_OFF, Moves.FLEUR_CANNON, Moves.V_CREATE ],
[Species.TRAPINCH]: [ Moves.FIRE_LASH, Moves.DRAGON_DARTS, Moves.THOUSAND_ARROWS, Moves.DRAGON_ENERGY ],
[Species.CACNEA]: [ Moves.EARTH_POWER, Moves.CEASELESS_EDGE, Moves.NIGHT_DAZE, Moves.IVY_CUDGEL ],
[Species.SWABLU]: [ Moves.ROOST, Moves.NASTY_PLOT, Moves.FLOATY_FALL, Moves.BOOMBURST ],
[Species.ZANGOOSE]: [ Moves.FACADE, Moves.HIGH_HORSEPOWER, Moves.EXTREME_SPEED, Moves.TIDY_UP ],
- [Species.SEVIPER]: [ Moves.DIRE_CLAW, Moves.NASTY_PLOT, Moves.SUCKER_PUNCH, Moves.SHED_TAIL ],
- [Species.LUNATONE]: [ Moves.POWER_GEM, Moves.NIGHT_DAZE, Moves.STORED_POWER, Moves.LUMINA_CRASH ],
- [Species.SOLROCK]: [ Moves.PSYSHIELD_BASH, Moves.MIGHTY_CLEAVE, Moves.POWER_TRIP, Moves.SACRED_FIRE ],
- [Species.BARBOACH]: [ Moves.DRAGON_DANCE, Moves.SUPERCELL_SLAM, Moves.ICE_SPINNER, Moves.WAVE_CRASH ],
- [Species.CORPHISH]: [ Moves.CEASELESS_EDGE, Moves.JET_PUNCH, Moves.WAVE_CRASH, Moves.SHELL_SMASH ],
+ [Species.SEVIPER]: [ Moves.ICE_BEAM, Moves.BITTER_BLADE, Moves.SUCKER_PUNCH, Moves.NO_RETREAT ],
+ [Species.LUNATONE]: [ Moves.POWER_GEM, Moves.NIGHT_DAZE, Moves.SHELL_SMASH, Moves.LUMINA_CRASH ],
+ [Species.SOLROCK]: [ Moves.PSYSHIELD_BASH, Moves.MIGHTY_CLEAVE, Moves.SHELL_SMASH, Moves.SACRED_FIRE ],
+ [Species.BARBOACH]: [ Moves.DRAGON_DANCE, Moves.ZING_ZAP, Moves.ICE_SPINNER, Moves.SURGING_STRIKES ],
+ [Species.CORPHISH]: [ Moves.CEASELESS_EDGE, Moves.JET_PUNCH, Moves.SUCKER_PUNCH, Moves.SHELL_SMASH ],
[Species.BALTOY]: [ Moves.RECOVER, Moves.STORED_POWER, Moves.BODY_PRESS, Moves.MYSTICAL_POWER ],
- [Species.LILEEP]: [ Moves.POWER_GEM, Moves.SCALD, Moves.STONE_AXE, Moves.SAPPY_SEED ],
- [Species.ANORITH]: [ Moves.LIQUIDATION, Moves.LEECH_LIFE, Moves.DRAGON_DANCE, Moves.MIGHTY_CLEAVE ],
+ [Species.LILEEP]: [ Moves.POWER_GEM, Moves.SCALD, Moves.STRENGTH_SAP, Moves.SAPPY_SEED ],
+ [Species.ANORITH]: [ Moves.FIRST_IMPRESSION, Moves.LEECH_LIFE, Moves.DRAGON_DANCE, Moves.MIGHTY_CLEAVE ],
[Species.FEEBAS]: [ Moves.CALM_MIND, Moves.FREEZE_DRY, Moves.MOONBLAST, Moves.STEAM_ERUPTION ],
[Species.CASTFORM]: [ Moves.BOOMBURST, Moves.HYDRO_STEAM, Moves.ERUPTION, Moves.QUIVER_DANCE ],
[Species.KECLEON]: [ Moves.DRAIN_PUNCH, Moves.DRAGON_DANCE, Moves.EXTREME_SPEED, Moves.MULTI_ATTACK ],
[Species.SHUPPET]: [ Moves.STORM_THROW, Moves.TIDY_UP, Moves.PARTING_SHOT, Moves.SPECTRAL_THIEF ],
[Species.DUSKULL]: [ Moves.BULK_UP, Moves.DRAIN_PUNCH, Moves.STRENGTH_SAP, Moves.RAGE_FIST ],
[Species.TROPIUS]: [ Moves.STUFF_CHEEKS, Moves.EARTH_POWER, Moves.APPLE_ACID, Moves.SAPPY_SEED ],
- [Species.ABSOL]: [ Moves.KOWTOW_CLEAVE, Moves.SACRED_SWORD, Moves.DIRE_CLAW, Moves.BITTER_BLADE ],
+ [Species.ABSOL]: [ Moves.KOWTOW_CLEAVE, Moves.SACRED_SWORD, Moves.PSYBLADE, Moves.BITTER_BLADE ],
[Species.WYNAUT]: [ Moves.RECOVER, Moves.SHED_TAIL, Moves.TAUNT, Moves.COMEUPPANCE ],
[Species.SNORUNT]: [ Moves.AURORA_VEIL, Moves.HYPER_VOICE, Moves.EARTH_POWER, Moves.NO_RETREAT ],
[Species.SPHEAL]: [ Moves.FLIP_TURN, Moves.FREEZE_DRY, Moves.SLACK_OFF, Moves.STEAM_ERUPTION ],
[Species.CLAMPERL]: [ Moves.ICE_SPINNER, Moves.LIQUIDATION, Moves.EARTH_POWER, Moves.STEAM_ERUPTION ],
[Species.RELICANTH]: [ Moves.BODY_PRESS, Moves.SHORE_UP, Moves.WAVE_CRASH, Moves.FISHIOUS_REND ],
- [Species.LUVDISC]: [ Moves.BATON_PASS, Moves.THIEF, Moves.BOUNCY_BUBBLE, Moves.TAKE_HEART ],
+ [Species.LUVDISC]: [ Moves.BATON_PASS, Moves.HEART_SWAP, Moves.GLITZY_GLOW, Moves.REVIVAL_BLESSING ],
[Species.BAGON]: [ Moves.FLOATY_FALL, Moves.FIRE_LASH, Moves.DRAGON_DANCE, Moves.GLAIVE_RUSH ],
- [Species.BELDUM]: [ Moves.PSYCHIC_FANGS, Moves.RECOVER, Moves.TRIPLE_AXEL, Moves.SHIFT_GEAR ],
+ [Species.BELDUM]: [ Moves.HIGH_HORSEPOWER, Moves.RECOVER, Moves.TRIPLE_AXEL, Moves.SHIFT_GEAR ],
[Species.REGIROCK]: [ Moves.STONE_AXE, Moves.BODY_PRESS, Moves.RECOVER, Moves.SALT_CURE ],
- [Species.REGICE]: [ Moves.EARTH_POWER, Moves.COSMIC_POWER, Moves.RECOVER, Moves.FREEZE_DRY ],
- [Species.REGISTEEL]: [ Moves.BODY_PRESS, Moves.HEAT_CRASH, Moves.RECOVER, Moves.GIGATON_HAMMER ],
+ [Species.REGICE]: [ Moves.EARTH_POWER, Moves.TAKE_HEART, Moves.RECOVER, Moves.FREEZE_DRY ],
+ [Species.REGISTEEL]: [ Moves.BODY_PRESS, Moves.THOUSAND_WAVES, Moves.RECOVER, Moves.GIGATON_HAMMER ],
[Species.LATIAS]: [ Moves.CORE_ENFORCER, Moves.SEARING_SHOT, Moves.DRAGON_ENERGY, Moves.QUIVER_DANCE ],
[Species.LATIOS]: [ Moves.CORE_ENFORCER, Moves.SEARING_SHOT, Moves.DRAGON_ENERGY, Moves.QUIVER_DANCE ],
[Species.KYOGRE]: [ Moves.BOUNCY_BUBBLE, Moves.HURRICANE, Moves.THUNDER, Moves.TAIL_GLOW ],
@@ -201,41 +201,41 @@ export const speciesEggMoves = {
[Species.JIRACHI]: [ Moves.IRON_HEAD, Moves.FLOATY_FALL, Moves.ROCK_SLIDE, Moves.SHIFT_GEAR ],
[Species.DEOXYS]: [ Moves.COLLISION_COURSE, Moves.EARTH_POWER, Moves.PARTING_SHOT, Moves.LUMINA_CRASH ],
[Species.TURTWIG]: [ Moves.SHELL_SMASH, Moves.MIGHTY_CLEAVE, Moves.ICE_SPINNER, Moves.SAPPY_SEED ],
- [Species.CHIMCHAR]: [ Moves.SWORDS_DANCE, Moves.THUNDEROUS_KICK, Moves.ICE_PUNCH, Moves.SACRED_FIRE ],
+ [Species.CHIMCHAR]: [ Moves.FIERY_DANCE, Moves.SECRET_SWORD, Moves.TRIPLE_AXEL, Moves.SACRED_FIRE ],
[Species.PIPLUP]: [ Moves.KINGS_SHIELD, Moves.TACHYON_CUTTER, Moves.ROOST, Moves.STEAM_ERUPTION ],
- [Species.STARLY]: [ Moves.SWORDS_DANCE, Moves.EXTREME_SPEED, Moves.FLARE_BLITZ, Moves.HEAD_CHARGE ],
- [Species.BIDOOF]: [ Moves.EXTREME_SPEED, Moves.STOCKPILE, Moves.POWER_TRIP, Moves.AQUA_STEP ],
- [Species.KRICKETOT]: [ Moves.BONEMERANG, Moves.ROOST, Moves.ROCK_BLAST, Moves.VICTORY_DANCE ],
+ [Species.STARLY]: [ Moves.SWORDS_DANCE, Moves.HEAD_CHARGE, Moves.FLARE_BLITZ, Moves.EXTREME_SPEED ],
+ [Species.BIDOOF]: [ Moves.EXTREME_SPEED, Moves.COSMIC_POWER, Moves.POWER_TRIP, Moves.AQUA_STEP ],
+ [Species.KRICKETOT]: [ Moves.BONEMERANG, Moves.VICTORY_DANCE, Moves.STONE_AXE, Moves.POPULATION_BOMB ],
[Species.SHINX]: [ Moves.FIRE_LASH, Moves.TRIPLE_AXEL, Moves.FACADE, Moves.BOLT_STRIKE ],
[Species.BUDEW]: [ Moves.FIERY_DANCE, Moves.SLUDGE_WAVE, Moves.SPORE, Moves.QUIVER_DANCE ],
[Species.CRANIDOS]: [ Moves.DRAGON_DANCE, Moves.ACCELEROCK, Moves.HEADLONG_RUSH, Moves.VOLT_TACKLE ],
- [Species.SHIELDON]: [ Moves.PAIN_SPLIT, Moves.BODY_PRESS, Moves.KINGS_SHIELD, Moves.DIAMOND_STORM ],
+ [Species.SHIELDON]: [ Moves.SHORE_UP, Moves.BODY_PRESS, Moves.KINGS_SHIELD, Moves.DIAMOND_STORM ],
[Species.BURMY]: [ Moves.BODY_PRESS, Moves.DEFEND_ORDER, Moves.HEAL_ORDER, Moves.SAPPY_SEED ],
- [Species.COMBEE]: [ Moves.SPORE, Moves.HEAT_WAVE, Moves.KINGS_SHIELD, Moves.QUIVER_DANCE ],
+ [Species.COMBEE]: [ Moves.SPORE, Moves.FLOATY_FALL, Moves.KINGS_SHIELD, Moves.VICTORY_DANCE ],
[Species.PACHIRISU]: [ Moves.BADDY_BAD, Moves.SIZZLY_SLIDE, Moves.U_TURN, Moves.ZIPPY_ZAP ],
[Species.BUIZEL]: [ Moves.JET_PUNCH, Moves.TRIPLE_AXEL, Moves.SUPERCELL_SLAM, Moves.SURGING_STRIKES ],
[Species.CHERUBI]: [ Moves.SPORE, Moves.STRENGTH_SAP, Moves.FIERY_DANCE, Moves.FLOWER_TRICK ],
[Species.SHELLOS]: [ Moves.BOUNCY_BUBBLE, Moves.SCORCHING_SANDS, Moves.FREEZE_DRY, Moves.STEAM_ERUPTION ],
- [Species.DRIFLOON]: [ Moves.WILL_O_WISP, Moves.HEAT_WAVE, Moves.CALM_MIND, Moves.OBLIVION_WING ],
+ [Species.DRIFLOON]: [ Moves.WILL_O_WISP, Moves.MIND_BLOWN, Moves.CALM_MIND, Moves.OBLIVION_WING ],
[Species.BUNEARY]: [ Moves.TRIPLE_AXEL, Moves.SWORDS_DANCE, Moves.THUNDEROUS_KICK, Moves.MULTI_ATTACK ],
[Species.GLAMEOW]: [ Moves.U_TURN, Moves.HIGH_HORSEPOWER, Moves.BULK_UP, Moves.EXTREME_SPEED ],
- [Species.CHINGLING]: [ Moves.BUZZY_BUZZ, Moves.COSMIC_POWER, Moves.TORCH_SONG, Moves.LUMINA_CRASH ],
+ [Species.CHINGLING]: [ Moves.BUZZY_BUZZ, Moves.EERIE_SPELL, Moves.TORCH_SONG, Moves.BOOMBURST ],
[Species.STUNKY]: [ Moves.CEASELESS_EDGE, Moves.KNOCK_OFF, Moves.RECOVER, Moves.DIRE_CLAW ],
- [Species.BRONZOR]: [ Moves.RECOVER, Moves.COSMIC_POWER, Moves.GLARE, Moves.TACHYON_CUTTER ],
+ [Species.BRONZOR]: [ Moves.RECOVER, Moves.TACHYON_CUTTER, Moves.GLARE, Moves.LUMINA_CRASH ],
[Species.BONSLY]: [ Moves.STONE_AXE, Moves.LEAF_BLADE, Moves.STRENGTH_SAP, Moves.HEAD_SMASH ],
- [Species.MIME_JR]: [ Moves.CALM_MIND, Moves.MOONBLAST, Moves.WILL_O_WISP, Moves.LUMINA_CRASH ],
+ [Species.MIME_JR]: [ Moves.CALM_MIND, Moves.MOONBLAST, Moves.SIZZLY_SLIDE, Moves.LUMINA_CRASH ],
[Species.HAPPINY]: [ Moves.COTTON_GUARD, Moves.SEISMIC_TOSS, Moves.SIZZLY_SLIDE, Moves.REVIVAL_BLESSING ],
[Species.CHATOT]: [ Moves.SPARKLING_ARIA, Moves.TORCH_SONG, Moves.BATON_PASS, Moves.BOOMBURST ],
- [Species.SPIRITOMB]: [ Moves.PARTING_SHOT, Moves.FOUL_PLAY, Moves.STRENGTH_SAP, Moves.SPECTRAL_THIEF ],
- [Species.GIBLE]: [ Moves.DRAGON_DANCE, Moves.THOUSAND_WAVES, Moves.SHORE_UP, Moves.BITTER_BLADE ],
+ [Species.SPIRITOMB]: [ Moves.PARTING_SHOT, Moves.BADDY_BAD, Moves.STRENGTH_SAP, Moves.SPECTRAL_THIEF ],
+ [Species.GIBLE]: [ Moves.DRAGON_DANCE, Moves.BITTER_BLADE, Moves.SHORE_UP, Moves.THOUSAND_ARROWS ],
[Species.MUNCHLAX]: [ Moves.CURSE, Moves.BODY_PRESS, Moves.KNOCK_OFF, Moves.SLACK_OFF ],
[Species.RIOLU]: [ Moves.THUNDEROUS_KICK, Moves.BULLET_PUNCH, Moves.TRIPLE_AXEL, Moves.DOUBLE_IRON_BASH ],
[Species.HIPPOPOTAS]: [ Moves.BODY_PRESS, Moves.STONE_AXE, Moves.IRON_DEFENSE, Moves.SALT_CURE ],
[Species.SKORUPI]: [ Moves.CEASELESS_EDGE, Moves.DIRE_CLAW, Moves.PARTING_SHOT, Moves.WICKED_BLOW ],
[Species.CROAGUNK]: [ Moves.DIRE_CLAW, Moves.ICE_PUNCH, Moves.THUNDEROUS_KICK, Moves.VICTORY_DANCE ],
- [Species.CARNIVINE]: [ Moves.STRENGTH_SAP, Moves.FIRE_LASH, Moves.MIGHTY_CLEAVE, Moves.FLOWER_TRICK ],
+ [Species.CARNIVINE]: [ Moves.STRENGTH_SAP, Moves.FIRE_LASH, Moves.COIL, Moves.SAPPY_SEED ],
[Species.FINNEON]: [ Moves.QUIVER_DANCE, Moves.BOUNCY_BUBBLE, Moves.FREEZE_DRY, Moves.ORIGIN_PULSE ],
- [Species.MANTYKE]: [ Moves.BOUNCY_BUBBLE, Moves.STEALTH_ROCK, Moves.NASTY_PLOT, Moves.STEAM_ERUPTION ],
+ [Species.MANTYKE]: [ Moves.SPLISHY_SPLASH, Moves.HAZE, Moves.NASTY_PLOT, Moves.OBLIVION_WING ],
[Species.SNOVER]: [ Moves.HIGH_HORSEPOWER, Moves.STRENGTH_SAP, Moves.AURORA_VEIL, Moves.IVY_CUDGEL ],
[Species.ROTOM]: [ Moves.STRENGTH_SAP, Moves.FIERY_DANCE, Moves.SPLISHY_SPLASH, Moves.ELECTRO_DRIFT ],
[Species.UXIE]: [ Moves.COSMIC_POWER, Moves.BODY_PRESS, Moves.RECOVER, Moves.SPARKLY_SWIRL ],
@@ -243,24 +243,24 @@ export const speciesEggMoves = {
[Species.AZELF]: [ Moves.PSYSTRIKE, Moves.ICE_BEAM, Moves.MOONBLAST, Moves.TAIL_GLOW ],
[Species.DIALGA]: [ Moves.CORE_ENFORCER, Moves.TAKE_HEART, Moves.RECOVER, Moves.MAKE_IT_RAIN ],
[Species.PALKIA]: [ Moves.RECOVER, Moves.TAKE_HEART, Moves.WATER_SPOUT, Moves.DRAGON_ENERGY ],
- [Species.HEATRAN]: [ Moves.TORCH_SONG, Moves.RECOVER, Moves.FLASH_CANNON, Moves.MATCHA_GOTCHA ],
+ [Species.HEATRAN]: [ Moves.TORCH_SONG, Moves.RECOVER, Moves.TACHYON_CUTTER, Moves.MATCHA_GOTCHA ],
[Species.REGIGIGAS]: [ Moves.SKILL_SWAP, Moves.RECOVER, Moves.EXTREME_SPEED, Moves.GIGATON_HAMMER ],
[Species.GIRATINA]: [ Moves.DRAGON_DANCE, Moves.GLAIVE_RUSH, Moves.RECOVER, Moves.SPECTRAL_THIEF ],
[Species.CRESSELIA]: [ Moves.COSMIC_POWER, Moves.SECRET_SWORD, Moves.SIZZLY_SLIDE, Moves.LUMINA_CRASH ],
[Species.PHIONE]: [ Moves.BOUNCY_BUBBLE, Moves.FREEZE_DRY, Moves.SPLISHY_SPLASH, Moves.QUIVER_DANCE ],
[Species.MANAPHY]: [ Moves.BOUNCY_BUBBLE, Moves.FREEZE_DRY, Moves.SPLISHY_SPLASH, Moves.QUIVER_DANCE ],
[Species.DARKRAI]: [ Moves.FIERY_WRATH, Moves.MOONBLAST, Moves.SEARING_SHOT, Moves.SPORE ],
- [Species.SHAYMIN]: [ Moves.SPRINGTIDE_STORM, Moves.HEAT_WAVE, Moves.BLEAKWIND_STORM, Moves.MATCHA_GOTCHA ],
+ [Species.SHAYMIN]: [ Moves.MATCHA_GOTCHA, Moves.FIERY_DANCE, Moves.AEROBLAST, Moves.QUIVER_DANCE ],
[Species.ARCEUS]: [ Moves.QUIVER_DANCE, Moves.COLLISION_COURSE, Moves.VICTORY_DANCE, Moves.SPECTRAL_THIEF ],
[Species.VICTINI]: [ Moves.RECOVER, Moves.BOLT_STRIKE, Moves.PHOTON_GEYSER, Moves.VICTORY_DANCE ],
- [Species.SNIVY]: [ Moves.BURNING_JEALOUSY, Moves.SAPPY_SEED, Moves.SUPERPOWER, Moves.FLEUR_CANNON ],
- [Species.TEPIG]: [ Moves.AXE_KICK, Moves.VOLT_TACKLE, Moves.DRAIN_PUNCH, Moves.VICTORY_DANCE ],
- [Species.OSHAWOTT]: [ Moves.ICE_SPINNER, Moves.SHELL_SIDE_ARM, Moves.SACRED_SWORD, Moves.SHELL_SMASH ],
- [Species.PATRAT]: [ Moves.EXTREME_SPEED, Moves.KNOCK_OFF, Moves.GLARE, Moves.TIDY_UP ],
+ [Species.SNIVY]: [ Moves.FLAMETHROWER, Moves.CLANGING_SCALES, Moves.MAKE_IT_RAIN, Moves.FLEUR_CANNON ],
+ [Species.TEPIG]: [ Moves.WAVE_CRASH, Moves.VOLT_TACKLE, Moves.DRAIN_PUNCH, Moves.VICTORY_DANCE ],
+ [Species.OSHAWOTT]: [ Moves.TRIPLE_AXEL, Moves.SHELL_SIDE_ARM, Moves.SACRED_SWORD, Moves.SHELL_SMASH ],
+ [Species.PATRAT]: [ Moves.FAKE_OUT, Moves.GLARE, Moves.DYNAMIC_PUNCH, Moves.EXTREME_SPEED ],
[Species.LILLIPUP]: [ Moves.CLOSE_COMBAT, Moves.THIEF, Moves.HIGH_HORSEPOWER, Moves.LAST_RESPECTS ],
[Species.PURRLOIN]: [ Moves.ENCORE, Moves.ASSIST, Moves.PARTING_SHOT, Moves.WICKED_BLOW ],
- [Species.PANSAGE]: [ Moves.SWORDS_DANCE, Moves.TEMPER_FLARE, Moves.EARTHQUAKE, Moves.IVY_CUDGEL ],
- [Species.PANSEAR]: [ Moves.NASTY_PLOT, Moves.SCALD, Moves.SCORCHING_SANDS, Moves.TORCH_SONG ],
+ [Species.PANSAGE]: [ Moves.SWORDS_DANCE, Moves.FIRE_LASH, Moves.EARTHQUAKE, Moves.IVY_CUDGEL ],
+ [Species.PANSEAR]: [ Moves.NASTY_PLOT, Moves.HYDRO_STEAM, Moves.SCORCHING_SANDS, Moves.TORCH_SONG ],
[Species.PANPOUR]: [ Moves.NASTY_PLOT, Moves.ENERGY_BALL, Moves.EARTH_POWER, Moves.STEAM_ERUPTION ],
[Species.MUNNA]: [ Moves.COSMIC_POWER, Moves.AURA_SPHERE, Moves.EARTH_POWER, Moves.MYSTICAL_POWER ],
[Species.PIDOVE]: [ Moves.GUNK_SHOT, Moves.TIDY_UP, Moves.FLOATY_FALL, Moves.TRIPLE_ARROWS ],
@@ -274,29 +274,29 @@ export const speciesEggMoves = {
[Species.THROH]: [ Moves.DRAIN_PUNCH, Moves.SLACK_OFF, Moves.METEOR_MASH, Moves.NO_RETREAT ],
[Species.SAWK]: [ Moves.DRAIN_PUNCH, Moves.MACH_PUNCH, Moves.ENDEAVOR, Moves.VICTORY_DANCE ],
[Species.SEWADDLE]: [ Moves.STONE_AXE, Moves.PSYCHO_CUT, Moves.TIDY_UP, Moves.BITTER_BLADE ],
- [Species.VENIPEDE]: [ Moves.SWORDS_DANCE, Moves.BATON_PASS, Moves.NOXIOUS_TORQUE, Moves.BLAZING_TORQUE ],
+ [Species.VENIPEDE]: [ Moves.SWORDS_DANCE, Moves.LEECH_LIFE, Moves.NOXIOUS_TORQUE, Moves.POWER_TRIP ],
[Species.COTTONEE]: [ Moves.POLLEN_PUFF, Moves.PARTING_SHOT, Moves.SLEEP_POWDER, Moves.SEED_FLARE ],
[Species.PETILIL]: [ Moves.THUNDEROUS_KICK, Moves.SPARKLING_ARIA, Moves.AQUA_STEP, Moves.FIERY_DANCE ],
- [Species.BASCULIN]: [ Moves.LAST_RESPECTS, Moves.CLOSE_COMBAT, Moves.TRIPLE_DIVE, Moves.DRAGON_DANCE ],
- [Species.SANDILE]: [ Moves.DIRE_CLAW, Moves.PARTING_SHOT, Moves.FIRE_LASH, Moves.PRECIPICE_BLADES ],
- [Species.DARUMAKA]: [ Moves.DRAIN_PUNCH, Moves.THUNDER_PUNCH, Moves.BLAZING_TORQUE, Moves.V_CREATE ],
+ [Species.BASCULIN]: [ Moves.LAST_RESPECTS, Moves.CLOSE_COMBAT, Moves.SPLISHY_SPLASH, Moves.NO_RETREAT ],
+ [Species.SANDILE]: [ Moves.DIRE_CLAW, Moves.HIGH_HORSEPOWER, Moves.FIRE_LASH, Moves.WICKED_BLOW ],
+ [Species.DARUMAKA]: [ Moves.DRAIN_PUNCH, Moves.ZING_ZAP, Moves.EARTHQUAKE, Moves.V_CREATE ],
[Species.MARACTUS]: [ Moves.SCORCHING_SANDS, Moves.QUIVER_DANCE, Moves.FIERY_DANCE, Moves.SEED_FLARE ],
[Species.DWEBBLE]: [ Moves.CRABHAMMER, Moves.STONE_AXE, Moves.LEECH_LIFE, Moves.MIGHTY_CLEAVE ],
- [Species.SCRAGGY]: [ Moves.SUCKER_PUNCH, Moves.TRIPLE_AXEL, Moves.DRAGON_DANCE, Moves.COLLISION_COURSE ],
+ [Species.SCRAGGY]: [ Moves.SUCKER_PUNCH, Moves.BULLET_PUNCH, Moves.DRAGON_DANCE, Moves.COLLISION_COURSE ],
[Species.SIGILYPH]: [ Moves.STORED_POWER, Moves.TAKE_HEART, Moves.FREEZING_GLARE, Moves.OBLIVION_WING ],
- [Species.YAMASK]: [ Moves.RECOVER, Moves.INFERNAL_PARADE, Moves.AURA_SPHERE, Moves.TOPSY_TURVY ],
+ [Species.YAMASK]: [ Moves.STRENGTH_SAP, Moves.INFERNAL_PARADE, Moves.AURA_SPHERE, Moves.ASTRAL_BARRAGE ],
[Species.TIRTOUGA]: [ Moves.ICE_SPINNER, Moves.LIQUIDATION, Moves.SHORE_UP, Moves.MIGHTY_CLEAVE ],
- [Species.ARCHEN]: [ Moves.ROOST, Moves.MIGHTY_CLEAVE, Moves.FLOATY_FALL, Moves.SKILL_SWAP ],
+ [Species.ARCHEN]: [ Moves.ROOST, Moves.EARTHQUAKE, Moves.FLOATY_FALL, Moves.MIGHTY_CLEAVE ],
[Species.TRUBBISH]: [ Moves.TIDY_UP, Moves.RECOVER, Moves.DIRE_CLAW, Moves.GIGATON_HAMMER ],
[Species.ZORUA]: [ Moves.FLAMETHROWER, Moves.MOONBLAST, Moves.AURA_SPHERE, Moves.FIERY_WRATH ],
[Species.MINCCINO]: [ Moves.ICICLE_SPEAR, Moves.TIDY_UP, Moves.KNOCK_OFF, Moves.POPULATION_BOMB ],
- [Species.GOTHITA]: [ Moves.MILK_DRINK, Moves.MOONBLAST, Moves.AURA_SPHERE, Moves.PSYSTRIKE ],
- [Species.SOLOSIS]: [ Moves.COSMIC_POWER, Moves.MOONBLAST, Moves.AURA_SPHERE, Moves.PSYSTRIKE ],
- [Species.DUCKLETT]: [ Moves.QUIVER_DANCE, Moves.EARTH_POWER, Moves.FREEZE_DRY, Moves.OBLIVION_WING ],
- [Species.VANILLITE]: [ Moves.EARTH_POWER, Moves.AURORA_VEIL, Moves.DECORATE, Moves.MILK_DRINK ],
+ [Species.GOTHITA]: [ Moves.RECOVER, Moves.MOONBLAST, Moves.AURA_SPHERE, Moves.LUMINA_CRASH ],
+ [Species.SOLOSIS]: [ Moves.EXPANDING_FORCE, Moves.TRICK_ROOM, Moves.AURA_SPHERE, Moves.LIGHT_OF_RUIN ],
+ [Species.DUCKLETT]: [ Moves.SPLISHY_SPLASH, Moves.EARTH_POWER, Moves.WILDBOLT_STORM, Moves.QUIVER_DANCE ],
+ [Species.VANILLITE]: [ Moves.EARTH_POWER, Moves.AURORA_VEIL, Moves.CALM_MIND, Moves.SPARKLY_SWIRL ],
[Species.DEERLING]: [ Moves.TIDY_UP, Moves.FLOWER_TRICK, Moves.BODY_SLAM, Moves.COMBAT_TORQUE ],
[Species.EMOLGA]: [ Moves.ROOST, Moves.HEAT_WAVE, Moves.TAILWIND, Moves.ZING_ZAP ],
- [Species.KARRABLAST]: [ Moves.TRICK_ROOM, Moves.SHORE_UP, Moves.MIGHTY_CLEAVE, Moves.BITTER_BLADE ],
+ [Species.KARRABLAST]: [ Moves.LEECH_LIFE, Moves.HEAL_ORDER, Moves.HIGH_HORSEPOWER, Moves.DOUBLE_IRON_BASH ],
[Species.FOONGUS]: [ Moves.POLLEN_PUFF, Moves.PARTING_SHOT, Moves.FOUL_PLAY, Moves.SAPPY_SEED ],
[Species.FRILLISH]: [ Moves.STRENGTH_SAP, Moves.INFERNAL_PARADE, Moves.FREEZE_DRY, Moves.STEAM_ERUPTION ],
[Species.ALOMOMOLA]: [ Moves.FLIP_TURN, Moves.HEART_SWAP, Moves.TOXIC, Moves.GLITZY_GLOW ],
@@ -306,11 +306,11 @@ export const speciesEggMoves = {
[Species.TYNAMO]: [ Moves.SCALD, Moves.STRENGTH_SAP, Moves.FIRE_LASH, Moves.PLASMA_FISTS ],
[Species.ELGYEM]: [ Moves.MYSTICAL_POWER, Moves.TRICK_ROOM, Moves.STORED_POWER, Moves.ASTRAL_BARRAGE ],
[Species.LITWICK]: [ Moves.FIERY_DANCE, Moves.EARTH_POWER, Moves.MOONBLAST, Moves.ASTRAL_BARRAGE ],
- [Species.AXEW]: [ Moves.STONE_AXE, Moves.DIRE_CLAW, Moves.FIRE_LASH, Moves.GLAIVE_RUSH ],
+ [Species.AXEW]: [ Moves.GLAIVE_RUSH, Moves.DIRE_CLAW, Moves.FIRE_LASH, Moves.VICTORY_DANCE ],
[Species.CUBCHOO]: [ Moves.TRIPLE_AXEL, Moves.LIQUIDATION, Moves.SWORDS_DANCE, Moves.COLLISION_COURSE ],
- [Species.CRYOGONAL]: [ Moves.SURF, Moves.FREEZY_FROST, Moves.NASTY_PLOT, Moves.AURORA_VEIL ],
- [Species.SHELMET]: [ Moves.SHED_TAIL, Moves.NASTY_PLOT, Moves.BATON_PASS, Moves.HEAT_WAVE ],
- [Species.STUNFISK]: [ Moves.SHORE_UP, Moves.BANEFUL_BUNKER, Moves.THUNDER_CAGE, Moves.THUNDERCLAP ],
+ [Species.CRYOGONAL]: [ Moves.SURF, Moves.AURORA_VEIL, Moves.NASTY_PLOT, Moves.FREEZY_FROST ],
+ [Species.SHELMET]: [ Moves.POWER_GEM, Moves.NASTY_PLOT, Moves.EARTH_POWER, Moves.STEAM_ERUPTION ],
+ [Species.STUNFISK]: [ Moves.SPIKY_SHIELD, Moves.EARTHQUAKE, Moves.STRENGTH_SAP, Moves.THUNDERCLAP ],
[Species.MIENFOO]: [ Moves.GUNK_SHOT, Moves.SUPERCELL_SLAM, Moves.KNOCK_OFF, Moves.MOUNTAIN_GALE ],
[Species.DRUDDIGON]: [ Moves.FIRE_LASH, Moves.ROOST, Moves.DRAGON_DARTS, Moves.CLANGOROUS_SOUL ],
[Species.GOLETT]: [ Moves.SHIFT_GEAR, Moves.DRAIN_PUNCH, Moves.HEADLONG_RUSH, Moves.RAGE_FIST ],
@@ -318,7 +318,7 @@ export const speciesEggMoves = {
[Species.BOUFFALANT]: [ Moves.SLACK_OFF, Moves.JUMP_KICK, Moves.HEAD_SMASH, Moves.FLARE_BLITZ ],
[Species.RUFFLET]: [ Moves.FLOATY_FALL, Moves.MOONBLAST, Moves.HEAT_WAVE, Moves.BOLT_BEAK ],
[Species.VULLABY]: [ Moves.TOXIC, Moves.BODY_PRESS, Moves.ROOST, Moves.TOPSY_TURVY ],
- [Species.HEATMOR]: [ Moves.EARTH_POWER, Moves.OVERHEAT, Moves.FLASH_CANNON, Moves.V_CREATE ],
+ [Species.HEATMOR]: [ Moves.EARTH_POWER, Moves.OVERHEAT, Moves.THUNDERBOLT, Moves.V_CREATE ],
[Species.DURANT]: [ Moves.HIGH_HORSEPOWER, Moves.FIRST_IMPRESSION, Moves.SWORDS_DANCE, Moves.BEHEMOTH_BASH ],
[Species.DEINO]: [ Moves.FIERY_WRATH, Moves.ESPER_WING, Moves.SLUDGE_WAVE, Moves.FICKLE_BEAM ],
[Species.LARVESTA]: [ Moves.THUNDERBOLT, Moves.MATCHA_GOTCHA, Moves.EARTH_POWER, Moves.TORCH_SONG ],
@@ -332,86 +332,86 @@ export const speciesEggMoves = {
[Species.LANDORUS]: [ Moves.STONE_AXE, Moves.THOUSAND_ARROWS, Moves.ROOST, Moves.FLOATY_FALL ],
[Species.KYUREM]: [ Moves.DRAGON_DARTS, Moves.DRAGON_ENERGY, Moves.NO_RETREAT, Moves.GLACIAL_LANCE ],
[Species.KELDEO]: [ Moves.BOUNCY_BUBBLE, Moves.THUNDERBOLT, Moves.FREEZE_DRY, Moves.STEAM_ERUPTION ],
- [Species.MELOETTA]: [ Moves.TORCH_SONG, Moves.QUIVER_DANCE, Moves.THUNDEROUS_KICK, Moves.BOOMBURST ],
- [Species.GENESECT]: [ Moves.EXTREME_SPEED, Moves.U_TURN, Moves.SHIFT_GEAR, Moves.TAIL_GLOW ],
+ [Species.MELOETTA]: [ Moves.TORCH_SONG, Moves.QUIVER_DANCE, Moves.TRIPLE_ARROWS, Moves.BOOMBURST ],
+ [Species.GENESECT]: [ Moves.EXTREME_SPEED, Moves.U_TURN, Moves.TACHYON_CUTTER, Moves.TAIL_GLOW ],
[Species.CHESPIN]: [ Moves.DRAIN_PUNCH, Moves.SYNTHESIS, Moves.CEASELESS_EDGE, Moves.SAPPY_SEED ],
[Species.FENNEKIN]: [ Moves.EXPANDING_FORCE, Moves.MOONBLAST, Moves.THUNDERBOLT, Moves.TORCH_SONG ],
- [Species.FROAKIE]: [ Moves.MOONBLAST, Moves.EARTH_POWER, Moves.TRIPLE_AXEL, Moves.SURGING_STRIKES ],
+ [Species.FROAKIE]: [ Moves.MOONBLAST, Moves.SHELL_SIDE_ARM, Moves.FIERY_WRATH, Moves.WATER_SPOUT ],
[Species.BUNNELBY]: [ Moves.DRAIN_PUNCH, Moves.TIDY_UP, Moves.FACADE, Moves.EXTREME_SPEED ],
- [Species.FLETCHLING]: [ Moves.DRILL_RUN, Moves.U_TURN, Moves.SUPERCELL_SLAM, Moves.TIDY_UP ],
+ [Species.FLETCHLING]: [ Moves.DRILL_RUN, Moves.U_TURN, Moves.HEAD_SMASH, Moves.VOLT_TACKLE ],
[Species.SCATTERBUG]: [ Moves.MOONBLAST, Moves.POLLEN_PUFF, Moves.TAILWIND, Moves.HEAT_WAVE ],
[Species.LITLEO]: [ Moves.EARTH_POWER, Moves.NASTY_PLOT, Moves.YAWN, Moves.TORCH_SONG ],
- [Species.FLABEBE]: [ Moves.GLITZY_GLOW, Moves.MYSTICAL_FIRE, Moves.FLORAL_HEALING, Moves.TAKE_HEART ],
+ [Species.FLABEBE]: [ Moves.GLITZY_GLOW, Moves.MYSTICAL_FIRE, Moves.JUNGLE_HEALING, Moves.QUIVER_DANCE ],
[Species.SKIDDO]: [ Moves.HIGH_HORSEPOWER, Moves.GRASSY_GLIDE, Moves.STONE_AXE, Moves.SAPPY_SEED ],
[Species.PANCHAM]: [ Moves.DRAIN_PUNCH, Moves.FAKE_OUT, Moves.BULLET_PUNCH, Moves.WICKED_BLOW ],
- [Species.FURFROU]: [ Moves.TIDY_UP, Moves.CRUNCH, Moves.COVET, Moves.MULTI_ATTACK ],
- [Species.ESPURR]: [ Moves.GLARE, Moves.MOONBLAST, Moves.FLAMETHROWER, Moves.PSYSTRIKE ],
+ [Species.FURFROU]: [ Moves.TIDY_UP, Moves.SLACK_OFF, Moves.COVET, Moves.MULTI_ATTACK ],
+ [Species.ESPURR]: [ Moves.GLARE, Moves.MOONBLAST, Moves.AURA_SPHERE, Moves.PSYSTRIKE ],
[Species.HONEDGE]: [ Moves.TACHYON_CUTTER, Moves.POLTERGEIST, Moves.BITTER_BLADE, Moves.BEHEMOTH_BLADE ],
[Species.SPRITZEE]: [ Moves.TRICK_ROOM, Moves.FOUL_PLAY, Moves.WISH, Moves.REVIVAL_BLESSING ],
- [Species.SWIRLIX]: [ Moves.BELLY_DRUM, Moves.SUCKER_PUNCH, Moves.SPIRIT_BREAK, Moves.SIZZLY_SLIDE ],
- [Species.INKAY]: [ Moves.POWER_TRIP, Moves.STORED_POWER, Moves.RECOVER, Moves.PSYCHO_BOOST ],
+ [Species.SWIRLIX]: [ Moves.BELLY_DRUM, Moves.SUCKER_PUNCH, Moves.MAGICAL_TORQUE, Moves.REVIVAL_BLESSING ],
+ [Species.INKAY]: [ Moves.POWER_TRIP, Moves.SPIN_OUT, Moves.RECOVER, Moves.PSYCHO_BOOST ],
[Species.BINACLE]: [ Moves.TRIPLE_AXEL, Moves.ACCELEROCK, Moves.DIRE_CLAW, Moves.MIGHTY_CLEAVE ],
[Species.SKRELP]: [ Moves.RECOVER, Moves.CORE_ENFORCER, Moves.CALM_MIND, Moves.MALIGNANT_CHAIN ],
[Species.CLAUNCHER]: [ Moves.SHELL_SMASH, Moves.ARMOR_CANNON, Moves.WATER_SHURIKEN, Moves.ORIGIN_PULSE ],
- [Species.HELIOPTILE]: [ Moves.WEATHER_BALL, Moves.BOOMBURST, Moves.EARTH_POWER, Moves.TAIL_GLOW ],
+ [Species.HELIOPTILE]: [ Moves.WEATHER_BALL, Moves.HYDRO_STEAM, Moves.EARTH_POWER, Moves.BOOMBURST ],
[Species.TYRUNT]: [ Moves.DRAGON_HAMMER, Moves.FLARE_BLITZ, Moves.VOLT_TACKLE, Moves.AXE_KICK ],
[Species.AMAURA]: [ Moves.RECOVER, Moves.AURORA_VEIL, Moves.POWER_GEM, Moves.GEOMANCY ],
- [Species.HAWLUCHA]: [ Moves.DARKEST_LARIAT, Moves.HIGH_HORSEPOWER, Moves.SUPERCELL_SLAM, Moves.BRAVE_BIRD ],
- [Species.DEDENNE]: [ Moves.SIZZLY_SLIDE, Moves.STUFF_CHEEKS, Moves.CALM_MIND, Moves.SPARKLY_SWIRL ],
+ [Species.HAWLUCHA]: [ Moves.TRIPLE_AXEL, Moves.HIGH_HORSEPOWER, Moves.FLOATY_FALL, Moves.WICKED_BLOW ],
+ [Species.DEDENNE]: [ Moves.BOOMBURST, Moves.FAKE_OUT, Moves.NASTY_PLOT, Moves.REVIVAL_BLESSING ],
[Species.CARBINK]: [ Moves.BODY_PRESS, Moves.SHORE_UP, Moves.SPARKLY_SWIRL, Moves.DIAMOND_STORM ],
[Species.GOOMY]: [ Moves.SCALD, Moves.RECOVER, Moves.CALM_MIND, Moves.MAKE_IT_RAIN ],
- [Species.KLEFKI]: [ Moves.COURT_CHANGE, Moves.ENCORE, Moves.TAUNT, Moves.TOPSY_TURVY ],
+ [Species.KLEFKI]: [ Moves.HEAL_BLOCK, Moves.ENCORE, Moves.TOPSY_TURVY, Moves.INSTRUCT ],
[Species.PHANTUMP]: [ Moves.SPIRIT_SHACKLE, Moves.TRICK_ROOM, Moves.SYNTHESIS, Moves.SAPPY_SEED ],
[Species.PUMPKABOO]: [ Moves.SPIRIT_SHACKLE, Moves.FIRE_LASH, Moves.DIRE_CLAW, Moves.SAPPY_SEED ],
[Species.BERGMITE]: [ Moves.STONE_AXE, Moves.METAL_BURST, Moves.BODY_PRESS, Moves.GLACIAL_LANCE ],
[Species.NOIBAT]: [ Moves.AEROBLAST, Moves.OVERDRIVE, Moves.NASTY_PLOT, Moves.CLANGING_SCALES ],
- [Species.XERNEAS]: [ Moves.LIGHT_OF_RUIN, Moves.LUMINA_CRASH, Moves.STRENGTH_SAP, Moves.REVIVAL_BLESSING ],
+ [Species.XERNEAS]: [ Moves.SEARING_SHOT, Moves.LUMINA_CRASH, 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.VICTORY_DANCE, Moves.DOUBLE_IRON_BASH ],
[Species.DIANCIE]: [ Moves.MAGICAL_TORQUE, Moves.BODY_PRESS, Moves.SHORE_UP, Moves.GEOMANCY ],
- [Species.HOOPA]: [ Moves.PHOTON_GEYSER, Moves.SECRET_SWORD, Moves.TIDY_UP, Moves.WICKED_BLOW ],
- [Species.VOLCANION]: [ Moves.HYDRO_STEAM, Moves.CALM_MIND, Moves.ENERGY_BALL, Moves.SEARING_SHOT ],
- [Species.ROWLET]: [ Moves.SNIPE_SHOT, Moves.POLTERGEIST, Moves.FIRST_IMPRESSION, Moves.VICTORY_DANCE ],
+ [Species.HOOPA]: [ Moves.PHOTON_GEYSER, Moves.SECRET_SWORD, Moves.FIERY_WRATH, Moves.SHELL_SMASH ],
+ [Species.VOLCANION]: [ Moves.HYDRO_STEAM, Moves.CALM_MIND, Moves.ENERGY_BALL, Moves.MAGMA_STORM ],
+ [Species.ROWLET]: [ Moves.THOUSAND_ARROWS, Moves.POLTERGEIST, Moves.FIRST_IMPRESSION, Moves.VICTORY_DANCE ],
[Species.LITTEN]: [ Moves.FAKE_OUT, Moves.PARTING_SHOT, Moves.MORNING_SUN, Moves.SACRED_FIRE ],
[Species.POPPLIO]: [ Moves.PSYCHIC_NOISE, Moves.BOUNCY_BUBBLE, Moves.ALLURING_VOICE, Moves.TORCH_SONG ],
- [Species.PIKIPEK]: [ Moves.FLOATY_FALL, Moves.BONE_RUSH, Moves.BURNING_BULWARK, Moves.TIDY_UP ],
- [Species.YUNGOOS]: [ Moves.EXTREME_SPEED, Moves.KNOCK_OFF, Moves.TIDY_UP, Moves.HEAD_CHARGE ],
+ [Species.PIKIPEK]: [ Moves.DUAL_WINGBEAT, Moves.BONE_RUSH, Moves.BURNING_BULWARK, Moves.POPULATION_BOMB ],
+ [Species.YUNGOOS]: [ Moves.EXTREME_SPEED, Moves.KNOCK_OFF, Moves.TIDY_UP, Moves.MULTI_ATTACK ],
[Species.GRUBBIN]: [ Moves.ICE_BEAM, Moves.EARTH_POWER, Moves.THUNDERCLAP, Moves.QUIVER_DANCE ],
- [Species.CRABRAWLER]: [ Moves.CURSE, Moves.SHORE_UP, Moves.SUCKER_PUNCH, Moves.SURGING_STRIKES ],
+ [Species.CRABRAWLER]: [ Moves.JET_PUNCH, Moves.SHORE_UP, Moves.SUCKER_PUNCH, Moves.SURGING_STRIKES ],
[Species.ORICORIO]: [ Moves.QUIVER_DANCE, Moves.FIERY_DANCE, Moves.THUNDERCLAP, Moves.OBLIVION_WING ],
[Species.CUTIEFLY]: [ Moves.STICKY_WEB, Moves.MOONBLAST, Moves.HEAT_WAVE, Moves.SPORE ],
- [Species.ROCKRUFF]: [ Moves.DRILL_RUN, Moves.TIDY_UP, Moves.ICE_SPINNER, Moves.MIGHTY_CLEAVE ],
- [Species.WISHIWASHI]: [ Moves.LIQUIDATION, Moves.ICE_SPINNER, Moves.DRAGON_DANCE, Moves.HEAL_ORDER ],
- [Species.MAREANIE]: [ Moves.SPIKES, Moves.SIZZLY_SLIDE, Moves.MORTAL_SPIN, Moves.LEECH_SEED ],
+ [Species.ROCKRUFF]: [ Moves.HIGH_HORSEPOWER, Moves.TIDY_UP, Moves.ICE_SPINNER, Moves.MIGHTY_CLEAVE ],
+ [Species.WISHIWASHI]: [ Moves.HEAL_ORDER, Moves.ICE_SPINNER, Moves.DRAGON_DANCE, Moves.JET_PUNCH ],
+ [Species.MAREANIE]: [ Moves.CEASELESS_EDGE, Moves.SIZZLY_SLIDE, Moves.BODY_PRESS, Moves.LEECH_SEED ],
[Species.MUDBRAY]: [ Moves.BODY_PRESS, Moves.YAWN, Moves.SHORE_UP, Moves.THOUSAND_WAVES ],
- [Species.DEWPIDER]: [ Moves.AQUA_JET, Moves.SILK_TRAP, Moves.SWORDS_DANCE, Moves.AQUA_STEP ],
+ [Species.DEWPIDER]: [ Moves.JET_PUNCH, Moves.SILK_TRAP, Moves.SWORDS_DANCE, Moves.AQUA_STEP ],
[Species.FOMANTIS]: [ Moves.SUPERPOWER, Moves.HEADLONG_RUSH, Moves.ICE_HAMMER, Moves.BITTER_BLADE ],
- [Species.MORELULL]: [ Moves.CALM_MIND, Moves.SAPPY_SEED, Moves.SPARKLY_SWIRL, Moves.MATCHA_GOTCHA ],
- [Species.SALANDIT]: [ Moves.FAKE_OUT, Moves.FIERY_DANCE, Moves.SCALD, Moves.MALIGNANT_CHAIN ],
+ [Species.MORELULL]: [ Moves.CALM_MIND, Moves.SAPPY_SEED, Moves.DRAINING_KISS, Moves.MATCHA_GOTCHA ],
+ [Species.SALANDIT]: [ Moves.FAKE_OUT, Moves.SLUDGE_WAVE, Moves.CORE_ENFORCER, Moves.ERUPTION ],
[Species.STUFFUL]: [ Moves.DRAIN_PUNCH, Moves.METEOR_MASH, Moves.ICE_HAMMER, Moves.RAGE_FIST ],
[Species.BOUNSWEET]: [ Moves.TRIPLE_AXEL, Moves.AQUA_STEP, Moves.THUNDEROUS_KICK, Moves.SAPPY_SEED ],
- [Species.COMFEY]: [ Moves.BUZZY_BUZZ, Moves.POLLEN_PUFF, Moves.STRENGTH_SAP, Moves.MATCHA_GOTCHA ],
- [Species.ORANGURU]: [ Moves.FOUL_PLAY, Moves.YAWN, Moves.FOLLOW_ME, Moves.LUNAR_BLESSING ],
+ [Species.COMFEY]: [ Moves.REVIVAL_BLESSING, Moves.POLLEN_PUFF, Moves.STRENGTH_SAP, Moves.MATCHA_GOTCHA ],
+ [Species.ORANGURU]: [ Moves.JUNGLE_HEALING, Moves.YAWN, Moves.FOLLOW_ME, Moves.LUMINA_CRASH ],
[Species.PASSIMIAN]: [ Moves.FAKE_OUT, Moves.SUCKER_PUNCH, Moves.SWORDS_DANCE, Moves.PYRO_BALL ],
- [Species.WIMPOD]: [ Moves.ICE_SPINNER, Moves.OBSTRUCT, Moves.KNOCK_OFF, Moves.SURGING_STRIKES ],
+ [Species.WIMPOD]: [ Moves.TRIPLE_AXEL, Moves.OBSTRUCT, Moves.JET_PUNCH, Moves.SURGING_STRIKES ],
[Species.SANDYGAST]: [ Moves.SCORCHING_SANDS, Moves.SPLISHY_SPLASH, Moves.CURSE, Moves.SALT_CURE ],
[Species.PYUKUMUKU]: [ Moves.COMEUPPANCE, Moves.BANEFUL_BUNKER, Moves.TOXIC_SPIKES, Moves.SALT_CURE ],
[Species.TYPE_NULL]: [ Moves.DIRE_CLAW, Moves.RECOVER, Moves.EXTREME_SPEED, Moves.NO_RETREAT ],
[Species.MINIOR]: [ Moves.EARTH_POWER, Moves.FLOATY_FALL, Moves.ZING_ZAP, Moves.DIAMOND_STORM ],
- [Species.KOMALA]: [ Moves.SLACK_OFF, Moves.EXTREME_SPEED, Moves.KNOCK_OFF, Moves.CLOSE_COMBAT ],
- [Species.TURTONATOR]: [ Moves.BURNING_BULWARK, Moves.ARMOR_CANNON, Moves.EARTH_POWER, Moves.CLANGING_SCALES ],
+ [Species.KOMALA]: [ Moves.SLACK_OFF, Moves.EXTREME_SPEED, Moves.KNOCK_OFF, Moves.COLLISION_COURSE ],
+ [Species.TURTONATOR]: [ Moves.BURNING_BULWARK, Moves.MORNING_SUN, Moves.BODY_PRESS, Moves.CORE_ENFORCER ],
[Species.TOGEDEMARU]: [ Moves.FAKE_OUT, Moves.METAL_BURST, Moves.METEOR_MASH, Moves.BOLT_STRIKE ],
- [Species.MIMIKYU]: [ Moves.SPIRIT_BREAK, Moves.TIDY_UP, Moves.SIZZLY_SLIDE, Moves.SPECTRAL_THIEF ],
+ [Species.MIMIKYU]: [ Moves.MAGICAL_TORQUE, Moves.TIDY_UP, Moves.SIZZLY_SLIDE, Moves.SPECTRAL_THIEF ],
[Species.BRUXISH]: [ Moves.ICE_FANG, Moves.FIRE_FANG, Moves.FLIP_TURN, Moves.FILLET_AWAY ],
- [Species.DRAMPA]: [ Moves.SLACK_OFF, Moves.FLAMETHROWER, Moves.CLANGING_SCALES, Moves.CLANGOROUS_SOUL ],
- [Species.DHELMISE]: [ Moves.POLTERGEIST, Moves.STRENGTH_SAP, Moves.LEAF_BLADE, Moves.DOUBLE_IRON_BASH ],
- [Species.JANGMO_O]: [ Moves.ICE_BEAM, Moves.DRAIN_PUNCH, Moves.SECRET_SWORD, Moves.GLAIVE_RUSH ],
- [Species.TAPU_KOKO]: [ Moves.PLAY_ROUGH, Moves.MOUNTAIN_GALE, Moves.RISING_VOLTAGE, Moves.BOLT_BEAK ],
+ [Species.DRAMPA]: [ Moves.SLACK_OFF, Moves.FLAMETHROWER, Moves.CORE_ENFORCER, Moves.CLANGOROUS_SOUL ],
+ [Species.DHELMISE]: [ Moves.POLTERGEIST, Moves.STRENGTH_SAP, Moves.LIQUIDATION, Moves.SAPPY_SEED ],
+ [Species.JANGMO_O]: [ Moves.OVERDRIVE, Moves.SHELL_SIDE_ARM, Moves.SECRET_SWORD, Moves.GLAIVE_RUSH ],
+ [Species.TAPU_KOKO]: [ Moves.MAGICAL_TORQUE, Moves.TRIPLE_AXEL, Moves.RISING_VOLTAGE, Moves.PLASMA_FISTS ],
[Species.TAPU_LELE]: [ Moves.MOONLIGHT, Moves.NASTY_PLOT, Moves.HEAT_WAVE, Moves.EXPANDING_FORCE ],
- [Species.TAPU_BULU]: [ Moves.GRASSY_GLIDE, Moves.CLOSE_COMBAT, Moves.PLAY_ROUGH, Moves.VICTORY_DANCE ],
+ [Species.TAPU_BULU]: [ Moves.SAPPY_SEED, Moves.DRAIN_PUNCH, Moves.MAGICAL_TORQUE, Moves.VICTORY_DANCE ],
[Species.TAPU_FINI]: [ Moves.AURA_SPHERE, Moves.EARTH_POWER, Moves.RECOVER, Moves.QUIVER_DANCE ],
[Species.COSMOG]: [ Moves.VICTORY_DANCE, Moves.QUIVER_DANCE, Moves.SACRED_FIRE, Moves.PHOTON_GEYSER ],
- [Species.NIHILEGO]: [ Moves.RECOVER, Moves.QUIVER_DANCE, Moves.ENERGY_BALL, Moves.MALIGNANT_CHAIN ],
+ [Species.NIHILEGO]: [ Moves.STRENGTH_SAP, Moves.QUIVER_DANCE, Moves.ENERGY_BALL, Moves.MALIGNANT_CHAIN ],
[Species.BUZZWOLE]: [ Moves.LEECH_LIFE, Moves.BULLET_PUNCH, Moves.DARKEST_LARIAT, Moves.COLLISION_COURSE ],
[Species.PHEROMOSA]: [ Moves.AURA_SPHERE, Moves.MAKE_IT_RAIN, Moves.ATTACK_ORDER, Moves.COLLISION_COURSE ],
[Species.XURKITREE]: [ Moves.OVERHEAT, Moves.GIGA_DRAIN, Moves.TAIL_GLOW, Moves.THUNDERCLAP ],
@@ -423,30 +423,30 @@ export const speciesEggMoves = {
[Species.MARSHADOW]: [ Moves.POWER_UP_PUNCH, Moves.TRIPLE_AXEL, Moves.STORM_THROW, Moves.DOUBLE_IRON_BASH ],
[Species.POIPOLE]: [ Moves.SLUDGE_BOMB, Moves.BUG_BUZZ, Moves.SEARING_SHOT, Moves.DRAGON_ENERGY ],
[Species.STAKATAKA]: [ Moves.HEAVY_SLAM, Moves.SHORE_UP, Moves.CURSE, Moves.SALT_CURE ],
- [Species.BLACEPHALON]: [ Moves.NASTY_PLOT, Moves.SEARING_SHOT, Moves.GIGA_DRAIN, Moves.ASTRAL_BARRAGE ],
+ [Species.BLACEPHALON]: [ Moves.NASTY_PLOT, Moves.AURA_SPHERE, Moves.CHLOROBLAST, Moves.ASTRAL_BARRAGE ],
[Species.ZERAORA]: [ Moves.SWORDS_DANCE, Moves.TRIPLE_AXEL, Moves.BOLT_STRIKE, Moves.PYRO_BALL ],
[Species.MELTAN]: [ Moves.BULLET_PUNCH, Moves.DRAIN_PUNCH, Moves.BULK_UP, Moves.PLASMA_FISTS ],
[Species.GROOKEY]: [ Moves.HIGH_HORSEPOWER, Moves.CLANGOROUS_SOUL, Moves.GRASSY_GLIDE, Moves.SAPPY_SEED ],
[Species.SCORBUNNY]: [ Moves.EXTREME_SPEED, Moves.HIGH_JUMP_KICK, Moves.TRIPLE_AXEL, Moves.BOLT_STRIKE ],
- [Species.SOBBLE]: [ Moves.ESPER_WING, Moves.FROST_BREATH, Moves.SEARING_SHOT, Moves.STEAM_ERUPTION ],
- [Species.SKWOVET]: [ Moves.KNOCK_OFF, Moves.GRAV_APPLE, Moves.BODY_PRESS, Moves.SLACK_OFF ],
+ [Species.SOBBLE]: [ Moves.AEROBLAST, Moves.FROST_BREATH, Moves.SEARING_SHOT, Moves.STEAM_ERUPTION ],
+ [Species.SKWOVET]: [ Moves.KNOCK_OFF, Moves.SLACK_OFF, Moves.BODY_PRESS, Moves.POPULATION_BOMB ],
[Species.ROOKIDEE]: [ Moves.ROOST, Moves.BODY_PRESS, Moves.IRON_HEAD, Moves.KINGS_SHIELD ],
[Species.BLIPBUG]: [ Moves.HEAL_ORDER, Moves.EXPANDING_FORCE, Moves.SPORE, Moves.TAIL_GLOW ],
[Species.NICKIT]: [ Moves.BADDY_BAD, Moves.BURNING_JEALOUSY, Moves.SPARKLY_SWIRL, Moves.FIERY_WRATH ],
[Species.GOSSIFLEUR]: [ Moves.TAILWIND, Moves.STRENGTH_SAP, Moves.PARTING_SHOT, Moves.SEED_FLARE ],
- [Species.WOOLOO]: [ Moves.PSYSHIELD_BASH, Moves.HEAD_CHARGE, Moves.BODY_PRESS, Moves.MILK_DRINK ],
- [Species.CHEWTLE]: [ Moves.FIRE_FANG, Moves.ACCELEROCK, Moves.SHELL_SMASH, Moves.WAVE_CRASH ],
- [Species.YAMPER]: [ Moves.ICE_FANG, Moves.TIDY_UP, Moves.THUNDERCLAP, Moves.ZING_ZAP ],
- [Species.ROLYCOLY]: [ Moves.BURNING_BULWARK, Moves.ZING_ZAP, Moves.WORK_UP, Moves.DIAMOND_STORM ],
+ [Species.WOOLOO]: [ Moves.PSYSHIELD_BASH, Moves.MILK_DRINK, Moves.BODY_PRESS, Moves.MULTI_ATTACK ],
+ [Species.CHEWTLE]: [ Moves.FIRE_FANG, Moves.ACCELEROCK, Moves.SHELL_SMASH, Moves.FISHIOUS_REND ],
+ [Species.YAMPER]: [ Moves.ICE_FANG, Moves.SWORDS_DANCE, Moves.THUNDER_FANG, Moves.ZIPPY_ZAP ],
+ [Species.ROLYCOLY]: [ Moves.BITTER_BLADE, Moves.BODY_PRESS, Moves.BULK_UP, Moves.DIAMOND_STORM ],
[Species.APPLIN]: [ Moves.DRAGON_CHEER, Moves.DRAGON_HAMMER, Moves.FLOWER_TRICK, Moves.STRENGTH_SAP ],
[Species.SILICOBRA]: [ Moves.SHORE_UP, Moves.SHED_TAIL, Moves.STONE_EDGE, Moves.PRECIPICE_BLADES ],
[Species.CRAMORANT]: [ Moves.APPLE_ACID, Moves.SURF, Moves.SCORCHING_SANDS, Moves.OBLIVION_WING ],
- [Species.ARROKUDA]: [ Moves.THUNDER_FANG, Moves.KNOCK_OFF, Moves.ICE_FANG, Moves.FILLET_AWAY ],
- [Species.TOXEL]: [ Moves.NASTY_PLOT, Moves.BANEFUL_BUNKER, Moves.SPARKLING_ARIA, Moves.TORCH_SONG ],
+ [Species.ARROKUDA]: [ Moves.SUPERCELL_SLAM, Moves.KNOCK_OFF, Moves.ICE_SPINNER, Moves.FILLET_AWAY ],
+ [Species.TOXEL]: [ Moves.NASTY_PLOT, Moves.BUG_BUZZ, Moves.SPARKLING_ARIA, Moves.TORCH_SONG ],
[Species.SIZZLIPEDE]: [ Moves.BURNING_BULWARK, Moves.ZING_ZAP, Moves.FIRST_IMPRESSION, Moves.VICTORY_DANCE ],
- [Species.CLOBBOPUS]: [ Moves.DRAIN_PUNCH, Moves.NO_RETREAT, Moves.MACH_PUNCH, Moves.SURGING_STRIKES ],
+ [Species.CLOBBOPUS]: [ Moves.STORM_THROW, Moves.JET_PUNCH, Moves.MACH_PUNCH, Moves.SURGING_STRIKES ],
[Species.SINISTEA]: [ Moves.SCALD, Moves.TAKE_HEART, Moves.SPARKLY_SWIRL, Moves.MATCHA_GOTCHA ],
- [Species.HATENNA]: [ Moves.TAKE_HEART, Moves.MOONBLAST, Moves.BUZZY_BUZZ, Moves.SEARING_SHOT ],
+ [Species.HATENNA]: [ Moves.RECOVER, Moves.MOONBLAST, Moves.BUZZY_BUZZ, Moves.SEARING_SHOT ],
[Species.IMPIDIMP]: [ Moves.ENCORE, Moves.PARTING_SHOT, Moves.TOPSY_TURVY, Moves.WICKED_BLOW ],
[Species.MILCERY]: [ Moves.MOONBLAST, Moves.SYRUP_BOMB, Moves.EARTH_POWER, Moves.SEARING_SHOT ],
[Species.FALINKS]: [ Moves.COMBAT_TORQUE, Moves.PSYSHIELD_BASH, Moves.HEAL_ORDER, Moves.POPULATION_BOMB ],
@@ -455,16 +455,17 @@ export const speciesEggMoves = {
[Species.STONJOURNER]: [ Moves.BODY_PRESS, Moves.HELPING_HAND, Moves.ACCELEROCK, Moves.DIAMOND_STORM ],
[Species.EISCUE]: [ Moves.TRIPLE_AXEL, Moves.AQUA_STEP, Moves.SHELL_SMASH, Moves.GLACIAL_LANCE ],
[Species.INDEEDEE]: [ Moves.MATCHA_GOTCHA, Moves.EXPANDING_FORCE, Moves.MOONBLAST, Moves.REVIVAL_BLESSING ],
- [Species.MORPEKO]: [ Moves.TRIPLE_AXEL, Moves.OBSTRUCT, Moves.PARTING_SHOT, Moves.SWORDS_DANCE ],
+ [Species.MORPEKO]: [ Moves.TRIPLE_AXEL, Moves.OBSTRUCT, Moves.SWORDS_DANCE, Moves.COLLISION_COURSE ],
[Species.CUFANT]: [ Moves.LIQUIDATION, Moves.CURSE, Moves.COMBAT_TORQUE, Moves.GIGATON_HAMMER ],
[Species.DRACOZOLT]: [ Moves.TRIPLE_AXEL, Moves.DRAGON_HAMMER, Moves.FIRE_LASH, Moves.DRAGON_DANCE ],
[Species.ARCTOZOLT]: [ Moves.TRIPLE_AXEL, Moves.LIQUIDATION, Moves.HIGH_HORSEPOWER, Moves.SHIFT_GEAR ],
[Species.DRACOVISH]: [ Moves.TRIPLE_AXEL, Moves.DRAGON_HAMMER, Moves.THUNDER_FANG, Moves.DRAGON_DANCE ],
[Species.ARCTOVISH]: [ Moves.TRIPLE_AXEL, Moves.SUPERCELL_SLAM, Moves.HIGH_HORSEPOWER, Moves.SHIFT_GEAR ],
[Species.DURALUDON]: [ Moves.ICE_BEAM, Moves.BODY_PRESS, Moves.RECOVER, Moves.CORE_ENFORCER ],
- [Species.DREEPY]: [ Moves.DRAGON_ENERGY, Moves.SPIRIT_BREAK, Moves.BLAZING_TORQUE, Moves.SPECTRAL_THIEF ],
- [Species.ZACIAN]: [ Moves.MAGICAL_TORQUE, Moves.BITTER_BLADE, Moves.LEAF_BLADE, Moves.VICTORY_DANCE ],
+ [Species.DREEPY]: [ Moves.DRAGON_ENERGY, Moves.POWER_UP_PUNCH, Moves.BLAZING_TORQUE, Moves.SPECTRAL_THIEF ],
+ [Species.ZACIAN]: [ Moves.MAGICAL_TORQUE, Moves.MIGHTY_CLEAVE, Moves.CEASELESS_EDGE, Moves.BITTER_BLADE ],
[Species.ZAMAZENTA]: [ Moves.PSYSHIELD_BASH, Moves.BODY_PRESS, Moves.SLACK_OFF, Moves.VICTORY_DANCE ],
+ [Species.ETERNATUS]: [ Moves.BODY_PRESS, Moves.DRAGON_ENERGY, Moves.MALIGNANT_CHAIN, Moves.TAIL_GLOW ],
[Species.KUBFU]: [ Moves.METEOR_MASH, Moves.DRAIN_PUNCH, Moves.JET_PUNCH, Moves.DRAGON_DANCE ],
[Species.ZARUDE]: [ Moves.SAPPY_SEED, Moves.PARTING_SHOT, Moves.WICKED_BLOW, Moves.VICTORY_DANCE ],
[Species.REGIELEKI]: [ Moves.NASTY_PLOT, Moves.ICE_BEAM, Moves.EARTH_POWER, Moves.ELECTRO_DRIFT ],
@@ -478,7 +479,7 @@ export const speciesEggMoves = {
[Species.QUAXLY]: [ Moves.DRAGON_DANCE, Moves.TRIPLE_AXEL, Moves.TROP_KICK, Moves.THUNDEROUS_KICK ],
[Species.LECHONK]: [ Moves.MILK_DRINK, Moves.BLAZING_TORQUE, Moves.FILLET_AWAY, Moves.MULTI_ATTACK ],
[Species.TAROUNTULA]: [ Moves.STONE_AXE, Moves.LEECH_LIFE, Moves.THIEF, Moves.SPORE ],
- [Species.NYMBLE]: [ Moves.CEASELESS_EDGE, Moves.FELL_STINGER, Moves.ATTACK_ORDER, Moves.WICKED_BLOW ],
+ [Species.NYMBLE]: [ Moves.KNOCK_OFF, Moves.FELL_STINGER, Moves.ATTACK_ORDER, Moves.WICKED_BLOW ],
[Species.PAWMI]: [ Moves.DRAIN_PUNCH, Moves.ICE_PUNCH, Moves.MACH_PUNCH, Moves.PLASMA_FISTS ],
[Species.TANDEMAUS]: [ Moves.BATON_PASS, Moves.THIEF, Moves.SIZZLY_SLIDE, Moves.REVIVAL_BLESSING ],
[Species.FIDOUGH]: [ Moves.WISH, Moves.BODY_PRESS, Moves.SIZZLY_SLIDE, Moves.TIDY_UP ],
@@ -487,25 +488,25 @@ export const speciesEggMoves = {
[Species.NACLI]: [ Moves.BODY_PRESS, Moves.TOXIC, Moves.CURSE, Moves.DIAMOND_STORM ],
[Species.CHARCADET]: [ Moves.SACRED_SWORD, Moves.PHOTON_GEYSER, Moves.MOONBLAST, Moves.SPECTRAL_THIEF ],
[Species.TADBULB]: [ Moves.PARABOLIC_CHARGE, Moves.SCALD, Moves.EARTH_POWER, Moves.ELECTRO_SHOT ],
- [Species.WATTREL]: [ Moves.NASTY_PLOT, Moves.TAILWIND, Moves.HEAT_WAVE, Moves.AEROBLAST ],
- [Species.MASCHIFF]: [ Moves.PARTING_SHOT, Moves.KNOCK_OFF, Moves.PLAY_ROUGH, Moves.COLLISION_COURSE ],
+ [Species.WATTREL]: [ Moves.NASTY_PLOT, Moves.TAILWIND, Moves.HEAT_WAVE, Moves.ELECTRO_SHOT ],
+ [Species.MASCHIFF]: [ Moves.PARTING_SHOT, Moves.CLOSE_COMBAT, Moves.PSYCHIC_FANGS, Moves.NO_RETREAT ],
[Species.SHROODLE]: [ Moves.GASTRO_ACID, Moves.PARTING_SHOT, Moves.TOXIC, Moves.SKETCH ],
- [Species.BRAMBLIN]: [ Moves.TAILWIND, Moves.STRENGTH_SAP, Moves.CEASELESS_EDGE, Moves.LAST_RESPECTS ],
+ [Species.BRAMBLIN]: [ Moves.TAILWIND, Moves.STRENGTH_SAP, Moves.FLOWER_TRICK, Moves.LAST_RESPECTS ],
[Species.TOEDSCOOL]: [ Moves.STRENGTH_SAP, Moves.TOPSY_TURVY, Moves.PARTING_SHOT, Moves.SAPPY_SEED ],
[Species.KLAWF]: [ Moves.CRABHAMMER, Moves.SHORE_UP, Moves.MIGHTY_CLEAVE, Moves.SHELL_SMASH ],
[Species.CAPSAKID]: [ Moves.STRENGTH_SAP, Moves.APPLE_ACID, Moves.FROST_BREATH, Moves.TORCH_SONG ],
- [Species.RELLOR]: [ Moves.TOXIC_SPIKES, Moves.RECOVER, Moves.HEAT_WAVE, Moves.LUMINA_CRASH ],
+ [Species.RELLOR]: [ Moves.HEAL_BLOCK, Moves.RECOVER, Moves.HEAT_WAVE, Moves.LUMINA_CRASH ],
[Species.FLITTLE]: [ Moves.COSMIC_POWER, Moves.AURA_SPHERE, Moves.ROOST, Moves.FIERY_DANCE ],
- [Species.TINKATINK]: [ Moves.MAGICAL_TORQUE, Moves.SHIFT_GEAR, Moves.ICE_HAMMER, Moves.PYRO_BALL ],
+ [Species.TINKATINK]: [ Moves.MAGICAL_TORQUE, Moves.PYRO_BALL, Moves.ICE_HAMMER, Moves.SHIFT_GEAR ],
[Species.WIGLETT]: [ Moves.SHELL_SMASH, Moves.ICICLE_CRASH, Moves.SEED_BOMB, Moves.SURGING_STRIKES ],
- [Species.BOMBIRDIER]: [ Moves.U_TURN, Moves.TIDY_UP, Moves.SUCKER_PUNCH, Moves.MIGHTY_CLEAVE ],
+ [Species.BOMBIRDIER]: [ Moves.FLOATY_FALL, Moves.SWORDS_DANCE, Moves.SUCKER_PUNCH, Moves.MIGHTY_CLEAVE ],
[Species.FINIZEN]: [ Moves.TRIPLE_AXEL, Moves.DRAIN_PUNCH, Moves.HEADLONG_RUSH, Moves.SURGING_STRIKES ],
[Species.VAROOM]: [ Moves.COMBAT_TORQUE, Moves.U_TURN, Moves.BLAZING_TORQUE, Moves.NOXIOUS_TORQUE ],
- [Species.CYCLIZAR]: [ Moves.BATON_PASS, Moves.BLAZING_TORQUE, Moves.HEAD_CHARGE, Moves.CLANGOROUS_SOUL ],
+ [Species.CYCLIZAR]: [ Moves.BATON_PASS, Moves.BLAZING_TORQUE, Moves.KNOCK_OFF, Moves.CLANGOROUS_SOUL ],
[Species.ORTHWORM]: [ Moves.SIZZLY_SLIDE, Moves.COIL, Moves.BODY_PRESS, Moves.SHORE_UP ],
[Species.GLIMMET]: [ Moves.CALM_MIND, Moves.EARTH_POWER, Moves.FIERY_DANCE, Moves.MALIGNANT_CHAIN ],
[Species.GREAVARD]: [ Moves.SHADOW_BONE, Moves.YAWN, Moves.SHORE_UP, Moves.COLLISION_COURSE ],
- [Species.FLAMIGO]: [ Moves.THUNDEROUS_KICK, Moves.TRIPLE_AXEL, Moves.U_TURN, Moves.VICTORY_DANCE ],
+ [Species.FLAMIGO]: [ Moves.THUNDEROUS_KICK, Moves.TRIPLE_AXEL, Moves.FLOATY_FALL, Moves.VICTORY_DANCE ],
[Species.CETODDLE]: [ Moves.TRIPLE_AXEL, Moves.HIGH_HORSEPOWER, Moves.RECOVER, Moves.DRAGON_DANCE ],
[Species.VELUZA]: [ Moves.CEASELESS_EDGE, Moves.FLIP_TURN, Moves.ICE_SPINNER, Moves.PSYBLADE ],
[Species.DONDOZO]: [ Moves.SOFT_BOILED, Moves.ICE_SPINNER, Moves.TOXIC, Moves.SALT_CURE ],
@@ -515,39 +516,39 @@ export const speciesEggMoves = {
[Species.BRUTE_BONNET]: [ Moves.DARKEST_LARIAT, Moves.STRENGTH_SAP, Moves.EARTHQUAKE, Moves.SAPPY_SEED ],
[Species.FLUTTER_MANE]: [ Moves.MOONLIGHT, Moves.FLAMETHROWER, Moves.EARTH_POWER, Moves.ASTRAL_BARRAGE ],
[Species.SLITHER_WING]: [ Moves.KNOCK_OFF, Moves.VICTORY_DANCE, Moves.FIRE_LASH, Moves.THUNDEROUS_KICK ],
- [Species.SANDY_SHOCKS]: [ Moves.SHORE_UP, Moves.ICE_BEAM, Moves.NASTY_PLOT, Moves.THUNDERCLAP ],
+ [Species.SANDY_SHOCKS]: [ Moves.MORNING_SUN, Moves.ICE_BEAM, Moves.NASTY_PLOT, Moves.THUNDERCLAP ],
[Species.IRON_TREADS]: [ Moves.SUPERCELL_SLAM, Moves.BULK_UP, Moves.SHORE_UP, Moves.DOUBLE_IRON_BASH ],
[Species.IRON_BUNDLE]: [ Moves.EARTH_POWER, Moves.BOUNCY_BUBBLE, Moves.NASTY_PLOT, Moves.WATER_SPOUT ],
[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 ],
- [Species.IRON_MOTH]: [ Moves.EARTH_POWER, Moves.SEARING_SHOT, Moves.QUIVER_DANCE, Moves.MALIGNANT_CHAIN ],
+ [Species.IRON_MOTH]: [ Moves.EARTH_POWER, Moves.HEAT_WAVE, Moves.QUIVER_DANCE, Moves.MALIGNANT_CHAIN ],
[Species.IRON_THORNS]: [ Moves.DIAMOND_STORM, Moves.SHORE_UP, Moves.SHIFT_GEAR, Moves.PLASMA_FISTS ],
[Species.FRIGIBAX]: [ Moves.DRAGON_DARTS, Moves.DRAGON_DANCE, Moves.EARTHQUAKE, Moves.GLACIAL_LANCE ],
- [Species.GIMMIGHOUL]: [ Moves.COSMIC_POWER, Moves.STORED_POWER, Moves.EARTH_POWER, Moves.ASTRAL_BARRAGE ],
+ [Species.GIMMIGHOUL]: [ Moves.ARMOR_CANNON, Moves.STORED_POWER, Moves.EARTH_POWER, Moves.ASTRAL_BARRAGE ],
[Species.WO_CHIEN]: [ Moves.SPORE, Moves.FIERY_WRATH, Moves.SAPPY_SEED, Moves.STRENGTH_SAP ],
[Species.CHIEN_PAO]: [ Moves.KNOCK_OFF, Moves.PARTING_SHOT, Moves.BITTER_BLADE, Moves.GLACIAL_LANCE ],
[Species.TING_LU]: [ Moves.SHORE_UP, Moves.WICKED_BLOW, Moves.SAPPY_SEED, Moves.THOUSAND_ARROWS ],
[Species.CHI_YU]: [ Moves.FIERY_WRATH, Moves.HYDRO_STEAM, Moves.TORCH_SONG, Moves.ERUPTION ],
[Species.ROARING_MOON]: [ Moves.FIRE_LASH, Moves.DRAGON_HAMMER, Moves.SUCKER_PUNCH, Moves.WICKED_BLOW ],
- [Species.IRON_VALIANT]: [ Moves.PLASMA_FISTS, Moves.VICTORY_DANCE, Moves.QUIVER_DANCE, Moves.MAGICAL_TORQUE ],
+ [Species.IRON_VALIANT]: [ Moves.PLASMA_FISTS, Moves.NO_RETREAT, Moves.SECRET_SWORD, Moves.MAGICAL_TORQUE ],
[Species.KORAIDON]: [ Moves.BITTER_BLADE, Moves.MORNING_SUN, Moves.GLAIVE_RUSH, Moves.CLANGOROUS_SOUL ],
[Species.MIRAIDON]: [ Moves.ICE_BEAM, Moves.CLANGOROUS_SOUL, Moves.RISING_VOLTAGE, Moves.DRAGON_ENERGY ],
[Species.WALKING_WAKE]: [ Moves.BOUNCY_BUBBLE, Moves.NASTY_PLOT, Moves.EARTH_POWER, Moves.DRAGON_ENERGY ],
[Species.IRON_LEAVES]: [ Moves.SPORE, Moves.U_TURN, Moves.MIGHTY_CLEAVE, Moves.BITTER_BLADE ],
- [Species.POLTCHAGEIST]: [ Moves.SHELL_SMASH, Moves.INFERNAL_PARADE, Moves.LEECH_SEED, Moves.SPARKLY_SWIRL ],
+ [Species.POLTCHAGEIST]: [ Moves.SHELL_SMASH, Moves.BOUNCY_BUBBLE, Moves.LEECH_SEED, Moves.SPARKLY_SWIRL ],
[Species.OKIDOGI]: [ Moves.DRAIN_PUNCH, Moves.KNOCK_OFF, Moves.DIRE_CLAW, Moves.VICTORY_DANCE ],
[Species.MUNKIDORI]: [ Moves.PSYSTRIKE, Moves.HEAT_WAVE, Moves.EARTH_POWER, Moves.MALIGNANT_CHAIN ],
[Species.FEZANDIPITI]: [ Moves.BARB_BARRAGE, Moves.VICTORY_DANCE, Moves.TRIPLE_AXEL, Moves.MAGICAL_TORQUE ],
[Species.OGERPON]: [ Moves.FLOWER_TRICK, Moves.BONEMERANG, Moves.TRIPLE_AXEL, Moves.GIGATON_HAMMER ],
[Species.GOUGING_FIRE]: [ Moves.SUPERCELL_SLAM, Moves.BULK_UP, Moves.SACRED_FIRE, Moves.GLAIVE_RUSH ],
- [Species.RAGING_BOLT]: [ Moves.NASTY_PLOT, Moves.FLAMETHROWER, Moves.RECOVER, Moves.ELECTRO_DRIFT ],
+ [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.PHOTON_GEYSER, Moves.ELECTRO_DRIFT ],
[Species.TERAPAGOS]: [ Moves.MOONBLAST, Moves.RECOVER, Moves.ICE_BEAM, Moves.SHELL_SMASH ],
[Species.PECHARUNT]: [ Moves.TOXIC_SPIKES, Moves.BODY_PRESS, Moves.HEX, Moves.BANEFUL_BUNKER ],
[Species.ALOLA_RATTATA]: [ Moves.STORM_THROW, Moves.PLAY_ROUGH, Moves.TIDY_UP, Moves.POPULATION_BOMB ],
[Species.ALOLA_SANDSHREW]: [ Moves.SPIKY_SHIELD, Moves.AQUA_CUTTER, Moves.SHIFT_GEAR, Moves.GLACIAL_LANCE ],
- [Species.ALOLA_VULPIX]: [ Moves.MOONBLAST, Moves.AURORA_VEIL, Moves.FLAMETHROWER, Moves.FREEZY_FROST ],
+ [Species.ALOLA_VULPIX]: [ Moves.MOONBLAST, Moves.PARTING_SHOT, Moves.FLAMETHROWER, Moves.FREEZY_FROST ],
[Species.ALOLA_DIGLETT]: [ Moves.THOUSAND_WAVES, Moves.SWORDS_DANCE, Moves.TRIPLE_DIVE, Moves.MOUNTAIN_GALE ],
[Species.ALOLA_MEOWTH]: [ Moves.BADDY_BAD, Moves.BUZZY_BUZZ, Moves.PARTING_SHOT, Moves.MAKE_IT_RAIN ],
[Species.ALOLA_GEODUDE]: [ Moves.HIGH_HORSEPOWER, Moves.BULK_UP, Moves.STONE_AXE, Moves.EXTREME_SPEED ],
@@ -560,15 +561,15 @@ export const speciesEggMoves = {
[Species.GALAR_ARTICUNO]: [ Moves.AURA_SPHERE, Moves.OBLIVION_WING, Moves.ICE_BEAM, Moves.PSYSTRIKE ],
[Species.GALAR_ZAPDOS]: [ Moves.TIDY_UP, Moves.FLOATY_FALL, Moves.ROOST, Moves.BOLT_BEAK ],
[Species.GALAR_MOLTRES]: [ Moves.ROOST, Moves.SLUDGE_BOMB, Moves.FLAMETHROWER, Moves.OBLIVION_WING ],
- [Species.GALAR_CORSOLA]: [ Moves.TRICK_ROOM, Moves.MOONBLAST, Moves.COSMIC_POWER, Moves.ASTRAL_BARRAGE ],
- [Species.GALAR_ZIGZAGOON]: [ Moves.CEASELESS_EDGE, Moves.DIRE_CLAW, Moves.PARTING_SHOT, Moves.EXTREME_SPEED ],
+ [Species.GALAR_CORSOLA]: [ Moves.SHELL_SMASH, Moves.MOONBLAST, Moves.COSMIC_POWER, Moves.ASTRAL_BARRAGE ],
+ [Species.GALAR_ZIGZAGOON]: [ Moves.CEASELESS_EDGE, Moves.FACADE, Moves.PARTING_SHOT, Moves.EXTREME_SPEED ],
[Species.GALAR_DARUMAKA]: [ Moves.ICE_SPINNER, Moves.ENDURE, Moves.DRAIN_PUNCH, Moves.V_CREATE ],
[Species.GALAR_YAMASK]: [ Moves.STRENGTH_SAP, Moves.DIRE_CLAW, Moves.THOUSAND_WAVES, Moves.SPECTRAL_THIEF ],
- [Species.GALAR_STUNFISK]: [ Moves.SPIKY_SHIELD, Moves.TRICK_ROOM, Moves.SHORE_UP, Moves.SALT_CURE ],
- [Species.HISUI_GROWLITHE]: [ Moves.WOOD_HAMMER, Moves.HEAD_SMASH, Moves.VOLT_TACKLE, Moves.MORNING_SUN ],
- [Species.HISUI_VOLTORB]: [ Moves.ICE_BEAM, Moves.NASTY_PLOT, Moves.PARABOLIC_CHARGE, Moves.SEED_FLARE ],
+ [Species.GALAR_STUNFISK]: [ Moves.SPIKY_SHIELD, Moves.EARTHQUAKE, Moves.STRENGTH_SAP, Moves.THUNDERCLAP ],
+ [Species.HISUI_GROWLITHE]: [ Moves.WOOD_HAMMER, Moves.HEAD_SMASH, Moves.MORNING_SUN, Moves.DRAGON_DANCE ],
+ [Species.HISUI_VOLTORB]: [ Moves.ICE_BEAM, Moves.NASTY_PLOT, Moves.RISING_VOLTAGE, Moves.SEED_FLARE ],
[Species.HISUI_QWILFISH]: [ Moves.CEASELESS_EDGE, Moves.KNOCK_OFF, Moves.STRENGTH_SAP, Moves.FISHIOUS_REND ],
- [Species.HISUI_SNEASEL]: [ Moves.THUNDEROUS_KICK, Moves.KNOCK_OFF, Moves.ICE_SPINNER, Moves.VICTORY_DANCE ],
+ [Species.HISUI_SNEASEL]: [ Moves.THUNDEROUS_KICK, Moves.KNOCK_OFF, Moves.TRIPLE_AXEL, Moves.VICTORY_DANCE ],
[Species.HISUI_ZORUA]: [ Moves.MOONBLAST, Moves.AURA_SPHERE, Moves.PARTING_SHOT, Moves.BLOOD_MOON ],
[Species.PALDEA_TAUROS]: [ Moves.NO_RETREAT, Moves.BLAZING_TORQUE, Moves.AQUA_STEP, Moves.THUNDEROUS_KICK ],
[Species.PALDEA_WOOPER]: [ Moves.RECOVER, Moves.STONE_AXE, Moves.BANEFUL_BUNKER, Moves.SAPPY_SEED ],
diff --git a/src/data/egg.ts b/src/data/egg.ts
index 74371049363..bb952d71fb0 100644
--- a/src/data/egg.ts
+++ b/src/data/egg.ts
@@ -1,97 +1,526 @@
import BattleScene from "../battle-scene";
-import { Species } from "./enums/species";
-import { getPokemonSpecies, speciesStarters } from "./pokemon-species";
-import { EggTier } from "./enums/egg-type";
-import i18next from "../plugins/i18n";
+import PokemonSpecies, { getPokemonSpecies, speciesStarters } from "./pokemon-species";
+import { VariantTier } from "../enums/variant-tiers";
+import * as Utils from "../utils";
+import * as Overrides from "../overrides";
+import { pokemonPrevolutions } from "./pokemon-evolutions";
+import { PlayerPokemon } from "#app/field/pokemon";
+import i18next from "i18next";
+import { EggTier } from "#enums/egg-type";
+import { Species } from "#enums/species";
+import { EggSourceType } from "#app/enums/egg-source-types.js";
export const EGG_SEED = 1073741824;
-export enum GachaType {
- MOVE,
- LEGENDARY,
- SHINY
+// Rates for specific random properties in 1/x
+const DEFAULT_SHINY_RATE = 128;
+const GACHA_SHINY_UP_SHINY_RATE = 64;
+const SAME_SPECIES_EGG_SHINY_RATE = 32;
+const SAME_SPECIES_EGG_HA_RATE = 16;
+const MANAPHY_EGG_MANAPHY_RATE = 8;
+
+// 1/x for legendary eggs, 1/x*2 for epic eggs, 1/x*4 for rare eggs, and 1/x*8 for common eggs
+const DEFAULT_RARE_EGGMOVE_RATE = 6;
+const SAME_SPECIES_EGG_RARE_EGGMOVE_RATE = 3;
+const GACHA_MOVE_UP_RARE_EGGMOVE_RATE = 3;
+
+/** Egg options to override egg properties */
+export interface IEggOptions {
+ /** Id. Used to check if egg type will be manaphy (id % 204 === 0) */
+ id?: number;
+ /** Timestamp when this egg got created */
+ timestamp?: number;
+ /** Defines if the egg got pulled from a gacha or not. If true, egg pity and pull statistics will be applyed.
+ * Egg will be automaticly added to the game data.
+ * NEEDS scene eggOption to work.
+ */
+ pulled?: boolean;
+ /** Defines where the egg comes from. Applies specific modifiers.
+ * Will also define the text displayed in the egg list.
+ */
+ sourceType?: EggSourceType;
+ /** Needs to be defined if eggOption pulled is defined or if no species or isShiny is degined since this will be needed to generate them. */
+ scene?: BattleScene;
+ /** Sets the tier of the egg. Only species of this tier can be hatched from this egg.
+ * Tier will be overriden if species eggOption is set.
+ */
+ tier?: EggTier;
+ /** Sets how many waves it will take till this egg hatches. */
+ hatchWaves?: number;
+ /** Sets the exact species that will hatch from this egg.
+ * Needs scene eggOption if not provided.
+ */
+ species?: Species;
+ /** Defines if the hatched pokemon will be a shiny. */
+ isShiny?: boolean;
+ /** Defines the variant of the pokemon that will hatch from this egg. If no variantTier is given the normal variant rates will apply. */
+ variantTier?: VariantTier;
+ /** Defines which egg move will be unlocked. 3 = rare egg move. */
+ eggMoveIndex?: number;
+ /** Defines if the egg will hatch with the hidden ability of this species.
+ * If no hidden ability exist, a random one will get choosen.
+ */
+ overrideHiddenAbility?: boolean
}
export class Egg {
- public id: integer;
- public tier: EggTier;
- public gachaType: GachaType;
- public hatchWaves: integer;
- public timestamp: integer;
- constructor(id: integer, gachaType: GachaType, hatchWaves: integer, timestamp: integer) {
- this.id = id;
- this.tier = Math.floor(id / EGG_SEED);
- this.gachaType = gachaType;
- this.hatchWaves = hatchWaves;
- this.timestamp = timestamp;
+ ////
+ // #region Privat properties
+ ////
+
+ private _id: number;
+ private _tier: EggTier;
+ private _sourceType: EggSourceType | undefined;
+ private _hatchWaves: number;
+ private _timestamp: number;
+
+ private _species: Species;
+ private _isShiny: boolean;
+ private _variantTier: VariantTier;
+ private _eggMoveIndex: number;
+
+ private _overrideHiddenAbility: boolean;
+
+ ////
+ // #endregion
+ ////
+
+ ////
+ // #region Public facing properties
+ ////
+ get id(): number {
+ return this._id;
}
- isManaphyEgg(): boolean {
- return this.tier === EggTier.COMMON && !(this.id % 255);
+ get tier(): EggTier {
+ return this._tier;
}
- getKey(): string {
+ get sourceType(): EggSourceType | undefined {
+ return this._sourceType;
+ }
+
+ get hatchWaves(): number {
+ return this._hatchWaves;
+ }
+
+ set hatchWaves(value: number) {
+ this._hatchWaves = value;
+ }
+
+ get timestamp(): number {
+ return this._timestamp;
+ }
+
+ get species(): Species {
+ return this._species;
+ }
+
+ get isShiny(): boolean {
+ return this._isShiny;
+ }
+
+ get variantTier(): VariantTier {
+ return this._variantTier;
+ }
+
+ get eggMoveIndex(): number {
+ return this._eggMoveIndex;
+ }
+
+ get overrideHiddenAbility(): boolean {
+ return this._overrideHiddenAbility;
+ }
+
+ ////
+ // #endregion
+ ////
+
+ constructor(eggOptions?: IEggOptions) {
+ //if (eggOptions.tier && eggOptions.species) throw Error("Error egg can't have species and tier as option. only choose one of them.")
+
+ this._sourceType = eggOptions.sourceType ?? undefined;
+ // Ensure _sourceType is defined before invoking rollEggTier(), as it is referenced
+ this._tier = eggOptions.tier ?? (Overrides.EGG_TIER_OVERRIDE ?? this.rollEggTier());
+ // If egg was pulled, check if egg pity needs to override the egg tier
+ if (eggOptions.pulled) {
+ // Needs this._tier and this._sourceType to work
+ this.checkForPityTierOverrides(eggOptions.scene);
+ }
+
+ this._id = eggOptions.id ?? Utils.randInt(EGG_SEED, EGG_SEED * this._tier);
+
+ this._sourceType = eggOptions.sourceType ?? undefined;
+ this._hatchWaves = eggOptions.hatchWaves ?? this.getEggTierDefaultHatchWaves();
+ this._timestamp = eggOptions.timestamp ?? new Date().getTime();
+
+ // First roll shiny and variant so we can filter if species with an variant exist
+ this._isShiny = eggOptions.isShiny ?? (Overrides.EGG_SHINY_OVERRIDE || this.rollShiny());
+ this._variantTier = eggOptions.variantTier ?? (Overrides.EGG_VARIANT_OVERRIDE ?? this.rollVariant());
+ this._species = eggOptions.species ?? this.rollSpecies(eggOptions.scene);
+
+ this._overrideHiddenAbility = eggOptions.overrideHiddenAbility ?? false;
+
+ // Override egg tier and hatchwaves if species was given
+ if (eggOptions.species) {
+ this._tier = this.getEggTierFromSpeciesStarterValue();
+ this._hatchWaves = eggOptions.hatchWaves ?? this.getEggTierDefaultHatchWaves();
+ // If species has no variant, set variantTier to common. This needs to
+ // be done because species with no variants get filtered at rollSpecies but since the
+ // species is set the check never happens
+ if (!getPokemonSpecies(this.species).hasVariants()) {
+ this._variantTier = VariantTier.COMMON;
+ }
+ }
+ // Needs this._tier so it needs to be generated afer the tier override if bought from same species
+ this._eggMoveIndex = eggOptions.eggMoveIndex ?? this.rollEggMoveIndex();
+ if (eggOptions.pulled) {
+ this.increasePullStatistic(eggOptions.scene);
+ this.addEggToGameData(eggOptions.scene);
+ }
+ }
+
+ ////
+ // #region Public methodes
+ ////
+
+ public isManaphyEgg(): boolean {
+ return (this._species === Species.PHIONE || this._species === Species.MANAPHY) ||
+ this._tier === EggTier.COMMON && !(this._id % 204) && !this._species;
+ }
+
+ public getKey(): string {
if (this.isManaphyEgg()) {
return "manaphy";
}
- return this.tier.toString();
+ return this._tier.toString();
}
+
+ // Generates a PlayerPokemon from an egg
+ public generatePlayerPokemon(scene: BattleScene): PlayerPokemon {
+ // Legacy egg wants to hatch. Generate missing properties
+ if (!this._species) {
+ this._isShiny = this.rollShiny();
+ this._species = this.rollSpecies(scene);
+ }
+
+ const pokemonSpecies = getPokemonSpecies(this._species);
+
+ // Sets the hidden ability if a hidden ability exists and the override is set
+ // or if the same species egg hits the chance
+ let abilityIndex = undefined;
+ if (pokemonSpecies.abilityHidden && (this._overrideHiddenAbility
+ || (this._sourceType === EggSourceType.SAME_SPECIES_EGG && !Utils.randSeedInt(SAME_SPECIES_EGG_HA_RATE)))) {
+ abilityIndex = pokemonSpecies.ability2 ? 2 : 1;
+ }
+
+ // This function has way to many optional parameters
+ const ret: PlayerPokemon = scene.addPlayerPokemon(pokemonSpecies, 1, abilityIndex, undefined, undefined, false);
+ ret.shiny = this._isShiny;
+ ret.variant = this._variantTier;
+
+ const secondaryIvs = Utils.getIvsFromId(Utils.randSeedInt(4294967295));
+
+ for (let s = 0; s < ret.ivs.length; s++) {
+ ret.ivs[s] = Math.max(ret.ivs[s], secondaryIvs[s]);
+ }
+
+ return ret;
+ }
+
+ // Doesn't need to be called if the egg got pulled by a gacha machiene
+ public addEggToGameData(scene: BattleScene): void {
+ scene.gameData.eggs.push(this);
+ }
+
+ public getEggDescriptor(): string {
+ if (this.isManaphyEgg()) {
+ return "Manaphy";
+ }
+ switch (this.tier) {
+ case EggTier.GREAT:
+ return i18next.t("egg:greatTier");
+ case EggTier.ULTRA:
+ return i18next.t("egg:ultraTier");
+ case EggTier.MASTER:
+ return i18next.t("egg:masterTier");
+ default:
+ return i18next.t("egg:defaultTier");
+ }
+ }
+
+ public getEggHatchWavesMessage(): string {
+ if (this.hatchWaves <= 5) {
+ return i18next.t("egg:hatchWavesMessageSoon");
+ }
+ if (this.hatchWaves <= 15) {
+ return i18next.t("egg:hatchWavesMessageClose");
+ }
+ if (this.hatchWaves <= 50) {
+ return i18next.t("egg:hatchWavesMessageNotClose");
+ }
+ return i18next.t("egg:hatchWavesMessageLongTime");
+ }
+
+ public getEggTypeDescriptor(scene: BattleScene): string {
+ switch (this.sourceType) {
+ case EggSourceType.SAME_SPECIES_EGG:
+ return i18next.t("egg:sameSpeciesEgg", { species: getPokemonSpecies(this._species).getName()});
+ case EggSourceType.GACHA_LEGENDARY:
+ return `${i18next.t("egg:gachaTypeLegendary")} (${getPokemonSpecies(getLegendaryGachaSpeciesForTimestamp(scene, this.timestamp)).getName()})`;
+ case EggSourceType.GACHA_SHINY:
+ return i18next.t("egg:gachaTypeShiny");
+ case EggSourceType.GACHA_MOVE:
+ return i18next.t("egg:gachaTypeMove");
+ }
+ }
+
+ ////
+ // #endregion
+ ////
+
+ ////
+ // #region Private methodes
+ ////
+
+ private rollEggMoveIndex() {
+ let baseChance = DEFAULT_RARE_EGGMOVE_RATE;
+ switch (this._sourceType) {
+ case EggSourceType.SAME_SPECIES_EGG:
+ baseChance = SAME_SPECIES_EGG_RARE_EGGMOVE_RATE;
+ break;
+ case EggSourceType.GACHA_MOVE:
+ baseChance = GACHA_MOVE_UP_RARE_EGGMOVE_RATE;
+ break;
+ default:
+ break;
+ }
+
+ return Utils.randSeedInt(baseChance * Math.pow(2, 3 - this.tier)) ? Utils.randSeedInt(3) : 3;
+ }
+
+ private getEggTierDefaultHatchWaves(eggTier?: EggTier): number {
+ if (this._species === Species.PHIONE || this._species === Species.MANAPHY) {
+ return 50;
+ }
+
+ switch (eggTier ?? this._tier) {
+ case EggTier.COMMON:
+ return 10;
+ case EggTier.GREAT:
+ return 25;
+ case EggTier.ULTRA:
+ return 50;
+ }
+ return 100;
+ }
+
+ private rollEggTier(): EggTier {
+ const tierValueOffset = this._sourceType === EggSourceType.GACHA_LEGENDARY ? 1 : 0;
+ const tierValue = Utils.randInt(256);
+ return tierValue >= 52 + tierValueOffset ? EggTier.COMMON : tierValue >= 8 + tierValueOffset ? EggTier.GREAT : tierValue >= 1 + tierValueOffset ? EggTier.ULTRA : EggTier.MASTER;
+ }
+
+ private rollSpecies(scene: BattleScene): Species {
+ if (!scene) {
+ return undefined;
+ }
+ /**
+ * Manaphy eggs have a 1/8 chance of being Manaphy and 7/8 chance of being Phione
+ * Legendary eggs pulled from the legendary gacha have a 50% of being converted into
+ * the species that was the legendary focus at the time
+ */
+ if (this.isManaphyEgg()) {
+ const rand = Utils.randSeedInt(MANAPHY_EGG_MANAPHY_RATE);
+ return rand ? Species.PHIONE : Species.MANAPHY;
+ } else if (this.tier === EggTier.MASTER
+ && this._sourceType === EggSourceType.GACHA_LEGENDARY) {
+ if (!Utils.randSeedInt(2)) {
+ return getLegendaryGachaSpeciesForTimestamp(scene, this.timestamp);
+ }
+ }
+
+ let minStarterValue: integer;
+ let maxStarterValue: integer;
+
+ switch (this.tier) {
+ case EggTier.GREAT:
+ minStarterValue = 4;
+ maxStarterValue = 5;
+ break;
+ case EggTier.ULTRA:
+ minStarterValue = 6;
+ maxStarterValue = 7;
+ break;
+ case EggTier.MASTER:
+ minStarterValue = 8;
+ maxStarterValue = 9;
+ break;
+ default:
+ minStarterValue = 1;
+ maxStarterValue = 3;
+ break;
+ }
+
+ const ignoredSpecies = [Species.PHIONE, Species.MANAPHY, Species.ETERNATUS];
+
+ let speciesPool = Object.keys(speciesStarters)
+ .filter(s => speciesStarters[s] >= minStarterValue && speciesStarters[s] <= maxStarterValue)
+ .map(s => parseInt(s) as Species)
+ .filter(s => !pokemonPrevolutions.hasOwnProperty(s) && getPokemonSpecies(s).isObtainable() && ignoredSpecies.indexOf(s) === -1);
+
+ // If this is the 10th egg without unlocking something new, attempt to force it.
+ if (scene.gameData.unlockPity[this.tier] >= 9) {
+ const lockedPool = speciesPool.filter(s => !scene.gameData.dexData[s].caughtAttr && !scene.gameData.eggs.some(e => e.species === s));
+ if (lockedPool.length) { // Skip this if everything is unlocked
+ speciesPool = lockedPool;
+ }
+ }
+
+ // If egg variant is set to RARE or EPIC, filter species pool to only include ones with variants.
+ if (this.variantTier && (this.variantTier === VariantTier.RARE || this.variantTier === VariantTier.EPIC)) {
+ speciesPool = speciesPool.filter(s => getPokemonSpecies(s).hasVariants());
+ }
+
+ /**
+ * Pokemon that are cheaper in their tier get a weight boost. Regionals get a weight penalty
+ * 1 cost mons get 2x
+ * 2 cost mons get 1.5x
+ * 4, 6, 8 cost mons get 1.75x
+ * 3, 5, 7, 9 cost mons get 1x
+ * Alolan, Galarian, and Paldean mons get 0.5x
+ * Hisui mons get 0.125x
+ *
+ * The total weight is also being calculated EACH time there is an egg hatch instead of being generated once
+ * and being the same each time
+ */
+ let totalWeight = 0;
+ const speciesWeights = [];
+ for (const speciesId of speciesPool) {
+ let weight = Math.floor((((maxStarterValue - speciesStarters[speciesId]) / ((maxStarterValue - minStarterValue) + 1)) * 1.5 + 1) * 100);
+ const species = getPokemonSpecies(speciesId);
+ if (species.isRegional()) {
+ weight = Math.floor(weight / (species.isRareRegional() ? 8 : 2));
+ }
+ speciesWeights.push(totalWeight + weight);
+ totalWeight += weight;
+ }
+
+ let species: Species;
+
+ const rand = Utils.randSeedInt(totalWeight);
+ for (let s = 0; s < speciesWeights.length; s++) {
+ if (rand < speciesWeights[s]) {
+ species = speciesPool[s];
+ break;
+ }
+ }
+
+ if (!!scene.gameData.dexData[species].caughtAttr || scene.gameData.eggs.some(e => e.species === species)) {
+ scene.gameData.unlockPity[this.tier] = Math.min(scene.gameData.unlockPity[this.tier] + 1, 10);
+ } else {
+ scene.gameData.unlockPity[this.tier] = 0;
+ }
+
+ return species;
+ }
+
+ /**
+ * Rolls whether the egg is shiny or not.
+ * @returns True if the egg is shiny
+ **/
+ private rollShiny(): boolean {
+ let shinyChance = DEFAULT_SHINY_RATE;
+ switch (this._sourceType) {
+ case EggSourceType.GACHA_SHINY:
+ shinyChance = GACHA_SHINY_UP_SHINY_RATE;
+ break;
+ case EggSourceType.SAME_SPECIES_EGG:
+ shinyChance = SAME_SPECIES_EGG_SHINY_RATE;
+ break;
+ default:
+ break;
+ }
+
+ return !Utils.randSeedInt(shinyChance);
+ }
+
+ // Uses the same logic as pokemon.generateVariant(). I would like to only have this logic in one
+ // place but I don't want to touch the pokemon class.
+ private rollVariant(): VariantTier {
+ if (!this.isShiny) {
+ return VariantTier.COMMON;
+ }
+
+ const rand = Utils.randSeedInt(10);
+ if (rand >= 4) {
+ return VariantTier.COMMON; // 6/10
+ } else if (rand >= 1) {
+ return VariantTier.RARE; // 3/10
+ } else {
+ return VariantTier.EPIC; // 1/10
+ }
+ }
+
+ private checkForPityTierOverrides(scene: BattleScene): void {
+ const tierValueOffset = this._sourceType === EggSourceType.GACHA_LEGENDARY ? 1 : 0;
+ scene.gameData.eggPity[EggTier.GREAT] += 1;
+ scene.gameData.eggPity[EggTier.ULTRA] += 1;
+ scene.gameData.eggPity[EggTier.MASTER] += 1 + tierValueOffset;
+ // These numbers are roughly the 80% mark. That is, 80% of the time you'll get an egg before this gets triggered.
+ if (scene.gameData.eggPity[EggTier.MASTER] >= 412 && this._tier === EggTier.COMMON) {
+ this._tier = EggTier.MASTER;
+ } else if (scene.gameData.eggPity[EggTier.ULTRA] >= 59 && this._tier === EggTier.COMMON) {
+ this._tier = EggTier.ULTRA;
+ } else if (scene.gameData.eggPity[EggTier.GREAT] >= 9 && this._tier === EggTier.COMMON) {
+ this._tier = EggTier.GREAT;
+ }
+ scene.gameData.eggPity[this._tier] = 0;
+ }
+
+ private increasePullStatistic(scene: BattleScene): void {
+ scene.gameData.gameStats.eggsPulled++;
+ if (this.isManaphyEgg()) {
+ scene.gameData.gameStats.manaphyEggsPulled++;
+ this._hatchWaves = this.getEggTierDefaultHatchWaves(EggTier.ULTRA);
+ return;
+ }
+ switch (this.tier) {
+ case EggTier.GREAT:
+ scene.gameData.gameStats.rareEggsPulled++;
+ break;
+ case EggTier.ULTRA:
+ scene.gameData.gameStats.epicEggsPulled++;
+ break;
+ case EggTier.MASTER:
+ scene.gameData.gameStats.legendaryEggsPulled++;
+ break;
+ }
+ }
+
+ private getEggTierFromSpeciesStarterValue(): EggTier {
+ const speciesStartValue = speciesStarters[this.species];
+ if (speciesStartValue >= 1 && speciesStartValue <= 3) {
+ return EggTier.COMMON;
+ }
+ if (speciesStartValue >= 4 && speciesStartValue <= 5) {
+ return EggTier.GREAT;
+ }
+ if (speciesStartValue >= 6 && speciesStartValue <= 7) {
+ return EggTier.ULTRA;
+ }
+ if (speciesStartValue >= 8) {
+ return EggTier.MASTER;
+ }
+ }
+
+ ////
+ // #endregion
+ ////
}
-export function getEggTierDefaultHatchWaves(tier: EggTier): integer {
- switch (tier) {
- case EggTier.COMMON:
- return 10;
- case EggTier.GREAT:
- return 25;
- case EggTier.ULTRA:
- return 50;
- }
- return 100;
-}
-
-export function getEggDescriptor(egg: Egg): string {
- if (egg.isManaphyEgg()) {
- return "Manaphy";
- }
- switch (egg.tier) {
- case EggTier.GREAT:
- return i18next.t("egg:greatTier");
- case EggTier.ULTRA:
- return i18next.t("egg:ultraTier");
- case EggTier.MASTER:
- return i18next.t("egg:masterTier");
- default:
- return i18next.t("egg:defaultTier");
- }
-}
-
-export function getEggHatchWavesMessage(hatchWaves: integer): string {
- if (hatchWaves <= 5) {
- return i18next.t("egg:hatchWavesMessageSoon");
- }
- if (hatchWaves <= 15) {
- return i18next.t("egg:hatchWavesMessageClose");
- }
- if (hatchWaves <= 50) {
- return i18next.t("egg:hatchWavesMessageNotClose");
- }
- return i18next.t("egg:hatchWavesMessageLongTime");
-}
-
-export function getEggGachaTypeDescriptor(scene: BattleScene, egg: Egg): string {
- switch (egg.gachaType) {
- case GachaType.LEGENDARY:
- return `${i18next.t("egg:gachaTypeLegendary")} (${getPokemonSpecies(getLegendaryGachaSpeciesForTimestamp(scene, egg.timestamp)).getName()})`;
- case GachaType.MOVE:
- return i18next.t("egg:gachaTypeMove");
- case GachaType.SHINY:
- return i18next.t("egg:gachaTypeShiny");
- }
-}
-
-export function getLegendaryGachaSpeciesForTimestamp(scene: BattleScene, timestamp: integer): Species {
+export function getLegendaryGachaSpeciesForTimestamp(scene: BattleScene, timestamp: number): Species {
const legendarySpecies = Object.entries(speciesStarters)
.filter(s => s[1] >= 8 && s[1] <= 9)
.map(s => parseInt(s[0]))
@@ -111,3 +540,20 @@ export function getLegendaryGachaSpeciesForTimestamp(scene: BattleScene, timesta
return ret;
}
+
+/**
+ * Check for a given species EggTier Value
+ * @param species - Species for wich we will check the egg tier it belongs to
+ * @returns The egg tier of a given pokemon species
+ */
+export function getEggTierForSpecies(pokemonSpecies :PokemonSpecies): EggTier {
+ const speciesBaseValue = speciesStarters[pokemonSpecies.getRootSpeciesId()];
+ if (speciesBaseValue <= 3) {
+ return EggTier.COMMON;
+ } else if (speciesBaseValue <= 5) {
+ return EggTier.GREAT;
+ } else if (speciesBaseValue <= 7) {
+ return EggTier.ULTRA;
+ }
+ return EggTier.MASTER;
+}
diff --git a/src/data/move.ts b/src/data/move.ts
old mode 100755
new mode 100644
index 9d969e44f1b..c3d8f775ed0
--- a/src/data/move.ts
+++ b/src/data/move.ts
@@ -1,31 +1,33 @@
-import { Moves } from "./enums/moves";
import { ChargeAnim, MoveChargeAnim, initMoveAnim, loadMoveAnimAssets } from "./battle-anims";
import { BattleEndPhase, MovePhase, NewBattlePhase, PartyStatusCurePhase, PokemonHealPhase, StatChangePhase, SwitchSummonPhase } from "../phases";
import { BattleStat, getBattleStatName } from "./battle-stat";
-import { EncoreTag } from "./battler-tags";
-import { BattlerTagType } from "./enums/battler-tag-type";
-import { getPokemonMessage } from "../messages";
+import { EncoreTag, SemiInvulnerableTag } from "./battler-tags";
+import { getPokemonMessage, getPokemonNameWithAffix } from "../messages";
import Pokemon, { AttackMoveResult, EnemyPokemon, HitResult, MoveResult, PlayerPokemon, PokemonMove, TurnMove } from "../field/pokemon";
import { StatusEffect, getStatusEffectHealText, isNonVolatileStatusEffect, getNonVolatileStatusEffects} from "./status-effect";
import { Type } from "./type";
+import { Constructor } from "#app/utils";
import * as Utils from "../utils";
import { WeatherType } from "./weather";
import { ArenaTagSide, ArenaTrapTag } from "./arena-tag";
-import { ArenaTagType } from "./enums/arena-tag-type";
-import { UnswappableAbilityAbAttr, UncopiableAbilityAbAttr, UnsuppressableAbilityAbAttr, BlockRecoilDamageAttr, BlockOneHitKOAbAttr, IgnoreContactAbAttr, MaxMultiHitAbAttr, applyAbAttrs, BlockNonDirectDamageAbAttr, applyPreSwitchOutAbAttrs, PreSwitchOutAbAttr, applyPostDefendAbAttrs, PostDefendContactApplyStatusEffectAbAttr, MoveAbilityBypassAbAttr, ReverseDrainAbAttr, FieldPreventExplosiveMovesAbAttr, ForceSwitchOutImmunityAbAttr, BlockItemTheftAbAttr, applyPostAttackAbAttrs, ConfusionOnStatusEffectAbAttr, HealFromBerryUseAbAttr } from "./ability";
-import { Abilities } from "./enums/abilities";
+import { UnswappableAbilityAbAttr, UncopiableAbilityAbAttr, UnsuppressableAbilityAbAttr, BlockRecoilDamageAttr, BlockOneHitKOAbAttr, IgnoreContactAbAttr, MaxMultiHitAbAttr, applyAbAttrs, BlockNonDirectDamageAbAttr, applyPreSwitchOutAbAttrs, PreSwitchOutAbAttr, applyPostDefendAbAttrs, PostDefendContactApplyStatusEffectAbAttr, MoveAbilityBypassAbAttr, ReverseDrainAbAttr, FieldPreventExplosiveMovesAbAttr, ForceSwitchOutImmunityAbAttr, BlockItemTheftAbAttr, applyPostAttackAbAttrs, ConfusionOnStatusEffectAbAttr, HealFromBerryUseAbAttr, IgnoreProtectOnContactAbAttr, IgnoreMoveEffectsAbAttr, applyPreDefendAbAttrs, MoveEffectChanceMultiplierAbAttr } from "./ability";
import { allAbilities } from "./ability";
import { PokemonHeldItemModifier, BerryModifier, PreserveBerryModifier } from "../modifier/modifier";
import { BattlerIndex } from "../battle";
import { Stat } from "./pokemon-stat";
import { TerrainType } from "./terrain";
import { SpeciesFormChangeActiveTrigger } from "./pokemon-forms";
-import { Species } from "./enums/species";
import { ModifierPoolType } from "#app/modifier/modifier-type";
import { Command } from "../ui/command-ui-handler";
-import { Biome } from "./enums/biome";
-import i18next, { Localizable } from "../plugins/i18n";
+import i18next from "i18next";
+import { Localizable } from "#app/interfaces/locales";
import { getBerryEffectFunc } from "./berry";
+import { Abilities } from "#enums/abilities";
+import { ArenaTagType } from "#enums/arena-tag-type";
+import { BattlerTagType } from "#enums/battler-tag-type";
+import { Biome } from "#enums/biome";
+import { Moves } from "#enums/moves";
+import { Species } from "#enums/species";
export enum MoveCategory {
PHYSICAL,
@@ -42,7 +44,7 @@ export enum MoveTarget {
/** {@link https://bulbapedia.bulbagarden.net/wiki/Category:Moves_that_target_all_adjacent_Pok%C3%A9mon Moves that target all adjacent Pokemon} */
ALL_NEAR_OTHERS,
NEAR_ENEMY,
- /** {@link https://bulbapedia.bulbagarden.net/wiki/Category:Moves_that_target_all_adjacent_foes Moves that taret all adjacent foes} */
+ /** {@link https://bulbapedia.bulbagarden.net/wiki/Category:Moves_that_target_all_adjacent_foes Moves that target all adjacent foes} */
ALL_NEAR_ENEMIES,
RANDOM_NEAR_ENEMY,
ALL_ENEMIES,
@@ -99,6 +101,7 @@ export default class Move implements Localizable {
public id: Moves;
public name: string;
public type: Type;
+ public defaultType: Type;
public category: MoveCategory;
public moveTarget: MoveTarget;
public power: integer;
@@ -118,6 +121,7 @@ export default class Move implements Localizable {
this.nameAppend = "";
this.type = type;
+ this.defaultType = type;
this.category = category;
this.moveTarget = defaultMoveTarget;
this.power = power;
@@ -153,7 +157,7 @@ export default class Move implements Localizable {
* @param attrType any attribute that extends {@linkcode MoveAttr}
* @returns Array of attributes that match `attrType`, Empty Array if none match.
*/
- getAttrs(attrType: new(...args: any[]) => T): T[] {
+ getAttrs(attrType: Constructor): T[] {
return this.attrs.filter((a): a is T => a instanceof attrType);
}
@@ -162,15 +166,27 @@ export default class Move implements Localizable {
* @param attrType any attribute that extends {@linkcode MoveAttr}
* @returns true if the move has attribute `attrType`
*/
- hasAttr(attrType: new(...args: any[]) => T): boolean {
+ hasAttr(attrType: Constructor): boolean {
return this.attrs.some((attr) => attr instanceof attrType);
}
+ /**
+ * Takes as input a boolean function and returns the first MoveAttr in attrs that matches true
+ * @param attrPredicate
+ * @returns the first {@linkcode MoveAttr} element in attrs that makes the input function return true
+ */
findAttr(attrPredicate: (attr: MoveAttr) => boolean): MoveAttr {
return this.attrs.find(attrPredicate);
}
- attr MoveAttr>(AttrType: T, ...args: ConstructorParameters): this {
+ /**
+ * Adds a new MoveAttr to the move (appends to the attr array)
+ * if the MoveAttr also comes with a condition, also adds that to the conditions array: {@linkcode MoveCondition}
+ * @param AttrType {@linkcode MoveAttr} the constructor of a MoveAttr class
+ * @param args the args needed to instantiate a the given class
+ * @returns the called object {@linkcode Move}
+ */
+ attr>(AttrType: T, ...args: ConstructorParameters): this {
const attr = new AttrType(...args);
this.attrs.push(attr);
let attrCondition = attr.getCondition();
@@ -184,9 +200,16 @@ export default class Move implements Localizable {
return this;
}
- addAttr(attr: MoveAttr): this {
- this.attrs.push(attr);
- let attrCondition = attr.getCondition();
+ /**
+ * Adds a new MoveAttr to the move (appends to the attr array)
+ * if the MoveAttr also comes with a condition, also adds that to the conditions array: {@linkcode MoveCondition}
+ * Almost identical to {@link attr}, except you are passing in a MoveAttr object, instead of a constructor and it's arguments
+ * @param attrAdd {@linkcode MoveAttr} the attribute to add
+ * @returns the called object {@linkcode Move}
+ */
+ addAttr(attrAdd: MoveAttr): this {
+ this.attrs.push(attrAdd);
+ let attrCondition = attrAdd.getCondition();
if (attrCondition) {
if (typeof attrCondition === "function") {
attrCondition = new MoveCondition(attrCondition);
@@ -197,15 +220,30 @@ export default class Move implements Localizable {
return this;
}
+ /**
+ * Sets the move target of this move
+ * @param moveTarget {@linkcode MoveTarget} the move target to set
+ * @returns the called object {@linkcode Move}
+ */
target(moveTarget: MoveTarget): this {
this.moveTarget = moveTarget;
return this;
}
+ /**
+ * Getter function that returns if this Move has a MoveFlag
+ * @param flag {@linkcode MoveFlags} to check
+ * @returns boolean
+ */
hasFlag(flag: MoveFlags): boolean {
+ // internally it is taking the bitwise AND (MoveFlags are represented as bit-shifts) and returning False if result is 0 and true otherwise
return !!(this.flags & flag);
}
+ /**
+ * Getter function that returns if the move hits multiple targets
+ * @returns boolean
+ */
isMultiTarget(): boolean {
switch (this.moveTarget) {
case MoveTarget.ALL_OTHERS:
@@ -222,6 +260,11 @@ export default class Move implements Localizable {
return false;
}
+ /**
+ * Getter function that returns if the move targets itself or an ally
+ * @returns boolean
+ */
+
isAllyTarget(): boolean {
switch (this.moveTarget) {
case MoveTarget.USER:
@@ -235,17 +278,39 @@ export default class Move implements Localizable {
return false;
}
- isTypeImmune(type: Type): boolean {
+ /**
+ * Checks if the move is immune to certain types.
+ * Currently looks at cases of Grass types with powder moves and Dark types with moves affected by Prankster.
+ * @param {Pokemon} user the source of this move
+ * @param {Pokemon} target the target of this move
+ * @param {Type} type the type of the move's target
+ * @returns boolean
+ */
+ isTypeImmune(user: Pokemon, target: Pokemon, type: Type): boolean {
+ if (this.moveTarget === MoveTarget.USER) {
+ return false;
+ }
+
switch (type) {
case Type.GRASS:
if (this.hasFlag(MoveFlags.POWDER_MOVE)) {
return true;
}
break;
+ case Type.DARK:
+ if (user.hasAbility(Abilities.PRANKSTER) && this.category === MoveCategory.STATUS && (user.isPlayer() !== target.isPlayer())) {
+ return true;
+ }
+ break;
}
return false;
}
+ /**
+ * Adds a move condition to the move
+ * @param condition {@linkcode MoveCondition} or {@linkcode MoveConditionFunc}, appends to conditions array a new MoveCondition object
+ * @returns the called object {@linkcode Move}
+ */
condition(condition: MoveCondition | MoveConditionFunc): this {
if (typeof condition === "function") {
condition = new MoveCondition(condition as MoveConditionFunc);
@@ -255,17 +320,31 @@ export default class Move implements Localizable {
return this;
}
+ /**
+ * Marks the move as "partial": appends texts to the move name
+ * @returns the called object {@linkcode Move}
+ */
partial(): this {
this.nameAppend += " (P)";
return this;
}
+ /**
+ * Marks the move as "unimplemented": appends texts to the move name
+ * @returns the called object {@linkcode Move}
+ */
unimplemented(): this {
this.nameAppend += " (N)";
return this;
}
+ /**
+ * Sets the flags of the move
+ * @param flag {@linkcode MoveFlags}
+ * @param on a boolean, if True, then "ORs" the flag onto existing ones, if False then "XORs" the flag onto existing ones
+ */
private setFlag(flag: MoveFlags, on: boolean): void {
+ // bitwise OR and bitwise XOR respectively
if (on) {
this.flags |= flag;
} else {
@@ -273,51 +352,110 @@ export default class Move implements Localizable {
}
}
+ /**
+ * Sets the {@linkcode MoveFlags.MAKES_CONTACT} flag for the calling Move
+ * @param makesContact The value (boolean) to set the flag to
+ * @returns The {@linkcode Move} that called this function
+ */
makesContact(makesContact?: boolean): this {
this.setFlag(MoveFlags.MAKES_CONTACT, makesContact);
return this;
}
+ /**
+ * Sets the {@linkcode MoveFlags.IGNORE_PROTECT} flag for the calling Move
+ * @param ignoresProtect The value (boolean) to set the flag to
+ * example: @see {@linkcode Moves.CURSE}
+ * @returns The {@linkcode Move} that called this function
+ */
ignoresProtect(ignoresProtect?: boolean): this {
this.setFlag(MoveFlags.IGNORE_PROTECT, ignoresProtect);
return this;
}
+ /**
+ * Sets the {@linkcode MoveFlags.IGNORE_VIRTUAL} flag for the calling Move
+ * @param ignoresVirtual The value (boolean) to set the flag to
+ * example: @see {@linkcode Moves.NATURE_POWER}
+ * @returns The {@linkcode Move} that called this function
+ */
ignoresVirtual(ignoresVirtual?: boolean): this {
this.setFlag(MoveFlags.IGNORE_VIRTUAL, ignoresVirtual);
return this;
}
+ /**
+ * Sets the {@linkcode MoveFlags.SOUND_BASED} flag for the calling Move
+ * @param soundBased The value (boolean) to set the flag to
+ * example: @see {@linkcode Moves.UPROAR}
+ * @returns The {@linkcode Move} that called this function
+ */
soundBased(soundBased?: boolean): this {
this.setFlag(MoveFlags.SOUND_BASED, soundBased);
return this;
}
+ /**
+ * Sets the {@linkcode MoveFlags.HIDE_USER} flag for the calling Move
+ * @param hidesUser The value (boolean) to set the flag to
+ * example: @see {@linkcode Moves.TELEPORT}
+ * @returns The {@linkcode Move} that called this function
+ */
hidesUser(hidesUser?: boolean): this {
this.setFlag(MoveFlags.HIDE_USER, hidesUser);
return this;
}
+ /**
+ * Sets the {@linkcode MoveFlags.HIDE_TARGET} flag for the calling Move
+ * @param hidesTarget The value (boolean) to set the flag to
+ * example: @see {@linkcode Moves.WHIRLWIND}
+ * @returns The {@linkcode Move} that called this function
+ */
hidesTarget(hidesTarget?: boolean): this {
this.setFlag(MoveFlags.HIDE_TARGET, hidesTarget);
return this;
}
+ /**
+ * Sets the {@linkcode MoveFlags.BITING_MOVE} flag for the calling Move
+ * @param bitingMove The value (boolean) to set the flag to
+ * example: @see {@linkcode Moves.BITE}
+ * @returns The {@linkcode Move} that called this function
+ */
bitingMove(bitingMove?: boolean): this {
this.setFlag(MoveFlags.BITING_MOVE, bitingMove);
return this;
}
+ /**
+ * Sets the {@linkcode MoveFlags.PULSE_MOVE} flag for the calling Move
+ * @param pulseMove The value (boolean) to set the flag to
+ * example: @see {@linkcode Moves.WATER_PULSE}
+ * @returns The {@linkcode Move} that called this function
+ */
pulseMove(pulseMove?: boolean): this {
this.setFlag(MoveFlags.PULSE_MOVE, pulseMove);
return this;
}
+ /**
+ * Sets the {@linkcode MoveFlags.PUNCHING_MOVE} flag for the calling Move
+ * @param punchingMove The value (boolean) to set the flag to
+ * example: @see {@linkcode Moves.DRAIN_PUNCH}
+ * @returns The {@linkcode Move} that called this function
+ */
punchingMove(punchingMove?: boolean): this {
this.setFlag(MoveFlags.PUNCHING_MOVE, punchingMove);
return this;
}
+ /**
+ * Sets the {@linkcode MoveFlags.SLICING_MOVE} flag for the calling Move
+ * @param slicingMove The value (boolean) to set the flag to
+ * example: @see {@linkcode Moves.X_SCISSOR}
+ * @returns The {@linkcode Move} that called this function
+ */
slicingMove(slicingMove?: boolean): this {
this.setFlag(MoveFlags.SLICING_MOVE, slicingMove);
return this;
@@ -334,42 +472,92 @@ export default class Move implements Localizable {
return this;
}
+ /**
+ * Sets the {@linkcode MoveFlags.BALLBOMB_MOVE} flag for the calling Move
+ * @param ballBombMove The value (boolean) to set the flag to
+ * example: @see {@linkcode Moves.ELECTRO_BALL}
+ * @returns The {@linkcode Move} that called this function
+ */
ballBombMove(ballBombMove?: boolean): this {
this.setFlag(MoveFlags.BALLBOMB_MOVE, ballBombMove);
return this;
}
+ /**
+ * Sets the {@linkcode MoveFlags.POWDER_MOVE} flag for the calling Move
+ * @param powderMove The value (boolean) to set the flag to
+ * example: @see {@linkcode Moves.STUN_SPORE}
+ * @returns The {@linkcode Move} that called this function
+ */
powderMove(powderMove?: boolean): this {
this.setFlag(MoveFlags.POWDER_MOVE, powderMove);
return this;
}
+ /**
+ * Sets the {@linkcode MoveFlags.DANCE_MOVE} flag for the calling Move
+ * @param danceMove The value (boolean) to set the flag to
+ * example: @see {@linkcode Moves.PETAL_DANCE}
+ * @returns The {@linkcode Move} that called this function
+ */
danceMove(danceMove?: boolean): this {
this.setFlag(MoveFlags.DANCE_MOVE, danceMove);
return this;
}
+ /**
+ * Sets the {@linkcode MoveFlags.WIND_MOVE} flag for the calling Move
+ * @param windMove The value (boolean) to set the flag to
+ * example: @see {@linkcode Moves.HURRICANE}
+ * @returns The {@linkcode Move} that called this function
+ */
windMove(windMove?: boolean): this {
this.setFlag(MoveFlags.WIND_MOVE, windMove);
return this;
}
+ /**
+ * Sets the {@linkcode MoveFlags.TRIAGE_MOVE} flag for the calling Move
+ * @param triageMove The value (boolean) to set the flag to
+ * example: @see {@linkcode Moves.ABSORB}
+ * @returns The {@linkcode Move} that called this function
+ */
triageMove(triageMove?: boolean): this {
this.setFlag(MoveFlags.TRIAGE_MOVE, triageMove);
return this;
}
+ /**
+ * Sets the {@linkcode MoveFlags.IGNORE_ABILITIES} flag for the calling Move
+ * @param ignoresAbilities sThe value (boolean) to set the flag to
+ * example: @see {@linkcode Moves.SUNSTEEL_STRIKE}
+ * @returns The {@linkcode Move} that called this function
+ */
ignoresAbilities(ignoresAbilities?: boolean): this {
this.setFlag(MoveFlags.IGNORE_ABILITIES, ignoresAbilities);
return this;
}
+ /**
+ * Sets the {@linkcode MoveFlags.CHECK_ALL_HITS} flag for the calling Move
+ * @param checkAllHits The value (boolean) to set the flag to
+ * example: @see {@linkcode Moves.TRIPLE_AXEL}
+ * @returns The {@linkcode Move} that called this function
+ */
checkAllHits(checkAllHits?: boolean): this {
this.setFlag(MoveFlags.CHECK_ALL_HITS, checkAllHits);
return this;
}
+ /**
+ * Checks if the move flag applies to the pokemon(s) using/receiving the move
+ * @param flag {@linkcode MoveFlags} MoveFlag to check on user and/or target
+ * @param user {@linkcode Pokemon} the Pokemon using the move
+ * @param target {@linkcode Pokemon} the Pokemon receiving the move
+ * @returns boolean
+ */
checkFlag(flag: MoveFlags, user: Pokemon, target: Pokemon): boolean {
+ // special cases below, eg: if the move flag is MAKES_CONTACT, and the user pokemon has an ability that ignores contact (like "Long Reach"), then overrides and move does not make contact
switch (flag) {
case MoveFlags.MAKES_CONTACT:
if (user.hasAbilityWithAttr(IgnoreContactAbAttr)) {
@@ -384,11 +572,23 @@ export default class Move implements Localizable {
return true;
}
}
+ case MoveFlags.IGNORE_PROTECT:
+ if (user.hasAbilityWithAttr(IgnoreProtectOnContactAbAttr) &&
+ this.checkFlag(MoveFlags.MAKES_CONTACT, user, target)) {
+ return true;
+ }
}
return !!(this.flags & flag);
}
+ /**
+ * Applies each {@linkcode MoveCondition} of this move to the params
+ * @param user {@linkcode Pokemon} to apply conditions to
+ * @param target {@linkcode Pokemon} to apply conditions to
+ * @param move {@linkcode Move} to apply conditions to
+ * @returns boolean: false if any of the apply()'s return false, else true
+ */
applyConditions(user: Pokemon, target: Pokemon, move: Move): boolean {
for (const condition of this.conditions) {
if (!condition.apply(user, target, move)) {
@@ -399,6 +599,14 @@ export default class Move implements Localizable {
return true;
}
+ /**
+ * Sees if, given the target pokemon, a move fails on it (by looking at each {@linkcode MoveAttr} of this move
+ * @param user {@linkcode Pokemon} using the move
+ * @param target {@linkcode Pokemon} receiving the move
+ * @param move {@linkcode Move} using the move
+ * @param cancelled {@linkcode Utils.BooleanHolder} to hold boolean value
+ * @returns string of the failed text, or null
+ */
getFailedText(user: Pokemon, target: Pokemon, move: Move, cancelled: Utils.BooleanHolder): string | null {
for (const attr of this.attrs) {
const failedText = attr.getFailedText(user, target, move, cancelled);
@@ -409,6 +617,13 @@ export default class Move implements Localizable {
return null;
}
+ /**
+ * Calculates the userBenefitScore across all the attributes and conditions
+ * @param user {@linkcode Pokemon} using the move
+ * @param target {@linkcode Pokemon} receiving the move
+ * @param move {@linkcode Move} using the move
+ * @returns integer representing the total benefitScore
+ */
getUserBenefitScore(user: Pokemon, target: Pokemon, move: Move): integer {
let score = 0;
@@ -423,10 +638,18 @@ export default class Move implements Localizable {
return score;
}
+ /**
+ * Calculates the targetBenefitScore across all the attributes
+ * @param user {@linkcode Pokemon} using the move
+ * @param target {@linkcode Pokemon} receiving the move
+ * @param move {@linkcode Move} using the move
+ * @returns integer representing the total benefitScore
+ */
getTargetBenefitScore(user: Pokemon, target: Pokemon, move: Move): integer {
let score = 0;
for (const attr of this.attrs) {
+ // conditionals to check if the move is self targeting (if so then you are applying the move to yourself, not the target)
score += attr.getTargetBenefitScore(user, !attr.selfTarget ? target : user, move) * (target !== user && attr.selfTarget ? -1 : 1);
}
@@ -583,16 +806,22 @@ export enum MoveEffectTrigger {
*/
export class MoveEffectAttr extends MoveAttr {
/** Defines when this effect should trigger in the move's effect order
- * @see {@linkcode MoveEffectPhase.start}
+ * @see {@linkcode phases.MoveEffectPhase.start}
*/
public trigger: MoveEffectTrigger;
/** Should this effect only apply on the first hit? */
public firstHitOnly: boolean;
+ /** Should this effect only apply on the last hit? */
+ public lastHitOnly: boolean;
+ /** Should this effect only apply on the first target hit? */
+ public firstTargetOnly: boolean;
- constructor(selfTarget?: boolean, trigger?: MoveEffectTrigger, firstHitOnly: boolean = false) {
+ constructor(selfTarget?: boolean, trigger?: MoveEffectTrigger, firstHitOnly: boolean = false, lastHitOnly: boolean = false, firstTargetOnly: boolean = false) {
super(selfTarget);
this.trigger = trigger !== undefined ? trigger : MoveEffectTrigger.POST_APPLY;
this.firstHitOnly = firstHitOnly;
+ this.lastHitOnly = lastHitOnly;
+ this.firstTargetOnly = firstTargetOnly;
}
/**
@@ -606,13 +835,30 @@ export class MoveEffectAttr extends MoveAttr {
*/
canApply(user: Pokemon, target: Pokemon, move: Move, args: any[]) {
return !! (this.selfTarget ? user.hp && !user.getTag(BattlerTagType.FRENZY) : target.hp)
- && (this.selfTarget || !target.getTag(BattlerTagType.PROTECTED) || move.hasFlag(MoveFlags.IGNORE_PROTECT));
+ && (this.selfTarget || !target.getTag(BattlerTagType.PROTECTED) ||
+ move.checkFlag(MoveFlags.IGNORE_PROTECT, user, target));
}
/** Applies move effects so long as they are able based on {@linkcode canApply} */
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean | Promise {
return this.canApply(user, target, move, args);
}
+
+ /**
+ * Gets the used move's additional effect chance.
+ * If user's ability has MoveEffectChanceMultiplierAbAttr or IgnoreMoveEffectsAbAttr modifies the base chance.
+ * @param user {@linkcode Pokemon} using this move
+ * @param target {@linkcode Pokemon} target of this move
+ * @param move {@linkcode Move} being used
+ * @param selfEffect {@linkcode Boolean} if move targets user.
+ * @returns Move chance value.
+ */
+ getMoveChance(user: Pokemon, target: Pokemon, move: Move, selfEffect?: Boolean): integer {
+ const moveChance = new Utils.NumberHolder(move.chance);
+ applyAbAttrs(MoveEffectChanceMultiplierAbAttr, user, null, moveChance, move, target, selfEffect);
+ applyPreDefendAbAttrs(IgnoreMoveEffectsAbAttr,target,user,null,null, moveChance);
+ return moveChance.value;
+ }
}
export class PreMoveMessageAttr extends MoveAttr {
@@ -824,7 +1070,7 @@ export class RecoilAttr extends MoveEffectAttr {
private unblockable: boolean;
constructor(useHp: boolean = false, damageRatio: number = 0.25, unblockable: boolean = false) {
- super(true);
+ super(true, MoveEffectTrigger.POST_APPLY, false, true);
this.useHp = useHp;
this.damageRatio = damageRatio;
@@ -845,8 +1091,8 @@ export class RecoilAttr extends MoveEffectAttr {
return false;
}
- const recoilDamage = Math.max(Math.floor((!this.useHp ? user.turnData.currDamageDealt : user.getMaxHp()) * this.damageRatio),
- user.turnData.currDamageDealt ? 1 : 0);
+ const recoilDamage = Math.max(Math.floor((!this.useHp ? user.turnData.damageDealt : user.getMaxHp()) * this.damageRatio),
+ user.turnData.damageDealt ? 1 : 0);
if (!recoilDamage) {
return false;
}
@@ -909,7 +1155,7 @@ export class SacrificialAttr extends MoveEffectAttr {
**/
export class SacrificialAttrOnHit extends MoveEffectAttr {
constructor() {
- super(true, MoveEffectTrigger.POST_TARGET);
+ super(true, MoveEffectTrigger.HIT);
}
/**
@@ -1046,11 +1292,18 @@ export class PartyStatusCureAttr extends MoveEffectAttr {
this.abilityCondition = abilityCondition;
}
+ //The same as MoveEffectAttr.canApply, except it doesn't check for the target's HP.
+ canApply(user: Pokemon, target: Pokemon, move: Move, args: any[]) {
+ const isTargetValid =
+ (this.selfTarget && user.hp && !user.getTag(BattlerTagType.FRENZY)) ||
+ (!this.selfTarget && (!target.getTag(BattlerTagType.PROTECTED) || move.hasFlag(MoveFlags.IGNORE_PROTECT)));
+ return !!isTargetValid;
+ }
+
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
- if (!super.apply(user, target, move, args)) {
+ if (!this.canApply(user, target, move, args)) {
return false;
}
-
this.addPartyCurePhase(user);
}
@@ -1262,7 +1515,7 @@ export class HitHealAttr extends MoveEffectAttr {
message = i18next.t("battle:drainMessage", {pokemonName: target.name});
} else {
// Default healing formula used by draining moves like Absorb, Draining Kiss, Bitter Blade, etc.
- healAmount = Math.max(Math.floor(user.turnData.damageDealt * this.healRatio), 1);
+ healAmount = Math.max(Math.floor(user.turnData.currDamageDealt * this.healRatio), 1);
message = i18next.t("battle:regainHealth", {pokemonName: user.name});
}
if (reverseDrain) {
@@ -1328,6 +1581,14 @@ export class IncrementMovePriorityAttr extends MoveAttr {
}
}
+/**
+ * Attribute used for attack moves that hit multiple times per use, e.g. Bullet Seed.
+ *
+ * Applied at the beginning of {@linkcode MoveEffectPhase}.
+ *
+ * @extends MoveAttr
+ * @see {@linkcode apply}
+ */
export class MultiHitAttr extends MoveAttr {
private multiHitType: MultiHitType;
@@ -1337,43 +1598,28 @@ export class MultiHitAttr extends MoveAttr {
this.multiHitType = multiHitType !== undefined ? multiHitType : MultiHitType._2_TO_5;
}
+ /**
+ * Set the hit count of an attack based on this attribute instance's {@linkcode MultiHitType}.
+ * If the target has an immunity to this attack's types, the hit count will always be 1.
+ *
+ * @param user {@linkcode Pokemon} that used the attack
+ * @param target {@linkcode Pokemon} targeted by the attack
+ * @param move {@linkcode Move} being used
+ * @param args [0] {@linkcode Utils.IntegerHolder} storing the hit count of the attack
+ * @returns True
+ */
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
let hitTimes: integer;
- const hitType = new Utils.IntegerHolder(this.multiHitType);
- applyMoveAttrs(ChangeMultiHitTypeAttr, user, target, move, hitType);
- switch (hitType.value) {
- case MultiHitType._2_TO_5:
- {
- const rand = user.randSeedInt(16);
- const hitValue = new Utils.IntegerHolder(rand);
- applyAbAttrs(MaxMultiHitAbAttr, user, null, hitValue);
- if (hitValue.value >= 10) {
- hitTimes = 2;
- } else if (hitValue.value >= 4) {
- hitTimes = 3;
- } else if (hitValue.value >= 2) {
- hitTimes = 4;
- } else {
- hitTimes = 5;
- }
- }
- break;
- case MultiHitType._2:
- hitTimes = 2;
- break;
- case MultiHitType._3:
- hitTimes = 3;
- break;
- case MultiHitType._10:
- hitTimes = 10;
- break;
- case MultiHitType.BEAT_UP:
- const party = user.isPlayer() ? user.scene.getParty() : user.scene.getEnemyParty();
- // No status means the ally pokemon can contribute to Beat Up
- hitTimes = party.reduce((total, pokemon) => {
- return total + (pokemon.id === user.id ? 1 : pokemon?.status && pokemon.status.effect !== StatusEffect.NONE ? 0 : 1);
- }, 0);
+
+ if (target.getAttackMoveEffectiveness(user, new PokemonMove(move.id)) === 0) {
+ // If there is a type immunity, the attack will stop no matter what
+ hitTimes = 1;
+ } else {
+ const hitType = new Utils.IntegerHolder(this.multiHitType);
+ applyMoveAttrs(ChangeMultiHitTypeAttr, user, target, move, hitType);
+ hitTimes = this.getHitCount(user, target);
}
+
(args[0] as Utils.IntegerHolder).value = hitTimes;
return true;
}
@@ -1381,6 +1627,49 @@ export class MultiHitAttr extends MoveAttr {
getTargetBenefitScore(user: Pokemon, target: Pokemon, move: Move): number {
return -5;
}
+
+ /**
+ * Calculate the number of hits that an attack should have given this attribute's
+ * {@linkcode MultiHitType}.
+ *
+ * @param user {@linkcode Pokemon} using the attack
+ * @param target {@linkcode Pokemon} targeted by the attack
+ * @returns The number of hits this attack should deal
+ */
+ getHitCount(user: Pokemon, target: Pokemon): integer {
+ switch (this.multiHitType) {
+ case MultiHitType._2_TO_5:
+ {
+ const rand = user.randSeedInt(16);
+ const hitValue = new Utils.IntegerHolder(rand);
+ applyAbAttrs(MaxMultiHitAbAttr, user, null, hitValue);
+ if (hitValue.value >= 10) {
+ return 2;
+ } else if (hitValue.value >= 4) {
+ return 3;
+ } else if (hitValue.value >= 2) {
+ return 4;
+ } else {
+ return 5;
+ }
+ }
+ case MultiHitType._2:
+ return 2;
+ break;
+ case MultiHitType._3:
+ return 3;
+ break;
+ case MultiHitType._10:
+ return 10;
+ break;
+ case MultiHitType.BEAT_UP:
+ const party = user.isPlayer() ? user.scene.getParty() : user.scene.getEnemyParty();
+ // No status means the ally pokemon can contribute to Beat Up
+ return party.reduce((total, pokemon) => {
+ return total + (pokemon.id === user.id ? 1 : pokemon?.status && pokemon.status.effect !== StatusEffect.NONE ? 0 : 1);
+ }, 0);
+ }
+ }
}
export class ChangeMultiHitTypeAttr extends MoveAttr {
@@ -1414,7 +1703,8 @@ export class StatusEffectAttr extends MoveEffectAttr {
}
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
- const statusCheck = move.chance < 0 || move.chance === 100 || user.randSeedInt(100) < move.chance;
+ const moveChance = this.getMoveChance(user,target,move,this.selfTarget);
+ const statusCheck = moveChance < 0 || moveChance === 100 || user.randSeedInt(100) < moveChance;
if (statusCheck) {
const pokemon = this.selfTarget ? user : target;
if (pokemon.status) {
@@ -1424,9 +1714,9 @@ export class StatusEffectAttr extends MoveEffectAttr {
return false;
}
}
- if ((!pokemon.status || (pokemon.status.effect === this.effect && move.chance < 0))
+ if ((!pokemon.status || (pokemon.status.effect === this.effect && moveChance < 0))
&& pokemon.trySetStatus(this.effect, true, user, this.cureTurn)) {
- applyPostAttackAbAttrs(ConfusionOnStatusEffectAbAttr, user, target, new PokemonMove(move.id), null,this.effect);
+ applyPostAttackAbAttrs(ConfusionOnStatusEffectAbAttr, user, target, move, null,this.effect);
return true;
}
}
@@ -1434,7 +1724,8 @@ export class StatusEffectAttr extends MoveEffectAttr {
}
getTargetBenefitScore(user: Pokemon, target: Pokemon, move: Move): number {
- return !(this.selfTarget ? user : target).status && (this.selfTarget ? user : target).canSetStatus(this.effect, true, false, user) ? Math.floor(move.chance * -0.1) : 0;
+ const moveChance = this.getMoveChance(user,target,move,this.selfTarget);
+ return !(this.selfTarget ? user : target).status && (this.selfTarget ? user : target).canSetStatus(this.effect, true, false, user) ? Math.floor(moveChance * -0.1) : 0;
}
}
@@ -1453,7 +1744,8 @@ export class MultiStatusEffectAttr extends StatusEffectAttr {
}
getTargetBenefitScore(user: Pokemon, target: Pokemon, move: Move): number {
- return !(this.selfTarget ? user : target).status && (this.selfTarget ? user : target).canSetStatus(this.effect, true, false, user) ? Math.floor(move.chance * -0.1) : 0;
+ const moveChance = this.getMoveChance(user,target,move,this.selfTarget);
+ return !(this.selfTarget ? user : target).status && (this.selfTarget ? user : target).canSetStatus(this.effect, true, false, user) ? Math.floor(moveChance * -0.1) : 0;
}
}
@@ -1471,7 +1763,7 @@ export class PsychoShiftEffectAttr extends MoveEffectAttr {
if (!target.status || (target.status.effect === statusToApply && move.chance < 0)) {
const statusAfflictResult = target.trySetStatus(statusToApply, true, user);
if (statusAfflictResult) {
- user.scene.queueMessage(getPokemonMessage(user, getStatusEffectHealText(user.status.effect)));
+ user.scene.queueMessage(getStatusEffectHealText(user.status.effect, getPokemonNameWithAffix(user)));
user.resetStatus();
user.updateInfo();
}
@@ -1485,7 +1777,11 @@ export class PsychoShiftEffectAttr extends MoveEffectAttr {
return !(this.selfTarget ? user : target).status && (this.selfTarget ? user : target).canSetStatus(user.status?.effect, true, false, user) ? Math.floor(move.chance * -0.1) : 0;
}
}
-
+/**
+ * The following needs to be implemented for Thief
+ * "If the user faints due to the target's Ability (Rough Skin or Iron Barbs) or held Rocky Helmet, it cannot remove the target's held item."
+ * "If Knock Off causes a Pokémon with the Sticky Hold Ability to faint, it can now remove that Pokémon's held item."
+ */
export class StealHeldItemChanceAttr extends MoveEffectAttr {
private chance: number;
@@ -1535,37 +1831,65 @@ export class StealHeldItemChanceAttr extends MoveEffectAttr {
}
}
+/**
+ * Removes a random held item (or berry) from target.
+ * Used for Incinerate and Knock Off.
+ * Not Implemented Cases: (Same applies for Thief)
+ * "If the user faints due to the target's Ability (Rough Skin or Iron Barbs) or held Rocky Helmet, it cannot remove the target's held item."
+ * "If Knock Off causes a Pokémon with the Sticky Hold Ability to faint, it can now remove that Pokémon's held item."
+ */
export class RemoveHeldItemAttr extends MoveEffectAttr {
- private chance: number;
- constructor(chance: number) {
+ /** Optional restriction for item pool to berries only i.e. Differentiating Incinerate and Knock Off */
+ private berriesOnly: boolean;
+
+ constructor(berriesOnly: boolean) {
super(false, MoveEffectTrigger.HIT);
- this.chance = chance;
+ this.berriesOnly = berriesOnly;
}
- apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): Promise {
- return new Promise(resolve => {
- const rand = Phaser.Math.RND.realInRange(0, 1);
- if (rand >= this.chance) {
- return resolve(false);
- }
- const heldItems = this.getTargetHeldItems(target).filter(i => i.getTransferrable(false));
- if (heldItems.length) {
- const poolType = target.isPlayer() ? ModifierPoolType.PLAYER : target.hasTrainer() ? ModifierPoolType.TRAINER : ModifierPoolType.WILD;
- const highestItemTier = heldItems.map(m => m.type.getOrInferTier(poolType)).reduce((highestTier, tier) => Math.max(tier, highestTier), 0);
- const tierHeldItems = heldItems.filter(m => m.type.getOrInferTier(poolType) === highestItemTier);
- const stolenItem = tierHeldItems[user.randSeedInt(tierHeldItems.length)];
- user.scene.tryTransferHeldItemModifier(stolenItem, user, false).then(success => {
- if (success) {
- user.scene.queueMessage(getPokemonMessage(user, ` knocked off\n${target.name}'s ${stolenItem.type.name}!`));
- }
- resolve(success);
- });
- return;
- }
+ /**
+ *
+ * @param user {@linkcode Pokemon} that used the move
+ * @param target Target {@linkcode Pokemon} that the moves applies to
+ * @param move {@linkcode Move} that is used
+ * @param args N/A
+ * @returns {boolean} True if an item was removed
+ */
+ apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
- resolve(false);
- });
+ if (!this.berriesOnly && target.isPlayer()) { // "Wild Pokemon cannot knock off Player Pokemon's held items" (See Bulbapedia)
+ return false;
+ }
+
+ const cancelled = new Utils.BooleanHolder(false);
+ applyAbAttrs(BlockItemTheftAbAttr, target, cancelled); // Check for abilities that block item theft
+
+ if (cancelled.value === true) {
+ return false;
+ }
+
+ // Considers entire transferrable item pool by default (Knock Off). Otherwise berries only if specified (Incinerate).
+ let heldItems = this.getTargetHeldItems(target).filter(i => i.getTransferrable(false));
+ if (this.berriesOnly) {
+ heldItems = heldItems.filter(m => m instanceof BerryModifier && m.pokemonId === target.id, target.isPlayer());
+ }
+
+ if (heldItems.length) {
+ const removedItem = heldItems[user.randSeedInt(heldItems.length)];
+
+ // Decrease item amount and update icon
+ !--removedItem.stackCount;
+ target.scene.updateModifiers(target.isPlayer());
+
+ if (this.berriesOnly) {
+ user.scene.queueMessage(getPokemonMessage(user, ` incinerated\n${target.name}'s ${removedItem.type.name}!`));
+ } else {
+ user.scene.queueMessage(getPokemonMessage(user, ` knocked off\n${target.name}'s ${removedItem.type.name}!`));
+ }
+ }
+
+ return true;
}
getTargetHeldItems(target: Pokemon): PokemonHeldItemModifier[] {
@@ -1585,7 +1909,7 @@ export class RemoveHeldItemAttr extends MoveEffectAttr {
}
/**
- * Attribute that causes targets of the move to eat a berry. If chosenBerry is not overriden, a random berry will be picked from the target's inventory.
+ * Attribute that causes targets of the move to eat a berry. Used for Teatime, Stuff Cheeks
*/
export class EatBerryAttr extends MoveEffectAttr {
protected chosenBerry: BerryModifier;
@@ -1594,42 +1918,29 @@ export class EatBerryAttr extends MoveEffectAttr {
this.chosenBerry = undefined;
}
/**
- * Causes the target to eat a berry.
- * @param user {@linkcode Pokemon} Pokemon that used the move
- * @param target {@linkcode Pokemon} Pokemon that will eat a berry
- * @param move {@linkcode Move} The move being used
- * @param args Unused
- * @returns {boolean} true if the function succeeds
- */
+ * Causes the target to eat a berry.
+ * @param user {@linkcode Pokemon} Pokemon that used the move
+ * @param target {@linkcode Pokemon} Pokemon that will eat a berry
+ * @param move {@linkcode Move} The move being used
+ * @param args Unused
+ * @returns {boolean} true if the function succeeds
+ */
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
if (!super.apply(user, target, move, args)) {
return false;
}
- if (this.chosenBerry === undefined) { // if no berry has been provided, pick a random berry from their inventory
- const heldBerries = this.getTargetHeldBerries(target);
- if (heldBerries.length <= 0) {
- return false;
- }
- this.chosenBerry = heldBerries[user.randSeedInt(heldBerries.length)];
+ const heldBerries = this.getTargetHeldBerries(target);
+ if (heldBerries.length <= 0) {
+ return false;
}
-
- getBerryEffectFunc(this.chosenBerry.berryType)(target); // target eats the berry
-
+ this.chosenBerry = heldBerries[user.randSeedInt(heldBerries.length)];
const preserve = new Utils.BooleanHolder(false);
- target.scene.applyModifiers(PreserveBerryModifier, target.isPlayer(), target, preserve);
-
- if (!preserve.value) { // remove the eaten berry if not preserved
- if (!--this.chosenBerry.stackCount) {
- target.scene.removeModifier(this.chosenBerry, !target.isPlayer());
- }
- target.scene.updateModifiers(target.isPlayer());
+ target.scene.applyModifiers(PreserveBerryModifier, target.isPlayer(), target, preserve); // check for berry pouch preservation
+ if (!preserve.value) {
+ this.reduceBerryModifier(target);
}
-
- this.chosenBerry = undefined;
-
- applyAbAttrs(HealFromBerryUseAbAttr, target, new Utils.BooleanHolder(false));
-
+ this.eatBerry(target);
return true;
}
@@ -1638,7 +1949,21 @@ export class EatBerryAttr extends MoveEffectAttr {
&& (m as BerryModifier).pokemonId === target.id, target.isPlayer()) as BerryModifier[];
}
+ reduceBerryModifier(target: Pokemon) {
+ if (this.chosenBerry.stackCount === 1) {
+ target.scene.removeModifier(this.chosenBerry, !target.isPlayer());
+ } else {
+ this.chosenBerry.stackCount--;
+ }
+ target.scene.updateModifiers(target.isPlayer());
+ }
+
+ eatBerry(consumer: Pokemon) {
+ getBerryEffectFunc(this.chosenBerry.berryType)(consumer); // consumer eats the berry
+ applyAbAttrs(HealFromBerryUseAbAttr, consumer, new Utils.BooleanHolder(false));
+ }
}
+
/**
* Attribute used for moves that steal a random berry from the target. The user then eats the stolen berry.
* Used for Pluck & Bug Bite.
@@ -1648,36 +1973,30 @@ export class StealEatBerryAttr extends EatBerryAttr {
super();
}
/**
- * User steals a random berry from the target and then eats it.
- * @param {Pokemon} user Pokemon that used the move and will eat the stolen berry
- * @param {Pokemon} target Pokemon that will have its berry stolen
- * @param {Move} move Move being used
- * @param {any[]} args Unused
- * @returns {boolean} true if the function succeeds
- */
+ * User steals a random berry from the target and then eats it.
+ * @param {Pokemon} user Pokemon that used the move and will eat the stolen berry
+ * @param {Pokemon} target Pokemon that will have its berry stolen
+ * @param {Move} move Move being used
+ * @param {any[]} args Unused
+ * @returns {boolean} true if the function succeeds
+ */
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
-
const cancelled = new Utils.BooleanHolder(false);
applyAbAttrs(BlockItemTheftAbAttr, target, cancelled); // check for abilities that block item theft
if (cancelled.value === true) {
return false;
}
-
const heldBerries = this.getTargetHeldBerries(target).filter(i => i.getTransferrable(false));
-
- if (heldBerries.length) { // if the target has berries, pick a random berry and steal it
- this.chosenBerry = heldBerries[user.randSeedInt(heldBerries.length)];
-
- if (this.chosenBerry.stackCount === 1) { // remove modifier if its the last berry
- target.scene.removeModifier(this.chosenBerry, !target.isPlayer());
- }
- target.scene.updateModifiers(target.isPlayer());
-
- user.scene.queueMessage(getPokemonMessage(user, ` stole and ate\n${target.name}'s ${this.chosenBerry.type.name}!`));
- return super.apply(user, user, move, args);
+ if (heldBerries.length <= 0) {
+ return false;
}
-
- return false;
+ // if the target has berries, pick a random berry and steal it
+ this.chosenBerry = heldBerries[user.randSeedInt(heldBerries.length)];
+ const message = i18next.t("battle:stealEatBerry", {pokemonName: user.name, targetName: target.name, berryName: this.chosenBerry.type.name});
+ user.scene.queueMessage(message);
+ this.reduceBerryModifier(target);
+ this.eatBerry(user);
+ return true;
}
}
@@ -1695,7 +2014,7 @@ export class HealStatusEffectAttr extends MoveEffectAttr {
* @param ...effects - List of status effects to cure
*/
constructor(selfTarget: boolean, ...effects: StatusEffect[]) {
- super(selfTarget);
+ super(selfTarget, MoveEffectTrigger.POST_APPLY, false, true);
this.effects = effects;
}
@@ -1713,7 +2032,7 @@ export class HealStatusEffectAttr extends MoveEffectAttr {
const pokemon = this.selfTarget ? user : target;
if (pokemon.status && this.effects.includes(pokemon.status.effect)) {
- pokemon.scene.queueMessage(getPokemonMessage(pokemon, getStatusEffectHealText(pokemon.status.effect)));
+ pokemon.scene.queueMessage(getStatusEffectHealText(pokemon.status.effect, getPokemonNameWithAffix(pokemon)));
pokemon.resetStatus();
pokemon.updateInfo();
@@ -1992,7 +2311,7 @@ export class DelayedAttackAttr extends OverrideMoveEffectAttr {
(args[0] as Utils.BooleanHolder).value = true;
user.scene.queueMessage(getPokemonMessage(user, ` ${this.chargeText.replace("{TARGET}", target.name)}`));
user.pushMoveHistory({ move: move.id, targets: [ target.getBattlerIndex() ], result: MoveResult.OTHER });
- user.scene.arena.addTag(this.tagType, 3, move.id, user.id, ArenaTagSide.BOTH, target.getBattlerIndex());
+ user.scene.arena.addTag(this.tagType, 3, move.id, user.id, ArenaTagSide.BOTH, false, target.getBattlerIndex());
resolve(true);
});
@@ -2009,8 +2328,8 @@ export class StatChangeAttr extends MoveEffectAttr {
private condition: MoveConditionFunc;
private showMessage: boolean;
- constructor(stats: BattleStat | BattleStat[], levels: integer, selfTarget?: boolean, condition?: MoveConditionFunc, showMessage: boolean = true, firstHitOnly: boolean = false, moveEffectTrigger: MoveEffectTrigger = MoveEffectTrigger.HIT) {
- super(selfTarget, moveEffectTrigger, firstHitOnly);
+ constructor(stats: BattleStat | BattleStat[], levels: integer, selfTarget?: boolean, condition?: MoveConditionFunc, showMessage: boolean = true, firstHitOnly: boolean = false, moveEffectTrigger: MoveEffectTrigger = MoveEffectTrigger.HIT, firstTargetOnly: boolean = false) {
+ super(selfTarget, moveEffectTrigger, firstHitOnly, false, firstTargetOnly);
this.stats = typeof(stats) === "number"
? [ stats as BattleStat ]
: stats as BattleStat[];
@@ -2024,7 +2343,8 @@ export class StatChangeAttr extends MoveEffectAttr {
return false;
}
- if (move.chance < 0 || move.chance === 100 || user.randSeedInt(100) < move.chance) {
+ const moveChance = this.getMoveChance(user,target,move,this.selfTarget);
+ if (moveChance < 0 || moveChance === 100 || user.randSeedInt(100) < moveChance) {
const levels = this.getLevels(user);
user.scene.unshiftPhase(new StatChangePhase(user.scene, (this.selfTarget ? user : target).getBattlerIndex(), this.selfTarget, this.stats, levels, this.showMessage));
return true;
@@ -2451,7 +2771,7 @@ export class DoublePowerChanceAttr extends VariablePowerAttr {
export abstract class ConsecutiveUsePowerMultiplierAttr extends MovePowerMultiplierAttr {
constructor(limit: integer, resetOnFail: boolean, resetOnLimit?: boolean, ...comboMoves: Moves[]) {
super((user: Pokemon, target: Pokemon, move: Move): number => {
- const moveHistory = user.getMoveHistory().reverse().slice(1);
+ const moveHistory = user.getLastXMoves(limit + 1).slice(1);
let count = 0;
let turnMove: TurnMove;
@@ -2641,9 +2961,29 @@ export class HpPowerAttr extends VariablePowerAttr {
}
}
+/**
+ * Attribute used for moves whose base power scales with the opponent's HP
+ * Used for Crush Grip, Wring Out, and Hard Press
+ * maxBasePower 100 for Hard Press, 120 for others
+ */
export class OpponentHighHpPowerAttr extends VariablePowerAttr {
+ maxBasePower: number;
+
+ constructor(maxBasePower: number) {
+ super();
+ this.maxBasePower = maxBasePower;
+ }
+
+ /**
+ * Changes the base power of the move to be the target's HP ratio times the maxBasePower with a min value of 1
+ * @param user n/a
+ * @param target the Pokemon being attacked
+ * @param move n/a
+ * @param args holds the base power of the move at args[0]
+ * @returns true
+ */
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
- (args[0] as Utils.NumberHolder).value = Math.max(Math.floor(120 * target.getHpRatio()), 1);
+ (args[0] as Utils.NumberHolder).value = Math.max(Math.floor(this.maxBasePower * target.getHpRatio()), 1);
return true;
}
@@ -2748,10 +3088,8 @@ export class FriendshipPowerAttr extends VariablePowerAttr {
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
const power = args[0] as Utils.NumberHolder;
- if (user instanceof PlayerPokemon) {
- const friendshipPower = Math.floor(Math.min(user.friendship, 255) / 2.5);
- power.value = Math.max(!this.invert ? friendshipPower : 102 - friendshipPower, 1);
- }
+ const friendshipPower = Math.floor(Math.min(user instanceof PlayerPokemon ? user.friendship : user.species.baseFriendship, 255) / 2.5);
+ power.value = Math.max(!this.invert ? friendshipPower : 102 - friendshipPower, 1);
return true;
}
@@ -2822,8 +3160,13 @@ export class PunishmentPowerAttr extends VariablePowerAttr {
export class PresentPowerAttr extends VariablePowerAttr {
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
+ /**
+ * If this move is multi-hit, and this attribute is applied to any hit
+ * other than the first, this move cannot result in a heal.
+ */
+ const firstHit = (user.turnData.hitCount === user.turnData.hitsLeft);
- const powerSeed = Utils.randSeedInt(100);
+ const powerSeed = Utils.randSeedInt(firstHit ? 100 : 80);
if (powerSeed <= 40) {
(args[0] as Utils.NumberHolder).value = 40;
} else if (40 < powerSeed && powerSeed <= 70) {
@@ -2831,6 +3174,8 @@ export class PresentPowerAttr extends VariablePowerAttr {
} else if (70 < powerSeed && powerSeed <= 80) {
(args[0] as Utils.NumberHolder).value = 120;
} else if (80 < powerSeed && powerSeed <= 100) {
+ // If this move is multi-hit, disable all other hits
+ user.stopMultiHit();
target.scene.unshiftPhase(new PokemonHealPhase(target.scene, target.getBattlerIndex(),
Math.max(Math.floor(target.getMaxHp() / 4), 1), getPokemonMessage(target, " regained\nhealth!"), true));
}
@@ -2839,17 +3184,6 @@ export class PresentPowerAttr extends VariablePowerAttr {
}
}
-export class KnockOffPowerAttr extends VariablePowerAttr {
- apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
- if (target.getHeldItems().length > 0) {
- (args[0] as Utils.NumberHolder).value *= 1.5;
- return true;
- }
-
- return false;
- }
-}
-
export class WaterShurikenPowerAttr extends VariablePowerAttr {
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
if (user.species.speciesId === Species.GRENINJA && user.hasAbility(Abilities.BATTLE_BOND) && user.formIndex === 2) {
@@ -3116,27 +3450,39 @@ export class VariableMoveTypeAttr extends MoveAttr {
}
}
+export class FormChangeItemTypeAttr extends VariableMoveTypeAttr {
+ apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
+ if ([user.species.speciesId, user.fusionSpecies?.speciesId].includes(Species.ARCEUS) || [user.species.speciesId, user.fusionSpecies?.speciesId].includes(Species.SILVALLY)) {
+ const form = user.species.speciesId === Species.ARCEUS || user.species.speciesId === Species.SILVALLY ? user.formIndex : user.fusionSpecies.formIndex;
+
+ move.type = Type[Type[form]];
+ return true;
+ }
+
+ return false;
+ }
+}
+
export class TechnoBlastTypeAttr extends VariableMoveTypeAttr {
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
if ([user.species.speciesId, user.fusionSpecies?.speciesId].includes(Species.GENESECT)) {
const form = user.species.speciesId === Species.GENESECT ? user.formIndex : user.fusionSpecies.formIndex;
- const type = (args[0] as Utils.IntegerHolder);
switch (form) {
case 1: // Shock Drive
- type.value = Type.ELECTRIC;
+ move.type = Type.ELECTRIC;
break;
case 2: // Burn Drive
- type.value = Type.FIRE;
+ move.type = Type.FIRE;
break;
case 3: // Chill Drive
- type.value = Type.ICE;
+ move.type = Type.ICE;
break;
case 4: // Douse Drive
- type.value = Type.WATER;
+ move.type = Type.WATER;
break;
default:
- type.value = Type.NORMAL;
+ move.type = Type.NORMAL;
break;
}
return true;
@@ -3150,14 +3496,13 @@ export class AuraWheelTypeAttr extends VariableMoveTypeAttr {
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
if ([user.species.speciesId, user.fusionSpecies?.speciesId].includes(Species.MORPEKO)) {
const form = user.species.speciesId === Species.MORPEKO ? user.formIndex : user.fusionSpecies.formIndex;
- const type = (args[0] as Utils.IntegerHolder);
switch (form) {
case 1: // Hangry Mode
- type.value = Type.DARK;
+ move.type = Type.DARK;
break;
default: // Full Belly Mode
- type.value = Type.ELECTRIC;
+ move.type = Type.ELECTRIC;
break;
}
return true;
@@ -3171,17 +3516,16 @@ export class RagingBullTypeAttr extends VariableMoveTypeAttr {
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
if ([user.species.speciesId, user.fusionSpecies?.speciesId].includes(Species.PALDEA_TAUROS)) {
const form = user.species.speciesId === Species.PALDEA_TAUROS ? user.formIndex : user.fusionSpecies.formIndex;
- const type = (args[0] as Utils.IntegerHolder);
switch (form) {
case 1: // Blaze breed
- type.value = Type.FIRE;
+ move.type = Type.FIRE;
break;
case 2: // Aqua breed
- type.value = Type.WATER;
+ move.type = Type.WATER;
break;
default:
- type.value = Type.FIGHTING;
+ move.type = Type.FIGHTING;
break;
}
return true;
@@ -3195,32 +3539,31 @@ export class IvyCudgelTypeAttr extends VariableMoveTypeAttr {
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
if ([user.species.speciesId, user.fusionSpecies?.speciesId].includes(Species.OGERPON)) {
const form = user.species.speciesId === Species.OGERPON ? user.formIndex : user.fusionSpecies.formIndex;
- const type = (args[0] as Utils.IntegerHolder);
switch (form) {
case 1: // Wellspring Mask
- type.value = Type.WATER;
+ move.type = Type.WATER;
break;
case 2: // Hearthflame Mask
- type.value = Type.FIRE;
+ move.type = Type.FIRE;
break;
case 3: // Cornerstone Mask
- type.value = Type.ROCK;
+ move.type = Type.ROCK;
break;
case 4: // Teal Mask Tera
- type.value = Type.GRASS;
+ move.type = Type.GRASS;
break;
case 5: // Wellspring Mask Tera
- type.value = Type.WATER;
+ move.type = Type.WATER;
break;
case 6: // Hearthflame Mask Tera
- type.value = Type.FIRE;
+ move.type = Type.FIRE;
break;
case 7: // Cornerstone Mask Tera
- type.value = Type.ROCK;
+ move.type = Type.ROCK;
break;
default:
- type.value = Type.GRASS;
+ move.type = Type.GRASS;
break;
}
return true;
@@ -3233,23 +3576,21 @@ export class IvyCudgelTypeAttr extends VariableMoveTypeAttr {
export class WeatherBallTypeAttr extends VariableMoveTypeAttr {
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
if (!user.scene.arena.weather?.isEffectSuppressed(user.scene)) {
- const type = (args[0] as Utils.IntegerHolder);
-
switch (user.scene.arena.weather?.weatherType) {
case WeatherType.SUNNY:
case WeatherType.HARSH_SUN:
- type.value = Type.FIRE;
+ move.type = Type.FIRE;
break;
case WeatherType.RAIN:
case WeatherType.HEAVY_RAIN:
- type.value = Type.WATER;
+ move.type = Type.WATER;
break;
case WeatherType.SANDSTORM:
- type.value = Type.ROCK;
+ move.type = Type.ROCK;
break;
case WeatherType.HAIL:
case WeatherType.SNOW:
- type.value = Type.ICE;
+ move.type = Type.ICE;
break;
default:
return false;
@@ -3281,20 +3622,18 @@ export class TerrainPulseTypeAttr extends VariableMoveTypeAttr {
}
const currentTerrain = user.scene.arena.getTerrainType();
- const type = (args[0] as Utils.IntegerHolder);
-
switch (currentTerrain) {
case TerrainType.MISTY:
- type.value = Type.FAIRY;
+ move.type = Type.FAIRY;
break;
case TerrainType.ELECTRIC:
- type.value = Type.ELECTRIC;
+ move.type = Type.ELECTRIC;
break;
case TerrainType.GRASSY:
- type.value = Type.GRASS;
+ move.type = Type.GRASS;
break;
case TerrainType.PSYCHIC:
- type.value = Type.PSYCHIC;
+ move.type = Type.PSYCHIC;
break;
default:
return false;
@@ -3305,8 +3644,6 @@ export class TerrainPulseTypeAttr extends VariableMoveTypeAttr {
export class HiddenPowerTypeAttr extends VariableMoveTypeAttr {
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
- const type = (args[0] as Utils.IntegerHolder);
-
const iv_val = Math.floor(((user.ivs[Stat.HP] & 1)
+(user.ivs[Stat.ATK] & 1) * 2
+(user.ivs[Stat.DEF] & 1) * 4
@@ -3314,7 +3651,7 @@ export class HiddenPowerTypeAttr extends VariableMoveTypeAttr {
+(user.ivs[Stat.SPATK] & 1) * 16
+(user.ivs[Stat.SPDEF] & 1) * 32) * 15/63);
- type.value = [
+ move.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,
@@ -3326,16 +3663,14 @@ export class HiddenPowerTypeAttr extends VariableMoveTypeAttr {
export class MatchUserTypeAttr extends VariableMoveTypeAttr {
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
- const type = (args[0] as Utils.IntegerHolder);
-
const userTypes = user.getTypes(true);
if (userTypes.includes(Type.STELLAR)) { // will not change to stellar type
const nonTeraTypes = user.getTypes();
- type.value = nonTeraTypes[0];
+ move.type = nonTeraTypes[0];
return true;
} else if (userTypes.length > 0) {
- type.value = userTypes[0];
+ move.type = userTypes[0];
return true;
} else {
return false;
@@ -3355,10 +3690,9 @@ export class NeutralDamageAgainstFlyingTypeMultiplierAttr extends VariableMoveTy
if (!target.getTag(BattlerTagType.IGNORE_FLYING)) {
const multiplier = args[0] as Utils.NumberHolder;
//When a flying type is hit, the first hit is always 1x multiplier. Levitating pokemon are instantly affected by typing
- if (target.isOfType(Type.FLYING)) {
+ if (target.isOfType(Type.FLYING) || target.hasAbility(Abilities.LEVITATE)) {
multiplier.value = 1;
}
- target.addTag(BattlerTagType.IGNORE_FLYING, 20, move.id, user.id); //TODO: Grounded effect should not have turn limit
return true;
}
@@ -3556,7 +3890,7 @@ export class DisableMoveAttr extends MoveEffectAttr {
export class FrenzyAttr extends MoveEffectAttr {
constructor() {
- super(true, MoveEffectTrigger.HIT);
+ super(true, MoveEffectTrigger.HIT, false, true);
}
canApply(user: Pokemon, target: Pokemon, move: Move, args: any[]) {
@@ -3599,8 +3933,8 @@ export class AddBattlerTagAttr extends MoveEffectAttr {
public turnCountMax: integer;
private failOnOverlap: boolean;
- constructor(tagType: BattlerTagType, selfTarget: boolean = false, failOnOverlap: boolean = false, turnCountMin: integer = 0, turnCountMax?: integer) {
- super(selfTarget);
+ constructor(tagType: BattlerTagType, selfTarget: boolean = false, failOnOverlap: boolean = false, turnCountMin: integer = 0, turnCountMax?: integer, lastHitOnly: boolean = false) {
+ super(selfTarget, MoveEffectTrigger.POST_APPLY, false, lastHitOnly);
this.tagType = tagType;
this.turnCountMin = turnCountMin;
@@ -3613,18 +3947,14 @@ export class AddBattlerTagAttr extends MoveEffectAttr {
return false;
}
- const chance = this.getTagChance(user, target, move);
- if (chance < 0 || chance === 100 || user.randSeedInt(100) < chance) {
+ const moveChance = this.getMoveChance(user,target,move,this.selfTarget);
+ if (moveChance < 0 || moveChance === 100 || user.randSeedInt(100) < moveChance) {
return (this.selfTarget ? user : target).addTag(this.tagType, user.randSeedInt(this.turnCountMax - this.turnCountMin, this.turnCountMin), move.id, user.id);
}
return false;
}
- getTagChance(user: Pokemon, target: Pokemon, move: Move): integer {
- return move.chance;
- }
-
getCondition(): MoveConditionFunc {
return this.failOnOverlap
? (user, target, move) => !(this.selfTarget ? user : target).getTag(this.tagType)
@@ -3661,6 +3991,8 @@ export class AddBattlerTagAttr extends MoveEffectAttr {
return -3;
case BattlerTagType.ENCORE:
return -2;
+ case BattlerTagType.MINIMIZED:
+ return 0;
case BattlerTagType.INGRAIN:
case BattlerTagType.IGNORE_ACCURACY:
case BattlerTagType.AQUA_RING:
@@ -3674,11 +4006,11 @@ export class AddBattlerTagAttr extends MoveEffectAttr {
}
getTargetBenefitScore(user: Pokemon, target: Pokemon, move: Move): integer {
- let chance = this.getTagChance(user, target, move);
- if (chance < 0) {
- chance = 100;
+ let moveChance = this.getMoveChance(user,target,move,this.selfTarget);
+ if (moveChance < 0) {
+ moveChance = 100;
}
- return Math.floor(this.getTagTargetBenefitScore(user, target, move) * (chance / 100));
+ return Math.floor(this.getTagTargetBenefitScore(user, target, move) * (moveChance / 100));
}
}
@@ -3687,12 +4019,18 @@ export class CurseAttr extends MoveEffectAttr {
apply(user: Pokemon, target: Pokemon, move:Move, args: any[]): boolean {
if (user.getTypes(true).includes(Type.GHOST)) {
if (target.getTag(BattlerTagType.CURSED)) {
- user.scene.queueMessage("But it failed!");
+ user.scene.queueMessage(i18next.t("battle:attackFailed"));
return false;
}
const curseRecoilDamage = Math.max(1, Math.floor(user.getMaxHp() / 2));
user.damageAndUpdate(curseRecoilDamage, HitResult.OTHER, false, true, true);
- user.scene.queueMessage(getPokemonMessage(user, ` cut its own HP\nand laid a curse on the ${target.name}!`));
+ user.scene.queueMessage(
+ i18next.t("battle:battlerTagsCursedOnAdd", {
+ pokemonNameWithAffix: getPokemonNameWithAffix(user),
+ pokemonName: target.name
+ })
+ );
+
target.addTag(BattlerTagType.CURSED, 0, move.id, user.id);
return true;
} else {
@@ -3761,7 +4099,7 @@ export class ConfuseAttr extends AddBattlerTagAttr {
export class RechargeAttr extends AddBattlerTagAttr {
constructor() {
- super(BattlerTagType.RECHARGING, true);
+ super(BattlerTagType.RECHARGING, true, false, 1, 1, true);
}
}
@@ -3943,15 +4281,42 @@ export class AddArenaTrapTagAttr extends AddArenaTagAttr {
getCondition(): MoveConditionFunc {
return (user, target, move) => {
const side = (this.selfSideTarget ? user : target).isPlayer() ? ArenaTagSide.PLAYER : ArenaTagSide.ENEMY;
- if (move.category !== MoveCategory.STATUS || !user.scene.arena.getTagOnSide(this.tagType, side)) {
+ const tag = user.scene.arena.getTagOnSide(this.tagType, side) as ArenaTrapTag;
+ if (!tag) {
return true;
}
- const tag = user.scene.arena.getTagOnSide(this.tagType, side) as ArenaTrapTag;
return tag.layers < tag.maxLayers;
};
}
}
+/**
+ * Attribute used for Stone Axe and Ceaseless Edge.
+ * Applies the given ArenaTrapTag when move is used.
+ * @extends AddArenaTagAttr
+ * @see {@linkcode apply}
+ */
+export class AddArenaTrapTagHitAttr extends AddArenaTagAttr {
+ /**
+ * @param user {@linkcode Pokemon} using this move
+ * @param target {@linkcode Pokemon} target of this move
+ * @param move {@linkcode Move} being used
+ */
+ apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
+ const moveChance = this.getMoveChance(user,target,move,this.selfTarget);
+ const side = (this.selfSideTarget ? user : target).isPlayer() ? ArenaTagSide.PLAYER : ArenaTagSide.ENEMY;
+ const tag = user.scene.arena.getTagOnSide(this.tagType, side) as ArenaTrapTag;
+ if ((moveChance < 0 || moveChance === 100 || user.randSeedInt(100) < moveChance)) {
+ user.scene.arena.addTag(this.tagType, 0, move.id, user.id, side);
+ if (!tag) {
+ return true;
+ }
+ return tag.layers < tag.maxLayers;
+ }
+ return false;
+ }
+}
+
export class RemoveArenaTrapAttr extends MoveEffectAttr {
private targetBothSides: boolean;
@@ -4021,6 +4386,48 @@ export class RemoveScreensAttr extends MoveEffectAttr {
}
}
+
+/*Swaps arena effects between the player and enemy side
+ * @extends MoveEffectAttr
+ * @see {@linkcode apply}
+*/
+export class SwapArenaTagsAttr extends MoveEffectAttr {
+ public SwapTags: ArenaTagType[];
+
+
+ constructor(SwapTags: ArenaTagType[]) {
+ super(true, MoveEffectTrigger.POST_APPLY);
+ this.SwapTags = SwapTags;
+ }
+
+ apply(user:Pokemon, target:Pokemon, move:Move, args: any[]): boolean {
+ if (!super.apply(user, target, move, args)) {
+ return false;
+ }
+
+ const tagPlayerTemp = user.scene.arena.findTagsOnSide((t => this.SwapTags.includes(t.tagType)), ArenaTagSide.PLAYER);
+ const tagEnemyTemp = user.scene.arena.findTagsOnSide((t => this.SwapTags.includes(t.tagType)), ArenaTagSide.ENEMY);
+
+
+ if (tagPlayerTemp) {
+ for (const swapTagsType of tagPlayerTemp) {
+ user.scene.arena.removeTagOnSide(swapTagsType.tagType, ArenaTagSide.PLAYER, true);
+ user.scene.arena.addTag(swapTagsType.tagType, swapTagsType.turnCount, swapTagsType.sourceMove, swapTagsType.sourceId, ArenaTagSide.ENEMY, true);
+ }
+ }
+ if (tagEnemyTemp) {
+ for (const swapTagsType of tagEnemyTemp) {
+ user.scene.arena.removeTagOnSide(swapTagsType.tagType, ArenaTagSide.ENEMY, true);
+ user.scene.arena.addTag(swapTagsType.tagType, swapTagsType.turnCount, swapTagsType.sourceMove, swapTagsType.sourceId, ArenaTagSide.PLAYER, true);
+ }
+ }
+
+
+ user.scene.queueMessage( `${user.name} swapped the battle effects affecting each side of the field!`);
+ return true;
+ }
+}
+
/**
* Attribute used for Revival Blessing.
* @extends MoveEffectAttr
@@ -4069,7 +4476,7 @@ export class RevivalBlessingAttr extends MoveEffectAttr {
}
resolve(true);
} else {
- user.scene.queueMessage("But it failed!");
+ user.scene.queueMessage(i18next.t("battle:attackFailed"));
resolve(false);
}
});
@@ -4089,7 +4496,7 @@ export class ForceSwitchOutAttr extends MoveEffectAttr {
private batonPass: boolean;
constructor(user?: boolean, batonPass?: boolean) {
- super(false, MoveEffectTrigger.POST_APPLY, true);
+ super(false, MoveEffectTrigger.POST_APPLY, false, true);
this.user = !!user;
this.batonPass = !!batonPass;
}
@@ -4100,7 +4507,7 @@ export class ForceSwitchOutAttr extends MoveEffectAttr {
// Check if the move category is not STATUS or if the switch out condition is not met
if (!this.getSwitchOutCondition()(user, target, move)) {
//Apply effects before switch out i.e. poison point, flame body, etc
- applyPostDefendAbAttrs(PostDefendContactApplyStatusEffectAbAttr, target, user, new PokemonMove(move.id), null);
+ applyPostDefendAbAttrs(PostDefendContactApplyStatusEffectAbAttr, target, user, move, null);
return resolve(false);
}
@@ -4181,7 +4588,7 @@ export class ForceSwitchOutAttr extends MoveEffectAttr {
}
const party = player ? user.scene.getParty() : user.scene.getEnemyParty();
- return (!player && !user.scene.currentBattle.battleType) || party.filter(p => !p.isFainted() && (player || (p as EnemyPokemon).trainerSlot === (switchOutTarget as EnemyPokemon).trainerSlot)).length > user.scene.currentBattle.getBattlerCount();
+ return (!player && !user.scene.currentBattle.battleType) || party.filter(p => p.isAllowedInBattle() && (player || (p as EnemyPokemon).trainerSlot === (switchOutTarget as EnemyPokemon).trainerSlot)).length > user.scene.currentBattle.getBattlerCount();
};
}
@@ -4204,7 +4611,7 @@ export class RemoveTypeAttr extends MoveEffectAttr {
private messageCallback: ((user: Pokemon) => void) | undefined;
constructor(removedType: Type, messageCallback?: (user: Pokemon) => void) {
- super(true, MoveEffectTrigger.POST_APPLY);
+ super(true, MoveEffectTrigger.POST_TARGET);
this.removedType = removedType;
this.messageCallback = messageCallback;
@@ -4235,7 +4642,7 @@ export class RemoveTypeAttr extends MoveEffectAttr {
export class CopyTypeAttr extends MoveEffectAttr {
constructor() {
- super(true);
+ super(false);
}
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
@@ -4601,14 +5008,36 @@ export class CopyMoveAttr extends OverrideMoveEffectAttr {
}
}
+/**
+ * Attribute used for moves that reduce PP of the target's last used move.
+ * Used for Spite.
+ */
export class ReducePpMoveAttr extends MoveEffectAttr {
+ protected reduction: number;
+ constructor(reduction: number) {
+ super();
+ this.reduction = reduction;
+ }
+
+ /**
+ * Reduces the PP of the target's last-used move by an amount based on this attribute instance's {@linkcode reduction}.
+ *
+ * @param user {@linkcode Pokemon} that used the attack
+ * @param target {@linkcode Pokemon} targeted by the attack
+ * @param move {@linkcode Move} being used
+ * @param args N/A
+ * @returns {boolean} true
+ */
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
// Null checks can be skipped due to condition function
const lastMove = target.getLastXMoves().find(() => true);
const movesetMove = target.getMoveset().find(m => m.moveId === lastMove.move);
const lastPpUsed = movesetMove.ppUsed;
- movesetMove.ppUsed = Math.min(movesetMove.ppUsed + 4, movesetMove.getMovePp());
- user.scene.queueMessage(`It reduced the PP of ${getPokemonMessage(target, `'s\n${movesetMove.getName()} by ${movesetMove.ppUsed - lastPpUsed}!`)}`);
+ movesetMove.ppUsed = Math.min(movesetMove.ppUsed + this.reduction, movesetMove.getMovePp());
+
+ const message = i18next.t("battle:ppReduced", {targetName: target.name, moveName: movesetMove.getName(), reduction: movesetMove.ppUsed - lastPpUsed});
+
+ user.scene.queueMessage(message);
return true;
}
@@ -4643,6 +5072,42 @@ export class ReducePpMoveAttr extends MoveEffectAttr {
}
}
+/**
+ * Attribute used for moves that damage target, and then reduce PP of the target's last used move.
+ * Used for Eerie Spell.
+ */
+export class AttackReducePpMoveAttr extends ReducePpMoveAttr {
+ constructor(reduction: number) {
+ super(reduction);
+ }
+
+ /**
+ * Checks if the target has used a move prior to the attack. PP-reduction is applied through the super class if so.
+ *
+ * @param user {@linkcode Pokemon} that used the attack
+ * @param target {@linkcode Pokemon} targeted by the attack
+ * @param move {@linkcode Move} being used
+ * @param args N/A
+ * @returns {boolean} true
+ */
+ apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
+ const lastMove = target.getLastXMoves().find(() => true);
+ if (lastMove) {
+ const movesetMove = target.getMoveset().find(m => m.moveId === lastMove.move);
+ if (Boolean(movesetMove?.getPpRatio())) {
+ super.apply(user, target, move, args);
+ }
+ }
+
+ return true;
+ }
+
+ // Override condition function to always perform damage. Instead, perform pp-reduction condition check in apply function above
+ getCondition(): MoveConditionFunc {
+ return (user, target, move) => true;
+ }
+}
+
// TODO: Review this
const targetMoveCopiableCondition: MoveConditionFunc = (user, target, move) => {
const targetMoves = target.getMoveHistory().filter(m => !m.virtual);
@@ -4854,7 +5319,16 @@ export class SwitchAbilitiesAttr extends MoveEffectAttr {
}
}
+/**
+ * Attribute used for moves that suppress abilities like {@linkcode Moves.GASTRO_ACID}.
+ * A suppressed ability cannot be activated.
+ *
+ * @extends MoveEffectAttr
+ * @see {@linkcode apply}
+ * @see {@linkcode getCondition}
+ */
export class SuppressAbilitiesAttr extends MoveEffectAttr {
+ /** Sets ability suppression for the target pokemon and displays a message. */
apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
if (!super.apply(user, target, move, args)) {
return false;
@@ -4862,13 +5336,43 @@ export class SuppressAbilitiesAttr extends MoveEffectAttr {
target.summonData.abilitySuppressed = true;
- target.scene.queueMessage(getPokemonMessage(target, " ability\nwas suppressed!"));
+ target.scene.queueMessage(getPokemonMessage(target, "'s ability\nwas suppressed!"));
return true;
}
+ /** Causes the effect to fail when the target's ability is unsupressable or already suppressed. */
getCondition(): MoveConditionFunc {
- return (user, target, move) => !target.getAbility().hasAttr(UnsuppressableAbilityAbAttr);
+ return (user, target, move) => !target.getAbility().hasAttr(UnsuppressableAbilityAbAttr) && !target.summonData.abilitySuppressed;
+ }
+}
+
+/**
+ * Applies the effects of {@linkcode SuppressAbilitiesAttr} if the target has already moved this turn.
+ * @extends MoveEffectAttr
+ * @see {@linkcode Moves.CORE_ENFORCER} (the move which uses this effect)
+ */
+export class SuppressAbilitiesIfActedAttr extends MoveEffectAttr {
+ /**
+ * If the target has already acted this turn, apply a {@linkcode SuppressAbilitiesAttr} effect unless the
+ * abillity cannot be suppressed. This is a secondary effect and has no bearing on the success or failure of the move.
+ *
+ * @returns True if the move occurred, otherwise false. Note that true will be returned even if the target has not
+ * yet moved or if the suppression failed to apply.
+ */
+ apply(user: Pokemon, target: Pokemon, move: Move, args: any[]): boolean {
+ if (!super.apply(user, target, move, args)) {
+ return false;
+ }
+
+ if (target.turnData.acted) {
+ const suppressAttr = new SuppressAbilitiesAttr();
+ if (suppressAttr.getCondition()(user, target, move)) {
+ suppressAttr.apply(user, target, move, args);
+ }
+ }
+
+ return true;
}
}
@@ -4915,7 +5419,7 @@ export class DiscourageFrequentUseAttr extends MoveAttr {
export class MoneyAttr extends MoveEffectAttr {
constructor() {
- super(true, MoveEffectTrigger.HIT);
+ super(true, MoveEffectTrigger.HIT, true);
}
apply(user: Pokemon, target: Pokemon, move: Move): boolean {
@@ -4965,6 +5469,32 @@ export class LastResortAttr extends MoveAttr {
}
}
+
+/**
+ * The move only works if the target has a transferable held item
+ * @extends MoveAttr
+ * @see {@linkcode getCondition}
+ */
+export class AttackedByItemAttr extends MoveAttr {
+ /**
+ * @returns the {@linkcode MoveConditionFunc} for this {@linkcode Move}
+ */
+ getCondition(): MoveConditionFunc {
+ return (user: Pokemon, target: Pokemon, move: Move) => {
+ const heldItems = target.getHeldItems().filter(i => i.getTransferrable(true));
+ if (heldItems.length === 0) {
+ return false;
+ }
+
+ const itemName = heldItems[0]?.type?.name ?? "item";
+ const attackedByItemString = ` is about to be attacked by its ${itemName}!`;
+ target.scene.queueMessage(getPokemonMessage(target, attackedByItemString));
+
+ return true;
+ };
+ }
+}
+
export class VariableTargetAttr extends MoveAttr {
private targetChangeFunc: (user: Pokemon, target: Pokemon, move: Move) => number;
@@ -5017,7 +5547,7 @@ function applyMoveAttrsInternal(attrFilter: MoveAttrFilter, user: Pokemon, targe
});
}
-export function applyMoveAttrs(attrType: { new(...args: any[]): MoveAttr }, user: Pokemon, target: Pokemon, move: Move, ...args: any[]): Promise {
+export function applyMoveAttrs(attrType: Constructor, user: Pokemon, target: Pokemon, move: Move, ...args: any[]): Promise {
return applyMoveAttrsInternal((attr: MoveAttr) => attr instanceof attrType, user, target, move, args);
}
@@ -5183,7 +5713,7 @@ export function initMoves() {
.attr(ChargeAttr, ChargeAnim.FLY_CHARGING, "flew\nup high!", BattlerTagType.FLYING)
.condition(failOnGravityCondition)
.ignoresVirtual(),
- new AttackMove(Moves.BIND, Type.NORMAL, MoveCategory.PHYSICAL, 15, 85, 20, 100, 0, 1)
+ new AttackMove(Moves.BIND, Type.NORMAL, MoveCategory.PHYSICAL, 15, 85, 20, -1, 0, 1)
.attr(TrapAttr, BattlerTagType.BIND),
new AttackMove(Moves.SLAM, Type.NORMAL, MoveCategory.PHYSICAL, 80, 75, 20, -1, 0, 1),
new AttackMove(Moves.VINE_WHIP, Type.GRASS, MoveCategory.PHYSICAL, 45, 100, 25, -1, 0, 1),
@@ -5216,7 +5746,7 @@ export function initMoves() {
.attr(MinimizeAccuracyAttr)
.attr(HitsTagAttr, BattlerTagType.MINIMIZED, true)
.attr(StatusEffectAttr, StatusEffect.PARALYSIS),
- new AttackMove(Moves.WRAP, Type.NORMAL, MoveCategory.PHYSICAL, 15, 90, 20, 100, 0, 1)
+ new AttackMove(Moves.WRAP, Type.NORMAL, MoveCategory.PHYSICAL, 15, 90, 20, -1, 0, 1)
.attr(TrapAttr, BattlerTagType.WRAP),
new AttackMove(Moves.TAKE_DOWN, Type.NORMAL, MoveCategory.PHYSICAL, 90, 85, 20, -1, 0, 1)
.attr(RecoilAttr)
@@ -5241,7 +5771,7 @@ export function initMoves() {
new AttackMove(Moves.PIN_MISSILE, Type.BUG, MoveCategory.PHYSICAL, 25, 95, 20, -1, 0, 1)
.attr(MultiHitAttr)
.makesContact(false),
- new StatusMove(Moves.LEER, Type.NORMAL, 100, 30, 100, 0, 1)
+ new StatusMove(Moves.LEER, Type.NORMAL, 100, 30, -1, 0, 1)
.attr(StatChangeAttr, BattleStat.DEF, -1)
.target(MoveTarget.ALL_NEAR_ENEMIES),
new AttackMove(Moves.BITE, Type.DARK, MoveCategory.PHYSICAL, 60, 100, 25, 30, 0, 1)
@@ -5350,7 +5880,7 @@ export function initMoves() {
.target(MoveTarget.ALL_NEAR_ENEMIES),
new AttackMove(Moves.DRAGON_RAGE, Type.DRAGON, MoveCategory.SPECIAL, -1, 100, 10, -1, 0, 1)
.attr(FixedDamageAttr, 40),
- new AttackMove(Moves.FIRE_SPIN, Type.FIRE, MoveCategory.SPECIAL, 35, 85, 15, 100, 0, 1)
+ new AttackMove(Moves.FIRE_SPIN, Type.FIRE, MoveCategory.SPECIAL, 35, 85, 15, -1, 0, 1)
.attr(TrapAttr, BattlerTagType.FIRE_SPIN),
new AttackMove(Moves.THUNDER_SHOCK, Type.ELECTRIC, MoveCategory.SPECIAL, 40, 100, 30, 10, 0, 1)
.attr(StatusEffectAttr, StatusEffect.PARALYSIS),
@@ -5466,11 +5996,11 @@ export function initMoves() {
.attr(StatusEffectAttr, StatusEffect.BURN),
new AttackMove(Moves.WATERFALL, Type.WATER, MoveCategory.PHYSICAL, 80, 100, 15, 20, 0, 1)
.attr(FlinchAttr),
- new AttackMove(Moves.CLAMP, Type.WATER, MoveCategory.PHYSICAL, 35, 85, 15, 100, 0, 1)
+ new AttackMove(Moves.CLAMP, Type.WATER, MoveCategory.PHYSICAL, 35, 85, 15, -1, 0, 1)
.attr(TrapAttr, BattlerTagType.CLAMP),
new AttackMove(Moves.SWIFT, Type.NORMAL, MoveCategory.SPECIAL, 60, -1, 20, -1, 0, 1)
.target(MoveTarget.ALL_NEAR_ENEMIES),
- new AttackMove(Moves.SKULL_BASH, Type.NORMAL, MoveCategory.PHYSICAL, 130, 100, 10, 100, 0, 1)
+ new AttackMove(Moves.SKULL_BASH, Type.NORMAL, MoveCategory.PHYSICAL, 130, 100, 10, -1, 0, 1)
.attr(ChargeAttr, ChargeAnim.SKULL_BASH_CHARGING, "lowered\nits head!", null, true)
.attr(StatChangeAttr, BattleStat.DEF, 1, true)
.ignoresVirtual(),
@@ -5619,7 +6149,7 @@ export function initMoves() {
new AttackMove(Moves.REVERSAL, Type.FIGHTING, MoveCategory.PHYSICAL, -1, 100, 15, -1, 0, 2)
.attr(LowHpPowerAttr),
new StatusMove(Moves.SPITE, Type.GHOST, 100, 10, -1, 0, 2)
- .attr(ReducePpMoveAttr),
+ .attr(ReducePpMoveAttr, 4),
new AttackMove(Moves.POWDER_SNOW, Type.ICE, MoveCategory.SPECIAL, 40, 100, 25, 10, 0, 2)
.attr(StatusEffectAttr, StatusEffect.FREEZE)
.target(MoveTarget.ALL_NEAR_ENEMIES),
@@ -5710,6 +6240,7 @@ export function initMoves() {
.attr(BypassSleepAttr)
.attr(RandomMovesetMoveAttr)
.condition(userSleptOrComatoseCondition)
+ .target(MoveTarget.ALL_ENEMIES)
.ignoresVirtual(),
new StatusMove(Moves.HEAL_BELL, Type.NORMAL, -1, 5, -1, 0, 2)
.attr(PartyStatusCureAttr, "A bell chimed!", Abilities.SOUNDPROOF)
@@ -5769,7 +6300,7 @@ export function initMoves() {
], true)
.attr(RemoveArenaTrapAttr),
new StatusMove(Moves.SWEET_SCENT, Type.NORMAL, 100, 20, -1, 0, 2)
- .attr(StatChangeAttr, BattleStat.EVA, -1)
+ .attr(StatChangeAttr, BattleStat.EVA, -2)
.target(MoveTarget.ALL_NEAR_ENEMIES),
new AttackMove(Moves.IRON_TAIL, Type.STEEL, MoveCategory.PHYSICAL, 100, 75, 15, 30, 0, 2)
.attr(StatChangeAttr, BattleStat.DEF, -1),
@@ -5818,7 +6349,7 @@ export function initMoves() {
.attr(DelayedAttackAttr, ArenaTagType.FUTURE_SIGHT, ChargeAnim.FUTURE_SIGHT_CHARGING, "foresaw\nan attack!"),
new AttackMove(Moves.ROCK_SMASH, Type.FIGHTING, MoveCategory.PHYSICAL, 40, 100, 15, 50, 0, 2)
.attr(StatChangeAttr, BattleStat.DEF, -1),
- new AttackMove(Moves.WHIRLPOOL, Type.WATER, MoveCategory.SPECIAL, 35, 85, 15, 100, 0, 2)
+ new AttackMove(Moves.WHIRLPOOL, Type.WATER, MoveCategory.SPECIAL, 35, 85, 15, -1, 0, 2)
.attr(TrapAttr, BattlerTagType.WHIRLPOOL)
.attr(HitsTagAttr, BattlerTagType.UNDERWATER, true),
new AttackMove(Moves.BEAT_UP, Type.DARK, MoveCategory.PHYSICAL, -1, 100, 10, -1, 0, 2)
@@ -5870,7 +6401,7 @@ export function initMoves() {
.attr(MovePowerMultiplierAttr, (user, target, move) => target.status?.effect === StatusEffect.PARALYSIS ? 2 : 1)
.attr(HealStatusEffectAttr, true, StatusEffect.PARALYSIS),
new SelfStatusMove(Moves.FOLLOW_ME, Type.NORMAL, -1, 20, -1, 2, 3)
- .unimplemented(),
+ .attr(AddBattlerTagAttr, BattlerTagType.CENTER_OF_ATTENTION, true),
new StatusMove(Moves.NATURE_POWER, Type.NORMAL, -1, 20, -1, 0, 3)
.attr(NaturePowerAttr)
.ignoresVirtual(),
@@ -5894,7 +6425,7 @@ export function initMoves() {
.ignoresVirtual(),
new SelfStatusMove(Moves.INGRAIN, Type.GRASS, -1, 20, -1, 0, 3)
.attr(AddBattlerTagAttr, BattlerTagType.INGRAIN, true, true),
- new AttackMove(Moves.SUPERPOWER, Type.FIGHTING, MoveCategory.PHYSICAL, 120, 100, 5, 100, 0, 3)
+ new AttackMove(Moves.SUPERPOWER, Type.FIGHTING, MoveCategory.PHYSICAL, 120, 100, 5, -1, 0, 3)
.attr(StatChangeAttr, [ BattleStat.ATK, BattleStat.DEF ], -1, true),
new SelfStatusMove(Moves.MAGIC_COAT, Type.PSYCHIC, -1, 15, -1, 4, 3)
.unimplemented(),
@@ -5908,8 +6439,8 @@ export function initMoves() {
.attr(AddBattlerTagAttr, BattlerTagType.DROWSY, false, true)
.condition((user, target, move) => !target.status),
new AttackMove(Moves.KNOCK_OFF, Type.DARK, MoveCategory.PHYSICAL, 65, 100, 20, -1, 0, 3)
- .attr(KnockOffPowerAttr)
- .partial(),
+ .attr(MovePowerMultiplierAttr, (user, target, move) => target.getHeldItems().filter(i => i.getTransferrable(false)).length > 0 ? 1.5 : 1)
+ .attr(RemoveHeldItemAttr, false),
new AttackMove(Moves.ENDEAVOR, Type.NORMAL, MoveCategory.PHYSICAL, -1, 100, 5, -1, 0, 3)
.attr(MatchHpAttr)
.condition(failOnBossCondition),
@@ -5996,7 +6527,7 @@ export function initMoves() {
.slicingMove()
.windMove()
.target(MoveTarget.ALL_NEAR_ENEMIES),
- new AttackMove(Moves.OVERHEAT, Type.FIRE, MoveCategory.SPECIAL, 130, 90, 5, 100, 0, 3)
+ new AttackMove(Moves.OVERHEAT, Type.FIRE, MoveCategory.SPECIAL, 130, 90, 5, -1, 0, 3)
.attr(StatChangeAttr, BattleStat.SPATK, -2, true)
.attr(HealStatusEffectAttr, true, StatusEffect.FREEZE),
new StatusMove(Moves.ODOR_SLEUTH, Type.NORMAL, -1, 40, -1, 0, 3)
@@ -6029,7 +6560,7 @@ export function initMoves() {
new AttackMove(Moves.SKY_UPPERCUT, Type.FIGHTING, MoveCategory.PHYSICAL, 85, 90, 15, -1, 0, 3)
.attr(HitsTagAttr, BattlerTagType.FLYING)
.punchingMove(),
- new AttackMove(Moves.SAND_TOMB, Type.GROUND, MoveCategory.PHYSICAL, 35, 85, 15, 100, 0, 3)
+ new AttackMove(Moves.SAND_TOMB, Type.GROUND, MoveCategory.PHYSICAL, 35, 85, 15, -1, 0, 3)
.attr(TrapAttr, BattlerTagType.SAND_TOMB)
.makesContact(false),
new AttackMove(Moves.SHEER_COLD, Type.ICE, MoveCategory.SPECIAL, 200, 20, 5, -1, 0, 3)
@@ -6099,11 +6630,11 @@ export function initMoves() {
.pulseMove(),
new AttackMove(Moves.DOOM_DESIRE, Type.STEEL, MoveCategory.SPECIAL, 140, 100, 5, -1, 0, 3)
.attr(DelayedAttackAttr, ArenaTagType.DOOM_DESIRE, ChargeAnim.DOOM_DESIRE_CHARGING, "chose\nDoom Desire as its destiny!"),
- new AttackMove(Moves.PSYCHO_BOOST, Type.PSYCHIC, MoveCategory.SPECIAL, 140, 90, 5, 100, 0, 3)
+ new AttackMove(Moves.PSYCHO_BOOST, Type.PSYCHIC, MoveCategory.SPECIAL, 140, 90, 5, -1, 0, 3)
.attr(StatChangeAttr, BattleStat.SPATK, -2, true),
new SelfStatusMove(Moves.ROOST, Type.FLYING, -1, 5, -1, 0, 4)
.attr(HealAttr, 0.5)
- .attr(AddBattlerTagAttr, BattlerTagType.GROUNDED, true, false, 1)
+ .attr(AddBattlerTagAttr, BattlerTagType.ROOSTED, true, false)
.triageMove(),
new StatusMove(Moves.GRAVITY, Type.PSYCHIC, -1, 5, -1, 0, 4)
.attr(AddArenaTagAttr, ArenaTagType.GRAVITY, 5)
@@ -6113,7 +6644,7 @@ export function initMoves() {
new AttackMove(Moves.WAKE_UP_SLAP, Type.FIGHTING, MoveCategory.PHYSICAL, 70, 100, 10, -1, 0, 4)
.attr(MovePowerMultiplierAttr, (user, target, move) => targetSleptOrComatoseCondition(user, target, move) ? 2 : 1)
.attr(HealStatusEffectAttr, false, StatusEffect.SLEEP),
- new AttackMove(Moves.HAMMER_ARM, Type.FIGHTING, MoveCategory.PHYSICAL, 100, 90, 10, 100, 0, 4)
+ new AttackMove(Moves.HAMMER_ARM, Type.FIGHTING, MoveCategory.PHYSICAL, 100, 90, 10, -1, 0, 4)
.attr(StatChangeAttr, BattleStat.SPD, -1, true)
.punchingMove(),
new AttackMove(Moves.GYRO_BALL, Type.STEEL, MoveCategory.PHYSICAL, -1, 100, 5, -1, 0, 4)
@@ -6147,7 +6678,7 @@ export function initMoves() {
.target(MoveTarget.ATTACKER),
new AttackMove(Moves.U_TURN, Type.BUG, MoveCategory.PHYSICAL, 70, 100, 20, -1, 0, 4)
.attr(ForceSwitchOutAttr, true, false),
- new AttackMove(Moves.CLOSE_COMBAT, Type.FIGHTING, MoveCategory.PHYSICAL, 120, 100, 5, 100, 0, 4)
+ new AttackMove(Moves.CLOSE_COMBAT, Type.FIGHTING, MoveCategory.PHYSICAL, 120, 100, 5, -1, 0, 4)
.attr(StatChangeAttr, [ BattleStat.DEF, BattleStat.SPDEF ], -1, true),
new AttackMove(Moves.PAYBACK, Type.DARK, MoveCategory.PHYSICAL, 50, 100, 10, -1, 0, 4)
.attr(MovePowerMultiplierAttr, (user, target, move) => target.getLastXMoves(1).find(m => m.turn === target.scene.currentBattle.turn) || user.scene.currentBattle.turnCommands[target.getBattlerIndex()].command === Command.BALL ? 2 : 1),
@@ -6174,7 +6705,7 @@ export function initMoves() {
.target(MoveTarget.ALL_NEAR_ENEMIES)
.unimplemented(),
new AttackMove(Moves.WRING_OUT, Type.NORMAL, MoveCategory.SPECIAL, -1, 100, 5, -1, 0, 4)
- .attr(OpponentHighHpPowerAttr)
+ .attr(OpponentHighHpPowerAttr, 120)
.makesContact(),
new SelfStatusMove(Moves.POWER_TRICK, Type.PSYCHIC, -1, 10, -1, 0, 4)
.unimplemented(),
@@ -6191,9 +6722,9 @@ export function initMoves() {
new SelfStatusMove(Moves.COPYCAT, Type.NORMAL, -1, 20, -1, 0, 4)
.attr(CopyMoveAttr)
.ignoresVirtual(),
- new StatusMove(Moves.POWER_SWAP, Type.PSYCHIC, -1, 10, -1, 0, 4)
+ new StatusMove(Moves.POWER_SWAP, Type.PSYCHIC, -1, 10, 100, 0, 4)
.unimplemented(),
- new StatusMove(Moves.GUARD_SWAP, Type.PSYCHIC, -1, 10, -1, 0, 4)
+ new StatusMove(Moves.GUARD_SWAP, Type.PSYCHIC, -1, 10, 100, 0, 4)
.unimplemented(),
new AttackMove(Moves.PUNISHMENT, Type.DARK, MoveCategory.PHYSICAL, -1, 100, 5, -1, 0, 4)
.makesContact(true)
@@ -6213,10 +6744,7 @@ export function initMoves() {
.attr(AddBattlerTagAttr, BattlerTagType.AQUA_RING, true, true),
new SelfStatusMove(Moves.MAGNET_RISE, Type.ELECTRIC, -1, 10, -1, 0, 4)
.attr(AddBattlerTagAttr, BattlerTagType.MAGNET_RISEN, true, true)
- .condition((user, target, move) => !user.scene.arena.getTag(ArenaTagType.GRAVITY) &&
- !user.getTag(BattlerTagType.IGNORE_FLYING) && !user.getTag(BattlerTagType.INGRAIN) &&
- !user.getTag(BattlerTagType.MAGNET_RISEN))
- .unimplemented(),
+ .condition((user, target, move) => !user.scene.arena.getTag(ArenaTagType.GRAVITY) && [BattlerTagType.MAGNET_RISEN, BattlerTagType.IGNORE_FLYING, BattlerTagType.INGRAIN].every((tag) => !user.getTag(tag))),
new AttackMove(Moves.FLARE_BLITZ, Type.FIRE, MoveCategory.PHYSICAL, 120, 100, 15, 10, 0, 4)
.attr(RecoilAttr, false, 0.33)
.attr(HealStatusEffectAttr, true, StatusEffect.FREEZE)
@@ -6324,7 +6852,7 @@ export function initMoves() {
.attr(AddArenaTagAttr, ArenaTagType.TRICK_ROOM, 5)
.ignoresProtect()
.target(MoveTarget.BOTH_SIDES),
- new AttackMove(Moves.DRACO_METEOR, Type.DRAGON, MoveCategory.SPECIAL, 130, 90, 5, 100, 0, 4)
+ new AttackMove(Moves.DRACO_METEOR, Type.DRAGON, MoveCategory.SPECIAL, 130, 90, 5, -1, 0, 4)
.attr(StatChangeAttr, BattleStat.SPATK, -2, true),
new AttackMove(Moves.DISCHARGE, Type.ELECTRIC, MoveCategory.SPECIAL, 80, 100, 15, 30, 0, 4)
.attr(StatusEffectAttr, StatusEffect.PARALYSIS)
@@ -6332,7 +6860,7 @@ export function initMoves() {
new AttackMove(Moves.LAVA_PLUME, Type.FIRE, MoveCategory.SPECIAL, 80, 100, 15, 30, 0, 4)
.attr(StatusEffectAttr, StatusEffect.BURN)
.target(MoveTarget.ALL_NEAR_OTHERS),
- new AttackMove(Moves.LEAF_STORM, Type.GRASS, MoveCategory.SPECIAL, 130, 90, 5, 100, 0, 4)
+ new AttackMove(Moves.LEAF_STORM, Type.GRASS, MoveCategory.SPECIAL, 130, 90, 5, -1, 0, 4)
.attr(StatChangeAttr, BattleStat.SPATK, -2, true),
new AttackMove(Moves.POWER_WHIP, Type.GRASS, MoveCategory.PHYSICAL, 120, 85, 10, -1, 0, 4),
new AttackMove(Moves.ROCK_WRECKER, Type.ROCK, MoveCategory.PHYSICAL, 150, 90, 5, -1, 0, 4)
@@ -6369,7 +6897,7 @@ export function initMoves() {
.attr(ConfuseAttr)
.soundBased(),
new AttackMove(Moves.JUDGMENT, Type.NORMAL, MoveCategory.SPECIAL, 100, 100, 10, -1, 0, 4)
- .partial(),
+ .attr(FormChangeItemTypeAttr),
new AttackMove(Moves.BUG_BITE, Type.BUG, MoveCategory.PHYSICAL, 60, 100, 20, -1, 0, 4)
.attr(StealEatBerryAttr),
new AttackMove(Moves.CHARGE_BEAM, Type.ELECTRIC, MoveCategory.SPECIAL, 50, 90, 10, 70, 0, 4)
@@ -6401,8 +6929,8 @@ export function initMoves() {
.triageMove()
.unimplemented(),
new AttackMove(Moves.CRUSH_GRIP, Type.NORMAL, MoveCategory.PHYSICAL, -1, 100, 5, -1, 0, 4)
- .attr(OpponentHighHpPowerAttr),
- new AttackMove(Moves.MAGMA_STORM, Type.FIRE, MoveCategory.SPECIAL, 100, 75, 5, 100, 0, 4)
+ .attr(OpponentHighHpPowerAttr, 120),
+ new AttackMove(Moves.MAGMA_STORM, Type.FIRE, MoveCategory.SPECIAL, 100, 75, 5, -1, 0, 4)
.attr(TrapAttr, BattlerTagType.MAGMA_STORM),
new StatusMove(Moves.DARK_VOID, Type.DARK, 50, 10, -1, 0, 4)
.attr(StatusEffectAttr, StatusEffect.SLEEP)
@@ -6438,7 +6966,7 @@ export function initMoves() {
.partial(),
new SelfStatusMove(Moves.RAGE_POWDER, Type.BUG, -1, 20, -1, 2, 5)
.powderMove()
- .unimplemented(),
+ .attr(AddBattlerTagAttr, BattlerTagType.CENTER_OF_ATTENTION, true),
new StatusMove(Moves.TELEKINESIS, Type.PSYCHIC, -1, 15, -1, 0, 5)
.condition(failOnGravityCondition)
.unimplemented(),
@@ -6447,9 +6975,9 @@ export function initMoves() {
.target(MoveTarget.BOTH_SIDES)
.unimplemented(),
new AttackMove(Moves.SMACK_DOWN, Type.ROCK, MoveCategory.PHYSICAL, 50, 100, 15, 100, 0, 5)
- .attr(AddBattlerTagAttr, BattlerTagType.IGNORE_FLYING, false, false, 5)
+ .attr(AddBattlerTagAttr, BattlerTagType.IGNORE_FLYING, false, false, 1, 1, true)
.attr(AddBattlerTagAttr, BattlerTagType.INTERRUPTED)
- .attr(RemoveBattlerTagAttr, [BattlerTagType.FLYING])
+ .attr(RemoveBattlerTagAttr, [BattlerTagType.FLYING, BattlerTagType.MAGNET_RISEN])
.attr(HitsTagAttr, BattlerTagType.FLYING, false)
.makesContact(false),
new AttackMove(Moves.STORM_THROW, Type.FIGHTING, MoveCategory.PHYSICAL, 60, 100, 10, -1, 0, 5)
@@ -6538,7 +7066,7 @@ export function initMoves() {
.attr(ForceSwitchOutAttr),
new AttackMove(Moves.INCINERATE, Type.FIRE, MoveCategory.SPECIAL, 60, 100, 15, -1, 0, 5)
.target(MoveTarget.ALL_NEAR_ENEMIES)
- .partial(),
+ .attr(RemoveHeldItemAttr, true),
new StatusMove(Moves.QUASH, Type.DARK, 100, 15, -1, 0, 5)
.unimplemented(),
new AttackMove(Moves.ACROBATICS, Type.FLYING, MoveCategory.PHYSICAL, 55, 100, 15, -1, 0, 5)
@@ -6666,7 +7194,7 @@ export function initMoves() {
new AttackMove(Moves.ICICLE_CRASH, Type.ICE, MoveCategory.PHYSICAL, 85, 90, 10, 30, 0, 5)
.attr(FlinchAttr)
.makesContact(false),
- new AttackMove(Moves.V_CREATE, Type.FIRE, MoveCategory.PHYSICAL, 180, 95, 5, 100, 0, 5)
+ new AttackMove(Moves.V_CREATE, Type.FIRE, MoveCategory.PHYSICAL, 180, 95, 5, -1, 0, 5)
.attr(StatChangeAttr, [ BattleStat.DEF, BattleStat.SPDEF, BattleStat.SPD ], -1, true),
new AttackMove(Moves.FUSION_FLARE, Type.FIRE, MoveCategory.SPECIAL, 100, 100, 5, -1, 0, 5)
.attr(HealStatusEffectAttr, true, StatusEffect.FREEZE)
@@ -6685,9 +7213,13 @@ export function initMoves() {
.condition(new FirstMoveCondition()),
new AttackMove(Moves.BELCH, Type.POISON, MoveCategory.SPECIAL, 120, 90, 10, -1, 0, 6)
.condition((user, target, move) => user.battleData.berriesEaten.length > 0),
- new StatusMove(Moves.ROTOTILLER, Type.GROUND, -1, 10, 100, 0, 6)
+ new StatusMove(Moves.ROTOTILLER, Type.GROUND, -1, 10, -1, 0, 6)
.target(MoveTarget.ALL)
- .unimplemented(),
+ .condition((user,target,move) => {
+ // If any fielded pokémon is grass-type and grounded.
+ return [...user.scene.getEnemyParty(),...user.scene.getParty()].some((poke) => poke.isOfType(Type.GRASS) && poke.isGrounded());
+ })
+ .attr(StatChangeAttr, [BattleStat.ATK, BattleStat.SPATK], 1, false, (user, target, move) => target.isOfType(Type.GRASS) && target.isGrounded()),
new StatusMove(Moves.STICKY_WEB, Type.BUG, -1, 20, -1, 0, 6)
.attr(AddArenaTrapTagAttr, ArenaTagType.STICKY_WEB)
.target(MoveTarget.ENEMY_SIDE),
@@ -6700,7 +7232,7 @@ export function initMoves() {
new StatusMove(Moves.TRICK_OR_TREAT, Type.GHOST, 100, 20, -1, 0, 6)
.attr(AddTypeAttr, Type.GHOST)
.partial(),
- new StatusMove(Moves.NOBLE_ROAR, Type.NORMAL, 100, 30, 100, 0, 6)
+ new StatusMove(Moves.NOBLE_ROAR, Type.NORMAL, 100, 30, -1, 0, 6)
.attr(StatChangeAttr, [ BattleStat.ATK, BattleStat.SPATK ], -1)
.soundBased(),
new StatusMove(Moves.ION_DELUGE, Type.ELECTRIC, -1, 25, -1, 1, 6)
@@ -6723,7 +7255,7 @@ export function initMoves() {
new AttackMove(Moves.DISARMING_VOICE, Type.FAIRY, MoveCategory.SPECIAL, 40, -1, 15, -1, 0, 6)
.soundBased()
.target(MoveTarget.ALL_NEAR_ENEMIES),
- new StatusMove(Moves.PARTING_SHOT, Type.DARK, 100, 20, 100, 0, 6)
+ new StatusMove(Moves.PARTING_SHOT, Type.DARK, 100, 20, -1, 0, 6)
.attr(StatChangeAttr, [ BattleStat.ATK, BattleStat.SPATK ], -1, false, null, true, true, MoveEffectTrigger.PRE_APPLY)
.attr(ForceSwitchOutAttr, true, false)
.soundBased(),
@@ -6736,9 +7268,9 @@ export function initMoves() {
new StatusMove(Moves.CRAFTY_SHIELD, Type.FAIRY, -1, 10, -1, 3, 6)
.target(MoveTarget.USER_SIDE)
.attr(AddArenaTagAttr, ArenaTagType.CRAFTY_SHIELD, 1, true, true),
- new StatusMove(Moves.FLOWER_SHIELD, Type.FAIRY, -1, 10, 100, 0, 6)
+ new StatusMove(Moves.FLOWER_SHIELD, Type.FAIRY, -1, 10, -1, 0, 6)
.target(MoveTarget.ALL)
- .unimplemented(),
+ .attr(StatChangeAttr, BattleStat.DEF, 1, false, (user, target, move) => target.getTypes().includes(Type.GRASS) && !target.getTag(SemiInvulnerableTag)),
new StatusMove(Moves.GRASSY_TERRAIN, Type.GRASS, -1, 10, -1, 0, 6)
.attr(TerrainChangeAttr, TerrainType.GRASSY)
.target(MoveTarget.BOTH_SIDES),
@@ -6761,9 +7293,9 @@ export function initMoves() {
.unimplemented(),
new SelfStatusMove(Moves.KINGS_SHIELD, Type.STEEL, -1, 10, -1, 4, 6)
.attr(ProtectAttr, BattlerTagType.KINGS_SHIELD),
- new StatusMove(Moves.PLAY_NICE, Type.NORMAL, -1, 20, 100, 0, 6)
+ new StatusMove(Moves.PLAY_NICE, Type.NORMAL, -1, 20, -1, 0, 6)
.attr(StatChangeAttr, BattleStat.ATK, -1),
- new StatusMove(Moves.CONFIDE, Type.NORMAL, -1, 20, 100, 0, 6)
+ new StatusMove(Moves.CONFIDE, Type.NORMAL, -1, 20, -1, 0, 6)
.attr(StatChangeAttr, BattleStat.SPATK, -1)
.soundBased(),
new AttackMove(Moves.DIAMOND_STORM, Type.ROCK, MoveCategory.PHYSICAL, 100, 95, 5, 50, 0, 6)
@@ -6789,7 +7321,7 @@ export function initMoves() {
.target(MoveTarget.NEAR_ALLY),
new StatusMove(Moves.EERIE_IMPULSE, Type.ELECTRIC, 100, 15, -1, 0, 6)
.attr(StatChangeAttr, BattleStat.SPATK, -2),
- new StatusMove(Moves.VENOM_DRENCH, Type.POISON, 100, 20, 100, 0, 6)
+ new StatusMove(Moves.VENOM_DRENCH, Type.POISON, 100, 20, -1, 0, 6)
.attr(StatChangeAttr, [ BattleStat.ATK, BattleStat.SPATK, BattleStat.SPD ], -1, false, (user, target, move) => target.status?.effect === StatusEffect.POISON || target.status?.effect === StatusEffect.TOXIC)
.target(MoveTarget.ALL_NEAR_ENEMIES),
new StatusMove(Moves.POWDER, Type.BUG, 100, 20, -1, 1, 6)
@@ -6804,8 +7336,8 @@ export function initMoves() {
.target(MoveTarget.USER_AND_ALLIES)
.condition((user, target, move) => !![ user, user.getAlly() ].filter(p => p?.isActive()).find(p => !![ Abilities.PLUS, Abilities.MINUS].find(a => p.hasAbility(a, false)))),
new StatusMove(Moves.HAPPY_HOUR, Type.NORMAL, -1, 30, -1, 0, 6) // No animation
- .target(MoveTarget.USER_SIDE)
- .unimplemented(),
+ .attr(AddArenaTagAttr, ArenaTagType.HAPPY_HOUR, null, true)
+ .target(MoveTarget.USER_SIDE),
new StatusMove(Moves.ELECTRIC_TERRAIN, Type.ELECTRIC, -1, 10, -1, 0, 6)
.attr(TerrainChangeAttr, TerrainType.ELECTRIC)
.target(MoveTarget.BOTH_SIDES),
@@ -6820,7 +7352,7 @@ export function initMoves() {
.attr(StatusEffectAttr, StatusEffect.PARALYSIS),
new AttackMove(Moves.HOLD_BACK, Type.NORMAL, MoveCategory.PHYSICAL, 40, 100, 40, -1, 0, 6)
.attr(SurviveDamageAttr),
- new AttackMove(Moves.INFESTATION, Type.BUG, MoveCategory.SPECIAL, 20, 100, 20, 100, 0, 6)
+ new AttackMove(Moves.INFESTATION, Type.BUG, MoveCategory.SPECIAL, 20, 100, 20, -1, 0, 6)
.makesContact()
.attr(TrapAttr, BattlerTagType.INFESTATION),
new AttackMove(Moves.POWER_UP_PUNCH, Type.FIGHTING, MoveCategory.PHYSICAL, 40, 100, 20, 100, 0, 6)
@@ -6829,15 +7361,16 @@ export function initMoves() {
new AttackMove(Moves.OBLIVION_WING, Type.FLYING, MoveCategory.SPECIAL, 80, 100, 10, -1, 0, 6)
.attr(HitHealAttr, 0.75)
.triageMove(),
- new AttackMove(Moves.THOUSAND_ARROWS, Type.GROUND, MoveCategory.PHYSICAL, 90, 100, 10, 100, 0, 6)
+ new AttackMove(Moves.THOUSAND_ARROWS, Type.GROUND, MoveCategory.PHYSICAL, 90, 100, 10, -1, 0, 6)
.attr(NeutralDamageAgainstFlyingTypeMultiplierAttr)
+ .attr(AddBattlerTagAttr, BattlerTagType.IGNORE_FLYING, false, false, 1, 1, true)
.attr(HitsTagAttr, BattlerTagType.FLYING, false)
.attr(AddBattlerTagAttr, BattlerTagType.INTERRUPTED)
- .attr(RemoveBattlerTagAttr, [BattlerTagType.FLYING])
+ .attr(RemoveBattlerTagAttr, [BattlerTagType.FLYING, BattlerTagType.MAGNET_RISEN])
.makesContact(false)
.target(MoveTarget.ALL_NEAR_ENEMIES),
new AttackMove(Moves.THOUSAND_WAVES, Type.GROUND, MoveCategory.PHYSICAL, 90, 100, 10, -1, 0, 6)
- .attr(AddBattlerTagAttr, BattlerTagType.TRAPPED, false, false, 1)
+ .attr(AddBattlerTagAttr, BattlerTagType.TRAPPED, false, false, 1, 1, true)
.makesContact(false)
.target(MoveTarget.ALL_NEAR_ENEMIES),
new AttackMove(Moves.LANDS_WRATH, Type.GROUND, MoveCategory.PHYSICAL, 90, 100, 10, -1, 0, 6)
@@ -6852,10 +7385,11 @@ export function initMoves() {
new AttackMove(Moves.PRECIPICE_BLADES, Type.GROUND, MoveCategory.PHYSICAL, 120, 85, 10, -1, 0, 6)
.makesContact(false)
.target(MoveTarget.ALL_NEAR_ENEMIES),
- new AttackMove(Moves.DRAGON_ASCENT, Type.FLYING, MoveCategory.PHYSICAL, 120, 100, 5, 100, 0, 6)
+ new AttackMove(Moves.DRAGON_ASCENT, Type.FLYING, MoveCategory.PHYSICAL, 120, 100, 5, -1, 0, 6)
.attr(StatChangeAttr, [ BattleStat.DEF, BattleStat.SPDEF ], -1, true),
- new AttackMove(Moves.HYPERSPACE_FURY, Type.DARK, MoveCategory.PHYSICAL, 100, -1, 5, 100, 0, 6)
+ new AttackMove(Moves.HYPERSPACE_FURY, Type.DARK, MoveCategory.PHYSICAL, 100, -1, 5, -1, 0, 6)
.attr(StatChangeAttr, BattleStat.DEF, -1, true)
+ .makesContact(false)
.ignoresProtect(),
/* Unused */
new AttackMove(Moves.BREAKNECK_BLITZ__PHYSICAL, Type.NORMAL, MoveCategory.PHYSICAL, -1, -1, 1, -1, 0, 7)
@@ -6977,23 +7511,23 @@ export function initMoves() {
.condition(new FirstMoveCondition()),
new SelfStatusMove(Moves.BANEFUL_BUNKER, Type.POISON, -1, 10, -1, 4, 7)
.attr(ProtectAttr, BattlerTagType.BANEFUL_BUNKER),
- new AttackMove(Moves.SPIRIT_SHACKLE, Type.GHOST, MoveCategory.PHYSICAL, 80, 100, 10, -1, 0, 7)
- .attr(AddBattlerTagAttr, BattlerTagType.TRAPPED, false, false, 1)
+ new AttackMove(Moves.SPIRIT_SHACKLE, Type.GHOST, MoveCategory.PHYSICAL, 80, 100, 10, 100, 0, 7)
+ .attr(AddBattlerTagAttr, BattlerTagType.TRAPPED, false, false, 1, 1, true)
.makesContact(false),
new AttackMove(Moves.DARKEST_LARIAT, Type.DARK, MoveCategory.PHYSICAL, 85, 100, 10, -1, 0, 7)
.attr(IgnoreOpponentStatChangesAttr),
- new AttackMove(Moves.SPARKLING_ARIA, Type.WATER, MoveCategory.SPECIAL, 90, 100, 10, -1, 0, 7)
+ new AttackMove(Moves.SPARKLING_ARIA, Type.WATER, MoveCategory.SPECIAL, 90, 100, 10, 100, 0, 7)
.attr(HealStatusEffectAttr, false, StatusEffect.BURN)
.soundBased()
.target(MoveTarget.ALL_NEAR_OTHERS),
- new AttackMove(Moves.ICE_HAMMER, Type.ICE, MoveCategory.PHYSICAL, 100, 90, 10, 100, 0, 7)
+ new AttackMove(Moves.ICE_HAMMER, Type.ICE, MoveCategory.PHYSICAL, 100, 90, 10, -1, 0, 7)
.attr(StatChangeAttr, BattleStat.SPD, -1, true)
.punchingMove(),
new StatusMove(Moves.FLORAL_HEALING, Type.FAIRY, -1, 10, -1, 0, 7)
.attr(BoostHealAttr, 0.5, 2/3, true, false, (user, target, move) => user.scene.arena.terrain?.terrainType === TerrainType.GRASSY)
.triageMove(),
new AttackMove(Moves.HIGH_HORSEPOWER, Type.GROUND, MoveCategory.PHYSICAL, 95, 95, 10, -1, 0, 7),
- new StatusMove(Moves.STRENGTH_SAP, Type.GRASS, 100, 10, 100, 0, 7)
+ new StatusMove(Moves.STRENGTH_SAP, Type.GRASS, 100, 10, -1, 0, 7)
.attr(HitHealAttr, null, Stat.ATK)
.attr(StatChangeAttr, BattleStat.ATK, -1)
.condition((user, target, move) => target.summonData.battleStats[BattleStat.ATK] > -6)
@@ -7005,8 +7539,8 @@ export function initMoves() {
new AttackMove(Moves.LEAFAGE, Type.GRASS, MoveCategory.PHYSICAL, 40, 100, 40, -1, 0, 7)
.makesContact(false),
new StatusMove(Moves.SPOTLIGHT, Type.NORMAL, -1, 15, -1, 3, 7)
- .unimplemented(),
- new StatusMove(Moves.TOXIC_THREAD, Type.POISON, 100, 20, 100, 0, 7)
+ .attr(AddBattlerTagAttr, BattlerTagType.CENTER_OF_ATTENTION, false),
+ new StatusMove(Moves.TOXIC_THREAD, Type.POISON, 100, 20, -1, 0, 7)
.attr(StatusEffectAttr, StatusEffect.POISON)
.attr(StatChangeAttr, BattleStat.SPD, -1),
new SelfStatusMove(Moves.LASER_FOCUS, Type.NORMAL, -1, 30, -1, 0, 7)
@@ -7021,8 +7555,8 @@ export function initMoves() {
.attr(StatusCategoryOnAllyAttr)
.attr(HealOnAllyAttr, 0.5, true, false)
.ballBombMove(),
- new AttackMove(Moves.ANCHOR_SHOT, Type.STEEL, MoveCategory.PHYSICAL, 80, 100, 20, -1, 0, 7)
- .attr(AddBattlerTagAttr, BattlerTagType.TRAPPED, false, false, 1),
+ new AttackMove(Moves.ANCHOR_SHOT, Type.STEEL, MoveCategory.PHYSICAL, 80, 100, 20, 100, 0, 7)
+ .attr(AddBattlerTagAttr, BattlerTagType.TRAPPED, false, false, 1, 1, true),
new StatusMove(Moves.PSYCHIC_TERRAIN, Type.PSYCHIC, -1, 10, -1, 0, 7)
.attr(TerrainChangeAttr, TerrainType.PSYCHIC)
.target(MoveTarget.BOTH_SIDES),
@@ -7046,16 +7580,16 @@ export function initMoves() {
new AttackMove(Moves.SMART_STRIKE, Type.STEEL, MoveCategory.PHYSICAL, 70, -1, 10, -1, 0, 7),
new StatusMove(Moves.PURIFY, Type.POISON, -1, 20, -1, 0, 7)
.condition(
- (user: Pokemon, target: Pokemon, move: Move) => isNonVolatileStatusEffect(user.status?.effect))
+ (user: Pokemon, target: Pokemon, move: Move) => isNonVolatileStatusEffect(target.status?.effect))
.attr(HealAttr, 0.5)
- .attr(HealStatusEffectAttr, true, ...getNonVolatileStatusEffects())
+ .attr(HealStatusEffectAttr, false, ...getNonVolatileStatusEffects())
.triageMove(),
new AttackMove(Moves.REVELATION_DANCE, Type.NORMAL, MoveCategory.SPECIAL, 90, 100, 15, -1, 0, 7)
.danceMove()
.attr(MatchUserTypeAttr),
new AttackMove(Moves.CORE_ENFORCER, Type.DRAGON, MoveCategory.SPECIAL, 100, 100, 10, -1, 0, 7)
.target(MoveTarget.ALL_NEAR_ENEMIES)
- .partial(),
+ .attr(SuppressAbilitiesIfActedAttr),
new AttackMove(Moves.TROP_KICK, Type.GRASS, MoveCategory.PHYSICAL, 70, 100, 15, 100, 0, 7)
.attr(StatChangeAttr, BattleStat.ATK, -1),
new StatusMove(Moves.INSTRUCT, Type.PSYCHIC, -1, 15, -1, 0, 7)
@@ -7065,7 +7599,7 @@ export function initMoves() {
.ballBombMove()
.makesContact(false)
.partial(),
- new AttackMove(Moves.CLANGING_SCALES, Type.DRAGON, MoveCategory.SPECIAL, 110, 100, 5, 100, 0, 7)
+ new AttackMove(Moves.CLANGING_SCALES, Type.DRAGON, MoveCategory.SPECIAL, 110, 100, 5, -1, 0, 7)
.attr(StatChangeAttr, BattleStat.DEF, -1, true)
.soundBased()
.target(MoveTarget.ALL_NEAR_ENEMIES),
@@ -7099,17 +7633,17 @@ export function initMoves() {
new AttackMove(Moves.PULVERIZING_PANCAKE, Type.NORMAL, MoveCategory.PHYSICAL, 210, -1, 1, -1, 0, 7)
.partial()
.ignoresVirtual(),
- new SelfStatusMove(Moves.EXTREME_EVOBOOST, Type.NORMAL, -1, 1, 100, 0, 7)
+ new SelfStatusMove(Moves.EXTREME_EVOBOOST, Type.NORMAL, -1, 1, -1, 0, 7)
.attr(StatChangeAttr, [ BattleStat.ATK, BattleStat.DEF, BattleStat.SPATK, BattleStat.SPDEF, BattleStat.SPD ], 2, true)
.ignoresVirtual(),
- new AttackMove(Moves.GENESIS_SUPERNOVA, Type.PSYCHIC, MoveCategory.SPECIAL, 185, -1, 1, -1, 0, 7)
+ new AttackMove(Moves.GENESIS_SUPERNOVA, Type.PSYCHIC, MoveCategory.SPECIAL, 185, -1, 1, 100, 0, 7)
.attr(TerrainChangeAttr, TerrainType.PSYCHIC)
.ignoresVirtual(),
/* End Unused */
new AttackMove(Moves.SHELL_TRAP, Type.FIRE, MoveCategory.SPECIAL, 150, 100, 5, -1, -3, 7)
.target(MoveTarget.ALL_NEAR_ENEMIES)
.partial(),
- new AttackMove(Moves.FLEUR_CANNON, Type.FAIRY, MoveCategory.SPECIAL, 130, 90, 5, 100, 0, 7)
+ new AttackMove(Moves.FLEUR_CANNON, Type.FAIRY, MoveCategory.SPECIAL, 130, 90, 5, -1, 0, 7)
.attr(StatChangeAttr, BattleStat.SPATK, -2, true),
new AttackMove(Moves.PSYCHIC_FANGS, Type.PSYCHIC, MoveCategory.PHYSICAL, 85, 100, 10, -1, 0, 7)
.bitingMove()
@@ -7132,14 +7666,14 @@ export function initMoves() {
new AttackMove(Moves.MOONGEIST_BEAM, Type.GHOST, MoveCategory.SPECIAL, 100, 100, 5, -1, 0, 7)
.ignoresAbilities()
.partial(),
- new StatusMove(Moves.TEARFUL_LOOK, Type.NORMAL, -1, 20, 100, 0, 7)
+ new StatusMove(Moves.TEARFUL_LOOK, Type.NORMAL, -1, 20, -1, 0, 7)
.attr(StatChangeAttr, [ BattleStat.ATK, BattleStat.SPATK ], -1),
new AttackMove(Moves.ZING_ZAP, Type.ELECTRIC, MoveCategory.PHYSICAL, 80, 100, 10, 30, 0, 7)
.attr(FlinchAttr),
new AttackMove(Moves.NATURES_MADNESS, Type.FAIRY, MoveCategory.SPECIAL, -1, 90, 10, -1, 0, 7)
.attr(TargetHalfHpDamageAttr),
new AttackMove(Moves.MULTI_ATTACK, Type.NORMAL, MoveCategory.PHYSICAL, 120, 100, 10, -1, 0, 7)
- .partial(),
+ .attr(FormChangeItemTypeAttr),
/* Unused */
new AttackMove(Moves.TEN_MILLION_VOLT_THUNDERBOLT, Type.ELECTRIC, MoveCategory.SPECIAL, 195, -1, 1, -1, 0, 7)
.partial()
@@ -7203,6 +7737,7 @@ export function initMoves() {
new AttackMove(Moves.BADDY_BAD, Type.DARK, MoveCategory.SPECIAL, 80, 95, 15, -1, 0, 7)
.attr(AddArenaTagAttr, ArenaTagType.REFLECT, 5, false, true),
new AttackMove(Moves.SAPPY_SEED, Type.GRASS, MoveCategory.PHYSICAL, 100, 90, 10, 100, 0, 7)
+ .makesContact(false)
.attr(AddBattlerTagAttr, BattlerTagType.SEEDED),
new AttackMove(Moves.FREEZY_FROST, Type.ICE, MoveCategory.SPECIAL, 100, 90, 10, -1, 0, 7)
.attr(ResetStatsAttr),
@@ -7230,12 +7765,18 @@ export function initMoves() {
.attr(AddBattlerTagAttr, BattlerTagType.TRAPPED, false, false, 1)
.attr(AddBattlerTagAttr, BattlerTagType.TRAPPED, true, false, 1)
.bitingMove(),
- new SelfStatusMove(Moves.STUFF_CHEEKS, Type.NORMAL, -1, 10, 100, 0, 8)
- .unimplemented(),
- new SelfStatusMove(Moves.NO_RETREAT, Type.FIGHTING, -1, 5, 100, 0, 8)
+ new SelfStatusMove(Moves.STUFF_CHEEKS, Type.NORMAL, -1, 10, -1, 0, 8) // TODO: Stuff Cheeks should not be selectable when the user does not have a berry, see wiki
+ .attr(EatBerryAttr)
+ .attr(StatChangeAttr, BattleStat.DEF, 2, true)
+ .condition((user) => {
+ const userBerries = user.scene.findModifiers(m => m instanceof BerryModifier);
+ return userBerries.length > 0;
+ })
+ .partial(),
+ new SelfStatusMove(Moves.NO_RETREAT, Type.FIGHTING, -1, 5, -1, 0, 8)
.attr(StatChangeAttr, [ BattleStat.ATK, BattleStat.DEF, BattleStat.SPATK, BattleStat.SPDEF, BattleStat.SPD ], 1, true)
.attr(AddBattlerTagAttr, BattlerTagType.TRAPPED, true, true, 1),
- new StatusMove(Moves.TAR_SHOT, Type.ROCK, 100, 15, 100, 0, 8)
+ new StatusMove(Moves.TAR_SHOT, Type.ROCK, 100, 15, -1, 0, 8)
.attr(StatChangeAttr, BattleStat.SPD, -1)
.partial(),
new StatusMove(Moves.MAGIC_POWDER, Type.PSYCHIC, 100, 20, -1, 0, 8)
@@ -7257,9 +7798,7 @@ export function initMoves() {
.attr(FirstAttackDoublePowerAttr)
.bitingMove(),
new StatusMove(Moves.COURT_CHANGE, Type.NORMAL, 100, 10, -1, 0, 8)
- .target(MoveTarget.BOTH_SIDES)
- .unimplemented(),
- /* Unused */
+ .attr(SwapArenaTagsAttr, [ArenaTagType.AURORA_VEIL, ArenaTagType.LIGHT_SCREEN, ArenaTagType.MIST, ArenaTagType.REFLECT, ArenaTagType.SPIKES, ArenaTagType.STEALTH_ROCK, ArenaTagType.STICKY_WEB, ArenaTagType.TAILWIND, ArenaTagType.TOXIC_SPIKES]),
new AttackMove(Moves.MAX_FLARE, Type.FIRE, MoveCategory.PHYSICAL, 10, -1, 10, -1, 0, 8)
.target(MoveTarget.NEAR_ENEMY)
.unimplemented()
@@ -7333,18 +7872,18 @@ export function initMoves() {
.unimplemented()
.ignoresVirtual(),
/* End Unused */
- new SelfStatusMove(Moves.CLANGOROUS_SOUL, Type.DRAGON, 100, 5, 100, 0, 8)
+ new SelfStatusMove(Moves.CLANGOROUS_SOUL, Type.DRAGON, 100, 5, -1, 0, 8)
.attr(CutHpStatBoostAttr, [ BattleStat.ATK, BattleStat.DEF, BattleStat.SPATK, BattleStat.SPDEF, BattleStat.SPD ], 1, 3)
.soundBased()
.danceMove(),
new AttackMove(Moves.BODY_PRESS, Type.FIGHTING, MoveCategory.PHYSICAL, 80, 100, 10, -1, 0, 8)
.attr(DefAtkAttr),
- new StatusMove(Moves.DECORATE, Type.FAIRY, -1, 15, 100, 0, 8)
+ new StatusMove(Moves.DECORATE, Type.FAIRY, -1, 15, -1, 0, 8)
.attr(StatChangeAttr, [ BattleStat.ATK, BattleStat.SPATK ], 2),
new AttackMove(Moves.DRUM_BEATING, Type.GRASS, MoveCategory.PHYSICAL, 80, 100, 10, 100, 0, 8)
.attr(StatChangeAttr, BattleStat.SPD, -1)
.makesContact(false),
- new AttackMove(Moves.SNAP_TRAP, Type.GRASS, MoveCategory.PHYSICAL, 35, 100, 15, 100, 0, 8)
+ new AttackMove(Moves.SNAP_TRAP, Type.GRASS, MoveCategory.PHYSICAL, 35, 100, 15, -1, 0, 8)
.attr(TrapAttr, BattlerTagType.SNAP_TRAP),
new AttackMove(Moves.PYRO_BALL, Type.FIRE, MoveCategory.PHYSICAL, 120, 90, 5, 10, 0, 8)
.attr(HealStatusEffectAttr, true, StatusEffect.FREEZE)
@@ -7396,7 +7935,7 @@ export function initMoves() {
new AttackMove(Moves.STEEL_ROLLER, Type.STEEL, MoveCategory.PHYSICAL, 130, 100, 5, -1, 0, 8)
.attr(ClearTerrainAttr)
.condition((user, target, move) => !!user.scene.arena.terrain),
- new AttackMove(Moves.SCALE_SHOT, Type.DRAGON, MoveCategory.PHYSICAL, 25, 90, 20, 100, 0, 8)
+ new AttackMove(Moves.SCALE_SHOT, Type.DRAGON, MoveCategory.PHYSICAL, 25, 90, 20, -1, 0, 8)
//.attr(StatChangeAttr, BattleStat.SPD, 1, true) // TODO: Have boosts only apply at end of move, not after every hit
//.attr(StatChangeAttr, BattleStat.DEF, -1, true)
.attr(MultiHitAttr)
@@ -7432,12 +7971,12 @@ export function initMoves() {
new AttackMove(Moves.LASH_OUT, Type.DARK, MoveCategory.PHYSICAL, 75, 100, 5, -1, 0, 8)
.partial(),
new AttackMove(Moves.POLTERGEIST, Type.GHOST, MoveCategory.PHYSICAL, 110, 90, 5, -1, 0, 8)
- .makesContact(false)
- .partial(),
+ .attr(AttackedByItemAttr)
+ .makesContact(false),
new StatusMove(Moves.CORROSIVE_GAS, Type.POISON, 100, 40, -1, 0, 8)
.target(MoveTarget.ALL_NEAR_OTHERS)
.unimplemented(),
- new StatusMove(Moves.COACHING, Type.FIGHTING, -1, 10, 100, 0, 8)
+ new StatusMove(Moves.COACHING, Type.FIGHTING, -1, 10, -1, 0, 8)
.attr(StatChangeAttr, [ BattleStat.ATK, BattleStat.DEF ], 1)
.target(MoveTarget.NEAR_ALLY),
new AttackMove(Moves.FLIP_TURN, Type.WATER, MoveCategory.PHYSICAL, 60, 100, 20, -1, 0, 8)
@@ -7463,7 +8002,7 @@ export function initMoves() {
.attr(MultiHitAttr, MultiHitType._3)
.attr(CritOnlyAttr)
.punchingMove(),
- new AttackMove(Moves.THUNDER_CAGE, Type.ELECTRIC, MoveCategory.SPECIAL, 80, 90, 15, 100, 0, 8)
+ new AttackMove(Moves.THUNDER_CAGE, Type.ELECTRIC, MoveCategory.SPECIAL, 80, 90, 15, -1, 0, 8)
.attr(TrapAttr, BattlerTagType.THUNDER_CAGE),
new AttackMove(Moves.DRAGON_ENERGY, Type.DRAGON, MoveCategory.SPECIAL, 150, 100, 5, -1, 0, 8)
.attr(HpPowerAttr)
@@ -7481,16 +8020,16 @@ export function initMoves() {
new AttackMove(Moves.ASTRAL_BARRAGE, Type.GHOST, MoveCategory.SPECIAL, 120, 100, 5, -1, 0, 8)
.target(MoveTarget.ALL_NEAR_ENEMIES),
new AttackMove(Moves.EERIE_SPELL, Type.PSYCHIC, MoveCategory.SPECIAL, 80, 100, 5, 100, 0, 8)
- .soundBased()
- .partial(),
+ .attr(AttackReducePpMoveAttr, 3)
+ .soundBased(),
new AttackMove(Moves.DIRE_CLAW, Type.POISON, MoveCategory.PHYSICAL, 80, 100, 15, 50, 0, 8)
.attr(MultiStatusEffectAttr, [StatusEffect.POISON, StatusEffect.PARALYSIS, StatusEffect.SLEEP]),
new AttackMove(Moves.PSYSHIELD_BASH, Type.PSYCHIC, MoveCategory.PHYSICAL, 70, 90, 10, 100, 0, 8)
.attr(StatChangeAttr, BattleStat.DEF, 1, true),
- new SelfStatusMove(Moves.POWER_SHIFT, Type.NORMAL, -1, 10, 100, 0, 8)
+ new SelfStatusMove(Moves.POWER_SHIFT, Type.NORMAL, -1, 10, -1, 0, 8)
.unimplemented(),
new AttackMove(Moves.STONE_AXE, Type.ROCK, MoveCategory.PHYSICAL, 65, 90, 15, 100, 0, 8)
- .attr(AddArenaTrapTagAttr, ArenaTagType.STEALTH_ROCK)
+ .attr(AddArenaTrapTagHitAttr, ArenaTagType.STEALTH_ROCK)
.slicingMove(),
new AttackMove(Moves.SPRINGTIDE_STORM, Type.FAIRY, MoveCategory.SPECIAL, 100, 80, 5, 30, 0, 8)
.attr(StatChangeAttr, BattleStat.ATK, -1)
@@ -7499,6 +8038,7 @@ export function initMoves() {
new AttackMove(Moves.MYSTICAL_POWER, Type.PSYCHIC, MoveCategory.SPECIAL, 70, 90, 10, 100, 0, 8)
.attr(StatChangeAttr, BattleStat.SPATK, 1, true),
new AttackMove(Moves.RAGING_FURY, Type.FIRE, MoveCategory.PHYSICAL, 120, 100, 10, -1, 0, 8)
+ .makesContact(false)
.attr(FrenzyAttr)
.attr(MissEffectAttr, frenzyMissFunc)
.target(MoveTarget.RANDOM_NEAR_ENEMY),
@@ -7508,14 +8048,16 @@ export function initMoves() {
new AttackMove(Moves.CHLOROBLAST, Type.GRASS, MoveCategory.SPECIAL, 150, 95, 5, -1, 0, 8)
.attr(RecoilAttr, true, 0.5),
new AttackMove(Moves.MOUNTAIN_GALE, Type.ICE, MoveCategory.PHYSICAL, 100, 85, 10, 30, 0, 8)
+ .makesContact(false)
.attr(FlinchAttr),
- new SelfStatusMove(Moves.VICTORY_DANCE, Type.FIGHTING, -1, 10, 100, 0, 8)
+ new SelfStatusMove(Moves.VICTORY_DANCE, Type.FIGHTING, -1, 10, -1, 0, 8)
.attr(StatChangeAttr, [ BattleStat.ATK, BattleStat.DEF, BattleStat.SPD ], 1, true)
.danceMove(),
- new AttackMove(Moves.HEADLONG_RUSH, Type.GROUND, MoveCategory.PHYSICAL, 120, 100, 5, 100, 0, 8)
+ new AttackMove(Moves.HEADLONG_RUSH, Type.GROUND, MoveCategory.PHYSICAL, 120, 100, 5, -1, 0, 8)
.attr(StatChangeAttr, [ BattleStat.DEF, BattleStat.SPDEF ], -1, true)
.punchingMove(),
new AttackMove(Moves.BARB_BARRAGE, Type.POISON, MoveCategory.PHYSICAL, 60, 100, 10, 50, 0, 8)
+ .makesContact(false)
.attr(MovePowerMultiplierAttr, (user, target, move) => target.status && (target.status.effect === StatusEffect.POISON || target.status.effect === StatusEffect.TOXIC) ? 2 : 1)
.attr(StatusEffectAttr, StatusEffect.POISON),
new AttackMove(Moves.ESPER_WING, Type.PSYCHIC, MoveCategory.SPECIAL, 80, 100, 10, 100, 0, 8)
@@ -7526,6 +8068,7 @@ export function initMoves() {
new SelfStatusMove(Moves.SHELTER, Type.STEEL, -1, 10, 100, 0, 8)
.attr(StatChangeAttr, BattleStat.DEF, 2, true),
new AttackMove(Moves.TRIPLE_ARROWS, Type.FIGHTING, MoveCategory.PHYSICAL, 90, 100, 10, 30, 0, 8)
+ .makesContact(false)
.attr(HighCritAttr)
.attr(StatChangeAttr, BattleStat.DEF, -1)
.attr(FlinchAttr)
@@ -7534,7 +8077,7 @@ export function initMoves() {
.attr(StatusEffectAttr, StatusEffect.BURN)
.attr(MovePowerMultiplierAttr, (user, target, move) => target.status ? 2 : 1),
new AttackMove(Moves.CEASELESS_EDGE, Type.DARK, MoveCategory.PHYSICAL, 65, 90, 15, 100, 0, 8)
- .attr(AddArenaTrapTagAttr, ArenaTagType.SPIKES)
+ .attr(AddArenaTrapTagHitAttr, ArenaTagType.SPIKES)
.slicingMove(),
new AttackMove(Moves.BLEAKWIND_STORM, Type.FLYING, MoveCategory.SPECIAL, 100, 80, 10, 30, 0, 8)
.attr(ThunderAccuracyAttr)
@@ -7675,15 +8218,15 @@ export function initMoves() {
.makesContact(false),
new AttackMove(Moves.LUMINA_CRASH, Type.PSYCHIC, MoveCategory.SPECIAL, 80, 100, 10, 100, 0, 9)
.attr(StatChangeAttr, BattleStat.SPDEF, -2),
- new AttackMove(Moves.ORDER_UP, Type.DRAGON, MoveCategory.PHYSICAL, 80, 100, 10, -1, 0, 9)
+ new AttackMove(Moves.ORDER_UP, Type.DRAGON, MoveCategory.PHYSICAL, 80, 100, 10, 100, 0, 9)
.makesContact(false)
.partial(),
new AttackMove(Moves.JET_PUNCH, Type.WATER, MoveCategory.PHYSICAL, 60, 100, 15, -1, 1, 9)
.punchingMove(),
- new StatusMove(Moves.SPICY_EXTRACT, Type.GRASS, -1, 15, 100, 0, 9)
+ new StatusMove(Moves.SPICY_EXTRACT, Type.GRASS, -1, 15, -1, 0, 9)
.attr(StatChangeAttr, BattleStat.ATK, 2)
.attr(StatChangeAttr, BattleStat.DEF, -2),
- new AttackMove(Moves.SPIN_OUT, Type.STEEL, MoveCategory.PHYSICAL, 100, 100, 5, 100, 0, 9)
+ new AttackMove(Moves.SPIN_OUT, Type.STEEL, MoveCategory.PHYSICAL, 100, 100, 5, -1, 0, 9)
.attr(StatChangeAttr, BattleStat.SPD, -2, true),
new AttackMove(Moves.POPULATION_BOMB, Type.NORMAL, MoveCategory.PHYSICAL, 20, 90, 10, -1, 0, 9)
.attr(MultiHitAttr, MultiHitType._10)
@@ -7697,7 +8240,7 @@ export function initMoves() {
.triageMove()
.attr(RevivalBlessingAttr)
.target(MoveTarget.USER),
- new AttackMove(Moves.SALT_CURE, Type.ROCK, MoveCategory.PHYSICAL, 40, 100, 15, -1, 0, 9)
+ new AttackMove(Moves.SALT_CURE, Type.ROCK, MoveCategory.PHYSICAL, 40, 100, 15, 100, 0, 9)
.attr(AddBattlerTagAttr, BattlerTagType.SALT_CURED)
.makesContact(false),
new AttackMove(Moves.TRIPLE_DIVE, Type.WATER, MoveCategory.PHYSICAL, 30, 95, 10, -1, 0, 9)
@@ -7739,7 +8282,7 @@ export function initMoves() {
.attr(RemoveScreensAttr),
new AttackMove(Moves.MAKE_IT_RAIN, Type.STEEL, MoveCategory.SPECIAL, 120, 100, 5, -1, 0, 9)
.attr(MoneyAttr)
- .attr(StatChangeAttr, BattleStat.SPATK, -1, true, null, true, true)
+ .attr(StatChangeAttr, BattleStat.SPATK, -1, true, null, true, false, MoveEffectTrigger.HIT, true)
.target(MoveTarget.ALL_NEAR_ENEMIES),
new AttackMove(Moves.PSYBLADE, Type.PSYCHIC, MoveCategory.PHYSICAL, 80, 100, 15, -1, 0, 9)
.attr(MovePowerMultiplierAttr, (user, target, move) => user.scene.arena.getTerrainType() === TerrainType.ELECTRIC && user.isGrounded() ? 1.5 : 1)
@@ -7760,10 +8303,9 @@ export function initMoves() {
.attr(WeatherChangeAttr, WeatherType.SNOW)
.attr(ForceSwitchOutAttr, true, false)
.target(MoveTarget.BOTH_SIDES),
- new SelfStatusMove(Moves.TIDY_UP, Type.NORMAL, -1, 10, 100, 0, 9)
+ new SelfStatusMove(Moves.TIDY_UP, Type.NORMAL, -1, 10, -1, 0, 9)
.attr(StatChangeAttr, [ BattleStat.ATK, BattleStat.SPD ], 1, true, null, true, true)
- .attr(RemoveArenaTrapAttr)
- .target(MoveTarget.BOTH_SIDES),
+ .attr(RemoveArenaTrapAttr, true),
new StatusMove(Moves.SNOWSCAPE, Type.ICE, -1, 10, -1, 0, 9)
.attr(WeatherChangeAttr, WeatherType.SNOW)
.target(MoveTarget.BOTH_SIDES),
@@ -7771,7 +8313,7 @@ export function initMoves() {
.attr(StatChangeAttr, BattleStat.SPD, -1),
new AttackMove(Moves.TRAILBLAZE, Type.GRASS, MoveCategory.PHYSICAL, 50, 100, 20, 100, 0, 9)
.attr(StatChangeAttr, BattleStat.SPD, 1, true),
- new AttackMove(Moves.CHILLING_WATER, Type.WATER, MoveCategory.SPECIAL, 50, 100, 20, -1, 0, 9)
+ new AttackMove(Moves.CHILLING_WATER, Type.WATER, MoveCategory.SPECIAL, 50, 100, 20, 100, 0, 9)
.attr(StatChangeAttr, BattleStat.ATK, -1),
new AttackMove(Moves.HYPER_DRILL, Type.NORMAL, MoveCategory.PHYSICAL, 100, 100, 5, -1, 0, 9)
.ignoresProtect(),
@@ -7833,8 +8375,7 @@ export function initMoves() {
.attr(HealStatusEffectAttr, false, StatusEffect.FREEZE)
.attr(StatusEffectAttr, StatusEffect.BURN)
.target(MoveTarget.ALL_NEAR_ENEMIES)
- .triageMove()
- .partial(),
+ .triageMove(),
new AttackMove(Moves.SYRUP_BOMB, Type.GRASS, MoveCategory.SPECIAL, 60, 85, 10, -1, 0, 9)
.attr(StatChangeAttr, BattleStat.SPD, -1) //Temporary
.ballBombMove()
@@ -7852,7 +8393,7 @@ export function initMoves() {
new AttackMove(Moves.FICKLE_BEAM, Type.DRAGON, MoveCategory.SPECIAL, 80, 100, 5, 30, 0, 9)
.attr(PreMoveMessageAttr, doublePowerChanceMessageFunc)
.attr(DoublePowerChanceAttr),
- new SelfStatusMove(Moves.BURNING_BULWARK, Type.FIRE, -1, 10, 100, 4, 9)
+ new SelfStatusMove(Moves.BURNING_BULWARK, Type.FIRE, -1, 10, -1, 4, 9)
.attr(ProtectAttr, BattlerTagType.BURNING_BULWARK),
new AttackMove(Moves.THUNDERCLAP, Type.ELECTRIC, MoveCategory.SPECIAL, 70, 100, 5, -1, 1, 9)
.condition((user, target, move) => user.scene.currentBattle.turnCommands[target.getBattlerIndex()].command === Command.FIGHT && !target.turnData.acted && allMoves[user.scene.currentBattle.turnCommands[target.getBattlerIndex()].move.move].category !== MoveCategory.STATUS),
@@ -7862,9 +8403,9 @@ export function initMoves() {
new AttackMove(Moves.TACHYON_CUTTER, Type.STEEL, MoveCategory.SPECIAL, 50, -1, 10, -1, 0, 9)
.attr(MultiHitAttr, MultiHitType._2)
.slicingMove(),
- new AttackMove(Moves.HARD_PRESS, Type.STEEL, MoveCategory.PHYSICAL, 100, 100, 5, -1, 0, 9)
- .attr(OpponentHighHpPowerAttr),
- new StatusMove(Moves.DRAGON_CHEER, Type.DRAGON, -1, 15, 100, 0, 9)
+ new AttackMove(Moves.HARD_PRESS, Type.STEEL, MoveCategory.PHYSICAL, -1, 100, 10, -1, 0, 9)
+ .attr(OpponentHighHpPowerAttr, 100),
+ new StatusMove(Moves.DRAGON_CHEER, Type.DRAGON, -1, 15, -1, 0, 9)
.attr(AddBattlerTagAttr, BattlerTagType.CRIT_BOOST, false, true)
.target(MoveTarget.NEAR_ALLY)
.partial(),
diff --git a/src/data/nature.ts b/src/data/nature.ts
index c9709d5ee4c..0d9be0f663d 100644
--- a/src/data/nature.ts
+++ b/src/data/nature.ts
@@ -1,7 +1,7 @@
import { Stat, getStatName } from "./pokemon-stat";
import * as Utils from "../utils";
import { TextStyle, getBBCodeFrag } from "../ui/text";
-import { UiTheme } from "#app/enums/ui-theme";
+import { UiTheme } from "#enums/ui-theme";
import i18next from "i18next";
export enum Nature {
diff --git a/src/data/pokeball.ts b/src/data/pokeball.ts
index de8d5456f45..5964884d967 100644
--- a/src/data/pokeball.ts
+++ b/src/data/pokeball.ts
@@ -1,5 +1,5 @@
import BattleScene from "../battle-scene";
-import i18next from "../plugins/i18n";
+import i18next from "i18next";
export enum PokeballType {
POKEBALL,
@@ -10,6 +10,8 @@ export enum PokeballType {
LUXURY_BALL
}
+export const MAX_PER_TYPE_POKEBALLS: integer = 99;
+
export function getPokeballAtlasKey(type: PokeballType): string {
switch (type) {
case PokeballType.POKEBALL:
diff --git a/src/data/pokemon-evolutions.ts b/src/data/pokemon-evolutions.ts
index 9cfcad41c08..696cf006ad0 100644
--- a/src/data/pokemon-evolutions.ts
+++ b/src/data/pokemon-evolutions.ts
@@ -1,16 +1,16 @@
import { Gender } from "./gender";
-import { Moves } from "./enums/moves";
import { PokeballType } from "./pokeball";
import Pokemon from "../field/pokemon";
import { Stat } from "./pokemon-stat";
-import { Species } from "./enums/species";
import { Type } from "./type";
import * as Utils from "../utils";
import { SpeciesFormKey } from "./pokemon-species";
import { WeatherType } from "./weather";
-import { Biome } from "./enums/biome";
-import { TimeOfDay } from "./enums/time-of-day";
import { Nature } from "./nature";
+import { Biome } from "#enums/biome";
+import { Moves } from "#enums/moves";
+import { Species } from "#enums/species";
+import { TimeOfDay } from "#enums/time-of-day";
export enum SpeciesWildEvolutionDelay {
NONE,
@@ -1618,7 +1618,8 @@ export const pokemonEvolutions: PokemonEvolutions = {
new SpeciesEvolution(Species.FROSMOTH, 1, null, new SpeciesFriendshipEvolutionCondition(90, p => p.scene.arena.getTimeOfDay() === TimeOfDay.DUSK || p.scene.arena.getTimeOfDay() === TimeOfDay.NIGHT), SpeciesWildEvolutionDelay.MEDIUM)
],
[Species.GIMMIGHOUL]: [
- new SpeciesEvolution(Species.GHOLDENGO, 1, null, new SpeciesFriendshipEvolutionCondition(70), SpeciesWildEvolutionDelay.VERY_LONG)
+ new SpeciesFormEvolution(Species.GHOLDENGO, "chest", "", 1, null, new SpeciesFriendshipEvolutionCondition(70), SpeciesWildEvolutionDelay.VERY_LONG),
+ new SpeciesFormEvolution(Species.GHOLDENGO, "roaming", "", 1, null, new SpeciesFriendshipEvolutionCondition(70), SpeciesWildEvolutionDelay.VERY_LONG)
]
};
diff --git a/src/data/pokemon-forms.ts b/src/data/pokemon-forms.ts
index d87e4d90299..ae1532f0be0 100644
--- a/src/data/pokemon-forms.ts
+++ b/src/data/pokemon-forms.ts
@@ -1,12 +1,13 @@
-import { TimeOfDay } from "./enums/time-of-day";
import { PokemonFormChangeItemModifier } from "../modifier/modifier";
import Pokemon from "../field/pokemon";
-import { Moves } from "./enums/moves";
import { SpeciesFormKey } from "./pokemon-species";
-import { Species } from "./enums/species";
import { StatusEffect } from "./status-effect";
import { MoveCategory, allMoves } from "./move";
-import { Abilities } from "./enums/abilities";
+import { Constructor } from "#app/utils";
+import { Abilities } from "#enums/abilities";
+import { Moves } from "#enums/moves";
+import { Species } from "#enums/species";
+import { TimeOfDay } from "#enums/time-of-day";
export enum FormChangeItem {
NONE,
@@ -86,7 +87,45 @@ export enum FormChangeItem {
SHOCK_DRIVE,
BURN_DRIVE,
CHILL_DRIVE,
- DOUSE_DRIVE
+ DOUSE_DRIVE,
+
+ FIST_PLATE = 100,
+ SKY_PLATE,
+ TOXIC_PLATE,
+ EARTH_PLATE,
+ STONE_PLATE,
+ INSECT_PLATE,
+ SPOOKY_PLATE,
+ IRON_PLATE,
+ FLAME_PLATE,
+ SPLASH_PLATE,
+ MEADOW_PLATE,
+ ZAP_PLATE,
+ MIND_PLATE,
+ ICICLE_PLATE,
+ DRACO_PLATE,
+ DREAD_PLATE,
+ PIXIE_PLATE,
+ BLANK_PLATE, // TODO: Find a potential use for this
+ LEGEND_PLATE, // TODO: Find a potential use for this
+ FIGHTING_MEMORY,
+ FLYING_MEMORY,
+ POISON_MEMORY,
+ GROUND_MEMORY,
+ ROCK_MEMORY,
+ BUG_MEMORY,
+ GHOST_MEMORY,
+ STEEL_MEMORY,
+ FIRE_MEMORY,
+ WATER_MEMORY,
+ GRASS_MEMORY,
+ ELECTRIC_MEMORY,
+ PSYCHIC_MEMORY,
+ ICE_MEMORY,
+ DRAGON_MEMORY,
+ DARK_MEMORY,
+ FAIRY_MEMORY,
+ BLANK_MEMORY // TODO: Find a potential use for this
}
export type SpeciesFormChangeConditionPredicate = (p: Pokemon) => boolean;
@@ -140,7 +179,7 @@ export class SpeciesFormChange {
return true;
}
- findTrigger(triggerType: { new(...args: any[]): SpeciesFormChangeTrigger }): SpeciesFormChangeTrigger {
+ findTrigger(triggerType: Constructor): SpeciesFormChangeTrigger {
if (!this.trigger.hasTriggerType(triggerType)) {
return null;
}
@@ -170,7 +209,7 @@ export abstract class SpeciesFormChangeTrigger {
return true;
}
- hasTriggerType(triggerType: { new(...args: any[]): SpeciesFormChangeTrigger }): boolean {
+ hasTriggerType(triggerType: Constructor): boolean {
return this instanceof triggerType;
}
}
@@ -198,7 +237,7 @@ export class SpeciesFormChangeCompoundTrigger {
return true;
}
- hasTriggerType(triggerType: { new(...args: any[]): SpeciesFormChangeTrigger }): boolean {
+ hasTriggerType(triggerType: Constructor): boolean {
return !!this.triggers.find(t => t.hasTriggerType(triggerType));
}
}
@@ -363,7 +402,8 @@ export const pokemonFormChanges: PokemonFormChanges = {
new SpeciesFormChange(Species.PIDGEOT, "", SpeciesFormKey.MEGA, new SpeciesFormChangeItemTrigger(FormChangeItem.PIDGEOTITE))
],
[Species.PIKACHU]: [
- new SpeciesFormChange(Species.PIKACHU, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
+ new SpeciesFormChange(Species.PIKACHU, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)),
+ new SpeciesFormChange(Species.PIKACHU, "partner", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
],
[Species.MEOWTH]: [
new SpeciesFormChange(Species.MEOWTH, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
@@ -397,7 +437,8 @@ export const pokemonFormChanges: PokemonFormChanges = {
new SpeciesFormChange(Species.LAPRAS, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
],
[Species.EEVEE]: [
- new SpeciesFormChange(Species.EEVEE, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
+ new SpeciesFormChange(Species.EEVEE, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS)),
+ new SpeciesFormChange(Species.EEVEE, "partner", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
],
[Species.SNORLAX]: [
new SpeciesFormChange(Species.SNORLAX, "", SpeciesFormKey.GIGANTAMAX, new SpeciesFormChangeItemTrigger(FormChangeItem.MAX_MUSHROOMS))
@@ -531,6 +572,25 @@ export const pokemonFormChanges: PokemonFormChanges = {
new SpeciesFormChange(Species.SHAYMIN, "sky", "land", new SpeciesFormChangeTimeOfDayTrigger(TimeOfDay.DAWN, TimeOfDay.NIGHT)),
new SpeciesFormChange(Species.SHAYMIN, "sky", "land", new SpeciesFormChangeStatusEffectTrigger(StatusEffect.FREEZE))
],
+ [Species.ARCEUS]: [
+ new SpeciesFormChange(Species.ARCEUS, "normal", "fighting", new SpeciesFormChangeItemTrigger(FormChangeItem.FIST_PLATE)),
+ new SpeciesFormChange(Species.ARCEUS, "normal", "flying", new SpeciesFormChangeItemTrigger(FormChangeItem.SKY_PLATE)),
+ new SpeciesFormChange(Species.ARCEUS, "normal", "poison", new SpeciesFormChangeItemTrigger(FormChangeItem.TOXIC_PLATE)),
+ new SpeciesFormChange(Species.ARCEUS, "normal", "ground", new SpeciesFormChangeItemTrigger(FormChangeItem.EARTH_PLATE)),
+ new SpeciesFormChange(Species.ARCEUS, "normal", "rock", new SpeciesFormChangeItemTrigger(FormChangeItem.STONE_PLATE)),
+ new SpeciesFormChange(Species.ARCEUS, "normal", "bug", new SpeciesFormChangeItemTrigger(FormChangeItem.INSECT_PLATE)),
+ new SpeciesFormChange(Species.ARCEUS, "normal", "ghost", new SpeciesFormChangeItemTrigger(FormChangeItem.SPOOKY_PLATE)),
+ new SpeciesFormChange(Species.ARCEUS, "normal", "steel", new SpeciesFormChangeItemTrigger(FormChangeItem.IRON_PLATE)),
+ new SpeciesFormChange(Species.ARCEUS, "normal", "fire", new SpeciesFormChangeItemTrigger(FormChangeItem.FLAME_PLATE)),
+ new SpeciesFormChange(Species.ARCEUS, "normal", "water", new SpeciesFormChangeItemTrigger(FormChangeItem.SPLASH_PLATE)),
+ new SpeciesFormChange(Species.ARCEUS, "normal", "grass", new SpeciesFormChangeItemTrigger(FormChangeItem.MEADOW_PLATE)),
+ new SpeciesFormChange(Species.ARCEUS, "normal", "electric", new SpeciesFormChangeItemTrigger(FormChangeItem.ZAP_PLATE)),
+ new SpeciesFormChange(Species.ARCEUS, "normal", "psychic", new SpeciesFormChangeItemTrigger(FormChangeItem.MIND_PLATE)),
+ new SpeciesFormChange(Species.ARCEUS, "normal", "ice", new SpeciesFormChangeItemTrigger(FormChangeItem.ICICLE_PLATE)),
+ new SpeciesFormChange(Species.ARCEUS, "normal", "dragon", new SpeciesFormChangeItemTrigger(FormChangeItem.DRACO_PLATE)),
+ new SpeciesFormChange(Species.ARCEUS, "normal", "dark", new SpeciesFormChangeItemTrigger(FormChangeItem.DREAD_PLATE)),
+ new SpeciesFormChange(Species.ARCEUS, "normal", "fairy", new SpeciesFormChangeItemTrigger(FormChangeItem.PIXIE_PLATE))
+ ],
[Species.DARMANITAN]: [
new SpeciesFormChange(Species.DARMANITAN, "", "zen", new SpeciesFormChangeManualTrigger(), true),
new SpeciesFormChange(Species.DARMANITAN, "zen", "", new SpeciesFormChangeManualTrigger(), true)
@@ -579,6 +639,10 @@ export const pokemonFormChanges: PokemonFormChanges = {
new SpeciesFormChange(Species.AEGISLASH, "shield", "blade", new SpeciesFormChangePreMoveTrigger(m => allMoves[m].category !== MoveCategory.STATUS), true, new SpeciesFormChangeCondition(p => p.hasAbility(Abilities.STANCE_CHANGE))),
new SpeciesFormChange(Species.AEGISLASH, "blade", "shield", new SpeciesFormChangeActiveTrigger(false), true)
],
+ [Species.XERNEAS]: [
+ new SpeciesFormChange(Species.XERNEAS, "neutral", "active", new SpeciesFormChangeActiveTrigger(true), true),
+ new SpeciesFormChange(Species.XERNEAS, "active", "neutral", new SpeciesFormChangeActiveTrigger(false), true)
+ ],
[Species.ZYGARDE]: [
new SpeciesFormChange(Species.ZYGARDE, "50-pc", "complete", new SpeciesFormChangeManualTrigger(), true),
new SpeciesFormChange(Species.ZYGARDE, "complete", "50-pc", new SpeciesFormChangeManualTrigger(), true),
@@ -595,6 +659,25 @@ export const pokemonFormChanges: PokemonFormChanges = {
new SpeciesFormChange(Species.WISHIWASHI, "", "school", new SpeciesFormChangeManualTrigger(), true),
new SpeciesFormChange(Species.WISHIWASHI, "school", "", new SpeciesFormChangeManualTrigger(), true)
],
+ [Species.SILVALLY]: [
+ new SpeciesFormChange(Species.SILVALLY, "normal", "fighting", new SpeciesFormChangeItemTrigger(FormChangeItem.FIGHTING_MEMORY)),
+ new SpeciesFormChange(Species.SILVALLY, "normal", "flying", new SpeciesFormChangeItemTrigger(FormChangeItem.FLYING_MEMORY)),
+ new SpeciesFormChange(Species.SILVALLY, "normal", "poison", new SpeciesFormChangeItemTrigger(FormChangeItem.POISON_MEMORY)),
+ new SpeciesFormChange(Species.SILVALLY, "normal", "ground", new SpeciesFormChangeItemTrigger(FormChangeItem.GROUND_MEMORY)),
+ new SpeciesFormChange(Species.SILVALLY, "normal", "rock", new SpeciesFormChangeItemTrigger(FormChangeItem.ROCK_MEMORY)),
+ new SpeciesFormChange(Species.SILVALLY, "normal", "bug", new SpeciesFormChangeItemTrigger(FormChangeItem.BUG_MEMORY)),
+ new SpeciesFormChange(Species.SILVALLY, "normal", "ghost", new SpeciesFormChangeItemTrigger(FormChangeItem.GHOST_MEMORY)),
+ new SpeciesFormChange(Species.SILVALLY, "normal", "steel", new SpeciesFormChangeItemTrigger(FormChangeItem.STEEL_MEMORY)),
+ new SpeciesFormChange(Species.SILVALLY, "normal", "fire", new SpeciesFormChangeItemTrigger(FormChangeItem.FIRE_MEMORY)),
+ new SpeciesFormChange(Species.SILVALLY, "normal", "water", new SpeciesFormChangeItemTrigger(FormChangeItem.WATER_MEMORY)),
+ new SpeciesFormChange(Species.SILVALLY, "normal", "grass", new SpeciesFormChangeItemTrigger(FormChangeItem.GRASS_MEMORY)),
+ new SpeciesFormChange(Species.SILVALLY, "normal", "electric", new SpeciesFormChangeItemTrigger(FormChangeItem.ELECTRIC_MEMORY)),
+ new SpeciesFormChange(Species.SILVALLY, "normal", "psychic", new SpeciesFormChangeItemTrigger(FormChangeItem.PSYCHIC_MEMORY)),
+ new SpeciesFormChange(Species.SILVALLY, "normal", "ice", new SpeciesFormChangeItemTrigger(FormChangeItem.ICE_MEMORY)),
+ new SpeciesFormChange(Species.SILVALLY, "normal", "dragon", new SpeciesFormChangeItemTrigger(FormChangeItem.DRAGON_MEMORY)),
+ new SpeciesFormChange(Species.SILVALLY, "normal", "dark", new SpeciesFormChangeItemTrigger(FormChangeItem.DARK_MEMORY)),
+ new SpeciesFormChange(Species.SILVALLY, "normal", "fairy", new SpeciesFormChangeItemTrigger(FormChangeItem.FAIRY_MEMORY))
+ ],
[Species.MINIOR]: [
new SpeciesFormChange(Species.MINIOR, "red-meteor", "red", new SpeciesFormChangeManualTrigger(), true),
new SpeciesFormChange(Species.MINIOR, "red", "red-meteor", new SpeciesFormChangeManualTrigger(), true),
@@ -730,6 +813,10 @@ export const pokemonFormChanges: PokemonFormChanges = {
[Species.GALAR_DARMANITAN]: [
new SpeciesFormChange(Species.GALAR_DARMANITAN, "", "zen", new SpeciesFormChangeManualTrigger(), true),
new SpeciesFormChange(Species.GALAR_DARMANITAN, "zen", "", new SpeciesFormChangeManualTrigger(), true)
+ ],
+ [Species.EISCUE]: [
+ new SpeciesFormChange(Species.EISCUE, "", "no-ice", new SpeciesFormChangeManualTrigger(), true),
+ new SpeciesFormChange(Species.EISCUE, "no-ice", "", new SpeciesFormChangeManualTrigger(), true),
]
};
diff --git a/src/data/pokemon-level-moves.ts b/src/data/pokemon-level-moves.ts
index 18d83f452cf..53272ed5beb 100644
--- a/src/data/pokemon-level-moves.ts
+++ b/src/data/pokemon-level-moves.ts
@@ -1,5 +1,5 @@
-import { Moves } from "./enums/moves";
-import { Species } from "./enums/species";
+import { Moves } from "#enums/moves";
+import { Species } from "#enums/species";
export type LevelMoves = ([integer, Moves])[];
@@ -15,6 +15,11 @@ interface PokemonSpeciesFormLevelMoves {
[key: integer]: PokemonFormLevelMoves
}
+/** Moves that can only be learned with a memory-mushroom */
+const RELEARN_MOVE = -1;
+/** Moves that can only be learned with an evolve */
+const EVOLVE_MOVE = 0;
+
export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[Species.BULBASAUR]: [
[ 1, Moves.TACKLE ],
@@ -51,7 +56,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 50, Moves.SOLAR_BEAM ],
],
[Species.VENUSAUR]: [
- [ 0, Moves.PETAL_BLIZZARD ],
+ [ EVOLVE_MOVE, Moves.PETAL_BLIZZARD ],
[ 1, Moves.GROWTH ],
[ 1, Moves.PETAL_DANCE ],
[ 1, Moves.VINE_WHIP ],
@@ -97,7 +102,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 54, Moves.FLARE_BLITZ ],
],
[Species.CHARIZARD]: [
- [ 0, Moves.AIR_SLASH ],
+ [ EVOLVE_MOVE, Moves.AIR_SLASH ],
[ 1, Moves.SCRATCH ],
[ 1, Moves.GROWL ],
[ 1, Moves.EMBER ],
@@ -146,7 +151,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 50, Moves.WAVE_CRASH ],
],
[Species.BLASTOISE]: [
- [ 0, Moves.FLASH_CANNON ],
+ [ EVOLVE_MOVE, Moves.FLASH_CANNON ],
[ 1, Moves.TACKLE ],
[ 1, Moves.TAIL_WHIP ],
[ 1, Moves.WATER_GUN ],
@@ -168,11 +173,11 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 9, Moves.BUG_BITE ],
],
[Species.METAPOD]: [
- [ 0, Moves.HARDEN ],
+ [ EVOLVE_MOVE, Moves.HARDEN ],
[ 1, Moves.HARDEN ],
],
[Species.BUTTERFREE]: [
- [ 0, Moves.GUST ],
+ [ EVOLVE_MOVE, Moves.GUST ],
[ 1, Moves.TACKLE ],
[ 1, Moves.STRING_SHOT ],
[ 1, Moves.HARDEN ],
@@ -197,11 +202,11 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 9, Moves.BUG_BITE ],
],
[Species.KAKUNA]: [
- [ 0, Moves.HARDEN ],
+ [ EVOLVE_MOVE, Moves.HARDEN ],
[ 1, Moves.HARDEN ],
],
[Species.BEEDRILL]: [
- [ 0, Moves.TWINEEDLE ],
+ [ EVOLVE_MOVE, Moves.TWINEEDLE ],
[ 1, Moves.FURY_ATTACK ],
[ 11, Moves.FURY_CUTTER ],
[ 14, Moves.RAGE ],
@@ -285,7 +290,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 34, Moves.ENDEAVOR ],
],
[Species.RATICATE]: [
- [ 0, Moves.SCARY_FACE ],
+ [ EVOLVE_MOVE, Moves.SCARY_FACE ],
[ 1, Moves.SWORDS_DANCE ],
[ 1, Moves.TACKLE ],
[ 1, Moves.TAIL_WHIP ],
@@ -354,7 +359,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 49, Moves.GUNK_SHOT ],
],
[Species.ARBOK]: [
- [ 0, Moves.CRUNCH ],
+ [ EVOLVE_MOVE, Moves.CRUNCH ],
[ 1, Moves.WRAP ],
[ 1, Moves.POISON_STING ],
[ 1, Moves.LEER ],
@@ -400,7 +405,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 48, Moves.PIKA_PAPOW ],
],
[Species.RAICHU]: [
- [ 0, Moves.ZIPPY_ZAP ],
+ [ EVOLVE_MOVE, Moves.ZIPPY_ZAP ],
[ 1, Moves.TAIL_WHIP ],
[ 1, Moves.GROWL ],
[ 1, Moves.THUNDER_SHOCK ],
@@ -494,7 +499,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 71, Moves.EARTH_POWER ],
],
[Species.NIDOQUEEN]: [
- [ 0, Moves.SUPERPOWER ],
+ [ EVOLVE_MOVE, Moves.SUPERPOWER ],
[ 1, Moves.SLUDGE_WAVE ],
[ 1, Moves.SCRATCH ],
[ 1, Moves.DOUBLE_KICK ],
@@ -541,7 +546,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 71, Moves.EARTH_POWER ],
],
[Species.NIDOKING]: [
- [ 0, Moves.MEGAHORN ],
+ [ EVOLVE_MOVE, Moves.MEGAHORN ],
[ 1, Moves.SLUDGE_WAVE ],
[ 1, Moves.DOUBLE_KICK ],
[ 1, Moves.HORN_ATTACK ],
@@ -749,7 +754,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 50, Moves.PETAL_DANCE ],
],
[Species.VILEPLUME]: [
- [ 0, Moves.PETAL_BLIZZARD ],
+ [ EVOLVE_MOVE, Moves.PETAL_BLIZZARD ],
[ 1, Moves.ACID ],
[ 1, Moves.ABSORB ],
[ 1, Moves.MEGA_DRAIN ],
@@ -814,7 +819,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 47, Moves.PSYCHIC ],
],
[Species.VENOMOTH]: [
- [ 0, Moves.AIR_SLASH ],
+ [ EVOLVE_MOVE, Moves.AIR_SLASH ],
[ 1, Moves.TACKLE ],
[ 1, Moves.SUPERSONIC ],
[ 1, Moves.DISABLE ],
@@ -847,7 +852,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 44, Moves.FISSURE ],
],
[Species.DUGTRIO]: [
- [ 0, Moves.SAND_TOMB ],
+ [ EVOLVE_MOVE, Moves.SAND_TOMB ],
[ 1, Moves.SCRATCH ],
[ 1, Moves.SAND_ATTACK ],
[ 1, Moves.GROWL ],
@@ -881,7 +886,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 44, Moves.PLAY_ROUGH ],
],
[Species.PERSIAN]: [
- [ 0, Moves.POWER_GEM ],
+ [ EVOLVE_MOVE, Moves.POWER_GEM ],
[ 1, Moves.SCRATCH ],
[ 1, Moves.GROWL ],
[ 1, Moves.FAKE_OUT ],
@@ -990,7 +995,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 56, Moves.FLARE_BLITZ ],
],
[Species.ARCANINE]: [
- [ 0, Moves.EXTREME_SPEED ],
+ [ EVOLVE_MOVE, Moves.EXTREME_SPEED ],
[ 1, Moves.TAKE_DOWN ],
[ 1, Moves.LEER ],
[ 1, Moves.BITE ],
@@ -1038,7 +1043,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 66, Moves.DOUBLE_EDGE ],
],
[Species.POLIWRATH]: [
- [ 0, Moves.DYNAMIC_PUNCH ],
+ [ EVOLVE_MOVE, Moves.DYNAMIC_PUNCH ],
[ 1, Moves.BUBBLE_BEAM ],
[ 1, Moves.BODY_SLAM ],
[ 1, Moves.HYPNOSIS ],
@@ -1058,7 +1063,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 1, Moves.CONFUSION ], //Custom
],
[Species.KADABRA]: [
- [ 0, Moves.PSYBEAM ], //Custom
+ [ EVOLVE_MOVE, Moves.PSYBEAM ], //Custom
[ 1, Moves.DISABLE ],
[ 1, Moves.TELEPORT ],
[ 1, Moves.KINESIS ],
@@ -1175,7 +1180,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 58, Moves.POWER_WHIP ],
],
[Species.VICTREEBEL]: [
- [ 0, Moves.LEAF_STORM ],
+ [ EVOLVE_MOVE, Moves.LEAF_STORM ],
[ 1, Moves.VINE_WHIP ],
[ 1, Moves.SLEEP_POWDER ],
[ 1, Moves.SWEET_SCENT ],
@@ -1285,7 +1290,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 55, Moves.FLARE_BLITZ ],
],
[Species.RAPIDASH]: [
- [ 0, Moves.SMART_STRIKE ],
+ [ EVOLVE_MOVE, Moves.SMART_STRIKE ],
[ 1, Moves.TACKLE ],
[ 1, Moves.TAIL_WHIP ],
[ 1, Moves.GROWL ],
@@ -1360,7 +1365,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 52, Moves.ZAP_CANNON ],
],
[Species.MAGNETON]: [
- [ 0, Moves.TRI_ATTACK ],
+ [ EVOLVE_MOVE, Moves.TRI_ATTACK ],
[ 1, Moves.TACKLE ],
[ 1, Moves.SUPERSONIC ],
[ 1, Moves.THUNDER_SHOCK ],
@@ -1411,7 +1416,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 43, Moves.THRASH ],
],
[Species.DODRIO]: [
- [ 0, Moves.TRI_ATTACK ],
+ [ EVOLVE_MOVE, Moves.TRI_ATTACK ],
[ 1, Moves.TRI_ATTACK ],
[ 1, Moves.GROWL ],
[ 1, Moves.PECK ],
@@ -1447,7 +1452,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 53, Moves.SNOWSCAPE ],
],
[Species.DEWGONG]: [
- [ 0, Moves.SHEER_COLD ],
+ [ EVOLVE_MOVE, Moves.SHEER_COLD ],
[ 1, Moves.HEADBUTT ],
[ 1, Moves.GROWL ],
[ 1, Moves.ICY_WIND ],
@@ -1520,7 +1525,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 48, Moves.HYDRO_PUMP ],
],
[Species.CLOYSTER]: [
- [ 0, Moves.ICICLE_SPEAR ],
+ [ EVOLVE_MOVE, Moves.ICICLE_SPEAR ],
[ 1, Moves.TACKLE ],
[ 1, Moves.LEER ],
[ 1, Moves.SUPERSONIC ],
@@ -1557,7 +1562,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 48, Moves.DREAM_EATER ],
],
[Species.HAUNTER]: [
- [ 0, Moves.SHADOW_PUNCH ],
+ [ EVOLVE_MOVE, Moves.SHADOW_PUNCH ],
[ 1, Moves.HYPNOSIS ],
[ 1, Moves.CONFUSE_RAY ],
[ 1, Moves.LICK ],
@@ -1739,7 +1744,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 55, Moves.SOLAR_BEAM ],
],
[Species.EXEGGUTOR]: [
- [ 0, Moves.STOMP ],
+ [ EVOLVE_MOVE, Moves.STOMP ],
[ 1, Moves.BARRAGE ],
[ 1, Moves.SEED_BOMB ],
[ 1, Moves.PSYSHOCK ],
@@ -1794,7 +1799,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 60, Moves.DOUBLE_EDGE ],
],
[Species.HITMONLEE]: [
- [ 0, Moves.BRICK_BREAK ],
+ [ EVOLVE_MOVE, Moves.BRICK_BREAK ],
[ 1, Moves.TACKLE ],
[ 1, Moves.FOCUS_ENERGY ],
[ 1, Moves.FAKE_OUT ],
@@ -1817,7 +1822,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 50, Moves.AXE_KICK ],
],
[Species.HITMONCHAN]: [
- [ 0, Moves.DRAIN_PUNCH ],
+ [ EVOLVE_MOVE, Moves.DRAIN_PUNCH ],
[ 1, Moves.TACKLE ],
[ 1, Moves.FOCUS_ENERGY ],
[ 1, Moves.FAKE_OUT ],
@@ -1873,7 +1878,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 52, Moves.DESTINY_BOND ],
],
[Species.WEEZING]: [
- [ 0, Moves.DOUBLE_HIT ],
+ [ EVOLVE_MOVE, Moves.DOUBLE_HIT ],
[ 1, Moves.TACKLE ],
[ 1, Moves.SMOKESCREEN ],
[ 1, Moves.SMOG ],
@@ -1908,7 +1913,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 60, Moves.HORN_DRILL ],
],
[Species.RHYDON]: [
- [ 0, Moves.HAMMER_ARM ],
+ [ EVOLVE_MOVE, Moves.HAMMER_ARM ],
[ 1, Moves.TACKLE ],
[ 1, Moves.TAIL_WHIP ],
[ 1, Moves.SMACK_DOWN ],
@@ -2211,7 +2216,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 25, Moves.FLAIL ],
],
[Species.GYARADOS]: [
- [ 0, Moves.BITE ],
+ [ EVOLVE_MOVE, Moves.BITE ],
[ 1, Moves.TACKLE ],
[ 1, Moves.LEER ],
[ 1, Moves.SPLASH ],
@@ -2271,7 +2276,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 60, Moves.VEEVEE_VOLLEY ],
],
[Species.VAPOREON]: [
- [ 0, Moves.BOUNCY_BUBBLE ],
+ [ EVOLVE_MOVE, Moves.BOUNCY_BUBBLE ],
[ 1, Moves.TACKLE ],
[ 1, Moves.TAKE_DOWN ],
[ 1, Moves.DOUBLE_EDGE ],
@@ -2298,7 +2303,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 60, Moves.LAST_RESORT ],
],
[Species.JOLTEON]: [
- [ 0, Moves.BUZZY_BUZZ ],
+ [ EVOLVE_MOVE, Moves.BUZZY_BUZZ ],
[ 1, Moves.TACKLE ],
[ 1, Moves.TAKE_DOWN ],
[ 1, Moves.DOUBLE_EDGE ],
@@ -2325,7 +2330,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 60, Moves.LAST_RESORT ],
],
[Species.FLAREON]: [
- [ 0, Moves.SIZZLY_SLIDE ],
+ [ EVOLVE_MOVE, Moves.SIZZLY_SLIDE ],
[ 1, Moves.TACKLE ],
[ 1, Moves.TAKE_DOWN ],
[ 1, Moves.DOUBLE_EDGE ],
@@ -2384,7 +2389,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 60, Moves.HYDRO_PUMP ],
],
[Species.OMASTAR]: [
- [ 0, Moves.CRUNCH ],
+ [ EVOLVE_MOVE, Moves.CRUNCH ],
[ 1, Moves.BIND ],
[ 1, Moves.SAND_ATTACK ],
[ 1, Moves.CONSTRICT ],
@@ -2419,7 +2424,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 60, Moves.STONE_EDGE ],
],
[Species.KABUTOPS]: [
- [ 0, Moves.SLASH ],
+ [ EVOLVE_MOVE, Moves.SLASH ],
[ 1, Moves.SCRATCH ],
[ 1, Moves.SAND_ATTACK ],
[ 1, Moves.ABSORB ],
@@ -2569,7 +2574,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 74, Moves.HYPER_BEAM ],
],
[Species.DRAGONITE]: [
- [ 0, Moves.HURRICANE ],
+ [ EVOLVE_MOVE, Moves.HURRICANE ],
[ 1, Moves.FIRE_PUNCH ],
[ 1, Moves.THUNDER_PUNCH ],
[ 1, Moves.WING_ATTACK ],
@@ -2655,7 +2660,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 54, Moves.SOLAR_BEAM ],
],
[Species.MEGANIUM]: [
- [ 0, Moves.PETAL_DANCE ],
+ [ EVOLVE_MOVE, Moves.PETAL_DANCE ],
[ 1, Moves.TACKLE ],
[ 1, Moves.GROWL ],
[ 1, Moves.RAZOR_LEAF ],
@@ -2792,7 +2797,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 47, Moves.HYPER_VOICE ],
],
[Species.FURRET]: [
- [ 0, Moves.AGILITY ],
+ [ EVOLVE_MOVE, Moves.AGILITY ],
[ 1, Moves.SCRATCH ],
[ 1, Moves.QUICK_ATTACK ],
[ 1, Moves.DEFENSE_CURL ],
@@ -2896,7 +2901,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 51, Moves.TOXIC_THREAD ],
],
[Species.ARIADOS]: [
- [ 0, Moves.SWORDS_DANCE ],
+ [ EVOLVE_MOVE, Moves.SWORDS_DANCE ],
[ 1, Moves.POISON_STING ],
[ 1, Moves.ABSORB ],
[ 1, Moves.STRING_SHOT ],
@@ -2919,7 +2924,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 59, Moves.TOXIC_THREAD ],
],
[Species.CROBAT]: [
- [ 0, Moves.CROSS_POISON ],
+ [ EVOLVE_MOVE, Moves.CROSS_POISON ],
[ 1, Moves.SUPERSONIC ],
[ 1, Moves.ABSORB ],
[ 1, Moves.TOXIC ],
@@ -2953,9 +2958,9 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 44, Moves.HYDRO_PUMP ],
],
[Species.LANTURN]: [
- [ 0, Moves.STOCKPILE ],
- [ 0, Moves.SPIT_UP ],
- [ 0, Moves.SWALLOW ],
+ [ EVOLVE_MOVE, Moves.STOCKPILE ],
+ [ EVOLVE_MOVE, Moves.SPIT_UP ],
+ [ EVOLVE_MOVE, Moves.SWALLOW ],
[ 1, Moves.SUPERSONIC ],
[ 1, Moves.WATER_GUN ],
[ 1, Moves.SPOTLIGHT ],
@@ -3019,7 +3024,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 52, Moves.WISH ],
],
[Species.TOGETIC]: [
- [ 0, Moves.FAIRY_WIND ],
+ [ EVOLVE_MOVE, Moves.FAIRY_WIND ],
[ 1, Moves.POUND ],
[ 1, Moves.GROWL ],
[ 1, Moves.SWEET_KISS ],
@@ -3051,7 +3056,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 45, Moves.FUTURE_SIGHT ],
],
[Species.XATU]: [
- [ 0, Moves.AIR_SLASH ],
+ [ EVOLVE_MOVE, Moves.AIR_SLASH ],
[ 1, Moves.LEER ],
[ 1, Moves.PECK ],
[ 1, Moves.TELEPORT ],
@@ -3101,7 +3106,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 56, Moves.THUNDER ],
],
[Species.AMPHAROS]: [
- [ 0, Moves.THUNDER_PUNCH ],
+ [ EVOLVE_MOVE, Moves.THUNDER_PUNCH ],
[ 1, Moves.FIRE_PUNCH ],
[ 1, Moves.TACKLE ],
[ 1, Moves.GROWL ],
@@ -3124,7 +3129,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 62, Moves.THUNDER ],
],
[Species.BELLOSSOM]: [
- [ 0, Moves.PETAL_BLIZZARD ],
+ [ EVOLVE_MOVE, Moves.PETAL_BLIZZARD ],
[ 1, Moves.ACID ],
[ 1, Moves.ABSORB ],
[ 1, Moves.MEGA_DRAIN ],
@@ -3180,7 +3185,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 50, Moves.SUPERPOWER ],
],
[Species.SUDOWOODO]: [
- [ 0, Moves.SLAM ],
+ [ EVOLVE_MOVE, Moves.SLAM ],
[ 1, Moves.ROCK_THROW ],
[ 1, Moves.FLAIL ],
[ 1, Moves.FAKE_TEARS ],
@@ -3200,7 +3205,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 48, Moves.HEAD_SMASH ],
],
[Species.POLITOED]: [
- [ 0, Moves.BOUNCE ],
+ [ EVOLVE_MOVE, Moves.BOUNCE ],
[ 1, Moves.RAIN_DANCE ],
[ 1, Moves.HYDRO_PUMP ],
[ 1, Moves.BELLY_DRUM ],
@@ -3374,7 +3379,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 52, Moves.EARTHQUAKE ],
],
[Species.ESPEON]: [
- [ 0, Moves.GLITZY_GLOW ],
+ [ EVOLVE_MOVE, Moves.GLITZY_GLOW ],
[ 1, Moves.TACKLE ],
[ 1, Moves.TAKE_DOWN ],
[ 1, Moves.DOUBLE_EDGE ],
@@ -3400,7 +3405,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 60, Moves.LAST_RESORT ],
],
[Species.UMBREON]: [
- [ 0, Moves.BADDY_BAD ],
+ [ EVOLVE_MOVE, Moves.BADDY_BAD ],
[ 1, Moves.TACKLE ],
[ 1, Moves.TAKE_DOWN ],
[ 1, Moves.DOUBLE_EDGE ],
@@ -3484,10 +3489,14 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 1, Moves.HIDDEN_POWER ],
],
[Species.WOBBUFFET]: [
- [ 0, Moves.COUNTER ],
- [ 0, Moves.DESTINY_BOND ],
- [ 0, Moves.SAFEGUARD ],
- [ 0, Moves.MIRROR_COAT ],
+ [ EVOLVE_MOVE, Moves.COUNTER ],
+ [ EVOLVE_MOVE, Moves.DESTINY_BOND ],
+ [ EVOLVE_MOVE, Moves.SAFEGUARD ],
+ [ EVOLVE_MOVE, Moves.MIRROR_COAT ],
+ [ 1, Moves.COUNTER ],
+ [ 1, Moves.DESTINY_BOND ],
+ [ 1, Moves.SAFEGUARD ],
+ [ 1, Moves.MIRROR_COAT ],
[ 1, Moves.AMNESIA ],
[ 1, Moves.SPLASH ],
[ 1, Moves.CHARM ],
@@ -3528,7 +3537,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 45, Moves.DOUBLE_EDGE ],
],
[Species.FORRETRESS]: [
- [ 0, Moves.HEAVY_SLAM ],
+ [ EVOLVE_MOVE, Moves.HEAVY_SLAM ],
[ 1, Moves.TACKLE ],
[ 1, Moves.SELF_DESTRUCT ],
[ 1, Moves.PROTECT ],
@@ -3664,7 +3673,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 56, Moves.DESTINY_BOND ],
],
[Species.SCIZOR]: [
- [ 0, Moves.BULLET_PUNCH ],
+ [ EVOLVE_MOVE, Moves.BULLET_PUNCH ],
[ 1, Moves.WING_ATTACK ],
[ 1, Moves.LEER ],
[ 1, Moves.AGILITY ],
@@ -3787,7 +3796,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 50, Moves.EARTH_POWER ],
],
[Species.MAGCARGO]: [
- [ 0, Moves.SHELL_SMASH ],
+ [ EVOLVE_MOVE, Moves.SHELL_SMASH ],
[ 1, Moves.EMBER ],
[ 1, Moves.ROCK_THROW ],
[ 1, Moves.SMOG ],
@@ -3820,7 +3829,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 50, Moves.BLIZZARD ],
],
[Species.PILOSWINE]: [
- [ 0, Moves.ICE_FANG ],
+ [ EVOLVE_MOVE, Moves.ICE_FANG ],
[ 1, Moves.TACKLE ],
[ 1, Moves.FLAIL ],
[ 1, Moves.POWDER_SNOW ],
@@ -3868,7 +3877,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 44, Moves.HYPER_BEAM ],
],
[Species.OCTILLERY]: [
- [ 0, Moves.OCTAZOOKA ],
+ [ EVOLVE_MOVE, Moves.OCTAZOOKA ],
[ 1, Moves.WRAP ],
[ 1, Moves.CONSTRICT ],
[ 1, Moves.WATER_GUN ],
@@ -4013,7 +4022,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 42, Moves.DOUBLE_EDGE ],
],
[Species.DONPHAN]: [
- [ 0, Moves.FURY_ATTACK ],
+ [ EVOLVE_MOVE, Moves.FURY_ATTACK ],
[ 1, Moves.HORN_ATTACK ],
[ 1, Moves.GROWL ],
[ 1, Moves.DEFENSE_CURL ],
@@ -4077,7 +4086,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 1, Moves.HELPING_HAND ],
],
[Species.HITMONTOP]: [
- [ 0, Moves.TRIPLE_KICK ],
+ [ EVOLVE_MOVE, Moves.TRIPLE_KICK ],
[ 1, Moves.TACKLE ],
[ 1, Moves.FOCUS_ENERGY ],
[ 1, Moves.RAPID_SPIN ],
@@ -4265,7 +4274,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 42, Moves.HYPER_BEAM ],
],
[Species.PUPITAR]: [
- [ 0, Moves.IRON_DEFENSE ],
+ [ EVOLVE_MOVE, Moves.IRON_DEFENSE ],
[ 1, Moves.TACKLE ],
[ 1, Moves.LEER ],
[ 1, Moves.ROCK_THROW ],
@@ -4395,7 +4404,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 55, Moves.LEAF_STORM ],
],
[Species.SCEPTILE]: [
- [ 0, Moves.LEAF_BLADE ],
+ [ EVOLVE_MOVE, Moves.LEAF_BLADE ],
[ 1, Moves.POUND ],
[ 1, Moves.LEER ],
[ 1, Moves.LEAFAGE ],
@@ -4435,7 +4444,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 39, Moves.FLARE_BLITZ ],
],
[Species.COMBUSKEN]: [
- [ 0, Moves.DOUBLE_KICK ],
+ [ EVOLVE_MOVE, Moves.DOUBLE_KICK ],
[ 1, Moves.SCRATCH ],
[ 1, Moves.GROWL ],
[ 1, Moves.EMBER ],
@@ -4455,7 +4464,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 55, Moves.FLARE_BLITZ ],
],
[Species.BLAZIKEN]: [
- [ 0, Moves.BLAZE_KICK ],
+ [ EVOLVE_MOVE, Moves.BLAZE_KICK ],
[ 1, Moves.DOUBLE_KICK ],
[ 1, Moves.SCRATCH ],
[ 1, Moves.GROWL ],
@@ -4494,7 +4503,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 39, Moves.HYDRO_PUMP ],
],
[Species.MARSHTOMP]: [
- [ 0, Moves.MUD_SHOT ],
+ [ EVOLVE_MOVE, Moves.MUD_SHOT ],
[ 1, Moves.TACKLE ],
[ 1, Moves.GROWL ],
[ 1, Moves.WATER_GUN ],
@@ -4550,7 +4559,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 44, Moves.PLAY_ROUGH ],
],
[Species.MIGHTYENA]: [
- [ 0, Moves.SNARL ],
+ [ EVOLVE_MOVE, Moves.SNARL ],
[ 1, Moves.SAND_ATTACK ],
[ 1, Moves.TACKLE ],
[ 1, Moves.BITE ],
@@ -4588,7 +4597,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 36, Moves.DOUBLE_EDGE ],
],
[Species.LINOONE]: [
- [ 0, Moves.SLASH ],
+ [ EVOLVE_MOVE, Moves.SLASH ],
[ 1, Moves.SAND_ATTACK ],
[ 1, Moves.TACKLE ],
[ 1, Moves.TAIL_WHIP ],
@@ -4615,11 +4624,11 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 15, Moves.BUG_BITE ],
],
[Species.SILCOON]: [
- [ 0, Moves.HARDEN ],
+ [ EVOLVE_MOVE, Moves.HARDEN ],
[ 1, Moves.HARDEN ],
],
[Species.BEAUTIFLY]: [
- [ 0, Moves.GUST ],
+ [ EVOLVE_MOVE, Moves.GUST ],
[ 1, Moves.BUG_BITE ],
[ 1, Moves.GUST ],
[ 1, Moves.HARDEN ],
@@ -4639,11 +4648,11 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 40, Moves.QUIVER_DANCE ],
],
[Species.CASCOON]: [
- [ 0, Moves.HARDEN ],
+ [ EVOLVE_MOVE, Moves.HARDEN ],
[ 1, Moves.HARDEN ],
],
[Species.DUSTOX]: [
- [ 0, Moves.GUST ],
+ [ EVOLVE_MOVE, Moves.GUST ],
[ 1, Moves.BUG_BITE ],
[ 1, Moves.GUST ],
[ 1, Moves.HARDEN ],
@@ -4731,7 +4740,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 33, Moves.EXPLOSION ],
],
[Species.NUZLEAF]: [
- [ 0, Moves.RAZOR_LEAF ],
+ [ EVOLVE_MOVE, Moves.RAZOR_LEAF ],
[ 1, Moves.AIR_CUTTER ],
[ 1, Moves.TORMENT ],
[ 1, Moves.FAKE_OUT ],
@@ -4752,7 +4761,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 57, Moves.LEAF_BLADE ],
],
[Species.SHIFTRY]: [
- [ 0, Moves.LEAF_BLADE ],
+ [ EVOLVE_MOVE, Moves.LEAF_BLADE ],
[ 1, Moves.AIR_CUTTER ],
[ 1, Moves.HURRICANE ],
[ 1, Moves.PAYBACK ],
@@ -4877,7 +4886,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 53, Moves.FUTURE_SIGHT ],
],
[Species.GARDEVOIR]: [
- [ 0, Moves.DAZZLING_GLEAM ],
+ [ EVOLVE_MOVE, Moves.DAZZLING_GLEAM ],
[ 1, Moves.MISTY_TERRAIN ],
[ 1, Moves.HEALING_WISH ],
[ 1, Moves.CHARM ],
@@ -4942,7 +4951,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 40, Moves.SPORE ],
],
[Species.BRELOOM]: [
- [ 0, Moves.MACH_PUNCH ],
+ [ EVOLVE_MOVE, Moves.MACH_PUNCH ],
[ 1, Moves.POISON_POWDER ],
[ 1, Moves.GROWTH ],
[ 1, Moves.TOXIC ],
@@ -4988,7 +4997,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 43, Moves.REVERSAL ],
],
[Species.SLAKING]: [
- [ 0, Moves.SWAGGER ],
+ [ EVOLVE_MOVE, Moves.SWAGGER ],
[ 1, Moves.SUCKER_PUNCH ],
[ 1, Moves.SCRATCH ],
[ 1, Moves.YAWN ],
@@ -5016,9 +5025,9 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 40, Moves.DIG ],
],
[Species.NINJASK]: [
- [ 0, Moves.DOUBLE_TEAM ],
- [ 0, Moves.SCREECH ],
- [ 0, Moves.FURY_CUTTER ],
+ [ EVOLVE_MOVE, Moves.DOUBLE_TEAM ],
+ [ EVOLVE_MOVE, Moves.SCREECH ],
+ [ EVOLVE_MOVE, Moves.FURY_CUTTER ],
[ 1, Moves.BATON_PASS ],
[ 1, Moves.AERIAL_ACE ],
[ 1, Moves.MUD_SLAP ],
@@ -5071,7 +5080,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 45, Moves.HYPER_VOICE ],
],
[Species.LOUDRED]: [
- [ 0, Moves.BITE ],
+ [ EVOLVE_MOVE, Moves.BITE ],
[ 1, Moves.ASTONISH ],
[ 1, Moves.POUND ],
[ 1, Moves.ECHOED_VOICE ],
@@ -5086,7 +5095,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 57, Moves.HYPER_VOICE ],
],
[Species.EXPLOUD]: [
- [ 0, Moves.CRUNCH ],
+ [ EVOLVE_MOVE, Moves.CRUNCH ],
[ 1, Moves.BITE ],
[ 1, Moves.ICE_FANG ],
[ 1, Moves.FIRE_FANG ],
@@ -5457,7 +5466,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 47, Moves.INFESTATION ],
],
[Species.ROSELIA]: [
- [ 0, Moves.POISON_STING ],
+ [ EVOLVE_MOVE, Moves.POISON_STING ],
[ 1, Moves.ABSORB ],
[ 1, Moves.GROWTH ],
[ 1, Moves.STUN_SPORE ],
@@ -5494,7 +5503,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 49, Moves.GUNK_SHOT ],
],
[Species.SWALOT]: [
- [ 0, Moves.BODY_SLAM ],
+ [ EVOLVE_MOVE, Moves.BODY_SLAM ],
[ 1, Moves.GUNK_SHOT ],
[ 1, Moves.POUND ],
[ 1, Moves.YAWN ],
@@ -5528,7 +5537,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 44, Moves.TAKE_DOWN ],
],
[Species.SHARPEDO]: [
- [ 0, Moves.SLASH ],
+ [ EVOLVE_MOVE, Moves.SLASH ],
[ 1, Moves.NIGHT_SLASH ],
[ 1, Moves.AQUA_JET ],
[ 1, Moves.LEER ],
@@ -5600,7 +5609,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 47, Moves.DOUBLE_EDGE ],
],
[Species.CAMERUPT]: [
- [ 0, Moves.ROCK_SLIDE ],
+ [ EVOLVE_MOVE, Moves.ROCK_SLIDE ],
[ 1, Moves.FISSURE ],
[ 1, Moves.ERUPTION ],
[ 1, Moves.GROWL ],
@@ -5653,7 +5662,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 50, Moves.BOUNCE ],
],
[Species.GRUMPIG]: [
- [ 0, Moves.TEETER_DANCE ],
+ [ EVOLVE_MOVE, Moves.TEETER_DANCE ],
[ 1, Moves.BELCH ],
[ 1, Moves.SPLASH ],
[ 1, Moves.CONFUSION ],
@@ -5702,7 +5711,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 48, Moves.FISSURE ],
],
[Species.VIBRAVA]: [
- [ 0, Moves.DRAGON_BREATH ],
+ [ EVOLVE_MOVE, Moves.DRAGON_BREATH ],
[ 1, Moves.DIG ],
[ 1, Moves.SAND_ATTACK ],
[ 1, Moves.BITE ],
@@ -5727,7 +5736,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 62, Moves.BOOMBURST ],
],
[Species.FLYGON]: [
- [ 0, Moves.DRAGON_CLAW ],
+ [ EVOLVE_MOVE, Moves.DRAGON_CLAW ],
[ 1, Moves.DRAGON_BREATH ],
[ 1, Moves.BULLDOZE ],
[ 1, Moves.SAND_ATTACK ],
@@ -5774,7 +5783,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 54, Moves.DESTINY_BOND ],
],
[Species.CACTURNE]: [
- [ 0, Moves.SPIKY_SHIELD ],
+ [ EVOLVE_MOVE, Moves.SPIKY_SHIELD ],
[ 1, Moves.DESTINY_BOND ],
[ 1, Moves.POISON_STING ],
[ 1, Moves.LEER ],
@@ -5809,7 +5818,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 44, Moves.PERISH_SONG ],
],
[Species.ALTARIA]: [
- [ 0, Moves.DRAGON_PULSE ],
+ [ EVOLVE_MOVE, Moves.DRAGON_PULSE ],
[ 1, Moves.PLUCK ],
[ 1, Moves.PECK ],
[ 1, Moves.GROWL ],
@@ -5827,20 +5836,20 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 56, Moves.SKY_ATTACK ],
],
[Species.ZANGOOSE]: [
+ [ RELEARN_MOVE, Moves.DOUBLE_KICK ],
+ [ RELEARN_MOVE, Moves.DISABLE ],
+ [ RELEARN_MOVE, Moves.COUNTER ],
+ [ RELEARN_MOVE, Moves.FURY_SWIPES ],
+ [ RELEARN_MOVE, Moves.CURSE ],
+ [ RELEARN_MOVE, Moves.FLAIL ],
+ [ RELEARN_MOVE, Moves.BELLY_DRUM ],
+ [ RELEARN_MOVE, Moves.FEINT ],
+ [ RELEARN_MOVE, Moves.NIGHT_SLASH ],
+ [ RELEARN_MOVE, Moves.DOUBLE_HIT ],
+ [ RELEARN_MOVE, Moves.QUICK_GUARD ],
+ [ RELEARN_MOVE, Moves.FINAL_GAMBIT ],
[ 1, Moves.SCRATCH ],
[ 1, Moves.LEER ],
- [ 1, Moves.DOUBLE_KICK ],
- [ 1, Moves.DISABLE ],
- [ 1, Moves.COUNTER ],
- [ 1, Moves.FURY_SWIPES ],
- [ 1, Moves.CURSE ],
- [ 1, Moves.FLAIL ],
- [ 1, Moves.BELLY_DRUM ],
- [ 1, Moves.FEINT ],
- [ 1, Moves.NIGHT_SLASH ],
- [ 1, Moves.DOUBLE_HIT ],
- [ 1, Moves.QUICK_GUARD ],
- [ 1, Moves.FINAL_GAMBIT ],
[ 5, Moves.QUICK_ATTACK ],
[ 8, Moves.FURY_CUTTER ],
[ 12, Moves.METAL_CLAW ],
@@ -5925,7 +5934,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 48, Moves.FISSURE ],
],
[Species.WHISCASH]: [
- [ 0, Moves.THRASH ],
+ [ EVOLVE_MOVE, Moves.THRASH ],
[ 1, Moves.BELCH ],
[ 1, Moves.ZEN_HEADBUTT ],
[ 1, Moves.TICKLE ],
@@ -5959,7 +5968,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 52, Moves.GUILLOTINE ],
],
[Species.CRAWDAUNT]: [
- [ 0, Moves.SWIFT ],
+ [ EVOLVE_MOVE, Moves.SWIFT ],
[ 1, Moves.WATER_GUN ],
[ 1, Moves.HARDEN ],
[ 1, Moves.LEER ],
@@ -5996,7 +6005,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 42, Moves.EXPLOSION ],
],
[Species.CLAYDOL]: [
- [ 0, Moves.HYPER_BEAM ],
+ [ EVOLVE_MOVE, Moves.HYPER_BEAM ],
[ 1, Moves.TELEPORT ],
[ 1, Moves.HARDEN ],
[ 1, Moves.MUD_SLAP ],
@@ -6089,7 +6098,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 25, Moves.FLAIL ],
],
[Species.MILOTIC]: [
- [ 0, Moves.WATER_PULSE ],
+ [ EVOLVE_MOVE, Moves.WATER_PULSE ],
[ 1, Moves.FLAIL ],
[ 1, Moves.SPLASH ],
[ 1, Moves.TACKLE ],
@@ -6163,7 +6172,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 48, Moves.PHANTOM_FORCE ],
],
[Species.BANETTE]: [
- [ 0, Moves.KNOCK_OFF ],
+ [ EVOLVE_MOVE, Moves.KNOCK_OFF ],
[ 1, Moves.SCREECH ],
[ 1, Moves.NIGHT_SHADE ],
[ 1, Moves.SPITE ],
@@ -6194,7 +6203,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 44, Moves.FUTURE_SIGHT ],
],
[Species.DUSCLOPS]: [
- [ 0, Moves.SHADOW_PUNCH ],
+ [ EVOLVE_MOVE, Moves.SHADOW_PUNCH ],
[ 1, Moves.FIRE_PUNCH ],
[ 1, Moves.ICE_PUNCH ],
[ 1, Moves.THUNDER_PUNCH ],
@@ -6291,7 +6300,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 60, Moves.BLIZZARD ],
],
[Species.GLALIE]: [
- [ 0, Moves.FREEZE_DRY ],
+ [ EVOLVE_MOVE, Moves.FREEZE_DRY ],
[ 1, Moves.SHEER_COLD ],
[ 1, Moves.POWDER_SNOW ],
[ 1, Moves.HEADBUTT ],
@@ -6328,7 +6337,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 52, Moves.SHEER_COLD ],
],
[Species.SEALEO]: [
- [ 0, Moves.SWAGGER ],
+ [ EVOLVE_MOVE, Moves.SWAGGER ],
[ 1, Moves.ROLLOUT ],
[ 1, Moves.DEFENSE_CURL ],
[ 1, Moves.GROWL ],
@@ -6461,7 +6470,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 55, Moves.DOUBLE_EDGE ],
],
[Species.SHELGON]: [
- [ 0, Moves.PROTECT ],
+ [ EVOLVE_MOVE, Moves.PROTECT ],
[ 1, Moves.EMBER ],
[ 1, Moves.LEER ],
[ 1, Moves.BITE ],
@@ -6477,7 +6486,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 67, Moves.DOUBLE_EDGE ],
],
[Species.SALAMENCE]: [
- [ 0, Moves.FLY ],
+ [ EVOLVE_MOVE, Moves.FLY ],
[ 1, Moves.PROTECT ],
[ 1, Moves.DRAGON_TAIL ],
[ 1, Moves.DUAL_WINGBEAT ],
@@ -6499,8 +6508,8 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 1, Moves.TACKLE ],
],
[Species.METANG]: [
- [ 0, Moves.CONFUSION ],
- [ 0, Moves.METAL_CLAW ],
+ [ EVOLVE_MOVE, Moves.CONFUSION ],
+ [ EVOLVE_MOVE, Moves.METAL_CLAW ],
[ 1, Moves.TACKLE ],
[ 1, Moves.BULLET_PUNCH ],
[ 1, Moves.HONE_CLAWS ],
@@ -6516,9 +6525,9 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 74, Moves.HYPER_BEAM ],
],
[Species.METAGROSS]: [
- [ 0, Moves.HAMMER_ARM ],
- [ 0, Moves.CONFUSION ],
- [ 0, Moves.METAL_CLAW ],
+ [ EVOLVE_MOVE, Moves.HAMMER_ARM ],
+ [ 1, Moves.CONFUSION ],
+ [ 1, Moves.METAL_CLAW ],
[ 1, Moves.BULLET_PUNCH ],
[ 1, Moves.TACKLE ],
[ 1, Moves.EXPLOSION ],
@@ -6738,7 +6747,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 52, Moves.LEAF_STORM ],
],
[Species.TORTERRA]: [
- [ 0, Moves.EARTHQUAKE ],
+ [ EVOLVE_MOVE, Moves.EARTHQUAKE ],
[ 1, Moves.TACKLE ],
[ 1, Moves.ABSORB ],
[ 1, Moves.RAZOR_LEAF ],
@@ -6770,7 +6779,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 47, Moves.FLAMETHROWER ],
],
[Species.MONFERNO]: [
- [ 0, Moves.MACH_PUNCH ],
+ [ EVOLVE_MOVE, Moves.MACH_PUNCH ],
[ 1, Moves.SCRATCH ],
[ 1, Moves.LEER ],
[ 1, Moves.EMBER ],
@@ -6786,7 +6795,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 56, Moves.FLARE_BLITZ ],
],
[Species.INFERNAPE]: [
- [ 0, Moves.CLOSE_COMBAT ],
+ [ EVOLVE_MOVE, Moves.CLOSE_COMBAT ],
[ 1, Moves.SCRATCH ],
[ 1, Moves.LEER ],
[ 1, Moves.EMBER ],
@@ -6817,7 +6826,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 43, Moves.HYDRO_PUMP ],
],
[Species.PRINPLUP]: [
- [ 0, Moves.METAL_CLAW ],
+ [ EVOLVE_MOVE, Moves.METAL_CLAW ],
[ 1, Moves.TACKLE ],
[ 1, Moves.GROWL ],
[ 1, Moves.WATER_GUN ],
@@ -6832,7 +6841,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 50, Moves.HYDRO_PUMP ],
],
[Species.EMPOLEON]: [
- [ 0, Moves.AQUA_JET ],
+ [ EVOLVE_MOVE, Moves.AQUA_JET ],
[ 1, Moves.TACKLE ],
[ 1, Moves.GROWL ],
[ 1, Moves.WATER_GUN ],
@@ -6878,7 +6887,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 48, Moves.FINAL_GAMBIT ],
],
[Species.STARAPTOR]: [
- [ 0, Moves.CLOSE_COMBAT ],
+ [ EVOLVE_MOVE, Moves.CLOSE_COMBAT ],
[ 1, Moves.WING_ATTACK ],
[ 1, Moves.TACKLE ],
[ 1, Moves.GROWL ],
@@ -6909,7 +6918,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 49, Moves.CURSE ],
],
[Species.BIBAREL]: [
- [ 0, Moves.WATER_GUN ],
+ [ EVOLVE_MOVE, Moves.WATER_GUN ],
[ 1, Moves.TACKLE ],
[ 1, Moves.GROWL ],
[ 1, Moves.AQUA_JET ],
@@ -6935,7 +6944,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 16, Moves.BUG_BITE ],
],
[Species.KRICKETUNE]: [
- [ 0, Moves.FURY_CUTTER ],
+ [ EVOLVE_MOVE, Moves.FURY_CUTTER ],
[ 1, Moves.TACKLE ],
[ 1, Moves.GROWL ],
[ 1, Moves.BIDE ],
@@ -7043,7 +7052,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 46, Moves.HEAD_SMASH ],
],
[Species.RAMPARDOS]: [
- [ 0, Moves.ENDEAVOR ],
+ [ EVOLVE_MOVE, Moves.ENDEAVOR ],
[ 1, Moves.HEADBUTT ],
[ 1, Moves.LEER ],
[ 1, Moves.FOCUS_ENERGY ],
@@ -7072,7 +7081,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 46, Moves.HEAVY_SLAM ],
],
[Species.BASTIODON]: [
- [ 0, Moves.BLOCK ],
+ [ EVOLVE_MOVE, Moves.BLOCK ],
[ 1, Moves.TACKLE ],
[ 1, Moves.PROTECT ],
[ 1, Moves.TAUNT ],
@@ -7094,7 +7103,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 20, Moves.STRING_SHOT ],
],
[Species.WORMADAM]: [
- [ 0, Moves.QUIVER_DANCE ],
+ [ EVOLVE_MOVE, Moves.QUIVER_DANCE ],
[ 1, Moves.TACKLE ],
[ 1, Moves.PROTECT ],
[ 1, Moves.SUCKER_PUNCH ],
@@ -7114,7 +7123,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 50, Moves.BUG_BUZZ ],
],
[Species.MOTHIM]: [
- [ 0, Moves.QUIVER_DANCE ],
+ [ EVOLVE_MOVE, Moves.QUIVER_DANCE ],
[ 1, Moves.TACKLE ],
[ 1, Moves.PROTECT ],
[ 1, Moves.BUG_BITE ],
@@ -7139,7 +7148,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 1, Moves.STRUGGLE_BUG ],
],
[Species.VESPIQUEN]: [
- [ 0, Moves.SLASH ],
+ [ EVOLVE_MOVE, Moves.SLASH ],
[ 1, Moves.GUST ],
[ 1, Moves.POISON_STING ],
[ 1, Moves.CONFUSE_RAY ],
@@ -7227,7 +7236,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 45, Moves.SOLAR_BEAM ],
],
[Species.CHERRIM]: [
- [ 0, Moves.SUNNY_DAY ],
+ [ EVOLVE_MOVE, Moves.SUNNY_DAY ],
[ 1, Moves.TACKLE ],
[ 1, Moves.GROWTH ],
[ 1, Moves.MORNING_SUN ],
@@ -7304,7 +7313,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 44, Moves.EXPLOSION ],
],
[Species.DRIFBLIM]: [
- [ 0, Moves.PHANTOM_FORCE ],
+ [ EVOLVE_MOVE, Moves.PHANTOM_FORCE ],
[ 1, Moves.GUST ],
[ 1, Moves.MINIMIZE ],
[ 1, Moves.FOCUS_ENERGY ],
@@ -7342,7 +7351,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 52, Moves.HEALING_WISH ],
],
[Species.LOPUNNY]: [
- [ 0, Moves.RETURN ],
+ [ EVOLVE_MOVE, Moves.RETURN ],
[ 1, Moves.POUND ],
[ 1, Moves.DEFENSE_CURL ],
[ 1, Moves.SPLASH ],
@@ -7405,7 +7414,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 50, Moves.PLAY_ROUGH ],
],
[Species.PURUGLY]: [
- [ 0, Moves.SWAGGER ],
+ [ EVOLVE_MOVE, Moves.SWAGGER ],
[ 1, Moves.SCRATCH ],
[ 1, Moves.PLAY_ROUGH ],
[ 1, Moves.SUCKER_PUNCH ],
@@ -7452,7 +7461,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 42, Moves.EXPLOSION ],
],
[Species.SKUNTANK]: [
- [ 0, Moves.FLAMETHROWER ],
+ [ EVOLVE_MOVE, Moves.FLAMETHROWER ],
[ 1, Moves.SCRATCH ],
[ 1, Moves.SMOKESCREEN ],
[ 1, Moves.POISON_GAS ],
@@ -7486,7 +7495,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 45, Moves.HEAL_BLOCK ],
],
[Species.BRONZONG]: [
- [ 0, Moves.BLOCK ],
+ [ EVOLVE_MOVE, Moves.BLOCK ],
[ 1, Moves.TACKLE ],
[ 1, Moves.CONFUSION ],
[ 1, Moves.CONFUSE_RAY ],
@@ -7615,7 +7624,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 74, Moves.DRAGON_RUSH ],
],
[Species.GARCHOMP]: [
- [ 0, Moves.CRUNCH ],
+ [ EVOLVE_MOVE, Moves.CRUNCH ],
[ 1, Moves.SAND_ATTACK ],
[ 1, Moves.TACKLE ],
[ 1, Moves.DRAGON_BREATH ],
@@ -7668,7 +7677,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 56, Moves.REVERSAL ],
],
[Species.LUCARIO]: [
- [ 0, Moves.AURA_SPHERE ],
+ [ EVOLVE_MOVE, Moves.AURA_SPHERE ],
[ 1, Moves.QUICK_ATTACK ],
[ 1, Moves.SCREECH ],
[ 1, Moves.REVERSAL ],
@@ -7885,7 +7894,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 50, Moves.SHEER_COLD ],
],
[Species.ABOMASNOW]: [
- [ 0, Moves.ICE_PUNCH ],
+ [ EVOLVE_MOVE, Moves.ICE_PUNCH ],
[ 1, Moves.LEER ],
[ 1, Moves.MIST ],
[ 1, Moves.POWDER_SNOW ],
@@ -8034,7 +8043,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 64, Moves.HYPER_BEAM ],
],
[Species.TOGEKISS]: [
- [ 0, Moves.AIR_SLASH ],
+ [ EVOLVE_MOVE, Moves.AIR_SLASH ],
[ 1, Moves.POUND ],
[ 1, Moves.DOUBLE_EDGE ],
[ 1, Moves.GROWL ],
@@ -8074,7 +8083,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 49, Moves.U_TURN ],
],
[Species.LEAFEON]: [
- [ 0, Moves.SAPPY_SEED ],
+ [ EVOLVE_MOVE, Moves.SAPPY_SEED ],
[ 1, Moves.TACKLE ],
[ 1, Moves.TAKE_DOWN ],
[ 1, Moves.DOUBLE_EDGE ],
@@ -8101,7 +8110,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 60, Moves.LAST_RESORT ],
],
[Species.GLACEON]: [
- [ 0, Moves.FREEZY_FROST ],
+ [ EVOLVE_MOVE, Moves.FREEZY_FROST ],
[ 1, Moves.TACKLE ],
[ 1, Moves.TAKE_DOWN ],
[ 1, Moves.DOUBLE_EDGE ],
@@ -8145,7 +8154,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 50, Moves.SWORDS_DANCE ],
],
[Species.MAMOSWINE]: [
- [ 0, Moves.DOUBLE_HIT ],
+ [ EVOLVE_MOVE, Moves.DOUBLE_HIT ],
[ 1, Moves.TACKLE ],
[ 1, Moves.FLAIL ],
[ 1, Moves.POWDER_SNOW ],
@@ -8184,7 +8193,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 65, Moves.HYPER_BEAM ],
],
[Species.GALLADE]: [
- [ 0, Moves.SLASH ],
+ [ EVOLVE_MOVE, Moves.SLASH ],
[ 1, Moves.LEER ],
[ 1, Moves.GROWL ],
[ 1, Moves.PSYBEAM ],
@@ -8219,7 +8228,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 63, Moves.CLOSE_COMBAT ],
],
[Species.PROBOPASS]: [
- [ 0, Moves.TRI_ATTACK ],
+ [ EVOLVE_MOVE, Moves.TRI_ATTACK ],
[ 1, Moves.TACKLE ],
[ 1, Moves.IRON_DEFENSE ],
[ 1, Moves.BLOCK ],
@@ -8263,7 +8272,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 54, Moves.DESTINY_BOND ],
],
[Species.FROSLASS]: [
- [ 0, Moves.HEX ],
+ [ EVOLVE_MOVE, Moves.HEX ],
[ 1, Moves.HEADBUTT ],
[ 1, Moves.LEER ],
[ 1, Moves.BITE ],
@@ -8606,7 +8615,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 43, Moves.FLARE_BLITZ ],
],
[Species.PIGNITE]: [
- [ 0, Moves.ARM_THRUST ],
+ [ EVOLVE_MOVE, Moves.ARM_THRUST ],
[ 1, Moves.TACKLE ],
[ 1, Moves.TAIL_WHIP ],
[ 1, Moves.EMBER ],
@@ -8677,7 +8686,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 53, Moves.HYDRO_PUMP ],
],
[Species.SAMUROTT]: [
- [ 0, Moves.SLASH ],
+ [ EVOLVE_MOVE, Moves.SLASH ],
[ 1, Moves.TACKLE ],
[ 1, Moves.TAIL_WHIP ],
[ 1, Moves.WATER_GUN ],
@@ -8715,7 +8724,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 41, Moves.SLAM ],
],
[Species.WATCHOG]: [
- [ 0, Moves.CONFUSE_RAY ],
+ [ EVOLVE_MOVE, Moves.CONFUSE_RAY ],
[ 1, Moves.TACKLE ],
[ 1, Moves.LEER ],
[ 1, Moves.BITE ],
@@ -9015,7 +9024,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 44, Moves.EXPLOSION ],
],
[Species.BOLDORE]: [
- [ 0, Moves.POWER_GEM ],
+ [ EVOLVE_MOVE, Moves.POWER_GEM ],
[ 1, Moves.SAND_ATTACK ],
[ 1, Moves.TACKLE ],
[ 1, Moves.HARDEN ],
@@ -9094,7 +9103,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 48, Moves.FISSURE ],
],
[Species.EXCADRILL]: [
- [ 0, Moves.HORN_DRILL ],
+ [ EVOLVE_MOVE, Moves.HORN_DRILL ],
[ 1, Moves.SCRATCH ],
[ 1, Moves.MUD_SLAP ],
[ 1, Moves.RAPID_SPIN ],
@@ -9214,7 +9223,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 60, Moves.HYDRO_PUMP ],
],
[Species.SEISMITOAD]: [
- [ 0, Moves.DRAIN_PUNCH ],
+ [ EVOLVE_MOVE, Moves.DRAIN_PUNCH ],
[ 1, Moves.GROWL ],
[ 1, Moves.SUPERSONIC ],
[ 1, Moves.ACID ],
@@ -9277,7 +9286,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 43, Moves.FLAIL ],
],
[Species.SWADLOON]: [
- [ 0, Moves.PROTECT ],
+ [ EVOLVE_MOVE, Moves.PROTECT ],
[ 1, Moves.TACKLE ],
[ 1, Moves.RAZOR_LEAF ],
[ 1, Moves.STRING_SHOT ],
@@ -9290,7 +9299,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 43, Moves.FLAIL ],
],
[Species.LEAVANNY]: [
- [ 0, Moves.SLASH ],
+ [ EVOLVE_MOVE, Moves.SLASH ],
[ 1, Moves.TACKLE ],
[ 1, Moves.RAZOR_LEAF ],
[ 1, Moves.STRING_SHOT ],
@@ -9320,7 +9329,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 44, Moves.DOUBLE_EDGE ],
],
[Species.WHIRLIPEDE]: [
- [ 0, Moves.IRON_DEFENSE ],
+ [ EVOLVE_MOVE, Moves.IRON_DEFENSE ],
[ 1, Moves.POISON_STING ],
[ 1, Moves.DEFENSE_CURL ],
[ 1, Moves.PROTECT ],
@@ -9415,7 +9424,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 42, Moves.LEAF_STORM ],
],
[Species.LILLIGANT]: [
- [ 0, Moves.PETAL_DANCE ],
+ [ EVOLVE_MOVE, Moves.PETAL_DANCE ],
[ 1, Moves.ABSORB ],
[ 1, Moves.MEGA_DRAIN ],
[ 1, Moves.LEECH_SEED ],
@@ -9523,7 +9532,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 48, Moves.SUPERPOWER ],
],
[Species.DARMANITAN]: [
- [ 0, Moves.HAMMER_ARM ],
+ [ EVOLVE_MOVE, Moves.HAMMER_ARM ],
[ 1, Moves.TACKLE ],
[ 1, Moves.BITE ],
[ 1, Moves.EMBER ],
@@ -9665,7 +9674,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 52, Moves.DESTINY_BOND ],
],
[Species.COFAGRIGUS]: [
- [ 0, Moves.SHADOW_CLAW ],
+ [ EVOLVE_MOVE, Moves.SHADOW_CLAW ],
[ 1, Moves.NIGHT_SHADE ],
[ 1, Moves.HAZE ],
[ 1, Moves.PROTECT ],
@@ -9820,7 +9829,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 48, Moves.FOUL_PLAY ],
],
[Species.ZOROARK]: [
- [ 0, Moves.NIGHT_SLASH ],
+ [ EVOLVE_MOVE, Moves.NIGHT_SLASH ],
[ 1, Moves.SCRATCH ],
[ 1, Moves.LEER ],
[ 1, Moves.TORMENT ],
@@ -9854,7 +9863,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 48, Moves.LAST_RESORT ],
],
[Species.CINCCINO]: [
- [ 0, Moves.TAIL_SLAP ],
+ [ EVOLVE_MOVE, Moves.TAIL_SLAP ],
[ 1, Moves.BULLET_SEED ],
[ 1, Moves.SING ],
[ 1, Moves.CHARM ],
@@ -9961,7 +9970,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 58, Moves.WONDER_ROOM ],
],
[Species.REUNICLUS]: [
- [ 0, Moves.HAMMER_ARM ],
+ [ EVOLVE_MOVE, Moves.HAMMER_ARM ],
[ 1, Moves.CONFUSION ],
[ 1, Moves.RECOVER ],
[ 1, Moves.PROTECT ],
@@ -10082,7 +10091,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 42, Moves.SOLAR_BEAM ],
],
[Species.SAWSBUCK]: [
- [ 0, Moves.HORN_LEECH ],
+ [ EVOLVE_MOVE, Moves.HORN_LEECH ],
[ 1, Moves.SAND_ATTACK ],
[ 1, Moves.TACKLE ],
[ 1, Moves.GROWL ],
@@ -10258,7 +10267,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 48, Moves.BUG_BUZZ ],
],
[Species.GALVANTULA]: [
- [ 0, Moves.STICKY_WEB ],
+ [ EVOLVE_MOVE, Moves.STICKY_WEB ],
[ 1, Moves.ABSORB ],
[ 1, Moves.FURY_CUTTER ],
[ 1, Moves.BUG_BITE ],
@@ -10290,7 +10299,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 50, Moves.EXPLOSION ],
],
[Species.FERROTHORN]: [
- [ 0, Moves.POWER_WHIP ],
+ [ EVOLVE_MOVE, Moves.POWER_WHIP ],
[ 1, Moves.TACKLE ],
[ 1, Moves.PIN_MISSILE ],
[ 1, Moves.HARDEN ],
@@ -10363,7 +10372,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 1, Moves.CHARGE_BEAM ],
],
[Species.EELEKTRIK]: [
- [ 0, Moves.CRUNCH ],
+ [ EVOLVE_MOVE, Moves.CRUNCH ],
[ 1, Moves.HEADBUTT ],
[ 1, Moves.THUNDER_WAVE ],
[ 1, Moves.SPARK ],
@@ -10561,7 +10570,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 42, Moves.SHEER_COLD ],
],
[Species.BEARTIC]: [
- [ 0, Moves.ICICLE_CRASH ],
+ [ EVOLVE_MOVE, Moves.ICICLE_CRASH ],
[ 1, Moves.GROWL ],
[ 1, Moves.FURY_SWIPES ],
[ 1, Moves.POWDER_SNOW ],
@@ -10816,7 +10825,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 72, Moves.BRAVE_BIRD ],
],
[Species.BRAVIARY]: [
- [ 0, Moves.SUPERPOWER ],
+ [ EVOLVE_MOVE, Moves.SUPERPOWER ],
[ 1, Moves.WING_ATTACK ],
[ 1, Moves.LEER ],
[ 1, Moves.PECK ],
@@ -10849,7 +10858,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 72, Moves.BRAVE_BIRD ],
],
[Species.MANDIBUZZ]: [
- [ 0, Moves.BONE_RUSH ],
+ [ EVOLVE_MOVE, Moves.BONE_RUSH ],
[ 1, Moves.GUST ],
[ 1, Moves.LEER ],
[ 1, Moves.TOXIC ],
@@ -10980,7 +10989,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 66, Moves.FLARE_BLITZ ],
],
[Species.VOLCARONA]: [
- [ 0, Moves.QUIVER_DANCE ],
+ [ EVOLVE_MOVE, Moves.QUIVER_DANCE ],
[ 1, Moves.GUST ],
[ 1, Moves.WHIRLWIND ],
[ 1, Moves.TAKE_DOWN ],
@@ -11227,7 +11236,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 48, Moves.WOOD_HAMMER ],
],
[Species.QUILLADIN]: [
- [ 0, Moves.NEEDLE_ARM ],
+ [ EVOLVE_MOVE, Moves.NEEDLE_ARM ],
[ 1, Moves.TACKLE ],
[ 1, Moves.GROWL ],
[ 1, Moves.VINE_WHIP ],
@@ -11244,7 +11253,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 53, Moves.WOOD_HAMMER ],
],
[Species.CHESNAUGHT]: [
- [ 0, Moves.SPIKY_SHIELD ],
+ [ EVOLVE_MOVE, Moves.SPIKY_SHIELD ],
[ 1, Moves.VINE_WHIP ],
[ 1, Moves.TACKLE ],
[ 1, Moves.GROWL ],
@@ -11298,7 +11307,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 59, Moves.FIRE_BLAST ],
],
[Species.DELPHOX]: [
- [ 0, Moves.MYSTICAL_FIRE ],
+ [ EVOLVE_MOVE, Moves.MYSTICAL_FIRE ],
[ 1, Moves.SCRATCH ],
[ 1, Moves.TAIL_WHIP ],
[ 1, Moves.EMBER ],
@@ -11352,7 +11361,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 56, Moves.HYDRO_PUMP ],
],
[Species.GRENINJA]: [
- [ 0, Moves.WATER_SHURIKEN ],
+ [ EVOLVE_MOVE, Moves.WATER_SHURIKEN ],
[ 1, Moves.POUND ],
[ 1, Moves.GROWL ],
[ 1, Moves.WATER_GUN ],
@@ -11423,7 +11432,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 50, Moves.FLY ],
],
[Species.FLETCHINDER]: [
- [ 0, Moves.FLAME_CHARGE ],
+ [ EVOLVE_MOVE, Moves.FLAME_CHARGE ],
[ 1, Moves.GROWL ],
[ 1, Moves.EMBER ],
[ 1, Moves.PECK ],
@@ -11463,11 +11472,11 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 15, Moves.BUG_BITE ],
],
[Species.SPEWPA]: [
- [ 0, Moves.PROTECT ],
+ [ EVOLVE_MOVE, Moves.PROTECT ],
[ 1, Moves.HARDEN ],
],
[Species.VIVILLON]: [
- [ 0, Moves.GUST ],
+ [ EVOLVE_MOVE, Moves.GUST ],
[ 1, Moves.POISON_POWDER ],
[ 1, Moves.STUN_SPORE ],
[ 1, Moves.SLEEP_POWDER ],
@@ -11582,7 +11591,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 45, Moves.LEAF_BLADE ],
],
[Species.GOGOAT]: [
- [ 0, Moves.AERIAL_ACE ],
+ [ EVOLVE_MOVE, Moves.AERIAL_ACE ],
[ 1, Moves.VINE_WHIP ],
[ 1, Moves.TACKLE ],
[ 1, Moves.TAIL_WHIP ],
@@ -11617,7 +11626,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 44, Moves.ENTRAINMENT ],
],
[Species.PANGORO]: [
- [ 0, Moves.NIGHT_SLASH ],
+ [ EVOLVE_MOVE, Moves.NIGHT_SLASH ],
[ 1, Moves.TACKLE ],
[ 1, Moves.LEER ],
[ 1, Moves.TAUNT ],
@@ -11715,7 +11724,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 56, Moves.SACRED_SWORD ],
],
[Species.AEGISLASH]: [
- [ 0, Moves.KINGS_SHIELD ],
+ [ EVOLVE_MOVE, Moves.KINGS_SHIELD ],
[ 1, Moves.SWORDS_DANCE ],
[ 1, Moves.PURSUIT ],
[ 1, Moves.TACKLE ],
@@ -12040,7 +12049,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 66, Moves.HYPER_BEAM ],
],
[Species.SYLVEON]: [
- [ 0, Moves.SPARKLY_SWIRL ],
+ [ EVOLVE_MOVE, Moves.SPARKLY_SWIRL ],
[ 1, Moves.TACKLE ],
[ 1, Moves.TAKE_DOWN ],
[ 1, Moves.DOUBLE_EDGE ],
@@ -12131,7 +12140,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 50, Moves.MUDDY_WATER ],
],
[Species.SLIGGOO]: [
- [ 0, Moves.ACID_SPRAY ],
+ [ EVOLVE_MOVE, Moves.ACID_SPRAY ],
[ 1, Moves.TACKLE ],
[ 1, Moves.WATER_GUN ],
[ 1, Moves.ABSORB ],
@@ -12147,7 +12156,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 56, Moves.MUDDY_WATER ],
],
[Species.GOODRA]: [
- [ 0, Moves.AQUA_TAIL ],
+ [ EVOLVE_MOVE, Moves.AQUA_TAIL ],
[ 1, Moves.TACKLE ],
[ 1, Moves.WATER_GUN ],
[ 1, Moves.ABSORB ],
@@ -12200,7 +12209,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 52, Moves.FORESTS_CURSE ],
],
[Species.TREVENANT]: [
- [ 0, Moves.SHADOW_CLAW ],
+ [ EVOLVE_MOVE, Moves.SHADOW_CLAW ],
[ 1, Moves.TACKLE ],
[ 1, Moves.LEECH_SEED ],
[ 1, Moves.ASTONISH ],
@@ -12270,7 +12279,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 42, Moves.DOUBLE_EDGE ],
],
[Species.AVALUGG]: [
- [ 0, Moves.BODY_SLAM ],
+ [ EVOLVE_MOVE, Moves.BODY_SLAM ],
[ 1, Moves.TACKLE ],
[ 1, Moves.HARDEN ],
[ 1, Moves.POWDER_SNOW ],
@@ -12308,7 +12317,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 52, Moves.HURRICANE ],
],
[Species.NOIVERN]: [
- [ 0, Moves.DRAGON_PULSE ],
+ [ EVOLVE_MOVE, Moves.DRAGON_PULSE ],
[ 1, Moves.GUST ],
[ 1, Moves.TACKLE ],
[ 1, Moves.SUPERSONIC ],
@@ -12480,7 +12489,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 50, Moves.BRAVE_BIRD ],
],
[Species.DECIDUEYE]: [
- [ 0, Moves.SPIRIT_SHACKLE ],
+ [ EVOLVE_MOVE, Moves.SPIRIT_SHACKLE ],
[ 1, Moves.TACKLE ],
[ 1, Moves.GROWL ],
[ 1, Moves.SPITE ],
@@ -12533,7 +12542,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 50, Moves.FLARE_BLITZ ],
],
[Species.INCINEROAR]: [
- [ 0, Moves.DARKEST_LARIAT ],
+ [ EVOLVE_MOVE, Moves.DARKEST_LARIAT ],
[ 1, Moves.SCRATCH ],
[ 1, Moves.GROWL ],
[ 1, Moves.EMBER ],
@@ -12585,7 +12594,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 50, Moves.HYDRO_PUMP ],
],
[Species.PRIMARINA]: [
- [ 0, Moves.SPARKLING_ARIA ],
+ [ EVOLVE_MOVE, Moves.SPARKLING_ARIA ],
[ 1, Moves.POUND ],
[ 1, Moves.GROWL ],
[ 1, Moves.WATER_GUN ],
@@ -12633,7 +12642,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 45, Moves.HYPER_VOICE ],
],
[Species.TOUCANNON]: [
- [ 0, Moves.BEAK_BLAST ],
+ [ EVOLVE_MOVE, Moves.BEAK_BLAST ],
[ 1, Moves.GROWL ],
[ 1, Moves.PECK ],
[ 1, Moves.ROCK_SMASH ],
@@ -12695,7 +12704,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 40, Moves.DIG ],
],
[Species.CHARJABUG]: [
- [ 0, Moves.CHARGE ],
+ [ EVOLVE_MOVE, Moves.CHARGE ],
[ 1, Moves.VISE_GRIP ],
[ 1, Moves.STRING_SHOT ],
[ 1, Moves.MUD_SLAP ],
@@ -12710,7 +12719,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 64, Moves.DISCHARGE ],
],
[Species.VIKAVOLT]: [
- [ 0, Moves.THUNDERBOLT ],
+ [ EVOLVE_MOVE, Moves.THUNDERBOLT ],
[ 1, Moves.CHARGE ],
[ 1, Moves.CRUNCH ],
[ 1, Moves.DISCHARGE ],
@@ -12747,7 +12756,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 49, Moves.CLOSE_COMBAT ],
],
[Species.CRABOMINABLE]: [
- [ 0, Moves.ICE_PUNCH ],
+ [ EVOLVE_MOVE, Moves.ICE_PUNCH ],
[ 1, Moves.LEER ],
[ 1, Moves.PROTECT ],
[ 1, Moves.ROCK_SMASH ],
@@ -12794,7 +12803,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 54, Moves.QUIVER_DANCE ],
],
[Species.RIBOMBEE]: [
- [ 0, Moves.POLLEN_PUFF ],
+ [ EVOLVE_MOVE, Moves.POLLEN_PUFF ],
[ 1, Moves.ABSORB ],
[ 1, Moves.STUN_SPORE ],
[ 1, Moves.SWEET_SCENT ],
@@ -12824,7 +12833,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 48, Moves.STONE_EDGE ],
],
[Species.LYCANROC]: [
- [ 0, Moves.SUCKER_PUNCH ],
+ [ EVOLVE_MOVE, Moves.SUCKER_PUNCH ],
[ 1, Moves.SAND_ATTACK ],
[ 1, Moves.TACKLE ],
[ 1, Moves.LEER ],
@@ -12874,7 +12883,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 50, Moves.TOXIC ],
],
[Species.TOXAPEX]: [
- [ 0, Moves.BANEFUL_BUNKER ],
+ [ EVOLVE_MOVE, Moves.BANEFUL_BUNKER ],
[ 1, Moves.POISON_STING ],
[ 1, Moves.BITE ],
[ 1, Moves.PECK ],
@@ -12968,7 +12977,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 50, Moves.SOLAR_BEAM ],
],
[Species.LURANTIS]: [
- [ 0, Moves.PETAL_BLIZZARD ],
+ [ EVOLVE_MOVE, Moves.PETAL_BLIZZARD ],
[ 1, Moves.GROWTH ],
[ 1, Moves.SOLAR_BEAM ],
[ 1, Moves.FURY_CUTTER ],
@@ -13032,7 +13041,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 55, Moves.ENDEAVOR ],
],
[Species.SALAZZLE]: [
- [ 0, Moves.FIRE_LASH ],
+ [ EVOLVE_MOVE, Moves.FIRE_LASH ],
[ 1, Moves.POUND ],
[ 1, Moves.SCRATCH ],
[ 1, Moves.DISABLE ],
@@ -13071,7 +13080,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 48, Moves.SUPERPOWER ],
],
[Species.BEWEAR]: [
- [ 0, Moves.BIND ],
+ [ EVOLVE_MOVE, Moves.BIND ],
[ 1, Moves.TACKLE ],
[ 1, Moves.LEER ],
[ 1, Moves.PAYBACK ],
@@ -13113,7 +13122,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 46, Moves.LEAF_STORM ],
],
[Species.TSAREENA]: [
- [ 0, Moves.TROP_KICK ],
+ [ EVOLVE_MOVE, Moves.TROP_KICK ],
[ 1, Moves.RAZOR_LEAF ],
[ 1, Moves.SPLASH ],
[ 1, Moves.FLAIL ],
@@ -13188,7 +13197,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 1, Moves.STRUGGLE_BUG ],
],
[Species.GOLISOPOD]: [
- [ 0, Moves.FIRST_IMPRESSION ],
+ [ EVOLVE_MOVE, Moves.FIRST_IMPRESSION ],
[ 1, Moves.SAND_ATTACK ],
[ 1, Moves.DEFENSE_CURL ],
[ 1, Moves.SPITE ],
@@ -13274,7 +13283,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 60, Moves.HEAL_BLOCK ],
],
[Species.SILVALLY]: [
- [ 0, Moves.MULTI_ATTACK ],
+ [ EVOLVE_MOVE, Moves.MULTI_ATTACK ],
[ 1, Moves.TACKLE ],
[ 1, Moves.BITE ],
[ 1, Moves.EXPLOSION ],
@@ -13445,7 +13454,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 44, Moves.OUTRAGE ],
],
[Species.HAKAMO_O]: [
- [ 0, Moves.SKY_UPPERCUT ],
+ [ EVOLVE_MOVE, Moves.SKY_UPPERCUT ],
[ 1, Moves.TACKLE ],
[ 1, Moves.LEER ],
[ 1, Moves.PROTECT ],
@@ -13463,7 +13472,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 56, Moves.CLOSE_COMBAT ],
],
[Species.KOMMO_O]: [
- [ 0, Moves.CLANGING_SCALES ],
+ [ EVOLVE_MOVE, Moves.CLANGING_SCALES ],
[ 1, Moves.TACKLE ],
[ 1, Moves.LEER ],
[ 1, Moves.PROTECT ],
@@ -13566,11 +13575,11 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 1, Moves.STORED_POWER ], //Custom
],
[Species.COSMOEM]: [
- [ 0, Moves.COSMIC_POWER ],
+ [ EVOLVE_MOVE, Moves.COSMIC_POWER ],
[ 1, Moves.TELEPORT ],
],
[Species.SOLGALEO]: [
- [ 0, Moves.SUNSTEEL_STRIKE ],
+ [ EVOLVE_MOVE, Moves.SUNSTEEL_STRIKE ],
[ 1, Moves.TELEPORT ],
[ 1, Moves.METAL_CLAW ],
[ 1, Moves.COSMIC_POWER ],
@@ -13590,7 +13599,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 84, Moves.GIGA_IMPACT ],
],
[Species.LUNALA]: [
- [ 0, Moves.MOONGEIST_BEAM ],
+ [ EVOLVE_MOVE, Moves.MOONGEIST_BEAM ],
[ 1, Moves.CONFUSION ],
[ 1, Moves.HYPNOSIS ],
[ 1, Moves.TELEPORT ],
@@ -13815,7 +13824,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 63, Moves.TOXIC ],
],
[Species.NAGANADEL]: [
- [ 0, Moves.AIR_CUTTER ],
+ [ EVOLVE_MOVE, Moves.AIR_CUTTER ],
[ 1, Moves.GROWL ],
[ 1, Moves.ACID ],
[ 1, Moves.PECK ],
@@ -13899,7 +13908,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 40, Moves.FLASH_CANNON ],
],
[Species.MELMETAL]: [
- [ 0, Moves.THUNDER_PUNCH ],
+ [ EVOLVE_MOVE, Moves.THUNDER_PUNCH ],
[ 1, Moves.HEADBUTT ],
[ 1, Moves.TAIL_WHIP ],
[ 1, Moves.THUNDER_SHOCK ],
@@ -13929,7 +13938,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 36, Moves.ENDEAVOR ],
],
[Species.THWACKEY]: [
- [ 0, Moves.DOUBLE_HIT ],
+ [ EVOLVE_MOVE, Moves.DOUBLE_HIT ],
[ 1, Moves.SCRATCH ],
[ 1, Moves.GROWL ],
[ 1, Moves.TAUNT ],
@@ -13943,7 +13952,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 48, Moves.ENDEAVOR ],
],
[Species.RILLABOOM]: [
- [ 0, Moves.DRUM_BEATING ],
+ [ EVOLVE_MOVE, Moves.DRUM_BEATING ],
[ 1, Moves.SCRATCH ],
[ 1, Moves.GROWL ],
[ 1, Moves.TAUNT ],
@@ -13987,7 +13996,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 48, Moves.DOUBLE_EDGE ],
],
[Species.CINDERACE]: [
- [ 0, Moves.PYRO_BALL ],
+ [ EVOLVE_MOVE, Moves.PYRO_BALL ],
[ 1, Moves.TACKLE ],
[ 1, Moves.GROWL ],
[ 1, Moves.EMBER ],
@@ -14029,7 +14038,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 48, Moves.RAIN_DANCE ],
],
[Species.INTELEON]: [
- [ 0, Moves.SNIPE_SHOT ],
+ [ EVOLVE_MOVE, Moves.SNIPE_SHOT ],
[ 1, Moves.POUND ],
[ 1, Moves.BIND ],
[ 1, Moves.GROWL ],
@@ -14060,7 +14069,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 45, Moves.BELCH ],
],
[Species.GREEDENT]: [
- [ 0, Moves.COVET ],
+ [ EVOLVE_MOVE, Moves.COVET ],
[ 1, Moves.TACKLE ],
[ 1, Moves.TAIL_WHIP ],
[ 1, Moves.BITE ],
@@ -14102,7 +14111,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 46, Moves.BRAVE_BIRD ],
],
[Species.CORVIKNIGHT]: [
- [ 0, Moves.STEEL_WING ],
+ [ EVOLVE_MOVE, Moves.STEEL_WING ],
[ 1, Moves.LEER ],
[ 1, Moves.PECK ],
[ 1, Moves.SCREECH ],
@@ -14122,9 +14131,12 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 1, Moves.STRUGGLE_BUG ],
],
[Species.DOTTLER]: [
- [ 0, Moves.CONFUSION ],
- [ 0, Moves.LIGHT_SCREEN ],
- [ 0, Moves.REFLECT ],
+ [ EVOLVE_MOVE, Moves.CONFUSION ],
+ [ EVOLVE_MOVE, Moves.LIGHT_SCREEN ],
+ [ EVOLVE_MOVE, Moves.REFLECT ],
+ [ 1, Moves.CONFUSION ],
+ [ 1, Moves.LIGHT_SCREEN ],
+ [ 1, Moves.REFLECT ],
[ 1, Moves.STRUGGLE_BUG ],
],
[Species.ORBEETLE]: [
@@ -14159,7 +14171,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 36, Moves.FOUL_PLAY ],
],
[Species.THIEVUL]: [
- [ 0, Moves.THIEF ],
+ [ EVOLVE_MOVE, Moves.THIEF ],
[ 1, Moves.TAIL_WHIP ],
[ 1, Moves.QUICK_ATTACK ],
[ 1, Moves.BEAT_UP ],
@@ -14187,7 +14199,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 36, Moves.LEAF_STORM ],
],
[Species.ELDEGOSS]: [
- [ 0, Moves.COTTON_SPORE ],
+ [ EVOLVE_MOVE, Moves.COTTON_SPORE ],
[ 1, Moves.SING ],
[ 1, Moves.RAPID_SPIN ],
[ 1, Moves.SWEET_SCENT ],
@@ -14242,7 +14254,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 49, Moves.BODY_SLAM ],
],
[Species.DREDNAW]: [
- [ 0, Moves.ROCK_TOMB ],
+ [ EVOLVE_MOVE, Moves.ROCK_TOMB ],
[ 1, Moves.TACKLE ],
[ 1, Moves.BITE ],
[ 1, Moves.WATER_GUN ],
@@ -14298,7 +14310,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 40, Moves.ROCK_BLAST ],
],
[Species.CARKOL]: [
- [ 0, Moves.FLAME_CHARGE ],
+ [ EVOLVE_MOVE, Moves.FLAME_CHARGE ],
[ 1, Moves.TACKLE ],
[ 1, Moves.SMOKESCREEN ],
[ 1, Moves.RAPID_SPIN ],
@@ -14312,7 +14324,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 55, Moves.STONE_EDGE ],
],
[Species.COALOSSAL]: [
- [ 0, Moves.TAR_SHOT ],
+ [ EVOLVE_MOVE, Moves.TAR_SHOT ],
[ 1, Moves.TACKLE ],
[ 1, Moves.SMOKESCREEN ],
[ 1, Moves.RAPID_SPIN ],
@@ -14332,7 +14344,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 1, Moves.LEAFAGE ], //Custom
],
[Species.FLAPPLE]: [
- [ 0, Moves.WING_ATTACK ],
+ [ EVOLVE_MOVE, Moves.WING_ATTACK ],
[ 1, Moves.GROWTH ],
[ 1, Moves.WITHDRAW ],
[ 1, Moves.TWISTER ],
@@ -14351,7 +14363,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 44, Moves.DRAGON_RUSH ],
],
[Species.APPLETUN]: [
- [ 0, Moves.HEADBUTT ],
+ [ EVOLVE_MOVE, Moves.HEADBUTT ],
[ 1, Moves.GROWTH ],
[ 1, Moves.WITHDRAW ],
[ 1, Moves.SWEET_SCENT ],
@@ -14446,7 +14458,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 1, Moves.TEARFUL_LOOK ],
],
[Species.TOXTRICITY]: [
- [ 0, Moves.SPARK ],
+ [ EVOLVE_MOVE, Moves.SPARK ],
[ 1, Moves.LEER ],
[ 1, Moves.GROWL ],
[ 1, Moves.ACID ],
@@ -14515,7 +14527,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 45, Moves.SUPERPOWER ],
],
[Species.GRAPPLOCT]: [
- [ 0, Moves.OCTOLOCK ],
+ [ EVOLVE_MOVE, Moves.OCTOLOCK ],
[ 1, Moves.BIND ],
[ 1, Moves.LEER ],
[ 1, Moves.OCTAZOOKA ],
@@ -14545,7 +14557,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 60, Moves.SHELL_SMASH ],
],
[Species.POLTEAGEIST]: [
- [ 0, Moves.TEATIME ],
+ [ EVOLVE_MOVE, Moves.TEATIME ],
[ 1, Moves.MEGA_DRAIN ],
[ 1, Moves.WITHDRAW ],
[ 1, Moves.ASTONISH ],
@@ -14575,7 +14587,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 45, Moves.HEALING_WISH ],
],
[Species.HATTREM]: [
- [ 0, Moves.BRUTAL_SWING ],
+ [ EVOLVE_MOVE, Moves.BRUTAL_SWING ],
[ 1, Moves.CONFUSION ],
[ 1, Moves.DISARMING_VOICE ],
[ 1, Moves.PLAY_NICE ],
@@ -14589,7 +14601,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 51, Moves.HEALING_WISH ],
],
[Species.HATTERENE]: [
- [ 0, Moves.PSYCHO_CUT ],
+ [ EVOLVE_MOVE, Moves.PSYCHO_CUT ],
[ 1, Moves.CONFUSION ],
[ 1, Moves.DISARMING_VOICE ],
[ 1, Moves.PLAY_NICE ],
@@ -14620,7 +14632,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 44, Moves.FOUL_PLAY ],
],
[Species.MORGREM]: [
- [ 0, Moves.FALSE_SURRENDER ],
+ [ EVOLVE_MOVE, Moves.FALSE_SURRENDER ],
[ 1, Moves.BITE ],
[ 1, Moves.FAKE_OUT ],
[ 1, Moves.FLATTER ],
@@ -14636,7 +14648,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 52, Moves.FOUL_PLAY ],
],
[Species.GRIMMSNARL]: [
- [ 0, Moves.SPIRIT_BREAK ],
+ [ EVOLVE_MOVE, Moves.SPIRIT_BREAK ],
[ 1, Moves.BITE ],
[ 1, Moves.FAKE_OUT ],
[ 1, Moves.FLATTER ],
@@ -14655,7 +14667,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 64, Moves.HAMMER_ARM ],
],
[Species.OBSTAGOON]: [
- [ 0, Moves.OBSTRUCT ],
+ [ EVOLVE_MOVE, Moves.OBSTRUCT ],
[ 1, Moves.SAND_ATTACK ],
[ 1, Moves.TACKLE ],
[ 1, Moves.PIN_MISSILE ],
@@ -14678,7 +14690,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 56, Moves.DOUBLE_EDGE ],
],
[Species.PERRSERKER]: [
- [ 0, Moves.IRON_HEAD ],
+ [ EVOLVE_MOVE, Moves.IRON_HEAD ],
[ 1, Moves.SCRATCH ],
[ 1, Moves.GROWL ],
[ 1, Moves.FAKE_OUT ],
@@ -14712,7 +14724,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 55, Moves.MIRROR_COAT ],
],
[Species.SIRFETCHD]: [
- [ 0, Moves.IRON_DEFENSE ],
+ [ EVOLVE_MOVE, Moves.IRON_DEFENSE ],
[ 1, Moves.SAND_ATTACK ],
[ 1, Moves.LEER ],
[ 1, Moves.PECK ],
@@ -14764,7 +14776,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 52, Moves.TEETER_DANCE ],
],
[Species.RUNERIGUS]: [
- [ 0, Moves.SHADOW_CLAW ],
+ [ EVOLVE_MOVE, Moves.SHADOW_CLAW ],
[ 1, Moves.NIGHT_SHADE ],
[ 1, Moves.HAZE ],
[ 1, Moves.PROTECT ],
@@ -14798,7 +14810,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 50, Moves.ENTRAINMENT ],
],
[Species.ALCREMIE]: [
- [ 0, Moves.DECORATE ],
+ [ EVOLVE_MOVE, Moves.DECORATE ],
[ 1, Moves.TACKLE ],
[ 1, Moves.SWEET_KISS ],
[ 1, Moves.SWEET_SCENT ],
@@ -14849,7 +14861,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 1, Moves.STRUGGLE_BUG ],
],
[Species.FROSMOTH]: [
- [ 0, Moves.ICY_WIND ],
+ [ EVOLVE_MOVE, Moves.ICY_WIND ],
[ 1, Moves.POWDER_SNOW ],
[ 1, Moves.ATTRACT ],
[ 1, Moves.HELPING_HAND ],
@@ -14944,7 +14956,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 55, Moves.SUPERPOWER ],
],
[Species.COPPERAJAH]: [
- [ 0, Moves.HEAVY_SLAM ],
+ [ EVOLVE_MOVE, Moves.HEAVY_SLAM ],
[ 1, Moves.TACKLE ],
[ 1, Moves.GROWL ],
[ 1, Moves.ROLLOUT ],
@@ -15041,7 +15053,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 1, Moves.INFESTATION ],
],
[Species.DRAKLOAK]: [
- [ 0, Moves.DRAGON_PULSE ],
+ [ EVOLVE_MOVE, Moves.DRAGON_PULSE ],
[ 1, Moves.BITE ],
[ 1, Moves.QUICK_ATTACK ],
[ 1, Moves.ASTONISH ],
@@ -15060,7 +15072,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 72, Moves.LAST_RESORT ],
],
[Species.DRAGAPULT]: [
- [ 0, Moves.DRAGON_DARTS ],
+ [ EVOLVE_MOVE, Moves.DRAGON_DARTS ],
[ 1, Moves.BITE ],
[ 1, Moves.QUICK_ATTACK ],
[ 1, Moves.DRAGON_BREATH ],
@@ -15145,7 +15157,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 52, Moves.FOCUS_PUNCH ],
],
[Species.URSHIFU]: [
- [ 0, Moves.WICKED_BLOW ],
+ [ EVOLVE_MOVE, Moves.WICKED_BLOW ],
[ 1, Moves.LEER ],
[ 1, Moves.FOCUS_ENERGY ],
[ 1, Moves.ENDURE ],
@@ -15265,7 +15277,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 88, Moves.FUTURE_SIGHT ],
],
[Species.WYRDEER]: [
- [ 0, Moves.PSYSHIELD_BASH ],
+ [ EVOLVE_MOVE, Moves.PSYSHIELD_BASH ],
[ 1, Moves.TACKLE ],
[ 3, Moves.LEER ],
[ 7, Moves.ASTONISH ],
@@ -15282,7 +15294,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 62, Moves.MEGAHORN ],
],
[Species.KLEAVOR]: [
- [ 0, Moves.STONE_AXE ],
+ [ EVOLVE_MOVE, Moves.STONE_AXE ],
[ 1, Moves.LEER ],
[ 1, Moves.QUICK_ATTACK ],
[ 4, Moves.FURY_CUTTER ],
@@ -15298,7 +15310,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 44, Moves.SWORDS_DANCE ],
],
[Species.URSALUNA]: [
- [ 0, Moves.HEADLONG_RUSH ],
+ [ EVOLVE_MOVE, Moves.HEADLONG_RUSH ],
[ 1, Moves.SCRATCH ],
[ 1, Moves.LEER ],
[ 1, Moves.LICK ],
@@ -15338,7 +15350,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 56, Moves.HEAD_SMASH ],
],
[Species.SNEASLER]: [
- [ 0, Moves.DIRE_CLAW ],
+ [ EVOLVE_MOVE, Moves.DIRE_CLAW ],
[ 1, Moves.SCRATCH ],
[ 1, Moves.LEER ],
[ 1, Moves.ROCK_SMASH ],
@@ -15424,7 +15436,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 46, Moves.LEAF_STORM ],
],
[Species.MEOWSCARADA]: [
- [ 0, Moves.FLOWER_TRICK ],
+ [ EVOLVE_MOVE, Moves.FLOWER_TRICK ],
[ 1, Moves.SCRATCH ],
[ 1, Moves.TAIL_WHIP ],
[ 1, Moves.LEAFAGE ],
@@ -15474,7 +15486,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 47, Moves.FIRE_BLAST ],
],
[Species.SKELEDIRGE]: [
- [ 0, Moves.TORCH_SONG ],
+ [ EVOLVE_MOVE, Moves.TORCH_SONG ],
[ 1, Moves.TACKLE ],
[ 1, Moves.LEER ],
[ 1, Moves.EMBER ],
@@ -15525,7 +15537,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 48, Moves.FEATHER_DANCE ],
],
[Species.QUAQUAVAL]: [
- [ 0, Moves.AQUA_STEP ],
+ [ EVOLVE_MOVE, Moves.AQUA_STEP ],
[ 1, Moves.POUND ],
[ 1, Moves.GROWL ],
[ 1, Moves.WATER_GUN ],
@@ -15594,7 +15606,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 44, Moves.SKITTER_SMACK ],
],
[Species.SPIDOPS]: [
- [ 0, Moves.SILK_TRAP ],
+ [ EVOLVE_MOVE, Moves.SILK_TRAP ],
[ 1, Moves.TACKLE ],
[ 1, Moves.STRING_SHOT ],
[ 5, Moves.STRUGGLE_BUG ],
@@ -15626,7 +15638,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 41, Moves.FIRST_IMPRESSION ],
],
[Species.LOKIX]: [
- [ 0, Moves.LUNGE ],
+ [ EVOLVE_MOVE, Moves.LUNGE ],
[ 1, Moves.TACKLE ],
[ 1, Moves.LEER ],
[ 1, Moves.LOW_KICK ],
@@ -15664,7 +15676,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 44, Moves.WILD_CHARGE ],
],
[Species.PAWMO]: [
- [ 0, Moves.ARM_THRUST ],
+ [ EVOLVE_MOVE, Moves.ARM_THRUST ],
[ 1, Moves.SCRATCH ],
[ 1, Moves.GROWL ],
[ 3, Moves.THUNDER_SHOCK ],
@@ -15682,7 +15694,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 52, Moves.WILD_CHARGE ],
],
[Species.PAWMOT]: [
- [ 0, Moves.REVIVAL_BLESSING ],
+ [ EVOLVE_MOVE, Moves.REVIVAL_BLESSING ],
[ 1, Moves.SCRATCH ],
[ 1, Moves.GROWL ],
[ 1, Moves.WILD_CHARGE ],
@@ -15854,7 +15866,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 45, Moves.STONE_EDGE ],
],
[Species.NACLSTACK]: [
- [ 0, Moves.SALT_CURE ],
+ [ EVOLVE_MOVE, Moves.SALT_CURE ],
[ 1, Moves.TACKLE ],
[ 1, Moves.HARDEN ],
[ 5, Moves.ROCK_THROW ],
@@ -15871,7 +15883,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 51, Moves.STONE_EDGE ],
],
[Species.GARGANACL]: [
- [ 0, Moves.HAMMER_ARM ],
+ [ EVOLVE_MOVE, Moves.HAMMER_ARM ],
[ 1, Moves.TACKLE ],
[ 1, Moves.HARDEN ],
[ 1, Moves.BLOCK ],
@@ -15904,7 +15916,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 32, Moves.LAVA_PLUME ],
],
[Species.ARMAROUGE]: [
- [ 0, Moves.PSYSHOCK ],
+ [ EVOLVE_MOVE, Moves.PSYSHOCK ],
[ 1, Moves.LEER ],
[ 1, Moves.EMBER ],
[ 1, Moves.ASTONISH ],
@@ -15924,7 +15936,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 62, Moves.ARMOR_CANNON ],
],
[Species.CERULEDGE]: [
- [ 0, Moves.SHADOW_CLAW ],
+ [ EVOLVE_MOVE, Moves.SHADOW_CLAW ],
[ 1, Moves.EMBER ],
[ 1, Moves.LEER ],
[ 1, Moves.ASTONISH ],
@@ -15991,7 +16003,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 43, Moves.DISCHARGE ],
],
[Species.KILOWATTREL]: [
- [ 0, Moves.ELECTRO_BALL ],
+ [ EVOLVE_MOVE, Moves.ELECTRO_BALL ],
[ 1, Moves.GROWL ],
[ 1, Moves.PECK ],
[ 4, Moves.THUNDER_SHOCK ],
@@ -16024,7 +16036,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 49, Moves.DOUBLE_EDGE ],
],
[Species.MABOSSTIFF]: [
- [ 0, Moves.COMEUPPANCE ],
+ [ EVOLVE_MOVE, Moves.COMEUPPANCE ],
[ 1, Moves.TACKLE ],
[ 1, Moves.LEER ],
[ 1, Moves.SCARY_FACE ],
@@ -16060,7 +16072,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 45, Moves.GUNK_SHOT ],
],
[Species.GRAFAIAI]: [
- [ 0, Moves.DOODLE ],
+ [ EVOLVE_MOVE, Moves.DOODLE ],
[ 1, Moves.SCRATCH ],
[ 1, Moves.LEER ],
[ 5, Moves.ACID_SPRAY ],
@@ -16180,8 +16192,8 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 48, Moves.SOLAR_BEAM ],
],
[Species.SCOVILLAIN]: [
- [ 0, Moves.FLAMETHROWER ],
- [ 0, Moves.SPICY_EXTRACT ],
+ [ EVOLVE_MOVE, Moves.FLAMETHROWER ],
+ [ EVOLVE_MOVE, Moves.SPICY_EXTRACT ],
[ 1, Moves.LEER ],
[ 1, Moves.FIRE_FANG ],
[ 1, Moves.LEAFAGE ],
@@ -16211,7 +16223,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 35, Moves.LUNGE ],
],
[Species.RABSCA]: [
- [ 0, Moves.REVIVAL_BLESSING ],
+ [ EVOLVE_MOVE, Moves.REVIVAL_BLESSING ],
[ 1, Moves.TACKLE ],
[ 1, Moves.CONFUSION ],
[ 1, Moves.DEFENSE_CURL ],
@@ -16242,7 +16254,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 34, Moves.UPROAR ],
],
[Species.ESPATHRA]: [
- [ 0, Moves.LUMINA_CRASH ],
+ [ EVOLVE_MOVE, Moves.LUMINA_CRASH ],
[ 1, Moves.GROWL ],
[ 1, Moves.PECK ],
[ 1, Moves.DRILL_PECK ],
@@ -16296,7 +16308,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 52, Moves.KNOCK_OFF ],
],
[Species.TINKATON]: [
- [ 0, Moves.GIGATON_HAMMER ],
+ [ EVOLVE_MOVE, Moves.GIGATON_HAMMER ],
[ 1, Moves.ASTONISH ],
[ 1, Moves.FAIRY_WIND ],
[ 5, Moves.BABY_DOLL_EYES ],
@@ -16377,7 +16389,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 50, Moves.HYDRO_PUMP ],
],
[Species.PALAFIN]: [
- [ 0, Moves.FLIP_TURN ],
+ [ EVOLVE_MOVE, Moves.FLIP_TURN ],
[ 1, Moves.SUPERSONIC ],
[ 1, Moves.WATER_GUN ],
[ 1, Moves.JET_PUNCH ],
@@ -16413,7 +16425,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 50, Moves.GUNK_SHOT ],
],
[Species.REVAVROOM]: [
- [ 0, Moves.SHIFT_GEAR ],
+ [ EVOLVE_MOVE, Moves.SHIFT_GEAR ],
[ 1, Moves.LICK ],
[ 1, Moves.POISON_GAS ],
[ 1, Moves.MAGNET_RISE ],
@@ -16480,7 +16492,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 46, Moves.SLUDGE_WAVE ],
],
[Species.GLIMMORA]: [
- [ 0, Moves.MORTAL_SPIN ],
+ [ EVOLVE_MOVE, Moves.MORTAL_SPIN ],
[ 1, Moves.ROCK_THROW ],
[ 1, Moves.HARDEN ],
[ 1, Moves.TOXIC_SPIKES ],
@@ -16516,7 +16528,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 52, Moves.DOUBLE_EDGE ],
],
[Species.HOUNDSTONE]: [
- [ 0, Moves.LAST_RESPECTS ],
+ [ EVOLVE_MOVE, Moves.LAST_RESPECTS ],
[ 1, Moves.TACKLE ],
[ 1, Moves.GROWL ],
[ 3, Moves.LICK ],
@@ -16633,7 +16645,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 52, Moves.DRAGON_PULSE ],
],
[Species.ANNIHILAPE]: [
- [ 0, Moves.SHADOW_PUNCH ],
+ [ EVOLVE_MOVE, Moves.SHADOW_PUNCH ],
[ 1, Moves.SCRATCH ],
[ 1, Moves.LEER ],
[ 1, Moves.COUNTER ],
@@ -16654,7 +16666,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 57, Moves.FINAL_GAMBIT ],
],
[Species.CLODSIRE]: [
- [ 0, Moves.AMNESIA ],
+ [ EVOLVE_MOVE, Moves.AMNESIA ],
[ 1, Moves.TAIL_WHIP ],
[ 1, Moves.POISON_STING ],
[ 4, Moves.TOXIC_SPIKES ],
@@ -16706,7 +16718,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 62, Moves.BOOMBURST ],
],
[Species.KINGAMBIT]: [
- [ 0, Moves.KOWTOW_CLEAVE ],
+ [ EVOLVE_MOVE, Moves.KOWTOW_CLEAVE ],
[ 1, Moves.SCRATCH ],
[ 1, Moves.LEER ],
[ 1, Moves.FURY_CUTTER ],
@@ -16975,7 +16987,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 55, Moves.ICICLE_CRASH ],
],
[Species.BAXCALIBUR]: [
- [ 0, Moves.GLAIVE_RUSH ],
+ [ EVOLVE_MOVE, Moves.GLAIVE_RUSH ],
[ 1, Moves.TACKLE ],
[ 1, Moves.LEER ],
[ 1, Moves.ICE_SHARD ],
@@ -17169,10 +17181,12 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 98, Moves.HYPER_BEAM ],
],
[Species.WALKING_WAKE]: [
- [ 0, Moves.LEER ],
- [ 0, Moves.ROAR ],
- [ 0, Moves.TWISTER ],
- [ 0, Moves.AQUA_JET ],
+ [ RELEARN_MOVE, Moves.SUNNY_DAY ],
+ [ RELEARN_MOVE, Moves.HONE_CLAWS ],
+ [ 1, Moves.LEER ],
+ [ 1, Moves.ROAR ],
+ [ 1, Moves.TWISTER ],
+ [ 1, Moves.AQUA_JET ],
[ 7, Moves.BITE ],
[ 14, Moves.WATER_PULSE ],
[ 21, Moves.NOBLE_ROAR ],
@@ -17186,10 +17200,12 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 84, Moves.HYDRO_PUMP ],
],
[Species.IRON_LEAVES]: [
- [ 0, Moves.LEER ],
- [ 0, Moves.QUICK_ATTACK ],
- [ 0, Moves.HELPING_HAND ],
- [ 0, Moves.WORK_UP ],
+ [ RELEARN_MOVE, Moves.ELECTRIC_TERRAIN ],
+ [ RELEARN_MOVE, Moves.QUASH ],
+ [ 1, Moves.LEER ],
+ [ 1, Moves.QUICK_ATTACK ],
+ [ 1, Moves.HELPING_HAND ],
+ [ 1, Moves.WORK_UP ],
[ 7, Moves.MAGICAL_LEAF ],
[ 14, Moves.RETALIATE ],
[ 21, Moves.QUICK_GUARD ],
@@ -17205,7 +17221,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 91, Moves.SOLAR_BLADE ],
],
[Species.DIPPLIN]: [
- [ 0, Moves.DOUBLE_HIT ],
+ [ EVOLVE_MOVE, Moves.DOUBLE_HIT ],
[ 1, Moves.WITHDRAW ],
[ 1, Moves.SWEET_SCENT ],
[ 1, Moves.RECYCLE ],
@@ -17238,7 +17254,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 60, Moves.LEAF_STORM ],
],
[Species.SINISTCHA]: [
- [ 0, Moves.MATCHA_GOTCHA ],
+ [ EVOLVE_MOVE, Moves.MATCHA_GOTCHA ],
[ 1, Moves.STUN_SPORE ],
[ 1, Moves.WITHDRAW ],
[ 1, Moves.ASTONISH ],
@@ -17316,7 +17332,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 66, Moves.WOOD_HAMMER ],
],
[Species.ARCHALUDON]: [
- [ 0, Moves.ELECTRO_SHOT ],
+ [ EVOLVE_MOVE, Moves.ELECTRO_SHOT ],
[ 1, Moves.LEER ],
[ 1, Moves.METAL_CLAW ],
[ 6, Moves.ROCK_SMASH ],
@@ -17332,7 +17348,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 66, Moves.HYPER_BEAM ],
],
[Species.HYDRAPPLE]: [
- [ 0, Moves.FICKLE_BEAM ],
+ [ EVOLVE_MOVE, Moves.FICKLE_BEAM ],
[ 1, Moves.WITHDRAW ],
[ 1, Moves.SWEET_SCENT ],
[ 1, Moves.RECYCLE ],
@@ -17353,6 +17369,9 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 54, Moves.POWER_WHIP ],
],
[Species.GOUGING_FIRE]: [
+ [ RELEARN_MOVE, Moves.DOUBLE_KICK ],
+ [ RELEARN_MOVE, Moves.ANCIENT_POWER ],
+ [ RELEARN_MOVE, Moves.NOBLE_ROAR ],
[ 1, Moves.STOMP ],
[ 1, Moves.LEER ],
[ 1, Moves.INCINERATE ],
@@ -17372,6 +17391,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 91, Moves.RAGING_FURY ],
],
[Species.RAGING_BOLT]: [
+ [ RELEARN_MOVE, Moves.ANCIENT_POWER ],
[ 1, Moves.TWISTER ],
[ 1, Moves.SUNNY_DAY ],
[ 1, Moves.SHOCK_WAVE ],
@@ -17473,7 +17493,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 34, Moves.ENDEAVOR ],
],
[Species.ALOLA_RATICATE]: [
- [ 0, Moves.SCARY_FACE ],
+ [ EVOLVE_MOVE, Moves.SCARY_FACE ],
[ 1, Moves.SWORDS_DANCE ],
[ 1, Moves.TACKLE ],
[ 1, Moves.TAIL_WHIP ],
@@ -17490,8 +17510,8 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 44, Moves.ENDEAVOR ],
],
[Species.ALOLA_RAICHU]: [
- [ 0, Moves.PSYCHIC ],
- [ 0, Moves.ZIPPY_ZAP ],
+ [ EVOLVE_MOVE, Moves.PSYCHIC ],
+ [ EVOLVE_MOVE, Moves.ZIPPY_ZAP ],
[ 1, Moves.TAIL_WHIP ],
[ 1, Moves.GROWL ],
[ 1, Moves.THUNDER_SHOCK ],
@@ -17534,7 +17554,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 45, Moves.BLIZZARD ],
],
[Species.ALOLA_SANDSLASH]: [
- [ 0, Moves.ICICLE_SPEAR ],
+ [ EVOLVE_MOVE, Moves.ICICLE_SPEAR ],
[ 1, Moves.ICICLE_CRASH ],
[ 1, Moves.METAL_CLAW ],
[ 1, Moves.SLASH ],
@@ -17574,7 +17594,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 52, Moves.BLIZZARD ],
],
[Species.ALOLA_NINETALES]: [
- [ 0, Moves.DAZZLING_GLEAM ],
+ [ EVOLVE_MOVE, Moves.DAZZLING_GLEAM ],
[ 1, Moves.ICY_WIND ],
[ 1, Moves.IMPRISON ],
[ 1, Moves.BLIZZARD ],
@@ -17608,7 +17628,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 44, Moves.FISSURE ],
],
[Species.ALOLA_DUGTRIO]: [
- [ 0, Moves.SAND_TOMB ],
+ [ EVOLVE_MOVE, Moves.SAND_TOMB ],
[ 1, Moves.SAND_ATTACK ],
[ 1, Moves.GROWL ],
[ 1, Moves.TRI_ATTACK ],
@@ -17642,7 +17662,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 44, Moves.PLAY_ROUGH ],
],
[Species.ALOLA_PERSIAN]: [
- [ 0, Moves.POWER_GEM ],
+ [ EVOLVE_MOVE, Moves.POWER_GEM ],
[ 1, Moves.SCRATCH ],
[ 1, Moves.GROWL ],
[ 1, Moves.FAKE_OUT ],
@@ -17750,7 +17770,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 57, Moves.MEMENTO ],
],
[Species.ALOLA_EXEGGUTOR]: [
- [ 0, Moves.DRAGON_HAMMER ],
+ [ EVOLVE_MOVE, Moves.DRAGON_HAMMER ],
[ 1, Moves.BARRAGE ],
[ 1, Moves.SEED_BOMB ],
[ 1, Moves.PSYSHOCK ],
@@ -17772,7 +17792,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 1, Moves.GROWTH ],
],
[Species.ALOLA_MAROWAK]: [
- [ 0, Moves.SHADOW_BONE ],
+ [ EVOLVE_MOVE, Moves.SHADOW_BONE ],
[ 1, Moves.BONE_CLUB ],
[ 1, Moves.HEADBUTT ],
[ 1, Moves.DOUBLE_EDGE ],
@@ -17842,7 +17862,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 55, Moves.HEALING_WISH ],
],
[Species.GALAR_RAPIDASH]: [
- [ 0, Moves.PSYCHO_CUT ],
+ [ EVOLVE_MOVE, Moves.PSYCHO_CUT ],
[ 1, Moves.TACKLE ],
[ 1, Moves.TAIL_WHIP ],
[ 1, Moves.GROWL ],
@@ -17879,7 +17899,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 45, Moves.HEAL_PULSE ],
],
[Species.GALAR_SLOWBRO]: [
- [ 0, Moves.SHELL_SIDE_ARM ],
+ [ EVOLVE_MOVE, Moves.SHELL_SIDE_ARM ],
[ 1, Moves.TACKLE ],
[ 1, Moves.GROWL ],
[ 1, Moves.ACID ],
@@ -17917,7 +17937,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 65, Moves.BRAVE_BIRD ],
],
[Species.GALAR_WEEZING]: [
- [ 0, Moves.DOUBLE_HIT ],
+ [ EVOLVE_MOVE, Moves.DOUBLE_HIT ],
[ 1, Moves.TACKLE ],
[ 1, Moves.SMOKESCREEN ],
[ 1, Moves.HAZE ],
@@ -18022,7 +18042,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 70, Moves.SKY_ATTACK ],
],
[Species.GALAR_SLOWKING]: [
- [ 0, Moves.EERIE_SPELL ],
+ [ EVOLVE_MOVE, Moves.EERIE_SPELL ],
[ 1, Moves.POWER_GEM ],
[ 1, Moves.NASTY_PLOT ],
[ 1, Moves.SWAGGER ],
@@ -18079,7 +18099,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 36, Moves.DOUBLE_EDGE ],
],
[Species.GALAR_LINOONE]: [
- [ 0, Moves.NIGHT_SLASH ],
+ [ EVOLVE_MOVE, Moves.NIGHT_SLASH ],
[ 1, Moves.SAND_ATTACK ],
[ 1, Moves.TACKLE ],
[ 1, Moves.PIN_MISSILE ],
@@ -18115,7 +18135,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 48, Moves.SUPERPOWER ],
],
[Species.GALAR_DARMANITAN]: [
- [ 0, Moves.ICICLE_CRASH ],
+ [ EVOLVE_MOVE, Moves.ICICLE_CRASH ],
[ 1, Moves.TACKLE ],
[ 1, Moves.BITE ],
[ 1, Moves.POWDER_SNOW ],
@@ -18184,7 +18204,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 56, Moves.FLARE_BLITZ ],
],
[Species.HISUI_ARCANINE]: [
- [ 0, Moves.EXTREME_SPEED ],
+ [ EVOLVE_MOVE, Moves.EXTREME_SPEED ],
[ 1, Moves.TAKE_DOWN ],
[ 1, Moves.LEER ],
[ 1, Moves.BITE ],
@@ -18224,7 +18244,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 50, Moves.GRASSY_TERRAIN ],
],
[Species.HISUI_ELECTRODE]: [
- [ 0, Moves.CHLOROBLAST ],
+ [ EVOLVE_MOVE, Moves.CHLOROBLAST ],
[ 1, Moves.TACKLE ],
[ 1, Moves.CHARGE ],
[ 4, Moves.THUNDER_SHOCK ],
@@ -18244,7 +18264,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 50, Moves.GRASSY_TERRAIN ],
],
[Species.HISUI_TYPHLOSION]: [
- [ 0, Moves.INFERNAL_PARADE ],
+ [ EVOLVE_MOVE, Moves.INFERNAL_PARADE ],
[ 1, Moves.TACKLE ],
[ 1, Moves.DOUBLE_EDGE ],
[ 1, Moves.LEER ],
@@ -18298,7 +18318,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 60, Moves.CLOSE_COMBAT ],
],
[Species.HISUI_SAMUROTT]: [
- [ 0, Moves.CEASELESS_EDGE ],
+ [ EVOLVE_MOVE, Moves.CEASELESS_EDGE ],
[ 1, Moves.TACKLE ],
[ 1, Moves.TAIL_WHIP ],
[ 1, Moves.WATER_GUN ],
@@ -18318,7 +18338,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 63, Moves.HYDRO_PUMP ],
],
[Species.HISUI_LILLIGANT]: [
- [ 0, Moves.VICTORY_DANCE ],
+ [ EVOLVE_MOVE, Moves.VICTORY_DANCE ],
[ 1, Moves.MEGA_KICK ],
[ 1, Moves.ABSORB ],
[ 1, Moves.MEGA_DRAIN ],
@@ -18359,7 +18379,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 48, Moves.FOUL_PLAY ],
],
[Species.HISUI_ZOROARK]: [
- [ 0, Moves.SHADOW_CLAW ],
+ [ EVOLVE_MOVE, Moves.SHADOW_CLAW ],
[ 1, Moves.SCRATCH ],
[ 1, Moves.LEER ],
[ 1, Moves.TORMENT ],
@@ -18377,7 +18397,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 58, Moves.FOUL_PLAY ],
],
[Species.HISUI_BRAVIARY]: [
- [ 0, Moves.ESPER_WING ],
+ [ EVOLVE_MOVE, Moves.ESPER_WING ],
[ 1, Moves.WING_ATTACK ],
[ 1, Moves.LEER ],
[ 1, Moves.PECK ],
@@ -18396,7 +18416,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 80, Moves.HURRICANE ],
],
[Species.HISUI_SLIGGOO]: [
- [ 0, Moves.SHELTER ],
+ [ EVOLVE_MOVE, Moves.SHELTER ],
[ 1, Moves.TACKLE ],
[ 1, Moves.WATER_GUN ],
[ 1, Moves.ABSORB ],
@@ -18412,7 +18432,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 56, Moves.MUDDY_WATER ],
],
[Species.HISUI_GOODRA]: [
- [ 0, Moves.IRON_TAIL ],
+ [ EVOLVE_MOVE, Moves.IRON_TAIL ],
[ 1, Moves.TACKLE ],
[ 1, Moves.WATER_GUN ],
[ 1, Moves.ABSORB ],
@@ -18433,7 +18453,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 67, Moves.HEAVY_SLAM ],
],
[Species.HISUI_AVALUGG]: [
- [ 0, Moves.ROCK_SLIDE ],
+ [ EVOLVE_MOVE, Moves.ROCK_SLIDE ],
[ 1, Moves.TACKLE ],
[ 1, Moves.HARDEN ],
[ 1, Moves.POWDER_SNOW ],
@@ -18455,7 +18475,7 @@ export const pokemonSpeciesLevelMoves: PokemonSpeciesLevelMoves = {
[ 61, Moves.MOUNTAIN_GALE ],
],
[Species.HISUI_DECIDUEYE]: [
- [ 0, Moves.TRIPLE_ARROWS ],
+ [ EVOLVE_MOVE, Moves.TRIPLE_ARROWS ],
[ 1, Moves.TACKLE ],
[ 1, Moves.GROWL ],
[ 1, Moves.U_TURN ],
@@ -18539,12 +18559,14 @@ export const pokemonFormLevelMoves: PokemonSpeciesFormLevelMoves = {
[ 8, Moves.DOUBLE_TEAM ],
[ 12, Moves.ELECTRO_BALL ],
[ 16, Moves.FEINT ],
- [ 20, Moves.SPARK ],
+ [ 20, Moves.ZIPPY_ZAP ], //Custom
[ 24, Moves.AGILITY ],
[ 28, Moves.IRON_TAIL ],
[ 32, Moves.DISCHARGE ],
+ [ 34, Moves.FLOATY_FALL ], //Custom
[ 36, Moves.THUNDERBOLT ],
[ 40, Moves.LIGHT_SCREEN ],
+ [ 42, Moves.SPLISHY_SPLASH ], //Custom
[ 44, Moves.THUNDER ],
[ 48, Moves.PIKA_PAPOW ],
],
@@ -18572,7 +18594,7 @@ export const pokemonFormLevelMoves: PokemonSpeciesFormLevelMoves = {
[ 48, Moves.PIKA_PAPOW ],
],
3: [
- [ 0, Moves.METEOR_MASH ],
+ [ EVOLVE_MOVE, Moves.METEOR_MASH ],
[ 1, Moves.TAIL_WHIP ],
[ 1, Moves.GROWL ],
[ 1, Moves.THUNDER_SHOCK ],
@@ -18596,7 +18618,7 @@ export const pokemonFormLevelMoves: PokemonSpeciesFormLevelMoves = {
[ 48, Moves.PIKA_PAPOW ],
],
4: [
- [ 0, Moves.ICICLE_CRASH ],
+ [ EVOLVE_MOVE, Moves.ICICLE_CRASH ],
[ 1, Moves.TAIL_WHIP ],
[ 1, Moves.GROWL ],
[ 1, Moves.THUNDER_SHOCK ],
@@ -18620,7 +18642,7 @@ export const pokemonFormLevelMoves: PokemonSpeciesFormLevelMoves = {
[ 48, Moves.PIKA_PAPOW ],
],
5: [
- [ 0, Moves.DRAINING_KISS ],
+ [ EVOLVE_MOVE, Moves.DRAINING_KISS ],
[ 1, Moves.TAIL_WHIP ],
[ 1, Moves.GROWL ],
[ 1, Moves.THUNDER_SHOCK ],
@@ -18644,7 +18666,7 @@ export const pokemonFormLevelMoves: PokemonSpeciesFormLevelMoves = {
[ 48, Moves.PIKA_PAPOW ],
],
6: [
- [ 0, Moves.ELECTRIC_TERRAIN ],
+ [ EVOLVE_MOVE, Moves.ELECTRIC_TERRAIN ],
[ 1, Moves.TAIL_WHIP ],
[ 1, Moves.GROWL ],
[ 1, Moves.THUNDER_SHOCK ],
@@ -18668,7 +18690,7 @@ export const pokemonFormLevelMoves: PokemonSpeciesFormLevelMoves = {
[ 48, Moves.PIKA_PAPOW ],
],
7: [
- [ 0, Moves.FLYING_PRESS ],
+ [ EVOLVE_MOVE, Moves.FLYING_PRESS ],
[ 1, Moves.TAIL_WHIP ],
[ 1, Moves.GROWL ],
[ 1, Moves.THUNDER_SHOCK ],
@@ -18749,7 +18771,7 @@ export const pokemonFormLevelMoves: PokemonSpeciesFormLevelMoves = {
},
[Species.WORMADAM]: {
1: [
- [ 0, Moves.QUIVER_DANCE ],
+ [ EVOLVE_MOVE, Moves.QUIVER_DANCE ],
[ 1, Moves.TACKLE ],
[ 1, Moves.PROTECT ],
[ 1, Moves.SUCKER_PUNCH ],
@@ -18769,7 +18791,7 @@ export const pokemonFormLevelMoves: PokemonSpeciesFormLevelMoves = {
[ 50, Moves.BUG_BUZZ ],
],
2: [
- [ 0, Moves.QUIVER_DANCE ],
+ [ EVOLVE_MOVE, Moves.QUIVER_DANCE ],
[ 1, Moves.METAL_BURST ],
[ 1, Moves.TACKLE ],
[ 1, Moves.PROTECT ],
@@ -18792,7 +18814,7 @@ export const pokemonFormLevelMoves: PokemonSpeciesFormLevelMoves = {
},
[Species.ROTOM]: {
1: [
- [ 0, Moves.OVERHEAT ],
+ [ EVOLVE_MOVE, Moves.OVERHEAT ],
[ 1, Moves.DOUBLE_TEAM ],
[ 1, Moves.ASTONISH ],
[ 5, Moves.THUNDER_SHOCK ],
@@ -18808,7 +18830,7 @@ export const pokemonFormLevelMoves: PokemonSpeciesFormLevelMoves = {
[ 55, Moves.UPROAR ],
],
2: [
- [ 0, Moves.HYDRO_PUMP ],
+ [ EVOLVE_MOVE, Moves.HYDRO_PUMP ],
[ 1, Moves.DOUBLE_TEAM ],
[ 1, Moves.ASTONISH ],
[ 5, Moves.THUNDER_SHOCK ],
@@ -18824,7 +18846,7 @@ export const pokemonFormLevelMoves: PokemonSpeciesFormLevelMoves = {
[ 55, Moves.UPROAR ],
],
3: [
- [ 0, Moves.BLIZZARD ],
+ [ EVOLVE_MOVE, Moves.BLIZZARD ],
[ 1, Moves.DOUBLE_TEAM ],
[ 1, Moves.ASTONISH ],
[ 5, Moves.THUNDER_SHOCK ],
@@ -18840,7 +18862,7 @@ export const pokemonFormLevelMoves: PokemonSpeciesFormLevelMoves = {
[ 55, Moves.UPROAR ],
],
4: [
- [ 0, Moves.AIR_SLASH ],
+ [ EVOLVE_MOVE, Moves.AIR_SLASH ],
[ 1, Moves.DOUBLE_TEAM ],
[ 1, Moves.ASTONISH ],
[ 5, Moves.THUNDER_SHOCK ],
@@ -18856,7 +18878,7 @@ export const pokemonFormLevelMoves: PokemonSpeciesFormLevelMoves = {
[ 55, Moves.UPROAR ],
],
5: [
- [ 0, Moves.LEAF_STORM ],
+ [ EVOLVE_MOVE, Moves.LEAF_STORM ],
[ 1, Moves.DOUBLE_TEAM ],
[ 1, Moves.ASTONISH ],
[ 5, Moves.THUNDER_SHOCK ],
@@ -18970,8 +18992,8 @@ export const pokemonFormLevelMoves: PokemonSpeciesFormLevelMoves = {
},
[Species.GRENINJA]: {
1: [
- [ 0, Moves.WATER_SHURIKEN ],
- [ 0, Moves.WATER_SHURIKEN ],
+ [ EVOLVE_MOVE, Moves.WATER_SHURIKEN ],
+ [ EVOLVE_MOVE, Moves.WATER_SHURIKEN ],
[ 1, Moves.POUND ],
[ 1, Moves.GROWL ],
[ 1, Moves.WATER_GUN ],
@@ -18993,7 +19015,7 @@ export const pokemonFormLevelMoves: PokemonSpeciesFormLevelMoves = {
},
[Species.LYCANROC]: {
1: [
- [ 0, Moves.COUNTER ],
+ [ EVOLVE_MOVE, Moves.COUNTER ],
[ 1, Moves.SAND_ATTACK ],
[ 1, Moves.TACKLE ],
[ 1, Moves.LEER ],
@@ -19013,7 +19035,7 @@ export const pokemonFormLevelMoves: PokemonSpeciesFormLevelMoves = {
[ 60, Moves.STONE_EDGE ],
],
2: [
- [ 0, Moves.CRUSH_CLAW ],
+ [ EVOLVE_MOVE, Moves.CRUSH_CLAW ],
[ 1, Moves.SAND_ATTACK ],
[ 1, Moves.TACKLE ],
[ 1, Moves.LEER ],
@@ -19040,7 +19062,7 @@ export const pokemonFormLevelMoves: PokemonSpeciesFormLevelMoves = {
},
[Species.NECROZMA]: {
1: [
- [ 0, Moves.SUNSTEEL_STRIKE ],
+ [ EVOLVE_MOVE, Moves.SUNSTEEL_STRIKE ],
[ 1, Moves.CONFUSION ],
[ 1, Moves.METAL_CLAW ],
[ 1, Moves.MORNING_SUN ],
@@ -19060,7 +19082,7 @@ export const pokemonFormLevelMoves: PokemonSpeciesFormLevelMoves = {
[ 88, Moves.PRISMATIC_LASER ],
],
2: [
- [ 0, Moves.MOONGEIST_BEAM ],
+ [ EVOLVE_MOVE, Moves.MOONGEIST_BEAM ],
[ 1, Moves.CONFUSION ],
[ 1, Moves.METAL_CLAW ],
[ 1, Moves.MORNING_SUN ],
@@ -19080,8 +19102,8 @@ export const pokemonFormLevelMoves: PokemonSpeciesFormLevelMoves = {
[ 88, Moves.PRISMATIC_LASER ],
],
3: [
- [ 0, Moves.SUNSTEEL_STRIKE ],
- [ 0, Moves.MOONGEIST_BEAM ],
+ [ EVOLVE_MOVE, Moves.SUNSTEEL_STRIKE ],
+ [ EVOLVE_MOVE, Moves.MOONGEIST_BEAM ],
[ 1, Moves.CONFUSION ],
[ 1, Moves.METAL_CLAW ],
[ 1, Moves.MORNING_SUN ],
@@ -19103,7 +19125,7 @@ export const pokemonFormLevelMoves: PokemonSpeciesFormLevelMoves = {
},
[Species.TOXTRICITY]: {
1: [
- [ 0, Moves.SPARK ],
+ [ EVOLVE_MOVE, Moves.SPARK ],
[ 1, Moves.LEER ],
[ 1, Moves.GROWL ],
[ 1, Moves.ACID ],
@@ -19146,7 +19168,7 @@ export const pokemonFormLevelMoves: PokemonSpeciesFormLevelMoves = {
},
[Species.ZACIAN]: {
1: [
- [ 0, Moves.BEHEMOTH_BLADE ],
+ [ EVOLVE_MOVE, Moves.BEHEMOTH_BLADE ],
[ 1, Moves.BITE ],
[ 1, Moves.QUICK_ATTACK ],
[ 1, Moves.METAL_CLAW ],
@@ -19165,7 +19187,7 @@ export const pokemonFormLevelMoves: PokemonSpeciesFormLevelMoves = {
},
[Species.ZAMAZENTA]: {
1: [
- [ 0, Moves.BEHEMOTH_BASH ],
+ [ EVOLVE_MOVE, Moves.BEHEMOTH_BASH ],
[ 1, Moves.BITE ],
[ 1, Moves.QUICK_ATTACK ],
[ 1, Moves.METAL_CLAW ],
@@ -19202,7 +19224,7 @@ export const pokemonFormLevelMoves: PokemonSpeciesFormLevelMoves = {
},
[Species.URSHIFU]: {
1: [
- [ 0, Moves.SURGING_STRIKES ],
+ [ EVOLVE_MOVE, Moves.SURGING_STRIKES ],
[ 1, Moves.LEER ],
[ 1, Moves.FOCUS_ENERGY ],
[ 1, Moves.ENDURE ],
diff --git a/src/data/pokemon-species.ts b/src/data/pokemon-species.ts
index 793f4ff9927..2b488f330c4 100644
--- a/src/data/pokemon-species.ts
+++ b/src/data/pokemon-species.ts
@@ -1,22 +1,24 @@
-import { Abilities } from "./enums/abilities";
+
import BattleScene, { AnySound } from "../battle-scene";
import { Variant, variantColorCache } from "./variant";
import { variantData } from "./variant";
import { GrowthRate } from "./exp";
import { SpeciesWildEvolutionDelay, pokemonEvolutions, pokemonPrevolutions } from "./pokemon-evolutions";
-import { Species } from "./enums/species";
import { Type } from "./type";
import { LevelMoves, pokemonFormLevelMoves, pokemonFormLevelMoves as pokemonSpeciesFormLevelMoves, pokemonSpeciesLevelMoves } from "./pokemon-level-moves";
import { uncatchableSpecies } from "./biomes";
import * as Utils from "../utils";
import { StarterMoveset } from "../system/game-data";
import { speciesEggMoves } from "./egg-moves";
-import { PartyMemberStrength } from "./enums/party-member-strength";
import { GameMode } from "../game-mode";
import { QuantizerCelebi, argbFromRgba, rgbaFromArgb } from "@material/material-color-utilities";
import { VariantSet } from "./variant";
-import i18next, { Localizable } from "../plugins/i18n";
+import i18next from "i18next";
+import { Localizable } from "#app/interfaces/locales";
import { Stat } from "./pokemon-stat";
+import { Abilities } from "#enums/abilities";
+import { PartyMemberStrength } from "#enums/party-member-strength";
+import { Species } from "#enums/species";
export enum Region {
NORMAL,
@@ -317,6 +319,7 @@ export abstract class PokemonSpeciesForm {
case Species.UNFEZANT:
case Species.FRILLISH:
case Species.JELLICENT:
+ case Species.PYROAR:
ret += female ? "-f" : "";
break;
}
@@ -776,7 +779,7 @@ export default class PokemonSpecies extends PokemonSpeciesForm implements Locali
}
// This could definitely be written better and more accurate to the getSpeciesForLevel logic, but it is only for generating movesets for evolved Pokemon
- getSimulatedEvolutionChain(currentLevel: integer, forTrainer: boolean = false, isBoss: boolean = false, player: boolean = false) {
+ getSimulatedEvolutionChain(currentLevel: integer, forTrainer: boolean = false, isBoss: boolean = false, player: boolean = false): [Species, integer][] {
const ret = [];
if (pokemonPrevolutions.hasOwnProperty(this.speciesId)) {
const prevolutionLevels = this.getPrevolutionLevels().reverse();
@@ -817,6 +820,10 @@ export default class PokemonSpecies extends PokemonSpeciesForm implements Locali
return super.isObtainable();
}
+ hasVariants() {
+ return variantData.hasOwnProperty(this.speciesId);
+ }
+
getFormSpriteKey(formIndex?: integer) {
if (this.forms.length && formIndex >= this.forms.length) {
console.warn(`Attempted accessing form with index ${formIndex} of species ${this.getName()} with only ${this.forms.length || 0} forms`);
@@ -917,13 +924,13 @@ export function initSpecies() {
new PokemonSpecies(Species.ARBOK, 1, false, false, false, "Cobra Pokémon", Type.POISON, null, 3.5, 65, Abilities.INTIMIDATE, Abilities.SHED_SKIN, Abilities.UNNERVE, 448, 60, 95, 69, 65, 79, 80, 90, 70, 157, GrowthRate.MEDIUM_FAST, 50, false),
new PokemonSpecies(Species.PIKACHU, 1, false, false, false, "Mouse Pokémon", Type.ELECTRIC, null, 0.4, 6, Abilities.STATIC, Abilities.NONE, Abilities.LIGHTNING_ROD, 320, 35, 55, 40, 50, 50, 90, 190, 50, 112, GrowthRate.MEDIUM_FAST, 50, true, true,
new PokemonForm("Normal", "", Type.ELECTRIC, null, 0.4, 6, Abilities.STATIC, Abilities.NONE, Abilities.LIGHTNING_ROD, 320, 35, 55, 40, 50, 50, 90, 190, 50, 112, true, null, true),
- new PokemonForm("Partner", "partner", Type.ELECTRIC, null, 0.4, 6, Abilities.STATIC, Abilities.NONE, Abilities.LIGHTNING_ROD, 430, 45, 80, 50, 75, 60, 120, 190, 50, 112, true, "", true),
- new PokemonForm("Cosplay", "cosplay", Type.ELECTRIC, null, 0.4, 6, Abilities.STATIC, Abilities.NONE, Abilities.LIGHTNING_ROD, 320, 35, 55, 40, 50, 50, 90, 190, 50, 112, true, null, true),
- new PokemonForm("Cool Cosplay", "cool-cosplay", Type.ELECTRIC, null, 0.4, 6, Abilities.STATIC, Abilities.NONE, Abilities.LIGHTNING_ROD, 320, 35, 55, 40, 50, 50, 90, 190, 50, 112, true, null, true),
- new PokemonForm("Beauty Cosplay", "beauty-cosplay", Type.ELECTRIC, null, 0.4, 6, Abilities.STATIC, Abilities.NONE, Abilities.LIGHTNING_ROD, 320, 35, 55, 40, 50, 50, 90, 190, 50, 112, true, null, true),
- new PokemonForm("Cute Cosplay", "cute-cosplay", Type.ELECTRIC, null, 0.4, 6, Abilities.STATIC, Abilities.NONE, Abilities.LIGHTNING_ROD, 320, 35, 55, 40, 50, 50, 90, 190, 50, 112, true, null, true),
- new PokemonForm("Smart Cosplay", "smart-cosplay", Type.ELECTRIC, null, 0.4, 6, Abilities.STATIC, Abilities.NONE, Abilities.LIGHTNING_ROD, 320, 35, 55, 40, 50, 50, 90, 190, 50, 112, true, null, true),
- new PokemonForm("Tough Cosplay", "tough-cosplay", Type.ELECTRIC, null, 0.4, 6, Abilities.STATIC, Abilities.NONE, Abilities.LIGHTNING_ROD, 320, 35, 55, 40, 50, 50, 90, 190, 50, 112, true, null, true),
+ new PokemonForm("Partner", "partner", Type.ELECTRIC, null, 0.4, 6, Abilities.STATIC, Abilities.NONE, Abilities.LIGHTNING_ROD, 430, 45, 80, 50, 75, 60, 120, 190, 50, 112, true, null, true),
+ new PokemonForm("Cosplay", "cosplay", Type.ELECTRIC, null, 0.4, 6, Abilities.STATIC, Abilities.NONE, Abilities.LIGHTNING_ROD, 430, 45, 80, 50, 75, 60, 120, 190, 50, 112, true, null, true), //Custom
+ new PokemonForm("Cool Cosplay", "cool-cosplay", Type.ELECTRIC, null, 0.4, 6, Abilities.STATIC, Abilities.NONE, Abilities.LIGHTNING_ROD, 430, 45, 80, 50, 75, 60, 120, 190, 50, 112, true, null, true), //Custom
+ new PokemonForm("Beauty Cosplay", "beauty-cosplay", Type.ELECTRIC, null, 0.4, 6, Abilities.STATIC, Abilities.NONE, Abilities.LIGHTNING_ROD, 430, 45, 80, 50, 75, 60, 120, 190, 50, 112, true, null, true), //Custom
+ new PokemonForm("Cute Cosplay", "cute-cosplay", Type.ELECTRIC, null, 0.4, 6, Abilities.STATIC, Abilities.NONE, Abilities.LIGHTNING_ROD, 430, 45, 80, 50, 75, 60, 120, 190, 50, 112, true, null, true), //Custom
+ new PokemonForm("Smart Cosplay", "smart-cosplay", Type.ELECTRIC, null, 0.4, 6, Abilities.STATIC, Abilities.NONE, Abilities.LIGHTNING_ROD, 430, 45, 80, 50, 75, 60, 120, 190, 50, 112, true, null, true), //Custom
+ new PokemonForm("Tough Cosplay", "tough-cosplay", Type.ELECTRIC, null, 0.4, 6, Abilities.STATIC, Abilities.NONE, Abilities.LIGHTNING_ROD, 430, 45, 80, 50, 75, 60, 120, 190, 50, 112, true, null, true), //Custom
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.ELECTRIC, null, 21, 6, Abilities.STATIC, Abilities.NONE, Abilities.LIGHTNING_ROD, 420, 45, 60, 65, 100, 75, 75, 190, 50, 112),
),
new PokemonSpecies(Species.RAICHU, 1, false, false, false, "Mouse Pokémon", Type.ELECTRIC, null, 0.8, 30, Abilities.STATIC, Abilities.NONE, Abilities.LIGHTNING_ROD, 485, 60, 90, 55, 90, 80, 110, 75, 50, 243, GrowthRate.MEDIUM_FAST, 50, true),
@@ -1066,7 +1073,7 @@ export function initSpecies() {
new PokemonSpecies(Species.DITTO, 1, false, false, false, "Transform Pokémon", Type.NORMAL, null, 0.3, 4, Abilities.LIMBER, Abilities.NONE, Abilities.IMPOSTER, 288, 48, 48, 48, 48, 48, 48, 35, 50, 101, GrowthRate.MEDIUM_FAST, null, false),
new PokemonSpecies(Species.EEVEE, 1, false, false, false, "Evolution Pokémon", Type.NORMAL, null, 0.3, 6.5, Abilities.RUN_AWAY, Abilities.ADAPTABILITY, Abilities.ANTICIPATION, 325, 55, 55, 50, 45, 65, 55, 45, 50, 65, GrowthRate.MEDIUM_FAST, 87.5, false, true,
new PokemonForm("Normal", "", Type.NORMAL, null, 0.3, 6.5, Abilities.RUN_AWAY, Abilities.ADAPTABILITY, Abilities.ANTICIPATION, 325, 55, 55, 50, 45, 65, 55, 45, 50, 65, false, null, true),
- new PokemonForm("Partner", "partner", Type.NORMAL, null, 0.3, 6.5, Abilities.RUN_AWAY, Abilities.ADAPTABILITY, Abilities.ANTICIPATION, 435, 65, 75, 70, 65, 85, 75, 45, 50, 65, false, "", true),
+ new PokemonForm("Partner", "partner", Type.NORMAL, null, 0.3, 6.5, Abilities.RUN_AWAY, Abilities.ADAPTABILITY, Abilities.ANTICIPATION, 435, 65, 75, 70, 65, 85, 75, 45, 50, 65, false, null, true),
new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.NORMAL, null, 18, 6.5, Abilities.RUN_AWAY, Abilities.ADAPTABILITY, Abilities.ANTICIPATION, 425, 70, 75, 80, 60, 95, 45, 45, 50, 65),
),
new PokemonSpecies(Species.VAPOREON, 1, false, false, false, "Bubble Jet Pokémon", Type.WATER, null, 1, 29, Abilities.WATER_ABSORB, Abilities.NONE, Abilities.HYDRATION, 525, 130, 65, 60, 110, 95, 65, 45, 50, 184, GrowthRate.MEDIUM_FAST, 87.5, false),
@@ -1286,7 +1293,7 @@ export function initSpecies() {
new PokemonSpecies(Species.PELIPPER, 3, false, false, false, "Water Bird Pokémon", Type.WATER, Type.FLYING, 1.2, 28, Abilities.KEEN_EYE, Abilities.DRIZZLE, Abilities.RAIN_DISH, 440, 60, 50, 100, 95, 70, 65, 45, 50, 154, GrowthRate.MEDIUM_FAST, 50, false),
new PokemonSpecies(Species.RALTS, 3, false, false, false, "Feeling Pokémon", Type.PSYCHIC, Type.FAIRY, 0.4, 6.6, Abilities.SYNCHRONIZE, Abilities.TRACE, Abilities.TELEPATHY, 198, 28, 25, 25, 45, 35, 40, 235, 35, 40, GrowthRate.SLOW, 50, false),
new PokemonSpecies(Species.KIRLIA, 3, false, false, false, "Emotion Pokémon", Type.PSYCHIC, Type.FAIRY, 0.8, 20.2, Abilities.SYNCHRONIZE, Abilities.TRACE, Abilities.TELEPATHY, 278, 38, 35, 35, 65, 55, 50, 120, 35, 97, GrowthRate.SLOW, 50, false),
- new PokemonSpecies(Species.GARDEVOIR, 3, false, false, false, "Embrace Pokémon", Type.PSYCHIC, Type.FAIRY, 1.6, 48.4, Abilities.SYNCHRONIZE, Abilities.TRACE, Abilities.TELEPATHY, 518, 68, 65, 65, 125, 115, 80, 45, 35, 259, GrowthRate.SLOW, 0, false, true,
+ new PokemonSpecies(Species.GARDEVOIR, 3, false, false, false, "Embrace Pokémon", Type.PSYCHIC, Type.FAIRY, 1.6, 48.4, Abilities.SYNCHRONIZE, Abilities.TRACE, Abilities.TELEPATHY, 518, 68, 65, 65, 125, 115, 80, 45, 35, 259, GrowthRate.SLOW, 50, false, true,
new PokemonForm("Normal", "", Type.PSYCHIC, Type.FAIRY, 1.6, 48.4, Abilities.SYNCHRONIZE, Abilities.TRACE, Abilities.TELEPATHY, 518, 68, 65, 65, 125, 115, 80, 45, 35, 259, false, null, true),
new PokemonForm("Mega", SpeciesFormKey.MEGA, Type.PSYCHIC, Type.FAIRY, 1.6, 48.4, Abilities.PIXILATE, Abilities.PIXILATE, Abilities.PIXILATE, 618, 68, 85, 65, 165, 135, 100, 45, 35, 259),
),
@@ -1294,9 +1301,9 @@ export function initSpecies() {
new PokemonSpecies(Species.MASQUERAIN, 3, false, false, false, "Eyeball Pokémon", Type.BUG, Type.FLYING, 0.8, 3.6, Abilities.INTIMIDATE, Abilities.NONE, Abilities.UNNERVE, 454, 70, 60, 62, 100, 82, 80, 75, 70, 159, GrowthRate.MEDIUM_FAST, 50, false),
new PokemonSpecies(Species.SHROOMISH, 3, false, false, false, "Mushroom Pokémon", Type.GRASS, null, 0.4, 4.5, Abilities.EFFECT_SPORE, Abilities.POISON_HEAL, Abilities.QUICK_FEET, 295, 60, 40, 60, 40, 60, 35, 255, 70, 59, GrowthRate.FLUCTUATING, 50, false),
new PokemonSpecies(Species.BRELOOM, 3, false, false, false, "Mushroom Pokémon", Type.GRASS, Type.FIGHTING, 1.2, 39.2, Abilities.EFFECT_SPORE, Abilities.POISON_HEAL, Abilities.TECHNICIAN, 460, 60, 130, 80, 60, 60, 70, 90, 70, 161, GrowthRate.FLUCTUATING, 50, false),
- new PokemonSpecies(Species.SLAKOTH, 3, false, false, false, "Slacker Pokémon", Type.NORMAL, null, 0.8, 24, Abilities.TRUANT, Abilities.NONE, Abilities.NONE, 280, 60, 60, 60, 35, 35, 30, 255, 70, 56, GrowthRate.SLOW, 50, false),
- new PokemonSpecies(Species.VIGOROTH, 3, false, false, false, "Wild Monkey Pokémon", Type.NORMAL, null, 1.4, 46.5, Abilities.VITAL_SPIRIT, Abilities.NONE, Abilities.NONE, 440, 80, 80, 80, 55, 55, 90, 120, 70, 154, GrowthRate.SLOW, 50, false),
- new PokemonSpecies(Species.SLAKING, 3, false, false, false, "Lazy Pokémon", Type.NORMAL, null, 2, 130.5, Abilities.TRUANT, Abilities.NONE, Abilities.NONE, 670, 150, 160, 100, 95, 65, 100, 45, 70, 252, GrowthRate.SLOW, 50, false),
+ new PokemonSpecies(Species.SLAKOTH, 3, false, false, false, "Slacker Pokémon", Type.NORMAL, null, 0.8, 24, Abilities.TRUANT, Abilities.NONE, Abilities.STALL, 280, 60, 60, 60, 35, 35, 30, 255, 70, 56, GrowthRate.SLOW, 50, false), //Custom Hidden
+ new PokemonSpecies(Species.VIGOROTH, 3, false, false, false, "Wild Monkey Pokémon", Type.NORMAL, null, 1.4, 46.5, Abilities.VITAL_SPIRIT, Abilities.NONE, Abilities.INSOMNIA, 440, 80, 80, 80, 55, 55, 90, 120, 70, 154, GrowthRate.SLOW, 50, false), //Custom Hidden
+ new PokemonSpecies(Species.SLAKING, 3, false, false, false, "Lazy Pokémon", Type.NORMAL, null, 2, 130.5, Abilities.TRUANT, Abilities.NONE, Abilities.STALL, 670, 150, 160, 100, 95, 65, 100, 45, 70, 252, GrowthRate.SLOW, 50, false), //Custom Hidden
new PokemonSpecies(Species.NINCADA, 3, false, false, false, "Trainee Pokémon", Type.BUG, Type.GROUND, 0.5, 5.5, Abilities.COMPOUND_EYES, Abilities.NONE, Abilities.RUN_AWAY, 266, 31, 45, 90, 30, 30, 40, 255, 50, 53, GrowthRate.ERRATIC, 50, false),
new PokemonSpecies(Species.NINJASK, 3, false, false, false, "Ninja Pokémon", Type.BUG, Type.FLYING, 0.8, 12, Abilities.SPEED_BOOST, Abilities.NONE, Abilities.INFILTRATOR, 456, 61, 90, 45, 50, 50, 160, 120, 50, 160, GrowthRate.ERRATIC, 50, false),
new PokemonSpecies(Species.SHEDINJA, 3, false, false, false, "Shed Pokémon", Type.BUG, Type.GHOST, 0.8, 1.2, Abilities.WONDER_GUARD, Abilities.NONE, Abilities.NONE, 236, 1, 90, 45, 30, 30, 40, 45, 50, 83, GrowthRate.ERRATIC, null, false),
@@ -1404,7 +1411,7 @@ export function initSpecies() {
),
new PokemonSpecies(Species.WYNAUT, 3, false, false, false, "Bright Pokémon", Type.PSYCHIC, null, 0.6, 14, Abilities.SHADOW_TAG, Abilities.NONE, Abilities.TELEPATHY, 260, 95, 23, 48, 23, 48, 23, 125, 50, 52, GrowthRate.MEDIUM_FAST, 50, false),
new PokemonSpecies(Species.SNORUNT, 3, false, false, false, "Snow Hat Pokémon", Type.ICE, null, 0.7, 16.8, Abilities.INNER_FOCUS, Abilities.ICE_BODY, Abilities.MOODY, 300, 50, 50, 50, 50, 50, 50, 190, 50, 60, GrowthRate.MEDIUM_FAST, 50, false),
- new PokemonSpecies(Species.GLALIE, 3, false, false, false, "Face Pokémon", Type.ICE, null, 1.5, 256.5, Abilities.INNER_FOCUS, Abilities.ICE_BODY, Abilities.MOODY, 480, 80, 80, 80, 80, 80, 80, 75, 50, 168, GrowthRate.MEDIUM_FAST, 100, false, true,
+ new PokemonSpecies(Species.GLALIE, 3, false, false, false, "Face Pokémon", Type.ICE, null, 1.5, 256.5, Abilities.INNER_FOCUS, Abilities.ICE_BODY, Abilities.MOODY, 480, 80, 80, 80, 80, 80, 80, 75, 50, 168, GrowthRate.MEDIUM_FAST, 50, false, true,
new PokemonForm("Normal", "", Type.ICE, null, 1.5, 256.5, Abilities.INNER_FOCUS, Abilities.ICE_BODY, Abilities.MOODY, 480, 80, 80, 80, 80, 80, 80, 75, 50, 168, false, null, true),
new PokemonForm("Mega", SpeciesFormKey.MEGA, Type.ICE, null, 2.1, 350.2, Abilities.REFRIGERATE, Abilities.REFRIGERATE, Abilities.REFRIGERATE, 580, 80, 120, 80, 120, 80, 100, 75, 50, 168),
),
@@ -1718,8 +1725,8 @@ export function initSpecies() {
new PokemonSpecies(Species.COFAGRIGUS, 5, false, false, false, "Coffin Pokémon", Type.GHOST, null, 1.7, 76.5, Abilities.MUMMY, Abilities.NONE, Abilities.NONE, 483, 58, 50, 145, 95, 105, 30, 90, 50, 169, GrowthRate.MEDIUM_FAST, 50, false),
new PokemonSpecies(Species.TIRTOUGA, 5, false, false, false, "Prototurtle Pokémon", Type.WATER, Type.ROCK, 0.7, 16.5, Abilities.SOLID_ROCK, Abilities.STURDY, Abilities.SWIFT_SWIM, 355, 54, 78, 103, 53, 45, 22, 45, 50, 71, GrowthRate.MEDIUM_FAST, 87.5, false),
new PokemonSpecies(Species.CARRACOSTA, 5, false, false, false, "Prototurtle Pokémon", Type.WATER, Type.ROCK, 1.2, 81, Abilities.SOLID_ROCK, Abilities.STURDY, Abilities.SWIFT_SWIM, 495, 74, 108, 133, 83, 65, 32, 45, 50, 173, GrowthRate.MEDIUM_FAST, 87.5, false),
- new PokemonSpecies(Species.ARCHEN, 5, false, false, false, "First Bird Pokémon", Type.ROCK, Type.FLYING, 0.5, 9.5, Abilities.DEFEATIST, Abilities.NONE, Abilities.NONE, 401, 55, 112, 45, 74, 45, 70, 45, 50, 71, GrowthRate.MEDIUM_FAST, 87.5, false),
- new PokemonSpecies(Species.ARCHEOPS, 5, false, false, false, "First Bird Pokémon", Type.ROCK, Type.FLYING, 1.4, 32, Abilities.DEFEATIST, Abilities.NONE, Abilities.NONE, 567, 75, 140, 65, 112, 65, 110, 45, 50, 177, GrowthRate.MEDIUM_FAST, 87.5, false),
+ new PokemonSpecies(Species.ARCHEN, 5, false, false, false, "First Bird Pokémon", Type.ROCK, Type.FLYING, 0.5, 9.5, Abilities.DEFEATIST, Abilities.NONE, Abilities.EMERGENCY_EXIT, 401, 55, 112, 45, 74, 45, 70, 45, 50, 71, GrowthRate.MEDIUM_FAST, 87.5, false), //Custom Hidden
+ new PokemonSpecies(Species.ARCHEOPS, 5, false, false, false, "First Bird Pokémon", Type.ROCK, Type.FLYING, 1.4, 32, Abilities.DEFEATIST, Abilities.NONE, Abilities.EMERGENCY_EXIT, 567, 75, 140, 65, 112, 65, 110, 45, 50, 177, GrowthRate.MEDIUM_FAST, 87.5, false), //Custom Hidden
new PokemonSpecies(Species.TRUBBISH, 5, false, false, false, "Trash Bag Pokémon", Type.POISON, null, 0.6, 31, Abilities.STENCH, Abilities.STICKY_HOLD, Abilities.AFTERMATH, 329, 50, 50, 62, 40, 62, 65, 190, 50, 66, GrowthRate.MEDIUM_FAST, 50, false),
new PokemonSpecies(Species.GARBODOR, 5, false, false, false, "Trash Heap Pokémon", Type.POISON, null, 1.9, 107.3, Abilities.STENCH, Abilities.WEAK_ARMOR, Abilities.AFTERMATH, 474, 80, 95, 82, 60, 82, 75, 60, 50, 166, GrowthRate.MEDIUM_FAST, 50, false, true,
new PokemonForm("Normal", "", Type.POISON, null, 1.9, 107.3, Abilities.STENCH, Abilities.WEAK_ARMOR, Abilities.AFTERMATH, 474, 80, 95, 82, 60, 82, 75, 60, 50, 166, false, null, true),
@@ -1829,7 +1836,7 @@ export function initSpecies() {
new PokemonForm("Ordinary Form", "ordinary", Type.WATER, Type.FIGHTING, 1.4, 48.5, Abilities.JUSTIFIED, Abilities.NONE, Abilities.NONE, 580, 91, 72, 90, 129, 90, 108, 3, 35, 290, false, null, true),
new PokemonForm("Resolute", "resolute", Type.WATER, Type.FIGHTING, 1.4, 48.5, Abilities.JUSTIFIED, Abilities.NONE, Abilities.NONE, 580, 91, 72, 90, 129, 90, 108, 3, 35, 290),
),
- new PokemonSpecies(Species.MELOETTA, 5, false, false, true, "Melody Pokémon", Type.NORMAL, Type.PSYCHIC, 0.6, 6.5, Abilities.SERENE_GRACE, Abilities.NONE, Abilities.NONE, 600, 100, 77, 77, 128, 128, 90, 3, 100, 270, GrowthRate.SLOW, 0, false, true,
+ new PokemonSpecies(Species.MELOETTA, 5, false, false, true, "Melody Pokémon", Type.NORMAL, Type.PSYCHIC, 0.6, 6.5, Abilities.SERENE_GRACE, Abilities.NONE, Abilities.NONE, 600, 100, 77, 77, 128, 128, 90, 3, 100, 270, GrowthRate.SLOW, null, false, true,
new PokemonForm("Aria Forme", "aria", Type.NORMAL, Type.PSYCHIC, 0.6, 6.5, Abilities.SERENE_GRACE, Abilities.NONE, Abilities.NONE, 600, 100, 77, 77, 128, 128, 90, 3, 100, 270, false, null, true),
new PokemonForm("Pirouette Forme", "pirouette", Type.NORMAL, Type.FIGHTING, 0.6, 6.5, Abilities.SERENE_GRACE, Abilities.NONE, Abilities.NONE, 600, 100, 128, 90, 77, 77, 128, 3, 100, 270),
),
@@ -2105,8 +2112,8 @@ export function initSpecies() {
new PokemonSpecies(Species.COMFEY, 7, false, false, false, "Posy Picker Pokémon", Type.FAIRY, null, 0.1, 0.3, Abilities.FLOWER_VEIL, Abilities.TRIAGE, Abilities.NATURAL_CURE, 485, 51, 52, 90, 82, 110, 100, 60, 50, 170, GrowthRate.FAST, 25, false),
new PokemonSpecies(Species.ORANGURU, 7, false, false, false, "Sage Pokémon", Type.NORMAL, Type.PSYCHIC, 1.5, 76, Abilities.INNER_FOCUS, Abilities.TELEPATHY, Abilities.SYMBIOSIS, 490, 90, 60, 80, 90, 110, 60, 45, 50, 172, GrowthRate.SLOW, 50, false),
new PokemonSpecies(Species.PASSIMIAN, 7, false, false, false, "Teamwork Pokémon", Type.FIGHTING, null, 2, 82.8, Abilities.RECEIVER, Abilities.NONE, Abilities.DEFIANT, 490, 100, 120, 90, 40, 60, 80, 45, 50, 172, GrowthRate.SLOW, 50, false),
- new PokemonSpecies(Species.WIMPOD, 7, false, false, false, "Turn Tail Pokémon", Type.BUG, Type.WATER, 0.5, 12, Abilities.WIMP_OUT, Abilities.NONE, Abilities.NONE, 230, 25, 35, 40, 20, 30, 80, 90, 50, 46, GrowthRate.MEDIUM_FAST, 50, false),
- new PokemonSpecies(Species.GOLISOPOD, 7, false, false, false, "Hard Scale Pokémon", Type.BUG, Type.WATER, 2, 108, Abilities.EMERGENCY_EXIT, Abilities.NONE, Abilities.NONE, 530, 75, 125, 140, 60, 90, 40, 45, 50, 186, GrowthRate.MEDIUM_FAST, 50, false),
+ new PokemonSpecies(Species.WIMPOD, 7, false, false, false, "Turn Tail Pokémon", Type.BUG, Type.WATER, 0.5, 12, Abilities.WIMP_OUT, Abilities.NONE, Abilities.RUN_AWAY, 230, 25, 35, 40, 20, 30, 80, 90, 50, 46, GrowthRate.MEDIUM_FAST, 50, false), //Custom Hidden
+ new PokemonSpecies(Species.GOLISOPOD, 7, false, false, false, "Hard Scale Pokémon", Type.BUG, Type.WATER, 2, 108, Abilities.EMERGENCY_EXIT, Abilities.NONE, Abilities.ANTICIPATION, 530, 75, 125, 140, 60, 90, 40, 45, 50, 186, GrowthRate.MEDIUM_FAST, 50, false), //Custom Hidden
new PokemonSpecies(Species.SANDYGAST, 7, false, false, false, "Sand Heap Pokémon", Type.GHOST, Type.GROUND, 0.5, 70, Abilities.WATER_COMPACTION, Abilities.NONE, Abilities.SAND_VEIL, 320, 55, 55, 80, 70, 45, 15, 140, 50, 64, GrowthRate.MEDIUM_FAST, 50, false),
new PokemonSpecies(Species.PALOSSAND, 7, false, false, false, "Sand Castle Pokémon", Type.GHOST, Type.GROUND, 1.3, 250, Abilities.WATER_COMPACTION, Abilities.NONE, Abilities.SAND_VEIL, 480, 85, 75, 110, 100, 75, 35, 60, 50, 168, GrowthRate.MEDIUM_FAST, 50, false),
new PokemonSpecies(Species.PYUKUMUKU, 7, false, false, false, "Sea Cucumber Pokémon", Type.WATER, null, 0.3, 1.2, Abilities.INNARDS_OUT, Abilities.NONE, Abilities.UNAWARE, 410, 55, 60, 130, 30, 130, 5, 60, 50, 144, GrowthRate.FAST, 50, false),
@@ -2151,7 +2158,7 @@ export function initSpecies() {
new PokemonSpecies(Species.TURTONATOR, 7, false, false, false, "Blast Turtle Pokémon", Type.FIRE, Type.DRAGON, 2, 212, Abilities.SHELL_ARMOR, Abilities.NONE, Abilities.NONE, 485, 60, 78, 135, 91, 85, 36, 70, 50, 170, GrowthRate.MEDIUM_FAST, 50, false),
new PokemonSpecies(Species.TOGEDEMARU, 7, false, false, false, "Roly-Poly Pokémon", Type.ELECTRIC, Type.STEEL, 0.3, 3.3, Abilities.IRON_BARBS, Abilities.LIGHTNING_ROD, Abilities.STURDY, 435, 65, 98, 63, 40, 73, 96, 180, 50, 152, GrowthRate.MEDIUM_FAST, 50, false),
new PokemonSpecies(Species.MIMIKYU, 7, false, false, false, "Disguise Pokémon", Type.GHOST, Type.FAIRY, 0.2, 0.7, Abilities.DISGUISE, Abilities.NONE, Abilities.NONE, 476, 55, 90, 80, 50, 105, 96, 45, 50, 167, GrowthRate.MEDIUM_FAST, 50, false, false,
- new PokemonForm("Disguised Form", "disguised", Type.GHOST, Type.FAIRY, 0.2, 0.7, Abilities.DISGUISE, Abilities.NONE, Abilities.NONE, 476, 55, 90, 80, 50, 105, 96, 45, 50, 167, false, "", true),
+ new PokemonForm("Disguised Form", "disguised", Type.GHOST, Type.FAIRY, 0.2, 0.7, Abilities.DISGUISE, Abilities.NONE, Abilities.NONE, 476, 55, 90, 80, 50, 105, 96, 45, 50, 167, false, null, true),
new PokemonForm("Busted Form", "busted", Type.GHOST, Type.FAIRY, 0.2, 0.7, Abilities.DISGUISE, Abilities.NONE, Abilities.NONE, 476, 55, 90, 80, 50, 105, 96, 45, 50, 167),
),
new PokemonSpecies(Species.BRUXISH, 7, false, false, false, "Gnash Teeth Pokémon", Type.WATER, Type.PSYCHIC, 0.9, 19, Abilities.DAZZLING, Abilities.STRONG_JAW, Abilities.WONDER_SKIN, 475, 68, 105, 70, 70, 70, 92, 80, 70, 166, GrowthRate.MEDIUM_FAST, 50, false),
@@ -2321,7 +2328,7 @@ export function initSpecies() {
new PokemonForm("Ruby Swirl", "ruby-swirl", Type.FAIRY, null, 0.3, 0.5, Abilities.SWEET_VEIL, Abilities.NONE, Abilities.AROMA_VEIL, 495, 65, 60, 75, 110, 121, 64, 100, 50, 173, false, null, true),
new PokemonForm("Caramel Swirl", "caramel-swirl", Type.FAIRY, null, 0.3, 0.5, Abilities.SWEET_VEIL, Abilities.NONE, Abilities.AROMA_VEIL, 495, 65, 60, 75, 110, 121, 64, 100, 50, 173, false, null, true),
new PokemonForm("Rainbow Swirl", "rainbow-swirl", Type.FAIRY, null, 0.3, 0.5, Abilities.SWEET_VEIL, Abilities.NONE, Abilities.AROMA_VEIL, 495, 65, 60, 75, 110, 121, 64, 100, 50, 173, false, null, true),
- new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.FAIRY, null, 30, 0.5, Abilities.SWEET_VEIL, Abilities.NONE, Abilities.AROMA_VEIL, 595, 80, 70, 85, 140, 150, 65, 100, 50, 173),
+ new PokemonForm("G-Max", SpeciesFormKey.GIGANTAMAX, Type.FAIRY, null, 30, 0.5, Abilities.SWEET_VEIL, Abilities.NONE, Abilities.AROMA_VEIL, 595, 85, 70, 85, 140, 150, 65, 100, 50, 173),
),
new PokemonSpecies(Species.FALINKS, 8, false, false, false, "Formation Pokémon", Type.FIGHTING, null, 3, 62, Abilities.BATTLE_ARMOR, Abilities.NONE, Abilities.DEFIANT, 470, 65, 100, 100, 70, 60, 75, 45, 50, 165, GrowthRate.MEDIUM_FAST, null, false),
new PokemonSpecies(Species.PINCURCHIN, 8, false, false, false, "Sea Urchin Pokémon", Type.ELECTRIC, null, 0.3, 1, Abilities.LIGHTNING_ROD, Abilities.NONE, Abilities.ELECTRIC_SURGE, 435, 48, 101, 95, 91, 85, 15, 75, 50, 152, GrowthRate.MEDIUM_FAST, 50, false),
@@ -2542,7 +2549,7 @@ export function initSpecies() {
),
new PokemonSpecies(Species.WALKING_WAKE, 9, false, false, false, "Paradox Pokémon", Type.WATER, Type.DRAGON, 3.5, 280, Abilities.PROTOSYNTHESIS, Abilities.NONE, Abilities.NONE, 590, 99, 83, 91, 125, 83, 109, 5, 0, 295, GrowthRate.SLOW, null, false),
new PokemonSpecies(Species.IRON_LEAVES, 9, false, false, false, "Paradox Pokémon", Type.GRASS, Type.PSYCHIC, 1.5, 125, Abilities.QUARK_DRIVE, Abilities.NONE, Abilities.NONE, 590, 90, 130, 88, 70, 108, 104, 5, 0, 295, GrowthRate.SLOW, null, false),
- new PokemonSpecies(Species.DIPPLIN, 9, false, false, false, "Candy Apple Pokémon", Type.GRASS, Type.DRAGON, 0.4, 9.7, Abilities.SUPERSWEET_SYRUP, Abilities.GLUTTONY, Abilities.STICKY_HOLD, 485, 80, 80, 110, 95, 80, 40, 45, 50, 170, GrowthRate.SLOW, null, false),
+ new PokemonSpecies(Species.DIPPLIN, 9, false, false, false, "Candy Apple Pokémon", Type.GRASS, Type.DRAGON, 0.4, 9.7, Abilities.SUPERSWEET_SYRUP, Abilities.GLUTTONY, Abilities.STICKY_HOLD, 485, 80, 80, 110, 95, 80, 40, 45, 50, 170, GrowthRate.ERRATIC, null, false),
new PokemonSpecies(Species.POLTCHAGEIST, 9, false, false, false, "Matcha Pokémon", Type.GRASS, Type.GHOST, 0.1, 1.1, Abilities.HOSPITALITY, Abilities.NONE, Abilities.HEATPROOF, 308, 40, 45, 45, 74, 54, 50, 120, 50, 62, GrowthRate.SLOW, null, false, false,
new PokemonForm("Counterfeit Form", "counterfeit", Type.GRASS, Type.GHOST, 0.1, 1.1, Abilities.HOSPITALITY, Abilities.NONE, Abilities.HEATPROOF, 308, 40, 45, 45, 74, 54, 50, 120, 50, 62, false, null, true),
new PokemonForm("Artisan Form", "artisan", Type.GRASS, Type.GHOST, 0.1, 1.1, Abilities.HOSPITALITY, Abilities.NONE, Abilities.HEATPROOF, 308, 40, 45, 45, 74, 54, 50, 120, 50, 62, false, null, true),
@@ -2617,19 +2624,19 @@ export function initSpecies() {
),
new PokemonSpecies(Species.GALAR_YAMASK, 8, false, false, false, "Spirit Pokémon", Type.GROUND, Type.GHOST, 0.5, 1.5, Abilities.WANDERING_SPIRIT, Abilities.NONE, Abilities.NONE, 303, 38, 55, 85, 30, 65, 30, 190, 50, 61, GrowthRate.MEDIUM_FAST, 50, false),
new PokemonSpecies(Species.GALAR_STUNFISK, 8, false, false, false, "Trap Pokémon", Type.GROUND, Type.STEEL, 0.7, 20.5, Abilities.MIMICRY, Abilities.NONE, Abilities.NONE, 471, 109, 81, 99, 66, 84, 32, 75, 70, 165, GrowthRate.MEDIUM_FAST, 50, false),
- new PokemonSpecies(Species.HISUI_GROWLITHE, 8, false, false, false, "Puppy Pokémon", Type.FIRE, Type.ROCK, 0.8, 22.7, Abilities.INTIMIDATE, Abilities.FLASH_FIRE, Abilities.ROCK_HEAD, 350, 60, 85, 45, 65, 50, 55, 190, 50, 70, GrowthRate.SLOW, 75, false),
+ new PokemonSpecies(Species.HISUI_GROWLITHE, 8, false, false, false, "Puppy Pokémon", Type.FIRE, Type.ROCK, 0.8, 22.7, Abilities.INTIMIDATE, Abilities.FLASH_FIRE, Abilities.ROCK_HEAD, 350, 60, 75, 45, 65, 50, 55, 190, 50, 70, GrowthRate.SLOW, 75, false),
new PokemonSpecies(Species.HISUI_ARCANINE, 8, false, false, false, "Legendary Pokémon", Type.FIRE, Type.ROCK, 2, 168, Abilities.INTIMIDATE, Abilities.FLASH_FIRE, Abilities.ROCK_HEAD, 555, 95, 115, 80, 95, 80, 90, 85, 50, 194, GrowthRate.SLOW, 75, false),
new PokemonSpecies(Species.HISUI_VOLTORB, 8, false, false, false, "Ball Pokémon", Type.ELECTRIC, Type.GRASS, 0.5, 13, Abilities.SOUNDPROOF, Abilities.STATIC, Abilities.AFTERMATH, 330, 40, 30, 50, 55, 55, 100, 190, 80, 66, GrowthRate.MEDIUM_FAST, null, false),
new PokemonSpecies(Species.HISUI_ELECTRODE, 8, false, false, false, "Ball Pokémon", Type.ELECTRIC, Type.GRASS, 1.2, 81, Abilities.SOUNDPROOF, Abilities.STATIC, Abilities.AFTERMATH, 490, 60, 50, 70, 80, 80, 150, 60, 70, 172, GrowthRate.MEDIUM_FAST, null, false),
- new PokemonSpecies(Species.HISUI_TYPHLOSION, 8, false, false, false, "Volcano Pokémon", Type.FIRE, Type.GHOST, 1.6, 69.8, Abilities.BLAZE, Abilities.NONE, Abilities.FRISK, 534, 83, 84, 78, 119, 85, 95, 45, 70, 240, GrowthRate.MEDIUM_SLOW, 87.5, false),
+ new PokemonSpecies(Species.HISUI_TYPHLOSION, 8, false, false, false, "Volcano Pokémon", Type.FIRE, Type.GHOST, 1.6, 69.8, Abilities.BLAZE, Abilities.NONE, Abilities.FRISK, 534, 73, 84, 78, 119, 85, 95, 45, 70, 240, GrowthRate.MEDIUM_SLOW, 87.5, false),
new PokemonSpecies(Species.HISUI_QWILFISH, 8, false, false, false, "Balloon Pokémon", Type.DARK, Type.POISON, 0.5, 3.9, Abilities.POISON_POINT, Abilities.SWIFT_SWIM, Abilities.INTIMIDATE, 440, 65, 95, 85, 55, 55, 85, 45, 50, 88, GrowthRate.MEDIUM_FAST, 50, false),
- new PokemonSpecies(Species.HISUI_SNEASEL, 8, false, false, false, "Sharp Claw Pokémon", Type.FIGHTING, Type.POISON, 0.9, 27, Abilities.INNER_FOCUS, Abilities.KEEN_EYE, Abilities.PICKPOCKET, 430, 55, 95, 55, 35, 85, 115, 60, 35, 86, GrowthRate.MEDIUM_SLOW, 50, true),
+ new PokemonSpecies(Species.HISUI_SNEASEL, 8, false, false, false, "Sharp Claw Pokémon", Type.FIGHTING, Type.POISON, 0.9, 27, Abilities.INNER_FOCUS, Abilities.KEEN_EYE, Abilities.PICKPOCKET, 430, 55, 95, 55, 35, 75, 115, 60, 35, 86, GrowthRate.MEDIUM_SLOW, 50, true),
new PokemonSpecies(Species.HISUI_SAMUROTT, 8, false, false, false, "Formidable Pokémon", Type.WATER, Type.DARK, 1.5, 58.2, Abilities.TORRENT, Abilities.NONE, Abilities.SHARPNESS, 528, 90, 108, 80, 100, 65, 85, 45, 80, 238, GrowthRate.MEDIUM_SLOW, 87.5, false),
- new PokemonSpecies(Species.HISUI_LILLIGANT, 8, false, false, false, "Flowering Pokémon", Type.GRASS, Type.FIGHTING, 1.2, 19.2, Abilities.CHLOROPHYLL, Abilities.HUSTLE, Abilities.LEAF_GUARD, 480, 80, 105, 75, 50, 75, 105, 75, 50, 168, GrowthRate.MEDIUM_FAST, 0, false),
- new PokemonSpecies(Species.HISUI_ZORUA, 8, false, false, false, "Tricky Fox Pokémon", Type.NORMAL, Type.GHOST, 0.7, 12.5, Abilities.ILLUSION, Abilities.NONE, Abilities.NONE, 330, 35, 60, 40, 85, 40, 80, 75, 50, 66, GrowthRate.MEDIUM_SLOW, 87.5, false),
+ new PokemonSpecies(Species.HISUI_LILLIGANT, 8, false, false, false, "Flowering Pokémon", Type.GRASS, Type.FIGHTING, 1.2, 19.2, Abilities.CHLOROPHYLL, Abilities.HUSTLE, Abilities.LEAF_GUARD, 480, 70, 105, 75, 50, 75, 105, 75, 50, 168, GrowthRate.MEDIUM_FAST, 0, false),
+ new PokemonSpecies(Species.HISUI_ZORUA, 8, false, false, false, "Tricky Fox Pokémon", Type.NORMAL, Type.GHOST, 0.7, 12.5, Abilities.ILLUSION, Abilities.NONE, Abilities.NONE, 330, 35, 60, 40, 85, 40, 70, 75, 50, 66, GrowthRate.MEDIUM_SLOW, 87.5, false),
new PokemonSpecies(Species.HISUI_ZOROARK, 8, false, false, false, "Illusion Fox Pokémon", Type.NORMAL, Type.GHOST, 1.6, 83, Abilities.ILLUSION, Abilities.NONE, Abilities.NONE, 510, 55, 100, 60, 125, 60, 110, 45, 50, 179, GrowthRate.MEDIUM_SLOW, 87.5, false),
- new PokemonSpecies(Species.HISUI_BRAVIARY, 8, false, false, false, "Valiant Pokémon", Type.PSYCHIC, Type.FLYING, 1.7, 43.4, Abilities.KEEN_EYE, Abilities.SHEER_FORCE, Abilities.TINTED_LENS, 510, 110, 83, 80, 112, 70, 65, 60, 50, 179, GrowthRate.SLOW, 100, false),
- new PokemonSpecies(Species.HISUI_SLIGGOO, 8, false, false, false, "Soft Tissue Pokémon", Type.STEEL, Type.DRAGON, 0.7, 68.5, Abilities.SAP_SIPPER, Abilities.SHELL_ARMOR, Abilities.GOOEY, 452, 58, 85, 83, 83, 113, 40, 45, 35, 158, GrowthRate.SLOW, 50, false),
+ new PokemonSpecies(Species.HISUI_BRAVIARY, 8, false, false, false, "Valiant Pokémon", Type.PSYCHIC, Type.FLYING, 1.7, 43.4, Abilities.KEEN_EYE, Abilities.SHEER_FORCE, Abilities.TINTED_LENS, 510, 110, 83, 70, 112, 70, 65, 60, 50, 179, GrowthRate.SLOW, 100, false),
+ new PokemonSpecies(Species.HISUI_SLIGGOO, 8, false, false, false, "Soft Tissue Pokémon", Type.STEEL, Type.DRAGON, 0.7, 68.5, Abilities.SAP_SIPPER, Abilities.SHELL_ARMOR, Abilities.GOOEY, 452, 58, 75, 83, 83, 113, 40, 45, 35, 158, GrowthRate.SLOW, 50, false),
new PokemonSpecies(Species.HISUI_GOODRA, 8, false, false, false, "Dragon Pokémon", Type.STEEL, Type.DRAGON, 1.7, 334.1, Abilities.SAP_SIPPER, Abilities.SHELL_ARMOR, Abilities.GOOEY, 600, 80, 100, 100, 110, 150, 60, 45, 35, 270, GrowthRate.SLOW, 50, false),
new PokemonSpecies(Species.HISUI_AVALUGG, 8, false, false, false, "Iceberg Pokémon", Type.ICE, Type.ROCK, 1.4, 262.4, Abilities.STRONG_JAW, Abilities.ICE_BODY, Abilities.STURDY, 514, 95, 127, 184, 34, 36, 38, 55, 50, 180, GrowthRate.MEDIUM_FAST, 50, false),
new PokemonSpecies(Species.HISUI_DECIDUEYE, 8, false, false, false, "Arrow Quill Pokémon", Type.GRASS, Type.FIGHTING, 1.6, 37, Abilities.OVERGROW, Abilities.NONE, Abilities.SCRAPPY, 530, 88, 112, 80, 95, 95, 60, 45, 50, 239, GrowthRate.MEDIUM_SLOW, 87.5, false),
@@ -3280,67 +3287,67 @@ export function getStarterValueFriendshipCap(value: integer): integer {
export const starterPassiveAbilities = {
[Species.BULBASAUR]: Abilities.GRASSY_SURGE,
- [Species.CHARMANDER]: Abilities.SHEER_FORCE,
+ [Species.CHARMANDER]: Abilities.BEAST_BOOST,
[Species.SQUIRTLE]: Abilities.STURDY,
[Species.CATERPIE]: Abilities.MAGICIAN,
- [Species.WEEDLE]: Abilities.TECHNICIAN,
+ [Species.WEEDLE]: Abilities.TINTED_LENS,
[Species.PIDGEY]: Abilities.GALE_WINGS,
[Species.RATTATA]: Abilities.STRONG_JAW,
[Species.SPEAROW]: Abilities.MOXIE,
- [Species.EKANS]: Abilities.ROUGH_SKIN,
- [Species.SANDSHREW]: Abilities.IRON_BARBS,
- [Species.NIDORAN_F]: Abilities.QUEENLY_MAJESTY,
- [Species.NIDORAN_M]: Abilities.SUPREME_OVERLORD,
- [Species.VULPIX]: Abilities.CURSED_BODY,
- [Species.ZUBAT]: Abilities.WIND_RIDER,
- [Species.ODDISH]: Abilities.LINGERING_AROMA,
- [Species.PARAS]: Abilities.POISON_HEAL,
- [Species.VENONAT]: Abilities.SWARM,
+ [Species.EKANS]: Abilities.REGENERATOR,
+ [Species.SANDSHREW]: Abilities.TOUGH_CLAWS,
+ [Species.NIDORAN_F]: Abilities.FLARE_BOOST,
+ [Species.NIDORAN_M]: Abilities.GUTS,
+ [Species.VULPIX]: Abilities.SOLAR_POWER,
+ [Species.ZUBAT]: Abilities.INTIMIDATE,
+ [Species.ODDISH]: Abilities.TRIAGE,
+ [Species.PARAS]: Abilities.TRIAGE,
+ [Species.VENONAT]: Abilities.SIMPLE,
[Species.DIGLETT]: Abilities.STURDY,
- [Species.MEOWTH]: Abilities.NORMALIZE,
+ [Species.MEOWTH]: Abilities.TOUGH_CLAWS,
[Species.PSYDUCK]: Abilities.SIMPLE,
[Species.MANKEY]: Abilities.IRON_FIST,
[Species.GROWLITHE]: Abilities.SPEED_BOOST,
- [Species.POLIWAG]: Abilities.WATER_BUBBLE,
- [Species.ABRA]: Abilities.OPPORTUNIST,
- [Species.MACHOP]: Abilities.IRON_FIST,
- [Species.BELLSPROUT]: Abilities.CORROSION,
- [Species.TENTACOOL]: Abilities.INNARDS_OUT,
- [Species.GEODUDE]: Abilities.ROCKY_PAYLOAD,
+ [Species.POLIWAG]: Abilities.NO_GUARD,
+ [Species.ABRA]: Abilities.PSYCHIC_SURGE,
+ [Species.MACHOP]: Abilities.QUICK_FEET,
+ [Species.BELLSPROUT]: Abilities.PROTOSYNTHESIS,
+ [Species.TENTACOOL]: Abilities.TOXIC_CHAIN,
+ [Species.GEODUDE]: Abilities.DRY_SKIN,
[Species.PONYTA]: Abilities.MAGIC_GUARD,
[Species.SLOWPOKE]: Abilities.UNAWARE,
- [Species.MAGNEMITE]: Abilities.MOTOR_DRIVE,
- [Species.FARFETCHD]: Abilities.PURE_POWER,
- [Species.DODUO]: Abilities.RECKLESS,
- [Species.SEEL]: Abilities.REGENERATOR,
- [Species.GRIMER]: Abilities.GOOEY,
- [Species.SHELLDER]: Abilities.MOXIE,
- [Species.GASTLY]: Abilities.PERISH_BODY,
+ [Species.MAGNEMITE]: Abilities.LEVITATE,
+ [Species.FARFETCHD]: Abilities.HUGE_POWER,
+ [Species.DODUO]: Abilities.PARENTAL_BOND,
+ [Species.SEEL]: Abilities.WATER_BUBBLE,
+ [Species.GRIMER]: Abilities.WATER_ABSORB,
+ [Species.SHELLDER]: Abilities.ICE_SCALES,
+ [Species.GASTLY]: Abilities.SHADOW_SHIELD,
[Species.ONIX]: Abilities.ROCKY_PAYLOAD,
[Species.DROWZEE]: Abilities.BAD_DREAMS,
- [Species.KRABBY]: Abilities.ANGER_SHELL,
- [Species.VOLTORB]: Abilities.GALVANIZE,
- [Species.EXEGGCUTE]: Abilities.PARENTAL_BOND,
- [Species.CUBONE]: Abilities.MOODY,
- [Species.LICKITUNG]: Abilities.EARTH_EATER,
- [Species.KOFFING]: Abilities.FLARE_BOOST,
+ [Species.KRABBY]: Abilities.UNBURDEN,
+ [Species.VOLTORB]: Abilities.ELECTRIC_SURGE,
+ [Species.EXEGGCUTE]: Abilities.RIPEN,
+ [Species.CUBONE]: Abilities.PARENTAL_BOND,
+ [Species.LICKITUNG]: Abilities.THICK_FAT,
+ [Species.KOFFING]: Abilities.PARENTAL_BOND,
[Species.RHYHORN]: Abilities.FILTER,
- [Species.TANGELA]: Abilities.TANGLING_HAIR,
- [Species.KANGASKHAN]: Abilities.IRON_FIST,
+ [Species.TANGELA]: Abilities.SEED_SOWER,
+ [Species.KANGASKHAN]: Abilities.GUTS,
[Species.HORSEA]: Abilities.DRIZZLE,
[Species.GOLDEEN]: Abilities.MULTISCALE,
[Species.STARYU]: Abilities.REGENERATOR,
- [Species.SCYTHER]: Abilities.SPEED_BOOST,
- [Species.PINSIR]: Abilities.SAP_SIPPER,
- [Species.TAUROS]: Abilities.ROCK_HEAD,
+ [Species.SCYTHER]: Abilities.TINTED_LENS,
+ [Species.PINSIR]: Abilities.TINTED_LENS,
+ [Species.TAUROS]: Abilities.SCRAPPY,
[Species.MAGIKARP]: Abilities.MULTISCALE,
- [Species.LAPRAS]: Abilities.LIQUID_VOICE,
- [Species.DITTO]: Abilities.GOOEY,
+ [Species.LAPRAS]: Abilities.LIGHTNING_ROD,
+ [Species.DITTO]: Abilities.ADAPTABILITY,
[Species.EEVEE]: Abilities.SIMPLE,
- [Species.PORYGON]: Abilities.QUARK_DRIVE,
- [Species.OMANYTE]: Abilities.ANGER_SHELL,
+ [Species.PORYGON]: Abilities.PROTEAN,
+ [Species.OMANYTE]: Abilities.STURDY,
[Species.KABUTO]: Abilities.SHARPNESS,
- [Species.AERODACTYL]: Abilities.PROTOSYNTHESIS,
+ [Species.AERODACTYL]: Abilities.ORICHALCUM_PULSE,
[Species.ARTICUNO]: Abilities.SNOW_WARNING,
[Species.ZAPDOS]: Abilities.DRIZZLE,
[Species.MOLTRES]: Abilities.DROUGHT,
@@ -3350,50 +3357,50 @@ export const starterPassiveAbilities = {
[Species.CHIKORITA]: Abilities.THICK_FAT,
[Species.CYNDAQUIL]: Abilities.DROUGHT,
[Species.TOTODILE]: Abilities.TOUGH_CLAWS,
- [Species.SENTRET]: Abilities.FLUFFY,
- [Species.HOOTHOOT]: Abilities.CURSED_BODY,
+ [Species.SENTRET]: Abilities.PICKUP,
+ [Species.HOOTHOOT]: Abilities.AERILATE,
[Species.LEDYBA]: Abilities.PRANKSTER,
[Species.SPINARAK]: Abilities.PRANKSTER,
- [Species.CHINCHOU]: Abilities.REGENERATOR,
+ [Species.CHINCHOU]: Abilities.WATER_BUBBLE,
[Species.PICHU]: Abilities.ELECTRIC_SURGE,
- [Species.CLEFFA]: Abilities.MAGIC_BOUNCE,
- [Species.IGGLYBUFF]: Abilities.SERENE_GRACE,
- [Species.TOGEPI]: Abilities.OPPORTUNIST,
+ [Species.CLEFFA]: Abilities.ANALYTIC,
+ [Species.IGGLYBUFF]: Abilities.HUGE_POWER,
+ [Species.TOGEPI]: Abilities.PIXILATE,
[Species.NATU]: Abilities.TINTED_LENS,
- [Species.MAREEP]: Abilities.FLUFFY,
- [Species.HOPPIP]: Abilities.PRANKSTER,
+ [Species.MAREEP]: Abilities.ELECTROMORPHOSIS,
+ [Species.HOPPIP]: Abilities.FLUFFY,
[Species.AIPOM]: Abilities.SCRAPPY,
[Species.SUNKERN]: Abilities.DROUGHT,
- [Species.YANMA]: Abilities.INFILTRATOR,
- [Species.WOOPER]: Abilities.SIMPLE,
- [Species.MURKROW]: Abilities.DEFIANT,
- [Species.MISDREAVUS]: Abilities.DAZZLING,
+ [Species.YANMA]: Abilities.SHEER_FORCE,
+ [Species.WOOPER]: Abilities.COMATOSE,
+ [Species.MURKROW]: Abilities.DARK_AURA,
+ [Species.MISDREAVUS]: Abilities.BEADS_OF_RUIN,
[Species.UNOWN]: Abilities.PICKUP,
[Species.GIRAFARIG]: Abilities.PARENTAL_BOND,
[Species.PINECO]: Abilities.IRON_BARBS,
- [Species.DUNSPARCE]: Abilities.MARVEL_SCALE,
- [Species.GLIGAR]: Abilities.MERCILESS,
- [Species.SNUBBULL]: Abilities.BALL_FETCH,
+ [Species.DUNSPARCE]: Abilities.UNAWARE,
+ [Species.GLIGAR]: Abilities.TOXIC_BOOST,
+ [Species.SNUBBULL]: Abilities.PIXILATE,
[Species.QWILFISH]: Abilities.TOXIC_DEBRIS,
- [Species.SHUCKLE]: Abilities.WELL_BAKED_BODY,
- [Species.HERACROSS]: Abilities.QUICK_FEET,
- [Species.SNEASEL]: Abilities.MOXIE,
- [Species.TEDDIURSA]: Abilities.GLUTTONY,
- [Species.SLUGMA]: Abilities.DROUGHT,
+ [Species.SHUCKLE]: Abilities.HARVEST,
+ [Species.HERACROSS]: Abilities.TECHNICIAN,
+ [Species.SNEASEL]: Abilities.TOUGH_CLAWS,
+ [Species.TEDDIURSA]: Abilities.THICK_FAT,
+ [Species.SLUGMA]: Abilities.DESOLATE_LAND,
[Species.SWINUB]: Abilities.SLUSH_RUSH,
[Species.CORSOLA]: Abilities.STORM_DRAIN,
- [Species.REMORAID]: Abilities.SKILL_LINK,
- [Species.DELIBIRD]: Abilities.PRANKSTER,
- [Species.SKARMORY]: Abilities.OBLIVIOUS,
- [Species.HOUNDOUR]: Abilities.INTIMIDATE,
- [Species.PHANPY]: Abilities.ROCK_HEAD,
- [Species.STANTLER]: Abilities.MAGIC_GUARD,
- [Species.SMEARGLE]: Abilities.QUICK_DRAW,
- [Species.TYROGUE]: Abilities.STAMINA,
- [Species.SMOOCHUM]: Abilities.DAZZLING,
- [Species.ELEKID]: Abilities.IRON_FIST,
+ [Species.REMORAID]: Abilities.SIMPLE,
+ [Species.DELIBIRD]: Abilities.HUGE_POWER,
+ [Species.SKARMORY]: Abilities.LIGHTNING_ROD,
+ [Species.HOUNDOUR]: Abilities.DROUGHT,
+ [Species.PHANPY]: Abilities.SPEED_BOOST,
+ [Species.STANTLER]: Abilities.ANALYTIC,
+ [Species.SMEARGLE]: Abilities.PRANKSTER,
+ [Species.TYROGUE]: Abilities.MOXIE,
+ [Species.SMOOCHUM]: Abilities.PSYCHIC_SURGE,
+ [Species.ELEKID]: Abilities.SHEER_FORCE,
[Species.MAGBY]: Abilities.CONTRARY,
- [Species.MILTANK]: Abilities.GLUTTONY,
+ [Species.MILTANK]: Abilities.STAMINA,
[Species.RAIKOU]: Abilities.TRANSISTOR,
[Species.ENTEI]: Abilities.MOXIE,
[Species.SUICUNE]: Abilities.UNAWARE,
@@ -3403,65 +3410,65 @@ export const starterPassiveAbilities = {
[Species.CELEBI]: Abilities.GRASSY_SURGE,
[Species.TREECKO]: Abilities.TINTED_LENS,
[Species.TORCHIC]: Abilities.RECKLESS,
- [Species.MUDKIP]: Abilities.REGENERATOR,
- [Species.POOCHYENA]: Abilities.STRONG_JAW,
- [Species.ZIGZAGOON]: Abilities.PICKPOCKET,
- [Species.WURMPLE]: Abilities.TINTED_LENS,
+ [Species.MUDKIP]: Abilities.DRIZZLE,
+ [Species.POOCHYENA]: Abilities.TOUGH_CLAWS,
+ [Species.ZIGZAGOON]: Abilities.RUN_AWAY,
+ [Species.WURMPLE]: Abilities.SIMPLE,
[Species.LOTAD]: Abilities.DRIZZLE,
- [Species.SEEDOT]: Abilities.LEAF_GUARD,
- [Species.TAILLOW]: Abilities.KEEN_EYE,
- [Species.WINGULL]: Abilities.STORM_DRAIN,
+ [Species.SEEDOT]: Abilities.SHARPNESS,
+ [Species.TAILLOW]: Abilities.AERILATE,
+ [Species.WINGULL]: Abilities.SWIFT_SWIM,
[Species.RALTS]: Abilities.PSYCHIC_SURGE,
- [Species.SURSKIT]: Abilities.WATER_ABSORB,
+ [Species.SURSKIT]: Abilities.WATER_BUBBLE,
[Species.SHROOMISH]: Abilities.GUTS,
[Species.SLAKOTH]: Abilities.GUTS,
- [Species.NINCADA]: Abilities.OVERCOAT,
+ [Species.NINCADA]: Abilities.MAGIC_GUARD,
[Species.WHISMUR]: Abilities.PUNK_ROCK,
[Species.MAKUHITA]: Abilities.STAMINA,
[Species.AZURILL]: Abilities.MISTY_SURGE,
[Species.NOSEPASS]: Abilities.LEVITATE,
[Species.SKITTY]: Abilities.SCRAPPY,
[Species.SABLEYE]: Abilities.UNNERVE,
- [Species.MAWILE]: Abilities.MOLD_BREAKER,
- [Species.ARON]: Abilities.SOLID_ROCK,
- [Species.MEDITITE]: Abilities.OWN_TEMPO,
+ [Species.MAWILE]: Abilities.UNNERVE,
+ [Species.ARON]: Abilities.EARTH_EATER,
+ [Species.MEDITITE]: Abilities.MINDS_EYE,
[Species.ELECTRIKE]: Abilities.ELECTRIC_SURGE,
- [Species.PLUSLE]: Abilities.MINUS,
- [Species.MINUN]: Abilities.PLUS,
- [Species.VOLBEAT]: Abilities.TINTED_LENS,
- [Species.ILLUMISE]: Abilities.SWARM,
- [Species.GULPIN]: Abilities.POISON_TOUCH,
- [Species.CARVANHA]: Abilities.STAKEOUT,
+ [Species.PLUSLE]: Abilities.POWER_SPOT,
+ [Species.MINUN]: Abilities.POWER_SPOT,
+ [Species.VOLBEAT]: Abilities.HONEY_GATHER,
+ [Species.ILLUMISE]: Abilities.HONEY_GATHER,
+ [Species.GULPIN]: Abilities.EARTH_EATER,
+ [Species.CARVANHA]: Abilities.SHEER_FORCE,
[Species.WAILMER]: Abilities.LEVITATE,
- [Species.NUMEL]: Abilities.TURBOBLAZE,
- [Species.TORKOAL]: Abilities.PROTOSYNTHESIS,
+ [Species.NUMEL]: Abilities.STAMINA,
+ [Species.TORKOAL]: Abilities.ANALYTIC,
[Species.SPOINK]: Abilities.PSYCHIC_SURGE,
[Species.SPINDA]: Abilities.SIMPLE,
[Species.TRAPINCH]: Abilities.ADAPTABILITY,
[Species.CACNEA]: Abilities.SAND_RUSH,
- [Species.SWABLU]: Abilities.WHITE_SMOKE,
- [Species.ZANGOOSE]: Abilities.TOUGH_CLAWS,
- [Species.SEVIPER]: Abilities.MOLD_BREAKER,
- [Species.LUNATONE]: Abilities.FAIRY_AURA,
+ [Species.SWABLU]: Abilities.ADAPTABILITY,
+ [Species.ZANGOOSE]: Abilities.POISON_HEAL,
+ [Species.SEVIPER]: Abilities.INTIMIDATE,
+ [Species.LUNATONE]: Abilities.SHADOW_SHIELD,
[Species.SOLROCK]: Abilities.DROUGHT,
- [Species.BARBOACH]: Abilities.BALL_FETCH,
+ [Species.BARBOACH]: Abilities.SIMPLE,
[Species.CORPHISH]: Abilities.TOUGH_CLAWS,
- [Species.BALTOY]: Abilities.OWN_TEMPO,
- [Species.LILEEP]: Abilities.WATER_ABSORB,
+ [Species.BALTOY]: Abilities.WELL_BAKED_BODY,
+ [Species.LILEEP]: Abilities.SEED_SOWER,
[Species.ANORITH]: Abilities.WATER_ABSORB,
[Species.FEEBAS]: Abilities.MAGIC_GUARD,
[Species.CASTFORM]: Abilities.ADAPTABILITY,
[Species.KECLEON]: Abilities.ADAPTABILITY,
- [Species.SHUPPET]: Abilities.MUMMY,
+ [Species.SHUPPET]: Abilities.SHADOW_SHIELD,
[Species.DUSKULL]: Abilities.UNNERVE,
- [Species.TROPIUS]: Abilities.CUD_CHEW,
- [Species.ABSOL]: Abilities.DARK_AURA,
- [Species.WYNAUT]: Abilities.STAMINA,
+ [Species.TROPIUS]: Abilities.RIPEN,
+ [Species.ABSOL]: Abilities.SHARPNESS,
+ [Species.WYNAUT]: Abilities.STURDY,
[Species.SNORUNT]: Abilities.SNOW_WARNING,
- [Species.SPHEAL]: Abilities.SLUSH_RUSH,
- [Species.CLAMPERL]: Abilities.SIMPLE,
+ [Species.SPHEAL]: Abilities.UNAWARE,
+ [Species.CLAMPERL]: Abilities.DRIZZLE,
[Species.RELICANTH]: Abilities.SOLID_ROCK,
- [Species.LUVDISC]: Abilities.PICKUP,
+ [Species.LUVDISC]: Abilities.MULTISCALE,
[Species.BAGON]: Abilities.ADAPTABILITY,
[Species.BELDUM]: Abilities.LEVITATE,
[Species.REGIROCK]: Abilities.SAND_STREAM,
@@ -3469,131 +3476,131 @@ export const starterPassiveAbilities = {
[Species.REGISTEEL]: Abilities.FILTER,
[Species.LATIAS]: Abilities.SOUL_HEART,
[Species.LATIOS]: Abilities.TINTED_LENS,
- [Species.KYOGRE]: Abilities.HYDRATION,
- [Species.GROUDON]: Abilities.PROTOSYNTHESIS,
+ [Species.KYOGRE]: Abilities.RAIN_DISH,
+ [Species.GROUDON]: Abilities.TURBOBLAZE,
[Species.RAYQUAZA]: Abilities.UNNERVE,
[Species.JIRACHI]: Abilities.COMATOSE,
[Species.DEOXYS]: Abilities.PROTEAN,
[Species.TURTWIG]: Abilities.THICK_FAT,
- [Species.CHIMCHAR]: Abilities.MOXIE,
+ [Species.CHIMCHAR]: Abilities.BEAST_BOOST,
[Species.PIPLUP]: Abilities.LIGHTNING_ROD,
[Species.STARLY]: Abilities.ROCK_HEAD,
- [Species.BIDOOF]: Abilities.NEUROFORCE,
- [Species.KRICKETOT]: Abilities.SOUNDPROOF,
- [Species.SHINX]: Abilities.VOLT_ABSORB,
- [Species.BUDEW]: Abilities.CUTE_CHARM,
+ [Species.BIDOOF]: Abilities.SAP_SIPPER,
+ [Species.KRICKETOT]: Abilities.SHARPNESS,
+ [Species.SHINX]: Abilities.SPEED_BOOST,
+ [Species.BUDEW]: Abilities.GRASSY_SURGE,
[Species.CRANIDOS]: Abilities.ROCK_HEAD,
- [Species.SHIELDON]: Abilities.SOLID_ROCK,
+ [Species.SHIELDON]: Abilities.EARTH_EATER,
[Species.BURMY]: Abilities.STURDY,
- [Species.COMBEE]: Abilities.QUEENLY_MAJESTY,
- [Species.PACHIRISU]: Abilities.BALL_FETCH,
- [Species.BUIZEL]: Abilities.HYDRATION,
+ [Species.COMBEE]: Abilities.INTIMIDATE,
+ [Species.PACHIRISU]: Abilities.HONEY_GATHER,
+ [Species.BUIZEL]: Abilities.MOXIE,
[Species.CHERUBI]: Abilities.DROUGHT,
- [Species.SHELLOS]: Abilities.SHELL_ARMOR,
- [Species.DRIFLOON]: Abilities.PICKPOCKET,
- [Species.BUNEARY]: Abilities.OBLIVIOUS,
- [Species.GLAMEOW]: Abilities.PICKUP,
- [Species.CHINGLING]: Abilities.VICTORY_STAR,
- [Species.STUNKY]: Abilities.MERCILESS,
- [Species.BRONZOR]: Abilities.SOUNDPROOF,
+ [Species.SHELLOS]: Abilities.REGENERATOR,
+ [Species.DRIFLOON]: Abilities.MAGIC_GUARD,
+ [Species.BUNEARY]: Abilities.ADAPTABILITY,
+ [Species.GLAMEOW]: Abilities.INTIMIDATE,
+ [Species.CHINGLING]: Abilities.PUNK_ROCK,
+ [Species.STUNKY]: Abilities.NEUTRALIZING_GAS,
+ [Species.BRONZOR]: Abilities.BULLETPROOF,
[Species.BONSLY]: Abilities.SAP_SIPPER,
- [Species.MIME_JR]: Abilities.MAGIC_BOUNCE,
- [Species.HAPPINY]: Abilities.TRIAGE,
+ [Species.MIME_JR]: Abilities.OPPORTUNIST,
+ [Species.HAPPINY]: Abilities.FUR_COAT,
[Species.CHATOT]: Abilities.PUNK_ROCK,
- [Species.SPIRITOMB]: Abilities.REGENERATOR,
+ [Species.SPIRITOMB]: Abilities.VESSEL_OF_RUIN,
[Species.GIBLE]: Abilities.SAND_STREAM,
- [Species.MUNCHLAX]: Abilities.CUD_CHEW,
+ [Species.MUNCHLAX]: Abilities.RIPEN,
[Species.RIOLU]: Abilities.MINDS_EYE,
- [Species.HIPPOPOTAS]: Abilities.SAND_VEIL,
+ [Species.HIPPOPOTAS]: Abilities.UNAWARE,
[Species.SKORUPI]: Abilities.SUPER_LUCK,
- [Species.CROAGUNK]: Abilities.PICKPOCKET,
- [Species.CARNIVINE]: Abilities.EFFECT_SPORE,
+ [Species.CROAGUNK]: Abilities.MOXIE,
+ [Species.CARNIVINE]: Abilities.ARENA_TRAP,
[Species.FINNEON]: Abilities.DRIZZLE,
- [Species.MANTYKE]: Abilities.STORM_DRAIN,
- [Species.SNOVER]: Abilities.SNOW_CLOAK,
+ [Species.MANTYKE]: Abilities.UNAWARE,
+ [Species.SNOVER]: Abilities.THICK_FAT,
[Species.ROTOM]: Abilities.HADRON_ENGINE,
[Species.UXIE]: Abilities.UNAWARE,
[Species.MESPRIT]: Abilities.MOODY,
[Species.AZELF]: Abilities.NEUROFORCE,
- [Species.DIALGA]: Abilities.SPEED_BOOST,
- [Species.PALKIA]: Abilities.MULTISCALE,
- [Species.HEATRAN]: Abilities.FILTER,
+ [Species.DIALGA]: Abilities.LEVITATE,
+ [Species.PALKIA]: Abilities.SPEED_BOOST,
+ [Species.HEATRAN]: Abilities.EARTH_EATER,
[Species.REGIGIGAS]: Abilities.MINDS_EYE,
[Species.GIRATINA]: Abilities.SHADOW_SHIELD,
[Species.CRESSELIA]: Abilities.MAGIC_BOUNCE,
[Species.PHIONE]: Abilities.SIMPLE,
[Species.MANAPHY]: Abilities.SIMPLE,
[Species.DARKRAI]: Abilities.UNNERVE,
- [Species.SHAYMIN]: Abilities.FLOWER_VEIL,
+ [Species.SHAYMIN]: Abilities.WIND_RIDER,
[Species.ARCEUS]: Abilities.ADAPTABILITY,
- [Species.VICTINI]: Abilities.SUPER_LUCK,
+ [Species.VICTINI]: Abilities.SHEER_FORCE,
[Species.SNIVY]: Abilities.MULTISCALE,
[Species.TEPIG]: Abilities.ROCK_HEAD,
[Species.OSHAWOTT]: Abilities.INTREPID_SWORD,
- [Species.PATRAT]: Abilities.STAKEOUT,
- [Species.LILLIPUP]: Abilities.BALL_FETCH,
- [Species.PURRLOIN]: Abilities.DEFIANT,
- [Species.PANSAGE]: Abilities.SAP_SIPPER,
- [Species.PANSEAR]: Abilities.FLASH_FIRE,
- [Species.PANPOUR]: Abilities.STORM_DRAIN,
+ [Species.PATRAT]: Abilities.NO_GUARD,
+ [Species.LILLIPUP]: Abilities.FUR_COAT,
+ [Species.PURRLOIN]: Abilities.PICKUP,
+ [Species.PANSAGE]: Abilities.WELL_BAKED_BODY,
+ [Species.PANSEAR]: Abilities.WATER_ABSORB,
+ [Species.PANPOUR]: Abilities.SAP_SIPPER,
[Species.MUNNA]: Abilities.NEUTRALIZING_GAS,
- [Species.PIDOVE]: Abilities.OPPORTUNIST,
- [Species.BLITZLE]: Abilities.FLARE_BOOST,
+ [Species.PIDOVE]: Abilities.SNIPER,
+ [Species.BLITZLE]: Abilities.RECKLESS,
[Species.ROGGENROLA]: Abilities.SOLID_ROCK,
- [Species.WOOBAT]: Abilities.SOUL_HEART,
+ [Species.WOOBAT]: Abilities.OPPORTUNIST,
[Species.DRILBUR]: Abilities.SAND_STREAM,
[Species.AUDINO]: Abilities.FRIEND_GUARD,
- [Species.TIMBURR]: Abilities.STAMINA,
- [Species.TYMPOLE]: Abilities.MOODY,
- [Species.THROH]: Abilities.SIMPLE,
- [Species.SAWK]: Abilities.DEFIANT,
+ [Species.TIMBURR]: Abilities.ROCKY_PAYLOAD,
+ [Species.TYMPOLE]: Abilities.POISON_HEAL,
+ [Species.THROH]: Abilities.STAMINA,
+ [Species.SAWK]: Abilities.SCRAPPY,
[Species.SEWADDLE]: Abilities.SHARPNESS,
- [Species.VENIPEDE]: Abilities.INTIMIDATE,
+ [Species.VENIPEDE]: Abilities.STAMINA,
[Species.COTTONEE]: Abilities.FLUFFY,
- [Species.PETILIL]: Abilities.DANCER,
- [Species.BASCULIN]: Abilities.OPPORTUNIST,
- [Species.SANDILE]: Abilities.STRONG_JAW,
- [Species.DARUMAKA]: Abilities.IRON_FIST,
- [Species.MARACTUS]: Abilities.IRON_BARBS,
- [Species.DWEBBLE]: Abilities.STAMINA,
- [Species.SCRAGGY]: Abilities.ROCK_HEAD,
+ [Species.PETILIL]: Abilities.SIMPLE,
+ [Species.BASCULIN]: Abilities.SUPREME_OVERLORD,
+ [Species.SANDILE]: Abilities.TOUGH_CLAWS,
+ [Species.DARUMAKA]: Abilities.GORILLA_TACTICS,
+ [Species.MARACTUS]: Abilities.WELL_BAKED_BODY,
+ [Species.DWEBBLE]: Abilities.ANGER_SHELL,
+ [Species.SCRAGGY]: Abilities.PROTEAN,
[Species.SIGILYPH]: Abilities.MAGICIAN,
[Species.YAMASK]: Abilities.PURIFYING_SALT,
- [Species.TIRTOUGA]: Abilities.SHELL_ARMOR,
- [Species.ARCHEN]: Abilities.ROCKY_PAYLOAD,
- [Species.TRUBBISH]: Abilities.GOOEY,
+ [Species.TIRTOUGA]: Abilities.ANGER_SHELL,
+ [Species.ARCHEN]: Abilities.MULTISCALE,
+ [Species.TRUBBISH]: Abilities.TOXIC_DEBRIS,
[Species.ZORUA]: Abilities.DARK_AURA,
- [Species.MINCCINO]: Abilities.SCRAPPY,
- [Species.GOTHITA]: Abilities.PRESSURE,
- [Species.SOLOSIS]: Abilities.GOOEY,
- [Species.DUCKLETT]: Abilities.GALE_WINGS,
- [Species.VANILLITE]: Abilities.REFRIGERATE,
- [Species.DEERLING]: Abilities.JUSTIFIED,
- [Species.EMOLGA]: Abilities.WIND_POWER,
- [Species.KARRABLAST]: Abilities.MIRROR_ARMOR,
- [Species.FOONGUS]: Abilities.MYCELIUM_MIGHT,
- [Species.FRILLISH]: Abilities.MUMMY,
+ [Species.MINCCINO]: Abilities.FUR_COAT,
+ [Species.GOTHITA]: Abilities.UNNERVE,
+ [Species.SOLOSIS]: Abilities.PSYCHIC_SURGE,
+ [Species.DUCKLETT]: Abilities.DRIZZLE,
+ [Species.VANILLITE]: Abilities.SLUSH_RUSH,
+ [Species.DEERLING]: Abilities.FUR_COAT,
+ [Species.EMOLGA]: Abilities.TRANSISTOR,
+ [Species.KARRABLAST]: Abilities.QUICK_DRAW,
+ [Species.FOONGUS]: Abilities.THICK_FAT,
+ [Species.FRILLISH]: Abilities.UNAWARE,
[Species.ALOMOMOLA]: Abilities.MULTISCALE,
- [Species.JOLTIK]: Abilities.VOLT_ABSORB,
+ [Species.JOLTIK]: Abilities.TRANSISTOR,
[Species.FERROSEED]: Abilities.ROUGH_SKIN,
[Species.KLINK]: Abilities.STEELWORKER,
- [Species.TYNAMO]: Abilities.SWIFT_SWIM,
- [Species.ELGYEM]: Abilities.SHADOW_TAG,
+ [Species.TYNAMO]: Abilities.POISON_HEAL,
+ [Species.ELGYEM]: Abilities.PRISM_ARMOR,
[Species.LITWICK]: Abilities.SOUL_HEART,
[Species.AXEW]: Abilities.DRAGONS_MAW,
- [Species.CUBCHOO]: Abilities.INTIMIDATE,
- [Species.CRYOGONAL]: Abilities.DAZZLING,
- [Species.SHELMET]: Abilities.SHED_SKIN,
+ [Species.CUBCHOO]: Abilities.TOUGH_CLAWS,
+ [Species.CRYOGONAL]: Abilities.SNOW_WARNING,
+ [Species.SHELMET]: Abilities.PROTEAN,
[Species.STUNFISK]: Abilities.STORM_DRAIN,
[Species.MIENFOO]: Abilities.NO_GUARD,
[Species.DRUDDIGON]: Abilities.INTIMIDATE,
[Species.GOLETT]: Abilities.SHADOW_SHIELD,
- [Species.PAWNIARD]: Abilities.SHARPNESS,
- [Species.BOUFFALANT]: Abilities.THICK_FAT,
- [Species.RUFFLET]: Abilities.RECKLESS,
+ [Species.PAWNIARD]: Abilities.SWORD_OF_RUIN,
+ [Species.BOUFFALANT]: Abilities.ROCK_HEAD,
+ [Species.RUFFLET]: Abilities.GALE_WINGS,
[Species.VULLABY]: Abilities.THICK_FAT,
[Species.HEATMOR]: Abilities.CONTRARY,
- [Species.DURANT]: Abilities.TOUGH_CLAWS,
+ [Species.DURANT]: Abilities.COMPOUND_EYES,
[Species.DEINO]: Abilities.PARENTAL_BOND,
[Species.LARVESTA]: Abilities.DROUGHT,
[Species.COBALION]: Abilities.INTREPID_SWORD,
@@ -3607,37 +3614,37 @@ export const starterPassiveAbilities = {
[Species.KYUREM]: Abilities.SNOW_WARNING,
[Species.KELDEO]: Abilities.GRIM_NEIGH,
[Species.MELOETTA]: Abilities.MINDS_EYE,
- [Species.GENESECT]: Abilities.REGENERATOR,
+ [Species.GENESECT]: Abilities.PROTEAN,
[Species.CHESPIN]: Abilities.DAUNTLESS_SHIELD,
[Species.FENNEKIN]: Abilities.PSYCHIC_SURGE,
- [Species.FROAKIE]: Abilities.ADAPTABILITY,
+ [Species.FROAKIE]: Abilities.STAKEOUT,
[Species.BUNNELBY]: Abilities.GUTS,
- [Species.FLETCHLING]: Abilities.RECKLESS,
+ [Species.FLETCHLING]: Abilities.MAGIC_GUARD,
[Species.SCATTERBUG]: Abilities.PRANKSTER,
- [Species.LITLEO]: Abilities.INTIMIDATE,
+ [Species.LITLEO]: Abilities.BEAST_BOOST,
[Species.FLABEBE]: Abilities.GRASSY_SURGE,
[Species.SKIDDO]: Abilities.GRASSY_SURGE,
- [Species.PANCHAM]: Abilities.FLUFFY,
- [Species.FURFROU]: Abilities.BALL_FETCH,
+ [Species.PANCHAM]: Abilities.FUR_COAT,
+ [Species.FURFROU]: Abilities.FLUFFY,
[Species.ESPURR]: Abilities.FUR_COAT,
[Species.HONEDGE]: Abilities.SHARPNESS,
[Species.SPRITZEE]: Abilities.MISTY_SURGE,
[Species.SWIRLIX]: Abilities.WELL_BAKED_BODY,
- [Species.INKAY]: Abilities.SUPREME_OVERLORD,
- [Species.BINACLE]: Abilities.SOLID_ROCK,
+ [Species.INKAY]: Abilities.UNNERVE,
+ [Species.BINACLE]: Abilities.SAP_SIPPER,
[Species.SKRELP]: Abilities.DRAGONS_MAW,
[Species.CLAUNCHER]: Abilities.SWIFT_SWIM,
- [Species.HELIOPTILE]: Abilities.NO_GUARD,
+ [Species.HELIOPTILE]: Abilities.PROTEAN,
[Species.TYRUNT]: Abilities.RECKLESS,
- [Species.AMAURA]: Abilities.SERENE_GRACE,
- [Species.HAWLUCHA]: Abilities.RECKLESS,
- [Species.DEDENNE]: Abilities.SIMPLE,
+ [Species.AMAURA]: Abilities.ICE_SCALES,
+ [Species.HAWLUCHA]: Abilities.MOXIE,
+ [Species.DEDENNE]: Abilities.PIXILATE,
[Species.CARBINK]: Abilities.SOLID_ROCK,
- [Species.GOOMY]: Abilities.DRIZZLE,
- [Species.KLEFKI]: Abilities.TRIAGE,
- [Species.PHANTUMP]: Abilities.UNNERVE,
- [Species.PUMPKABOO]: Abilities.FLASH_FIRE,
- [Species.BERGMITE]: Abilities.MIRROR_ARMOR,
+ [Species.GOOMY]: Abilities.REGENERATOR,
+ [Species.KLEFKI]: Abilities.LEVITATE,
+ [Species.PHANTUMP]: Abilities.RIPEN,
+ [Species.PUMPKABOO]: Abilities.WELL_BAKED_BODY,
+ [Species.BERGMITE]: Abilities.ICE_SCALES,
[Species.NOIBAT]: Abilities.PUNK_ROCK,
[Species.XERNEAS]: Abilities.MISTY_SURGE,
[Species.YVELTAL]: Abilities.SOUL_HEART,
@@ -3645,44 +3652,44 @@ export const starterPassiveAbilities = {
[Species.DIANCIE]: Abilities.LEVITATE,
[Species.HOOPA]: Abilities.OPPORTUNIST,
[Species.VOLCANION]: Abilities.FILTER,
- [Species.ROWLET]: Abilities.SNIPER,
+ [Species.ROWLET]: Abilities.UNBURDEN,
[Species.LITTEN]: Abilities.FUR_COAT,
[Species.POPPLIO]: Abilities.PUNK_ROCK,
- [Species.PIKIPEK]: Abilities.ANGER_POINT,
- [Species.YUNGOOS]: Abilities.HUGE_POWER,
+ [Species.PIKIPEK]: Abilities.TECHNICIAN,
+ [Species.YUNGOOS]: Abilities.TOUGH_CLAWS,
[Species.GRUBBIN]: Abilities.SPEED_BOOST,
- [Species.CRABRAWLER]: Abilities.REFRIGERATE,
+ [Species.CRABRAWLER]: Abilities.WATER_BUBBLE,
[Species.ORICORIO]: Abilities.ADAPTABILITY,
- [Species.CUTIEFLY]: Abilities.FRIEND_GUARD,
+ [Species.CUTIEFLY]: Abilities.TINTED_LENS,
[Species.ROCKRUFF]: Abilities.ROCKY_PAYLOAD,
- [Species.WISHIWASHI]: Abilities.PARENTAL_BOND,
+ [Species.WISHIWASHI]: Abilities.REGENERATOR,
[Species.MAREANIE]: Abilities.TOXIC_DEBRIS,
[Species.MUDBRAY]: Abilities.CUD_CHEW,
- [Species.DEWPIDER]: Abilities.UNNERVE,
+ [Species.DEWPIDER]: Abilities.TINTED_LENS,
[Species.FOMANTIS]: Abilities.SHARPNESS,
- [Species.MORELULL]: Abilities.PERISH_BODY,
- [Species.SALANDIT]: Abilities.DAZZLING,
- [Species.STUFFUL]: Abilities.HOSPITALITY,
- [Species.BOUNSWEET]: Abilities.RIPEN,
+ [Species.MORELULL]: Abilities.TRIAGE,
+ [Species.SALANDIT]: Abilities.DRAGONS_MAW,
+ [Species.STUFFUL]: Abilities.SCRAPPY,
+ [Species.BOUNSWEET]: Abilities.MOXIE,
[Species.COMFEY]: Abilities.FRIEND_GUARD,
- [Species.ORANGURU]: Abilities.HOSPITALITY,
- [Species.PASSIMIAN]: Abilities.COSTAR,
- [Species.WIMPOD]: Abilities.TINTED_LENS,
- [Species.SANDYGAST]: Abilities.SAND_STREAM,
- [Species.PYUKUMUKU]: Abilities.IRON_BARBS,
+ [Species.ORANGURU]: Abilities.POWER_SPOT,
+ [Species.PASSIMIAN]: Abilities.LIBERO,
+ [Species.WIMPOD]: Abilities.REGENERATOR,
+ [Species.SANDYGAST]: Abilities.SAND_SPIT,
+ [Species.PYUKUMUKU]: Abilities.PURIFYING_SALT,
[Species.TYPE_NULL]: Abilities.ADAPTABILITY,
- [Species.MINIOR]: Abilities.ANGER_SHELL,
+ [Species.MINIOR]: Abilities.STURDY,
[Species.KOMALA]: Abilities.GUTS,
- [Species.TURTONATOR]: Abilities.ANGER_SHELL,
- [Species.TOGEDEMARU]: Abilities.STATIC,
+ [Species.TURTONATOR]: Abilities.DAUNTLESS_SHIELD,
+ [Species.TOGEDEMARU]: Abilities.ROUGH_SKIN,
[Species.MIMIKYU]: Abilities.TOUGH_CLAWS,
[Species.BRUXISH]: Abilities.MULTISCALE,
- [Species.DRAMPA]: Abilities.FLASH_FIRE,
- [Species.DHELMISE]: Abilities.INFILTRATOR,
+ [Species.DRAMPA]: Abilities.THICK_FAT,
+ [Species.DHELMISE]: Abilities.WATER_BUBBLE,
[Species.JANGMO_O]: Abilities.PUNK_ROCK,
[Species.TAPU_KOKO]: Abilities.TRANSISTOR,
[Species.TAPU_LELE]: Abilities.SHEER_FORCE,
- [Species.TAPU_BULU]: Abilities.GRASS_PELT,
+ [Species.TAPU_BULU]: Abilities.TRIAGE,
[Species.TAPU_FINI]: Abilities.FAIRY_AURA,
[Species.COSMOG]: Abilities.BEAST_BOOST,
[Species.NIHILEGO]: Abilities.LEVITATE,
@@ -3701,41 +3708,41 @@ export const starterPassiveAbilities = {
[Species.ZERAORA]: Abilities.TOUGH_CLAWS,
[Species.MELTAN]: Abilities.STEELY_SPIRIT,
[Species.GROOKEY]: Abilities.GRASS_PELT,
- [Species.SCORBUNNY]: Abilities.VICTORY_STAR,
+ [Species.SCORBUNNY]: Abilities.NO_GUARD,
[Species.SOBBLE]: Abilities.SUPER_LUCK,
- [Species.SKWOVET]: Abilities.HONEY_GATHER,
+ [Species.SKWOVET]: Abilities.RIPEN,
[Species.ROOKIDEE]: Abilities.IRON_BARBS,
[Species.BLIPBUG]: Abilities.PSYCHIC_SURGE,
- [Species.NICKIT]: Abilities.INTIMIDATE,
+ [Species.NICKIT]: Abilities.MAGICIAN,
[Species.GOSSIFLEUR]: Abilities.GRASSY_SURGE,
- [Species.WOOLOO]: Abilities.ROCK_HEAD,
+ [Species.WOOLOO]: Abilities.SIMPLE,
[Species.CHEWTLE]: Abilities.ROCK_HEAD,
- [Species.YAMPER]: Abilities.STAKEOUT,
- [Species.ROLYCOLY]: Abilities.EARTH_EATER,
+ [Species.YAMPER]: Abilities.SHEER_FORCE,
+ [Species.ROLYCOLY]: Abilities.SOLID_ROCK,
[Species.APPLIN]: Abilities.DRAGONS_MAW,
[Species.SILICOBRA]: Abilities.SAND_RUSH,
- [Species.CRAMORANT]: Abilities.STORM_DRAIN,
- [Species.ARROKUDA]: Abilities.STRONG_JAW,
- [Species.TOXEL]: Abilities.GALVANIZE,
- [Species.SIZZLIPEDE]: Abilities.DEFIANT,
- [Species.CLOBBOPUS]: Abilities.SWIFT_SWIM,
- [Species.SINISTEA]: Abilities.WATER_ABSORB,
- [Species.HATENNA]: Abilities.MAGIC_GUARD,
- [Species.IMPIDIMP]: Abilities.TANGLING_HAIR,
+ [Species.CRAMORANT]: Abilities.LIGHTNING_ROD,
+ [Species.ARROKUDA]: Abilities.INTIMIDATE,
+ [Species.TOXEL]: Abilities.ELECTRIC_SURGE,
+ [Species.SIZZLIPEDE]: Abilities.SPEED_BOOST,
+ [Species.CLOBBOPUS]: Abilities.WATER_BUBBLE,
+ [Species.SINISTEA]: Abilities.SHADOW_SHIELD,
+ [Species.HATENNA]: Abilities.FAIRY_AURA,
+ [Species.IMPIDIMP]: Abilities.FUR_COAT,
[Species.MILCERY]: Abilities.MISTY_SURGE,
- [Species.FALINKS]: Abilities.MOXIE,
- [Species.PINCURCHIN]: Abilities.IRON_BARBS,
+ [Species.FALINKS]: Abilities.PARENTAL_BOND,
+ [Species.PINCURCHIN]: Abilities.ELECTROMORPHOSIS,
[Species.SNOM]: Abilities.SNOW_WARNING,
- [Species.STONJOURNER]: Abilities.SOLID_ROCK,
- [Species.EISCUE]: Abilities.SLUSH_RUSH,
- [Species.INDEEDEE]: Abilities.MAGIC_BOUNCE,
- [Species.MORPEKO]: Abilities.GLUTTONY,
- [Species.CUFANT]: Abilities.HEATPROOF,
- [Species.DRACOZOLT]: Abilities.SLUSH_RUSH,
- [Species.ARCTOZOLT]: Abilities.SAND_RUSH,
- [Species.DRACOVISH]: Abilities.HUSTLE,
- [Species.ARCTOVISH]: Abilities.STRONG_JAW,
- [Species.DURALUDON]: Abilities.DOWNLOAD,
+ [Species.STONJOURNER]: Abilities.STURDY,
+ [Species.EISCUE]: Abilities.ICE_SCALES,
+ [Species.INDEEDEE]: Abilities.FRIEND_GUARD,
+ [Species.MORPEKO]: Abilities.MOODY,
+ [Species.CUFANT]: Abilities.EARTH_EATER,
+ [Species.DRACOZOLT]: Abilities.NO_GUARD,
+ [Species.ARCTOZOLT]: Abilities.SNOW_WARNING,
+ [Species.DRACOVISH]: Abilities.SWIFT_SWIM,
+ [Species.ARCTOVISH]: Abilities.SNOW_WARNING,
+ [Species.DURALUDON]: Abilities.STEELWORKER,
[Species.DREEPY]: Abilities.PARENTAL_BOND,
[Species.ZACIAN]: Abilities.UNNERVE,
[Species.ZAMAZENTA]: Abilities.STAMINA,
@@ -3752,64 +3759,64 @@ export const starterPassiveAbilities = {
[Species.FUECOCO]: Abilities.PUNK_ROCK,
[Species.QUAXLY]: Abilities.DEFIANT,
[Species.LECHONK]: Abilities.SIMPLE,
- [Species.TAROUNTULA]: Abilities.PICKUP,
- [Species.NYMBLE]: Abilities.TECHNICIAN,
- [Species.PAWMI]: Abilities.FLUFFY,
- [Species.TANDEMAUS]: Abilities.PARENTAL_BOND,
+ [Species.TAROUNTULA]: Abilities.HONEY_GATHER,
+ [Species.NYMBLE]: Abilities.GUTS,
+ [Species.PAWMI]: Abilities.TRANSISTOR,
+ [Species.TANDEMAUS]: Abilities.SCRAPPY,
[Species.FIDOUGH]: Abilities.WATER_ABSORB,
[Species.SMOLIV]: Abilities.RIPEN,
- [Species.SQUAWKABILLY]: Abilities.GALE_WINGS,
- [Species.NACLI]: Abilities.EARTH_EATER,
- [Species.CHARCADET]: Abilities.MIRROR_ARMOR,
- [Species.TADBULB]: Abilities.TRANSISTOR,
- [Species.WATTREL]: Abilities.GALE_WINGS,
+ [Species.SQUAWKABILLY]: Abilities.MOXIE,
+ [Species.NACLI]: Abilities.SOLID_ROCK,
+ [Species.CHARCADET]: Abilities.PRISM_ARMOR,
+ [Species.TADBULB]: Abilities.STAMINA,
+ [Species.WATTREL]: Abilities.SHEER_FORCE,
[Species.MASCHIFF]: Abilities.STRONG_JAW,
[Species.SHROODLE]: Abilities.CORROSION,
- [Species.BRAMBLIN]: Abilities.WANDERING_SPIRIT,
+ [Species.BRAMBLIN]: Abilities.SHADOW_SHIELD,
[Species.TOEDSCOOL]: Abilities.PRANKSTER,
[Species.KLAWF]: Abilities.WATER_ABSORB,
[Species.CAPSAKID]: Abilities.PARENTAL_BOND,
- [Species.RELLOR]: Abilities.MAGIC_GUARD,
- [Species.FLITTLE]: Abilities.COMPETITIVE,
- [Species.TINKATINK]: Abilities.HUGE_POWER,
+ [Species.RELLOR]: Abilities.PRANKSTER,
+ [Species.FLITTLE]: Abilities.MAGIC_BOUNCE,
+ [Species.TINKATINK]: Abilities.STEELWORKER,
[Species.WIGLETT]: Abilities.STURDY,
- [Species.BOMBIRDIER]: Abilities.UNAWARE,
+ [Species.BOMBIRDIER]: Abilities.UNBURDEN,
[Species.FINIZEN]: Abilities.IRON_FIST,
- [Species.VAROOM]: Abilities.SPEED_BOOST,
+ [Species.VAROOM]: Abilities.LEVITATE,
[Species.CYCLIZAR]: Abilities.PROTEAN,
- [Species.ORTHWORM]: Abilities.HEATPROOF,
- [Species.GLIMMET]: Abilities.SYMBIOSIS,
+ [Species.ORTHWORM]: Abilities.REGENERATOR,
+ [Species.GLIMMET]: Abilities.LEVITATE,
[Species.GREAVARD]: Abilities.FUR_COAT,
[Species.FLAMIGO]: Abilities.MOXIE,
- [Species.CETODDLE]: Abilities.GLUTTONY,
- [Species.VELUZA]: Abilities.SIMPLE,
- [Species.DONDOZO]: Abilities.GLUTTONY,
- [Species.TATSUGIRI]: Abilities.WATER_BUBBLE,
+ [Species.CETODDLE]: Abilities.ICE_SCALES,
+ [Species.VELUZA]: Abilities.SUPER_LUCK,
+ [Species.DONDOZO]: Abilities.PARENTAL_BOND,
+ [Species.TATSUGIRI]: Abilities.ADAPTABILITY,
[Species.GREAT_TUSK]: Abilities.INTIMIDATE,
[Species.SCREAM_TAIL]: Abilities.UNAWARE,
- [Species.BRUTE_BONNET]: Abilities.BEAST_BOOST,
+ [Species.BRUTE_BONNET]: Abilities.CHLOROPHYLL,
[Species.FLUTTER_MANE]: Abilities.DAZZLING,
[Species.SLITHER_WING]: Abilities.SCRAPPY,
[Species.SANDY_SHOCKS]: Abilities.EARTH_EATER,
[Species.IRON_TREADS]: Abilities.STEELY_SPIRIT,
[Species.IRON_BUNDLE]: Abilities.SNOW_WARNING,
[Species.IRON_HANDS]: Abilities.IRON_FIST,
- [Species.IRON_JUGULIS]: Abilities.AERILATE,
+ [Species.IRON_JUGULIS]: Abilities.LIGHTNING_ROD,
[Species.IRON_MOTH]: Abilities.LEVITATE,
[Species.IRON_THORNS]: Abilities.SAND_STREAM,
[Species.FRIGIBAX]: Abilities.SNOW_WARNING,
- [Species.GIMMIGHOUL]: Abilities.SUPER_LUCK,
- [Species.WO_CHIEN]: Abilities.GRASSY_SURGE,
+ [Species.GIMMIGHOUL]: Abilities.CONTRARY,
+ [Species.WO_CHIEN]: Abilities.VESSEL_OF_RUIN,
[Species.CHIEN_PAO]: Abilities.INTREPID_SWORD,
[Species.TING_LU]: Abilities.STAMINA,
[Species.CHI_YU]: Abilities.DROUGHT,
[Species.ROARING_MOON]: Abilities.TOUGH_CLAWS,
- [Species.IRON_VALIANT]: Abilities.DOWNLOAD,
- [Species.KORAIDON]: Abilities.PROTOSYNTHESIS,
- [Species.MIRAIDON]: Abilities.QUARK_DRIVE,
+ [Species.IRON_VALIANT]: Abilities.ADAPTABILITY,
+ [Species.KORAIDON]: Abilities.OPPORTUNIST,
+ [Species.MIRAIDON]: Abilities.OPPORTUNIST,
[Species.WALKING_WAKE]: Abilities.BEAST_BOOST,
[Species.IRON_LEAVES]: Abilities.SHARPNESS,
- [Species.POLTCHAGEIST]: Abilities.FLAME_BODY,
+ [Species.POLTCHAGEIST]: Abilities.TRIAGE,
[Species.OKIDOGI]: Abilities.FUR_COAT,
[Species.MUNKIDORI]: Abilities.NEUROFORCE,
[Species.FEZANDIPITI]: Abilities.LEVITATE,
@@ -3818,34 +3825,34 @@ export const starterPassiveAbilities = {
[Species.RAGING_BOLT]: Abilities.BEAST_BOOST,
[Species.IRON_BOULDER]: Abilities.SHARPNESS,
[Species.IRON_CROWN]: Abilities.SHARPNESS,
- [Species.TERAPAGOS]: Abilities.REGENERATOR,
+ [Species.TERAPAGOS]: Abilities.SOUL_HEART,
[Species.PECHARUNT]: Abilities.TOXIC_CHAIN,
- [Species.ALOLA_RATTATA]: Abilities.CHEEK_POUCH,
- [Species.ALOLA_SANDSHREW]: Abilities.ICE_BODY,
- [Species.ALOLA_VULPIX]: Abilities.ICE_BODY,
+ [Species.ALOLA_RATTATA]: Abilities.STRONG_JAW,
+ [Species.ALOLA_SANDSHREW]: Abilities.TOUGH_CLAWS,
+ [Species.ALOLA_VULPIX]: Abilities.SHEER_FORCE,
[Species.ALOLA_DIGLETT]: Abilities.STURDY,
- [Species.ALOLA_MEOWTH]: Abilities.UNNERVE,
- [Species.ALOLA_GEODUDE]: Abilities.ELECTROMORPHOSIS,
- [Species.ALOLA_GRIMER]: Abilities.MERCILESS,
+ [Species.ALOLA_MEOWTH]: Abilities.DARK_AURA,
+ [Species.ALOLA_GEODUDE]: Abilities.DRY_SKIN,
+ [Species.ALOLA_GRIMER]: Abilities.TOXIC_DEBRIS,
[Species.ETERNAL_FLOETTE]: Abilities.MAGIC_GUARD,
- [Species.GALAR_MEOWTH]: Abilities.SUPER_LUCK,
+ [Species.GALAR_MEOWTH]: Abilities.STEELWORKER,
[Species.GALAR_PONYTA]: Abilities.PIXILATE,
- [Species.GALAR_SLOWPOKE]: Abilities.POISON_TOUCH,
- [Species.GALAR_FARFETCHD]: Abilities.SUPER_LUCK,
+ [Species.GALAR_SLOWPOKE]: Abilities.UNAWARE,
+ [Species.GALAR_FARFETCHD]: Abilities.INTREPID_SWORD,
[Species.GALAR_ARTICUNO]: Abilities.SERENE_GRACE,
[Species.GALAR_ZAPDOS]: Abilities.TOUGH_CLAWS,
[Species.GALAR_MOLTRES]: Abilities.DARK_AURA,
- [Species.GALAR_CORSOLA]: Abilities.SHADOW_TAG,
- [Species.GALAR_ZIGZAGOON]: Abilities.PICKPOCKET,
+ [Species.GALAR_CORSOLA]: Abilities.SHADOW_SHIELD,
+ [Species.GALAR_ZIGZAGOON]: Abilities.POISON_HEAL,
[Species.GALAR_DARUMAKA]: Abilities.FLASH_FIRE,
- [Species.GALAR_YAMASK]: Abilities.SOLID_ROCK,
- [Species.GALAR_STUNFISK]: Abilities.IRON_BARBS,
- [Species.HISUI_GROWLITHE]: Abilities.STRONG_JAW,
- [Species.HISUI_VOLTORB]: Abilities.HADRON_ENGINE,
+ [Species.GALAR_YAMASK]: Abilities.TABLETS_OF_RUIN,
+ [Species.GALAR_STUNFISK]: Abilities.ARENA_TRAP,
+ [Species.HISUI_GROWLITHE]: Abilities.RECKLESS,
+ [Species.HISUI_VOLTORB]: Abilities.ELECTRIC_SURGE,
[Species.HISUI_QWILFISH]: Abilities.MERCILESS,
[Species.HISUI_SNEASEL]: Abilities.SCRAPPY,
[Species.HISUI_ZORUA]: Abilities.ADAPTABILITY,
- [Species.PALDEA_TAUROS]: Abilities.RATTLED,
+ [Species.PALDEA_TAUROS]: Abilities.ADAPTABILITY,
[Species.PALDEA_WOOPER]: Abilities.THICK_FAT,
[Species.BLOODMOON_URSALUNA]: Abilities.BERSERK
};
diff --git a/src/data/pokemon-stat.ts b/src/data/pokemon-stat.ts
index c1faee0e177..a6bf77b1daa 100644
--- a/src/data/pokemon-stat.ts
+++ b/src/data/pokemon-stat.ts
@@ -1,4 +1,4 @@
-import i18next from "../plugins/i18n";
+import i18next from "i18next";
export enum Stat {
HP = 0,
diff --git a/src/data/splash-messages.ts b/src/data/splash-messages.ts
index 1732d215ef5..bd64456c993 100644
--- a/src/data/splash-messages.ts
+++ b/src/data/splash-messages.ts
@@ -1,4 +1,4 @@
-import i18next from "../plugins/i18n";
+import i18next from "i18next";
export function getBattleCountSplashMessage(): string {
return `{COUNT} ${i18next.t("splashMessages:battlesWon")}`;
diff --git a/src/data/status-effect.ts b/src/data/status-effect.ts
index 810bd4d9482..5949fb2f130 100644
--- a/src/data/status-effect.ts
+++ b/src/data/status-effect.ts
@@ -1,4 +1,5 @@
import * as Utils from "../utils";
+import i18next, { ParseKeys } from "i18next";
export enum StatusEffect {
NONE,
@@ -31,94 +32,52 @@ export class Status {
}
}
-export function getStatusEffectObtainText(statusEffect: StatusEffect, sourceText?: string): string {
- const sourceClause = sourceText ? ` ${statusEffect !== StatusEffect.SLEEP ? "by" : "from"} ${sourceText}` : "";
+function getStatusEffectMessageKey(statusEffect: StatusEffect): string {
switch (statusEffect) {
case StatusEffect.POISON:
- return `\nwas poisoned${sourceClause}!`;
+ return "statusEffect:poison";
case StatusEffect.TOXIC:
- return `\nwas badly poisoned${sourceClause}!`;
+ return "statusEffect:toxic";
case StatusEffect.PARALYSIS:
- return ` was paralyzed${sourceClause}!\nIt may be unable to move!`;
+ return "statusEffect:paralysis";
case StatusEffect.SLEEP:
- return `\nfell asleep${sourceClause}!`;
+ return "statusEffect:sleep";
case StatusEffect.FREEZE:
- return `\nwas frozen solid${sourceClause}!`;
+ return "statusEffect:freeze";
case StatusEffect.BURN:
- return `\nwas burned${sourceClause}!`;
+ return "statusEffect:burn";
+ default:
+ return "statusEffect:none";
}
-
- return "";
}
-export function getStatusEffectActivationText(statusEffect: StatusEffect): string {
- switch (statusEffect) {
- case StatusEffect.POISON:
- case StatusEffect.TOXIC:
- return " is hurt\nby poison!";
- case StatusEffect.PARALYSIS:
- return " is paralyzed!\nIt can't move!";
- case StatusEffect.SLEEP:
- return " is fast asleep.";
- case StatusEffect.FREEZE:
- return " is\nfrozen solid!";
- case StatusEffect.BURN:
- return " is hurt\nby its burn!";
+export function getStatusEffectObtainText(statusEffect: StatusEffect, pokemonNameWithAffix: string, sourceText?: string): string {
+ if (!sourceText) {
+ const i18nKey = `${getStatusEffectMessageKey(statusEffect)}.obtain`as ParseKeys;
+ return i18next.t(i18nKey, { pokemonNameWithAffix: pokemonNameWithAffix });
}
-
- return "";
+ const i18nKey = `${getStatusEffectMessageKey(statusEffect)}.obtainSource`as ParseKeys;
+ return i18next.t(i18nKey, { pokemonNameWithAffix: pokemonNameWithAffix, sourceText: sourceText });
}
-export function getStatusEffectOverlapText(statusEffect: StatusEffect): string {
- switch (statusEffect) {
- case StatusEffect.POISON:
- case StatusEffect.TOXIC:
- return " is\nalready poisoned!";
- case StatusEffect.PARALYSIS:
- return " is\nalready paralyzed!";
- case StatusEffect.SLEEP:
- return " is\nalready asleep!";
- case StatusEffect.FREEZE:
- return " is\nalready frozen!";
- case StatusEffect.BURN:
- return " is\nalready burned!";
- }
-
- return "";
+export function getStatusEffectActivationText(statusEffect: StatusEffect, pokemonNameWithAffix: string): string {
+ const i18nKey = `${getStatusEffectMessageKey(statusEffect)}.activation` as ParseKeys;
+ return i18next.t(i18nKey, { pokemonNameWithAffix: pokemonNameWithAffix });
}
-export function getStatusEffectHealText(statusEffect: StatusEffect): string {
- switch (statusEffect) {
- case StatusEffect.POISON:
- case StatusEffect.TOXIC:
- return " was\ncured of its poison!";
- case StatusEffect.PARALYSIS:
- return " was\nhealed of paralysis!";
- case StatusEffect.SLEEP:
- return " woke up!";
- case StatusEffect.FREEZE:
- return " was\ndefrosted!";
- case StatusEffect.BURN:
- return " was\nhealed of its burn!";
- }
+export function getStatusEffectOverlapText(statusEffect: StatusEffect, pokemonNameWithAffix: string): string {
+ const i18nKey = `${getStatusEffectMessageKey(statusEffect)}.overlap` as ParseKeys;
+ return i18next.t(i18nKey, { pokemonNameWithAffix: pokemonNameWithAffix });
+}
- return "";
+export function getStatusEffectHealText(statusEffect: StatusEffect, pokemonNameWithAffix: string): string {
+ const i18nKey = `${getStatusEffectMessageKey(statusEffect)}.heal` as ParseKeys;
+ return i18next.t(i18nKey, { pokemonNameWithAffix: pokemonNameWithAffix });
}
export function getStatusEffectDescriptor(statusEffect: StatusEffect): string {
- switch (statusEffect) {
- case StatusEffect.POISON:
- case StatusEffect.TOXIC:
- return "poisoning";
- case StatusEffect.PARALYSIS:
- return "paralysis";
- case StatusEffect.SLEEP:
- return "sleep";
- case StatusEffect.FREEZE:
- return "freezing";
- case StatusEffect.BURN:
- return "burn";
- }
+ const i18nKey = `${getStatusEffectMessageKey(statusEffect)}.description` as ParseKeys;
+ return i18next.t(i18nKey);
}
export function getStatusEffectCatchRateMultiplier(statusEffect: StatusEffect): number {
diff --git a/src/data/temp-battle-stat.ts b/src/data/temp-battle-stat.ts
index 35653bfd75a..2d461a1d647 100644
--- a/src/data/temp-battle-stat.ts
+++ b/src/data/temp-battle-stat.ts
@@ -1,4 +1,5 @@
import { BattleStat, getBattleStatName } from "./battle-stat";
+import i18next from "i18next";
export enum TempBattleStat {
ATK,
@@ -12,7 +13,7 @@ export enum TempBattleStat {
export function getTempBattleStatName(tempBattleStat: TempBattleStat) {
if (tempBattleStat === TempBattleStat.CRIT) {
- return "critical-hit ratio";
+ return i18next.t("modifierType:TempBattleStatBoosterStatName.CRIT");
}
return getBattleStatName(tempBattleStat as integer as BattleStat);
}
diff --git a/src/data/terrain.ts b/src/data/terrain.ts
index e396c693c4e..f7324c28b93 100644
--- a/src/data/terrain.ts
+++ b/src/data/terrain.ts
@@ -5,6 +5,7 @@ import * as Utils from "../utils";
import { IncrementMovePriorityAbAttr, applyAbAttrs } from "./ability";
import { ProtectAttr } from "./move";
import { BattlerIndex } from "#app/battle.js";
+import i18next from "i18next";
export enum TerrainType {
NONE,
@@ -67,6 +68,22 @@ export class Terrain {
}
}
+export function getTerrainName(terrainType: TerrainType): string {
+ switch (terrainType) {
+ case TerrainType.MISTY:
+ return i18next.t("terrain:misty");
+ case TerrainType.ELECTRIC:
+ return i18next.t("terrain:electric");
+ case TerrainType.GRASSY:
+ return i18next.t("terrain:grassy");
+ case TerrainType.PSYCHIC:
+ return i18next.t("terrain:psychic");
+ }
+
+ return "";
+}
+
+
export function getTerrainColor(terrainType: TerrainType): [ integer, integer, integer ] {
switch (terrainType) {
case TerrainType.MISTY:
diff --git a/src/data/tms.ts b/src/data/tms.ts
index dfde4ef948e..0a13cef4ee8 100644
--- a/src/data/tms.ts
+++ b/src/data/tms.ts
@@ -1,6 +1,6 @@
import { ModifierTier } from "../modifier/modifier-tier";
-import { Moves } from "./enums/moves";
-import { Species } from "./enums/species";
+import { Moves } from "#enums/moves";
+import { Species } from "#enums/species";
interface TmSpecies {
[key: integer]: Array>
@@ -4258,6 +4258,8 @@ export const tmSpecies: TmSpecies = {
Species.DEWOTT,
Species.SAMUROTT,
Species.PANPOUR,
+ Species.DRILBUR,
+ Species.EXCADRILL,
Species.TYMPOLE,
Species.PALPITOAD,
Species.SEISMITOAD,
@@ -11023,12 +11025,222 @@ export const tmSpecies: TmSpecies = {
Species.NAGANADEL,
Species.BLACEPHALON,
Species.ZERAORA,
+ Species.MELTAN,
+ Species.MELMETAL,
+ Species.GROOKEY,
+ Species.THWACKEY,
+ Species.RILLABOOM,
+ Species.SCORBUNNY,
+ Species.RABOOT,
+ Species.CINDERACE,
Species.SOBBLE,
+ Species.DRIZZILE,
+ Species.INTELEON,
+ Species.SKWOVET,
+ Species.GREEDENT,
+ Species.ROOKIDEE,
+ Species.CORVISQUIRE,
+ Species.CORVIKNIGHT,
+ Species.DOTTLER,
+ Species.ORBEETLE,
+ Species.NICKIT,
+ Species.THIEVUL,
+ Species.GOSSIFLEUR,
+ Species.ELDEGOSS,
+ Species.WOOLOO,
+ Species.DUBWOOL,
+ Species.CHEWTLE,
+ Species.DREDNAW,
+ Species.YAMPER,
+ Species.BOLTUND,
+ Species.ROLYCOLY,
+ Species.CARKOL,
+ Species.COALOSSAL,
+ Species.FLAPPLE,
+ Species.APPLETUN,
+ Species.SILICOBRA,
+ Species.SANDACONDA,
+ Species.CRAMORANT,
+ Species.ARROKUDA,
+ Species.BARRASKEWDA,
+ Species.TOXEL,
+ Species.TOXTRICITY,
+ Species.SIZZLIPEDE,
+ Species.CENTISKORCH,
+ Species.CLOBBOPUS,
+ Species.GRAPPLOCT,
+ Species.SINISTEA,
+ Species.POLTEAGEIST,
+ Species.HATENNA,
+ Species.HATTREM,
+ Species.HATTERENE,
+ Species.IMPIDIMP,
+ Species.MORGREM,
+ Species.GRIMMSNARL,
+ Species.OBSTAGOON,
+ Species.PERRSERKER,
+ Species.CURSOLA,
+ Species.SIRFETCHD,
+ Species.MR_RIME,
+ Species.RUNERIGUS,
+ Species.MILCERY,
+ Species.ALCREMIE,
+ Species.FALINKS,
+ Species.PINCURCHIN,
+ Species.SNOM,
+ Species.FROSMOTH,
+ Species.STONJOURNER,
+ Species.EISCUE,
+ Species.INDEEDEE,
+ Species.MORPEKO,
+ Species.CUFANT,
+ Species.COPPERAJAH,
+ Species.DRACOZOLT,
+ Species.ARCTOZOLT,
+ Species.DRACOVISH,
+ Species.ARCTOVISH,
+ Species.DURALUDON,
Species.DREEPY,
+ Species.DRAKLOAK,
+ Species.DRAGAPULT,
+ Species.ZACIAN,
+ Species.ZAMAZENTA,
+ Species.ETERNATUS,
+ Species.KUBFU,
+ Species.URSHIFU,
+ Species.ZARUDE,
+ Species.REGIELEKI,
+ Species.REGIDRAGO,
+ Species.GLASTRIER,
+ Species.SPECTRIER,
+ Species.CALYREX,
+ Species.WYRDEER,
Species.KLEAVOR,
+ Species.URSALUNA,
+ Species.BASCULEGION,
+ Species.SNEASLER,
+ Species.OVERQWIL,
+ Species.ENAMORUS,
+ Species.SPRIGATITO,
+ Species.FLORAGATO,
Species.MEOWSCARADA,
+ Species.FUECOCO,
+ Species.CROCALOR,
+ Species.SKELEDIRGE,
+ Species.QUAXLY,
+ Species.QUAXWELL,
+ Species.QUAQUAVAL,
+ Species.LECHONK,
+ Species.OINKOLOGNE,
+ Species.TAROUNTULA,
+ Species.SPIDOPS,
+ Species.NYMBLE,
+ Species.LOKIX,
+ Species.PAWMI,
+ Species.PAWMO,
+ Species.PAWMOT,
+ Species.TANDEMAUS,
+ Species.MAUSHOLD,
+ Species.FIDOUGH,
+ Species.DACHSBUN,
+ Species.SMOLIV,
+ Species.DOLLIV,
+ Species.ARBOLIVA,
+ Species.SQUAWKABILLY,
+ Species.NACLI,
+ Species.NACLSTACK,
+ Species.GARGANACL,
+ Species.CHARCADET,
+ Species.ARMAROUGE,
+ Species.CERULEDGE,
+ Species.TADBULB,
+ Species.BELLIBOLT,
+ Species.WATTREL,
+ Species.KILOWATTREL,
+ Species.MASCHIFF,
+ Species.MABOSSTIFF,
+ Species.SHROODLE,
+ Species.GRAFAIAI,
+ Species.BRAMBLIN,
+ Species.BRAMBLEGHAST,
+ Species.TOEDSCOOL,
+ Species.TOEDSCRUEL,
+ Species.KLAWF,
+ Species.CAPSAKID,
+ Species.SCOVILLAIN,
+ Species.RELLOR,
+ Species.RABSCA,
+ Species.FLITTLE,
+ Species.ESPATHRA,
+ Species.TINKATINK,
+ Species.TINKATUFF,
+ Species.TINKATON,
+ Species.WIGLETT,
+ Species.WUGTRIO,
+ Species.BOMBIRDIER,
+ Species.FINIZEN,
+ Species.PALAFIN,
+ Species.VAROOM,
+ Species.REVAVROOM,
+ Species.CYCLIZAR,
+ Species.ORTHWORM,
+ Species.GLIMMET,
+ Species.GLIMMORA,
+ Species.GREAVARD,
+ Species.HOUNDSTONE,
Species.FLAMIGO,
+ Species.CETODDLE,
+ Species.CETITAN,
+ Species.VELUZA,
+ Species.DONDOZO,
+ Species.TATSUGIRI,
+ Species.ANNIHILAPE,
+ Species.CLODSIRE,
+ Species.FARIGIRAF,
+ Species.DUDUNSPARCE,
+ Species.KINGAMBIT,
+ Species.GREAT_TUSK,
+ Species.SCREAM_TAIL,
+ Species.BRUTE_BONNET,
+ Species.FLUTTER_MANE,
+ Species.SLITHER_WING,
+ Species.SANDY_SHOCKS,
+ Species.IRON_TREADS,
+ Species.IRON_BUNDLE,
+ Species.IRON_HANDS,
+ Species.IRON_JUGULIS,
+ Species.IRON_MOTH,
+ Species.IRON_THORNS,
+ Species.FRIGIBAX,
+ Species.ARCTIBAX,
+ Species.BAXCALIBUR,
+ Species.GIMMIGHOUL,
+ Species.GHOLDENGO,
+ Species.WO_CHIEN,
+ Species.CHIEN_PAO,
+ Species.TING_LU,
+ Species.CHI_YU,
+ Species.ROARING_MOON,
Species.IRON_VALIANT,
+ Species.KORAIDON,
+ Species.MIRAIDON,
+ Species.WALKING_WAKE,
+ Species.IRON_LEAVES,
+ Species.DIPPLIN,
+ Species.POLTCHAGEIST,
+ Species.SINISTCHA,
+ Species.OKIDOGI,
+ Species.MUNKIDORI,
+ Species.FEZANDIPITI,
+ Species.OGERPON,
+ Species.ARCHALUDON,
+ Species.HYDRAPPLE,
+ Species.GOUGING_FIRE,
+ Species.RAGING_BOLT,
+ Species.IRON_BOULDER,
+ Species.IRON_CROWN,
+ Species.TERAPAGOS,
+ Species.PECHARUNT,
Species.ALOLA_RATTATA,
Species.ALOLA_RATICATE,
Species.ALOLA_RAICHU,
@@ -11048,7 +11260,44 @@ export const tmSpecies: TmSpecies = {
Species.ALOLA_EXEGGUTOR,
Species.ALOLA_MAROWAK,
Species.ETERNAL_FLOETTE,
+ Species.GALAR_MEOWTH,
+ Species.GALAR_PONYTA,
+ Species.GALAR_RAPIDASH,
+ Species.GALAR_SLOWPOKE,
+ Species.GALAR_SLOWBRO,
+ Species.GALAR_FARFETCHD,
+ Species.GALAR_WEEZING,
+ Species.GALAR_MR_MIME,
Species.GALAR_ARTICUNO,
+ Species.GALAR_ZAPDOS,
+ Species.GALAR_MOLTRES,
+ Species.GALAR_SLOWKING,
+ Species.GALAR_CORSOLA,
+ Species.GALAR_ZIGZAGOON,
+ Species.GALAR_LINOONE,
+ Species.GALAR_DARUMAKA,
+ Species.GALAR_DARMANITAN,
+ Species.GALAR_YAMASK,
+ Species.GALAR_STUNFISK,
+ Species.HISUI_GROWLITHE,
+ Species.HISUI_ARCANINE,
+ Species.HISUI_VOLTORB,
+ Species.HISUI_ELECTRODE,
+ Species.HISUI_TYPHLOSION,
+ Species.HISUI_QWILFISH,
+ Species.HISUI_SNEASEL,
+ Species.HISUI_SAMUROTT,
+ Species.HISUI_LILLIGANT,
+ Species.HISUI_ZORUA,
+ Species.HISUI_ZOROARK,
+ Species.HISUI_BRAVIARY,
+ Species.HISUI_SLIGGOO,
+ Species.HISUI_GOODRA,
+ Species.HISUI_AVALUGG,
+ Species.HISUI_DECIDUEYE,
+ Species.PALDEA_TAUROS,
+ Species.PALDEA_WOOPER,
+ Species.BLOODMOON_URSALUNA,
],
[Moves.CONFUSE_RAY]: [
Species.VULPIX,
@@ -27226,6 +27475,222 @@ export const tmSpecies: TmSpecies = {
Species.STAKATAKA,
Species.BLACEPHALON,
Species.ZERAORA,
+ Species.MELTAN,
+ Species.MELMETAL,
+ Species.GROOKEY,
+ Species.THWACKEY,
+ Species.RILLABOOM,
+ Species.SCORBUNNY,
+ Species.RABOOT,
+ Species.CINDERACE,
+ Species.SOBBLE,
+ Species.DRIZZILE,
+ Species.INTELEON,
+ Species.SKWOVET,
+ Species.GREEDENT,
+ Species.ROOKIDEE,
+ Species.CORVISQUIRE,
+ Species.CORVIKNIGHT,
+ Species.DOTTLER,
+ Species.ORBEETLE,
+ Species.NICKIT,
+ Species.THIEVUL,
+ Species.GOSSIFLEUR,
+ Species.ELDEGOSS,
+ Species.WOOLOO,
+ Species.DUBWOOL,
+ Species.CHEWTLE,
+ Species.DREDNAW,
+ Species.YAMPER,
+ Species.BOLTUND,
+ Species.ROLYCOLY,
+ Species.CARKOL,
+ Species.COALOSSAL,
+ Species.FLAPPLE,
+ Species.APPLETUN,
+ Species.SILICOBRA,
+ Species.SANDACONDA,
+ Species.CRAMORANT,
+ Species.ARROKUDA,
+ Species.BARRASKEWDA,
+ Species.TOXEL,
+ Species.TOXTRICITY,
+ Species.SIZZLIPEDE,
+ Species.CENTISKORCH,
+ Species.CLOBBOPUS,
+ Species.GRAPPLOCT,
+ Species.SINISTEA,
+ Species.POLTEAGEIST,
+ Species.HATENNA,
+ Species.HATTREM,
+ Species.HATTERENE,
+ Species.IMPIDIMP,
+ Species.MORGREM,
+ Species.GRIMMSNARL,
+ Species.OBSTAGOON,
+ Species.PERRSERKER,
+ Species.CURSOLA,
+ Species.SIRFETCHD,
+ Species.MR_RIME,
+ Species.RUNERIGUS,
+ Species.MILCERY,
+ Species.ALCREMIE,
+ Species.FALINKS,
+ Species.PINCURCHIN,
+ Species.SNOM,
+ Species.FROSMOTH,
+ Species.STONJOURNER,
+ Species.EISCUE,
+ Species.INDEEDEE,
+ Species.MORPEKO,
+ Species.CUFANT,
+ Species.COPPERAJAH,
+ Species.DRACOZOLT,
+ Species.ARCTOZOLT,
+ Species.DRACOVISH,
+ Species.ARCTOVISH,
+ Species.DURALUDON,
+ Species.DREEPY,
+ Species.DRAKLOAK,
+ Species.DRAGAPULT,
+ Species.ZACIAN,
+ Species.ZAMAZENTA,
+ Species.ETERNATUS,
+ Species.KUBFU,
+ Species.URSHIFU,
+ Species.ZARUDE,
+ Species.REGIELEKI,
+ Species.REGIDRAGO,
+ Species.GLASTRIER,
+ Species.SPECTRIER,
+ Species.CALYREX,
+ Species.WYRDEER,
+ Species.KLEAVOR,
+ Species.URSALUNA,
+ Species.BASCULEGION,
+ Species.SNEASLER,
+ Species.OVERQWIL,
+ Species.ENAMORUS,
+ Species.SPRIGATITO,
+ Species.FLORAGATO,
+ Species.MEOWSCARADA,
+ Species.FUECOCO,
+ Species.CROCALOR,
+ Species.SKELEDIRGE,
+ Species.QUAXLY,
+ Species.QUAXWELL,
+ Species.QUAQUAVAL,
+ Species.LECHONK,
+ Species.OINKOLOGNE,
+ Species.TAROUNTULA,
+ Species.SPIDOPS,
+ Species.NYMBLE,
+ Species.LOKIX,
+ Species.PAWMI,
+ Species.PAWMO,
+ Species.PAWMOT,
+ Species.TANDEMAUS,
+ Species.MAUSHOLD,
+ Species.FIDOUGH,
+ Species.DACHSBUN,
+ Species.SMOLIV,
+ Species.DOLLIV,
+ Species.ARBOLIVA,
+ Species.SQUAWKABILLY,
+ Species.NACLI,
+ Species.NACLSTACK,
+ Species.GARGANACL,
+ Species.CHARCADET,
+ Species.ARMAROUGE,
+ Species.CERULEDGE,
+ Species.TADBULB,
+ Species.BELLIBOLT,
+ Species.WATTREL,
+ Species.KILOWATTREL,
+ Species.MASCHIFF,
+ Species.MABOSSTIFF,
+ Species.SHROODLE,
+ Species.GRAFAIAI,
+ Species.BRAMBLIN,
+ Species.BRAMBLEGHAST,
+ Species.TOEDSCOOL,
+ Species.TOEDSCRUEL,
+ Species.KLAWF,
+ Species.CAPSAKID,
+ Species.SCOVILLAIN,
+ Species.RELLOR,
+ Species.RABSCA,
+ Species.FLITTLE,
+ Species.ESPATHRA,
+ Species.TINKATINK,
+ Species.TINKATUFF,
+ Species.TINKATON,
+ Species.WIGLETT,
+ Species.WUGTRIO,
+ Species.BOMBIRDIER,
+ Species.FINIZEN,
+ Species.PALAFIN,
+ Species.VAROOM,
+ Species.REVAVROOM,
+ Species.CYCLIZAR,
+ Species.ORTHWORM,
+ Species.GLIMMET,
+ Species.GLIMMORA,
+ Species.GREAVARD,
+ Species.HOUNDSTONE,
+ Species.FLAMIGO,
+ Species.CETODDLE,
+ Species.CETITAN,
+ Species.VELUZA,
+ Species.DONDOZO,
+ Species.TATSUGIRI,
+ Species.ANNIHILAPE,
+ Species.CLODSIRE,
+ Species.FARIGIRAF,
+ Species.DUDUNSPARCE,
+ Species.KINGAMBIT,
+ Species.GREAT_TUSK,
+ Species.SCREAM_TAIL,
+ Species.BRUTE_BONNET,
+ Species.FLUTTER_MANE,
+ Species.SLITHER_WING,
+ Species.SANDY_SHOCKS,
+ Species.IRON_TREADS,
+ Species.IRON_BUNDLE,
+ Species.IRON_HANDS,
+ Species.IRON_JUGULIS,
+ Species.IRON_MOTH,
+ Species.IRON_THORNS,
+ Species.FRIGIBAX,
+ Species.ARCTIBAX,
+ Species.BAXCALIBUR,
+ Species.GIMMIGHOUL,
+ Species.GHOLDENGO,
+ Species.WO_CHIEN,
+ Species.CHIEN_PAO,
+ Species.TING_LU,
+ Species.CHI_YU,
+ Species.ROARING_MOON,
+ Species.IRON_VALIANT,
+ Species.KORAIDON,
+ Species.MIRAIDON,
+ Species.WALKING_WAKE,
+ Species.IRON_LEAVES,
+ Species.DIPPLIN,
+ Species.POLTCHAGEIST,
+ Species.SINISTCHA,
+ Species.OKIDOGI,
+ Species.MUNKIDORI,
+ Species.FEZANDIPITI,
+ Species.OGERPON,
+ Species.ARCHALUDON,
+ Species.HYDRAPPLE,
+ Species.GOUGING_FIRE,
+ Species.RAGING_BOLT,
+ Species.IRON_BOULDER,
+ Species.IRON_CROWN,
+ Species.TERAPAGOS,
+ Species.PECHARUNT,
Species.ALOLA_RATTATA,
Species.ALOLA_RATICATE,
Species.ALOLA_RAICHU,
@@ -27245,6 +27710,44 @@ export const tmSpecies: TmSpecies = {
Species.ALOLA_EXEGGUTOR,
Species.ALOLA_MAROWAK,
Species.ETERNAL_FLOETTE,
+ Species.GALAR_MEOWTH,
+ Species.GALAR_PONYTA,
+ Species.GALAR_RAPIDASH,
+ Species.GALAR_SLOWPOKE,
+ Species.GALAR_SLOWBRO,
+ Species.GALAR_FARFETCHD,
+ Species.GALAR_WEEZING,
+ Species.GALAR_MR_MIME,
+ Species.GALAR_ARTICUNO,
+ Species.GALAR_ZAPDOS,
+ Species.GALAR_MOLTRES,
+ Species.GALAR_SLOWKING,
+ Species.GALAR_CORSOLA,
+ Species.GALAR_ZIGZAGOON,
+ Species.GALAR_LINOONE,
+ Species.GALAR_DARUMAKA,
+ Species.GALAR_DARMANITAN,
+ Species.GALAR_YAMASK,
+ Species.GALAR_STUNFISK,
+ Species.HISUI_GROWLITHE,
+ Species.HISUI_ARCANINE,
+ Species.HISUI_VOLTORB,
+ Species.HISUI_ELECTRODE,
+ Species.HISUI_TYPHLOSION,
+ Species.HISUI_QWILFISH,
+ Species.HISUI_SNEASEL,
+ Species.HISUI_SAMUROTT,
+ Species.HISUI_LILLIGANT,
+ Species.HISUI_ZORUA,
+ Species.HISUI_ZOROARK,
+ Species.HISUI_BRAVIARY,
+ Species.HISUI_SLIGGOO,
+ Species.HISUI_GOODRA,
+ Species.HISUI_AVALUGG,
+ Species.HISUI_DECIDUEYE,
+ Species.PALDEA_TAUROS,
+ Species.PALDEA_WOOPER,
+ Species.BLOODMOON_URSALUNA,
],
[Moves.FRUSTRATION]: [
Species.BULBASAUR,
@@ -28038,6 +28541,222 @@ export const tmSpecies: TmSpecies = {
Species.STAKATAKA,
Species.BLACEPHALON,
Species.ZERAORA,
+ Species.MELTAN,
+ Species.MELMETAL,
+ Species.GROOKEY,
+ Species.THWACKEY,
+ Species.RILLABOOM,
+ Species.SCORBUNNY,
+ Species.RABOOT,
+ Species.CINDERACE,
+ Species.SOBBLE,
+ Species.DRIZZILE,
+ Species.INTELEON,
+ Species.SKWOVET,
+ Species.GREEDENT,
+ Species.ROOKIDEE,
+ Species.CORVISQUIRE,
+ Species.CORVIKNIGHT,
+ Species.DOTTLER,
+ Species.ORBEETLE,
+ Species.NICKIT,
+ Species.THIEVUL,
+ Species.GOSSIFLEUR,
+ Species.ELDEGOSS,
+ Species.WOOLOO,
+ Species.DUBWOOL,
+ Species.CHEWTLE,
+ Species.DREDNAW,
+ Species.YAMPER,
+ Species.BOLTUND,
+ Species.ROLYCOLY,
+ Species.CARKOL,
+ Species.COALOSSAL,
+ Species.FLAPPLE,
+ Species.APPLETUN,
+ Species.SILICOBRA,
+ Species.SANDACONDA,
+ Species.CRAMORANT,
+ Species.ARROKUDA,
+ Species.BARRASKEWDA,
+ Species.TOXEL,
+ Species.TOXTRICITY,
+ Species.SIZZLIPEDE,
+ Species.CENTISKORCH,
+ Species.CLOBBOPUS,
+ Species.GRAPPLOCT,
+ Species.SINISTEA,
+ Species.POLTEAGEIST,
+ Species.HATENNA,
+ Species.HATTREM,
+ Species.HATTERENE,
+ Species.IMPIDIMP,
+ Species.MORGREM,
+ Species.GRIMMSNARL,
+ Species.OBSTAGOON,
+ Species.PERRSERKER,
+ Species.CURSOLA,
+ Species.SIRFETCHD,
+ Species.MR_RIME,
+ Species.RUNERIGUS,
+ Species.MILCERY,
+ Species.ALCREMIE,
+ Species.FALINKS,
+ Species.PINCURCHIN,
+ Species.SNOM,
+ Species.FROSMOTH,
+ Species.STONJOURNER,
+ Species.EISCUE,
+ Species.INDEEDEE,
+ Species.MORPEKO,
+ Species.CUFANT,
+ Species.COPPERAJAH,
+ Species.DRACOZOLT,
+ Species.ARCTOZOLT,
+ Species.DRACOVISH,
+ Species.ARCTOVISH,
+ Species.DURALUDON,
+ Species.DREEPY,
+ Species.DRAKLOAK,
+ Species.DRAGAPULT,
+ Species.ZACIAN,
+ Species.ZAMAZENTA,
+ Species.ETERNATUS,
+ Species.KUBFU,
+ Species.URSHIFU,
+ Species.ZARUDE,
+ Species.REGIELEKI,
+ Species.REGIDRAGO,
+ Species.GLASTRIER,
+ Species.SPECTRIER,
+ Species.CALYREX,
+ Species.WYRDEER,
+ Species.KLEAVOR,
+ Species.URSALUNA,
+ Species.BASCULEGION,
+ Species.SNEASLER,
+ Species.OVERQWIL,
+ Species.ENAMORUS,
+ Species.SPRIGATITO,
+ Species.FLORAGATO,
+ Species.MEOWSCARADA,
+ Species.FUECOCO,
+ Species.CROCALOR,
+ Species.SKELEDIRGE,
+ Species.QUAXLY,
+ Species.QUAXWELL,
+ Species.QUAQUAVAL,
+ Species.LECHONK,
+ Species.OINKOLOGNE,
+ Species.TAROUNTULA,
+ Species.SPIDOPS,
+ Species.NYMBLE,
+ Species.LOKIX,
+ Species.PAWMI,
+ Species.PAWMO,
+ Species.PAWMOT,
+ Species.TANDEMAUS,
+ Species.MAUSHOLD,
+ Species.FIDOUGH,
+ Species.DACHSBUN,
+ Species.SMOLIV,
+ Species.DOLLIV,
+ Species.ARBOLIVA,
+ Species.SQUAWKABILLY,
+ Species.NACLI,
+ Species.NACLSTACK,
+ Species.GARGANACL,
+ Species.CHARCADET,
+ Species.ARMAROUGE,
+ Species.CERULEDGE,
+ Species.TADBULB,
+ Species.BELLIBOLT,
+ Species.WATTREL,
+ Species.KILOWATTREL,
+ Species.MASCHIFF,
+ Species.MABOSSTIFF,
+ Species.SHROODLE,
+ Species.GRAFAIAI,
+ Species.BRAMBLIN,
+ Species.BRAMBLEGHAST,
+ Species.TOEDSCOOL,
+ Species.TOEDSCRUEL,
+ Species.KLAWF,
+ Species.CAPSAKID,
+ Species.SCOVILLAIN,
+ Species.RELLOR,
+ Species.RABSCA,
+ Species.FLITTLE,
+ Species.ESPATHRA,
+ Species.TINKATINK,
+ Species.TINKATUFF,
+ Species.TINKATON,
+ Species.WIGLETT,
+ Species.WUGTRIO,
+ Species.BOMBIRDIER,
+ Species.FINIZEN,
+ Species.PALAFIN,
+ Species.VAROOM,
+ Species.REVAVROOM,
+ Species.CYCLIZAR,
+ Species.ORTHWORM,
+ Species.GLIMMET,
+ Species.GLIMMORA,
+ Species.GREAVARD,
+ Species.HOUNDSTONE,
+ Species.FLAMIGO,
+ Species.CETODDLE,
+ Species.CETITAN,
+ Species.VELUZA,
+ Species.DONDOZO,
+ Species.TATSUGIRI,
+ Species.ANNIHILAPE,
+ Species.CLODSIRE,
+ Species.FARIGIRAF,
+ Species.DUDUNSPARCE,
+ Species.KINGAMBIT,
+ Species.GREAT_TUSK,
+ Species.SCREAM_TAIL,
+ Species.BRUTE_BONNET,
+ Species.FLUTTER_MANE,
+ Species.SLITHER_WING,
+ Species.SANDY_SHOCKS,
+ Species.IRON_TREADS,
+ Species.IRON_BUNDLE,
+ Species.IRON_HANDS,
+ Species.IRON_JUGULIS,
+ Species.IRON_MOTH,
+ Species.IRON_THORNS,
+ Species.FRIGIBAX,
+ Species.ARCTIBAX,
+ Species.BAXCALIBUR,
+ Species.GIMMIGHOUL,
+ Species.GHOLDENGO,
+ Species.WO_CHIEN,
+ Species.CHIEN_PAO,
+ Species.TING_LU,
+ Species.CHI_YU,
+ Species.ROARING_MOON,
+ Species.IRON_VALIANT,
+ Species.KORAIDON,
+ Species.MIRAIDON,
+ Species.WALKING_WAKE,
+ Species.IRON_LEAVES,
+ Species.DIPPLIN,
+ Species.POLTCHAGEIST,
+ Species.SINISTCHA,
+ Species.OKIDOGI,
+ Species.MUNKIDORI,
+ Species.FEZANDIPITI,
+ Species.OGERPON,
+ Species.ARCHALUDON,
+ Species.HYDRAPPLE,
+ Species.GOUGING_FIRE,
+ Species.RAGING_BOLT,
+ Species.IRON_BOULDER,
+ Species.IRON_CROWN,
+ Species.TERAPAGOS,
+ Species.PECHARUNT,
Species.ALOLA_RATTATA,
Species.ALOLA_RATICATE,
Species.ALOLA_RAICHU,
@@ -28057,6 +28776,44 @@ export const tmSpecies: TmSpecies = {
Species.ALOLA_EXEGGUTOR,
Species.ALOLA_MAROWAK,
Species.ETERNAL_FLOETTE,
+ Species.GALAR_MEOWTH,
+ Species.GALAR_PONYTA,
+ Species.GALAR_RAPIDASH,
+ Species.GALAR_SLOWPOKE,
+ Species.GALAR_SLOWBRO,
+ Species.GALAR_FARFETCHD,
+ Species.GALAR_WEEZING,
+ Species.GALAR_MR_MIME,
+ Species.GALAR_ARTICUNO,
+ Species.GALAR_ZAPDOS,
+ Species.GALAR_MOLTRES,
+ Species.GALAR_SLOWKING,
+ Species.GALAR_CORSOLA,
+ Species.GALAR_ZIGZAGOON,
+ Species.GALAR_LINOONE,
+ Species.GALAR_DARUMAKA,
+ Species.GALAR_DARMANITAN,
+ Species.GALAR_YAMASK,
+ Species.GALAR_STUNFISK,
+ Species.HISUI_GROWLITHE,
+ Species.HISUI_ARCANINE,
+ Species.HISUI_VOLTORB,
+ Species.HISUI_ELECTRODE,
+ Species.HISUI_TYPHLOSION,
+ Species.HISUI_QWILFISH,
+ Species.HISUI_SNEASEL,
+ Species.HISUI_SAMUROTT,
+ Species.HISUI_LILLIGANT,
+ Species.HISUI_ZORUA,
+ Species.HISUI_ZOROARK,
+ Species.HISUI_BRAVIARY,
+ Species.HISUI_SLIGGOO,
+ Species.HISUI_GOODRA,
+ Species.HISUI_AVALUGG,
+ Species.HISUI_DECIDUEYE,
+ Species.PALDEA_TAUROS,
+ Species.PALDEA_WOOPER,
+ Species.BLOODMOON_URSALUNA,
],
[Moves.SAFEGUARD]: [
Species.BULBASAUR,
@@ -30147,6 +30904,222 @@ export const tmSpecies: TmSpecies = {
Species.STAKATAKA,
Species.BLACEPHALON,
Species.ZERAORA,
+ Species.MELTAN,
+ Species.MELMETAL,
+ Species.GROOKEY,
+ Species.THWACKEY,
+ Species.RILLABOOM,
+ Species.SCORBUNNY,
+ Species.RABOOT,
+ Species.CINDERACE,
+ Species.SOBBLE,
+ Species.DRIZZILE,
+ Species.INTELEON,
+ Species.SKWOVET,
+ Species.GREEDENT,
+ Species.ROOKIDEE,
+ Species.CORVISQUIRE,
+ Species.CORVIKNIGHT,
+ Species.DOTTLER,
+ Species.ORBEETLE,
+ Species.NICKIT,
+ Species.THIEVUL,
+ Species.GOSSIFLEUR,
+ Species.ELDEGOSS,
+ Species.WOOLOO,
+ Species.DUBWOOL,
+ Species.CHEWTLE,
+ Species.DREDNAW,
+ Species.YAMPER,
+ Species.BOLTUND,
+ Species.ROLYCOLY,
+ Species.CARKOL,
+ Species.COALOSSAL,
+ Species.FLAPPLE,
+ Species.APPLETUN,
+ Species.SILICOBRA,
+ Species.SANDACONDA,
+ Species.CRAMORANT,
+ Species.ARROKUDA,
+ Species.BARRASKEWDA,
+ Species.TOXEL,
+ Species.TOXTRICITY,
+ Species.SIZZLIPEDE,
+ Species.CENTISKORCH,
+ Species.CLOBBOPUS,
+ Species.GRAPPLOCT,
+ Species.SINISTEA,
+ Species.POLTEAGEIST,
+ Species.HATENNA,
+ Species.HATTREM,
+ Species.HATTERENE,
+ Species.IMPIDIMP,
+ Species.MORGREM,
+ Species.GRIMMSNARL,
+ Species.OBSTAGOON,
+ Species.PERRSERKER,
+ Species.CURSOLA,
+ Species.SIRFETCHD,
+ Species.MR_RIME,
+ Species.RUNERIGUS,
+ Species.MILCERY,
+ Species.ALCREMIE,
+ Species.FALINKS,
+ Species.PINCURCHIN,
+ Species.SNOM,
+ Species.FROSMOTH,
+ Species.STONJOURNER,
+ Species.EISCUE,
+ Species.INDEEDEE,
+ Species.MORPEKO,
+ Species.CUFANT,
+ Species.COPPERAJAH,
+ Species.DRACOZOLT,
+ Species.ARCTOZOLT,
+ Species.DRACOVISH,
+ Species.ARCTOVISH,
+ Species.DURALUDON,
+ Species.DREEPY,
+ Species.DRAKLOAK,
+ Species.DRAGAPULT,
+ Species.ZACIAN,
+ Species.ZAMAZENTA,
+ Species.ETERNATUS,
+ Species.KUBFU,
+ Species.URSHIFU,
+ Species.ZARUDE,
+ Species.REGIELEKI,
+ Species.REGIDRAGO,
+ Species.GLASTRIER,
+ Species.SPECTRIER,
+ Species.CALYREX,
+ Species.WYRDEER,
+ Species.KLEAVOR,
+ Species.URSALUNA,
+ Species.BASCULEGION,
+ Species.SNEASLER,
+ Species.OVERQWIL,
+ Species.ENAMORUS,
+ Species.SPRIGATITO,
+ Species.FLORAGATO,
+ Species.MEOWSCARADA,
+ Species.FUECOCO,
+ Species.CROCALOR,
+ Species.SKELEDIRGE,
+ Species.QUAXLY,
+ Species.QUAXWELL,
+ Species.QUAQUAVAL,
+ Species.LECHONK,
+ Species.OINKOLOGNE,
+ Species.TAROUNTULA,
+ Species.SPIDOPS,
+ Species.NYMBLE,
+ Species.LOKIX,
+ Species.PAWMI,
+ Species.PAWMO,
+ Species.PAWMOT,
+ Species.TANDEMAUS,
+ Species.MAUSHOLD,
+ Species.FIDOUGH,
+ Species.DACHSBUN,
+ Species.SMOLIV,
+ Species.DOLLIV,
+ Species.ARBOLIVA,
+ Species.SQUAWKABILLY,
+ Species.NACLI,
+ Species.NACLSTACK,
+ Species.GARGANACL,
+ Species.CHARCADET,
+ Species.ARMAROUGE,
+ Species.CERULEDGE,
+ Species.TADBULB,
+ Species.BELLIBOLT,
+ Species.WATTREL,
+ Species.KILOWATTREL,
+ Species.MASCHIFF,
+ Species.MABOSSTIFF,
+ Species.SHROODLE,
+ Species.GRAFAIAI,
+ Species.BRAMBLIN,
+ Species.BRAMBLEGHAST,
+ Species.TOEDSCOOL,
+ Species.TOEDSCRUEL,
+ Species.KLAWF,
+ Species.CAPSAKID,
+ Species.SCOVILLAIN,
+ Species.RELLOR,
+ Species.RABSCA,
+ Species.FLITTLE,
+ Species.ESPATHRA,
+ Species.TINKATINK,
+ Species.TINKATUFF,
+ Species.TINKATON,
+ Species.WIGLETT,
+ Species.WUGTRIO,
+ Species.BOMBIRDIER,
+ Species.FINIZEN,
+ Species.PALAFIN,
+ Species.VAROOM,
+ Species.REVAVROOM,
+ Species.CYCLIZAR,
+ Species.ORTHWORM,
+ Species.GLIMMET,
+ Species.GLIMMORA,
+ Species.GREAVARD,
+ Species.HOUNDSTONE,
+ Species.FLAMIGO,
+ Species.CETODDLE,
+ Species.CETITAN,
+ Species.VELUZA,
+ Species.DONDOZO,
+ Species.TATSUGIRI,
+ Species.ANNIHILAPE,
+ Species.CLODSIRE,
+ Species.FARIGIRAF,
+ Species.DUDUNSPARCE,
+ Species.KINGAMBIT,
+ Species.GREAT_TUSK,
+ Species.SCREAM_TAIL,
+ Species.BRUTE_BONNET,
+ Species.FLUTTER_MANE,
+ Species.SLITHER_WING,
+ Species.SANDY_SHOCKS,
+ Species.IRON_TREADS,
+ Species.IRON_BUNDLE,
+ Species.IRON_HANDS,
+ Species.IRON_JUGULIS,
+ Species.IRON_MOTH,
+ Species.IRON_THORNS,
+ Species.FRIGIBAX,
+ Species.ARCTIBAX,
+ Species.BAXCALIBUR,
+ Species.GIMMIGHOUL,
+ Species.GHOLDENGO,
+ Species.WO_CHIEN,
+ Species.CHIEN_PAO,
+ Species.TING_LU,
+ Species.CHI_YU,
+ Species.ROARING_MOON,
+ Species.IRON_VALIANT,
+ Species.KORAIDON,
+ Species.MIRAIDON,
+ Species.WALKING_WAKE,
+ Species.IRON_LEAVES,
+ Species.DIPPLIN,
+ Species.POLTCHAGEIST,
+ Species.SINISTCHA,
+ Species.OKIDOGI,
+ Species.MUNKIDORI,
+ Species.FEZANDIPITI,
+ Species.OGERPON,
+ Species.ARCHALUDON,
+ Species.HYDRAPPLE,
+ Species.GOUGING_FIRE,
+ Species.RAGING_BOLT,
+ Species.IRON_BOULDER,
+ Species.IRON_CROWN,
+ Species.TERAPAGOS,
+ Species.PECHARUNT,
Species.ALOLA_RATTATA,
Species.ALOLA_RATICATE,
Species.ALOLA_RAICHU,
@@ -30166,6 +31139,44 @@ export const tmSpecies: TmSpecies = {
Species.ALOLA_EXEGGUTOR,
Species.ALOLA_MAROWAK,
Species.ETERNAL_FLOETTE,
+ Species.GALAR_MEOWTH,
+ Species.GALAR_PONYTA,
+ Species.GALAR_RAPIDASH,
+ Species.GALAR_SLOWPOKE,
+ Species.GALAR_SLOWBRO,
+ Species.GALAR_FARFETCHD,
+ Species.GALAR_WEEZING,
+ Species.GALAR_MR_MIME,
+ Species.GALAR_ARTICUNO,
+ Species.GALAR_ZAPDOS,
+ Species.GALAR_MOLTRES,
+ Species.GALAR_SLOWKING,
+ Species.GALAR_CORSOLA,
+ Species.GALAR_ZIGZAGOON,
+ Species.GALAR_LINOONE,
+ Species.GALAR_DARUMAKA,
+ Species.GALAR_DARMANITAN,
+ Species.GALAR_YAMASK,
+ Species.GALAR_STUNFISK,
+ Species.HISUI_GROWLITHE,
+ Species.HISUI_ARCANINE,
+ Species.HISUI_VOLTORB,
+ Species.HISUI_ELECTRODE,
+ Species.HISUI_TYPHLOSION,
+ Species.HISUI_QWILFISH,
+ Species.HISUI_SNEASEL,
+ Species.HISUI_SAMUROTT,
+ Species.HISUI_LILLIGANT,
+ Species.HISUI_ZORUA,
+ Species.HISUI_ZOROARK,
+ Species.HISUI_BRAVIARY,
+ Species.HISUI_SLIGGOO,
+ Species.HISUI_GOODRA,
+ Species.HISUI_AVALUGG,
+ Species.HISUI_DECIDUEYE,
+ Species.PALDEA_TAUROS,
+ Species.PALDEA_WOOPER,
+ Species.BLOODMOON_URSALUNA,
],
[Moves.RAIN_DANCE]: [
Species.SQUIRTLE,
@@ -37674,6 +38685,8 @@ export const tmSpecies: TmSpecies = {
Species.GOLDEEN,
Species.SEAKING,
Species.SCYTHER,
+ Species.ELECTABUZZ,
+ Species.MAGMAR,
Species.PINSIR,
Species.OMANYTE,
Species.OMASTAR,
@@ -37681,6 +38694,8 @@ export const tmSpecies: TmSpecies = {
Species.KABUTOPS,
Species.MEWTWO,
Species.MEW,
+ Species.BAYLEEF,
+ Species.MEGANIUM,
Species.SENTRET,
Species.FURRET,
Species.LEDYBA,
@@ -37697,8 +38712,10 @@ export const tmSpecies: TmSpecies = {
Species.SNEASEL,
Species.PHANPY,
Species.DONPHAN,
+ Species.ELEKID,
Species.TYRANITAR,
Species.BLAZIKEN,
+ Species.SWAMPERT,
Species.LOMBRE,
Species.LUDICOLO,
Species.NUZLEAF,
@@ -37729,12 +38746,7 @@ export const tmSpecies: TmSpecies = {
Species.CHIMECHO,
Species.ABSOL,
Species.METAGROSS,
- [
- Species.DEOXYS,
- "",
- "defense",
- "speed",
- ],
+ Species.DEOXYS,
Species.CHIMCHAR,
Species.MONFERNO,
Species.INFERNAPE,
@@ -37756,6 +38768,8 @@ export const tmSpecies: TmSpecies = {
Species.WEAVILE,
Species.LICKILICKY,
Species.TANGROWTH,
+ Species.ELECTIVIRE,
+ Species.MAGMORTAR,
Species.LEAFEON,
Species.GLISCOR,
Species.MAMOSWINE,
@@ -37770,6 +38784,8 @@ export const tmSpecies: TmSpecies = {
Species.SNIVY,
Species.SERVINE,
Species.SERPERIOR,
+ Species.PIGNITE,
+ Species.EMBOAR,
Species.OSHAWOTT,
Species.DEWOTT,
Species.SAMUROTT,
@@ -37826,6 +38842,8 @@ export const tmSpecies: TmSpecies = {
Species.ACCELGOR,
Species.MIENFOO,
Species.MIENSHAO,
+ Species.GOLETT,
+ Species.GOLURK,
Species.PAWNIARD,
Species.BISHARP,
Species.VULLABY,
@@ -37862,6 +38880,7 @@ export const tmSpecies: TmSpecies = {
Species.SALAZZLE,
Species.STEENEE,
Species.TSAREENA,
+ Species.COMFEY,
Species.ORANGURU,
Species.PASSIMIAN,
Species.GOLISOPOD,
@@ -37934,6 +38953,7 @@ export const tmSpecies: TmSpecies = {
Species.GALAR_FARFETCHD,
Species.GALAR_ZAPDOS,
Species.GALAR_ZIGZAGOON,
+ Species.GALAR_LINOONE,
Species.HISUI_SAMUROTT,
Species.HISUI_ZORUA,
Species.HISUI_ZOROARK,
@@ -58835,16 +59855,11 @@ export const tmSpecies: TmSpecies = {
Species.ZUBAT,
Species.GOLBAT,
Species.TENTACRUEL,
- Species.MUK,
Species.KOFFING,
Species.WEEZING,
Species.MEW,
- Species.ARIADOS,
Species.CROBAT,
Species.QWILFISH,
- Species.GULPIN,
- Species.SWALOT,
- Species.SEVIPER,
Species.ROSERADE,
Species.STUNKY,
Species.SKUNTANK,
@@ -58876,8 +59891,6 @@ export const tmSpecies: TmSpecies = {
Species.NAGANADEL,
Species.PINCURCHIN,
Species.ETERNATUS,
- Species.PIKACHU,
- Species.ALOLA_MUK,
Species.GALAR_WEEZING,
Species.GALAR_SLOWKING,
[
@@ -60842,6 +61855,7 @@ export const tmSpecies: TmSpecies = {
Species.METANG,
Species.METAGROSS,
Species.JIRACHI,
+ Species.DEOXYS,
Species.BRONZOR,
Species.BRONZONG,
Species.GALLADE,
@@ -63324,12 +64338,18 @@ export const tmSpecies: TmSpecies = {
Species.HYDRAPPLE,
],
[Moves.TRAILBLAZE]: [
+ Species.BULBASAUR,
+ Species.IVYSAUR,
+ Species.VENUSAUR,
Species.EKANS,
Species.ARBOK,
Species.PIKACHU,
Species.RAICHU,
Species.JIGGLYPUFF,
Species.WIGGLYTUFF,
+ Species.ODDISH,
+ Species.GLOOM,
+ Species.VILEPLUME,
Species.MEOWTH,
Species.PERSIAN,
Species.PSYDUCK,
@@ -63337,8 +64357,10 @@ export const tmSpecies: TmSpecies = {
Species.BELLSPROUT,
Species.WEEPINBELL,
Species.VICTREEBEL,
+ Species.DODRIO,
Species.DROWZEE,
Species.HYPNO,
+ Species.HITMONCHAN,
Species.CHANSEY,
Species.SCYTHER,
Species.TAUROS,
@@ -63349,6 +64371,12 @@ export const tmSpecies: TmSpecies = {
Species.SNORLAX,
Species.MEWTWO,
Species.MEW,
+ Species.CHIKORITA,
+ Species.BAYLEEF,
+ Species.MEGANIUM,
+ Species.TOTODILE,
+ Species.CROCONAW,
+ Species.FERALIGATR,
Species.SENTRET,
Species.FURRET,
Species.SPINARAK,
@@ -63358,6 +64386,7 @@ export const tmSpecies: TmSpecies = {
Species.MAREEP,
Species.FLAAFFY,
Species.AMPHAROS,
+ Species.BELLOSSOM,
Species.MARILL,
Species.AZUMARILL,
Species.SUDOWOODO,
@@ -63372,6 +64401,8 @@ export const tmSpecies: TmSpecies = {
Species.ESPEON,
Species.UMBREON,
Species.GIRAFARIG,
+ Species.SNUBBULL,
+ Species.GRANBULL,
Species.SCIZOR,
Species.HERACROSS,
Species.SNEASEL,
@@ -63385,7 +64416,14 @@ export const tmSpecies: TmSpecies = {
Species.PHANPY,
Species.DONPHAN,
Species.STANTLER,
+ Species.ELEKID,
Species.BLISSEY,
+ Species.RAIKOU,
+ Species.ENTEI,
+ Species.SUICUNE,
+ Species.TREECKO,
+ Species.GROVYLE,
+ Species.SCEPTILE,
Species.POOCHYENA,
Species.MIGHTYENA,
Species.LOTAD,
@@ -63398,6 +64436,8 @@ export const tmSpecies: TmSpecies = {
Species.SLAKING,
Species.MEDITITE,
Species.MEDICHAM,
+ Species.PLUSLE,
+ Species.MINUN,
Species.VOLBEAT,
Species.ILLUMISE,
Species.NUMEL,
@@ -63422,6 +64462,10 @@ export const tmSpecies: TmSpecies = {
Species.SHINX,
Species.LUXIO,
Species.LUXRAY,
+ Species.CRANIDOS,
+ Species.RAMPARDOS,
+ Species.SHIELDON,
+ Species.BASTIODON,
Species.PACHIRISU,
Species.AMBIPOM,
Species.STUNKY,
@@ -63433,9 +64477,21 @@ export const tmSpecies: TmSpecies = {
Species.SNOVER,
Species.ABOMASNOW,
Species.WEAVILE,
+ Species.ELECTIVIRE,
Species.LEAFEON,
+ Species.GLACEON,
Species.MAMOSWINE,
+ Species.FROSLASS,
+ Species.SHAYMIN,
Species.ARCEUS,
+ Species.SNIVY,
+ Species.SERVINE,
+ Species.SERPERIOR,
+ Species.TEPIG,
+ Species.PIGNITE,
+ Species.EMBOAR,
+ Species.BLITZLE,
+ Species.ZEBSTRIKA,
Species.SEWADDLE,
Species.SWADLOON,
Species.LEAVANNY,
@@ -63444,6 +64500,8 @@ export const tmSpecies: TmSpecies = {
Species.SCRAGGY,
Species.SCRAFTY,
Species.DUCKLETT,
+ Species.MINCCINO,
+ Species.CINCCINO,
Species.SWANNA,
Species.DEERLING,
Species.SAWSBUCK,
@@ -63475,6 +64533,8 @@ export const tmSpecies: TmSpecies = {
Species.FLORGES,
Species.SKIDDO,
Species.GOGOAT,
+ Species.MEOWSTIC,
+ Species.MALAMAR,
Species.SYLVEON,
Species.HAWLUCHA,
Species.DEDENNE,
@@ -63490,6 +64550,8 @@ export const tmSpecies: TmSpecies = {
Species.RIBOMBEE,
Species.ROCKRUFF,
Species.LYCANROC,
+ Species.DEWPIDER,
+ Species.ARAQUANID,
Species.FOMANTIS,
Species.LURANTIS,
Species.SALANDIT,
@@ -63497,6 +64559,7 @@ export const tmSpecies: TmSpecies = {
Species.BOUNSWEET,
Species.STEENEE,
Species.TSAREENA,
+ Species.COMFEY,
Species.ORANGURU,
Species.PASSIMIAN,
Species.KOMALA,
@@ -63508,6 +64571,7 @@ export const tmSpecies: TmSpecies = {
Species.RABOOT,
Species.CINDERACE,
Species.SKWOVET,
+ Species.GREEDENT,
Species.FLAPPLE,
Species.APPLETUN,
Species.TOXTRICITY,
diff --git a/src/data/trainer-config.ts b/src/data/trainer-config.ts
index af47991ad14..8a25406fc5a 100644
--- a/src/data/trainer-config.ts
+++ b/src/data/trainer-config.ts
@@ -2,20 +2,20 @@ import BattleScene, {startingWave} from "../battle-scene";
import {ModifierTypeFunc, modifierTypes} from "../modifier/modifier-type";
import {EnemyPokemon} from "../field/pokemon";
import * as Utils from "../utils";
-import {TrainerType} from "./enums/trainer-type";
-import {Moves} from "./enums/moves";
import {PokeballType} from "./pokeball";
import {pokemonEvolutions, pokemonPrevolutions} from "./pokemon-evolutions";
import PokemonSpecies, {getPokemonSpecies, PokemonSpeciesFilter} from "./pokemon-species";
-import {Species} from "./enums/species";
import {tmSpecies} from "./tms";
import {Type} from "./type";
import {doubleBattleDialogue} from "./dialogue";
import {PersistentModifier} from "../modifier/modifier";
import {TrainerVariant} from "../field/trainer";
-import {PartyMemberStrength} from "./enums/party-member-strength";
import {getIsInitialized, initI18n} from "#app/plugins/i18n";
import i18next from "i18next";
+import { Moves } from "#enums/moves";
+import { PartyMemberStrength } from "#enums/party-member-strength";
+import { Species } from "#enums/species";
+import { TrainerType } from "#enums/trainer-type";
export enum TrainerPoolTier {
COMMON,
@@ -187,6 +187,7 @@ export class TrainerConfig {
public isBoss: boolean = false;
public hasStaticParty: boolean = false;
public useSameSeedForAllMembers: boolean = false;
+ public mixedBattleBgm: string;
public battleBgm: string;
public encounterBgm: string;
public femaleEncounterBgm: string;
@@ -217,6 +218,7 @@ export class TrainerConfig {
this.trainerType = trainerType;
this.name = Utils.toReadableString(TrainerType[this.getDerivedType()]);
this.battleBgm = "battle_trainer";
+ this.mixedBattleBgm = "battle_trainer";
this.victoryBgm = "victory_trainer";
this.partyTemplates = [trainerPartyTemplates.TWO_AVG];
this.speciesFilter = species => (allowLegendaries || (!species.legendary && !species.subLegendary && !species.mythical)) && !species.isTrainerForbidden();
@@ -293,6 +295,25 @@ export class TrainerConfig {
case TrainerType.LARRY_ELITE:
trainerType = TrainerType.LARRY;
break;
+ case TrainerType.ROCKET_BOSS_GIOVANNI_1:
+ case TrainerType.ROCKET_BOSS_GIOVANNI_2:
+ trainerType = TrainerType.GIOVANNI;
+ break;
+ case TrainerType.MAXIE_2:
+ trainerType = TrainerType.MAXIE;
+ break;
+ case TrainerType.ARCHIE_2:
+ trainerType = TrainerType.ARCHIE;
+ break;
+ case TrainerType.CYRUS_2:
+ trainerType = TrainerType.CYRUS;
+ break;
+ case TrainerType.GHETSIS_2:
+ trainerType = TrainerType.GHETSIS;
+ break;
+ case TrainerType.LYSANDRE_2:
+ trainerType = TrainerType.LYSANDRE;
+ break;
case TrainerType.MARNIE_ELITE:
trainerType = TrainerType.MARNIE;
break;
@@ -440,6 +461,11 @@ export class TrainerConfig {
return this;
}
+ setMixedBattleBgm(mixedBattleBgm: string): TrainerConfig {
+ this.mixedBattleBgm = mixedBattleBgm;
+ return this;
+ }
+
setBattleBgm(battleBgm: string): TrainerConfig {
this.battleBgm = battleBgm;
return this;
@@ -501,6 +527,44 @@ export class TrainerConfig {
return this;
}
+ /**
+ * Initializes the trainer configuration for an evil team leader. Temporarily hardcoding evil leader teams though.
+ * @param {Species | Species[]} signatureSpecies - The signature species for the evil team leader.
+ * @param {Type[]} specialtyTypes - The specialty types for the evil team Leader.
+ * @param boolean whether or not this is the rematch fight
+ * @returns {TrainerConfig} - The updated TrainerConfig instance.
+ * **/
+ initForEvilTeamLeader(title: string, signatureSpecies: (Species | Species[])[], rematch: boolean = false, ...specialtyTypes: Type[]): TrainerConfig {
+ if (!getIsInitialized()) {
+ initI18n();
+ }
+ if (rematch) {
+ this.setPartyTemplates(trainerPartyTemplates.ELITE_FOUR);
+ } else {
+ this.setPartyTemplates(trainerPartyTemplates.RIVAL_5);
+ }
+ signatureSpecies.forEach((speciesPool, s) => {
+ if (!Array.isArray(speciesPool)) {
+ speciesPool = [speciesPool];
+ }
+ this.setPartyMemberFunc(-(s + 1), getRandomPartyMemberFunc(speciesPool));
+ });
+ if (specialtyTypes.length) {
+ this.setSpeciesFilter(p => specialtyTypes.find(t => p.isOfType(t)) !== undefined);
+ this.setSpecialtyTypes(...specialtyTypes);
+ }
+ const nameForCall = this.name.toLowerCase().replace(/\s/g, "_");
+ this.name = i18next.t(`trainerNames:${nameForCall}`);
+ this.setTitle(title);
+ this.setMoneyMultiplier(2.25);
+ this.setBoss();
+ this.setStaticParty();
+ this.setBattleBgm("battle_plasma_boss");
+ this.setVictoryBgm("victory_team_plasma");
+
+ return this;
+ }
+
/**
* Initializes the trainer configuration for a Gym Leader.
* @param {Species | Species[]} signatureSpecies - The signature species for the Gym Leader.
@@ -605,7 +669,7 @@ export class TrainerConfig {
this.setMoneyMultiplier(3.25);
this.setBoss();
this.setStaticParty();
- this.setBattleBgm("battle_elite");
+ this.setBattleBgm("battle_unova_elite");
this.setVictoryBgm("victory_gym");
this.setGenModifiersFunc(party => getRandomTeraModifiers(party, 2, specialtyTypes.length ? specialtyTypes : null));
@@ -754,6 +818,26 @@ interface TrainerConfigs {
[key: integer]: TrainerConfig
}
+/**
+ * The function to get variable strength grunts
+ * @param scene the singleton scene being passed in
+ * @returns the correct TrainerPartyTemplate
+ */
+function getEvilGruntPartyTemplate(scene: BattleScene): TrainerPartyTemplate {
+ const waveIndex = scene.currentBattle?.waveIndex;
+ if (waveIndex < 40) {
+ return trainerPartyTemplates.TWO_AVG;
+ } else if (waveIndex < 63) {
+ return trainerPartyTemplates.THREE_AVG;
+ } else if (waveIndex < 65) {
+ return trainerPartyTemplates.TWO_AVG_ONE_STRONG;
+ } else if (waveIndex < 112) {
+ return trainerPartyTemplates.GYM_LEADER_4; // 3avg 1 strong 1 stronger
+ } else {
+ return trainerPartyTemplates.GYM_LEADER_5; // 3 avg 2 strong 1 stronger
+ }
+}
+
function getWavePartyTemplate(scene: BattleScene, ...templates: TrainerPartyTemplate[]) {
return templates[Math.min(Math.max(Math.ceil((scene.gameMode.getWaveForDifficulty(scene.currentBattle?.waveIndex || startingWave, true) - 20) / 30), 0), templates.length - 1)];
}
@@ -876,22 +960,22 @@ export const signatureSpecies: SignatureSpecies = {
RYME: [Species.GREAVARD, Species.SHUPPET, Species.MIMIKYU],
TULIP: [Species.GIRAFARIG, Species.FLITTLE, Species.RALTS],
GRUSHA: [Species.CETODDLE, Species.ALOLA_VULPIX, Species.CUBCHOO],
- LORELEI: [Species.SLOWBRO, Species.LAPRAS, Species.DEWGONG, Species.ALOLA_SANDSLASH],
- BRUNO: [Species.ONIX, Species.HITMONCHAN, Species.HITMONLEE, Species.ALOLA_GOLEM],
- AGATHA: [Species.GENGAR, Species.ARBOK, Species.CROBAT, Species.ALOLA_MAROWAK],
+ LORELEI: [Species.JYNX, [Species.SLOWBRO, Species.GALAR_SLOWBRO], Species.LAPRAS, [Species.ALOLA_SANDSLASH, Species.CLOYSTER]],
+ BRUNO: [Species.MACHAMP, Species.HITMONCHAN, Species.HITMONLEE, [Species.ALOLA_GOLEM, Species.GOLEM]],
+ AGATHA: [Species.GENGAR, [Species.ARBOK, Species.WEEZING], Species.CROBAT, Species.ALOLA_MAROWAK],
LANCE: [Species.DRAGONITE, Species.GYARADOS, Species.AERODACTYL, Species.ALOLA_EXEGGUTOR],
- WILL: [Species.XATU, Species.JYNX, Species.SLOWBRO, Species.EXEGGUTOR],
- KOGA: [Species.WEEZING, Species.VENOMOTH, Species.CROBAT, Species.TENTACRUEL],
+ WILL: [Species.XATU, Species.JYNX, [Species.SLOWBRO, Species.SLOWKING], Species.EXEGGUTOR],
+ KOGA: [[Species.WEEZING, Species.MUK], [Species.VENOMOTH, Species.ARIADOS], Species.CROBAT, Species.TENTACRUEL],
KAREN: [Species.UMBREON, Species.HONCHKROW, Species.HOUNDOOM, Species.WEAVILE],
- SIDNEY: [Species.SHIFTRY, Species.SHARPEDO, Species.ABSOL, Species.ZOROARK],
- PHOEBE: [Species.SABLEYE, Species.DUSKNOIR, Species.BANETTE, Species.CHANDELURE],
+ SIDNEY: [[Species.SHIFTRY, Species.CACTURNE], [Species.SHARPEDO, Species.CRAWDAUNT], Species.ABSOL, Species.MIGHTYENA],
+ PHOEBE: [Species.SABLEYE, Species.DUSKNOIR, Species.BANETTE, [Species.MISMAGIUS, Species.DRIFBLIM]],
GLACIA: [Species.GLALIE, Species.WALREIN, Species.FROSLASS, Species.ABOMASNOW],
DRAKE: [Species.ALTARIA, Species.SALAMENCE, Species.FLYGON, Species.KINGDRA],
- AARON: [Species.SCIZOR, Species.HERACROSS, Species.VESPIQUEN, Species.DRAPION],
+ AARON: [[Species.SCIZOR, Species.KLEAVOR], Species.HERACROSS, [Species.VESPIQUEN, Species.YANMEGA], Species.DRAPION],
BERTHA: [Species.WHISCASH, Species.HIPPOWDON, Species.GLISCOR, Species.RHYPERIOR],
- FLINT: [Species.FLAREON, Species.HOUNDOOM, Species.RAPIDASH, Species.INFERNAPE],
- LUCIAN: [Species.MR_MIME, Species.GALLADE, Species.BRONZONG, Species.ALAKAZAM],
- SHAUNTAL: [Species.COFAGRIGUS, Species.CHANDELURE, Species.GOLURK, Species.DRIFBLIM],
+ FLINT: [[Species.FLAREON, Species.RAPIDASH], Species.MAGMORTAR, [Species.STEELIX, Species.LOPUNNY], Species.INFERNAPE],
+ LUCIAN: [Species.MR_MIME, Species.GALLADE, Species.BRONZONG, [Species.ALAKAZAM, Species.ESPEON]],
+ SHAUNTAL: [Species.COFAGRIGUS, Species.CHANDELURE, Species.GOLURK, Species.JELLICENT],
MARSHAL: [Species.CONKELDURR, Species.MIENSHAO, Species.THROH, Species.SAWK],
GRIMSLEY: [Species.LIEPARD, Species.KINGAMBIT, Species.SCRAFTY, Species.KROOKODILE],
CAITLIN: [Species.MUSHARNA, Species.GOTHITELLE, Species.SIGILYPH, Species.REUNICLUS],
@@ -899,35 +983,35 @@ export const signatureSpecies: SignatureSpecies = {
SIEBOLD: [Species.CLAWITZER, Species.GYARADOS, Species.BARBARACLE, Species.STARMIE],
WIKSTROM: [Species.KLEFKI, Species.PROBOPASS, Species.SCIZOR, Species.AEGISLASH],
DRASNA: [Species.DRAGALGE, Species.DRUDDIGON, Species.ALTARIA, Species.NOIVERN],
- HALA: [Species.HARIYAMA, Species.BEWEAR, Species.CRABOMINABLE, Species.POLIWRATH],
+ HALA: [Species.HARIYAMA, Species.BEWEAR, Species.CRABOMINABLE, [Species.POLIWRATH, Species.ANNIHILAPE]],
MOLAYNE: [Species.KLEFKI, Species.MAGNEZONE, Species.METAGROSS, Species.ALOLA_DUGTRIO],
- OLIVIA: [Species.ARMALDO, Species.CRADILY, Species.ALOLA_GOLEM, Species.LYCANROC],
- ACEROLA: [Species.BANETTE, Species.DRIFBLIM, Species.DHELMISE, Species.PALOSSAND],
- KAHILI: [Species.BRAVIARY, Species.HAWLUCHA, Species.ORICORIO, Species.TOUCANNON],
- MARNIE_ELITE: [Species.MORPEKO, Species.LIEPARD, Species.TOXICROAK, Species.SCRAFTY, Species.GRIMMSNARL],
- NESSA_ELITE: [Species.GOLISOPOD, Species.PELIPPER, Species.QUAGSIRE, Species.TOXAPEX, Species.DREDNAW],
- BEA_ELITE: [Species.HAWLUCHA, Species.GRAPPLOCT, Species.SIRFETCHD, Species.FALINKS, Species.MACHAMP],
- ALLISTER_ELITE:[Species.DUSKNOIR, Species.CHANDELURE, Species.CURSOLA, Species.RUNERIGUS, Species.GENGAR],
- RAIHAN_ELITE: [Species.TORKOAL, Species.GOODRA, Species.TURTONATOR, Species.FLYGON, Species.DURALUDON],
- RIKA: [Species.WHISCASH, Species.DONPHAN, Species.CAMERUPT, Species.CLODSIRE],
+ OLIVIA: [Species.RELICANTH, Species.CARBINK, Species.ALOLA_GOLEM, Species.LYCANROC],
+ ACEROLA: [[Species.BANETTE, Species.DRIFBLIM], Species.MIMIKYU, Species.DHELMISE, Species.PALOSSAND],
+ KAHILI: [[Species.BRAVIARY, Species.MANDIBUZZ], Species.HAWLUCHA, Species.ORICORIO, Species.TOUCANNON],
+ MARNIE_ELITE: [Species.MORPEKO, Species.LIEPARD, [Species.TOXICROAK, Species.SCRAFTY], Species.GRIMMSNARL],
+ NESSA_ELITE: [Species.GOLISOPOD, [Species.PELIPPER, Species.QUAGSIRE], Species.TOXAPEX, Species.DREDNAW],
+ BEA_ELITE: [Species.HAWLUCHA, [Species.GRAPPLOCT, Species.SIRFETCHD], Species.FALINKS, Species.MACHAMP],
+ ALLISTER_ELITE:[Species.DUSKNOIR, [Species.POLTEAGEIST, Species.RUNERIGUS], Species.CURSOLA, Species.GENGAR],
+ RAIHAN_ELITE: [Species.GOODRA, [Species.TORKOAL, Species.TURTONATOR], Species.FLYGON, Species.ARCHALUDON],
+ RIKA: [Species.WHISCASH, [Species.DONPHAN, Species.DUGTRIO], Species.CAMERUPT, Species.CLODSIRE],
POPPY: [Species.COPPERAJAH, Species.BRONZONG, Species.CORVIKNIGHT, Species.TINKATON],
LARRY_ELITE: [Species.STARAPTOR, Species.FLAMIGO, Species.ALTARIA, Species.TROPIUS],
- HASSEL: [Species.NOIVERN, Species.HAXORUS, Species.DRAGALGE, Species.BAXCALIBUR],
+ HASSEL: [Species.NOIVERN, [Species.FLAPPLE, Species.APPLETUN], Species.DRAGALGE, Species.BAXCALIBUR],
CRISPIN: [Species.TALONFLAME, Species.CAMERUPT, Species.MAGMORTAR, Species.BLAZIKEN],
AMARYS: [Species.SKARMORY, Species.EMPOLEON, Species.SCIZOR, Species.METAGROSS],
- LACEY: [Species.EXCADRILL, Species.PRIMARINA, Species.ALCREMIE, Species.GALAR_SLOWBRO],
- DRAYTON: [Species.DRAGONITE, Species.ARCHALUDON, Species.FLYGON, Species.SCEPTILE],
+ LACEY: [Species.EXCADRILL, Species.PRIMARINA, [Species.ALCREMIE, Species.GRANBULL], Species.WHIMSICOTT],
+ DRAYTON: [Species.DRAGONITE, Species.ARCHALUDON, Species.HAXORUS, Species.SCEPTILE],
BLUE: [[Species.GYARADOS, Species.EXEGGUTOR, Species.ARCANINE], Species.HO_OH, [Species.RHYPERIOR, Species.MAGNEZONE]], // Alakazam lead, Mega Pidgeot
RED: [Species.LUGIA, Species.SNORLAX, [Species.ESPEON, Species.UMBREON, Species.SYLVEON]], // GMax Pikachu lead, Mega gen 1 starter
- LANCE_CHAMPION: [Species.DRAGONITE, Species.KINGDRA, Species.ALOLA_EXEGGUTOR], // Aerodactyl lead, Mega Lati@s
- STEVEN: [Species.AGGRON, [Species.ARMALDO, Species.CRADILY], Species.DIALGA], // Skarmorly lead, Mega Metagross
+ LANCE_CHAMPION: [Species.DRAGONITE, Species.KINGDRA, Species.ALOLA_EXEGGUTOR], // Aerodactyl lead, Mega Latias/Latios
+ STEVEN: [Species.AGGRON, [Species.ARMALDO, Species.CRADILY], Species.DIALGA], // Skarmory lead, Mega Metagross
WALLACE: [Species.MILOTIC, Species.PALKIA, Species.LUDICOLO], // Pelipper lead, Mega Swampert
CYNTHIA: [Species.GIRATINA, Species.LUCARIO, Species.TOGEKISS], // Spiritomb lead, Mega Garchomp
ALDER: [Species.VOLCARONA, Species.ZEKROM, [Species.ACCELGOR, Species.ESCAVALIER], Species.KELDEO], // Bouffalant/Braviary lead
IRIS: [Species.HAXORUS, Species.RESHIRAM, Species.ARCHEOPS], // Druddigon lead, Gmax Lapras
DIANTHA: [Species.HAWLUCHA, Species.XERNEAS, Species.GOODRA], // Gourgeist lead, Mega Gardevoir
HAU: [[Species.SOLGALEO, Species.LUNALA], Species.NOIVERN, [Species.DECIDUEYE, Species.INCINEROAR, Species.PRIMARINA], [Species.TAPU_BULU, Species.TAPU_FINI, Species.TAPU_KOKO, Species.TAPU_LELE]], // Alola Raichu lead
- LEON: [Species.DRAGAPULT, [Species.ZACIAN, Species.ZAMAZENTA], Species.AEGISLASH], // Rillaboom/Cinderace/Inteleon lead
+ LEON: [Species.DRAGAPULT, [Species.ZACIAN, Species.ZAMAZENTA], Species.AEGISLASH], // Rillaboom/Cinderace/Inteleon lead, GMax Charizard
GEETA: [Species.MIRAIDON, [Species.ESPATHRA, Species.VELUZA], [Species.AVALUGG, Species.HISUI_AVALUGG], Species.KINGAMBIT], // Glimmora lead
NEMONA: [Species.KORAIDON, Species.PAWMOT, [Species.DUDUNSPARCE, Species.ORTHWORM], [Species.MEOWSCARADA, Species.SKELEDIRGE, Species.QUAQUAVAL]], // Lycanroc lead
KIERAN: [[Species.GRIMMSNARL, Species.INCINEROAR, Species.PORYGON_Z], Species.OGERPON, Species.TERAPAGOS, Species.HYDRAPPLE], // Poliwrath/Politoed lead
@@ -1059,6 +1143,7 @@ export const trainerConfigs: TrainerConfigs = {
[TrainerType.RICH]: new TrainerConfig(++t).setMoneyMultiplier(5).setName("Gentleman").setHasGenders("Madame").setHasDouble("Rich Couple"),
[TrainerType.RICH_KID]: new TrainerConfig(++t).setMoneyMultiplier(3.75).setName("Rich Boy").setHasGenders("Lady").setHasDouble("Rich Kids").setEncounterBgm(TrainerType.RICH),
[TrainerType.ROUGHNECK]: new TrainerConfig(++t).setMoneyMultiplier(1.4).setEncounterBgm(TrainerType.ROUGHNECK).setSpeciesFilter(s => s.isOfType(Type.DARK)),
+ [TrainerType.SAILOR]: new TrainerConfig(++t).setMoneyMultiplier(1.4).setEncounterBgm(TrainerType.BACKPACKER).setSpeciesFilter(s => s.isOfType(Type.WATER) || s.isOfType(Type.FIGHTING)),
[TrainerType.SCIENTIST]: new TrainerConfig(++t).setHasGenders("Scientist Female").setHasDouble("Scientists").setMoneyMultiplier(1.7).setEncounterBgm(TrainerType.SCIENTIST)
.setSpeciesPools({
[TrainerPoolTier.COMMON]: [Species.MAGNEMITE, Species.GRIMER, Species.DROWZEE, Species.VOLTORB, Species.KOFFING],
@@ -1095,124 +1180,166 @@ export const trainerConfigs: TrainerConfigs = {
.setSpeciesPools(
[Species.CATERPIE, Species.WEEDLE, Species.RATTATA, Species.SENTRET, Species.POOCHYENA, Species.ZIGZAGOON, Species.WURMPLE, Species.BIDOOF, Species.PATRAT, Species.LILLIPUP]
),
- [TrainerType.BROCK]: new TrainerConfig((t = TrainerType.BROCK)).initForGymLeader(signatureSpecies["BROCK"],true, Type.ROCK).setBattleBgm("battle_kanto_gym"),
- [TrainerType.MISTY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["MISTY"],false, Type.WATER).setBattleBgm("battle_kanto_gym"),
- [TrainerType.LT_SURGE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["LT_SURGE"],true, Type.ELECTRIC).setBattleBgm("battle_kanto_gym"),
- [TrainerType.ERIKA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["ERIKA"],false, Type.GRASS).setBattleBgm("battle_kanto_gym"),
- [TrainerType.JANINE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["JANINE"],false, Type.POISON).setBattleBgm("battle_kanto_gym"),
- [TrainerType.SABRINA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["SABRINA"],false, Type.PSYCHIC).setBattleBgm("battle_kanto_gym"),
- [TrainerType.BLAINE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BLAINE"],true, Type.FIRE).setBattleBgm("battle_kanto_gym"),
- [TrainerType.GIOVANNI]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["GIOVANNI"],true, Type.DARK).setBattleBgm("battle_kanto_gym"),
- [TrainerType.FALKNER]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["FALKNER"],true, Type.FLYING).setBattleBgm("battle_johto_gym"),
- [TrainerType.BUGSY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BUGSY"],true, Type.BUG).setBattleBgm("battle_johto_gym"),
- [TrainerType.WHITNEY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["WHITNEY"],false, Type.NORMAL).setBattleBgm("battle_johto_gym"),
- [TrainerType.MORTY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["MORTY"],true, Type.GHOST).setBattleBgm("battle_johto_gym"),
- [TrainerType.CHUCK]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CHUCK"],true, Type.FIGHTING).setBattleBgm("battle_johto_gym"),
- [TrainerType.JASMINE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["JASMINE"],false, Type.STEEL).setBattleBgm("battle_johto_gym"),
- [TrainerType.PRYCE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["PRYCE"],true, Type.ICE).setBattleBgm("battle_johto_gym"),
- [TrainerType.CLAIR]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CLAIR"],false, Type.DRAGON).setBattleBgm("battle_johto_gym"),
- [TrainerType.ROXANNE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["ROXANNE"],false, Type.ROCK).setBattleBgm("battle_hoenn_gym"),
- [TrainerType.BRAWLY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BRAWLY"],true, Type.FIGHTING).setBattleBgm("battle_hoenn_gym"),
- [TrainerType.WATTSON]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["WATTSON"],true, Type.ELECTRIC).setBattleBgm("battle_hoenn_gym"),
- [TrainerType.FLANNERY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["FLANNERY"],false, Type.FIRE).setBattleBgm("battle_hoenn_gym"),
- [TrainerType.NORMAN]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["NORMAN"],true, Type.NORMAL).setBattleBgm("battle_hoenn_gym"),
- [TrainerType.WINONA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["WINONA"],false, Type.FLYING).setBattleBgm("battle_hoenn_gym"),
- [TrainerType.TATE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["TATE"],true, Type.PSYCHIC).setBattleBgm("battle_hoenn_gym").setHasDouble("tate_liza_double").setDoubleTrainerType(TrainerType.LIZA).setDoubleTitle("gym_leader_double"),
- [TrainerType.LIZA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["LIZA"],false, Type.PSYCHIC).setBattleBgm("battle_hoenn_gym").setHasDouble("liza_tate_double").setDoubleTrainerType(TrainerType.TATE).setDoubleTitle("gym_leader_double"),
- [TrainerType.JUAN]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["JUAN"],true, Type.WATER).setBattleBgm("battle_hoenn_gym"),
- [TrainerType.ROARK]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["ROARK"],true, Type.ROCK).setBattleBgm("battle_sinnoh_gym"),
- [TrainerType.GARDENIA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["GARDENIA"],false, Type.GRASS).setBattleBgm("battle_sinnoh_gym"),
- [TrainerType.MAYLENE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["MAYLENE"],false, Type.FIGHTING).setBattleBgm("battle_sinnoh_gym"),
- [TrainerType.CRASHER_WAKE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CRASHER_WAKE"],true, Type.WATER).setBattleBgm("battle_sinnoh_gym"),
- [TrainerType.FANTINA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["FANTINA"],false, Type.GHOST).setBattleBgm("battle_sinnoh_gym"),
- [TrainerType.BYRON]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BYRON"],true, Type.STEEL).setBattleBgm("battle_sinnoh_gym"),
- [TrainerType.CANDICE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CANDICE"],false, Type.ICE).setBattleBgm("battle_sinnoh_gym"),
- [TrainerType.VOLKNER]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["VOLKNER"],true, Type.ELECTRIC).setBattleBgm("battle_sinnoh_gym"),
- [TrainerType.CILAN]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CILAN"],true, Type.GRASS),
- [TrainerType.CHILI]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CHILI"],true, Type.FIRE),
- [TrainerType.CRESS]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CRESS"],true, Type.WATER),
- [TrainerType.CHEREN]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CHEREN"],true, Type.NORMAL),
- [TrainerType.LENORA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["LENORA"],false, Type.NORMAL),
- [TrainerType.ROXIE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["ROXIE"],false, Type.POISON),
- [TrainerType.BURGH]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BURGH"],true, Type.BUG),
- [TrainerType.ELESA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["ELESA"],false, Type.ELECTRIC),
- [TrainerType.CLAY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CLAY"],true, Type.GROUND),
- [TrainerType.SKYLA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["SKYLA"],false, Type.FLYING),
- [TrainerType.BRYCEN]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BRYCEN"],true, Type.ICE),
- [TrainerType.DRAYDEN]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["DRAYDEN"],true, Type.DRAGON),
- [TrainerType.MARLON]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["MARLON"],true, Type.WATER),
- [TrainerType.VIOLA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["VIOLA"],false, Type.BUG),
- [TrainerType.GRANT]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["GRANT"],true, Type.ROCK),
- [TrainerType.KORRINA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["KORRINA"],false, Type.FIGHTING),
- [TrainerType.RAMOS]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["RAMOS"],true, Type.GRASS),
- [TrainerType.CLEMONT]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CLEMONT"],true, Type.ELECTRIC),
- [TrainerType.VALERIE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["VALERIE"],false, Type.FAIRY),
- [TrainerType.OLYMPIA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["OLYMPIA"],false, Type.PSYCHIC),
- [TrainerType.WULFRIC]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["WULFRIC"],true, Type.ICE),
- [TrainerType.MILO]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["MILO"],true, Type.GRASS),
- [TrainerType.NESSA]: new TrainerConfig(++t).setName("Nessa").initForGymLeader(signatureSpecies["NESSA"],false, Type.WATER),
- [TrainerType.KABU]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["KABU"],true, Type.FIRE),
- [TrainerType.BEA]: new TrainerConfig(++t).setName("Bea").initForGymLeader(signatureSpecies["BEA"],false, Type.FIGHTING),
- [TrainerType.ALLISTER]: new TrainerConfig(++t).setName("Allister").initForGymLeader(signatureSpecies["ALLISTER"],true, Type.GHOST),
- [TrainerType.OPAL]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["OPAL"],false, Type.FAIRY),
- [TrainerType.BEDE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BEDE"],true, Type.FAIRY),
- [TrainerType.GORDIE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["GORDIE"],true, Type.ROCK),
- [TrainerType.MELONY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["MELONY"],false, Type.ICE),
- [TrainerType.PIERS]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["PIERS"],true, Type.DARK).setHasDouble("piers_marnie_double").setDoubleTrainerType(TrainerType.MARNIE).setDoubleTitle("gym_leader_double"),
- [TrainerType.MARNIE]: new TrainerConfig(++t).setName("Marnie").initForGymLeader(signatureSpecies["MARNIE"],false, Type.DARK).setHasDouble("marnie_piers_double").setDoubleTrainerType(TrainerType.PIERS).setDoubleTitle("gym_leader_double"),
- [TrainerType.RAIHAN]: new TrainerConfig(++t).setName("Raihan").initForGymLeader(signatureSpecies["RAIHAN"],true, Type.DRAGON),
- [TrainerType.KATY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["KATY"],false, Type.BUG),
- [TrainerType.BRASSIUS]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BRASSIUS"],true, Type.GRASS),
- [TrainerType.IONO]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["IONO"],false, Type.ELECTRIC),
- [TrainerType.KOFU]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["KOFU"],true, Type.WATER),
- [TrainerType.LARRY]: new TrainerConfig(++t).setName("Larry").initForGymLeader(signatureSpecies["LARRY"],true, Type.NORMAL),
- [TrainerType.RYME]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["RYME"],false, Type.GHOST),
- [TrainerType.TULIP]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["TULIP"],false, Type.PSYCHIC),
- [TrainerType.GRUSHA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["GRUSHA"],true, Type.ICE),
+ [TrainerType.ROCKET_GRUNT]: new TrainerConfig(++t).setHasGenders("Rocket Grunt Female").setHasDouble("Rocket Grunts").setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_rocket_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene))
+ .setSpeciesPools({
+ [TrainerPoolTier.COMMON]: [ Species.WEEDLE, Species.RATTATA, Species.EKANS, Species.SANDSHREW, Species.ZUBAT, Species.GEODUDE, Species.KOFFING, Species.GRIMER, Species.ODDISH],
+ [TrainerPoolTier.UNCOMMON]: [ Species.GYARADOS, Species.TAUROS, Species.SCYTHER, Species.CUBONE, Species.GROWLITHE, Species.MURKROW, Species.GASTLY, Species.EXEGGCUTE, Species.VOLTORB],
+ [TrainerPoolTier.RARE]: [Species.PORYGON, Species.ALOLA_RATTATA, Species.ALOLA_SANDSHREW, Species.ALOLA_MEOWTH, Species.ALOLA_GRIMER, Species.ALOLA_GEODUDE],
+ [TrainerPoolTier.SUPER_RARE]: [Species.DRATINI, Species.LARVITAR]
+ }),
+ [TrainerType.MAGMA_GRUNT]: new TrainerConfig(++t).setHasGenders("Magma Grunt Female").setHasDouble("Magma Grunts").setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_aqua_magma_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene))
+ .setSpeciesPools({
+ [TrainerPoolTier.COMMON]: [Species.SLUGMA, Species.POOCHYENA, Species.NUMEL, Species.ZIGZAGOON, Species.DIGLETT, Species.MAGBY, Species.TORKOAL, Species.BALTOY, Species.BARBOACH],
+ [TrainerPoolTier.UNCOMMON]: [Species.SOLROCK, Species.HIPPOPOTAS, Species.SANDACONDA, Species.PHANPY, Species.SWINUB, Species.GLIGAR],
+ [TrainerPoolTier.RARE]: [Species.TRAPINCH, Species.HEATMOR],
+ [TrainerPoolTier.SUPER_RARE]: [Species.TURTONATOR, Species.CHARCADET]
+ }),
+ [TrainerType.AQUA_GRUNT]: new TrainerConfig(++t).setHasGenders("Aqua Grunt Female").setHasDouble("Aqua Grunts").setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_aqua_magma_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene))
+ .setSpeciesPools({
+ [TrainerPoolTier.COMMON]: [ Species.CARVANHA, Species.WAILMER, Species.ZIGZAGOON, Species.LOTAD, Species.CORPHISH, Species.SPHEAL ],
+ [TrainerPoolTier.UNCOMMON]: [Species.CLAMPERL, Species.CHINCHOU, Species.WOOPER, Species.WINGULL, Species.TENTACOOL, Species.QWILFISH ],
+ [TrainerPoolTier.RARE]: [Species.MANTINE, Species.BASCULEGION, Species.REMORAID, Species.ARROKUDA],
+ [TrainerPoolTier.SUPER_RARE]: [Species.DONDOZO]
+ }),
+ [TrainerType.GALACTIC_GRUNT]: new TrainerConfig(++t).setHasGenders("Galactic Grunt Female").setHasDouble("Galactic Grunts").setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_galactic_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene))
+ .setSpeciesPools({
+ [TrainerPoolTier.COMMON]: [ Species.GLAMEOW, Species.STUNKY, Species.CROAGUNK, Species.SHINX, Species.WURMPLE, Species.BRONZOR, Species.DRIFLOON, Species.BURMY],
+ [TrainerPoolTier.UNCOMMON]: [ Species.CARNIVINE, Species.GROWLITHE, Species.QWILFISH, Species.SNEASEL ],
+ [TrainerPoolTier.RARE]: [Species.HISUI_GROWLITHE, Species.HISUI_QWILFISH, Species.HISUI_SNEASEL],
+ [TrainerPoolTier.SUPER_RARE]: [Species.HISUI_ZORUA, Species.HISUI_SLIGGOO]
+ }),
+ [TrainerType.PLASMA_GRUNT]: new TrainerConfig(++t).setHasGenders("Plasma Grunt Female").setHasDouble("Plasma Grunts").setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_plasma_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene))
+ .setSpeciesPools({
+ [TrainerPoolTier.COMMON]: [ Species.PATRAT, Species.LILLIPUP, Species.PURRLOIN, Species.SCRAFTY, Species.WOOBAT, Species.VANILLITE, Species.SANDILE, Species.TRUBBISH],
+ [TrainerPoolTier.UNCOMMON]: [ Species.FRILLISH, Species.VENIPEDE, Species.GOLETT, Species.TIMBURR, Species.DARUMAKA, Species.AMOONGUSS],
+ [TrainerPoolTier.RARE]: [Species.PAWNIARD, Species.VULLABY, Species.ZORUA, Species.DRILBUR, Species.KLINK],
+ [TrainerPoolTier.SUPER_RARE]: [Species.DRUDDIGON, Species.BOUFFALANT, Species.AXEW, Species.DEINO, Species.DURANT]
+ }),
+ [TrainerType.FLARE_GRUNT]: new TrainerConfig(++t).setHasGenders("Flare Grunt Female").setHasDouble("Flare Grunts").setMoneyMultiplier(1.0).setEncounterBgm(TrainerType.PLASMA_GRUNT).setBattleBgm("battle_plasma_grunt").setMixedBattleBgm("battle_flare_grunt").setVictoryBgm("victory_team_plasma").setPartyTemplateFunc(scene => getEvilGruntPartyTemplate(scene))
+ .setSpeciesPools({
+ [TrainerPoolTier.COMMON]: [ Species.FLETCHLING, Species.LITLEO, Species.PONYTA, Species.INKAY, Species.HOUNDOUR, Species.SKORUPI, Species.SCRAFTY, Species.CROAGUNK],
+ [TrainerPoolTier.UNCOMMON]: [Species.HELIOPTILE, Species.ELECTRIKE, Species.SKRELP, Species.GULPIN, Species.PURRLOIN, Species.POOCHYENA, Species.SCATTERBUG],
+ [TrainerPoolTier.RARE]: [Species.LITWICK, Species.SNEASEL, Species.PANCHAM, Species.PAWNIARD],
+ [TrainerPoolTier.SUPER_RARE]: [Species.NOIVERN, Species.DRUDDIGON]
+ }),
+ [TrainerType.BROCK]: new TrainerConfig((t = TrainerType.BROCK)).initForGymLeader(signatureSpecies["BROCK"],true, Type.ROCK).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"),
+ [TrainerType.MISTY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["MISTY"],false, Type.WATER).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"),
+ [TrainerType.LT_SURGE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["LT_SURGE"],true, Type.ELECTRIC).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"),
+ [TrainerType.ERIKA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["ERIKA"],false, Type.GRASS).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"),
+ [TrainerType.JANINE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["JANINE"],false, Type.POISON).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"),
+ [TrainerType.SABRINA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["SABRINA"],false, Type.PSYCHIC).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"),
+ [TrainerType.BLAINE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BLAINE"],true, Type.FIRE).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"),
+ [TrainerType.GIOVANNI]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["GIOVANNI"],true, Type.DARK).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"),
+ [TrainerType.FALKNER]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["FALKNER"],true, Type.FLYING).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"),
+ [TrainerType.BUGSY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BUGSY"],true, Type.BUG).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"),
+ [TrainerType.WHITNEY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["WHITNEY"],false, Type.NORMAL).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"),
+ [TrainerType.MORTY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["MORTY"],true, Type.GHOST).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"),
+ [TrainerType.CHUCK]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CHUCK"],true, Type.FIGHTING).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"),
+ [TrainerType.JASMINE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["JASMINE"],false, Type.STEEL).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"),
+ [TrainerType.PRYCE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["PRYCE"],true, Type.ICE).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"),
+ [TrainerType.CLAIR]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CLAIR"],false, Type.DRAGON).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"),
+ [TrainerType.ROXANNE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["ROXANNE"],false, Type.ROCK).setBattleBgm("battle_hoenn_gym").setMixedBattleBgm("battle_hoenn_gym"),
+ [TrainerType.BRAWLY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BRAWLY"],true, Type.FIGHTING).setBattleBgm("battle_hoenn_gym").setMixedBattleBgm("battle_hoenn_gym"),
+ [TrainerType.WATTSON]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["WATTSON"],true, Type.ELECTRIC).setBattleBgm("battle_hoenn_gym").setMixedBattleBgm("battle_hoenn_gym"),
+ [TrainerType.FLANNERY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["FLANNERY"],false, Type.FIRE).setBattleBgm("battle_hoenn_gym").setMixedBattleBgm("battle_hoenn_gym"),
+ [TrainerType.NORMAN]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["NORMAN"],true, Type.NORMAL).setBattleBgm("battle_hoenn_gym").setMixedBattleBgm("battle_hoenn_gym"),
+ [TrainerType.WINONA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["WINONA"],false, Type.FLYING).setBattleBgm("battle_hoenn_gym").setMixedBattleBgm("battle_hoenn_gym"),
+ [TrainerType.TATE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["TATE"],true, Type.PSYCHIC).setBattleBgm("battle_hoenn_gym").setMixedBattleBgm("battle_hoenn_gym").setHasDouble("tate_liza_double").setDoubleTrainerType(TrainerType.LIZA).setDoubleTitle("gym_leader_double"),
+ [TrainerType.LIZA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["LIZA"],false, Type.PSYCHIC).setBattleBgm("battle_hoenn_gym").setMixedBattleBgm("battle_hoenn_gym").setHasDouble("liza_tate_double").setDoubleTrainerType(TrainerType.TATE).setDoubleTitle("gym_leader_double"),
+ [TrainerType.JUAN]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["JUAN"],true, Type.WATER).setBattleBgm("battle_hoenn_gym").setMixedBattleBgm("battle_hoenn_gym"),
+ [TrainerType.ROARK]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["ROARK"],true, Type.ROCK).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"),
+ [TrainerType.GARDENIA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["GARDENIA"],false, Type.GRASS).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"),
+ [TrainerType.MAYLENE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["MAYLENE"],false, Type.FIGHTING).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"),
+ [TrainerType.CRASHER_WAKE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CRASHER_WAKE"],true, Type.WATER).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"),
+ [TrainerType.FANTINA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["FANTINA"],false, Type.GHOST).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"),
+ [TrainerType.BYRON]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BYRON"],true, Type.STEEL).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"),
+ [TrainerType.CANDICE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CANDICE"],false, Type.ICE).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"),
+ [TrainerType.VOLKNER]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["VOLKNER"],true, Type.ELECTRIC).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"),
+ [TrainerType.CILAN]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CILAN"],true, Type.GRASS).setMixedBattleBgm("battle_unova_gym"),
+ [TrainerType.CHILI]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CHILI"],true, Type.FIRE).setMixedBattleBgm("battle_unova_gym"),
+ [TrainerType.CRESS]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CRESS"],true, Type.WATER).setMixedBattleBgm("battle_unova_gym"),
+ [TrainerType.CHEREN]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CHEREN"],true, Type.NORMAL).setMixedBattleBgm("battle_unova_gym"),
+ [TrainerType.LENORA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["LENORA"],false, Type.NORMAL).setMixedBattleBgm("battle_unova_gym"),
+ [TrainerType.ROXIE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["ROXIE"],false, Type.POISON).setMixedBattleBgm("battle_unova_gym"),
+ [TrainerType.BURGH]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BURGH"],true, Type.BUG).setMixedBattleBgm("battle_unova_gym"),
+ [TrainerType.ELESA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["ELESA"],false, Type.ELECTRIC).setMixedBattleBgm("battle_unova_gym"),
+ [TrainerType.CLAY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CLAY"],true, Type.GROUND).setMixedBattleBgm("battle_unova_gym"),
+ [TrainerType.SKYLA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["SKYLA"],false, Type.FLYING).setMixedBattleBgm("battle_unova_gym"),
+ [TrainerType.BRYCEN]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BRYCEN"],true, Type.ICE).setMixedBattleBgm("battle_unova_gym"),
+ [TrainerType.DRAYDEN]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["DRAYDEN"],true, Type.DRAGON).setMixedBattleBgm("battle_unova_gym"),
+ [TrainerType.MARLON]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["MARLON"],true, Type.WATER).setMixedBattleBgm("battle_unova_gym"),
+ [TrainerType.VIOLA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["VIOLA"],false, Type.BUG).setMixedBattleBgm("battle_kalos_gym"),
+ [TrainerType.GRANT]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["GRANT"],true, Type.ROCK).setMixedBattleBgm("battle_kalos_gym"),
+ [TrainerType.KORRINA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["KORRINA"],false, Type.FIGHTING).setMixedBattleBgm("battle_kalos_gym"),
+ [TrainerType.RAMOS]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["RAMOS"],true, Type.GRASS).setMixedBattleBgm("battle_kalos_gym"),
+ [TrainerType.CLEMONT]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["CLEMONT"],true, Type.ELECTRIC).setMixedBattleBgm("battle_kalos_gym"),
+ [TrainerType.VALERIE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["VALERIE"],false, Type.FAIRY).setMixedBattleBgm("battle_kalos_gym"),
+ [TrainerType.OLYMPIA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["OLYMPIA"],false, Type.PSYCHIC).setMixedBattleBgm("battle_kalos_gym"),
+ [TrainerType.WULFRIC]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["WULFRIC"],true, Type.ICE).setMixedBattleBgm("battle_kalos_gym"),
+ [TrainerType.MILO]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["MILO"],true, Type.GRASS).setMixedBattleBgm("battle_galar_gym"),
+ [TrainerType.NESSA]: new TrainerConfig(++t).setName("Nessa").initForGymLeader(signatureSpecies["NESSA"],false, Type.WATER).setMixedBattleBgm("battle_galar_gym"),
+ [TrainerType.KABU]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["KABU"],true, Type.FIRE).setMixedBattleBgm("battle_galar_gym"),
+ [TrainerType.BEA]: new TrainerConfig(++t).setName("Bea").initForGymLeader(signatureSpecies["BEA"],false, Type.FIGHTING).setMixedBattleBgm("battle_galar_gym"),
+ [TrainerType.ALLISTER]: new TrainerConfig(++t).setName("Allister").initForGymLeader(signatureSpecies["ALLISTER"],true, Type.GHOST).setMixedBattleBgm("battle_galar_gym"),
+ [TrainerType.OPAL]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["OPAL"],false, Type.FAIRY).setMixedBattleBgm("battle_galar_gym"),
+ [TrainerType.BEDE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BEDE"],true, Type.FAIRY).setMixedBattleBgm("battle_galar_gym"),
+ [TrainerType.GORDIE]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["GORDIE"],true, Type.ROCK).setMixedBattleBgm("battle_galar_gym"),
+ [TrainerType.MELONY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["MELONY"],false, Type.ICE).setMixedBattleBgm("battle_galar_gym"),
+ [TrainerType.PIERS]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["PIERS"],true, Type.DARK).setHasDouble("piers_marnie_double").setDoubleTrainerType(TrainerType.MARNIE).setDoubleTitle("gym_leader_double").setMixedBattleBgm("battle_galar_gym"),
+ [TrainerType.MARNIE]: new TrainerConfig(++t).setName("Marnie").initForGymLeader(signatureSpecies["MARNIE"],false, Type.DARK).setHasDouble("marnie_piers_double").setDoubleTrainerType(TrainerType.PIERS).setDoubleTitle("gym_leader_double").setMixedBattleBgm("battle_galar_gym"),
+ [TrainerType.RAIHAN]: new TrainerConfig(++t).setName("Raihan").initForGymLeader(signatureSpecies["RAIHAN"],true, Type.DRAGON).setMixedBattleBgm("battle_galar_gym"),
+ [TrainerType.KATY]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["KATY"],false, Type.BUG).setMixedBattleBgm("battle_paldea_gym"),
+ [TrainerType.BRASSIUS]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["BRASSIUS"],true, Type.GRASS).setMixedBattleBgm("battle_paldea_gym"),
+ [TrainerType.IONO]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["IONO"],false, Type.ELECTRIC).setMixedBattleBgm("battle_paldea_gym"),
+ [TrainerType.KOFU]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["KOFU"],true, Type.WATER).setMixedBattleBgm("battle_paldea_gym"),
+ [TrainerType.LARRY]: new TrainerConfig(++t).setName("Larry").initForGymLeader(signatureSpecies["LARRY"],true, Type.NORMAL).setMixedBattleBgm("battle_paldea_gym"),
+ [TrainerType.RYME]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["RYME"],false, Type.GHOST).setMixedBattleBgm("battle_paldea_gym"),
+ [TrainerType.TULIP]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["TULIP"],false, Type.PSYCHIC).setMixedBattleBgm("battle_paldea_gym"),
+ [TrainerType.GRUSHA]: new TrainerConfig(++t).initForGymLeader(signatureSpecies["GRUSHA"],true, Type.ICE).setMixedBattleBgm("battle_paldea_gym"),
- [TrainerType.LORELEI]: new TrainerConfig((t = TrainerType.LORELEI)).initForEliteFour(signatureSpecies["LORELEI"],false, Type.ICE),
- [TrainerType.BRUNO]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["BRUNO"], true, Type.FIGHTING),
- [TrainerType.AGATHA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["AGATHA"], false,Type.GHOST),
- [TrainerType.LANCE]: new TrainerConfig(++t).setName("Lance").initForEliteFour(signatureSpecies["LANCE"],true, Type.DRAGON),
- [TrainerType.WILL]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["WILL"],true, Type.PSYCHIC),
- [TrainerType.KOGA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["KOGA"], true, Type.POISON),
- [TrainerType.KAREN]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["KAREN"],false, Type.DARK),
- [TrainerType.SIDNEY]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["SIDNEY"],true, Type.DARK),
- [TrainerType.PHOEBE]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["PHOEBE"],false, Type.GHOST),
- [TrainerType.GLACIA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["GLACIA"],false, Type.ICE),
- [TrainerType.DRAKE]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["DRAKE"],true, Type.DRAGON),
- [TrainerType.AARON]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["AARON"],true, Type.BUG),
- [TrainerType.BERTHA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["BERTHA"],false, Type.GROUND),
- [TrainerType.FLINT]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["FLINT"],true, Type.FIRE),
- [TrainerType.LUCIAN]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["LUCIAN"], true,Type.PSYCHIC),
- [TrainerType.SHAUNTAL]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["SHAUNTAL"],false, Type.GHOST),
- [TrainerType.MARSHAL]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["MARSHAL"],true, Type.FIGHTING),
- [TrainerType.GRIMSLEY]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["GRIMSLEY"],true, Type.DARK),
- [TrainerType.CAITLIN]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["CAITLIN"],false, Type.PSYCHIC),
- [TrainerType.MALVA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["MALVA"], false,Type.FIRE),
- [TrainerType.SIEBOLD]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["SIEBOLD"], true,Type.WATER),
- [TrainerType.WIKSTROM]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["WIKSTROM"],true, Type.STEEL),
- [TrainerType.DRASNA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["DRASNA"],false, Type.DRAGON),
- [TrainerType.HALA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["HALA"],true, Type.FIGHTING),
- [TrainerType.MOLAYNE]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["MOLAYNE"],true, Type.STEEL),
- [TrainerType.OLIVIA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["OLIVIA"],false, Type.ROCK),
- [TrainerType.ACEROLA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["ACEROLA"],false, Type.GHOST),
- [TrainerType.KAHILI]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["KAHILI"],false, Type.FLYING),
- [TrainerType.MARNIE_ELITE]: new TrainerConfig(++t).setName("Marnie").initForEliteFour(signatureSpecies["MARNIE_ELITE"],false, Type.DARK),
- [TrainerType.NESSA_ELITE]: new TrainerConfig(++t).setName("Nessa").initForEliteFour(signatureSpecies["NESSA_ELITE"],false, Type.WATER),
- [TrainerType.BEA_ELITE]: new TrainerConfig(++t).setName("Bea").initForEliteFour(signatureSpecies["BEA_ELITE"],false, Type.FIGHTING),
- [TrainerType.ALLISTER_ELITE]: new TrainerConfig(++t).setName("Allister").initForEliteFour(signatureSpecies["ALLISTER_ELITE"],true, Type.GHOST),
- [TrainerType.RAIHAN_ELITE]: new TrainerConfig(++t).setName("Raihan").initForEliteFour(signatureSpecies["RAIHAN_ELITE"],true, Type.DRAGON),
- [TrainerType.RIKA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["RIKA"],false, Type.GROUND),
- [TrainerType.POPPY]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["POPPY"],false, Type.STEEL),
- [TrainerType.LARRY_ELITE]: new TrainerConfig(++t).setName("Larry").initForEliteFour(signatureSpecies["LARRY_ELITE"],true, Type.NORMAL, Type.FLYING),
- [TrainerType.HASSEL]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["HASSEL"],true, Type.DRAGON),
- [TrainerType.CRISPIN]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["CRISPIN"],true, Type.FIRE),
- [TrainerType.AMARYS]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["AMARYS"],false, Type.STEEL),
- [TrainerType.LACEY]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["LACEY"],false, Type.FAIRY),
- [TrainerType.DRAYTON]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["DRAYTON"],true, Type.DRAGON),
+ [TrainerType.LORELEI]: new TrainerConfig((t = TrainerType.LORELEI)).initForEliteFour(signatureSpecies["LORELEI"],false, Type.ICE).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"),
+ [TrainerType.BRUNO]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["BRUNO"], true, Type.FIGHTING).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"),
+ [TrainerType.AGATHA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["AGATHA"], false,Type.GHOST).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"),
+ [TrainerType.LANCE]: new TrainerConfig(++t).setName("Lance").initForEliteFour(signatureSpecies["LANCE"],true, Type.DRAGON).setBattleBgm("battle_kanto_gym").setMixedBattleBgm("battle_kanto_gym"),
+ [TrainerType.WILL]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["WILL"],true, Type.PSYCHIC).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"),
+ [TrainerType.KOGA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["KOGA"], true, Type.POISON).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"),
+ [TrainerType.KAREN]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["KAREN"],false, Type.DARK).setBattleBgm("battle_johto_gym").setMixedBattleBgm("battle_johto_gym"),
+ [TrainerType.SIDNEY]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["SIDNEY"],true, Type.DARK).setMixedBattleBgm("battle_hoenn_elite"),
+ [TrainerType.PHOEBE]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["PHOEBE"],false, Type.GHOST).setMixedBattleBgm("battle_hoenn_elite"),
+ [TrainerType.GLACIA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["GLACIA"],false, Type.ICE).setMixedBattleBgm("battle_hoenn_elite"),
+ [TrainerType.DRAKE]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["DRAKE"],true, Type.DRAGON).setMixedBattleBgm("battle_hoenn_elite"),
+ [TrainerType.AARON]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["AARON"],true, Type.BUG).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"),
+ [TrainerType.BERTHA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["BERTHA"],false, Type.GROUND).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"),
+ [TrainerType.FLINT]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["FLINT"],true, Type.FIRE).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"),
+ [TrainerType.LUCIAN]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["LUCIAN"], true,Type.PSYCHIC).setBattleBgm("battle_sinnoh_gym").setMixedBattleBgm("battle_sinnoh_gym"),
+ [TrainerType.SHAUNTAL]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["SHAUNTAL"],false, Type.GHOST).setMixedBattleBgm("battle_unova_elite"),
+ [TrainerType.MARSHAL]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["MARSHAL"],true, Type.FIGHTING).setMixedBattleBgm("battle_unova_elite"),
+ [TrainerType.GRIMSLEY]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["GRIMSLEY"],true, Type.DARK).setMixedBattleBgm("battle_unova_elite"),
+ [TrainerType.CAITLIN]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["CAITLIN"],false, Type.PSYCHIC).setMixedBattleBgm("battle_unova_elite"),
+ [TrainerType.MALVA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["MALVA"], false,Type.FIRE).setMixedBattleBgm("battle_kalos_elite"),
+ [TrainerType.SIEBOLD]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["SIEBOLD"], true,Type.WATER).setMixedBattleBgm("battle_kalos_elite"),
+ [TrainerType.WIKSTROM]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["WIKSTROM"],true, Type.STEEL).setMixedBattleBgm("battle_kalos_elite"),
+ [TrainerType.DRASNA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["DRASNA"],false, Type.DRAGON).setMixedBattleBgm("battle_kalos_elite"),
+ [TrainerType.HALA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["HALA"],true, Type.FIGHTING).setMixedBattleBgm("battle_alola_elite"),
+ [TrainerType.MOLAYNE]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["MOLAYNE"],true, Type.STEEL).setMixedBattleBgm("battle_alola_elite"),
+ [TrainerType.OLIVIA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["OLIVIA"],false, Type.ROCK).setMixedBattleBgm("battle_alola_elite"),
+ [TrainerType.ACEROLA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["ACEROLA"],false, Type.GHOST).setMixedBattleBgm("battle_alola_elite"),
+ [TrainerType.KAHILI]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["KAHILI"],false, Type.FLYING).setMixedBattleBgm("battle_alola_elite"),
+ [TrainerType.MARNIE_ELITE]: new TrainerConfig(++t).setName("Marnie").initForEliteFour(signatureSpecies["MARNIE_ELITE"],false, Type.DARK).setMixedBattleBgm("battle_galar_elite"),
+ [TrainerType.NESSA_ELITE]: new TrainerConfig(++t).setName("Nessa").initForEliteFour(signatureSpecies["NESSA_ELITE"],false, Type.WATER).setMixedBattleBgm("battle_galar_elite"),
+ [TrainerType.BEA_ELITE]: new TrainerConfig(++t).setName("Bea").initForEliteFour(signatureSpecies["BEA_ELITE"],false, Type.FIGHTING).setMixedBattleBgm("battle_galar_elite"),
+ [TrainerType.ALLISTER_ELITE]: new TrainerConfig(++t).setName("Allister").initForEliteFour(signatureSpecies["ALLISTER_ELITE"],true, Type.GHOST).setMixedBattleBgm("battle_galar_elite"),
+ [TrainerType.RAIHAN_ELITE]: new TrainerConfig(++t).setName("Raihan").initForEliteFour(signatureSpecies["RAIHAN_ELITE"],true, Type.DRAGON).setMixedBattleBgm("battle_galar_elite"),
+ [TrainerType.RIKA]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["RIKA"],false, Type.GROUND).setMixedBattleBgm("battle_paldea_elite"),
+ [TrainerType.POPPY]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["POPPY"],false, Type.STEEL).setMixedBattleBgm("battle_paldea_elite"),
+ [TrainerType.LARRY_ELITE]: new TrainerConfig(++t).setName("Larry").initForEliteFour(signatureSpecies["LARRY_ELITE"],true, Type.NORMAL, Type.FLYING).setMixedBattleBgm("battle_paldea_elite"),
+ [TrainerType.HASSEL]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["HASSEL"],true, Type.DRAGON).setMixedBattleBgm("battle_paldea_elite"),
+ [TrainerType.CRISPIN]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["CRISPIN"],true, Type.FIRE).setMixedBattleBgm("battle_bb_elite"),
+ [TrainerType.AMARYS]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["AMARYS"],false, Type.STEEL).setMixedBattleBgm("battle_bb_elite"),
+ [TrainerType.LACEY]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["LACEY"],false, Type.FAIRY).setMixedBattleBgm("battle_bb_elite"),
+ [TrainerType.DRAYTON]: new TrainerConfig(++t).initForEliteFour(signatureSpecies["DRAYTON"],true, Type.DRAGON).setMixedBattleBgm("battle_bb_elite"),
- [TrainerType.BLUE]: new TrainerConfig((t = TrainerType.BLUE)).initForChampion(signatureSpecies["BLUE"],true).setBattleBgm("battle_kanto_champion").setHasDouble("blue_red_double").setDoubleTrainerType(TrainerType.RED).setDoubleTitle("champion_double")
+ [TrainerType.BLUE]: new TrainerConfig((t = TrainerType.BLUE)).initForChampion(signatureSpecies["BLUE"],true).setBattleBgm("battle_kanto_champion").setMixedBattleBgm("battle_kanto_champion").setHasDouble("blue_red_double").setDoubleTrainerType(TrainerType.RED).setDoubleTitle("champion_double")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.ALAKAZAM], TrainerSlot.TRAINER, true, p => {
p.generateAndPopulateMoveset();
}))
@@ -1220,7 +1347,7 @@ export const trainerConfigs: TrainerConfigs = {
p.formIndex = 1;
p.generateAndPopulateMoveset();
})),
- [TrainerType.RED]: new TrainerConfig(++t).initForChampion(signatureSpecies["RED"],true).setBattleBgm("battle_johto_champion").setHasDouble("red_blue_double").setDoubleTrainerType(TrainerType.BLUE).setDoubleTitle("champion_double")
+ [TrainerType.RED]: new TrainerConfig(++t).initForChampion(signatureSpecies["RED"],true).setBattleBgm("battle_johto_champion").setMixedBattleBgm("battle_johto_champion").setHasDouble("red_blue_double").setDoubleTrainerType(TrainerType.BLUE).setDoubleTitle("champion_double")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.PIKACHU], TrainerSlot.TRAINER, true, p => {
p.formIndex = 8;
p.generateAndPopulateMoveset();
@@ -1229,7 +1356,7 @@ export const trainerConfigs: TrainerConfigs = {
p.formIndex = 1;
p.generateAndPopulateMoveset();
})),
- [TrainerType.LANCE_CHAMPION]: new TrainerConfig(++t).setName("Lance").initForChampion(signatureSpecies["LANCE_CHAMPION"],true).setBattleBgm("battle_johto_champion")
+ [TrainerType.LANCE_CHAMPION]: new TrainerConfig(++t).setName("Lance").initForChampion(signatureSpecies["LANCE_CHAMPION"],true).setBattleBgm("battle_johto_champion").setMixedBattleBgm("battle_johto_champion")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.AERODACTYL], TrainerSlot.TRAINER, true, p => {
p.generateAndPopulateMoveset();
}))
@@ -1237,7 +1364,7 @@ export const trainerConfigs: TrainerConfigs = {
p.formIndex = 1;
p.generateAndPopulateMoveset();
})),
- [TrainerType.STEVEN]: new TrainerConfig(++t).initForChampion(signatureSpecies["STEVEN"],true).setBattleBgm("battle_hoenn_champion").setHasDouble("steven_wallace_double").setDoubleTrainerType(TrainerType.WALLACE).setDoubleTitle("champion_double")
+ [TrainerType.STEVEN]: new TrainerConfig(++t).initForChampion(signatureSpecies["STEVEN"],true).setBattleBgm("battle_hoenn_champion").setMixedBattleBgm("battle_hoenn_champion").setHasDouble("steven_wallace_double").setDoubleTrainerType(TrainerType.WALLACE).setDoubleTitle("champion_double")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.SKARMORY], TrainerSlot.TRAINER, true, p => {
p.generateAndPopulateMoveset();
}))
@@ -1245,7 +1372,7 @@ export const trainerConfigs: TrainerConfigs = {
p.formIndex = 1;
p.generateAndPopulateMoveset();
})),
- [TrainerType.WALLACE]: new TrainerConfig(++t).initForChampion(signatureSpecies["WALLACE"],true).setBattleBgm("battle_hoenn_champion").setHasDouble("wallace_steven_double").setDoubleTrainerType(TrainerType.STEVEN).setDoubleTitle("champion_double")
+ [TrainerType.WALLACE]: new TrainerConfig(++t).initForChampion(signatureSpecies["WALLACE"],true).setBattleBgm("battle_hoenn_champion").setMixedBattleBgm("battle_hoenn_champion").setHasDouble("wallace_steven_double").setDoubleTrainerType(TrainerType.STEVEN).setDoubleTitle("champion_double")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.PELIPPER], TrainerSlot.TRAINER, true, p => {
p.abilityIndex = 1; // Drizzle
p.generateAndPopulateMoveset();
@@ -1254,7 +1381,7 @@ export const trainerConfigs: TrainerConfigs = {
p.formIndex = 1;
p.generateAndPopulateMoveset();
})),
- [TrainerType.CYNTHIA]: new TrainerConfig(++t).initForChampion(signatureSpecies["CYNTHIA"],false).setBattleBgm("battle_sinnoh_champion")
+ [TrainerType.CYNTHIA]: new TrainerConfig(++t).initForChampion(signatureSpecies["CYNTHIA"],false).setBattleBgm("battle_sinnoh_champion").setMixedBattleBgm("battle_sinnoh_champion")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.SPIRITOMB], TrainerSlot.TRAINER, true, p => {
p.generateAndPopulateMoveset();
}))
@@ -1262,11 +1389,11 @@ export const trainerConfigs: TrainerConfigs = {
p.formIndex = 1;
p.generateAndPopulateMoveset();
})),
- [TrainerType.ALDER]: new TrainerConfig(++t).initForChampion(signatureSpecies["ALDER"],true).setHasDouble("alder_iris_double").setDoubleTrainerType(TrainerType.IRIS).setDoubleTitle("champion_double").setBattleBgm("battle_champion_alder")
+ [TrainerType.ALDER]: new TrainerConfig(++t).initForChampion(signatureSpecies["ALDER"],true).setHasDouble("alder_iris_double").setDoubleTrainerType(TrainerType.IRIS).setDoubleTitle("champion_double").setBattleBgm("battle_champion_alder").setMixedBattleBgm("battle_champion_alder")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.BOUFFALANT, Species.BRAVIARY], TrainerSlot.TRAINER, true, p => {
p.generateAndPopulateMoveset();
})),
- [TrainerType.IRIS]: new TrainerConfig(++t).initForChampion(signatureSpecies["IRIS"],false).setBattleBgm("battle_champion_iris").setHasDouble("iris_alder_double").setDoubleTrainerType(TrainerType.ALDER).setDoubleTitle("champion_double")
+ [TrainerType.IRIS]: new TrainerConfig(++t).initForChampion(signatureSpecies["IRIS"],false).setBattleBgm("battle_champion_iris").setMixedBattleBgm("battle_champion_iris").setHasDouble("iris_alder_double").setDoubleTrainerType(TrainerType.ALDER).setDoubleTitle("champion_double")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.DRUDDIGON], TrainerSlot.TRAINER, true, p => {
p.generateAndPopulateMoveset();
}))
@@ -1274,7 +1401,7 @@ export const trainerConfigs: TrainerConfigs = {
p.formIndex = 1;
p.generateAndPopulateMoveset();
})),
- [TrainerType.DIANTHA]: new TrainerConfig(++t).initForChampion(signatureSpecies["DIANTHA"],false)
+ [TrainerType.DIANTHA]: new TrainerConfig(++t).initForChampion(signatureSpecies["DIANTHA"],false).setMixedBattleBgm("battle_kalos_champion")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.GOURGEIST], TrainerSlot.TRAINER, true, p => {
p.generateAndPopulateMoveset();
}))
@@ -1282,11 +1409,11 @@ export const trainerConfigs: TrainerConfigs = {
p.formIndex = 1;
p.generateAndPopulateMoveset();
})),
- [TrainerType.HAU]: new TrainerConfig(++t).initForChampion(signatureSpecies["HAU"],true)
+ [TrainerType.HAU]: new TrainerConfig(++t).initForChampion(signatureSpecies["HAU"],true).setMixedBattleBgm("battle_alola_champion")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.ALOLA_RAICHU], TrainerSlot.TRAINER, true, p => {
p.generateAndPopulateMoveset();
})),
- [TrainerType.LEON]: new TrainerConfig(++t).initForChampion(signatureSpecies["LEON"],true)
+ [TrainerType.LEON]: new TrainerConfig(++t).initForChampion(signatureSpecies["LEON"],true).setMixedBattleBgm("battle_galar_champion")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.RILLABOOM, Species.CINDERACE, Species.INTELEON], TrainerSlot.TRAINER, true, p => {
p.generateAndPopulateMoveset();
}))
@@ -1294,35 +1421,35 @@ export const trainerConfigs: TrainerConfigs = {
p.formIndex = 3;
p.generateAndPopulateMoveset();
})),
- [TrainerType.GEETA]: new TrainerConfig(++t).initForChampion(signatureSpecies["GEETA"],false)
+ [TrainerType.GEETA]: new TrainerConfig(++t).initForChampion(signatureSpecies["GEETA"],false).setMixedBattleBgm("battle_champion_geeta")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.GLIMMORA], TrainerSlot.TRAINER, true, p => {
p.generateAndPopulateMoveset();
})),
- [TrainerType.NEMONA]: new TrainerConfig(++t).initForChampion(signatureSpecies["NEMONA"],false)
+ [TrainerType.NEMONA]: new TrainerConfig(++t).initForChampion(signatureSpecies["NEMONA"],false).setMixedBattleBgm("battle_champion_nemona")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.LYCANROC], TrainerSlot.TRAINER, true, p => {
+ p.formIndex = 0; // Midday form
p.generateAndPopulateMoveset();
})),
- [TrainerType.KIERAN]: new TrainerConfig(++t).initForChampion(signatureSpecies["KIERAN"],true)
+ [TrainerType.KIERAN]: new TrainerConfig(++t).initForChampion(signatureSpecies["KIERAN"],true).setMixedBattleBgm("battle_champion_kieran")
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.POLIWRATH, Species.POLITOED], TrainerSlot.TRAINER, true, p => {
p.generateAndPopulateMoveset();
})),
-
- [TrainerType.RIVAL]: new TrainerConfig((t = TrainerType.RIVAL)).setName("Finn").setHasGenders("Ivy").setHasCharSprite().setTitle("Rival").setStaticParty().setEncounterBgm(TrainerType.RIVAL).setBattleBgm("battle_rival").setPartyTemplates(trainerPartyTemplates.RIVAL)
+ [TrainerType.RIVAL]: new TrainerConfig((t = TrainerType.RIVAL)).setName("Finn").setHasGenders("Ivy").setHasCharSprite().setTitle("Rival").setStaticParty().setEncounterBgm(TrainerType.RIVAL).setBattleBgm("battle_rival").setMixedBattleBgm("battle_rival").setPartyTemplates(trainerPartyTemplates.RIVAL)
.setModifierRewardFuncs(() => modifierTypes.SUPER_EXP_CHARM, () => modifierTypes.EXP_SHARE)
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.BULBASAUR, Species.CHARMANDER, Species.SQUIRTLE, Species.CHIKORITA, Species.CYNDAQUIL, Species.TOTODILE, Species.TREECKO, Species.TORCHIC, Species.MUDKIP, Species.TURTWIG, Species.CHIMCHAR, Species.PIPLUP, Species.SNIVY, Species.TEPIG, Species.OSHAWOTT, Species.CHESPIN, Species.FENNEKIN, Species.FROAKIE, Species.ROWLET, Species.LITTEN, Species.POPPLIO, Species.GROOKEY, Species.SCORBUNNY, Species.SOBBLE, Species.SPRIGATITO, Species.FUECOCO, Species.QUAXLY], TrainerSlot.TRAINER, true))
.setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.PIDGEY, Species.HOOTHOOT, Species.TAILLOW, Species.STARLY, Species.PIDOVE, Species.FLETCHLING, Species.PIKIPEK, Species.ROOKIDEE, Species.WATTREL], TrainerSlot.TRAINER, true)),
- [TrainerType.RIVAL_2]: new TrainerConfig(++t).setName("Finn").setHasGenders("Ivy").setHasCharSprite().setTitle("Rival").setStaticParty().setMoneyMultiplier(1.25).setEncounterBgm(TrainerType.RIVAL).setBattleBgm("battle_rival").setPartyTemplates(trainerPartyTemplates.RIVAL_2)
+ [TrainerType.RIVAL_2]: new TrainerConfig(++t).setName("Finn").setHasGenders("Ivy").setHasCharSprite().setTitle("Rival").setStaticParty().setMoneyMultiplier(1.25).setEncounterBgm(TrainerType.RIVAL).setBattleBgm("battle_rival").setMixedBattleBgm("battle_rival").setPartyTemplates(trainerPartyTemplates.RIVAL_2)
.setModifierRewardFuncs(() => modifierTypes.EXP_SHARE)
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.IVYSAUR, Species.CHARMELEON, Species.WARTORTLE, Species.BAYLEEF, Species.QUILAVA, Species.CROCONAW, Species.GROVYLE, Species.COMBUSKEN, Species.MARSHTOMP, Species.GROTLE, Species.MONFERNO, Species.PRINPLUP, Species.SERVINE, Species.PIGNITE, Species.DEWOTT, Species.QUILLADIN, Species.BRAIXEN, Species.FROGADIER, Species.DARTRIX, Species.TORRACAT, Species.BRIONNE, Species.THWACKEY, Species.RABOOT, Species.DRIZZILE, Species.FLORAGATO, Species.CROCALOR, Species.QUAXWELL], TrainerSlot.TRAINER, true))
.setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.PIDGEOTTO, Species.HOOTHOOT, Species.TAILLOW, Species.STARAVIA, Species.TRANQUILL, Species.FLETCHINDER, Species.TRUMBEAK, Species.CORVISQUIRE, Species.WATTREL], TrainerSlot.TRAINER, true))
.setPartyMemberFunc(2, getSpeciesFilterRandomPartyMemberFunc((species: PokemonSpecies) => !pokemonEvolutions.hasOwnProperty(species.speciesId) && !pokemonPrevolutions.hasOwnProperty(species.speciesId) && species.baseTotal >= 450)),
- [TrainerType.RIVAL_3]: new TrainerConfig(++t).setName("Finn").setHasGenders("Ivy").setHasCharSprite().setTitle("Rival").setStaticParty().setMoneyMultiplier(1.5).setEncounterBgm(TrainerType.RIVAL).setBattleBgm("battle_rival").setPartyTemplates(trainerPartyTemplates.RIVAL_3)
+ [TrainerType.RIVAL_3]: new TrainerConfig(++t).setName("Finn").setHasGenders("Ivy").setHasCharSprite().setTitle("Rival").setStaticParty().setMoneyMultiplier(1.5).setEncounterBgm(TrainerType.RIVAL).setBattleBgm("battle_rival").setMixedBattleBgm("battle_rival").setPartyTemplates(trainerPartyTemplates.RIVAL_3)
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.VENUSAUR, Species.CHARIZARD, Species.BLASTOISE, Species.MEGANIUM, Species.TYPHLOSION, Species.FERALIGATR, Species.SCEPTILE, Species.BLAZIKEN, Species.SWAMPERT, Species.TORTERRA, Species.INFERNAPE, Species.EMPOLEON, Species.SERPERIOR, Species.EMBOAR, Species.SAMUROTT, Species.CHESNAUGHT, Species.DELPHOX, Species.GRENINJA, Species.DECIDUEYE, Species.INCINEROAR, Species.PRIMARINA, Species.RILLABOOM, Species.CINDERACE, Species.INTELEON, Species.MEOWSCARADA, Species.SKELEDIRGE, Species.QUAQUAVAL], TrainerSlot.TRAINER, true))
.setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.PIDGEOT, Species.NOCTOWL, Species.SWELLOW, Species.STARAPTOR, Species.UNFEZANT, Species.TALONFLAME, Species.TOUCANNON, Species.CORVIKNIGHT, Species.KILOWATTREL], TrainerSlot.TRAINER, true))
.setPartyMemberFunc(2, getSpeciesFilterRandomPartyMemberFunc((species: PokemonSpecies) => !pokemonEvolutions.hasOwnProperty(species.speciesId) && !pokemonPrevolutions.hasOwnProperty(species.speciesId) && species.baseTotal >= 450))
.setSpeciesFilter(species => species.baseTotal >= 540),
- [TrainerType.RIVAL_4]: new TrainerConfig(++t).setName("Finn").setHasGenders("Ivy").setHasCharSprite().setTitle("Rival").setBoss().setStaticParty().setMoneyMultiplier(1.75).setEncounterBgm(TrainerType.RIVAL).setBattleBgm("battle_rival_2").setPartyTemplates(trainerPartyTemplates.RIVAL_4)
+ [TrainerType.RIVAL_4]: new TrainerConfig(++t).setName("Finn").setHasGenders("Ivy").setHasCharSprite().setTitle("Rival").setBoss().setStaticParty().setMoneyMultiplier(1.75).setEncounterBgm(TrainerType.RIVAL).setBattleBgm("battle_rival_2").setMixedBattleBgm("battle_rival_2").setPartyTemplates(trainerPartyTemplates.RIVAL_4)
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.VENUSAUR, Species.CHARIZARD, Species.BLASTOISE, Species.MEGANIUM, Species.TYPHLOSION, Species.FERALIGATR, Species.SCEPTILE, Species.BLAZIKEN, Species.SWAMPERT, Species.TORTERRA, Species.INFERNAPE, Species.EMPOLEON, Species.SERPERIOR, Species.EMBOAR, Species.SAMUROTT, Species.CHESNAUGHT, Species.DELPHOX, Species.GRENINJA, Species.DECIDUEYE, Species.INCINEROAR, Species.PRIMARINA, Species.RILLABOOM, Species.CINDERACE, Species.INTELEON, Species.MEOWSCARADA, Species.SKELEDIRGE, Species.QUAQUAVAL], TrainerSlot.TRAINER, true))
.setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.PIDGEOT, Species.NOCTOWL, Species.SWELLOW, Species.STARAPTOR, Species.UNFEZANT, Species.TALONFLAME, Species.TOUCANNON, Species.CORVIKNIGHT, Species.KILOWATTREL], TrainerSlot.TRAINER, true))
.setPartyMemberFunc(2, getSpeciesFilterRandomPartyMemberFunc((species: PokemonSpecies) => !pokemonEvolutions.hasOwnProperty(species.speciesId) && !pokemonPrevolutions.hasOwnProperty(species.speciesId) && species.baseTotal >= 450))
@@ -1331,7 +1458,7 @@ export const trainerConfigs: TrainerConfigs = {
const starter = party[0];
return [modifierTypes.TERA_SHARD().generateType(null, [starter.species.type1]).withIdFromFunc(modifierTypes.TERA_SHARD).newModifier(starter) as PersistentModifier];
}),
- [TrainerType.RIVAL_5]: new TrainerConfig(++t).setName("Finn").setHasGenders("Ivy").setHasCharSprite().setTitle("Rival").setBoss().setStaticParty().setMoneyMultiplier(2.25).setEncounterBgm(TrainerType.RIVAL).setBattleBgm("battle_rival_3").setPartyTemplates(trainerPartyTemplates.RIVAL_5)
+ [TrainerType.RIVAL_5]: new TrainerConfig(++t).setName("Finn").setHasGenders("Ivy").setHasCharSprite().setTitle("Rival").setBoss().setStaticParty().setMoneyMultiplier(2.25).setEncounterBgm(TrainerType.RIVAL).setBattleBgm("battle_rival_3").setMixedBattleBgm("battle_rival_3").setPartyTemplates(trainerPartyTemplates.RIVAL_5)
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.VENUSAUR, Species.CHARIZARD, Species.BLASTOISE, Species.MEGANIUM, Species.TYPHLOSION, Species.FERALIGATR, Species.SCEPTILE, Species.BLAZIKEN, Species.SWAMPERT, Species.TORTERRA, Species.INFERNAPE, Species.EMPOLEON, Species.SERPERIOR, Species.EMBOAR, Species.SAMUROTT, Species.CHESNAUGHT, Species.DELPHOX, Species.GRENINJA, Species.DECIDUEYE, Species.INCINEROAR, Species.PRIMARINA, Species.RILLABOOM, Species.CINDERACE, Species.INTELEON, Species.MEOWSCARADA, Species.SKELEDIRGE, Species.QUAQUAVAL], TrainerSlot.TRAINER, true,
p => p.setBoss(true, 2)))
.setPartyMemberFunc(1, getRandomPartyMemberFunc([Species.PIDGEOT, Species.NOCTOWL, Species.SWELLOW, Species.STARAPTOR, Species.UNFEZANT, Species.TALONFLAME, Species.TOUCANNON, Species.CORVIKNIGHT, Species.KILOWATTREL], TrainerSlot.TRAINER, true))
@@ -1347,7 +1474,7 @@ export const trainerConfigs: TrainerConfigs = {
const starter = party[0];
return [modifierTypes.TERA_SHARD().generateType(null, [starter.species.type1]).withIdFromFunc(modifierTypes.TERA_SHARD).newModifier(starter) as PersistentModifier];
}),
- [TrainerType.RIVAL_6]: new TrainerConfig(++t).setName("Finn").setHasGenders("Ivy").setHasCharSprite().setTitle("Rival").setBoss().setStaticParty().setMoneyMultiplier(3).setEncounterBgm("final").setBattleBgm("battle_rival_3").setPartyTemplates(trainerPartyTemplates.RIVAL_6)
+ [TrainerType.RIVAL_6]: new TrainerConfig(++t).setName("Finn").setHasGenders("Ivy").setHasCharSprite().setTitle("Rival").setBoss().setStaticParty().setMoneyMultiplier(3).setEncounterBgm("final").setBattleBgm("battle_rival_3").setMixedBattleBgm("battle_rival_3").setPartyTemplates(trainerPartyTemplates.RIVAL_6)
.setPartyMemberFunc(0, getRandomPartyMemberFunc([Species.VENUSAUR, Species.CHARIZARD, Species.BLASTOISE, Species.MEGANIUM, Species.TYPHLOSION, Species.FERALIGATR, Species.SCEPTILE, Species.BLAZIKEN, Species.SWAMPERT, Species.TORTERRA, Species.INFERNAPE, Species.EMPOLEON, Species.SERPERIOR, Species.EMBOAR, Species.SAMUROTT, Species.CHESNAUGHT, Species.DELPHOX, Species.GRENINJA, Species.DECIDUEYE, Species.INCINEROAR, Species.PRIMARINA, Species.RILLABOOM, Species.CINDERACE, Species.INTELEON, Species.MEOWSCARADA, Species.SKELEDIRGE, Species.QUAQUAVAL], TrainerSlot.TRAINER, true,
p => {
p.setBoss(true, 3);
@@ -1372,4 +1499,215 @@ export const trainerConfigs: TrainerConfigs = {
const starter = party[0];
return [modifierTypes.TERA_SHARD().generateType(null, [starter.species.type1]).withIdFromFunc(modifierTypes.TERA_SHARD).newModifier(starter) as PersistentModifier];
}),
+
+ [TrainerType.ROCKET_BOSS_GIOVANNI_1]: new TrainerConfig(t = TrainerType.ROCKET_BOSS_GIOVANNI_1).setName("Giovanni").initForEvilTeamLeader("Rocket Boss",[]).setMixedBattleBgm("battle_rocket_boss").setVictoryBgm("victory_team_plasma")
+ .setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.PERSIAN , Species.ALOLA_PERSIAN]))
+ .setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.NIDOKING , Species.NIDOQUEEN ]))
+ .setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.RHYPERIOR ]))
+ .setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.DUGTRIO, Species.ALOLA_DUGTRIO ]))
+ .setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.MAROWAK , Species.ALOLA_MAROWAK]))
+ .setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.KANGASKHAN ], TrainerSlot.TRAINER, true, p => {
+ p.setBoss(true, 2);
+ p.generateAndPopulateMoveset();
+ p.pokeball = PokeballType.ULTRA_BALL;
+ p.formIndex = 1;
+ })),
+ [TrainerType.ROCKET_BOSS_GIOVANNI_2]: new TrainerConfig(++t).setName("Giovanni").initForEvilTeamLeader("Rocket Boss", [], true).setMixedBattleBgm("battle_rocket_boss").setVictoryBgm("victory_team_plasma")
+ .setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.TYRANITAR , Species.IRON_THORNS], TrainerSlot.TRAINER, true, p => {
+ p.setBoss(true, 2);
+ p.generateAndPopulateMoveset();
+ p.pokeball = PokeballType.ULTRA_BALL;
+ }))
+ .setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.HIPPOWDON ]))
+ .setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.EXCADRILL ]))
+ .setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.KANGASKHAN ], TrainerSlot.TRAINER, true, p => {
+ p.setBoss(true, 2);
+ p.generateAndPopulateMoveset();
+ p.pokeball = PokeballType.ULTRA_BALL;
+ p.formIndex = 1;
+ }))
+ .setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.GASTRODON]))
+ .setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.MEWTWO ], TrainerSlot.TRAINER, true, p => {
+ p.setBoss(true, 2);
+ p.generateAndPopulateMoveset();
+ p.pokeball = PokeballType.MASTER_BALL;
+ })),
+ [TrainerType.MAXIE]: new TrainerConfig(++t).setName("Maxie").initForEvilTeamLeader("Magma Boss",[]).setMixedBattleBgm("battle_aqua_magma_boss").setVictoryBgm("victory_team_plasma")
+ .setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.MIGHTYENA ]))
+ .setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.CROBAT, Species.GLISCOR ]))
+ .setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.WEEZING, Species.GALAR_WEEZING ]))
+ .setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.MAGMORTAR, Species.TORKOAL ]))
+ .setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.FLYGON]))
+ .setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.CAMERUPT ], TrainerSlot.TRAINER, true, p => {
+ p.setBoss(true, 2);
+ p.generateAndPopulateMoveset();
+ p.pokeball = PokeballType.ULTRA_BALL;
+ p.formIndex = 1;
+ })),
+ [TrainerType.MAXIE_2]: new TrainerConfig(++t).setName("Maxie").initForEvilTeamLeader("Magma Boss",[], true).setMixedBattleBgm("battle_aqua_magma_boss").setVictoryBgm("victory_team_plasma")
+ .setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.SOLROCK, Species.TYPHLOSION ], TrainerSlot.TRAINER, true, p => {
+ p.setBoss(true, 2);
+ p.generateAndPopulateMoveset();
+ p.pokeball = PokeballType.ULTRA_BALL;
+ }))
+ .setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.TORKOAL, Species.NINETALES ], TrainerSlot.TRAINER, true, p => {
+ p.generateAndPopulateMoveset();
+ p.abilityIndex = 2; // DROUGHT
+ }))
+ .setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.SHIFTRY, Species.SCOVILLAIN ], TrainerSlot.TRAINER, true, p => {
+ p.generateAndPopulateMoveset();
+ p.abilityIndex = 0; // Chlorophyll
+ }))
+ .setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.GREAT_TUSK ]))
+ .setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.CAMERUPT ], TrainerSlot.TRAINER, true, p => {
+ p.setBoss(true, 2);
+ p.generateAndPopulateMoveset();
+ p.pokeball = PokeballType.ULTRA_BALL;
+ p.formIndex = 1;
+ }))
+ .setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.GROUDON ], TrainerSlot.TRAINER, true, p => {
+ p.setBoss(true, 2);
+ p.generateAndPopulateMoveset();
+ p.pokeball = PokeballType.MASTER_BALL;
+ })),
+ [TrainerType.ARCHIE]: new TrainerConfig(++t).setName("Archie").initForEvilTeamLeader("Aqua Boss",[]).setMixedBattleBgm("battle_aqua_magma_boss").setVictoryBgm("victory_team_plasma")
+ .setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.LINOONE ]))
+ .setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.CROBAT, Species.PELIPPER ]))
+ .setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.MUK, Species.ALOLA_MUK ]))
+ .setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.TENTACRUEL ]))
+ .setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.RELICANTH, Species.WAILORD ]))
+ .setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.SHARPEDO ], TrainerSlot.TRAINER, true, p => {
+ p.setBoss(true, 2);
+ p.generateAndPopulateMoveset();
+ p.pokeball = PokeballType.ULTRA_BALL;
+ p.formIndex = 1;
+ })),
+ [TrainerType.ARCHIE_2]: new TrainerConfig(++t).setName("Archie").initForEvilTeamLeader("Aqua Boss",[], true).setMixedBattleBgm("battle_aqua_magma_boss").setVictoryBgm("victory_team_plasma")
+ .setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.KINGDRA, Species.LUDICOLO ], TrainerSlot.TRAINER, true, p => {
+ p.setBoss(true, 2);
+ p.generateAndPopulateMoveset();
+ p.pokeball = PokeballType.ULTRA_BALL;
+ }))
+ .setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.POLITOED, Species.PELIPPER ], TrainerSlot.TRAINER, true, p => {
+ p.generateAndPopulateMoveset();
+ p.abilityIndex = 2; // Drizzle
+ }))
+ .setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.BEARTIC, Species.ARMALDO ], TrainerSlot.TRAINER, true, p => {
+ p.generateAndPopulateMoveset();
+ p.abilityIndex = 2; // Swift Swim
+ }))
+ .setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.HUNTAIL, Species.GOREBYSS ], TrainerSlot.TRAINER, true, p => {
+ p.generateAndPopulateMoveset();
+ p.abilityIndex = 0; // Swift Swim
+ }))
+ .setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.SHARPEDO ], TrainerSlot.TRAINER, true, p => {
+ p.setBoss(true, 2);
+ p.generateAndPopulateMoveset();
+ p.pokeball = PokeballType.ULTRA_BALL;
+ p.formIndex = 1;
+ }))
+ .setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.KYOGRE ], TrainerSlot.TRAINER, true, p => {
+ p.setBoss(true, 2);
+ p.generateAndPopulateMoveset();
+ p.pokeball = PokeballType.MASTER_BALL;
+ })),
+ [TrainerType.CYRUS]: new TrainerConfig(++t).setName("Cyrus").initForEvilTeamLeader("Galactic Boss",[]).setMixedBattleBgm("battle_galactic_boss").setVictoryBgm("victory_team_plasma")
+ .setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.GYARADOS, Species.BASCULEGION ]))
+ .setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.HONCHKROW, Species.HISUI_BRAVIARY ]))
+ .setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.CROBAT, Species.OVERQWIL ]))
+ .setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.AZELF, Species.UXIE, Species.MESPRIT ]))
+ .setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.HOUNDOOM ], TrainerSlot.TRAINER, true, p => {
+ p.generateAndPopulateMoveset();
+ p.pokeball = PokeballType.ULTRA_BALL;
+ p.formIndex = 1;
+ }))
+ .setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.WEAVILE ], TrainerSlot.TRAINER, true, p => {
+ p.setBoss(true, 2);
+ p.generateAndPopulateMoveset();
+ p.pokeball = PokeballType.ULTRA_BALL;
+ })),
+ [TrainerType.CYRUS_2]: new TrainerConfig(++t).setName("Cyrus").initForEvilTeamLeader("Galactic Boss",[], true).setMixedBattleBgm("battle_galactic_boss").setVictoryBgm("victory_team_plasma")
+ .setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.AZELF, Species.UXIE, Species.MESPRIT ], TrainerSlot.TRAINER, true, p => {
+ p.setBoss(true, 2);
+ p.generateAndPopulateMoveset();
+ }))
+ .setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.ELECTRODE, Species.HISUI_ELECTRODE ]))
+ .setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.SALAMENCE, Species.ROARING_MOON ]))
+ .setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.HOUNDOOM ], TrainerSlot.TRAINER, true, p => {
+ p.generateAndPopulateMoveset();
+ p.pokeball = PokeballType.ULTRA_BALL;
+ p.formIndex = 1;
+ }))
+ .setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.WEAVILE ], TrainerSlot.TRAINER, true, p => {
+ p.setBoss(true, 2);
+ p.generateAndPopulateMoveset();
+ p.pokeball = PokeballType.ULTRA_BALL;
+ }))
+ .setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.DARKRAI ], TrainerSlot.TRAINER, true, p => {
+ p.setBoss(true, 2);
+ p.generateAndPopulateMoveset();
+ p.pokeball = PokeballType.MASTER_BALL;
+ })),
+ [TrainerType.GHETSIS]: new TrainerConfig(++t).setName("Ghetsis").initForEvilTeamLeader("Plasma Boss",[]).setMixedBattleBgm("battle_plasma_boss").setVictoryBgm("victory_team_plasma")
+ .setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.COFAGRIGUS, Species.RUNERIGUS ]))
+ .setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.BOUFFALANT ]))
+ .setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.SEISMITOAD, Species.CARRACOSTA ]))
+ .setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.EELEKTROSS, Species.GALVANTULA ]))
+ .setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.VOLCARONA ]))
+ .setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.HYDREIGON ], TrainerSlot.TRAINER, true, p => {
+ p.setBoss(true, 2);
+ p.generateAndPopulateMoveset();
+ p.pokeball = PokeballType.ULTRA_BALL;
+ })),
+ [TrainerType.GHETSIS_2]: new TrainerConfig(++t).setName("Ghetsis").initForEvilTeamLeader("Plasma Boss",[], true).setMixedBattleBgm("battle_plasma_boss").setVictoryBgm("victory_team_plasma")
+ .setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.SLITHER_WING, Species.IRON_MOTH ], TrainerSlot.TRAINER, true, p => {
+ p.setBoss(true, 2);
+ p.generateAndPopulateMoveset();
+ p.pokeball = PokeballType.ULTRA_BALL;
+ }))
+ .setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.DURANT ]))
+ .setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.DARMANITAN, Species.GALAR_DARMANITAN ]))
+ .setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.KINGAMBIT ]))
+ .setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.HYDREIGON, Species.IRON_JUGULIS ], TrainerSlot.TRAINER, true, p => {
+ p.setBoss(true, 2);
+ p.generateAndPopulateMoveset();
+ p.pokeball = PokeballType.ULTRA_BALL;
+ }))
+ .setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.KYUREM ], TrainerSlot.TRAINER, true, p => {
+ p.setBoss(true, 2);
+ p.generateAndPopulateMoveset();
+ p.pokeball = PokeballType.MASTER_BALL;
+ })),
+ [TrainerType.LYSANDRE]: new TrainerConfig(++t).setName("Lysandre").initForEvilTeamLeader("Flare Boss",[]).setMixedBattleBgm("battle_flare_boss").setVictoryBgm("victory_team_plasma")
+ .setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.MIENSHAO ]))
+ .setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.HONCHKROW, Species.TALONFLAME ]))
+ .setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.PYROAR ]))
+ .setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.MILOTIC ]))
+ .setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.HELIOLISK ]))
+ .setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.GYARADOS ], TrainerSlot.TRAINER, true, p => {
+ p.setBoss(true, 2);
+ p.generateAndPopulateMoveset();
+ p.pokeball = PokeballType.ULTRA_BALL;
+ p.formIndex = 1;
+ })),
+ [TrainerType.LYSANDRE_2]: new TrainerConfig(++t).setName("Lysandre").initForEvilTeamLeader("Flare Boss",[], true).setMixedBattleBgm("battle_flare_boss").setVictoryBgm("victory_team_plasma")
+ .setPartyMemberFunc(0, getRandomPartyMemberFunc([ Species.SCREAM_TAIL, Species.FLUTTER_MANE ], TrainerSlot.TRAINER, true, p => {
+ p.setBoss(true, 2);
+ p.generateAndPopulateMoveset();
+ p.pokeball = PokeballType.ULTRA_BALL;
+ }))
+ .setPartyMemberFunc(1, getRandomPartyMemberFunc([ Species.GHOLDENGO, Species.AEGISLASH ]))
+ .setPartyMemberFunc(2, getRandomPartyMemberFunc([ Species.PYROAR ]))
+ .setPartyMemberFunc(3, getRandomPartyMemberFunc([ Species.GOODRA, Species.HISUI_GOODRA ]))
+ .setPartyMemberFunc(4, getRandomPartyMemberFunc([ Species.GYARADOS ], TrainerSlot.TRAINER, true, p => {
+ p.setBoss(true, 2);
+ p.generateAndPopulateMoveset();
+ p.pokeball = PokeballType.ULTRA_BALL;
+ p.formIndex = 1;
+ }))
+ .setPartyMemberFunc(5, getRandomPartyMemberFunc([ Species.YVELTAL ], TrainerSlot.TRAINER, true, p => {
+ p.setBoss(true, 2);
+ p.generateAndPopulateMoveset();
+ p.pokeball = PokeballType.MASTER_BALL;
+ })),
};
diff --git a/src/data/trainer-names.ts b/src/data/trainer-names.ts
index 0aa5bb594d4..b986378ee47 100644
--- a/src/data/trainer-names.ts
+++ b/src/data/trainer-names.ts
@@ -1,4 +1,4 @@
-import { TrainerType } from "./enums/trainer-type";
+import { TrainerType } from "#enums/trainer-type";
import * as Utils from "../utils";
class TrainerNameConfig {
@@ -60,6 +60,7 @@ const trainerNameConfigs: TrainerNameConfigs = {
[TrainerType.RICH]: new TrainerNameConfig(TrainerType.RICH, "Gentleman").hasGenderVariant("Madame"),
[TrainerType.RICH_KID]: new TrainerNameConfig(TrainerType.RICH_KID, "Rich_Boy").hasGenderVariant("Lady"),
[TrainerType.ROUGHNECK]: new TrainerNameConfig(TrainerType.ROUGHNECK),
+ [TrainerType.SAILOR]: new TrainerNameConfig(TrainerType.SAILOR),
[TrainerType.SCIENTIST]: new TrainerNameConfig(TrainerType.SCIENTIST),
[TrainerType.SMASHER]: new TrainerNameConfig(TrainerType.SMASHER),
[TrainerType.SNOW_WORKER]: new TrainerNameConfig(TrainerType.SNOW_WORKER, "Worker"),
@@ -77,7 +78,7 @@ export const trainerNamePools = {
[TrainerType.ACE_TRAINER]: [["Aaron","Allen","Blake","Brian","Gaven","Jake","Kevin","Mike","Nick","Paul","Ryan","Sean","Darin","Albert","Berke","Clyde","Edgar","George","Leroy","Owen","Parker","Randall","Ruben","Samuel","Vincent","Warren","Wilton","Zane","Alfred","Braxton","Felix","Gerald","Jonathan","Leonel","Marcel","Mitchell","Quincy","Roderick","Colby","Rolando","Yuji","Abel","Anton","Arthur","Cesar","Dalton","Dennis","Ernest","Garrett","Graham","Henry","Isaiah","Jonah","Jose","Keenan","Micah","Omar","Quinn","Rodolfo","Saul","Sergio","Skylar","Stefan","Zachery","Alton","Arabella","Bonita","Cal","Cody","French","Kobe","Paulo","Shaye","Austin","Beckett","Charlie","Corky","David","Dwayne","Elmer","Jesse","Jared","Johan","Jordan","Kipp","Lou","Terry","Tom","Webster","Billy","Doyle","Enzio","Geoff","Grant","Kelsey","Miguel","Pierce","Ray","Santino","Shel","Adelbert","Bence","Emil","Evan","Mathis","Maxim","Neil","Rico","Robbie","Theo","Viktor","Benedict","Cornelius","Hisato","Leopold","Neville","Vito","Chase","Cole","Hiroshi","Jackson","Jim","Kekoa","Makana","Yuki","Elwood","Seth","Alvin","Arjun","Arnold","Cameron","Carl","Carlton","Christopher","Dave","Dax","Dominic","Edmund","Finn","Fred","Garret","Grayson","Jace","Jaxson","Jay","Jirard","Johnson","Kayden","Kite","Louis","Mac","Marty","Percy","Raymond","Ronnie","Satch","Tim","Zach","Conner","Vince","Bedro","Boda","Botan","Daras","Dury","Herton","Rewn","Stum","Tock","Trilo","Berki","Cruik","Dazon","Desid","Dillot","Farfin","Forgon","Hebel","Morfon","Moril","Shadd","Vanhub","Bardo","Carben","Degin","Gorps","Klept","Lask","Malex","Mopar","Niled","Noxon","Teslor","Tetil"],["Beth","Carol","Cybil","Emma","Fran","Gwen","Irene","Jenn","Joyce","Kate","Kelly","Lois","Lola","Megan","Quinn","Reena","Cara","Alexa","Brooke","Caroline","Elaine","Hope","Jennifer","Jody","Julie","Lori","Mary","Michelle","Shannon","Wendy","Alexia","Alicia","Athena","Carolina","Cristin","Darcy","Dianne","Halle","Jazmyn","Katelynn","Keira","Marley","Allyson","Kathleen","Naomi","Alyssa","Ariana","Brandi","Breanna","Brenda","Brenna","Catherine","Clarice","Dana","Deanna","Destiny","Jamie","Jasmin","Kassandra","Laura","Maria","Mariah","Maya","Meagan","Mikayla","Monique","Natasha","Olivia","Sandra","Savannah","Sydney","Moira","Piper","Salma","Allison","Beverly","Cathy","Cheyenne","Clara","Dara","Eileen","Glinda","Junko","Lena","Lucille","Mariana","Olwen","Shanta","Stella","Angi","Belle","Chandra","Cora","Eve","Jacqueline","Jeanne","Juliet","Kathrine","Layla","Lucca","Melina","Miki","Nina","Sable","Shelly","Summer","Trish","Vicki","Alanza","Cordelia","Hilde","Imelda","Michele","Mireille","Claudia","Constance","Harriet","Honor","Melba","Portia","Alexis","Angela","Karla","Lindsey","Tori","Sheri","Jada","Kailee","Amanda","Annie","Kindra","Kyla","Sofia","Yvette","Becky","Flora","Gloria","Buna","Ferda","Lehan","Liqui","Lomen","Neira","Atilo","Detta","Gilly","Gosney","Levens","Moden","Rask","Rateis","Rosno","Tynan","Veron","Zoel","Cida","Dibsin","Dodin","Ebson","Equin","Flostin","Gabsen","Halsion","Hileon","Quelor","Rapeel","Roze","Tensin"]],
[TrainerType.ARTIST]: [["Ismael","William","Horton","Pierre","Zach","Gough","Salvador","Vincent","Duncan"],["Georgia"]],
[TrainerType.BACKERS]: [["Alf & Fred","Hawk & Dar","Joe & Ross","Les & Web","Masa & Yas","Stu & Art"],["Ai & Ciel","Ami & Eira","Cam & Abby","Fey & Sue","Kat & Phae","Kay & Ali","Ava & Aya","Cleo & Rio","May & Mal"]],
- [TrainerType.BACKPACKER]: [["Alexander","Carlos","Herman","Jerome","Keane","Kelsey","Kiyo","Michael","Nate","Peter","Sam","Stephen","Talon","Terrance","Toru","Waylon","Boone","Clifford","Ivan","Kendall","Lowell","Randall","Reece","Roland","Shane","Walt","Farid","Heike","Joren","Lane","Roderick","Darnell","Deon","Emory","Graeme","Grayson","Ashley","Mikiko","Kiana","Perdy","Maria","Yuho","Peren","Barbara","Diane","Ruth","Aitor","Alex","Arturo","Asier","Jaime","Jonathan","Julio","Kevin","Kosuke","Lander","Markel","Mateo","Nil","Pau","Samuel"],["Anna","Corin","Elaine","Emi","Jill","Kumiko","Liz","Lois","Lora","Molly","Patty","Ruth","Vicki","Annie","Blossom","Clara","Eileen","Mae","Myra","Rachel","Tami"]],
+ [TrainerType.BACKPACKER]: [["Alexander","Carlos","Herman","Jerome","Keane","Kelsey","Kiyo","Michael","Nate","Peter","Sam","Stephen","Talon","Terrance","Toru","Waylon","Boone","Clifford","Ivan","Kendall","Lowell","Randall","Reece","Roland","Shane","Walt","Farid","Heike","Joren","Lane","Roderick","Darnell","Deon","Emory","Graeme","Grayson","Aitor","Alex","Arturo","Asier","Jaime","Jonathan","Julio","Kevin","Kosuke","Lander","Markel","Mateo","Nil","Pau","Samuel"],["Anna","Corin","Elaine","Emi","Jill","Kumiko","Liz","Lois","Lora","Molly","Patty","Ruth","Vicki","Annie","Blossom","Clara","Eileen","Mae","Myra","Rachel","Tami","Ashley","Mikiko","Kiana","Perdy","Maria","Yuho","Peren","Barbara","Diane"]],
[TrainerType.BAKER]: ["Chris","Jenn","Lilly"],
[TrainerType.BEAUTY]: ["Cassie","Julia","Olivia","Samantha","Valerie","Victoria","Bridget","Connie","Jessica","Johanna","Melissa","Sheila","Shirley","Tiffany","Namiko","Thalia","Grace","Lola","Lori","Maura","Tamia","Cyndy","Devon","Gabriella","Harley","Lindsay","Nicola","Callie","Charlotte","Kassandra","December","Fleming","Nikola","Aimee","Anais","Brigitte","Cassandra","Andrea","Brittney","Carolyn","Krystal","Alexis","Alice","Aina","Anya","Arianna","Aubrey","Beverly","Camille","Beauty","Evette","Hansol","Haruka","Jill","Jo","Lana","Lois","Lucy","Mai","Nickie","Nicole","Prita","Rose","Shelly","Suzy","Tessa","Anita","Alissa","Rita","Cudsy","Eloff","Miru","Minot","Nevah","Niven","Ogoin"],
[TrainerType.BIKER]: ["Charles","Dwayne","Glenn","Harris","Joel","Riley","Zeke","Alex","Billy","Ernest","Gerald","Hideo","Isaac","Jared","Jaren","Jaxon","Jordy","Lao","Lukas","Malik","Nikolas","Ricardo","Ruben","Virgil","William","Aiden","Dale","Dan","Jacob","Markey","Reese","Teddy","Theron","Jeremy","Morgann","Phillip","Philip","Stanley","Dillon"],
@@ -92,7 +93,7 @@ export const trainerNamePools = {
[TrainerType.FISHERMAN]: ["Andre","Arnold","Barney","Chris","Edgar","Henry","Jonah","Justin","Kyle","Martin","Marvin","Ralph","Raymond","Scott","Stephen","Wilton","Tully","Andrew","Barny","Carter","Claude","Dale","Elliot","Eugene","Ivan","Ned","Nolan","Roger","Ronald","Wade","Wayne","Darian","Kai","Chip","Hank","Kaden","Tommy","Tylor","Alec","Brett","Cameron","Cody","Cole","Cory","Erick","George","Joseph","Juan","Kenneth","Luc","Miguel","Travis","Walter","Zachary","Josh","Gideon","Kyler","Liam","Murphy","Bruce","Damon","Devon","Hubert","Jones","Lydon","Mick","Pete","Sean","Sid","Vince","Bucky","Dean","Eustace","Kenzo","Leroy","Mack","Ryder","Ewan","Finn","Murray","Seward","Shad","Wharton","Finley","Fisher","Fisk","River","Sheaffer","Timin","Carl","Ernest","Hal","Herbert","Hisato","Mike","Vernon","Harriet","Marina","Chase"],
[TrainerType.GUITARIST]: ["Anna","Beverly","January","Tina","Alicia","Claudia","Julia","Lidia","Mireia","Noelia","Sara","Sheila","Tatiana"],
[TrainerType.HARLEQUIN]: ["Charley","Ian","Jack","Kerry","Louis","Pat","Paul","Rick","Anders","Clarence","Gary"],
- [TrainerType.HIKER]: ["Anthony","Bailey","Benjamin","Daniel","Erik","Jim","Kenny","Leonard","Michael","Parry","Phillip","Russell","Sidney","Tim","Timothy","Alan","Brice","Clark","Eric","Lenny","Lucas","Mike","Trent","Devan","Eli","Marc","Sawyer","Allen","Daryl","Dudley","Earl","Franklin","Jeremy","Marcos","Nob","Oliver","Wayne","Alexander","Damon","Jonathan","Justin","Kevin","Lorenzo","Louis","Maurice","Nicholas","Reginald","Robert","Theodore","Bruce","Clarke","Devin","Dwight","Edwin","Eoin","Noland","Russel","Andy","Bret","Darrell","Gene","Hardy","Hugh","Jebediah","Jeremiah","Kit","Neil","Terrell","Don","Doug","Hunter","Jared","Jerome","Keith","Manuel","Markus","Otto","Shelby","Stephen","Teppei","Tobias","Wade","Zaiem","Aaron","Alain","Bergin","Bernard","Brent","Corwin","Craig","Delmon","Dunstan","Orestes","Ross","Davian","Calhoun","David","Gabriel","Ryan","Thomas","Travis","Zachary","Anuhea","Barnaby","Claus","Collin","Colson","Dexter","Dillan","Eugine","Farkas","Hisato","Julius","Kenji","Irwin","Lionel","Paul","Richter","Valentino","Donald","Douglas","Kevyn","Angela","Carla","Celia","Daniela","Estela","Fatima","Helena","Leire","Lucia","Luna","Manuela","Mar","Marina","Miyu","Nancy","Nerea","Paula","Rocio","Yanira","Chester"],
+ [TrainerType.HIKER]: ["Anthony","Bailey","Benjamin","Daniel","Erik","Jim","Kenny","Leonard","Michael","Parry","Phillip","Russell","Sidney","Tim","Timothy","Alan","Brice","Clark","Eric","Lenny","Lucas","Mike","Trent","Devan","Eli","Marc","Sawyer","Allen","Daryl","Dudley","Earl","Franklin","Jeremy","Marcos","Nob","Oliver","Wayne","Alexander","Damon","Jonathan","Justin","Kevin","Lorenzo","Louis","Maurice","Nicholas","Reginald","Robert","Theodore","Bruce","Clarke","Devin","Dwight","Edwin","Eoin","Noland","Russel","Andy","Bret","Darrell","Gene","Hardy","Hugh","Jebediah","Jeremiah","Kit","Neil","Terrell","Don","Doug","Hunter","Jared","Jerome","Keith","Manuel","Markus","Otto","Shelby","Stephen","Teppei","Tobias","Wade","Zaiem","Aaron","Alain","Bergin","Bernard","Brent","Corwin","Craig","Delmon","Dunstan","Orestes","Ross","Davian","Calhoun","David","Gabriel","Ryan","Thomas","Travis","Zachary","Anuhea","Barnaby","Claus","Collin","Colson","Dexter","Dillan","Eugine","Farkas","Hisato","Julius","Kenji","Irwin","Lionel","Paul","Richter","Valentino","Donald","Douglas","Kevyn","Chester"], //["Angela","Carla","Celia","Daniela","Estela","Fatima","Helena","Leire","Lucia","Luna","Manuela","Mar","Marina","Miyu","Nancy","Nerea","Paula","Rocio","Yanira"]
[TrainerType.HOOLIGANS]: ["Jim & Cas","Rob & Sal"],
[TrainerType.HOOPSTER]: ["Bobby","John","Lamarcus","Derrick","Nicolas"],
[TrainerType.INFIELDER]: ["Alex","Connor","Todd"],
@@ -111,6 +112,7 @@ export const trainerNamePools = {
[TrainerType.RICH]: [["Alfred","Edward","Gregory","Preston","Thomas","Tucker","Walter","Clifford","Everett","Micah","Nate","Pierre","Terrance","Arthur","Brooks","Emanuel","Lamar","Jeremy","Leonardo","Milton","Frederic","Renaud","Robert","Yan","Daniel","Sheldon","Stonewall","Gerald","Ronald","Smith","Stanley","Reginald","Orson","Wilco","Caden","Glenn"],["Rebecca","Reina","Cassandra","Emilia","Grace","Marian","Elizabeth","Kathleen","Sayuri","Caroline","Judy"]],
[TrainerType.RICH_KID]: [["Garret","Winston","Dawson","Enrique","Jason","Roman","Trey","Liam","Anthony","Brad","Cody","Manuel","Martin","Pierce","Rolan","Keenan","Filbert","Antoin","Cyus","Diek","Dugo","Flitz","Jurek","Lond","Perd","Quint","Basto","Benit","Brot","Denc","Guyit","Marcon","Perc","Puros","Roex","Sainz","Symin","Tark","Venak"],["Anette","Brianna","Cindy","Colleen","Daphne","Elizabeth","Naomi","Sarah","Charlotte","Gillian","Jacki","Lady","Melissa","Celeste","Colette","Elizandra","Isabel","Lynette","Magnolia","Sophie","Lina","Dulcie","Auro","Brin","Caril","Eloos","Gwin","Illa","Kowly","Rima","Ristin","Vesey","Brena","Deasy","Denslon","Kylet","Nemi","Rene","Sanol","Stouner","Sturk","Talmen","Zoila"]],
[TrainerType.ROUGHNECK]: ["Camron","Corey","Gabriel","Isaiah","Jamal","Koji","Luke","Paxton","Raul","Zeek","Kirby","Chance","Dave","Fletcher","Johnny","Reese","Joey","Ricky","Silvester","Martin"],
+ [TrainerType.SAILOR]: ["Alberto","Bost","Brennan","Brenden","Claude","Cory","Damian","Dirk","Duncan","Dwayne","Dylan","Eddie","Edmond","Elijah","Ernest","Eugene","Garrett","Golos","Gratin","Grestly","Harry","Hols","Hudson","Huey","Jebol","Jeff","Leonald","Luther","Kelvin","Kenneth","Kent","Knook","Marc","Mifis","Monar","Morkor","Ordes","Oxlin","Parker","Paul","Philip","Roberto","Samson","Skyler","Stanly","Tebu","Terrell","Trevor","Yasu","Zachariah"],
[TrainerType.SCIENTIST]: [["Jed","Marc","Mitch","Rich","Ross","Beau","Braydon","Connor","Ed","Ivan","Jerry","Jose","Joshua","Parker","Rodney","Taylor","Ted","Travis","Zackery","Darrius","Emilio","Fredrick","Shaun","Stefano","Travon","Daniel","Garett","Gregg","Linden","Lowell","Trenton","Dudley","Luke","Markus","Nathan","Orville","Randall","Ron","Ronald","Simon","Steve","William","Franklin","Clarke","Jacques","Terrance","Ernst","Justus","Ikaika","Jayson","Kyle","Reid","Tyrone","Adam","Albert","Alphonse","Cory","Donnie","Elton","Francis","Gordon","Herbert","Humphrey","Jordan","Julian","Keaton","Levi","Melvin","Murray","West","Craig","Coren","Dubik","Kotan","Lethco","Mante","Mort","Myron","Odlow","Ribek","Roeck","Vogi","Vonder","Zogo","Doimo","Doton","Durel","Hildon","Kukla","Messa","Nanot","Platen","Raburn","Reman","Acrod","Coffy","Elrok","Foss","Hardig","Hombol","Hospel","Kaller","Klots","Krilok","Limar","Loket","Mesak","Morbit","Newin","Orill","Tabor","Tekot"],["Blythe","Chan","Kathrine","Marie","Maria","Naoko","Samantha","Satomi","Shannon","Athena","Caroline","Lumi","Lumina","Marissa","Sonia"]],
[TrainerType.SMASHER]: ["Aspen","Elena","Mari","Amy","Lizzy"],
[TrainerType.SNOW_WORKER]: [["Braden","Brendon","Colin","Conrad","Dillan","Gary","Gerardo","Holden","Jackson","Mason","Quentin","Willy","Noel","Arnold","Brady","Brand","Cairn","Cliff","Don","Eddie","Felix","Filipe","Glenn","Gus","Heath","Matthew","Patton","Rich","Rob","Ryan","Scott","Shelby","Sterling","Tyler","Victor","Zack","Friedrich","Herman","Isaac","Leo","Maynard","Mitchell","Morgann","Nathan","Niel","Pasqual","Paul","Tavarius","Tibor","Dimitri","Narek","Yusif","Frank","Jeff","Vaclav","Ovid","Francis","Keith","Russel","Sangon","Toway","Bomber","Chean","Demit","Hubor","Kebile","Laber","Ordo","Retay","Ronix","Wagel","Dobit","Kaster","Lobel","Releo","Saken","Rustix"],["Georgia","Sandra","Yvonne"]],
diff --git a/src/data/type.ts b/src/data/type.ts
index b2bf8117249..c92416afca9 100644
--- a/src/data/type.ts
+++ b/src/data/type.ts
@@ -501,6 +501,52 @@ export function getTypeDamageMultiplier(attackType: integer, defType: integer):
}
}
+/**
+ * Retrieve the color corresponding to a specific damage multiplier
+ * @returns A color or undefined if the default color should be used
+ */
+export function getTypeDamageMultiplierColor(multiplier: TypeDamageMultiplier, side: "defense" | "offense"): string | undefined {
+ if (side === "offense") {
+ switch (multiplier) {
+ case 0:
+ return "#929292";
+ case 0.125:
+ return "#FF5500";
+ case 0.25:
+ return "#FF7400";
+ case 0.5:
+ return "#FE8E00";
+ case 1:
+ return undefined;
+ case 2:
+ return "#4AA500";
+ case 4:
+ return "#4BB400";
+ case 8:
+ return "#52C200";
+ }
+ } else if (side === "defense") {
+ switch (multiplier) {
+ case 0:
+ return "#B1B100";
+ case 0.125:
+ return "#2DB4FF";
+ case 0.25:
+ return "#00A4FF";
+ case 0.5:
+ return "#0093FF";
+ case 1:
+ return undefined;
+ case 2:
+ return "#FE8E00";
+ case 4:
+ return "#FF7400";
+ case 8:
+ return "#FF5500";
+ }
+ }
+}
+
export function getTypeRgb(type: Type): [ integer, integer, integer ] {
switch (type) {
case Type.NORMAL:
diff --git a/src/data/variant.ts b/src/data/variant.ts
index b16586108fd..48369d112db 100644
--- a/src/data/variant.ts
+++ b/src/data/variant.ts
@@ -1,3 +1,5 @@
+import { VariantTier } from "#app/enums/variant-tier.js";
+
export type Variant = 0 | 1 | 2;
export type VariantSet = [Variant, Variant, Variant];
@@ -16,3 +18,14 @@ export function getVariantTint(variant: Variant): integer {
return 0xe81048;
}
}
+
+export function getVariantIcon(variant: Variant): integer {
+ switch (variant) {
+ case 0:
+ return VariantTier.STANDARD;
+ case 1:
+ return VariantTier.RARE;
+ case 2:
+ return VariantTier.EPIC;
+ }
+}
diff --git a/src/data/weather.ts b/src/data/weather.ts
index f2b4136f51c..f671c754873 100644
--- a/src/data/weather.ts
+++ b/src/data/weather.ts
@@ -1,12 +1,12 @@
-import { Biome } from "./enums/biome";
-import { getPokemonMessage, getPokemonPrefix } from "../messages";
+import { Biome } from "#enums/biome";
+import { getPokemonNameWithAffix } from "../messages";
import Pokemon from "../field/pokemon";
import { Type } from "./type";
import Move, { AttackMove } from "./move";
import * as Utils from "../utils";
import BattleScene from "../battle-scene";
import { SuppressWeatherEffectAbAttr } from "./ability";
-import { TerrainType } from "./terrain";
+import { TerrainType, getTerrainName } from "./terrain";
import i18next from "i18next";
export enum WeatherType {
@@ -180,9 +180,9 @@ export function getWeatherLapseMessage(weatherType: WeatherType): string {
export function getWeatherDamageMessage(weatherType: WeatherType, pokemon: Pokemon): string {
switch (weatherType) {
case WeatherType.SANDSTORM:
- return i18next.t("weather:sandstormDamageMessage", {pokemonPrefix: getPokemonPrefix(pokemon), pokemonName: pokemon.name});
+ return i18next.t("weather:sandstormDamageMessage", {pokemonNameWithAffix: getPokemonNameWithAffix(pokemon)});
case WeatherType.HAIL:
- return i18next.t("weather:hailDamageMessage", {pokemonPrefix: getPokemonPrefix(pokemon), pokemonName: pokemon.name});
+ return i18next.t("weather:hailDamageMessage", {pokemonNameWithAffix: getPokemonNameWithAffix(pokemon)});
}
return null;
@@ -216,34 +216,34 @@ export function getWeatherClearMessage(weatherType: WeatherType): string {
export function getTerrainStartMessage(terrainType: TerrainType): string {
switch (terrainType) {
case TerrainType.MISTY:
- return "Mist swirled around the battlefield!";
+ return i18next.t("terrain:mistyStartMessage");
case TerrainType.ELECTRIC:
- return "An electric current ran across the battlefield!";
+ return i18next.t("terrain:electricStartMessage");
case TerrainType.GRASSY:
- return "Grass grew to cover the battlefield!";
+ return i18next.t("terrain:grassyStartMessage");
case TerrainType.PSYCHIC:
- return "The battlefield got weird!";
+ return i18next.t("terrain:psychicStartMessage");
}
}
export function getTerrainClearMessage(terrainType: TerrainType): string {
switch (terrainType) {
case TerrainType.MISTY:
- return "The mist disappeared from the battlefield.";
+ return i18next.t("terrain:mistyClearMessage");
case TerrainType.ELECTRIC:
- return "The electricity disappeared from the battlefield.";
+ return i18next.t("terrain:electricClearMessage");
case TerrainType.GRASSY:
- return "The grass disappeared from the battlefield.";
+ return i18next.t("terrain:grassyClearMessage");
case TerrainType.PSYCHIC:
- return "The weirdness disappeared from the battlefield!";
+ return i18next.t("terrain:psychicClearMessage");
}
}
export function getTerrainBlockMessage(pokemon: Pokemon, terrainType: TerrainType): string {
if (terrainType === TerrainType.MISTY) {
- return getPokemonMessage(pokemon, " surrounds itself with a protective mist!");
+ return i18next.t("terrain:mistyBlockMessage", {pokemonNameWithAffix: getPokemonNameWithAffix(pokemon)});
}
- return getPokemonMessage(pokemon, ` is protected by the ${Utils.toReadableString(TerrainType[terrainType])} Terrain!`);
+ return i18next.t("terrain:defaultBlockMessage", {pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), terrainName: getTerrainName(terrainType)});
}
interface WeatherPoolEntry {
diff --git a/src/egg-hatch-phase.ts b/src/egg-hatch-phase.ts
index 320b768e1e5..44b72fb3d05 100644
--- a/src/egg-hatch-phase.ts
+++ b/src/egg-hatch-phase.ts
@@ -1,18 +1,16 @@
import SoundFade from "phaser3-rex-plugins/plugins/soundfade";
+import i18next from "i18next";
import { Phase } from "./phase";
import BattleScene, { AnySound } from "./battle-scene";
import * as Utils from "./utils";
import { Mode } from "./ui/ui";
-import { EGG_SEED, Egg, GachaType, getLegendaryGachaSpeciesForTimestamp } from "./data/egg";
+import { EGG_SEED, Egg } from "./data/egg";
import EggHatchSceneHandler from "./ui/egg-hatch-scene-handler";
-import { Species } from "./data/enums/species";
import { PlayerPokemon } from "./field/pokemon";
-import { getPokemonSpecies, speciesStarters } from "./data/pokemon-species";
import { achvs } from "./system/achv";
-import { pokemonPrevolutions } from "./data/pokemon-evolutions";
-import { EggTier } from "./data/enums/egg-type";
import PokemonInfoContainer from "./ui/pokemon-info-container";
-import EggsToHatchCountContainer from "./ui/eggs-to-hatch-count-container";
+import EggCounterContainer from "./ui/egg-counter-container";
+import { EggCountChangedEvent } from "./events/egg";
/**
* Class that represents egg hatching
@@ -24,7 +22,7 @@ export class EggHatchPhase extends Phase {
/** The number of eggs that are hatching */
private eggsToHatchCount: integer;
/** The container that lists how many eggs are hatching */
- private eggsToHatchCountContainer: EggsToHatchCountContainer;
+ private eggCounterContainer: EggCounterContainer;
/** The scene handler for egg hatching */
private eggHatchHandler: EggHatchSceneHandler;
@@ -110,10 +108,8 @@ export class EggHatchPhase extends Phase {
this.eggContainer.add(this.eggLightraysOverlay);
this.eggHatchContainer.add(this.eggContainer);
- this.eggsToHatchCountContainer = new EggsToHatchCountContainer(this.scene, this.eggsToHatchCount);
- this.eggsToHatchCountContainer.setup();
-
- this.eggHatchContainer.add(this.eggsToHatchCountContainer);
+ this.eggCounterContainer = new EggCounterContainer(this.scene, this.eggsToHatchCount);
+ this.eggHatchContainer.add(this.eggCounterContainer);
const getPokemonSprite = () => {
const ret = this.scene.add.sprite(this.eggHatchBg.displayWidth / 2, this.eggHatchBg.displayHeight / 2, "pkmn__sub");
@@ -263,6 +259,9 @@ export class EggHatchPhase extends Phase {
if (!this.canSkip || this.skipped) {
return false;
}
+ if (this.eggCounterContainer.eggCountText?.data === undefined) {
+ return false;
+ }
this.skipped = true;
if (!this.hatched) {
this.doHatch();
@@ -308,13 +307,6 @@ export class EggHatchPhase extends Phase {
* Function to do the logic and animation of completing a hatch and revealing the Pokemon
*/
doReveal(): void {
- // Update/reduce count of hatching eggs when revealed if count is at least 1
- // If count is 0, hide eggsToHatchCountContainer instead
- if (this.eggsToHatchCount > 1) {
- this.eggsToHatchCount -= 1;
- } else {
- this.eggsToHatchCountContainer.setVisible(false);
- }
const isShiny = this.pokemon.isShiny();
if (this.pokemon.species.subLegendary) {
this.scene.validateAchv(achvs.HATCH_SUB_LEGENDARY);
@@ -336,10 +328,8 @@ export class EggHatchPhase extends Phase {
this.pokemonSprite.setPipelineData("variant", this.pokemon.variant);
this.pokemonSprite.setVisible(true);
this.scene.time.delayedCall(Utils.fixedInt(250), () => {
- if (this.eggsToHatchCount < 10) {
- this.eggsToHatchCountContainer.setWindowToDefaultSize();
- }
- this.eggsToHatchCountContainer.eggCountText.setText(`${this.eggsToHatchCount}`);
+ this.eggsToHatchCount--;
+ this.eggHatchHandler.eventTarget.dispatchEvent(new EggCountChangedEvent(this.eggsToHatchCount));
this.pokemon.cry();
if (isShiny) {
this.scene.time.delayedCall(Utils.fixedInt(500), () => {
@@ -352,7 +342,7 @@ export class EggHatchPhase extends Phase {
this.scene.playSoundWithoutBgm("evolution_fanfare");
- this.scene.ui.showText(`${this.pokemon.name} hatched from the egg!`, null, () => {
+ this.scene.ui.showText(i18next.t("egg:hatchFromTheEgg", { pokemonName: this.pokemon.name }), null, () => {
this.scene.gameData.updateSpeciesDexIvs(this.pokemon.species.speciesId, this.pokemon.ivs);
this.scene.gameData.setPokemonCaught(this.pokemon, true, true).then(() => {
this.scene.gameData.setEggMoveUnlocked(this.pokemon.species, this.eggMoveIndex).then(() => {
@@ -449,135 +439,10 @@ export class EggHatchPhase extends Phase {
*/
generatePokemon(): PlayerPokemon {
let ret: PlayerPokemon;
- let speciesOverride: Species; // SpeciesOverride should probably be a passed in parameter for future species-eggs
this.scene.executeWithSeedOffset(() => {
-
- /**
- * Manaphy eggs have a 1/8 chance of being Manaphy and 7/8 chance of being Phione
- * Legendary eggs pulled from the legendary gacha have a 50% of being converted into
- * the species that was the legendary focus at the time
- */
- if (this.egg.isManaphyEgg()) {
- const rand = Utils.randSeedInt(8);
-
- speciesOverride = rand ? Species.PHIONE : Species.MANAPHY;
- } else if (this.egg.tier === EggTier.MASTER
- && this.egg.gachaType === GachaType.LEGENDARY) {
- if (!Utils.randSeedInt(2)) {
- speciesOverride = getLegendaryGachaSpeciesForTimestamp(this.scene, this.egg.timestamp);
- }
- }
-
- if (speciesOverride) {
- const pokemonSpecies = getPokemonSpecies(speciesOverride);
- ret = this.scene.addPlayerPokemon(pokemonSpecies, 1, undefined, undefined, undefined, false);
- } else {
- let minStarterValue: integer;
- let maxStarterValue: integer;
-
- switch (this.egg.tier) {
- case EggTier.GREAT:
- minStarterValue = 4;
- maxStarterValue = 5;
- break;
- case EggTier.ULTRA:
- minStarterValue = 6;
- maxStarterValue = 7;
- break;
- case EggTier.MASTER:
- minStarterValue = 8;
- maxStarterValue = 9;
- break;
- default:
- minStarterValue = 1;
- maxStarterValue = 3;
- break;
- }
-
- const ignoredSpecies = [ Species.PHIONE, Species.MANAPHY, Species.ETERNATUS ];
-
- let speciesPool = Object.keys(speciesStarters)
- .filter(s => speciesStarters[s] >= minStarterValue && speciesStarters[s] <= maxStarterValue)
- .map(s => parseInt(s) as Species)
- .filter(s => !pokemonPrevolutions.hasOwnProperty(s) && getPokemonSpecies(s).isObtainable() && ignoredSpecies.indexOf(s) === -1);
-
- // If this is the 10th egg without unlocking something new, attempt to force it.
- if (this.scene.gameData.unlockPity[this.egg.tier] >= 9) {
- const lockedPool = speciesPool.filter(s => !this.scene.gameData.dexData[s].caughtAttr);
- if (lockedPool.length) { // Skip this if everything is unlocked
- speciesPool = lockedPool;
- }
- }
-
- /**
- * Pokemon that are cheaper in their tier get a weight boost. Regionals get a weight penalty
- * 1 cost mons get 2x
- * 2 cost mons get 1.5x
- * 4, 6, 8 cost mons get 1.75x
- * 3, 5, 7, 9 cost mons get 1x
- * Alolan, Galarian, and Paldean mons get 0.5x
- * Hisui mons get 0.125x
- *
- * The total weight is also being calculated EACH time there is an egg hatch instead of being generated once
- * and being the same each time
- */
- let totalWeight = 0;
- const speciesWeights = [];
- for (const speciesId of speciesPool) {
- let weight = Math.floor((((maxStarterValue - speciesStarters[speciesId]) / ((maxStarterValue - minStarterValue) + 1)) * 1.5 + 1) * 100);
- const species = getPokemonSpecies(speciesId);
- if (species.isRegional()) {
- weight = Math.floor(weight / (species.isRareRegional() ? 8 : 2));
- }
- speciesWeights.push(totalWeight + weight);
- totalWeight += weight;
- }
-
- let species: Species;
-
- const rand = Utils.randSeedInt(totalWeight);
- for (let s = 0; s < speciesWeights.length; s++) {
- if (rand < speciesWeights[s]) {
- species = speciesPool[s];
- break;
- }
- }
-
- if (!!this.scene.gameData.dexData[species].caughtAttr) {
- this.scene.gameData.unlockPity[this.egg.tier] = Math.min(this.scene.gameData.unlockPity[this.egg.tier] + 1, 10);
- } else {
- this.scene.gameData.unlockPity[this.egg.tier] = 0;
- }
-
- const pokemonSpecies = getPokemonSpecies(species);
-
- ret = this.scene.addPlayerPokemon(pokemonSpecies, 1, undefined, undefined, undefined, false);
- }
-
- /**
- * Non Shiny gacha Pokemon have a 1/128 chance of being shiny
- * Shiny gacha Pokemon have a 1/64 chance of being shiny
- * IVs are rolled twice and the higher of each stat's IV is taken
- * The egg move gacha doubles the rate of rare egg moves but the base rates are
- * Common: 1/48
- * Rare: 1/24
- * Epic: 1/12
- * Legendary: 1/6
- */
- ret.trySetShiny(this.egg.gachaType === GachaType.SHINY ? 1024 : 512);
- ret.variant = ret.shiny ? ret.generateVariant() : 0;
-
- const secondaryIvs = Utils.getIvsFromId(Utils.randSeedInt(4294967295));
-
- for (let s = 0; s < ret.ivs.length; s++) {
- ret.ivs[s] = Math.max(ret.ivs[s], secondaryIvs[s]);
- }
-
- const baseChance = this.egg.gachaType === GachaType.MOVE ? 3 : 6;
- this.eggMoveIndex = Utils.randSeedInt(baseChance * Math.pow(2, 3 - this.egg.tier))
- ? Utils.randSeedInt(3)
- : 3;
+ ret = this.egg.generatePlayerPokemon(this.scene);
+ this.eggMoveIndex = this.egg.eggMoveIndex;
}, this.egg.id, EGG_SEED.toString());
diff --git a/src/data/enums/abilities.ts b/src/enums/abilities.ts
similarity index 100%
rename from src/data/enums/abilities.ts
rename to src/enums/abilities.ts
diff --git a/src/data/enums/arena-tag-type.ts b/src/enums/arena-tag-type.ts
similarity index 91%
rename from src/data/enums/arena-tag-type.ts
rename to src/enums/arena-tag-type.ts
index 90f45f481ba..722096c42cd 100644
--- a/src/data/enums/arena-tag-type.ts
+++ b/src/enums/arena-tag-type.ts
@@ -20,5 +20,6 @@ export enum ArenaTagType {
WIDE_GUARD = "WIDE_GUARD",
MAT_BLOCK = "MAT_BLOCK",
CRAFTY_SHIELD = "CRAFTY_SHIELD",
- TAILWIND = "TAILWIND"
+ TAILWIND = "TAILWIND",
+ HAPPY_HOUR = "HAPPY_HOUR"
}
diff --git a/src/enums/battle-style.ts b/src/enums/battle-style.ts
new file mode 100644
index 00000000000..3f3e7f6d8f6
--- /dev/null
+++ b/src/enums/battle-style.ts
@@ -0,0 +1,9 @@
+/**
+ * Determines the selected battle style.
+ * - 'Switch' - The option to switch the active pokemon at the start of a battle will be displayed.
+ * - 'Set' - The option to switch the active pokemon at the start of a battle will not display.
+*/
+export enum BattleStyle {
+ SWITCH,
+ SET
+}
diff --git a/src/data/enums/battler-tag-type.ts b/src/enums/battler-tag-type.ts
similarity index 92%
rename from src/data/enums/battler-tag-type.ts
rename to src/enums/battler-tag-type.ts
index 6d36cdafab5..5cdabfe78c2 100644
--- a/src/data/enums/battler-tag-type.ts
+++ b/src/enums/battler-tag-type.ts
@@ -54,8 +54,10 @@ export enum BattlerTagType {
SALT_CURED = "SALT_CURED",
CURSED = "CURSED",
CHARGED = "CHARGED",
- GROUNDED = "GROUNDED",
+ ROOSTED = "ROOSTED",
MAGNET_RISEN = "MAGNET_RISEN",
MINIMIZED = "MINIMIZED",
- DESTINY_BOND = "DESTINY_BOND"
+ DESTINY_BOND = "DESTINY_BOND",
+ CENTER_OF_ATTENTION = "CENTER_OF_ATTENTION",
+ ICE_FACE = "ICE_FACE"
}
diff --git a/src/data/enums/berry-type.ts b/src/enums/berry-type.ts
similarity index 100%
rename from src/data/enums/berry-type.ts
rename to src/enums/berry-type.ts
diff --git a/src/data/enums/biome.ts b/src/enums/biome.ts
similarity index 100%
rename from src/data/enums/biome.ts
rename to src/enums/biome.ts
diff --git a/src/enums/challenges.ts b/src/enums/challenges.ts
new file mode 100644
index 00000000000..690e1cdc32d
--- /dev/null
+++ b/src/enums/challenges.ts
@@ -0,0 +1,7 @@
+export enum Challenges {
+ SINGLE_GENERATION,
+ SINGLE_TYPE,
+ LOWER_MAX_STARTER_COST,
+ LOWER_STARTER_POINTS,
+ FRESH_START
+}
diff --git a/src/enums/color.ts b/src/enums/color.ts
new file mode 100644
index 00000000000..99c2d14cb63
--- /dev/null
+++ b/src/enums/color.ts
@@ -0,0 +1,83 @@
+export enum Color {
+ WHITE = "#ffffff",
+ OFF_WHITE = "#f8f8f8",
+ LIGHT_GREY = "#a0a0a0",
+ GREY = "#484848",
+ DARK_GREY = "#404040",
+ PINK = "#f89890",
+ RED = "#e13d3d",
+ RED2 = "#e70808",
+ REDORANGE = "#d64b00",
+ ORANGE = "#f8b050",
+ LIGHT_YELLOW = "#e8e8a8",
+ YELLOW = "#ccbe00",
+ DARK_YELLOW = "#a68e17",
+ GREEN = "#78c850",
+ BLUE = "#40c8f8",
+ COMMON = "#ffffff",
+ GREAT = "#3890f8",
+ ULTRA = "#f8d038",
+ ROGUE = "#d52929",
+ MASTER = "#e020c0",
+ LUXURY = "#e64a18"
+}
+
+export enum TypeColor {
+ NORMAL = "#ADA594",
+ FIGHTING = "#A55239",
+ FLYING = "#9CADF7",
+ POISON = "#9141CB",
+ GROUND = "#AE7A3B",
+ ROCK = "#BDA55A",
+ BUG = "#ADBD21",
+ GHOST = "#6363B5",
+ STEEL = "#81A6BE",
+ FIRE = "#F75231",
+ WATER = "#399CFF",
+ GRASS = "#7BCE52",
+ ELECTRIC = "#FFC631",
+ PSYCHIC = "#EF4179",
+ ICE = "#5ACEE7",
+ DRAGON = "#7B63E7",
+ DARK = "#735A4A",
+ FAIRY = "#EF70EF",
+}
+
+export enum TypeShadow {
+ NORMAL = "#574F4A",
+ FIGHTING = "#4E637C",
+ FLYING = "#4E637C",
+ POISON = "#352166",
+ GROUND = "#572D1E",
+ ROCK = "#5F442D",
+ BUG = "#5F5010",
+ GHOST = "#323D5B",
+ STEEL = "#415C5F",
+ FIRE = "#7C1818",
+ WATER = "#1C4E80",
+ GRASS = "#4F6729",
+ ELECTRIC = "#804618",
+ PSYCHIC = "#782155",
+ ICE = "#2D5C74",
+ DRAGON = "#313874",
+ DARK = "#392725",
+ FAIRY = "#663878",
+}
+
+export enum ShadowColor {
+ GREY = "#636363",
+ PURPLE = "#6b5a73",
+ LIGHT_GREY = "#d0d0c8",
+ BROWN = "#69402a",
+ PINK = "#fca2a2",
+ BRIGHT_RED = "#f83018",
+ RED = "#984038",
+ MAROON = "#632929",
+ GREEN = "#306850",
+ BLUE = "#006090",
+ LIGHT_YELLOW = "#ded6b5",
+ YELLOW = "#ebd773",
+ DARK_YELLOW = "#a0a060",
+ ORANGE = "#c07800",
+ LIGHT_ORANGE = "#ffbd73",
+}
diff --git a/src/enums/ease-type.ts b/src/enums/ease-type.ts
new file mode 100644
index 00000000000..fbe06fd536d
--- /dev/null
+++ b/src/enums/ease-type.ts
@@ -0,0 +1,15 @@
+export enum EaseType {
+ NONE,
+ LINEAR = "Linear",
+ QUADRATIC = "Quad",
+ CUBIC = "Cubic",
+ QUARTIC = "Quart",
+ QUINTIC = "Quint",
+ SINUSOIDAL = "Sine",
+ EXPONENTIAL = "Expo",
+ CIRCULAR = "Circ",
+ ELASTIC = "Elastic",
+ BACK = "Back",
+ BOUNCE = "Bounce",
+ STEPPED = "Stepped",
+}
diff --git a/src/enums/egg-source-types.ts b/src/enums/egg-source-types.ts
new file mode 100644
index 00000000000..a670d86704b
--- /dev/null
+++ b/src/enums/egg-source-types.ts
@@ -0,0 +1,7 @@
+export enum EggSourceType {
+ GACHA_MOVE,
+ GACHA_LEGENDARY,
+ GACHA_SHINY,
+ SAME_SPECIES_EGG,
+ EVENT
+}
diff --git a/src/data/enums/egg-type.ts b/src/enums/egg-type.ts
similarity index 100%
rename from src/data/enums/egg-type.ts
rename to src/enums/egg-type.ts
diff --git a/src/enums/exp-notification.ts b/src/enums/exp-notification.ts
new file mode 100644
index 00000000000..b7f50814d3a
--- /dev/null
+++ b/src/enums/exp-notification.ts
@@ -0,0 +1,11 @@
+/**
+ * Determines exp notification style.
+ * - Default - the normal exp gain display, nothing changed
+ * - Only level up - we display the level up in the small frame instead of a message
+ * - Skip - no level up frame nor message
+*/
+export enum ExpNotification {
+ DEFAULT,
+ ONLY_LEVEL_UP,
+ SKIP
+}
diff --git a/src/enums/gacha-types.ts b/src/enums/gacha-types.ts
new file mode 100644
index 00000000000..c8beff5cad2
--- /dev/null
+++ b/src/enums/gacha-types.ts
@@ -0,0 +1,5 @@
+export enum GachaType {
+ MOVE,
+ LEGENDARY,
+ SHINY
+}
diff --git a/src/enums/game-data-type.ts b/src/enums/game-data-type.ts
new file mode 100644
index 00000000000..179817fe5be
--- /dev/null
+++ b/src/enums/game-data-type.ts
@@ -0,0 +1,10 @@
+/**
+ * enum for the game data types
+ */
+export enum GameDataType {
+ SYSTEM,
+ SESSION,
+ SETTINGS,
+ TUTORIALS,
+ SEEN_DIALOGUES
+}
diff --git a/src/data/enums/moves.ts b/src/enums/moves.ts
similarity index 100%
rename from src/data/enums/moves.ts
rename to src/enums/moves.ts
diff --git a/src/data/enums/party-member-strength.ts b/src/enums/party-member-strength.ts
similarity index 100%
rename from src/data/enums/party-member-strength.ts
rename to src/enums/party-member-strength.ts
diff --git a/src/enums/passive.ts b/src/enums/passive.ts
new file mode 100644
index 00000000000..b9c2dacd463
--- /dev/null
+++ b/src/enums/passive.ts
@@ -0,0 +1,7 @@
+/**
+ * enum for passive
+ */
+export enum Passive {
+ UNLOCKED = 1,
+ ENABLED = 2
+}
diff --git a/src/enums/player-gender.ts b/src/enums/player-gender.ts
new file mode 100644
index 00000000000..b6cd550b1f2
--- /dev/null
+++ b/src/enums/player-gender.ts
@@ -0,0 +1,8 @@
+/**
+ * enum for the players gender
+ */
+export enum PlayerGender {
+ UNSET,
+ MALE,
+ FEMALE
+}
diff --git a/src/data/enums/species.ts b/src/enums/species.ts
similarity index 99%
rename from src/data/enums/species.ts
rename to src/enums/species.ts
index 0299ee0ce5b..3d410deec1a 100644
--- a/src/data/enums/species.ts
+++ b/src/enums/species.ts
@@ -2164,15 +2164,3 @@ export enum Species {
/**{@link https://bulbapedia.bulbagarden.net/wiki/Ursaluna_(Pokémon) | Source} */
BLOODMOON_URSALUNA = 8901,
}
-
-export const defaultStarterSpecies: Species[] = [
- Species.BULBASAUR, Species.CHARMANDER, Species.SQUIRTLE,
- Species.CHIKORITA, Species.CYNDAQUIL, Species.TOTODILE,
- Species.TREECKO, Species.TORCHIC, Species.MUDKIP,
- Species.TURTWIG, Species.CHIMCHAR, Species.PIPLUP,
- Species.SNIVY, Species.TEPIG, Species.OSHAWOTT,
- Species.CHESPIN, Species.FENNEKIN, Species.FROAKIE,
- Species.ROWLET, Species.LITTEN, Species.POPPLIO,
- Species.GROOKEY, Species.SCORBUNNY, Species.SOBBLE,
- Species.SPRIGATITO, Species.FUECOCO, Species.QUAXLY
-];
diff --git a/src/data/enums/time-of-day.ts b/src/enums/time-of-day.ts
similarity index 100%
rename from src/data/enums/time-of-day.ts
rename to src/enums/time-of-day.ts
diff --git a/src/data/enums/trainer-type.ts b/src/enums/trainer-type.ts
similarity index 88%
rename from src/data/enums/trainer-type.ts
rename to src/enums/trainer-type.ts
index 3b7e27a49e1..6bd8f567acb 100644
--- a/src/data/enums/trainer-type.ts
+++ b/src/enums/trainer-type.ts
@@ -40,6 +40,7 @@ export enum TrainerType {
RICH,
RICH_KID,
ROUGHNECK,
+ SAILOR,
SCIENTIST,
SMASHER,
SNOW_WORKER,
@@ -51,6 +52,24 @@ export enum TrainerType {
WAITER,
WORKER,
YOUNGSTER,
+ ROCKET_GRUNT,
+ MAGMA_GRUNT,
+ AQUA_GRUNT,
+ GALACTIC_GRUNT,
+ PLASMA_GRUNT,
+ FLARE_GRUNT,
+ ROCKET_BOSS_GIOVANNI_1,
+ ROCKET_BOSS_GIOVANNI_2,
+ MAXIE,
+ MAXIE_2,
+ ARCHIE,
+ ARCHIE_2,
+ CYRUS,
+ CYRUS_2,
+ GHETSIS,
+ GHETSIS_2,
+ LYSANDRE,
+ LYSANDRE_2,
BROCK = 200,
MISTY,
diff --git a/src/enums/variant-tier.ts b/src/enums/variant-tier.ts
new file mode 100644
index 00000000000..279846d5f60
--- /dev/null
+++ b/src/enums/variant-tier.ts
@@ -0,0 +1,5 @@
+export enum VariantTier {
+ STANDARD,
+ RARE,
+ EPIC
+}
diff --git a/src/enums/variant-tiers.ts b/src/enums/variant-tiers.ts
new file mode 100644
index 00000000000..20a0e8ec4e4
--- /dev/null
+++ b/src/enums/variant-tiers.ts
@@ -0,0 +1,5 @@
+export enum VariantTier {
+ COMMON,
+ RARE,
+ EPIC
+}
diff --git a/src/events/arena.ts b/src/events/arena.ts
new file mode 100644
index 00000000000..67b423f3b75
--- /dev/null
+++ b/src/events/arena.ts
@@ -0,0 +1,103 @@
+import { ArenaTagSide } from "#app/data/arena-tag.js";
+import { ArenaTagType } from "#enums/arena-tag-type";
+import { TerrainType } from "#app/data/terrain.js";
+import { WeatherType } from "#app/data/weather.js";
+
+/** Alias for all {@linkcode ArenaEvent} type strings */
+export enum ArenaEventType {
+ /** Triggers when a {@linkcode WeatherType} is added, overlapped, or removed */
+ WEATHER_CHANGED = "onWeatherChanged",
+ /** Triggers when a {@linkcode TerrainType} is added, overlapped, or removed */
+ TERRAIN_CHANGED = "onTerrainChanged",
+
+ /** Triggers when a {@linkcode ArenaTagType} is added */
+ TAG_ADDED = "onTagAdded",
+ /** Triggers when a {@linkcode ArenaTagType} is removed */
+ TAG_REMOVED = "onTagRemoved",
+}
+
+/**
+ * Base container class for all {@linkcode ArenaEventType} events
+ * @extends Event
+ */
+export class ArenaEvent extends Event {
+ /** The total duration of the {@linkcode ArenaEventType} */
+ public duration: number;
+ constructor(eventType: ArenaEventType, duration: number) {
+ super(eventType);
+
+ this.duration = duration;
+ }
+}
+/**
+ * Container class for {@linkcode ArenaEventType.WEATHER_CHANGED} events
+ * @extends ArenaEvent
+*/
+export class WeatherChangedEvent extends ArenaEvent {
+ /** The {@linkcode WeatherType} being overridden */
+ public oldWeatherType: WeatherType;
+ /** The {@linkcode WeatherType} being set */
+ public newWeatherType: WeatherType;
+ constructor(oldWeatherType: WeatherType, newWeatherType: WeatherType, duration: number) {
+ super(ArenaEventType.WEATHER_CHANGED, duration);
+
+ this.oldWeatherType = oldWeatherType;
+ this.newWeatherType = newWeatherType;
+ }
+}
+/**
+ * Container class for {@linkcode ArenaEventType.TERRAIN_CHANGED} events
+ * @extends ArenaEvent
+*/
+export class TerrainChangedEvent extends ArenaEvent {
+ /** The {@linkcode TerrainType} being overridden */
+ public oldTerrainType: TerrainType;
+ /** The {@linkcode TerrainType} being set */
+ public newTerrainType: TerrainType;
+ constructor(oldTerrainType: TerrainType, newTerrainType: TerrainType, duration: number) {
+ super(ArenaEventType.TERRAIN_CHANGED, duration);
+
+ this.oldTerrainType = oldTerrainType;
+ this.newTerrainType = newTerrainType;
+ }
+}
+
+/**
+ * Container class for {@linkcode ArenaEventType.TAG_ADDED} events
+ * @extends ArenaEvent
+*/
+export class TagAddedEvent extends ArenaEvent {
+ /** The {@linkcode ArenaTagType} being added */
+ public arenaTagType: ArenaTagType;
+ /** The {@linkcode ArenaTagSide} the tag is being placed on */
+ public arenaTagSide: ArenaTagSide;
+ /** The current number of layers of the arena trap. */
+ public arenaTagLayers: number;
+ /** The maximum amount of layers of the arena trap. */
+ public arenaTagMaxLayers: number;
+
+ constructor(arenaTagType: ArenaTagType, arenaTagSide: ArenaTagSide, duration: number, arenaTagLayers?: number, arenaTagMaxLayers?: number) {
+ super(ArenaEventType.TAG_ADDED, duration);
+
+ this.arenaTagType = arenaTagType;
+ this.arenaTagSide = arenaTagSide;
+ this.arenaTagLayers = arenaTagLayers;
+ this.arenaTagMaxLayers = arenaTagMaxLayers;
+ }
+}
+/**
+ * Container class for {@linkcode ArenaEventType.TAG_REMOVED} events
+ * @extends ArenaEvent
+*/
+export class TagRemovedEvent extends ArenaEvent {
+ /** The {@linkcode ArenaTagType} being removed */
+ public arenaTagType: ArenaTagType;
+ /** The {@linkcode ArenaTagSide} the tag was being placed on */
+ public arenaTagSide: ArenaTagSide;
+ constructor(arenaTagType: ArenaTagType, arenaTagSide: ArenaTagSide, duration: number) {
+ super(ArenaEventType.TAG_REMOVED, duration);
+
+ this.arenaTagType = arenaTagType;
+ this.arenaTagSide = arenaTagSide;
+ }
+}
diff --git a/src/events/battle-scene.ts b/src/events/battle-scene.ts
new file mode 100644
index 00000000000..b2e4461f8d0
--- /dev/null
+++ b/src/events/battle-scene.ts
@@ -0,0 +1,132 @@
+import Move from "../data/move";
+import { BerryModifier } from "../modifier/modifier";
+
+/** Alias for all {@linkcode BattleScene} events */
+export enum BattleSceneEventType {
+ /**
+ * Triggers when the corresponding setting is changed
+ * @see {@linkcode CandyUpgradeNotificationChangedEvent}
+ */
+ CANDY_UPGRADE_NOTIFICATION_CHANGED = "onCandyUpgradeNotificationChanged",
+
+ /**
+ * Triggers when a move is successfully used
+ * @see {@linkcode MoveUsedEvent}
+ */
+ MOVE_USED = "onMoveUsed",
+ /**
+ * Triggers when a berry gets successfully used
+ * @see {@linkcode BerryUsedEvent}
+ */
+ BERRY_USED = "onBerryUsed",
+
+ /**
+ * Triggers at the start of each new encounter
+ * @see {@linkcode EncounterPhaseEvent}
+ */
+ ENCOUNTER_PHASE = "onEncounterPhase",
+ /**
+ * Triggers on the first turn of a new battle
+ * @see {@linkcode TurnInitEvent}
+ */
+ TURN_INIT = "onTurnInit",
+ /**
+ * Triggers after a turn ends in battle
+ * @see {@linkcode TurnEndEvent}
+ */
+ TURN_END = "onTurnEnd",
+
+ /**
+ * Triggers when a new {@linkcode Arena} is created during initialization
+ * @see {@linkcode NewArenaEvent}
+ */
+ NEW_ARENA = "onNewArena",
+}
+
+/**
+ * Container class for {@linkcode BattleSceneEventType.CANDY_UPGRADE_NOTIFICATION_CHANGED} events
+ * @extends Event
+*/
+export class CandyUpgradeNotificationChangedEvent extends Event {
+ /** The new value the setting was changed to */
+ public newValue: number;
+ constructor(newValue: number) {
+ super(BattleSceneEventType.CANDY_UPGRADE_NOTIFICATION_CHANGED);
+
+ this.newValue = newValue;
+ }
+}
+
+/**
+ * Container class for {@linkcode BattleSceneEventType.MOVE_USED} events
+ * @extends Event
+*/
+export class MoveUsedEvent extends Event {
+ /** The ID of the {@linkcode Pokemon} that used the {@linkcode Move} */
+ public pokemonId: number;
+ /** The {@linkcode Move} used */
+ public move: Move;
+ /** The amount of PP used on the {@linkcode Move} this turn */
+ public ppUsed: number;
+ constructor(userId: number, move: Move, ppUsed: number) {
+ super(BattleSceneEventType.MOVE_USED);
+
+ this.pokemonId = userId;
+ this.move = move;
+ this.ppUsed = ppUsed;
+ }
+}
+/**
+ * Container class for {@linkcode BattleSceneEventType.BERRY_USED} events
+ * @extends Event
+*/
+export class BerryUsedEvent extends Event {
+ /** The {@linkcode BerryModifier} being used */
+ public berryModifier: BerryModifier;
+ constructor(berry: BerryModifier) {
+ super(BattleSceneEventType.BERRY_USED);
+
+ this.berryModifier = berry;
+ }
+}
+
+/**
+ * Container class for {@linkcode BattleSceneEventType.ENCOUNTER_PHASE} events
+ * @extends Event
+*/
+export class EncounterPhaseEvent extends Event {
+ constructor() {
+ super(BattleSceneEventType.ENCOUNTER_PHASE);
+ }
+}
+/**
+ * Container class for {@linkcode BattleSceneEventType.TURN_INIT} events
+ * @extends Event
+*/
+export class TurnInitEvent extends Event {
+ constructor() {
+ super(BattleSceneEventType.TURN_INIT);
+ }
+}
+/**
+ * Container class for {@linkcode BattleSceneEventType.TURN_END} events
+ * @extends Event
+*/
+export class TurnEndEvent extends Event {
+ /** The amount of turns in the current battle */
+ public turnCount: number;
+ constructor(turnCount: number) {
+ super(BattleSceneEventType.TURN_END);
+
+ this.turnCount = turnCount;
+ }
+}
+/**
+ * Container class for {@linkcode BattleSceneEventType.NEW_ARENA} events
+ * @extends Event
+*/
+export class NewArenaEvent extends Event {
+ constructor() {
+ super(BattleSceneEventType.NEW_ARENA);
+ }
+}
diff --git a/src/events/egg.ts b/src/events/egg.ts
new file mode 100644
index 00000000000..b30c37a25e8
--- /dev/null
+++ b/src/events/egg.ts
@@ -0,0 +1,21 @@
+export enum EggEventType {
+ /**
+ * Triggers when egg count is changed.
+ * @see {@linkcode MoveUsedEvent}
+ */
+ EGG_COUNT_CHANGED = "onEggCountChanged"
+}
+
+/**
+ * Container class for {@linkcode EggEventType.EGG_COUNT_CHANGED} events
+ * @extends Event
+*/
+export class EggCountChangedEvent extends Event {
+ /** The updated egg count. */
+ public eggCount: integer;
+
+ constructor(eggCount: number) {
+ super(EggEventType.EGG_COUNT_CHANGED);
+ this.eggCount = eggCount;
+ }
+}
diff --git a/src/evolution-phase.ts b/src/evolution-phase.ts
index 29382807ccb..c7986f6664f 100644
--- a/src/evolution-phase.ts
+++ b/src/evolution-phase.ts
@@ -531,6 +531,11 @@ export class EvolutionPhase extends Phase {
}
export class EndEvolutionPhase extends Phase {
+
+ constructor(scene: BattleScene) {
+ super(scene);
+ }
+
start() {
super.start();
diff --git a/src/field/arena-events.ts b/src/field/arena-events.ts
deleted file mode 100644
index b3d03fdfcae..00000000000
--- a/src/field/arena-events.ts
+++ /dev/null
@@ -1,96 +0,0 @@
-import { ArenaTagSide } from "#app/data/arena-tag.js";
-import { ArenaTagType } from "#app/data/enums/arena-tag-type.js";
-import { TerrainType } from "#app/data/terrain.js";
-import { WeatherType } from "#app/data/weather.js";
-
-/** Alias for all {@linkcode ArenaEvent} type strings */
-export enum ArenaEventType {
- /** Triggers when a {@linkcode WeatherType} is added, overlapped, or removed */
- WEATHER_CHANGED = "onWeatherChanged",
- /** Triggers when a {@linkcode TerrainType} is added, overlapped, or removed */
- TERRAIN_CHANGED = "onTerrainChanged",
-
- /** Triggers when a {@linkcode ArenaTagType} is added */
- TAG_ADDED = "onTagAdded",
- /** Triggers when a {@linkcode ArenaTagType} is removed */
- TAG_REMOVED = "onTagRemoved",
-}
-
-/**
- * Base container class for all {@linkcode ArenaEventType} events
- * @extends Event
- */
-export class ArenaEvent extends Event {
- /** The total duration of the {@linkcode ArenaEventType} */
- public duration: number;
- constructor(eventType: ArenaEventType, duration: number) {
- super(eventType);
-
- this.duration = duration;
- }
-}
-/**
- * Container class for {@linkcode ArenaEventType.WEATHER_CHANGED} events
- * @extends ArenaEvent
-*/
-export class WeatherChangedEvent extends ArenaEvent {
- /** The {@linkcode WeatherType} being overridden */
- public oldWeatherType: WeatherType;
- /** The {@linkcode WeatherType} being set */
- public newWeatherType: WeatherType;
- constructor(oldWeatherType: WeatherType, newWeatherType: WeatherType, duration: number) {
- super(ArenaEventType.WEATHER_CHANGED, duration);
-
- this.oldWeatherType = oldWeatherType;
- this.newWeatherType = newWeatherType;
- }
-}
-/**
- * Container class for {@linkcode ArenaEventType.TERRAIN_CHANGED} events
- * @extends ArenaEvent
-*/
-export class TerrainChangedEvent extends ArenaEvent {
- /** The {@linkcode TerrainType} being overridden */
- public oldTerrainType: TerrainType;
- /** The {@linkcode TerrainType} being set */
- public newTerrainType: TerrainType;
- constructor(oldTerrainType: TerrainType, newTerrainType: TerrainType, duration: number) {
- super(ArenaEventType.TERRAIN_CHANGED, duration);
-
- this.oldTerrainType = oldTerrainType;
- this.newTerrainType = newTerrainType;
- }
-}
-
-/**
- * Container class for {@linkcode ArenaEventType.TAG_ADDED} events
- * @extends ArenaEvent
-*/
-export class TagAddedEvent extends ArenaEvent {
- /** The {@linkcode ArenaTagType} being added */
- public arenaTagType: ArenaTagType;
- /** The {@linkcode ArenaTagSide} the tag is being placed on */
- public arenaTagSide: ArenaTagSide;
- constructor(arenaTagType: ArenaTagType, arenaTagSide: ArenaTagSide, duration: number) {
- super(ArenaEventType.TAG_ADDED, duration);
-
- this.arenaTagType = arenaTagType;
- this.arenaTagSide = arenaTagSide;
- }
-}
-/**
- * Container class for {@linkcode ArenaEventType.TAG_REMOVED} events
- * @extends ArenaEvent
-*/
-export class TagRemovedEvent extends ArenaEvent {
- /** The {@linkcode ArenaTagType} being removed */
- public arenaTagType: ArenaTagType;
- /** The {@linkcode ArenaTagSide} the tag was being placed on */
- public arenaTagSide: ArenaTagSide;
- constructor(arenaTagType: ArenaTagType, arenaTagSide: ArenaTagSide, duration: number) {
- super(ArenaEventType.TAG_REMOVED, duration);
-
- this.arenaTagType = arenaTagType;
- this.arenaTagSide = arenaTagSide;
- }
-}
diff --git a/src/field/arena.ts b/src/field/arena.ts
index f6390e40db5..ddb3499b3ae 100644
--- a/src/field/arena.ts
+++ b/src/field/arena.ts
@@ -1,25 +1,26 @@
import BattleScene from "../battle-scene";
import { BiomePoolTier, PokemonPools, BiomeTierTrainerPools, biomePokemonPools, biomeTrainerPools } from "../data/biomes";
-import { Biome } from "../data/enums/biome";
+import { Constructor } from "#app/utils";
import * as Utils from "../utils";
import PokemonSpecies, { getPokemonSpecies } from "../data/pokemon-species";
-import { Species } from "../data/enums/species";
import { Weather, WeatherType, getTerrainClearMessage, getTerrainStartMessage, getWeatherClearMessage, getWeatherStartMessage } from "../data/weather";
import { CommonAnimPhase } from "../phases";
import { CommonAnim } from "../data/battle-anims";
import { Type } from "../data/type";
import Move from "../data/move";
-import { ArenaTag, ArenaTagSide, getArenaTag } from "../data/arena-tag";
-import { ArenaTagType } from "../data/enums/arena-tag-type";
-import { TrainerType } from "../data/enums/trainer-type";
+import { ArenaTag, ArenaTagSide, ArenaTrapTag, getArenaTag } from "../data/arena-tag";
import { BattlerIndex } from "../battle";
-import { Moves } from "../data/enums/moves";
-import { TimeOfDay } from "../data/enums/time-of-day";
import { Terrain, TerrainType } from "../data/terrain";
import { PostTerrainChangeAbAttr, PostWeatherChangeAbAttr, applyPostTerrainChangeAbAttrs, applyPostWeatherChangeAbAttrs } from "../data/ability";
import Pokemon from "./pokemon";
import * as Overrides from "../overrides";
-import { WeatherChangedEvent, TerrainChangedEvent, TagAddedEvent, TagRemovedEvent } from "./arena-events";
+import { WeatherChangedEvent, TerrainChangedEvent, TagAddedEvent, TagRemovedEvent } from "../events/arena";
+import { ArenaTagType } from "#enums/arena-tag-type";
+import { Biome } from "#enums/biome";
+import { Moves } from "#enums/moves";
+import { Species } from "#enums/species";
+import { TimeOfDay } from "#enums/time-of-day";
+import { TrainerType } from "#enums/trainer-type";
export class Arena {
public scene: BattleScene;
@@ -55,6 +56,10 @@ export class Arena {
this.scene.arenaNextEnemy.setBiome(this.biomeType);
this.scene.arenaBg.setTexture(`${biomeKey}_bg`);
this.scene.arenaBgTransition.setTexture(`${biomeKey}_bg`);
+
+ // Redo this on initialise because during save/load the current wave isn't always
+ // set correctly during construction
+ this.updatePoolsForTimeOfDay();
}
updatePoolsForTimeOfDay(): void {
@@ -68,14 +73,20 @@ export class Arena {
}
}
- randomSpecies(waveIndex: integer, level: integer, attempt?: integer): PokemonSpecies {
+ randomSpecies(waveIndex: integer, level: integer, attempt?: integer, luckValue?: integer): PokemonSpecies {
const overrideSpecies = this.scene.gameMode.getOverrideSpecies(waveIndex);
if (overrideSpecies) {
return overrideSpecies;
}
const isBoss = !!this.scene.getEncounterBossSegments(waveIndex, level) && !!this.pokemonPool[BiomePoolTier.BOSS].length
&& (this.biomeType !== Biome.END || this.scene.gameMode.isClassic || this.scene.gameMode.isWaveFinal(waveIndex));
- const tierValue = Utils.randSeedInt(!isBoss ? 512 : 64);
+ const randVal = isBoss ? 64 : 512;
+ // luck influences encounter rarity
+ let luckModifier = 0;
+ if (typeof luckValue !== "undefined") {
+ luckModifier = luckValue * (isBoss ? 0.5 : 2);
+ }
+ const tierValue = Utils.randSeedInt(randVal - luckModifier);
let tier = !isBoss
? tierValue >= 156 ? BiomePoolTier.COMMON : tierValue >= 32 ? BiomePoolTier.UNCOMMON : tierValue >= 6 ? BiomePoolTier.RARE : tierValue >= 1 ? BiomePoolTier.SUPER_RARE : BiomePoolTier.ULTRA_RARE
: tierValue >= 20 ? BiomePoolTier.BOSS : tierValue >= 6 ? BiomePoolTier.BOSS_RARE : tierValue >= 1 ? BiomePoolTier.BOSS_SUPER_RARE : BiomePoolTier.BOSS_ULTRA_RARE;
@@ -373,6 +384,10 @@ export class Arena {
return weatherMultiplier * terrainMultiplier;
}
+ /**
+ * Gets the denominator for the chance for a trainer spawn
+ * @returns n where 1/n is the chance of a trainer battle
+ */
getTrainerChance(): integer {
switch (this.biomeType) {
case Biome.METROPOLIS:
@@ -525,7 +540,7 @@ export class Arena {
this.ignoreAbilities = ignoreAbilities;
}
- applyTagsForSide(tagType: ArenaTagType | { new(...args: any[]): ArenaTag }, side: ArenaTagSide, ...args: any[]): void {
+ applyTagsForSide(tagType: ArenaTagType | Constructor, side: ArenaTagSide, ...args: unknown[]): void {
let tags = typeof tagType === "string"
? this.tags.filter(t => t.tagType === tagType)
: this.tags.filter(t => t instanceof tagType);
@@ -535,31 +550,39 @@ export class Arena {
tags.forEach(t => t.apply(this, args));
}
- applyTags(tagType: ArenaTagType | { new(...args: any[]): ArenaTag }, ...args: any[]): void {
+ applyTags(tagType: ArenaTagType | Constructor, ...args: unknown[]): void {
this.applyTagsForSide(tagType, ArenaTagSide.BOTH, ...args);
}
- addTag(tagType: ArenaTagType, turnCount: integer, sourceMove: Moves, sourceId: integer, side: ArenaTagSide = ArenaTagSide.BOTH, targetIndex?: BattlerIndex): boolean {
+ addTag(tagType: ArenaTagType, turnCount: integer, sourceMove: Moves, sourceId: integer, side: ArenaTagSide = ArenaTagSide.BOTH, quiet: boolean = false, targetIndex?: BattlerIndex): boolean {
const existingTag = this.getTagOnSide(tagType, side);
if (existingTag) {
existingTag.onOverlap(this);
+
+ if (existingTag instanceof ArenaTrapTag) {
+ const { tagType, side, turnCount, layers, maxLayers } = existingTag as ArenaTrapTag;
+ this.eventTarget.dispatchEvent(new TagAddedEvent(tagType, side, turnCount, layers, maxLayers));
+ }
+
return false;
}
const newTag = getArenaTag(tagType, turnCount || 0, sourceMove, sourceId, targetIndex, side);
this.tags.push(newTag);
- newTag.onAdd(this);
+ newTag.onAdd(this, quiet);
- this.eventTarget.dispatchEvent(new TagAddedEvent(newTag.tagType, newTag.side, newTag.turnCount));
+ const { layers = 0, maxLayers = 0 } = newTag instanceof ArenaTrapTag ? newTag : {};
+
+ this.eventTarget.dispatchEvent(new TagAddedEvent(newTag.tagType, newTag.side, newTag.turnCount, layers, maxLayers));
return true;
}
- getTag(tagType: ArenaTagType | { new(...args: any[]): ArenaTag }): ArenaTag {
+ getTag(tagType: ArenaTagType | Constructor): ArenaTag {
return this.getTagOnSide(tagType, ArenaTagSide.BOTH);
}
- getTagOnSide(tagType: ArenaTagType | { new(...args: any[]): ArenaTag }, side: ArenaTagSide): ArenaTag {
+ getTagOnSide(tagType: ArenaTagType | Constructor, side: ArenaTagSide): ArenaTag {
return typeof(tagType) === "string"
? this.tags.find(t => t.tagType === tagType && (side === ArenaTagSide.BOTH || t.side === ArenaTagSide.BOTH || t.side === side))
: this.tags.find(t => t instanceof tagType && (side === ArenaTagSide.BOTH || t.side === ArenaTagSide.BOTH || t.side === side));
@@ -594,10 +617,10 @@ export class Arena {
return !!tag;
}
- removeTagOnSide(tagType: ArenaTagType, side: ArenaTagSide): boolean {
+ removeTagOnSide(tagType: ArenaTagType, side: ArenaTagSide, quiet: boolean = false): boolean {
const tag = this.getTagOnSide(tagType, side);
if (tag) {
- tag.onRemove(this);
+ tag.onRemove(this, quiet);
this.tags.splice(this.tags.indexOf(tag), 1);
this.eventTarget.dispatchEvent(new TagRemovedEvent(tag.tagType, tag.side, tag.turnCount));
@@ -642,7 +665,7 @@ export class Arena {
case Biome.LAKE:
return 5.350;
case Biome.SEABED:
- return 2.629;
+ return 2.600;
case Biome.MOUNTAIN:
return 4.018;
case Biome.BADLANDS:
@@ -672,7 +695,7 @@ export class Arena {
case Biome.ABYSS:
return 5.130;
case Biome.SPACE:
- return 21.347;
+ return 20.036;
case Biome.CONSTRUCTION_SITE:
return 1.222;
case Biome.JUNGLE:
diff --git a/src/field/damage-number-handler.ts b/src/field/damage-number-handler.ts
index cebde7c3ae9..4af219a60b9 100644
--- a/src/field/damage-number-handler.ts
+++ b/src/field/damage-number-handler.ts
@@ -20,6 +20,7 @@ export default class DamageNumberHandler {
const battlerIndex = target.getBattlerIndex();
const baseScale = target.getSpriteScale() / 6;
const damageNumber = addTextObject(scene, target.x, -(scene.game.canvas.height / 6) + target.y - target.getSprite().height / 2, Utils.formatStat(amount, true), TextStyle.SUMMARY);
+ damageNumber.setName("text-damage-number");
damageNumber.setOrigin(0.5, 1);
damageNumber.setScale(baseScale);
diff --git a/src/field/pokemon-sprite-sparkle-handler.ts b/src/field/pokemon-sprite-sparkle-handler.ts
index 9b55133bb50..5312dd18727 100644
--- a/src/field/pokemon-sprite-sparkle-handler.ts
+++ b/src/field/pokemon-sprite-sparkle-handler.ts
@@ -39,6 +39,7 @@ export default class PokemonSpriteSparkleHandler {
const [ xOffset, yOffset ] = [ -s.originX * s.width, -s.originY * s.height];
const sparkle = (s.scene as BattleScene).addFieldSprite(((pokemon?.x || 0) + s.x + pixelX * ratioX + xOffset), ((pokemon?.y || 0) + s.y + pixelY * ratioY + yOffset), "tera_sparkle");
sparkle.pipelineData["ignoreTimeTint"] = s.pipelineData["ignoreTimeTint"];
+ sparkle.setName("sprite-tera-sparkle");
sparkle.play("tera_sparkle");
parent.add(sparkle);
s.scene.time.delayedCall(Utils.fixedInt(Math.floor((1000 / 12) * 13)), () => sparkle.destroy());
diff --git a/src/field/pokemon.ts b/src/field/pokemon.ts
index 2b8f28c4826..0fb74d51304 100644
--- a/src/field/pokemon.ts
+++ b/src/field/pokemon.ts
@@ -3,35 +3,29 @@ import BattleScene, { AnySound } from "../battle-scene";
import { Variant, VariantSet, variantColorCache } from "#app/data/variant";
import { variantData } from "#app/data/variant";
import BattleInfo, { PlayerBattleInfo, EnemyBattleInfo } from "../ui/battle-info";
-import { Moves } from "../data/enums/moves";
-import Move, { HighCritAttr, HitsTagAttr, applyMoveAttrs, FixedDamageAttr, VariableAtkAttr, VariablePowerAttr, allMoves, MoveCategory, TypelessAttr, CritOnlyAttr, getMoveTargets, OneHitKOAttr, MultiHitAttr, StatusMoveTypeImmunityAttr, MoveTarget, VariableDefAttr, AttackMove, ModifiedDamageAttr, VariableMoveTypeMultiplierAttr, IgnoreOpponentStatChangesAttr, SacrificialAttr, VariableMoveTypeAttr, VariableMoveCategoryAttr, CounterDamageAttr, StatChangeAttr, RechargeAttr, ChargeAttr, IgnoreWeatherTypeDebuffAttr, BypassBurnDamageReductionAttr, SacrificialAttrOnHit, MoveFlags } from "../data/move";
+import Move, { HighCritAttr, HitsTagAttr, applyMoveAttrs, FixedDamageAttr, VariableAtkAttr, VariablePowerAttr, allMoves, MoveCategory, TypelessAttr, CritOnlyAttr, getMoveTargets, OneHitKOAttr, MultiHitAttr, VariableMoveTypeAttr, StatusMoveTypeImmunityAttr, MoveTarget, VariableDefAttr, AttackMove, ModifiedDamageAttr, VariableMoveTypeMultiplierAttr, IgnoreOpponentStatChangesAttr, SacrificialAttr, VariableMoveCategoryAttr, CounterDamageAttr, StatChangeAttr, RechargeAttr, ChargeAttr, IgnoreWeatherTypeDebuffAttr, BypassBurnDamageReductionAttr, SacrificialAttrOnHit, MoveFlags, NeutralDamageAgainstFlyingTypeMultiplierAttr } from "../data/move";
import { default as PokemonSpecies, PokemonSpeciesForm, SpeciesFormKey, getFusedSpeciesName, getPokemonSpecies, getPokemonSpeciesForm, getStarterValueFriendshipCap, speciesStarters, starterPassiveAbilities } from "../data/pokemon-species";
+import { Constructor } from "#app/utils";
import * as Utils from "../utils";
import { Type, TypeDamageMultiplier, getTypeDamageMultiplier, getTypeRgb } from "../data/type";
import { getLevelTotalExp } from "../data/exp";
import { Stat } from "../data/pokemon-stat";
-import { AttackTypeBoosterModifier, DamageMoneyRewardModifier, EnemyDamageBoosterModifier, EnemyDamageReducerModifier, EnemyEndureChanceModifier, EnemyFusionChanceModifier, HiddenAbilityRateBoosterModifier, PokemonBaseStatModifier, PokemonFriendshipBoosterModifier, PokemonHeldItemModifier, PokemonMultiHitModifier, PokemonNatureWeightModifier, ShinyRateBoosterModifier, SurviveDamageModifier, TempBattleStatBoosterModifier, TerastallizeModifier } from "../modifier/modifier";
+import { AttackTypeBoosterModifier, DamageMoneyRewardModifier, EnemyDamageBoosterModifier, EnemyDamageReducerModifier, EnemyEndureChanceModifier, EnemyFusionChanceModifier, HiddenAbilityRateBoosterModifier, PokemonBaseStatModifier, PokemonFriendshipBoosterModifier, PokemonHeldItemModifier, PokemonMultiHitModifier, PokemonNatureWeightModifier, ShinyRateBoosterModifier, SurviveDamageModifier, TempBattleStatBoosterModifier, StatBoosterModifier, TerastallizeModifier } from "../modifier/modifier";
import { PokeballType } from "../data/pokeball";
import { Gender } from "../data/gender";
import { initMoveAnim, loadMoveAnimAssets } from "../data/battle-anims";
import { Status, StatusEffect, getRandomStatus } from "../data/status-effect";
import { pokemonEvolutions, pokemonPrevolutions, SpeciesFormEvolution, SpeciesEvolutionCondition, FusionSpeciesFormEvolution } from "../data/pokemon-evolutions";
import { reverseCompatibleTms, tmSpecies, tmPoolTiers } from "../data/tms";
-import { DamagePhase, FaintPhase, LearnMovePhase, ObtainStatusEffectPhase, StatChangePhase, SwitchSummonPhase, ToggleDoublePositionPhase } from "../phases";
+import { DamagePhase, FaintPhase, LearnMovePhase, MoveEffectPhase, ObtainStatusEffectPhase, StatChangePhase, SwitchSummonPhase, ToggleDoublePositionPhase } from "../phases";
import { BattleStat } from "../data/battle-stat";
-import { BattlerTag, BattlerTagLapseType, EncoreTag, HelpingHandTag, HighestStatBoostTag, TypeBoostTag, getBattlerTag } from "../data/battler-tags";
-import { BattlerTagType } from "../data/enums/battler-tag-type";
-import { Species } from "../data/enums/species";
+import { BattlerTag, BattlerTagLapseType, EncoreTag, GroundedTag, HelpingHandTag, HighestStatBoostTag, TypeBoostTag, TypeImmuneTag, getBattlerTag } from "../data/battler-tags";
import { WeatherType } from "../data/weather";
import { TempBattleStat } from "../data/temp-battle-stat";
import { ArenaTagSide, WeakenMoveScreenTag, WeakenMoveTypeTag } from "../data/arena-tag";
-import { ArenaTagType } from "../data/enums/arena-tag-type";
-import { Biome } from "../data/enums/biome";
-import { Ability, AbAttr, BattleStatMultiplierAbAttr, BlockCritAbAttr, BonusCritAbAttr, BypassBurnDamageReductionAbAttr, FieldPriorityMoveImmunityAbAttr, FieldVariableMovePowerAbAttr, IgnoreOpponentStatChangesAbAttr, MoveImmunityAbAttr, MoveTypeChangeAttr, PreApplyBattlerTagAbAttr, PreDefendFullHpEndureAbAttr, ReceivedMoveDamageMultiplierAbAttr, ReduceStatusEffectDurationAbAttr, StabBoostAbAttr, StatusEffectImmunityAbAttr, TypeImmunityAbAttr, VariableMovePowerAbAttr, VariableMoveTypeAbAttr, WeightMultiplierAbAttr, allAbilities, applyAbAttrs, applyBattleStatMultiplierAbAttrs, applyPreApplyBattlerTagAbAttrs, applyPreAttackAbAttrs, applyPreDefendAbAttrs, applyPreSetStatusAbAttrs, UnsuppressableAbilityAbAttr, SuppressFieldAbilitiesAbAttr, NoFusionAbilityAbAttr, MultCritAbAttr, IgnoreTypeImmunityAbAttr, DamageBoostAbAttr, IgnoreTypeStatusEffectImmunityAbAttr, ConditionalCritAbAttr } from "../data/ability";
-import { Abilities } from "#app/data/enums/abilities";
+import { Ability, AbAttr, BattleStatMultiplierAbAttr, BlockCritAbAttr, BonusCritAbAttr, BypassBurnDamageReductionAbAttr, FieldPriorityMoveImmunityAbAttr, IgnoreOpponentStatChangesAbAttr, MoveImmunityAbAttr, MoveTypeChangeAttr, PreApplyBattlerTagAbAttr, PreDefendFullHpEndureAbAttr, ReceivedMoveDamageMultiplierAbAttr, ReduceStatusEffectDurationAbAttr, StabBoostAbAttr, StatusEffectImmunityAbAttr, TypeImmunityAbAttr, VariableMovePowerAbAttr, WeightMultiplierAbAttr, allAbilities, applyAbAttrs, applyBattleStatMultiplierAbAttrs, applyPreApplyBattlerTagAbAttrs, applyPreAttackAbAttrs, applyPreDefendAbAttrs, applyPreSetStatusAbAttrs, UnsuppressableAbilityAbAttr, SuppressFieldAbilitiesAbAttr, NoFusionAbilityAbAttr, MultCritAbAttr, IgnoreTypeImmunityAbAttr, DamageBoostAbAttr, IgnoreTypeStatusEffectImmunityAbAttr, ConditionalCritAbAttr, applyFieldBattleStatMultiplierAbAttrs, FieldMultiplyBattleStatAbAttr, AllyMoveCategoryPowerBoostAbAttr, FieldMoveTypePowerBoostAbAttr, AddSecondStrikeAbAttr, UserFieldMoveTypePowerBoostAbAttr } from "../data/ability";
import PokemonData from "../system/pokemon-data";
import { BattlerIndex } from "../battle";
-import { BattleSpec } from "../enums/battle-spec";
import { Mode } from "../ui/ui";
import PartyUiHandler, { PartyOption, PartyUiMode } from "../ui/party-ui-handler";
import SoundFade from "phaser3-rex-plugins/plugins/soundfade";
@@ -44,10 +38,18 @@ import { SpeciesFormChange, SpeciesFormChangeActiveTrigger, SpeciesFormChangeMov
import { TerrainType } from "../data/terrain";
import { TrainerSlot } from "../data/trainer-config";
import * as Overrides from "../overrides";
-import { BerryType } from "../data/enums/berry-type";
-import i18next from "../plugins/i18n";
+import i18next from "i18next";
import { speciesEggMoves } from "../data/egg-moves";
import { ModifierTier } from "../modifier/modifier-tier";
+import { applyChallenges, ChallengeType } from "#app/data/challenge.js";
+import { Abilities } from "#enums/abilities";
+import { ArenaTagType } from "#enums/arena-tag-type";
+import { BattleSpec } from "#enums/battle-spec";
+import { BattlerTagType } from "#enums/battler-tag-type";
+import { BerryType } from "#enums/berry-type";
+import { Biome } from "#enums/biome";
+import { Moves } from "#enums/moves";
+import { Species } from "#enums/species";
export enum FieldPosition {
CENTER,
@@ -211,8 +213,8 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
this.generateFusionSpecies();
}
}
-
this.luck = (this.shiny ? this.variant + 1 : 0) + (this.fusionShiny ? this.fusionVariant + 1 : 0);
+ this.fusionLuck = this.luck;
}
this.generateName();
@@ -266,11 +268,22 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
return !this.hp && (!checkStatus || this.status?.effect === StatusEffect.FAINT);
}
+ /**
+ * Check if this pokemon is both not fainted and allowed to be in battle.
+ * This is frequently a better alternative to {@link isFainted}
+ * @returns {boolean} True if pokemon is allowed in battle
+ */
+ isAllowedInBattle(): boolean {
+ const challengeAllowed = new Utils.BooleanHolder(true);
+ applyChallenges(this.scene.gameMode, ChallengeType.POKEMON_IN_BATTLE, this, challengeAllowed);
+ return !this.isFainted() && challengeAllowed.value;
+ }
+
isActive(onField?: boolean): boolean {
if (!this.scene) {
return false;
}
- return !this.isFainted() && !!this.scene && (!onField || this.isOnField());
+ return this.isAllowedInBattle() && !!this.scene && (!onField || this.isOnField());
}
getDexAttr(): bigint {
@@ -644,6 +657,15 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
this.scene.applyModifiers(TempBattleStatBoosterModifier, this.isPlayer(), battleStat as integer as TempBattleStat, statLevel);
}
const statValue = new Utils.NumberHolder(this.getStat(stat));
+ this.scene.applyModifiers(StatBoosterModifier, this.isPlayer(), this, stat, statValue);
+
+ const fieldApplied = new Utils.BooleanHolder(false);
+ for (const pokemon of this.scene.getField(true)) {
+ applyFieldBattleStatMultiplierAbAttrs(FieldMultiplyBattleStatAbAttr, pokemon, stat, statValue, this, fieldApplied);
+ if (fieldApplied.value) {
+ break;
+ }
+ }
applyBattleStatMultiplierAbAttrs(BattleStatMultiplierAbAttr, this, battleStat, statValue);
let ret = statValue.value * (Math.max(2, 2 + statLevel.value) / Math.max(2, 2 - statLevel.value));
switch (stat) {
@@ -827,10 +849,21 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
return ret;
}
+ /**
+ * All moves that could be relearned by this pokemon at this point. Used for memory mushrooms.
+ * @returns {Moves[]} The valid moves
+ */
getLearnableLevelMoves(): Moves[] {
- return this.getLevelMoves(1, true).map(lm => lm[1]).filter(lm => !this.moveset.filter(m => m.moveId === lm).length).filter((move: Moves, i: integer, array: Moves[]) => array.indexOf(move) === i);
+ return this.getLevelMoves(1, true, false, true).map(lm => lm[1]).filter(lm => !this.moveset.filter(m => m.moveId === lm).length).filter((move: Moves, i: integer, array: Moves[]) => array.indexOf(move) === i);
}
+ /**
+ * Gets the types of a pokemon
+ * @param includeTeraType boolean to include tera-formed type, default false
+ * @param forDefend boolean if the pokemon is defending from an attack
+ * @param ignoreOverride boolean if true, ignore ability changing effects
+ * @returns array of {@linkcode Type}
+ */
getTypes(includeTeraType = false, forDefend: boolean = false, ignoreOverride?: boolean): Type[] {
const types = [];
@@ -845,11 +878,11 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
if (!ignoreOverride && this.summonData?.types) {
this.summonData.types.forEach(t => types.push(t));
} else {
- const speciesForm = this.getSpeciesForm();
+ const speciesForm = this.getSpeciesForm(ignoreOverride);
types.push(speciesForm.type1);
- const fusionSpeciesForm = this.getFusionSpeciesForm();
+ const fusionSpeciesForm = this.getFusionSpeciesForm(ignoreOverride);
if (fusionSpeciesForm) {
if (fusionSpeciesForm.type2 !== null && fusionSpeciesForm.type2 !== speciesForm.type1) {
types.push(fusionSpeciesForm.type2);
@@ -864,7 +897,9 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
}
}
- if (forDefend && (this.getTag(BattlerTagType.IGNORE_FLYING) || this.scene.arena.getTag(ArenaTagType.GRAVITY) || this.getTag(BattlerTagType.GROUNDED))) {
+ // this.scene potentially can be undefined for a fainted pokemon in doubles
+ // use optional chaining to avoid runtime errors
+ if (forDefend && (this.getTag(GroundedTag) || this.scene?.arena.getTag(ArenaTagType.GRAVITY))) {
const flyingIndex = types.indexOf(Type.FLYING);
if (flyingIndex > -1) {
types.splice(flyingIndex, 1);
@@ -885,8 +920,8 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
return types;
}
- isOfType(type: Type, forDefend: boolean = false): boolean {
- return !!this.getTypes(true, forDefend).find(t => t === type);
+ isOfType(type: Type, includeTeraType: boolean = true, forDefend: boolean = false, ignoreOverride?: boolean): boolean {
+ return !!this.getTypes(includeTeraType, forDefend, ignoreOverride).some(t => t === type);
}
/**
@@ -939,6 +974,29 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
return allAbilities[starterPassiveAbilities[starterSpeciesId]];
}
+ /**
+ * Gets a list of all instances of a given ability attribute among abilities this pokemon has.
+ * Accounts for all the various effects which can affect whether an ability will be present or
+ * in effect, and both passive and non-passive.
+ * @param attrType {@linkcode AbAttr} The ability attribute to check for.
+ * @param canApply {@linkcode Boolean} If false, it doesn't check whether the ability is currently active
+ * @param ignoreOverride {@linkcode Boolean} If true, it ignores ability changing effects
+ * @returns {AbAttr[]} A list of all the ability attributes on this ability.
+ */
+ getAbilityAttrs(attrType: { new(...args: any[]): AbAttr }, canApply: boolean = true, ignoreOverride?: boolean): AbAttr[] {
+ const abilityAttrs: AbAttr[] = [];
+
+ if (!canApply || this.canApplyAbility()) {
+ abilityAttrs.push(...this.getAbility(ignoreOverride).getAttrs(attrType));
+ }
+
+ if (!canApply || this.canApplyAbility(true)) {
+ abilityAttrs.push(...this.getPassiveAbility().getAttrs(attrType));
+ }
+
+ return abilityAttrs;
+ }
+
/**
* Checks if a pokemon has a passive either from:
* - bought with starter candy
@@ -962,7 +1020,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
* @param {boolean} passive If true, check if passive can be applied instead of non-passive
* @returns {Ability} The passive ability of the pokemon
*/
- canApplyAbility(passive: boolean = false, forceBypass: boolean = false): boolean {
+ canApplyAbility(passive: boolean = false): boolean {
if (passive && !this.hasPassive()) {
return false;
}
@@ -990,7 +1048,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
return false;
}
}
- return (this.hp || ability.isBypassFaint || forceBypass) && !ability.conditions.find(condition => !condition(this));
+ return (this.hp || ability.isBypassFaint) && !ability.conditions.find(condition => !condition(this));
}
/**
@@ -1018,11 +1076,11 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
* in effect, and both passive and non-passive. This is one of the two primary ways to check
* whether a pokemon has a particular ability.
* @param {AbAttr} attrType The ability attribute to check for
- * @param {boolean} canApply If false, it doesn't check whether the abiltiy is currently active
+ * @param {boolean} canApply If false, it doesn't check whether the ability is currently active
* @param {boolean} ignoreOverride If true, it ignores ability changing effects
* @returns {boolean} Whether an ability with that attribute is present and active
*/
- hasAbilityWithAttr(attrType: { new(...args: any[]): AbAttr }, canApply: boolean = true, ignoreOverride?: boolean): boolean {
+ hasAbilityWithAttr(attrType: Constructor, canApply: boolean = true, ignoreOverride?: boolean): boolean {
if ((!canApply || this.canApplyAbility()) && this.getAbility(ignoreOverride).hasAttr(attrType)) {
return true;
}
@@ -1039,13 +1097,21 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
return weight.value;
}
+ /**
+ * Gets the tera-formed type of the pokemon, or UNKNOWN if not present
+ * @returns the {@linkcode Type}
+ */
getTeraType(): Type {
- const teraModifier = this.scene.findModifier(m => m instanceof TerastallizeModifier
- && m.pokemonId === this.id && !!m.getBattlesLeft(), this.isPlayer()) as TerastallizeModifier;
- if (teraModifier) {
- return teraModifier.teraType;
+ // this.scene can be undefined for a fainted mon in doubles
+ if (this.scene !== undefined) {
+ const teraModifier = this.scene.findModifier(m => m instanceof TerastallizeModifier
+ && m.pokemonId === this.id && !!m.getBattlesLeft(), this.isPlayer()) as TerastallizeModifier;
+ // return teraType
+ if (teraModifier) {
+ return teraModifier.teraType;
+ }
}
-
+ // if scene is undefined, or if teraModifier is considered false, then return unknown type
return Type.UNKNOWN;
}
@@ -1054,23 +1120,57 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
}
isGrounded(): boolean {
- return !this.isOfType(Type.FLYING, true) && !this.hasAbility(Abilities.LEVITATE);
+ return !!this.getTag(GroundedTag) || (!this.isOfType(Type.FLYING, true, true) && !this.hasAbility(Abilities.LEVITATE) && !this.getTag(BattlerTagType.MAGNET_RISEN));
}
- getAttackMoveEffectiveness(source: Pokemon, move: PokemonMove): TypeDamageMultiplier {
- const typeless = move.getMove().hasAttr(TypelessAttr);
- const typeMultiplier = new Utils.NumberHolder(this.getAttackTypeEffectiveness(move.getMove().type, source));
+ /**
+ * Calculates the effectiveness of a move against the Pokémon.
+ *
+ * @param source - The Pokémon using the move.
+ * @param move - The move being used.
+ * @returns The type damage multiplier or undefined if it's a status move
+ */
+ getMoveEffectiveness(source: Pokemon, move: PokemonMove): TypeDamageMultiplier | undefined {
+ if (move.getMove().category === MoveCategory.STATUS) {
+ return undefined;
+ }
+
+ return this.getAttackMoveEffectiveness(source, move, !this.battleData?.abilityRevealed);
+ }
+
+ /**
+ * Calculates the effectiveness of an attack move against the Pokémon.
+ *
+ * @param source - The attacking Pokémon.
+ * @param pokemonMove - The move being used by the attacking Pokémon.
+ * @param ignoreAbility - Whether to check for abilities that might affect type effectiveness or immunity.
+ * @returns The type damage multiplier, indicating the effectiveness of the move
+ */
+ getAttackMoveEffectiveness(source: Pokemon, pokemonMove: PokemonMove, ignoreAbility: boolean = false): TypeDamageMultiplier {
+ const move = pokemonMove.getMove();
+ const typeless = move.hasAttr(TypelessAttr);
+ const typeMultiplier = new Utils.NumberHolder(this.getAttackTypeEffectiveness(move.type, source));
const cancelled = new Utils.BooleanHolder(false);
- if (!typeless) {
+ applyMoveAttrs(VariableMoveTypeMultiplierAttr, source, this, move, typeMultiplier);
+ if (!typeless && !ignoreAbility) {
applyPreDefendAbAttrs(TypeImmunityAbAttr, this, source, move, cancelled, typeMultiplier, true);
}
- if (!cancelled.value) {
+ if (!cancelled.value && !ignoreAbility) {
applyPreDefendAbAttrs(MoveImmunityAbAttr, this, source, move, cancelled, typeMultiplier, true);
}
- return (!cancelled.value ? typeMultiplier.value : 0) as TypeDamageMultiplier;
+
+ return (!cancelled.value ? Number(typeMultiplier.value) : 0) as TypeDamageMultiplier;
}
- getAttackTypeEffectiveness(moveType: Type, source?: Pokemon): TypeDamageMultiplier {
+ /**
+ * Calculates the type effectiveness multiplier for an attack type
+ * @param moveType Type of the move
+ * @param source the Pokemon using the move
+ * @param ignoreStrongWinds whether or not this ignores strong winds (anticipation, forewarn, stealth rocks)
+ * @param simulated tag to only apply the strong winds effect message when the move is used
+ * @returns a multiplier for the type effectiveness
+ */
+ getAttackTypeEffectiveness(moveType: Type, source?: Pokemon, ignoreStrongWinds: boolean = false, simulated: boolean = true): TypeDamageMultiplier {
if (moveType === Type.STELLAR) {
return this.isTerastallized() ? 2 : 1;
}
@@ -1079,7 +1179,9 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
let multiplier = types.map(defType => {
if (source) {
const ignoreImmunity = new Utils.BooleanHolder(false);
- applyAbAttrs(IgnoreTypeImmunityAbAttr, source, ignoreImmunity, moveType, defType);
+ if (source.isActive(true) && source.hasAbilityWithAttr(IgnoreTypeImmunityAbAttr)) {
+ applyAbAttrs(IgnoreTypeImmunityAbAttr, source, ignoreImmunity, moveType, defType);
+ }
if (ignoreImmunity.value) {
return 1;
}
@@ -1089,9 +1191,17 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
}).reduce((acc, cur) => acc * cur, 1) as TypeDamageMultiplier;
// Handle strong winds lowering effectiveness of types super effective against pure flying
- if (this.scene.arena.weather?.weatherType === WeatherType.STRONG_WINDS && !this.scene.arena.weather.isEffectSuppressed(this.scene) && multiplier >= 2 && this.isOfType(Type.FLYING) && getTypeDamageMultiplier(moveType, Type.FLYING) === 2) {
+ if (!ignoreStrongWinds && this.scene.arena.weather?.weatherType === WeatherType.STRONG_WINDS && !this.scene.arena.weather.isEffectSuppressed(this.scene) && this.isOfType(Type.FLYING) && getTypeDamageMultiplier(moveType, Type.FLYING) === 2) {
multiplier /= 2;
+ if (!simulated) {
+ this.scene.queueMessage(i18next.t("weather:strongWindsEffectMessage"));
+ }
}
+
+ if (!!this.summonData?.tags.find((tag) => tag instanceof TypeImmuneTag && tag.immuneType === moveType)) {
+ multiplier = 0;
+ }
+
return multiplier;
}
@@ -1140,7 +1250,15 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
return null;
}
- getLevelMoves(startingLevel?: integer, includeEvolutionMoves: boolean = false, simulateEvolutionChain: boolean = false): LevelMoves {
+ /**
+ * Gets all level up moves in a given range for a particular pokemon.
+ * @param {integer} startingLevel Don't include moves below this level
+ * @param {boolean} includeEvolutionMoves Whether to include evolution moves
+ * @param {boolean} simulateEvolutionChain Whether to include moves from prior evolutions
+ * @param {boolean} includeRelearnerMoves Whether to include moves that would require a relearner. Note the move relearner inherently allows evolution moves
+ * @returns {LevelMoves} A list of moves and the levels they can be learned at
+ */
+ getLevelMoves(startingLevel?: integer, includeEvolutionMoves: boolean = false, simulateEvolutionChain: boolean = false, includeRelearnerMoves: boolean = false): LevelMoves {
const ret: LevelMoves = [];
let levelMoves: LevelMoves = [];
if (!startingLevel) {
@@ -1151,58 +1269,45 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
for (let e = 0; e < evolutionChain.length; e++) {
// TODO: Might need to pass specific form index in simulated evolution chain
const speciesLevelMoves = getPokemonSpeciesForm(evolutionChain[e][0] as Species, this.formIndex).getLevelMoves();
- levelMoves.push(...speciesLevelMoves.filter(lm => (includeEvolutionMoves && !lm[0]) || ((!e || lm[0] > 1) && (e === evolutionChain.length - 1 || lm[0] <= evolutionChain[e + 1][1]))));
- }
- levelMoves.sort((lma: [integer, integer], lmb: [integer, integer]) => lma[0] > lmb[0] ? 1 : lma[0] < lmb[0] ? -1 : 0);
- const uniqueMoves: Moves[] = [];
- levelMoves = levelMoves.filter(lm => {
- if (uniqueMoves.find(m => m === lm[1])) {
- return false;
+ if (includeRelearnerMoves) {
+ levelMoves.push(...speciesLevelMoves);
+ } else {
+ levelMoves.push(...speciesLevelMoves.filter(lm => (includeEvolutionMoves && lm[0] === 0) || ((!e || lm[0] > 1) && (e === evolutionChain.length - 1 || lm[0] <= evolutionChain[e + 1][1]))));
}
- uniqueMoves.push(lm[1]);
- return true;
- });
+ }
} else {
- levelMoves = this.getSpeciesForm(true).getLevelMoves();
+ levelMoves = this.getSpeciesForm(true).getLevelMoves().filter(lm => (includeEvolutionMoves && lm[0] === 0) || (includeRelearnerMoves && lm[0] === -1) || lm[0] > 0);
}
if (this.fusionSpecies) {
- const evolutionLevelMoves = levelMoves.slice(0, Math.max(levelMoves.findIndex(lm => !!lm[0]), 0));
- const fusionLevelMoves = this.getFusionSpeciesForm(true).getLevelMoves();
- const newLevelMoves: LevelMoves = [];
- while (levelMoves.length && levelMoves[0][0] < startingLevel) {
- levelMoves.shift();
- }
- while (fusionLevelMoves.length && fusionLevelMoves[0][0] < startingLevel) {
- fusionLevelMoves.shift();
- }
- if (includeEvolutionMoves) {
- for (const elm of evolutionLevelMoves.reverse()) {
- levelMoves.unshift(elm);
- }
- }
- for (let l = includeEvolutionMoves ? 0 : startingLevel; l <= this.level; l++) {
- if (l === 1 && startingLevel > 1) {
- l = startingLevel;
- }
- while (levelMoves.length && levelMoves[0][0] === l) {
- const levelMove = levelMoves.shift();
- if (!newLevelMoves.find(lm => lm[1] === levelMove[1])) {
- newLevelMoves.push(levelMove);
- }
- }
- while (fusionLevelMoves.length && fusionLevelMoves[0][0] === l) {
- const fusionLevelMove = fusionLevelMoves.shift();
- if (!newLevelMoves.find(lm => lm[1] === fusionLevelMove[1])) {
- newLevelMoves.push(fusionLevelMove);
+ if (simulateEvolutionChain) {
+ const fusionEvolutionChain = this.fusionSpecies.getSimulatedEvolutionChain(this.level, this.hasTrainer(), this.isBoss(), this.isPlayer());
+ for (let e = 0; e < fusionEvolutionChain.length; e++) {
+ // TODO: Might need to pass specific form index in simulated evolution chain
+ const speciesLevelMoves = getPokemonSpeciesForm(fusionEvolutionChain[e][0] as Species, this.fusionFormIndex).getLevelMoves();
+ if (includeRelearnerMoves) {
+ levelMoves.push(...speciesLevelMoves.filter(lm => (includeEvolutionMoves && lm[0] === 0) || lm[0] !== 0));
+ } else {
+ levelMoves.push(...speciesLevelMoves.filter(lm => (includeEvolutionMoves && lm[0] === 0) || ((!e || lm[0] > 1) && (e === fusionEvolutionChain.length - 1 || lm[0] <= fusionEvolutionChain[e + 1][1]))));
}
}
+ } else {
+ levelMoves.push(...this.getFusionSpeciesForm(true).getLevelMoves().filter(lm => (includeEvolutionMoves && lm[0] === 0) || (includeRelearnerMoves && lm[0] === -1) || lm[0] > 0));
}
- levelMoves = newLevelMoves;
}
+ levelMoves.sort((lma: [integer, integer], lmb: [integer, integer]) => lma[0] > lmb[0] ? 1 : lma[0] < lmb[0] ? -1 : 0);
+ const uniqueMoves: Moves[] = [];
+ levelMoves = levelMoves.filter(lm => {
+ if (uniqueMoves.find(m => m === lm[1])) {
+ return false;
+ }
+ uniqueMoves.push(lm[1]);
+ return true;
+ });
+
if (levelMoves) {
for (const lm of levelMoves) {
const level = lm[0];
- if ((!includeEvolutionMoves || level) && level < startingLevel) {
+ if (!includeRelearnerMoves && ((level > 0 && level < startingLevel) || (!includeEvolutionMoves && level === 0) || level < 0)) {
continue;
} else if (level > this.level) {
break;
@@ -1246,6 +1351,9 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
const shinyThreshold = new Utils.IntegerHolder(32);
if (thresholdOverride === undefined) {
+ if (this.scene.eventManager.isEventActive()) {
+ shinyThreshold.value *= this.scene.eventManager.getShinyMultiplier();
+ }
if (!this.hasTrainer()) {
this.scene.applyModifiers(ShinyRateBoosterModifier, true, shinyThreshold);
}
@@ -1273,7 +1381,16 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
* @returns the shiny variant
*/
generateVariant(): Variant {
- if (!this.shiny || !variantData.hasOwnProperty(this.species.speciesId)) {
+ const formIndex: number = this.formIndex;
+ let variantDataIndex: string | number = this.species.speciesId;
+ if (this.species.forms.length > 0) {
+ const formKey = this.species.forms[formIndex]?.formKey;
+ if (formKey) {
+ variantDataIndex = `${variantDataIndex}-${formKey}`;
+ }
+ }
+ // Checks if there is no variant data for both the index or index with form
+ if (!this.shiny || (!variantData.hasOwnProperty(variantDataIndex) && !variantData.hasOwnProperty(this.species.speciesId))) {
return 0;
}
const rand = Utils.randSeedInt(10);
@@ -1562,11 +1679,20 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
return this.battleInfo.updateInfo(this, instant);
}
+ /**
+ * Show or hide the type effectiveness multiplier window
+ * Passing undefined will hide the window
+ */
+ updateEffectiveness(effectiveness?: string) {
+ this.battleInfo.updateEffectiveness(effectiveness);
+ }
+
toggleStats(visible: boolean): void {
this.battleInfo.toggleStats(visible);
}
+
toggleFlyout(visible: boolean): void {
- this.battleInfo.flyoutMenu?.toggleFlyout(visible);
+ this.battleInfo.toggleFlyout(visible);
}
addExp(exp: integer) {
@@ -1607,9 +1733,8 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
return (this.isPlayer() ? this.scene.getPlayerField() : this.scene.getEnemyField())[this.getFieldIndex() ? 0 : 1];
}
- apply(source: Pokemon, battlerMove: PokemonMove): HitResult {
+ apply(source: Pokemon, move: Move): HitResult {
let result: HitResult;
- const move = battlerMove.getMove();
const damage = new Utils.NumberHolder(0);
const defendingSidePlayField = this.isPlayer() ? this.scene.getPlayerField() : this.scene.getEnemyField();
@@ -1617,30 +1742,26 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
applyMoveAttrs(VariableMoveCategoryAttr, source, this, move, variableCategory);
const moveCategory = variableCategory.value as MoveCategory;
- const variableType = new Utils.IntegerHolder(move.type);
const typeChangeMovePowerMultiplier = new Utils.NumberHolder(1);
- applyMoveAttrs(VariableMoveTypeAttr, source, this, move, variableType);
- // 2nd argument is for MoveTypeChangePowerMultiplierAbAttr
- applyAbAttrs(VariableMoveTypeAbAttr, source, null, variableType, typeChangeMovePowerMultiplier);
- applyPreAttackAbAttrs(MoveTypeChangeAttr, source, this, battlerMove, variableType, typeChangeMovePowerMultiplier);
- const type = variableType.value as Type;
+ applyMoveAttrs(VariableMoveTypeAttr, source, this, move);
+ applyPreAttackAbAttrs(MoveTypeChangeAttr, source, this, move, typeChangeMovePowerMultiplier);
const types = this.getTypes(true, true);
const cancelled = new Utils.BooleanHolder(false);
const typeless = move.hasAttr(TypelessAttr);
const typeMultiplier = new Utils.NumberHolder(!typeless && (moveCategory !== MoveCategory.STATUS || move.getAttrs(StatusMoveTypeImmunityAttr).find(attr => types.includes(attr.immuneType)))
- ? this.getAttackTypeEffectiveness(type, source)
+ ? this.getAttackTypeEffectiveness(move.type, source, false, false)
: 1);
applyMoveAttrs(VariableMoveTypeMultiplierAttr, source, this, move, typeMultiplier);
if (typeless) {
typeMultiplier.value = 1;
}
- if (types.find(t => move.isTypeImmune(t))) {
+ if (types.find(t => move.isTypeImmune(source, this, t))) {
typeMultiplier.value = 0;
}
// Apply arena tags for conditional protection
- if (!move.hasFlag(MoveFlags.IGNORE_PROTECT) && !move.isAllyTarget()) {
+ if (!move.checkFlag(MoveFlags.IGNORE_PROTECT, source, this) && !move.isAllyTarget()) {
const defendingSide = this.isPlayer() ? ArenaTagSide.PLAYER : ArenaTagSide.ENEMY;
this.scene.arena.applyTagsForSide(ArenaTagType.QUICK_GUARD, defendingSide, cancelled, this, move.priority);
this.scene.arena.applyTagsForSide(ArenaTagType.WIDE_GUARD, defendingSide, cancelled, this, move.moveTarget);
@@ -1654,44 +1775,62 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
const isPhysical = moveCategory === MoveCategory.PHYSICAL;
const power = new Utils.NumberHolder(move.power);
const sourceTeraType = source.getTeraType();
- if (sourceTeraType !== Type.UNKNOWN && sourceTeraType === type && power.value < 60 && move.priority <= 0 && !move.hasAttr(MultiHitAttr) && !this.scene.findModifier(m => m instanceof PokemonMultiHitModifier && m.pokemonId === source.id)) {
+ if (sourceTeraType !== Type.UNKNOWN && sourceTeraType === move.type && power.value < 60 && move.priority <= 0 && !move.hasAttr(MultiHitAttr) && !this.scene.findModifier(m => m instanceof PokemonMultiHitModifier && m.pokemonId === source.id)) {
power.value = 60;
}
- applyPreAttackAbAttrs(VariableMovePowerAbAttr, source, this, battlerMove, power);
- this.scene.getField(true).map(p => applyPreAttackAbAttrs(FieldVariableMovePowerAbAttr, this, source, battlerMove, power));
+ applyPreAttackAbAttrs(VariableMovePowerAbAttr, source, this, move, power);
- applyPreDefendAbAttrs(ReceivedMoveDamageMultiplierAbAttr, this, source, battlerMove, cancelled, power);
+ if (source.getAlly()?.hasAbilityWithAttr(AllyMoveCategoryPowerBoostAbAttr)) {
+ applyPreAttackAbAttrs(AllyMoveCategoryPowerBoostAbAttr, source, this, move, power);
+ }
+
+ const fieldAuras = new Set(
+ this.scene.getField(true)
+ .map((p) => p.getAbilityAttrs(FieldMoveTypePowerBoostAbAttr) as FieldMoveTypePowerBoostAbAttr[])
+ .flat(),
+ );
+ for (const aura of fieldAuras) {
+ // The only relevant values are `move` and the `power` holder
+ aura.applyPreAttack(null, null, null, move, [power]);
+ }
+
+ const alliedField: Pokemon[] = source instanceof PlayerPokemon ? this.scene.getPlayerField() : this.scene.getEnemyField();
+ alliedField.forEach(p => applyPreAttackAbAttrs(UserFieldMoveTypePowerBoostAbAttr, p, this, move, power));
power.value *= typeChangeMovePowerMultiplier.value;
if (!typeless) {
- applyPreDefendAbAttrs(TypeImmunityAbAttr, this, source, battlerMove, cancelled, typeMultiplier);
+ applyPreDefendAbAttrs(TypeImmunityAbAttr, this, source, move, cancelled, typeMultiplier);
+ applyMoveAttrs(NeutralDamageAgainstFlyingTypeMultiplierAttr, source, this, move, typeMultiplier);
}
if (!cancelled.value) {
- applyPreDefendAbAttrs(MoveImmunityAbAttr, this, source, battlerMove, cancelled, typeMultiplier);
- defendingSidePlayField.forEach((p) => applyPreDefendAbAttrs(FieldPriorityMoveImmunityAbAttr, p, source, battlerMove, cancelled, typeMultiplier));
+ applyPreDefendAbAttrs(MoveImmunityAbAttr, this, source, move, cancelled, typeMultiplier);
+ defendingSidePlayField.forEach((p) => applyPreDefendAbAttrs(FieldPriorityMoveImmunityAbAttr, p, source, move, cancelled, typeMultiplier));
}
if (cancelled.value) {
+ source.stopMultiHit(this);
result = HitResult.NO_EFFECT;
} else {
- const typeBoost = source.findTag(t => t instanceof TypeBoostTag && (t as TypeBoostTag).boostedType === type) as TypeBoostTag;
+ const typeBoost = source.findTag(t => t instanceof TypeBoostTag && t.boostedType === move.type) as TypeBoostTag;
if (typeBoost) {
power.value *= typeBoost.boostValue;
if (typeBoost.oneUse) {
source.removeTag(typeBoost.tagType);
}
}
- const arenaAttackTypeMultiplier = new Utils.NumberHolder(this.scene.arena.getAttackTypeMultiplier(type, source.isGrounded()));
+ const arenaAttackTypeMultiplier = new Utils.NumberHolder(this.scene.arena.getAttackTypeMultiplier(move.type, source.isGrounded()));
applyMoveAttrs(IgnoreWeatherTypeDebuffAttr, source, this, move, arenaAttackTypeMultiplier);
- if (this.scene.arena.getTerrainType() === TerrainType.GRASSY && this.isGrounded() && type === Type.GROUND && move.moveTarget === MoveTarget.ALL_NEAR_OTHERS) {
+ if (this.scene.arena.getTerrainType() === TerrainType.GRASSY && this.isGrounded() && move.type === Type.GROUND && move.moveTarget === MoveTarget.ALL_NEAR_OTHERS) {
power.value /= 2;
}
+
applyMoveAttrs(VariablePowerAttr, source, this, move, power);
+
this.scene.applyModifiers(PokemonMultiHitModifier, source.isPlayer(), source, new Utils.IntegerHolder(0), power);
if (!typeless) {
- this.scene.arena.applyTags(WeakenMoveTypeTag, type, power);
- this.scene.applyModifiers(AttackTypeBoosterModifier, source.isPlayer(), source, type, power);
+ this.scene.arena.applyTags(WeakenMoveTypeTag, move.type, power);
+ this.scene.applyModifiers(AttackTypeBoosterModifier, source.isPlayer(), source, move.type, power);
}
if (source.getTag(HelpingHandTag)) {
power.value *= 1.5;
@@ -1718,6 +1857,9 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
}
const critChance = [24, 8, 2, 1][Math.max(0, Math.min(critLevel.value, 3))];
isCritical = !source.getTag(BattlerTagType.NO_CRIT) && (critChance === 1 || !this.scene.randBattleSeedInt(critChance));
+ if (Overrides.NEVER_CRIT_OVERRIDE) {
+ isCritical = false;
+ }
}
if (isCritical) {
const blockCrit = new Utils.BooleanHolder(false);
@@ -1736,11 +1878,11 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
}
const isTypeImmune = (typeMultiplier.value * arenaAttackTypeMultiplier.value) === 0;
const sourceTypes = source.getTypes();
- const matchesSourceType = sourceTypes[0] === type || (sourceTypes.length > 1 && sourceTypes[1] === type);
+ const matchesSourceType = sourceTypes[0] === move.type || (sourceTypes.length > 1 && sourceTypes[1] === move.type);
const stabMultiplier = new Utils.NumberHolder(1);
if (sourceTeraType === Type.UNKNOWN && matchesSourceType) {
stabMultiplier.value += 0.5;
- } else if (sourceTeraType !== Type.UNKNOWN && sourceTeraType === type) {
+ } else if (sourceTeraType !== Type.UNKNOWN && sourceTeraType === move.type) {
stabMultiplier.value += 0.5;
}
@@ -1753,8 +1895,16 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
applyMoveAttrs(VariableAtkAttr, source, this, move, sourceAtk);
applyMoveAttrs(VariableDefAttr, source, this, move, targetDef);
+ const effectPhase = this.scene.getCurrentPhase();
+ let numTargets = 1;
+ if (effectPhase instanceof MoveEffectPhase) {
+ numTargets = effectPhase.getTargets().length;
+ }
+ const twoStrikeMultiplier = new Utils.NumberHolder(1);
+ applyPreAttackAbAttrs(AddSecondStrikeAbAttr, source, this, move, numTargets, new Utils.IntegerHolder(0), twoStrikeMultiplier);
+
if (!isTypeImmune) {
- damage.value = Math.ceil(((((2 * source.level / 5 + 2) * power.value * sourceAtk.value / targetDef.value) / 50) + 2) * stabMultiplier.value * typeMultiplier.value * arenaAttackTypeMultiplier.value * screenMultiplier.value * ((this.scene.randBattleSeedInt(15) + 85) / 100) * criticalMultiplier.value);
+ damage.value = Math.ceil(((((2 * source.level / 5 + 2) * power.value * sourceAtk.value / targetDef.value) / 50) + 2) * stabMultiplier.value * typeMultiplier.value * arenaAttackTypeMultiplier.value * screenMultiplier.value * twoStrikeMultiplier.value * ((this.scene.randBattleSeedInt(15) + 85) / 100) * criticalMultiplier.value);
if (isPhysical && source.status && source.status.effect === StatusEffect.BURN) {
if (!move.hasAttr(BypassBurnDamageReductionAttr)) {
const burnDamageReductionCancelled = new Utils.BooleanHolder(false);
@@ -1765,7 +1915,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
}
}
- applyPreAttackAbAttrs(DamageBoostAbAttr, source, this, battlerMove, damage);
+ applyPreAttackAbAttrs(DamageBoostAbAttr, source, this, move, damage);
/**
* For each {@link HitsTagAttr} the move has, doubles the damage of the move if:
@@ -1780,7 +1930,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
});
}
- if (this.scene.arena.terrain?.terrainType === TerrainType.MISTY && this.isGrounded() && type === Type.DRAGON) {
+ if (this.scene.arena.terrain?.terrainType === TerrainType.MISTY && this.isGrounded() && move.type === Type.DRAGON) {
damage.value = Math.floor(damage.value / 2);
}
@@ -1822,10 +1972,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
}
applyMoveAttrs(ModifiedDamageAttr, source, this, move, damage);
-
- if (power.value === 0) {
- damage.value = 0;
- }
+ applyPreDefendAbAttrs(ReceivedMoveDamageMultiplierAbAttr, this, source, move, cancelled, damage);
console.log("damage", damage.value, move.name, power.value, sourceAtk, targetDef);
@@ -1835,7 +1982,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
const oneHitKo = result === HitResult.ONE_HIT_KO;
if (damage.value) {
if (this.getHpRatio() === 1) {
- applyPreDefendAbAttrs(PreDefendFullHpEndureAbAttr, this, source, battlerMove, cancelled, damage);
+ applyPreDefendAbAttrs(PreDefendFullHpEndureAbAttr, this, source, move, cancelled, damage);
} else if (!this.isPlayer() && damage.value >= this.hp) {
this.scene.applyModifiers(EnemyEndureChanceModifier, false, this);
}
@@ -1900,11 +2047,11 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
break;
case MoveCategory.STATUS:
if (!typeless) {
- applyPreDefendAbAttrs(TypeImmunityAbAttr, this, source, battlerMove, cancelled, typeMultiplier);
+ applyPreDefendAbAttrs(TypeImmunityAbAttr, this, source, move, cancelled, typeMultiplier);
}
if (!cancelled.value) {
- applyPreDefendAbAttrs(MoveImmunityAbAttr, this, source, battlerMove, cancelled, typeMultiplier);
- defendingSidePlayField.forEach((p) => applyPreDefendAbAttrs(FieldPriorityMoveImmunityAbAttr, p, source, battlerMove, cancelled, typeMultiplier));
+ applyPreDefendAbAttrs(MoveImmunityAbAttr, this, source, move, cancelled, typeMultiplier);
+ defendingSidePlayField.forEach((p) => applyPreDefendAbAttrs(FieldPriorityMoveImmunityAbAttr, p, source, move, cancelled, typeMultiplier));
}
if (!typeMultiplier.value) {
this.scene.queueMessage(i18next.t("battle:hitResultNoEffect", { pokemonName: this.name }));
@@ -1993,7 +2140,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
return false;
}
- getTag(tagType: BattlerTagType | { new(...args: any[]): BattlerTag }): BattlerTag {
+ getTag(tagType: BattlerTagType | Constructor): BattlerTag {
if (!this.summonData) {
return null;
}
@@ -2009,7 +2156,7 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
return this.summonData.tags.find(t => tagFilter(t));
}
- getTags(tagType: BattlerTagType | { new(...args: any[]): BattlerTag }): BattlerTag[] {
+ getTags(tagType: BattlerTagType | Constructor): BattlerTag[] {
if (!this.summonData) {
return [];
}
@@ -2080,12 +2227,22 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
tags.filter(t => t.sourceId === sourceId).forEach(t => t.sourceId = newSourceId);
}
+ /**
+ * Transferring stat changes and Tags
+ * @param source {@linkcode Pokemon} the pokemon whose stats/Tags are to be passed on from, ie: the Pokemon using Baton Pass
+ */
transferSummon(source: Pokemon): void {
const battleStats = Utils.getEnumValues(BattleStat);
for (const stat of battleStats) {
this.summonData.battleStats[stat] = source.summonData.battleStats[stat];
}
for (const tag of source.summonData.tags) {
+
+ // bypass yawn, and infatuation as those can not be passed via Baton Pass
+ if (tag.sourceMove === Moves.YAWN || tag.tagType === BattlerTagType.INFATUATED) {
+ continue;
+ }
+
this.summonData.tags.push(tag);
}
if (this instanceof PlayerPokemon && source.summonData.battleStats.find(bs => bs === 6)) {
@@ -2112,6 +2269,17 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
return this.summonData.moveQueue;
}
+ /**
+ * If this Pokemon is using a multi-hit move, cancels all subsequent strikes
+ * @param {Pokemon} target If specified, this only cancels subsequent strikes against the given target
+ */
+ stopMultiHit(target?: Pokemon): void {
+ const effectPhase = this.scene.getCurrentPhase();
+ if (effectPhase instanceof MoveEffectPhase && effectPhase.getUserPokemon() === this) {
+ effectPhase.stopMultiHit(target);
+ }
+ }
+
changeForm(formChange: SpeciesFormChange): Promise {
return new Promise(resolve => {
this.formIndex = Math.max(this.species.forms.findIndex(f => f.formKey === formChange.formKey), 0);
@@ -2386,6 +2554,14 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
return false;
}
+ /**
+ * If this Pokemon falls asleep or freezes in the middle of a multi-hit attack,
+ * cancel the attack's subsequent hits.
+ */
+ if (effect === StatusEffect.SLEEP || effect === StatusEffect.FREEZE) {
+ this.stopMultiHit();
+ }
+
if (asPhase) {
this.scene.unshiftPhase(new ObtainStatusEffectPhase(this.scene, this.getBattlerIndex(), effect, cureTurn, sourceText, sourcePokemon));
return true;
@@ -2425,10 +2601,12 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
}
/**
- * Resets the status of a pokemon
- * @param revive whether revive should be cured, defaults to true
+ * Resets the status of a pokemon.
+ * @param revive Whether revive should be cured; defaults to true.
+ * @param confusion Whether resetStatus should include confusion or not; defaults to false.
+ * @param reloadAssets Whether to reload the assets or not; defaults to false.
*/
- resetStatus(revive: boolean = true): void {
+ resetStatus(revive: boolean = true, confusion: boolean = false, reloadAssets: boolean = false): void {
const lastStatus = this.status?.effect;
if (!revive && lastStatus === StatusEffect.FAINT) {
return;
@@ -2440,6 +2618,14 @@ export default abstract class Pokemon extends Phaser.GameObjects.Container {
this.lapseTag(BattlerTagType.NIGHTMARE);
}
}
+ if (confusion) {
+ if (this.getTag(BattlerTagType.CONFUSED)) {
+ this.lapseTag(BattlerTagType.CONFUSED);
+ }
+ }
+ if (reloadAssets) {
+ this.loadAssets(false).then(() => this.playAnim());
+ }
}
primeSummonData(summonDataPrimer: PokemonSummonData): void {
@@ -2937,7 +3123,7 @@ export class PlayerPokemon extends Pokemon {
fusionStarterSpeciesId ? this.scene.gameData.starterData[fusionStarterSpeciesId] : null
].filter(d => d);
const amount = new Utils.IntegerHolder(friendship);
- const starterAmount = new Utils.IntegerHolder(Math.floor(friendship * (this.scene.gameMode.isClassic ? 2 : 1) / (fusionStarterSpeciesId ? 2 : 1)));
+ const starterAmount = new Utils.IntegerHolder(Math.floor(friendship * (this.scene.gameMode.isClassic && friendship > 0 ? 2 : 1) / (fusionStarterSpeciesId ? 2 : 1)));
if (amount.value > 0) {
this.scene.applyModifier(PokemonFriendshipBoosterModifier, true, this, amount);
this.scene.applyModifier(PokemonFriendshipBoosterModifier, true, this, starterAmount);
@@ -3229,14 +3415,17 @@ export class EnemyPokemon extends Pokemon {
public aiType: AiType;
public bossSegments: integer;
public bossSegmentIndex: integer;
+ /** To indicate of the instance was populated with a dataSource -> e.g. loaded & populated from session data */
+ public readonly isPopulatedFromDataSource: boolean;
constructor(scene: BattleScene, species: PokemonSpecies, level: integer, trainerSlot: TrainerSlot, boss: boolean, dataSource: PokemonData) {
super(scene, 236, 84, species, level, dataSource?.abilityIndex, dataSource?.formIndex,
dataSource?.gender, dataSource ? dataSource.shiny : false, dataSource ? dataSource.variant : undefined, null, dataSource ? dataSource.nature : undefined, dataSource);
this.trainerSlot = trainerSlot;
+ this.isPopulatedFromDataSource = !!dataSource; // if a dataSource is provided, then it was populated from dataSource
if (boss) {
- this.setBoss();
+ this.setBoss(boss, dataSource?.bossSegments);
}
if (Overrides.OPP_STATUS_OVERRIDE) {
@@ -3284,6 +3473,13 @@ export class EnemyPokemon extends Pokemon {
}
}
+ /**
+ * Sets the pokemons boss status. If true initializes the boss segments either from the arguments
+ * or through the the Scene.getEncounterBossSegments function
+ *
+ * @param boss if the pokemon is a boss
+ * @param bossSegments amount of boss segments (health-bar segments)
+ */
setBoss(boss: boolean = true, bossSegments: integer = 0): void {
if (boss) {
this.bossSegments = bossSegments || this.scene.getEncounterBossSegments(this.scene.currentBattle.waveIndex, this.level, this.species, true);
@@ -3362,10 +3558,6 @@ export class EnemyPokemon extends Pokemon {
const pokemonMove = movePool[m];
const move = pokemonMove.getMove();
- const variableType = new Utils.IntegerHolder(move.type);
- applyAbAttrs(VariableMoveTypeAbAttr, this, null, variableType);
- const moveType = variableType.value as Type;
-
let moveScore = moveScores[m];
const targetScores: integer[] = [];
@@ -3377,18 +3569,22 @@ export class EnemyPokemon extends Pokemon {
const target = this.scene.getField()[mt];
let targetScore = move.getUserBenefitScore(this, target, move) + move.getTargetBenefitScore(this, target, move) * (mt < BattlerIndex.ENEMY === this.isPlayer() ? 1 : -1);
- if ((move.name.endsWith(" (N)") || !move.applyConditions(this, target, move)) && ![Moves.SUCKER_PUNCH, Moves.UPPER_HAND].includes(move.id)) {
+ if (Number.isNaN(targetScore)) {
+ console.error(`Move ${move.name} returned score of NaN`);
+ targetScore = 0;
+ }
+ if ((move.name.endsWith(" (N)") || !move.applyConditions(this, target, move)) && ![Moves.SUCKER_PUNCH, Moves.UPPER_HAND, Moves.THUNDERCLAP].includes(move.id)) {
targetScore = -20;
} else if (move instanceof AttackMove) {
const effectiveness = target.getAttackMoveEffectiveness(this, pokemonMove);
if (target.isPlayer() !== this.isPlayer()) {
targetScore *= effectiveness;
- if (this.isOfType(moveType)) {
+ if (this.isOfType(move.type)) {
targetScore *= 1.5;
}
} else if (effectiveness) {
targetScore /= effectiveness;
- if (this.isOfType(moveType)) {
+ if (this.isOfType(move.type)) {
targetScore /= 1.5;
}
}
@@ -3706,6 +3902,7 @@ export class PokemonSummonData {
public disabledTurns: integer = 0;
public tags: BattlerTag[] = [];
public abilitySuppressed: boolean = false;
+ public abilitiesApplied: Abilities[] = [];
public speciesForm: PokemonSpeciesForm;
public fusionSpeciesForm: PokemonSpeciesForm;
@@ -3714,7 +3911,8 @@ export class PokemonSummonData {
public fusionGender: Gender;
public stats: integer[];
public moveset: PokemonMove[];
- public types: Type[];
+ // If not initialized this value will not be populated from save data.
+ public types: Type[] = null;
}
export class PokemonBattleData {
@@ -3722,10 +3920,13 @@ export class PokemonBattleData {
public endured: boolean = false;
public berriesEaten: BerryType[] = [];
public abilitiesApplied: Abilities[] = [];
+ public abilityRevealed: boolean = false;
}
export class PokemonBattleSummonData {
+ /** The number of turns the pokemon has passed since entering the battle */
public turnCount: integer = 1;
+ /** The list of moves the pokemon has used since entering the battle */
public moveHistory: TurnMove[] = [];
}
@@ -3770,6 +3971,19 @@ export enum HitResult {
export type DamageResult = HitResult.EFFECTIVE | HitResult.SUPER_EFFECTIVE | HitResult.NOT_VERY_EFFECTIVE | HitResult.ONE_HIT_KO | HitResult.OTHER;
+/**
+ * Wrapper class for the {@linkcode Move} class for Pokemon to interact with.
+ * These are the moves assigned to a {@linkcode Pokemon} object.
+ * It links to {@linkcode Move} class via the move ID.
+ * Compared to {@linkcode Move}, this class also tracks if a move has received.
+ * PP Ups, amount of PP used, and things like that.
+ * @see {@linkcode isUsable} - checks if move is disabled, out of PP, or not implemented.
+ * @see {@linkcode getMove} - returns {@linkcode Move} object by looking it up via ID.
+ * @see {@linkcode usePp} - removes a point of PP from the move.
+ * @see {@linkcode getMovePp} - returns amount of PP a move currently has.
+ * @see {@linkcode getPpRatio} - returns the current PP amount / max PP amount.
+ * @see {@linkcode getName} - returns name of {@linkcode Move}.
+ **/
export class PokemonMove {
public moveId: Moves;
public ppUsed: integer;
diff --git a/src/field/trainer.ts b/src/field/trainer.ts
index fb85bfbe8b7..3e78afeae83 100644
--- a/src/field/trainer.ts
+++ b/src/field/trainer.ts
@@ -11,8 +11,6 @@ import {
trainerPartyTemplates,
signatureSpecies
} from "../data/trainer-config";
-import {PartyMemberStrength} from "../data/enums/party-member-strength";
-import {TrainerType} from "../data/enums/trainer-type";
import {EnemyPokemon} from "./pokemon";
import * as Utils from "../utils";
import {PersistentModifier} from "../modifier/modifier";
@@ -20,7 +18,9 @@ import {trainerNamePools} from "../data/trainer-names";
import {ArenaTagSide, ArenaTrapTag} from "#app/data/arena-tag";
import {getIsInitialized, initI18n} from "#app/plugins/i18n";
import i18next from "i18next";
-import {Species} from "#app/data/enums/species";
+import { PartyMemberStrength } from "#enums/party-member-strength";
+import { Species } from "#enums/species";
+import { TrainerType } from "#enums/trainer-type";
export enum TrainerVariant {
DEFAULT,
@@ -122,6 +122,14 @@ export default class Trainer extends Phaser.GameObjects.Container {
// Determine the title to include based on the configuration and includeTitle flag.
let title = includeTitle && this.config.title ? this.config.title : null;
+ if (this.name === "" && name.toLowerCase().includes("grunt")) {
+ // This is a evil team grunt so we localize it by only using the "name" as the title
+ title = i18next.t(`trainerClasses:${name.toLowerCase().replace(/\s/g, "_")}`);
+ console.log("Localized grunt name: " + title);
+ // Since grunts are not named we can just return the title
+ return title;
+ }
+
// If the trainer has a name (not null or undefined).
if (this.name) {
// If the title should be included.
@@ -166,6 +174,10 @@ export default class Trainer extends Phaser.GameObjects.Container {
return this.config.doubleOnly || this.variant === TrainerVariant.DOUBLE;
}
+ getMixedBattleBgm(): string {
+ return this.config.mixedBattleBgm;
+ }
+
getBattleBgm(): string {
return this.config.battleBgm;
}
@@ -420,20 +432,24 @@ export default class Trainer extends Phaser.GameObjects.Container {
}
const party = this.scene.getEnemyParty();
- const nonFaintedPartyMembers = party.slice(this.scene.currentBattle.getBattlerCount()).filter(p => !p.isFainted()).filter(p => !trainerSlot || p.trainerSlot === trainerSlot);
- const partyMemberScores = nonFaintedPartyMembers.map(p => {
- const playerField = this.scene.getPlayerField();
+ const nonFaintedLegalPartyMembers = party.slice(this.scene.currentBattle.getBattlerCount()).filter(p => p.isAllowedInBattle()).filter(p => !trainerSlot || p.trainerSlot === trainerSlot);
+ const partyMemberScores = nonFaintedLegalPartyMembers.map(p => {
+ const playerField = this.scene.getPlayerField().filter(p => p.isAllowedInBattle());
let score = 0;
- for (const playerPokemon of playerField) {
- score += p.getMatchupScore(playerPokemon);
- if (playerPokemon.species.legendary) {
- score /= 2;
+
+ if (playerField.length > 0) {
+ for (const playerPokemon of playerField) {
+ score += p.getMatchupScore(playerPokemon);
+ if (playerPokemon.species.legendary) {
+ score /= 2;
+ }
+ }
+ score /= playerField.length;
+ if (forSwitch && !p.isOnField()) {
+ this.scene.arena.findTagsOnSide(t => t instanceof ArenaTrapTag, ArenaTagSide.ENEMY).map(t => score *= (t as ArenaTrapTag).getMatchupScoreMultiplier(p));
}
}
- score /= playerField.length;
- if (forSwitch && !p.isOnField()) {
- this.scene.arena.findTagsOnSide(t => t instanceof ArenaTrapTag, ArenaTagSide.ENEMY).map(t => score *= (t as ArenaTrapTag).getMatchupScoreMultiplier(p));
- }
+
return [party.indexOf(p), score];
}) as [integer, integer][];
diff --git a/src/form-change-phase.ts b/src/form-change-phase.ts
index a8957bfc8b6..ebf91c635fd 100644
--- a/src/form-change-phase.ts
+++ b/src/form-change-phase.ts
@@ -7,7 +7,7 @@ import { EndEvolutionPhase, EvolutionPhase } from "./evolution-phase";
import Pokemon, { EnemyPokemon, PlayerPokemon } from "./field/pokemon";
import { Mode } from "./ui/ui";
import PartyUiHandler from "./ui/party-ui-handler";
-import { BattleSpec } from "./enums/battle-spec";
+import { BattleSpec } from "#enums/battle-spec";
import { BattlePhase, MovePhase, PokemonHealPhase } from "./phases";
import { getTypeRgb } from "./data/type";
@@ -278,9 +278,8 @@ export class QuietFormChangePhase extends BattlePhase {
}
end(): void {
- if (this.pokemon.scene.currentBattle.battleSpec === BattleSpec.FINAL_BOSS && this.pokemon instanceof EnemyPokemon) {
+ if (this.pokemon.scene?.currentBattle.battleSpec === BattleSpec.FINAL_BOSS && this.pokemon instanceof EnemyPokemon) {
this.scene.playBgm();
- this.pokemon.summonData.battleStats = [ 0, 0, 0, 0, 0, 0, 0 ];
this.scene.unshiftPhase(new PokemonHealPhase(this.scene, this.pokemon.getBattlerIndex(), this.pokemon.getMaxHp(), null, false, false, false, true));
this.pokemon.findAndRemoveTags(() => true);
this.pokemon.bossSegments = 5;
diff --git a/src/game-mode.ts b/src/game-mode.ts
index 4d46971dcb5..dd22e69d719 100644
--- a/src/game-mode.ts
+++ b/src/game-mode.ts
@@ -1,17 +1,20 @@
-import { fixedBattles } from "./battle";
+import i18next from "i18next";
+import { classicFixedBattles, FixedBattleConfig, FixedBattleConfigs } from "./battle";
import BattleScene from "./battle-scene";
-import { Biome } from "./data/enums/biome";
-import { Species } from "./data/enums/species";
+import { allChallenges, applyChallenges, Challenge, ChallengeType, copyChallenge } from "./data/challenge";
import PokemonSpecies, { allSpecies } from "./data/pokemon-species";
import { Arena } from "./field/arena";
-import * as Utils from "./utils";
import * as Overrides from "./overrides";
+import * as Utils from "./utils";
+import { Biome } from "#enums/biome";
+import { Species } from "#enums/species";
export enum GameModes {
CLASSIC,
ENDLESS,
SPLICED_ENDLESS,
- DAILY
+ DAILY,
+ CHALLENGE
}
interface GameModeConfig {
@@ -19,12 +22,12 @@ interface GameModeConfig {
isEndless?: boolean;
isDaily?: boolean;
hasTrainers?: boolean;
- hasFixedBattles?: boolean;
hasNoShop?: boolean;
hasShortBiomes?: boolean;
hasRandomBiomes?: boolean;
hasRandomBosses?: boolean;
isSplicedOnly?: boolean;
+ isChallenge?: boolean;
}
export class GameMode implements GameModeConfig {
@@ -33,16 +36,23 @@ export class GameMode implements GameModeConfig {
public isEndless: boolean;
public isDaily: boolean;
public hasTrainers: boolean;
- public hasFixedBattles: boolean;
public hasNoShop: boolean;
public hasShortBiomes: boolean;
public hasRandomBiomes: boolean;
public hasRandomBosses: boolean;
public isSplicedOnly: boolean;
+ public isChallenge: boolean;
+ public challenges: Challenge[];
+ public battleConfig: FixedBattleConfigs;
- constructor(modeId: GameModes, config: GameModeConfig) {
+ constructor(modeId: GameModes, config: GameModeConfig, battleConfig?: FixedBattleConfigs) {
this.modeId = modeId;
+ this.challenges = [];
Object.assign(this, config);
+ if (this.isChallenge) {
+ this.challenges = allChallenges.map(c => copyChallenge(c));
+ }
+ this.battleConfig = battleConfig || {};
}
/**
@@ -97,22 +107,37 @@ export class GameMode implements GameModeConfig {
}
}
+ /**
+ * Determines whether or not to generate a trainer
+ * @param waveIndex the current floor the player is on (trainer sprites fail to generate on X1 floors)
+ * @param arena the arena that contains the scene and functions
+ * @returns true if a trainer should be generated, false otherwise
+ */
isWaveTrainer(waveIndex: integer, arena: Arena): boolean {
+ /**
+ * Daily spawns trainers on floors 5, 15, 20, 25, 30, 35, 40, and 45
+ */
if (this.isDaily) {
return waveIndex % 10 === 5 || (!(waveIndex % 10) && waveIndex > 10 && !this.isWaveFinal(waveIndex));
}
if ((waveIndex % 30) === (arena.scene.offsetGym ? 0 : 20) && !this.isWaveFinal(waveIndex)) {
return true;
} else if (waveIndex % 10 !== 1 && waveIndex % 10) {
+ /**
+ * Do not check X1 floors since there's a bug that stops trainer sprites from appearing
+ * after a X0 full party heal
+ */
+
const trainerChance = arena.getTrainerChance();
let allowTrainerBattle = true;
if (trainerChance) {
const waveBase = Math.floor(waveIndex / 10) * 10;
+ // Stop generic trainers from spawning in within 3 waves of a trainer battle
for (let w = Math.max(waveIndex - 3, waveBase + 2); w <= Math.min(waveIndex + 3, waveBase + 9); w++) {
if (w === waveIndex) {
continue;
}
- if ((w % 30) === (arena.scene.offsetGym ? 0 : 20) || fixedBattles.hasOwnProperty(w)) {
+ if ((w % 30) === (arena.scene.offsetGym ? 0 : 20) || this.isFixedBattle(w)) {
allowTrainerBattle = false;
break;
} else if (w < waveIndex) {
@@ -128,7 +153,7 @@ export class GameMode implements GameModeConfig {
}
}
}
- return allowTrainerBattle && trainerChance && !Utils.randSeedInt(trainerChance);
+ return Boolean(allowTrainerBattle && trainerChance && !Utils.randSeedInt(trainerChance));
}
return false;
}
@@ -161,6 +186,7 @@ export class GameMode implements GameModeConfig {
isWaveFinal(waveIndex: integer, modeId: GameModes = this.modeId): boolean {
switch (modeId) {
case GameModes.CLASSIC:
+ case GameModes.CHALLENGE:
return waveIndex === 200;
case GameModes.ENDLESS:
case GameModes.SPLICED_ENDLESS:
@@ -208,10 +234,36 @@ export class GameMode implements GameModeConfig {
(this.modeId === GameModes.ENDLESS || this.modeId === GameModes.SPLICED_ENDLESS);
}
+ /**
+ * Checks whether there is a fixed battle on this gamemode on a given wave.
+ * @param {integer} waveIndex The wave to check.
+ * @returns {boolean} If this game mode has a fixed battle on this wave
+ */
+ isFixedBattle(waveIndex: integer): boolean {
+ const dummyConfig = new FixedBattleConfig();
+ return this.battleConfig.hasOwnProperty(waveIndex) || applyChallenges(this, ChallengeType.FIXED_BATTLES, waveIndex, dummyConfig);
+
+ }
+
+ /**
+ * Returns the config for the fixed battle for a particular wave.
+ * @param {integer} waveIndex The wave to check.
+ * @returns {boolean} The fixed battle for this wave.
+ */
+ getFixedBattle(waveIndex: integer): FixedBattleConfig {
+ const challengeConfig = new FixedBattleConfig();
+ if (applyChallenges(this, ChallengeType.FIXED_BATTLES, waveIndex, challengeConfig)) {
+ return challengeConfig;
+ } else {
+ return this.battleConfig[waveIndex];
+ }
+ }
+
getClearScoreBonus(): integer {
switch (this.modeId) {
case GameModes.CLASSIC:
+ case GameModes.CHALLENGE:
return 5000;
case GameModes.DAILY:
return 2500;
@@ -221,6 +273,7 @@ export class GameMode implements GameModeConfig {
getEnemyModifierChance(isBoss: boolean): integer {
switch (this.modeId) {
case GameModes.CLASSIC:
+ case GameModes.CHALLENGE:
case GameModes.DAILY:
return !isBoss ? 18 : 6;
case GameModes.ENDLESS:
@@ -232,20 +285,45 @@ export class GameMode implements GameModeConfig {
getName(): string {
switch (this.modeId) {
case GameModes.CLASSIC:
- return "Classic";
+ return i18next.t("gameMode:classic");
case GameModes.ENDLESS:
- return "Endless";
+ return i18next.t("gameMode:endless");
case GameModes.SPLICED_ENDLESS:
- return "Endless (Spliced)";
+ return i18next.t("gameMode:endlessSpliced");
case GameModes.DAILY:
- return "Daily Run";
+ return i18next.t("gameMode:dailyRun");
+ case GameModes.CHALLENGE:
+ return i18next.t("gameMode:challenge");
+ }
+ }
+
+ static getModeName(modeId: GameModes): string {
+ switch (modeId) {
+ case GameModes.CLASSIC:
+ return i18next.t("gameMode:classic");
+ case GameModes.ENDLESS:
+ return i18next.t("gameMode:endless");
+ case GameModes.SPLICED_ENDLESS:
+ return i18next.t("gameMode:endlessSpliced");
+ case GameModes.DAILY:
+ return i18next.t("gameMode:dailyRun");
+ case GameModes.CHALLENGE:
+ return i18next.t("gameMode:challenge");
}
}
}
-export const gameModes = Object.freeze({
- [GameModes.CLASSIC]: new GameMode(GameModes.CLASSIC, { isClassic: true, hasTrainers: true, hasFixedBattles: true }),
- [GameModes.ENDLESS]: new GameMode(GameModes.ENDLESS, { isEndless: true, hasShortBiomes: true, hasRandomBosses: true }),
- [GameModes.SPLICED_ENDLESS]: new GameMode(GameModes.SPLICED_ENDLESS, { isEndless: true, hasShortBiomes: true, hasRandomBosses: true, isSplicedOnly: true }),
- [GameModes.DAILY]: new GameMode(GameModes.DAILY, { isDaily: true, hasTrainers: true, hasNoShop: true })
-});
+export function getGameMode(gameMode: GameModes): GameMode {
+ switch (gameMode) {
+ case GameModes.CLASSIC:
+ return new GameMode(GameModes.CLASSIC, { isClassic: true, hasTrainers: true }, classicFixedBattles);
+ case GameModes.ENDLESS:
+ return new GameMode(GameModes.ENDLESS, { isEndless: true, hasShortBiomes: true, hasRandomBosses: true });
+ case GameModes.SPLICED_ENDLESS:
+ return new GameMode(GameModes.SPLICED_ENDLESS, { isEndless: true, hasShortBiomes: true, hasRandomBosses: true, isSplicedOnly: true });
+ case GameModes.DAILY:
+ return new GameMode(GameModes.DAILY, { isDaily: true, hasTrainers: true, hasNoShop: true });
+ case GameModes.CHALLENGE:
+ return new GameMode(GameModes.CHALLENGE, { isClassic: true, hasTrainers: true, isChallenge: true }, classicFixedBattles);
+ }
+}
diff --git a/src/inputs-controller.ts b/src/inputs-controller.ts
index aa0f781cfef..834ca233942 100644
--- a/src/inputs-controller.ts
+++ b/src/inputs-controller.ts
@@ -1,18 +1,15 @@
import Phaser from "phaser";
import * as Utils from "./utils";
import {deepCopy} from "./utils";
-import {initTouchControls} from "./touch-controls";
import pad_generic from "./configs/inputs/pad_generic";
import pad_unlicensedSNES from "./configs/inputs/pad_unlicensedSNES";
import pad_xbox360 from "./configs/inputs/pad_xbox360";
import pad_dualshock from "./configs/inputs/pad_dualshock";
import pad_procon from "./configs/inputs/pad_procon";
-import {Button} from "./enums/buttons";
import {Mode} from "./ui/ui";
import SettingsGamepadUiHandler from "./ui/settings/settings-gamepad-ui-handler";
import SettingsKeyboardUiHandler from "./ui/settings/settings-keyboard-ui-handler";
import cfg_keyboard_qwerty from "./configs/inputs/cfg_keyboard_qwerty";
-import {Device} from "#app/enums/devices";
import {
assign,
getButtonWithKeycode,
@@ -21,6 +18,9 @@ import {
import BattleScene from "./battle-scene";
import {SettingGamepad} from "#app/system/settings/settings-gamepad.js";
import {SettingKeyboard} from "#app/system/settings/settings-keyboard";
+import TouchControl from "#app/touch-controls";
+import { Button } from "#enums/buttons";
+import { Device } from "#enums/devices";
export interface DeviceMapping {
[key: string]: number;
@@ -88,14 +88,12 @@ declare module "phaser" {
* providing a unified interface for all input-related interactions.
*/
export class InputsController {
- private buttonKeys: Phaser.Input.Keyboard.Key[][];
private gamepads: Array = new Array();
private scene: BattleScene;
public events: Phaser.Events.EventEmitter;
- private buttonLock: Button;
+ private buttonLock: Button[] = new Array();
private interactions: Map> = new Map();
- private time: Phaser.Time.Clock;
private configs: Map = new Map();
public gamepadSupport: boolean = true;
@@ -103,10 +101,10 @@ export class InputsController {
private disconnectedGamepads: Array = new Array();
- private pauseUpdate: boolean = false;
public lastSource: string = "keyboard";
- private keys: Array = [];
+ private inputInterval: NodeJS.Timeout[] = new Array();
+ private touchControls: TouchControl;
/**
* Initializes a new instance of the game control system, setting up initial state and configurations.
@@ -122,8 +120,6 @@ export class InputsController {
constructor(scene: BattleScene) {
this.scene = scene;
- this.time = this.scene.time;
- this.buttonKeys = [];
this.selectedDevice = {
[Device.GAMEPAD]: null,
[Device.KEYBOARD]: "default"
@@ -185,7 +181,7 @@ export class InputsController {
this.scene.input.keyboard.on("keydown", this.keyboardKeyDown, this);
this.scene.input.keyboard.on("keyup", this.keyboardKeyUp, this);
}
- initTouchControls(this.events);
+ this.touchControls = new TouchControl(this.scene);
}
/**
@@ -196,6 +192,7 @@ export class InputsController {
*/
loseFocus(): void {
this.deactivatePressedKey();
+ this.touchControls.deactivatePressedKey();
}
/**
@@ -236,45 +233,6 @@ export class InputsController {
this.initChosenLayoutKeyboard(layoutKeyboard);
}
- /**
- * Updates the interaction handling by processing input states.
- * This method gives priority to certain buttons by reversing the order in which they are checked.
- * This method loops through all button values, checks for valid and timely interactions, and conditionally processes
- * or ignores them based on the current state of gamepad support and other criteria.
- *
- * It handles special conditions such as the absence of gamepad support or mismatches between the source of the input and
- * the currently chosen gamepad. It also respects the paused state of updates to prevent unwanted input processing.
- *
- * If an interaction is valid and should be processed, it emits an 'input_down' event with details of the interaction.
- */
- update(): void {
- for (const b of Utils.getEnumValues(Button).reverse()) {
- if (
- this.interactions.hasOwnProperty(b) &&
- this.repeatInputDurationJustPassed(b as Button) &&
- this.interactions[b].isPressed
- ) {
- // Prevents repeating button interactions when gamepad support is disabled.
- if (
- (!this.gamepadSupport && this.interactions[b].source === "gamepad") ||
- (this.interactions[b].source === "gamepad" && this.interactions[b].sourceName && this.interactions[b].sourceName !== this.selectedDevice[Device.GAMEPAD]) ||
- (this.interactions[b].source === "keyboard" && this.interactions[b].sourceName && this.interactions[b].sourceName !== this.selectedDevice[Device.KEYBOARD]) ||
- this.pauseUpdate
- ) {
- // Deletes the last interaction for a button if gamepad is disabled.
- this.delLastProcessedMovementTime(b as Button);
- return;
- }
- // Emits an event for the button press.
- this.events.emit("input_down", {
- controller_type: this.interactions[b].source,
- button: b,
- });
- this.setLastProcessedMovementTime(b as Button, this.interactions[b].source, this.interactions[b].sourceName);
- }
- }
- }
-
/**
* Retrieves the identifiers of all connected gamepads, excluding any that are currently marked as disconnected.
* @returns Array An array of strings representing the IDs of the connected gamepads.
@@ -406,19 +364,24 @@ export class InputsController {
*/
keyboardKeyDown(event): void {
this.lastSource = "keyboard";
- const keyDown = event.keyCode;
this.ensureKeyboardIsInit();
- if (this.keys.includes(keyDown)) {
- return;
- }
- this.keys.push(keyDown);
- const buttonDown = getButtonWithKeycode(this.getActiveConfig(Device.KEYBOARD), keyDown);
+ const buttonDown = getButtonWithKeycode(this.getActiveConfig(Device.KEYBOARD), event.keyCode);
if (buttonDown !== undefined) {
+ if (this.buttonLock.includes(buttonDown)) {
+ return;
+ }
this.events.emit("input_down", {
controller_type: "keyboard",
button: buttonDown,
});
- this.setLastProcessedMovementTime(buttonDown, "keyboard", this.selectedDevice[Device.KEYBOARD]);
+ clearInterval(this.inputInterval[buttonDown]);
+ this.inputInterval[buttonDown] = setInterval(() => {
+ this.events.emit("input_down", {
+ controller_type: "keyboard",
+ button: buttonDown,
+ });
+ }, repeatInputDelayMillis);
+ this.buttonLock.push(buttonDown);
}
}
@@ -429,16 +392,15 @@ export class InputsController {
*/
keyboardKeyUp(event): void {
this.lastSource = "keyboard";
- const keyDown = event.keyCode;
- this.keys = this.keys.filter(k => k !== keyDown);
- this.ensureKeyboardIsInit();
- const buttonUp = getButtonWithKeycode(this.getActiveConfig(Device.KEYBOARD), keyDown);
+ const buttonUp = getButtonWithKeycode(this.getActiveConfig(Device.KEYBOARD), event.keyCode);
if (buttonUp !== undefined) {
this.events.emit("input_up", {
controller_type: "keyboard",
button: buttonUp,
});
- this.delLastProcessedMovementTime(buttonUp);
+ const index = this.buttonLock.indexOf(buttonUp);
+ this.buttonLock.splice(index, 1);
+ clearInterval(this.inputInterval[buttonUp]);
}
}
@@ -468,11 +430,25 @@ export class InputsController {
const activeConfig = this.getActiveConfig(Device.GAMEPAD);
const buttonDown = activeConfig && getButtonWithKeycode(activeConfig, button.index);
if (buttonDown !== undefined) {
+ if (this.buttonLock.includes(buttonDown)) {
+ return;
+ }
this.events.emit("input_down", {
controller_type: "gamepad",
button: buttonDown,
});
- this.setLastProcessedMovementTime(buttonDown, "gamepad", pad.id);
+ clearInterval(this.inputInterval[buttonDown]);
+ this.inputInterval[buttonDown] = setInterval(() => {
+ if (!this.buttonLock.includes(buttonDown)) {
+ clearInterval(this.inputInterval[buttonDown]);
+ return;
+ }
+ this.events.emit("input_down", {
+ controller_type: "gamepad",
+ button: buttonDown,
+ });
+ }, repeatInputDelayMillis);
+ this.buttonLock.push(buttonDown);
}
}
@@ -499,7 +475,9 @@ export class InputsController {
controller_type: "gamepad",
button: buttonUp,
});
- this.delLastProcessedMovementTime(buttonUp);
+ const index = this.buttonLock.indexOf(buttonUp);
+ this.buttonLock.splice(index, 1);
+ clearInterval(this.inputInterval[buttonUp]);
}
}
@@ -542,143 +520,13 @@ export class InputsController {
}
/**
- * repeatInputDurationJustPassed returns true if @param button has been held down long
- * enough to fire a repeated input. A button must claim the buttonLock before
- * firing a repeated input - this is to prevent multiple buttons from firing repeatedly.
- */
- repeatInputDurationJustPassed(button: Button): boolean {
- if (!this.isButtonLocked(button)) {
- return false;
- }
- if (this.time.now - this.interactions[button].pressTime >= repeatInputDelayMillis) {
- return true;
- }
- }
-
- /**
- * This method updates the interaction state to reflect that the button is pressed.
- *
- * @param button - The button for which to set the interaction.
- * @param source - The source of the input (defaults to 'keyboard'). This helps identify the origin of the input, especially useful in environments with multiple input devices.
- *
- * @remarks
- * This method is responsible for updating the interaction state of a button within the `interactions` dictionary. If the button is not already registered, this method returns immediately.
- * When invoked, it performs the following updates:
- * - `pressTime`: Sets this to the current time, representing when the button was initially pressed.
- * - `isPressed`: Marks the button as currently being pressed.
- * - `source`: Identifies the source device of the input, which can vary across different hardware (e.g., keyboard, gamepad).
- *
- * Additionally, this method locks the button (by calling `setButtonLock`) to prevent it from being re-processed until it is released, ensuring that each press is handled distinctly.
- */
- setLastProcessedMovementTime(button: Button, source: String = "keyboard", sourceName?: String): void {
- if (!this.interactions.hasOwnProperty(button)) {
- return;
- }
- this.setButtonLock(button);
- this.interactions[button].pressTime = this.time.now;
- this.interactions[button].isPressed = true;
- this.interactions[button].source = source;
- this.interactions[button].sourceName = sourceName.toLowerCase();
- }
-
- /**
- * Clears the last interaction for a specified button.
- *
- * @param button - The button for which to clear the interaction.
- *
- * @remarks
- * This method resets the interaction details of the button, allowing it to be processed as a new input when pressed again.
- * If the button is not registered in the `interactions` dictionary, this method returns immediately, otherwise:
- * - `pressTime` is cleared. This was previously storing the timestamp of when the button was initially pressed.
- * - `isPressed` is set to false, indicating that the button is no longer being pressed.
- * - `source` is set to null, which had been indicating the device from which the button input was originating.
- *
- * It releases the button lock, which prevents the button from being processed repeatedly until it's explicitly released.
- */
- delLastProcessedMovementTime(button: Button): void {
- if (!this.interactions.hasOwnProperty(button)) {
- return;
- }
- this.releaseButtonLock(button);
- this.interactions[button].pressTime = null;
- this.interactions[button].isPressed = false;
- this.interactions[button].source = null;
- this.interactions[button].sourceName = null;
- }
-
- /**
- * Deactivates all currently pressed keys and resets their interaction states.
- *
- * @remarks
- * This method is used to reset the state of all buttons within the `interactions` dictionary,
- * effectively deactivating any currently pressed keys. It performs the following actions:
- *
- * - Releases button lock for predefined buttons, allowing them
- * to be pressed again or properly re-initialized in future interactions.
- * - Iterates over all possible button values obtained via `Utils.getEnumValues(Button)`, and for
- * each button:
- * - Checks if the button is currently registered in the `interactions` dictionary.
- * - Resets `pressTime` to null, indicating that there is no ongoing interaction.
- * - Sets `isPressed` to false, marking the button as not currently active.
- * - Clears the `source` field, removing the record of which device the button press came from.
- *
- * This method is typically called when needing to ensure that all inputs are neutralized.
+ * Deactivates all currently pressed keys.
*/
deactivatePressedKey(): void {
- this.pauseUpdate = true;
- this.releaseButtonLock(this.buttonLock);
- for (const b of Utils.getEnumValues(Button)) {
- if (this.interactions.hasOwnProperty(b)) {
- this.interactions[b].pressTime = null;
- this.interactions[b].isPressed = false;
- this.interactions[b].source = null;
- this.interactions[b].sourceName = null;
- }
- }
- setTimeout(() => this.pauseUpdate = false, 500);
- }
-
- /**
- * Checks if a specific button is currently locked.
- *
- * @param button - The button to check for a lock status.
- * @returns `true` if the button is locked, otherwise `false`.
- *
- * @remarks
- * This method is used to determine if a given button is currently prevented from being processed due to a lock.
- * It checks against two separate lock variables, allowing for up to two buttons to be locked simultaneously.
- */
- isButtonLocked(button: Button): boolean {
- return this.buttonLock === button;
- }
-
- /**
- * Sets a lock on a given button.
- *
- * @param button - The button to lock.
- *
- * @remarks
- * This method ensures that a button is not processed multiple times inadvertently.
- * It checks if the button is already locked.
- */
- setButtonLock(button: Button): void {
- this.buttonLock = button;
- }
-
- /**
- * Releases a lock on a specific button, allowing it to be processed again.
- *
- * @param button - The button whose lock is to be released.
- *
- * @remarks
- * This method checks lock variable.
- * If either lock matches the specified button, that lock is cleared.
- * This action frees the button to be processed again, ensuring it can respond to new inputs.
- */
- releaseButtonLock(button: Button): void {
- if (this.buttonLock === button) {
- this.buttonLock = null;
+ for (const key of Object.keys(this.inputInterval)) {
+ clearInterval(this.inputInterval[key]);
}
+ this.buttonLock = [];
}
/**
@@ -752,8 +600,7 @@ export class InputsController {
* @param pressedButton The button that was pressed.
*/
assignBinding(config, settingName, pressedButton): boolean {
- this.pauseUpdate = true;
- setTimeout(() => this.pauseUpdate = false, 500);
+ this.deactivatePressedKey();
if (config.padType === "keyboard") {
return assign(config, settingName, pressedButton);
} else {
diff --git a/src/interfaces/locales.ts b/src/interfaces/locales.ts
new file mode 100644
index 00000000000..5f7c52100c1
--- /dev/null
+++ b/src/interfaces/locales.ts
@@ -0,0 +1,94 @@
+export interface Localizable {
+ localize(): void;
+ }
+
+export interface TranslationEntries {
+ [key: string]: string | { [key: string]: string }
+}
+export interface SimpleTranslationEntries {
+ [key: string]: string
+ }
+
+export interface MoveTranslationEntry {
+ name: string,
+ effect: string
+ }
+
+export interface MoveTranslationEntries {
+ [key: string]: MoveTranslationEntry
+ }
+
+export interface AbilityTranslationEntry {
+ name: string,
+ description: string
+ }
+
+export interface AbilityTranslationEntries {
+ [key: string]: AbilityTranslationEntry
+ }
+
+export interface ModifierTypeTranslationEntry {
+ name?: string,
+ description?: string,
+ extra?: SimpleTranslationEntries
+ }
+
+export interface ModifierTypeTranslationEntries {
+ ModifierType: { [key: string]: ModifierTypeTranslationEntry },
+ SpeciesBoosterItem: { [key: string]: ModifierTypeTranslationEntry },
+ AttackTypeBoosterItem: SimpleTranslationEntries,
+ TempBattleStatBoosterItem: SimpleTranslationEntries,
+ TempBattleStatBoosterStatName: SimpleTranslationEntries,
+ BaseStatBoosterItem: SimpleTranslationEntries,
+ EvolutionItem: SimpleTranslationEntries,
+ FormChangeItem: SimpleTranslationEntries,
+ }
+
+export interface PokemonInfoTranslationEntries {
+ Stat: SimpleTranslationEntries,
+ Type: SimpleTranslationEntries,
+ }
+
+export interface BerryTranslationEntry {
+ name: string,
+ effect: string,
+ }
+
+export interface BerryTranslationEntries {
+ [key: string]: BerryTranslationEntry
+ }
+
+export interface StatusEffectTranslationEntries {
+ [key: string]: StatusEffectTranslationEntry
+}
+
+export interface StatusEffectTranslationEntry {
+ name: string,
+ obtain: string,
+ obtainSource: string,
+ activation: string,
+ overlap: string,
+ heal: string
+ description: string,
+}
+
+export interface AchievementTranslationEntry {
+ name?: string,
+ description?: string,
+ }
+
+export interface AchievementTranslationEntries {
+ [key: string]: AchievementTranslationEntry;
+ }
+
+export interface DialogueTranslationEntry {
+ [key: number]: string;
+ }
+
+export interface DialogueTranslationCategory {
+ [category: string]: DialogueTranslationEntry;
+ }
+
+export interface DialogueTranslationEntries {
+ [trainertype: string]: DialogueTranslationCategory;
+ }
diff --git a/src/loading-scene.ts b/src/loading-scene.ts
index d45aa83c740..15cd295d23c 100644
--- a/src/loading-scene.ts
+++ b/src/loading-scene.ts
@@ -1,6 +1,4 @@
-import { GachaType } from "./data/egg";
-import { Biome } from "./data/enums/biome";
-import { TrainerType } from "./data/enums/trainer-type";
+import { GachaType } from "./enums/gacha-types";
import { trainerConfigs } from "./data/trainer-config";
import { getBiomeHasProps } from "./field/arena";
import CacheBustedLoaderPlugin from "./plugins/cache-busted-loader-plugin";
@@ -16,11 +14,18 @@ import {initPokemonForms} from "#app/data/pokemon-forms";
import {initSpecies} from "#app/data/pokemon-species";
import {initMoves} from "#app/data/move";
import {initAbilities} from "#app/data/ability";
+import {initAchievements} from "#app/system/achv";
import {initTrainerTypeDialogue} from "#app/data/dialogue";
+import { initChallenges } from "./data/challenge";
import i18next from "i18next";
import { initStatsKeys } from "./ui/game-stats-ui-handler";
+import { initVouchers } from "./system/voucher";
+import { Biome } from "#enums/biome";
+import { TrainerType } from "#enums/trainer-type";
export class LoadingScene extends SceneBase {
+ readonly LOAD_EVENTS = Phaser.Loader.Events;
+
constructor() {
super("loading");
@@ -29,18 +34,15 @@ export class LoadingScene extends SceneBase {
}
preload() {
+ Utils.localPing();
this.load["manifest"] = this.game["manifest"];
- if (!isMobile()) {
- this.load.video("intro_dark", "images/intro_dark.mp4", true);
- }
-
this.loadImage("loading_bg", "arenas");
this.loadImage("logo", "");
+ this.loadImage("pride-update", "events");
// Load menu images
this.loadAtlas("bg", "ui");
- this.loadImage("command_fight_labels", "ui");
this.loadAtlas("prompt", "ui");
this.loadImage("candy", "ui");
this.loadImage("candy_overlay", "ui");
@@ -76,6 +78,7 @@ export class LoadingScene extends SceneBase {
this.loadImage("overlay_exp", "ui");
this.loadImage("icon_owned", "ui");
this.loadImage("ability_bar_left", "ui");
+ this.loadImage("bgm_bar", "ui");
this.loadImage("party_exp_bar", "ui");
this.loadImage("achv_bar", "ui");
this.loadImage("achv_bar_2", "ui");
@@ -88,6 +91,7 @@ export class LoadingScene extends SceneBase {
this.loadImage("shiny_star_small", "ui", "shiny_small.png");
this.loadImage("shiny_star_small_1", "ui", "shiny_small_1.png");
this.loadImage("shiny_star_small_2", "ui", "shiny_small_2.png");
+ this.loadAtlas("shiny_icons", "ui");
this.loadImage("ha_capsule", "ui", "ha_capsule.png");
this.loadImage("champion_ribbon", "ui", "champion_ribbon.png");
this.loadImage("icon_spliced", "ui");
@@ -95,10 +99,18 @@ export class LoadingScene extends SceneBase {
this.loadImage("type_tera", "ui");
this.loadAtlas("type_bgs", "ui");
- this.loadImage("dawn_icon", "ui");
- this.loadImage("day_icon", "ui");
- this.loadImage("dusk_icon", "ui");
- this.loadImage("night_icon", "ui");
+ this.loadImage("dawn_icon_fg", "ui");
+ this.loadImage("dawn_icon_mg", "ui");
+ this.loadImage("dawn_icon_bg", "ui");
+ this.loadImage("day_icon_fg", "ui");
+ this.loadImage("day_icon_mg", "ui");
+ this.loadImage("day_icon_bg", "ui");
+ this.loadImage("dusk_icon_fg", "ui");
+ this.loadImage("dusk_icon_mg", "ui");
+ this.loadImage("dusk_icon_bg", "ui");
+ this.loadImage("night_icon_fg", "ui");
+ this.loadImage("night_icon_mg", "ui");
+ this.loadImage("night_icon_bg", "ui");
this.loadImage("pb_tray_overlay_player", "ui");
this.loadImage("pb_tray_overlay_enemy", "ui");
@@ -310,6 +322,7 @@ export class LoadingScene extends SceneBase {
this.loadBgm("minor_fanfare", "bw/minor_fanfare.mp3");
this.loadBgm("heal", "bw/heal.mp3");
this.loadBgm("victory_trainer", "bw/victory_trainer.mp3");
+ this.loadBgm("victory_team_plasma", "bw/victory_team_plasma.mp3");
this.loadBgm("victory_gym", "bw/victory_gym.mp3");
this.loadBgm("victory_champion", "bw/victory_champion.mp3");
this.loadBgm("evolution", "bw/evolution.mp3");
@@ -319,6 +332,8 @@ export class LoadingScene extends SceneBase {
this.loadLoadingScreen();
+ initVouchers();
+ initAchievements();
initStatsKeys();
initPokemonPrevolutions();
initBiomes();
@@ -328,6 +343,7 @@ export class LoadingScene extends SceneBase {
initSpecies();
initMoves();
initAbilities();
+ initChallenges();
}
loadLoadingScreen() {
@@ -405,58 +421,46 @@ export class LoadingScene extends SceneBase {
});
disclaimerDescriptionText.setOrigin(0.5, 0.5);
- disclaimerText.setVisible(false);
- disclaimerDescriptionText.setVisible(false);
-
- const intro = this.add.video(0, 0);
- intro.setOrigin(0, 0);
- intro.setScale(3);
-
- this.load.on("progress", (value: string) => {
- const parsedValue = parseFloat(value);
- percentText.setText(`${Math.floor(parsedValue * 100)}%`);
- progressBar.clear();
- progressBar.fillStyle(0xffffff, 0.8);
- progressBar.fillRect(midWidth - 320, 360, 640 * parsedValue, 64);
- });
-
- this.load.on("fileprogress", file => {
- assetText.setText(`Loading asset: ${file.key}`);
- });
-
- loadingGraphics.push(bg, graphics, progressBar, progressBox, logo, percentText, assetText);
+ loadingGraphics.push(bg, graphics, progressBar, progressBox, logo, percentText, assetText, disclaimerText, disclaimerDescriptionText);
if (!mobile) {
loadingGraphics.map(g => g.setVisible(false));
}
- const destroyLoadingAssets = () => {
- intro.destroy();
- bg.destroy();
- logo.destroy();
- progressBar.destroy();
- progressBox.destroy();
- percentText.destroy();
- assetText.destroy();
- };
+ const intro = this.add.video(0, 0);
+ intro.on(Phaser.GameObjects.Events.VIDEO_COMPLETE, (video: Phaser.GameObjects.Video) => {
+ this.tweens.add({
+ targets: intro,
+ duration: 500,
+ alpha: 0,
+ ease: "Sine.easeIn",
+ onComplete: () => video.destroy(),
+ });
+ loadingGraphics.forEach(g => g.setVisible(true));
+ });
+ intro.setOrigin(0, 0);
+ intro.setScale(3);
- this.load.on("filecomplete", key => {
+ this.load.once(this.LOAD_EVENTS.START, () => {
+ // videos do not need to be preloaded
+ intro.loadURL("images/intro_dark.mp4", true);
+ if (mobile) {
+ intro.video.setAttribute("webkit-playsinline", "webkit-playsinline");
+ intro.video.setAttribute("playsinline", "playsinline");
+ }
+ intro.play();
+ });
+
+ this.load.on(this.LOAD_EVENTS.PROGRESS , (progress: number) => {
+ percentText.setText(`${Math.floor(progress * 100)}%`);
+ progressBar.clear();
+ progressBar.fillStyle(0xffffff, 0.8);
+ progressBar.fillRect(midWidth - 320, 360, 640 * progress, 64);
+ });
+
+ this.load.on(this.LOAD_EVENTS.FILE_COMPLETE, (key: string) => {
+ assetText.setText(i18next.t("menu:loadingAsset", { assetName: key }));
switch (key) {
- case "intro_dark":
- intro.load("intro_dark");
- intro.on("complete", () => {
- this.tweens.add({
- targets: intro,
- duration: 500,
- alpha: 0,
- ease: "Sine.easeIn"
- });
- loadingGraphics.map(g => g.setVisible(true));
- disclaimerText.setVisible(true);
- disclaimerDescriptionText.setVisible(true);
- });
- intro.play();
- break;
case "loading_bg":
bg.setTexture("loading_bg");
if (mobile) {
@@ -472,7 +476,7 @@ export class LoadingScene extends SceneBase {
}
});
- this.load.on("complete", () => destroyLoadingAssets());
+ this.load.on(this.LOAD_EVENTS.COMPLETE, () => loadingGraphics.forEach(go => go.destroy()));
}
get gameHeight() {
diff --git a/src/locales/de/ability-trigger.ts b/src/locales/de/ability-trigger.ts
index 07853233a01..4e69db20231 100644
--- a/src/locales/de/ability-trigger.ts
+++ b/src/locales/de/ability-trigger.ts
@@ -1,7 +1,11 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const abilityTriggers: SimpleTranslationEntries = {
- "blockRecoilDamage" : "{{pokemonName}} wurde durch {{abilityName}}\nvor Rückstoß geschützt!",
+ "blockRecoilDamage" : "{{pokemonName}} wurde durch {{abilityName}} vor Rückstoß geschützt!",
"badDreams": "{{pokemonName}} ist in einem Alptraum gefangen!",
- "windPowerCharged": "Being hit by {{moveName}} charged {{pokemonName}} with power!",
+ "costar": "{{pokemonName}} kopiert die Statusveränderungen von {{allyName}}!",
+ "iceFaceAvoidedDamage": "{{pokemonName}} wehrt Schaden mit {{abilityName}} ab!",
+ "trace": "{{pokemonName}} kopiert {{abilityName}} von {{targetName}}!",
+ "windPowerCharged": "Der Treffer durch {{moveName}} läd die Stärke von {{pokemonName}} auf!",
+ "quickDraw": "Durch Schnellschuss kann {{pokemonName}} schneller handeln als sonst!",
} as const;
diff --git a/src/locales/de/ability.ts b/src/locales/de/ability.ts
index 4567976e0ef..e397b84c7b7 100644
--- a/src/locales/de/ability.ts
+++ b/src/locales/de/ability.ts
@@ -1,4 +1,4 @@
-import { AbilityTranslationEntries } from "#app/plugins/i18n.js";
+import { AbilityTranslationEntries } from "#app/interfaces/locales.js";
export const ability: AbilityTranslationEntries = {
stench: {
diff --git a/src/locales/de/achv.ts b/src/locales/de/achv.ts
index 42f2b2cf86c..6040c3ea916 100644
--- a/src/locales/de/achv.ts
+++ b/src/locales/de/achv.ts
@@ -1,6 +1,7 @@
-import { AchievementTranslationEntries } from "#app/plugins/i18n.js";
+import {AchievementTranslationEntries} from "#app/interfaces/locales.js";
-export const achv: AchievementTranslationEntries = {
+// Achievement translations for the when the player character is male
+export const PGMachv: AchievementTranslationEntries = {
"Achievements": {
name: "Errungenschaften",
},
@@ -10,7 +11,7 @@ export const achv: AchievementTranslationEntries = {
"MoneyAchv": {
- description:"Häufe eine Gesamtsumme von {{moneyAmount}} ₽ an",
+ description: "Häufe eine Gesamtsumme von {{moneyAmount}} ₽ an.",
},
"10K_MONEY": {
name: "Besserverdiener",
@@ -26,7 +27,7 @@ export const achv: AchievementTranslationEntries = {
},
"DamageAchv": {
- description: "Füge mit einem Treffer {{damageAmount}} Schaden zu",
+ description: "Füge mit einem Treffer {{damageAmount}} Schaden zu.",
},
"250_DMG": {
name: "Harte Treffer",
@@ -42,7 +43,7 @@ export const achv: AchievementTranslationEntries = {
},
"HealAchv": {
- description: "Heile {{healAmount}} {{HP}} auf einmal. Mit einer Attacke, Fähigkeit oder einem gehaltenen Gegenstand",
+ description: "Heile {{healAmount}} {{HP}} auf einmal. Mit einer Attacke, Fähigkeit oder einem gehaltenen Gegenstand.",
},
"250_HEAL": {
name: "Anfänger-Heiler",
@@ -58,7 +59,7 @@ export const achv: AchievementTranslationEntries = {
},
"LevelAchv": {
- description: "Erhöhe das Level eines Pokémon auf {{level}}",
+ description: "Erhöhe das Level eines Pokémon auf {{level}}.",
},
"LV_100": {
name: "Warte, es gibt mehr!",
@@ -67,14 +68,14 @@ export const achv: AchievementTranslationEntries = {
name: "Elite",
},
"LV_1000": {
- name: "Geh noch höher hinaus!",
+ name: "Geh noch höher hinaus!",
},
"RibbonAchv": {
- description: "Sammle insgesamt {{ribbonAmount}} Bänder",
+ description: "Sammle insgesamt {{ribbonAmount}} Bänder.",
},
"10_RIBBONS": {
- name: "Champion der Pokémon Liga",
+ name: "Champion der Pokémon Liga",
},
"25_RIBBONS": {
name: "Bänder-Sammler",
@@ -91,82 +92,286 @@ export const achv: AchievementTranslationEntries = {
"TRANSFER_MAX_BATTLE_STAT": {
name: "Teamwork",
- description: "Nutze Staffette, während der Anwender mindestens eines Statuswertes maximiert hat",
+ description: "Nutze Staffette, während der Anwender mindestens eines Statuswertes maximiert hat.",
},
"MAX_FRIENDSHIP": {
- name: "Freundschaftsmaximierung",
- description: "Erreiche maximale Freundschaft bei einem Pokémon",
+ name: "Freundschaftsmaximierung",
+ description: "Erreiche maximale Freundschaft bei einem Pokémon.",
},
"MEGA_EVOLVE": {
name: "Megaverwandlung",
- description: "Megaentwickle ein Pokémon",
+ description: "Megaentwickle ein Pokémon.",
},
"GIGANTAMAX": {
name: "Absolute Einheit",
- description: "Gigadynamaximiere ein Pokémon",
+ description: "Gigadynamaximiere ein Pokémon.",
},
"TERASTALLIZE": {
name: "Typen-Bonus Enthusiast",
- description: "Terrakristallisiere ein Pokémon",
+ description: "Terrakristallisiere ein Pokémon.",
},
"STELLAR_TERASTALLIZE": {
name: "Der geheime Typ",
- description: "Terrakristallisiere ein Pokémon zum Typen Stellar",
+ description: "Terrakristallisiere ein Pokémon zum Typen Stellar.",
},
"SPLICE": {
name: "Unendliche Fusion",
- description: "Kombiniere zwei Pokémon mit einem DNS-Keil",
+ description: "Kombiniere zwei Pokémon mit einem DNS-Keil.",
},
"MINI_BLACK_HOLE": {
name: "Ein Loch voller Items",
- description: "Erlange ein Mini-Schwarzes Loch",
+ description: "Erlange ein Mini-Schwarzes Loch.",
},
"CATCH_MYTHICAL": {
- name: "Mysteriöses!",
- description: "Fange ein mysteriöses Pokémon",
+ name: "Mysteriöses!",
+ description: "Fange ein mysteriöses Pokémon.",
},
"CATCH_SUB_LEGENDARY": {
name: "Sub-Legendär",
- description: "Fange ein sub-legendäres Pokémon",
+ description: "Fange ein sub-legendäres Pokémon.",
},
"CATCH_LEGENDARY": {
name: "Legendär",
- description: "Fange ein legendäres Pokémon",
+ description: "Fange ein legendäres Pokémon.",
},
"SEE_SHINY": {
name: "Schillerndes Licht",
- description: "Finde ein wildes schillerndes Pokémon",
+ description: "Finde ein wildes schillerndes Pokémon.",
},
"SHINY_PARTY": {
name: "Das ist Hingabe",
- description: "Habe ein Team aus schillernden Pokémon",
+ description: "Habe ein Team aus schillernden Pokémon.",
},
"HATCH_MYTHICAL": {
name: "Mysteriöses Ei",
- description: "Lass ein mysteriöses Pokémon aus einem Ei schlüpfen",
+ description: "Lass ein mysteriöses Pokémon aus einem Ei schlüpfen.",
},
"HATCH_SUB_LEGENDARY": {
name: "Sub-Legendäres Ei",
- description: "Lass ein sub-legendäres Pokémon aus einem Ei schlüpfen",
+ description: "Lass ein sub-legendäres Pokémon aus einem Ei schlüpfen.",
},
"HATCH_LEGENDARY": {
name: "Legendäres Ei",
- description: "Lass ein legendäres Pokémon aus einem Ei schlüpfen",
+ description: "Lass ein legendäres Pokémon aus einem Ei schlüpfen.",
},
"HATCH_SHINY": {
name: "Schillerndes Ei",
- description: "Lass ein schillerndes Pokémon aus einem Ei schlüpfen",
+ description: "Lass ein schillerndes Pokémon aus einem Ei schlüpfen.",
},
"HIDDEN_ABILITY": {
name: "Geheimes Talent",
- description: "Fang ein Pokémon mit versteckter Fähigkeit",
+ description: "Fang ein Pokémon mit versteckter Fähigkeit.",
},
"PERFECT_IVS": {
name: "Zertifikat der Echtheit",
- description: "Erhalte ein Pokémon mit perfekten IS-Werten",
+ description: "Erhalte ein Pokémon mit perfekten IS-Werten.",
},
"CLASSIC_VICTORY": {
name: "Ungeschlagen",
- description: "Beende den klassischen Modus erfolgreich",
+ description: "Beende den klassischen Modus erfolgreich.",
+ },
+ "MONO_GEN_ONE": {
+ name: "Der originale Rivale",
+ description: "Schließe die 'Nur 1. Generation' Herausforderung ab.",
+ },
+ "MONO_GEN_TWO": {
+ name: "Generation 1.5",
+ description: "Schließe die 'Nur 2. Generation' Herausforderung ab.",
+ },
+ "MONO_GEN_THREE": {
+ name: "Zu viel Wasser?",
+ description: "Schließe die 'Nur 3. Generation' Herausforderung ab.",
+ },
+ "MONO_GEN_FOUR": {
+ name: "Ist SIE wirklich die Stärkste?",
+ description: "Schließe die 'Nur 4. Generation' Herausforderung ab.",
+ },
+ "MONO_GEN_FIVE": {
+ name: "Komplett Original",
+ description: "Schließe die 'Nur 5. Generation' Herausforderung ab.",
+ },
+ "MONO_GEN_SIX": {
+ name: "Fast Königlich",
+ description: "Schließe die 'Nur 6. Generation' Herausforderung ab."
+ },
+ "MONO_GEN_SEVEN": {
+ name: "Technisch gesehen",
+ description: "Schließe die 'Nur 7. Generation' Herausforderung ab."
+ },
+ "MONO_GEN_EIGHT": {
+ name: "Die Zeit des Champions",
+ description: "Schließe die 'Nur 8. Generation' Herausforderung ab."
+ },
+ "MONO_GEN_NINE": {
+ name: "Sie hat es dir leicht gemacht...",
+ description: "Schließe die 'Nur 9. Generation' Herausforderung ab."
+ },
+
+ "MonoType": {
+ description: "Beende die Monotyp-{{type}} Herausforderung."
+ },
+ "MONO_NORMAL": {
+ name: "Normaler Typ",
+ },
+ "MONO_FIGHTING": {
+ name: "Ich kenne Kung Fu."
+ },
+ "MONO_FLYING": {
+ name: "Ich glaube ich kann fliegen.",
+ },
+ "MONO_POISON": {
+ name: "Kantos Liebling",
+ },
+ "MONO_GROUND": {
+ name: "Auf dem Boden bleiben.",
+ },
+ "MONO_ROCK": {
+ name: "So hart wie Rocko.",
+ },
+ "MONO_BUG": {
+ name: "Steche wie ein Bibor.",
+ },
+ "MONO_GHOST": {
+ name: "Wer wird angerufen?",
+ },
+ "MONO_STEEL": {
+ name: "Stahlharte Entschlossenheit",
+ },
+ "MONO_FIRE": {
+ name: "Brennende Leidenschaft",
+ },
+ "MONO_WATER": {
+ name: "Wenn es regnet, schüttet es!",
+ },
+ "MONO_GRASS": {
+ name: "Grüner Daumen",
+ },
+ "MONO_ELECTRIC": {
+ name: "Elektrisierend",
+ },
+ "MONO_PSYCHIC": {
+ name: "Übernatürliches Talent",
+ },
+ "MONO_ICE": {
+ name: "Eis Eis Baby",
+ },
+ "MONO_DRAGON": {
+ name: "Siegfried bist du es?",
+ },
+ "MONO_DARK": {
+ name: "Es ist nur eine Phase!",
+ },
+ "MONO_FAIRY": {
+ name: "Ein ewiges Abenteuer!",
},
} as const;
+
+// Achievement translations for the when the player character is female
+export const PGFachv: AchievementTranslationEntries = {
+ "Achievements": {
+ name: PGMachv.Achievements.name,
+ },
+ "Locked": {
+ name: PGMachv.Locked.name,
+ },
+
+
+ "MoneyAchv": PGMachv.MoneyAchv,
+ "10K_MONEY": {
+ name: "Besserverdienerin",
+ },
+ "100K_MONEY": PGMachv["100K_MONEY"],
+ "1M_MONEY": {
+ name: "Millionärin",
+ },
+ "10M_MONEY": PGMachv["10M_MONEY"],
+
+ "DamageAchv": PGMachv.DamageAchv,
+ "250_DMG": PGMachv["250_DMG"],
+ "1000_DMG": PGMachv["1000_DMG"],
+ "2500_DMG": PGMachv["2500_DMG"],
+ "10000_DMG": {
+ name: "One Punch Woman",
+ },
+
+ "HealAchv": PGMachv.HealAchv,
+ "250_HEAL": {
+ name: "Anfänger-Heilerin",
+ },
+ "1000_HEAL": PGMachv["1000_HEAL"],
+ "2500_HEAL": {
+ name: "Klerikerin",
+ },
+ "10000_HEAL": {
+ name: "Wiederherstellungsmeisterin",
+ },
+
+ "LevelAchv": PGMachv.LevelAchv,
+ "LV_100": PGMachv["LV_100"],
+ "LV_250": PGMachv["LV_250"],
+ "LV_1000": PGMachv["LV_1000"],
+
+ "RibbonAchv": PGMachv.RibbonAchv,
+ "10_RIBBONS": PGMachv["10_RIBBONS"],
+ "25_RIBBONS": {
+ name: "Bänder-Sammlerin",
+ },
+ "50_RIBBONS": {
+ name: "Bänder-Expertin",
+ },
+ "75_RIBBONS": PGMachv["75_RIBBONS"],
+ "100_RIBBONS": {
+ name: "Bänder-Meisterin",
+ },
+
+ "TRANSFER_MAX_BATTLE_STAT": PGMachv.TRANSFER_MAX_BATTLE_STAT,
+ "MAX_FRIENDSHIP": PGMachv.MAX_FRIENDSHIP,
+ "MEGA_EVOLVE": PGMachv.MEGA_EVOLVE,
+ "GIGANTAMAX": PGMachv.GIGANTAMAX,
+ "TERASTALLIZE": PGMachv.TERASTALLIZE,
+ "STELLAR_TERASTALLIZE": PGMachv.STELLAR_TERASTALLIZE,
+ "SPLICE": PGMachv.SPLICE,
+ "MINI_BLACK_HOLE": PGMachv.MINI_BLACK_HOLE,
+ "CATCH_MYTHICAL": PGMachv.CATCH_MYTHICAL,
+ "CATCH_SUB_LEGENDARY": PGMachv.CATCH_SUB_LEGENDARY,
+ "CATCH_LEGENDARY": PGMachv.CATCH_LEGENDARY,
+ "SEE_SHINY": PGMachv.SEE_SHINY,
+ "SHINY_PARTY": PGMachv.SHINY_PARTY,
+ "HATCH_MYTHICAL": PGMachv.HATCH_MYTHICAL,
+ "HATCH_SUB_LEGENDARY": PGMachv.HATCH_SUB_LEGENDARY,
+ "HATCH_LEGENDARY": PGMachv.HATCH_LEGENDARY,
+ "HATCH_SHINY": PGMachv.HATCH_SHINY,
+ "HIDDEN_ABILITY": PGMachv.HIDDEN_ABILITY,
+ "PERFECT_IVS": PGMachv.PERFECT_IVS,
+ "CLASSIC_VICTORY": PGMachv.CLASSIC_VICTORY,
+ "MONO_GEN_ONE": PGMachv.MONO_GEN_ONE,
+ "MONO_GEN_TWO": PGMachv.MONO_GEN_TWO,
+ "MONO_GEN_THREE": PGMachv.MONO_GEN_THREE,
+ "MONO_GEN_FOUR": PGMachv.MONO_GEN_FOUR,
+ "MONO_GEN_FIVE": PGMachv.MONO_GEN_FIVE,
+ "MONO_GEN_SIX": PGMachv.MONO_GEN_SIX,
+ "MONO_GEN_SEVEN": PGMachv.MONO_GEN_SEVEN,
+ "MONO_GEN_EIGHT": PGMachv.MONO_GEN_EIGHT,
+ "MONO_GEN_NINE": PGMachv.MONO_GEN_NINE,
+
+ "MonoType": PGMachv.MonoType,
+ "MONO_NORMAL": PGMachv.MONO_NORMAL,
+ "MONO_FIGHTING": PGMachv.MONO_FIGHTING,
+ "MONO_FLYING": PGMachv.MONO_FLYING,
+ "MONO_POISON": PGMachv.MONO_POISON,
+ "MONO_GROUND": PGMachv.MONO_GROUND,
+ "MONO_ROCK": PGMachv.MONO_ROCK,
+ "MONO_BUG": PGMachv.MONO_BUG,
+ "MONO_GHOST": PGMachv.MONO_GHOST,
+ "MONO_STEEL": PGMachv.MONO_STEEL,
+ "MONO_FIRE": PGMachv.MONO_FIRE,
+ "MONO_WATER": PGMachv.MONO_WATER,
+ "MONO_GRASS": PGMachv.MONO_GRASS,
+ "MONO_ELECTRIC": PGMachv.MONO_ELECTRIC,
+ "MONO_PSYCHIC": PGMachv.MONO_PSYCHIC,
+ "MONO_ICE": PGMachv.MONO_ICE,
+ "MONO_DRAGON": PGMachv.MONO_DRAGON,
+ "MONO_DARK": PGMachv.MONO_DARK,
+ "MONO_FAIRY": PGMachv.MONO_FAIRY,
+} as const;
+
diff --git a/src/locales/de/battle-message-ui-handler.ts b/src/locales/de/battle-message-ui-handler.ts
index daedb8550d0..cc1deccbaa2 100644
--- a/src/locales/de/battle-message-ui-handler.ts
+++ b/src/locales/de/battle-message-ui-handler.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const battleMessageUiHandler: SimpleTranslationEntries = {
"ivBest": "Sensationell",
diff --git a/src/locales/de/battle.ts b/src/locales/de/battle.ts
index 8c153aa77eb..06b9ec719ba 100644
--- a/src/locales/de/battle.ts
+++ b/src/locales/de/battle.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const battle: SimpleTranslationEntries = {
"bossAppeared": "{{bossName}} erscheint.",
@@ -14,7 +14,9 @@ export const battle: SimpleTranslationEntries = {
"switchQuestion": "Möchtest du\n{{pokemonName}} auswechseln?",
"trainerDefeated": "{{trainerName}}\nwurde besiegt!",
"moneyWon": "Du gewinnst\n{{moneyAmount}} ₽!",
+ "moneyPickedUp": "Du hebst {{moneyAmount}} ₽ auf!",
"pokemonCaught": "{{pokemonName}} wurde gefangen!",
+ "addedAsAStarter": "{{pokemonName}} wurde als Starterpokémon hinzugefügt!",
"partyFull": "Dein Team ist voll.\nMöchtest du ein Pokémon durch {{pokemonName}} ersetzen?",
"pokemon": "Pokémon",
"sendOutPokemon": "Los, {{pokemonName}}!",
@@ -24,7 +26,9 @@ export const battle: SimpleTranslationEntries = {
"hitResultNoEffect": "Es hat keine Wirkung auf {{pokemonName}}…",
"hitResultOneHitKO": "Ein K.O.-Treffer!",
"attackFailed": "Es ist fehlgeschlagen!",
+ "attackMissed": "Die Attacke hat {{pokemonNameWithAffix}} verfehlt!",
"attackHitsCount": "{{count}}-mal getroffen!",
+ "rewardGain": "Du erhältst\n{{modifierName}}!",
"expGain": "{{pokemonName}} erhält\n{{exp}} Erfahrungspunkte!",
"levelUp": "{{pokemonName}} erreicht\nLv. {{level}}!",
"learnMove": "{{pokemonName}} erlernt\n{{moveName}}!",
@@ -37,7 +41,7 @@ export const battle: SimpleTranslationEntries = {
"learnMoveForgetSuccess": "{{pokemonName}} hat\n{{moveName}} vergessen.",
"countdownPoof": "@d{32}Eins, @d{15}zwei @d{15}und@d{15}… @d{15}… @d{15}… @d{15}@s{pb_bounce_1}schwupp!",
"learnMoveAnd": "Und…",
- "levelCapUp": "Das Levelbeschränkung\nwurde auf {{levelCap}} erhöht!",
+ "levelCapUp": "Die Levelbeschränkung\nwurde auf {{levelCap}} erhöht!",
"moveNotImplemented": "{{moveName}} ist noch nicht implementiert und kann nicht ausgewählt werden.",
"moveNoPP": "Es sind keine AP für\ndiese Attacke mehr übrig!",
"moveDisabled": "{{moveName}} ist deaktiviert!",
@@ -54,8 +58,81 @@ export const battle: SimpleTranslationEntries = {
"escapeVerbFlee": "flucht",
"skipItemQuestion": "Bist du sicher, dass du kein Item nehmen willst?",
"notDisabled": "{{pokemonName}}'s {{moveName}} ist\nnicht mehr deaktiviert!",
+ "turnEndHpRestore": "Die KP von {{pokemonName}} wurden wiederhergestellt.",
+ "hpIsFull": "Die KP von {{pokemonName}} sind voll!",
"eggHatching": "Oh?",
"ivScannerUseQuestion": "IV-Scanner auf {{pokemonName}} benutzen?",
+ "wildPokemonWithAffix": "{{pokemonName}} (wild)",
+ "foePokemonWithAffix": "{{pokemonName}} (Gegner)",
+ "useMove": "{{pokemonNameWithAffix}} setzt {{moveName}} ein!",
"drainMessage": "{{pokemonName}} wurde Energie abgesaugt",
- "regainHealth": "KP von {{pokemonName}} wurden wieder aufgefrischt!"
+ "regainHealth": "KP von {{pokemonName}} wurden wieder aufgefrischt!",
+ "stealEatBerry": "{{pokemonName}} stole and ate\n{{targetName}}'s {{berryName}}!",
+ "fainted": "{{pokemonNameWithAffix}} wurde besiegt!",
+ "statRose": "{{stats}} von {{pokemonNameWithAffix}} steigt!",
+ "statSharplyRose": "{{stats}} von {{pokemonNameWithAffix}} steigt stark!",
+ "statRoseDrastically": "{{stats}} von {{pokemonNameWithAffix}} steigt drastisch!",
+ "statWontGoAnyHigher": "{{stats}} von {{pokemonNameWithAffix}} kann nicht weiter erhöht werden!",
+ "statFell": "{{stats}} von {{pokemonNameWithAffix}} sinkt!",
+ "statHarshlyFell": "{{stats}} von {{pokemonNameWithAffix}} sinkt stark!",
+ "statSeverelyFell": "{{stats}} von {{pokemonNameWithAffix}} sinkt drastisch!",
+ "statWontGoAnyLower": "{{stats}} von {{pokemonNameWithAffix}} kann nicht weiter sinken!",
+ "ppReduced": "{{moveName}} von {{targetName}} wird um {{reduction}} AP reduziert!",
+ "battlerTagsRechargingLapse": "{{pokemonNameWithAffix}} kann sich wegen des Rückstoßes durch den Angriff nicht bewegen!",
+ "battlerTagsTrappedOnAdd": "{{pokemonNameWithAffix}} kann nicht mehr fliehen!",
+ "battlerTagsTrappedOnRemove": "{{pokemonNameWithAffix}} wurde von {{moveName}} befreit.",
+ "battlerTagsFlinchedLapse": "{{pokemonNameWithAffix}} ist zurückgeschreckt und kann nicht handeln!",
+ "battlerTagsConfusedOnAdd": "{{pokemonNameWithAffix}} wurde verwirrt!",
+ "battlerTagsConfusedOnRemove": "{{pokemonNameWithAffix}} ist nicht mehr verwirrt!",
+ "battlerTagsConfusedOnOverlap": "{{pokemonNameWithAffix}} ist bereits verwirrt!",
+ "battlerTagsConfusedLapse": "{{pokemonNameWithAffix}} ist verwirrt!",
+ "battlerTagsConfusedLapseHurtItself": "Es hat sich vor Verwirrung selbst verletzt!",
+ "battlerTagsDestinyBondLapseIsBoss": "{{pokemonNameWithAffix}} ist immun gegen den Effekt von Abgangsbund!",
+ "battlerTagsDestinyBondLapse": "{{pokemonNameWithAffix}} nimmt {{pokemonNameWithAffix2}} mit sich!",
+ "battlerTagsInfatuatedOnAdd": "{{pokemonNameWithAffix}} hat sich in {{sourcePokemonName}} verliebt!",
+ "battlerTagsInfatuatedOnOverlap": "{{pokemonNameWithAffix}} ist bereits verliebt.",
+ "battlerTagsInfatuatedLapse": "{{pokemonNameWithAffix}} ist in {{sourcePokemonName}} verliebt!",
+ "battlerTagsInfatuatedLapseImmobilize": "{{pokemonNameWithAffix}} ist starr vor Liebe!",
+ "battlerTagsInfatuatedOnRemove": "{{pokemonNameWithAffix}} ist nicht mehr verliebt!",
+ "battlerTagsSeededOnAdd": "{{pokemonNameWithAffix}} wurde bepflanzt!",
+ "battlerTagsSeededLapse": "{{pokemonNameWithAffix}} wurden durch Egelsamen KP geraubt!",
+ "battlerTagsSeededLapseShed": "Egelsamen von {{pokemonNameWithAffix}} saugt Kloakensoße auf!",
+ "battlerTagsNightmareOnAdd": "Nachtmahr sucht {{pokemonNameWithAffix}} heim!",
+ "battlerTagsNightmareOnOverlap": "{{pokemonNameWithAffix}} wird bereits von Nachtmahr heimgesucht!",
+ "battlerTagsNightmareLapse": "Nachtmahr schadet {{pokemonNameWithAffix}}!",
+ "battlerTagsEncoreOnAdd": "{{pokemonNameWithAffix}} gibt eine Zugabe",
+ "battlerTagsEncoreOnRemove": "Die Zugabe von {{pokemonNameWithAffix}} ist beendet!",
+ "battlerTagsHelpingHandOnAdd": "{{pokemonNameWithAffix}} will {{pokemonName}} helfen!",
+ "battlerTagsIngrainLapse": "{{pokemonNameWithAffix}} nimmt über seine Wurzeln Nährstoffe auf!",
+ "battlerTagsIngrainOnTrap": "{{pokemonNameWithAffix}} pflanzt seine Wurzeln!",
+ "battlerTagsAquaRingOnAdd": "{{pokemonNameWithAffix}} umgibt sich mit einem Wasserring!",
+ "battlerTagsAquaRingLapse": "{{moveName}} füllt KP von {{pokemonName}} wieder auf!",
+ "battlerTagsDrowsyOnAdd": "{{pokemonNameWithAffix}} wurde schläfrig gemacht!",
+ "battlerTagsDamagingTrapLapse": "{{pokemonNameWithAffix}} wurde durch {{moveName}} verletzt!",
+ "battlerTagsBindOnTrap": "{{pokemonNameWithAffix}} wurde durch {{moveName}} von {{sourcePokemonName}} gequetscht!",
+ "battlerTagsWrapOnTrap": "{{pokemonNameWithAffix}} wurde von {{sourcePokemonName}} umwickelt!",
+ "battlerTagsVortexOnTrap": "{{pokemonNameWithAffix}} wird in dem Strudel gefangen!",
+ "battlerTagsClampOnTrap": "{{sourcePokemonNameWithAffix}} wurde von {{pokemonName}} geschnappt!",
+ "battlerTagsSandTombOnTrap": "{{pokemonNameWithAffix}} wurde von {{moveName}} gefangen!",
+ "battlerTagsMagmaStormOnTrap": "{{pokemonNameWithAffix}} wurde in wirbelndem Magma eingeschlossen!",
+ "battlerTagsSnapTrapOnTrap": "{{pokemonNameWithAffix}} wurde durch Sandgrab gefangen!",
+ "battlerTagsThunderCageOnTrap": "{{sourcePokemonNameWithAffix}} hat {{pokemonNameWithAffix}} gefangen!",
+ "battlerTagsInfestationOnTrap": "{{sourcePokemonNameWithAffix}} plagt {{pokemonNameWithAffix}}!",
+ "battlerTagsProtectedOnAdd": "{{pokemonNameWithAffix}} schützt sich selbst!",
+ "battlerTagsProtectedLapse": "{{pokemonNameWithAffix}} schützt sich selbst!",
+ "battlerTagsEnduringOnAdd": "{{pokemonNameWithAffix}} sammelt sich, um die nächste Attacke zu überstehen!",
+ "battlerTagsEnduringLapse": "{{pokemonNameWithAffix}} übersteht die Attacke!",
+ "battlerTagsSturdyLapse": "{{pokemonNameWithAffix}} übersteht die Attacke!",
+ "battlerTagsPerishSongLapse": "Abgesang von {{pokemonNameWithAffix}} steht bei {{turnCount}}.",
+ "battlerTagsTruantLapse": "{{pokemonNameWithAffix}} faulenzt!",
+ "battlerTagsSlowStartOnAdd": "{{pokemonNameWithAffix}} kommt nicht in Fahrt!",
+ "battlerTagsSlowStartOnRemove": "{{pokemonNameWithAffix}} kriegt schließlich doch noch die Kurve!",
+ "battlerTagsHighestStatBoostOnAdd": "{{statName}} von {{pokemonNameWithAffix}} wird verstärkt!",
+ "battlerTagsHighestStatBoostOnRemove": "Der Effekt von {{abilityName}} von {{pokemonNameWithAffix}} lässt nach!",
+ "battlerTagsCritBoostOnAdd": "{{pokemonNameWithAffix}} läuft zu Hochtouren auf!",
+ "battlerTagsCritBoostOnRemove": "{{pokemonNameWithAffix}} entspannt.",
+ "battlerTagsSaltCuredOnAdd": "{{pokemonNameWithAffix}} wurde eingepökelt!",
+ "battlerTagsSaltCuredLapse": "{{pokemonNameWithAffix}} wurde durch {{moveName}} verletzt!",
+ "battlerTagsCursedOnAdd": "{{pokemonNameWithAffix}} nimmt einen Teil seiner KP und legt einen Fluch auf {{pokemonName}}!",
+ "battlerTagsCursedLapse": "{{pokemonNameWithAffix}} wurde durch den Fluch verletzt!"
} as const;
diff --git a/src/locales/de/berry.ts b/src/locales/de/berry.ts
index 330b36fffc8..b041a23d646 100644
--- a/src/locales/de/berry.ts
+++ b/src/locales/de/berry.ts
@@ -1,48 +1,48 @@
-import { BerryTranslationEntries } from "#app/plugins/i18n";
+import { BerryTranslationEntries } from "#app/interfaces/locales";
export const berry: BerryTranslationEntries = {
"SITRUS": {
name: "Tsitrubeere",
- effect: "Stellt 25% der KP wieder her, wenn die KP unter 50% sind"
+ effect: "Stellt 25% der KP wieder her, wenn die KP unter 50% sind."
},
"LUM": {
name: "Prunusbeere",
- effect: "Heilt jede nichtflüchtige Statusveränderung und Verwirrung"
+ effect: "Heilt jede nichtflüchtige Statusveränderung und Verwirrung."
},
"ENIGMA": {
name: "Enigmabeere",
- effect: "Stellt 25% der KP wieder her, wenn der Träger von einer sehr effektiven Attacke getroffen wird",
+ effect: "Stellt 25% der KP wieder her, wenn der Träger von einer sehr effektiven Attacke getroffen wird.",
},
"LIECHI": {
name: "Lydzibeere",
- effect: "Steigert den Angriff, wenn die KP unter 25% sind"
+ effect: "Steigert den Angriff, wenn die KP unter 25% sind."
},
"GANLON": {
name: "Linganbeere",
- effect: "Steigert die Verteidigung, wenn die KP unter 25% sind"
+ effect: "Steigert die Verteidigung, wenn die KP unter 25% sind."
},
"PETAYA": {
name: "Tahaybeere",
- effect: "Steigert den Spezial-Angriff, wenn die KP unter 25% sind"
+ effect: "Steigert den Spezial-Angriff, wenn die KP unter 25% sind."
},
"APICOT": {
name: "Apikobeere",
- effect: "Steigert die Spezial-Verteidigung, wenn die KP unter 25% sind"
+ effect: "Steigert die Spezial-Verteidigung, wenn die KP unter 25% sind."
},
"SALAC": {
name: "Salkabeere",
- effect: "Steigert die Initiative, wenn die KP unter 25% sind"
+ effect: "Steigert die Initiative, wenn die KP unter 25% sind."
},
"LANSAT": {
name: "Lansatbeere",
- effect: "Erhöht die Volltrefferchance, wenn die KP unter 25% sind"
+ effect: "Erhöht die Volltrefferchance, wenn die KP unter 25% sind."
},
"STARF": {
name: "Krambobeere",
- effect: "Erhöht einen zufälligen Statuswert stark, wenn die KP unter 25% sind"
+ effect: "Erhöht einen zufälligen Statuswert stark, wenn die KP unter 25% sind."
},
"LEPPA": {
name: "Jonagobeere",
- effect: "Stellt 10 AP für eine Attacke wieder her, wenn deren AP auf 0 fallen"
+ effect: "Stellt 10 AP für eine Attacke wieder her, wenn deren AP auf 0 fallen."
},
} as const;
diff --git a/src/locales/de/bgm-name.ts b/src/locales/de/bgm-name.ts
new file mode 100644
index 00000000000..1a6712b8608
--- /dev/null
+++ b/src/locales/de/bgm-name.ts
@@ -0,0 +1,145 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const bgmName: SimpleTranslationEntries = {
+ "music": "Musik: ",
+ "missing_entries" : "{{name}}",
+ "battle_kanto_champion": "S2W2 Vs. Kanto Champion",
+ "battle_johto_champion": "S2W2 Vs. Johto Champion",
+ "battle_hoenn_champion": "S2W2 Vs. Hoenn Champion",
+ "battle_sinnoh_champion": "S2W2 Vs. Champion Cynthia",
+ "battle_champion_alder": "SW Vs. Champion Lauro",
+ "battle_champion_iris": "S2W2 Vs. Champion Lilia",
+ "battle_kalos_champion": "XY Vs. Champion Diantha",
+ "battle_alola_champion": "USUM Vs. Alola Champion",
+ "battle_galar_champion": "SWSH Vs. Champion Delion",
+ "battle_champion_geeta": "KAPU Vs. Champion Sagaria",
+ "battle_champion_nemona": "KAPU Vs. Champion Nemila",
+ "battle_champion_kieran": "KAPU Vs. Jo",
+ "battle_hoenn_elite": "ORAS Vs. Hoenn Top Vier",
+ "battle_unova_elite": "SW Vs. Einall Top Vier",
+ "battle_kalos_elite": "XY Vs. Kalos Top Vier",
+ "battle_alola_elite": "SM Vs. Alola Top Vier",
+ "battle_galar_elite": "SWSH Galar Champ-Cup",
+ "battle_paldea_elite": "KAPU Vs. Paldea Top Vier",
+ "battle_bb_elite": "KAPU Vs. Blaubeer-Top-Vier",
+ "battle_final_encounter": "PMDDX Rayquazas Domäne",
+ "battle_final": "SW Vs. G-Cis",
+ "battle_kanto_gym": "S2W2 Vs. Kanto Arenaleiter",
+ "battle_johto_gym": "S2W2 Vs. Johto Arenaleiter",
+ "battle_hoenn_gym": "S2W2 Vs. Hoenn Arenaleiter",
+ "battle_sinnoh_gym": "S2W2 Vs. Sinnoh Arenaleiter",
+ "battle_unova_gym": "SW Vs. Einall Arenaleiter",
+ "battle_kalos_gym": "XY Vs. Kalos Arenaleiter",
+ "battle_galar_gym": "SWSH Vs. Galar Arenaleiter",
+ "battle_paldea_gym": "KAPU Vs. Paldea Arenaleiter",
+ "battle_legendary_kanto": "XY Vs. Legendäres Kanto Pokémon",
+ "battle_legendary_raikou": "HGSS Vs. Raikou",
+ "battle_legendary_entei": "HGSS Vs. Entei",
+ "battle_legendary_suicune": "HGSS Vs. Suicune",
+ "battle_legendary_lugia": "HGSS Vs. Lugia",
+ "battle_legendary_ho_oh": "HGSS Vs. Ho-oh",
+ "battle_legendary_regis_g5": "S2W2 Vs. Legendäre Giganten",
+ "battle_legendary_regis_g6": "ORAS Vs. Legendäre Giganten",
+ "battle_legendary_gro_kyo": "ORAS Vs. Groudon & Kyogre",
+ "battle_legendary_rayquaza": "ORAS Vs. Rayquaza",
+ "battle_legendary_deoxys": "ORAS Vs. Deoxys",
+ "battle_legendary_lake_trio": "ORAS Vs. Seen-Trio",
+ "battle_legendary_sinnoh": "ORAS Vs. Legendäres Sinnoh Pokémon",
+ "battle_legendary_dia_pal": "ORAS Vs. Dialga & Palkia",
+ "battle_legendary_giratina": "ORAS Vs. Giratina",
+ "battle_legendary_arceus": "HGSS Vs. Arceus",
+ "battle_legendary_unova": "SW Vs. Legendäres Einall Pokémon",
+ "battle_legendary_kyurem": "SW Vs. Kyurem",
+ "battle_legendary_res_zek": "SW Vs. Reshiram & Zekrom",
+ "battle_legendary_xern_yvel": "XY Vs. Xerneas & Yveltal",
+ "battle_legendary_tapu": "SM Vs. Kapu",
+ "battle_legendary_sol_lun": "SM Vs. Solgaleo & Lunala",
+ "battle_legendary_ub": "SM Vs. Ultrabestie",
+ "battle_legendary_dusk_dawn": "USUM Vs. Abendmähne- & Morgenschwingen-Necrozma",
+ "battle_legendary_ultra_nec": "USUM Vs. Ultra-Necrozma",
+ "battle_legendary_zac_zam": "SWSH Vs. Zacian & Zamazenta",
+ "battle_legendary_glas_spec": "SWSH Vs. Polaross & Phantoross",
+ "battle_legendary_calyrex": "SWSH Vs. Coronospa",
+ "battle_legendary_birds_galar": "SWSH Vs. Legendäre Galar-Vögel",
+ "battle_legendary_ruinous": "KAPU Vs. Schätze des Unheils",
+ "battle_legendary_kor_mir": "KAPU Die Tiefen von Zone Null",
+ "battle_legendary_loyal_three": "KAPU Drei Gefährten",
+ "battle_legendary_ogerpon": "KAPU Vs. Ogerpon",
+ "battle_legendary_terapagos": "KAPU Vs. Terapagos",
+ "battle_legendary_pecharunt": "KAPU Vs. Infamomo",
+ "battle_rival": "SW Vs. Rivale",
+ "battle_rival_2": "SW Vs. N",
+ "battle_rival_3": "SW Vs. N (Finale)",
+ "battle_trainer": "SW Vs. Trainer",
+ "battle_wild": "SW Vs. Wilde Pokémon",
+ "battle_wild_strong": "SW Vs. Starke Wilde Pokémon",
+ "end_summit": "PMDDX Gipfel des Himmelturms",
+ "battle_rocket_grunt": "HGSS Team Rocket Battle",
+ "battle_aqua_magma_grunt": "ORAS Team Aqua & Magma Battle",
+ "battle_galactic_grunt": "BDSP Team Galactic Battle",
+ "battle_plasma_grunt": "SW Vs. Team Plasma Rüpel",
+ "battle_flare_grunt": "XY Team Flare Battle",
+ "battle_rocket_boss": "USUM Giovanni Battle",
+ "battle_aqua_magma_boss": "ORAS Archie & Maxie Battle",
+ "battle_galactic_boss": "BDSP Cyrus Battle",
+ "battle_plasma_boss": "B2W2 Ghetsis Battle",
+ "battle_flare_boss": "XY Lysandre Battle",
+
+ // Biome Music
+ "abyss": "PMD Erkundungsteam Himmel Dunkelkrater",
+ "badlands": "PMD Erkundungsteam Himmel Kargtal",
+ "beach": "PMD Erkundungsteam Himmel Feuchtklippe",
+ "cave": "PMD Erkundungsteam Himmel Himmelsgipfel-Höhle",
+ "construction_site": "PMD Erkundungsteam Himmel Geröllbruch",
+ "desert": "PMD Erkundungsteam Himmel Nordwüste",
+ "dojo": "PMD Erkundungsteam Himmel Knogga-Dojo",
+ "end": "PMD Retterteam DX Himmelsturm",
+ "factory": "PMD Erkundungsteam Himmel Verborgene Ruinen",
+ "fairy_cave": "PMD Erkundungsteam Himmel Sternenhöhle",
+ "forest": "PMD Erkundungsteam Himmel Düsterwald",
+ "grass": "PMD Erkundungsteam Himmel Apfelwald",
+ "graveyard": "PMD Erkundungsteam Himmel Verwirrwald",
+ "ice_cave": "PMD Erkundungsteam Himmel Rieseneisberg",
+ "island": "PMD Erkundungsteam Himmel Schroffküste",
+ "jungle": "Lmz - Jungle", // The composer thinks about a more creative name
+ "laboratory": "Firel - Laboratory", // The composer thinks about a more creative name
+ "lake": "PMD Erkundungsteam Himmel Kristallhöhle",
+ "meadow": "PMD Erkundungsteam Himmel Himmelsgipfel-Wald",
+ "metropolis": "Firel - Metropolis", // The composer thinks about a more creative name
+ "mountain": "PMD Erkundungsteam Himmel Hornberg",
+ "plains": "PMD Erkundungsteam Himmel Himmelsgipfel-Prärie",
+ "power_plant": "PMD Erkundungsteam Himmel Weite Ampere-Ebene",
+ "ruins": "PMD Erkundungsteam Himmel Tiefes Ruinenverlies",
+ "sea": "PMD Erkundungsteam Himmel Salzwasserhöhle",
+ "seabed": "Firel - Seabed", // The composer thinks about a more creative name
+ "slum": "PMD Erkundungsteam Himmel Himmelsgipfel-Küste",
+ "snowy_forest": "PMD Erkundungsteam Himmel Himmelsgipfel-Schneefeld",
+ "space": "Firel - Aether",
+ "swamp": "PMD Erkundungsteam Himmel Ringmeer",
+ "tall_grass": "PMD Erkundungsteam Himmel Nebelwald",
+ "temple": "PMD Erkundungsteam Himmel Ägishöhle",
+ "town": "PMD Erkundungsteam Himmel Zufälliges Dungeon-Theme 3",
+ "volcano": "PMD Erkundungsteam Himmel Dunsthöhle",
+ "wasteland": "PMD Erkundungsteam Himmel Verborgenes Hochland",
+
+ // Encounter
+ "encounter_ace_trainer": "SW Trainerblicke treffen sich (Ass-Trainer)",
+ "encounter_backpacker": "SW Trainerblicke treffen sich (Backpacker)",
+ "encounter_clerk": "SW Trainerblicke treffen sich (Angestellter)",
+ "encounter_cyclist": "SW Trainerblicke treffen sich (Biker)",
+ "encounter_lass": "SW Trainerblicke treffen sich (Göre)",
+ "encounter_parasol_lady": "SW Trainerblicke treffen sich (Schirmdame)",
+ "encounter_pokefan": "SW Trainerblicke treffen sich (Pokéfan)",
+ "encounter_psychic": "SW Trainerblicke treffen sich (Seher)",
+ "encounter_rich": "SW Trainerblicke treffen sich (Gentleman)",
+ "encounter_rival": "SW Vs. Cheren",
+ "encounter_roughneck": "SW Trainerblicke treffen sich (Raufbold)",
+ "encounter_scientist": "SW Trainerblicke treffen sich (Forscher)",
+ "encounter_twins": "SW Trainerblicke treffen sich (Zwillinge)",
+ "encounter_youngster": "SW Trainerblicke treffen sich (Knirps)",
+
+ // Other
+ "heal": "SW Pokémon-Heilung",
+ "menu": "PMD Erkundungsteam Himmel Willkommen in der Welt der Pokémon!",
+ "title": "PMD Erkundungsteam Himmel Top-Menü-Thema",
+} as const;
diff --git a/src/locales/de/biome.ts b/src/locales/de/biome.ts
index 6fdbb3c6820..2afb4a4b018 100644
--- a/src/locales/de/biome.ts
+++ b/src/locales/de/biome.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const biome: SimpleTranslationEntries = {
"unknownLocation": "An einem unbekannten Ort",
diff --git a/src/locales/de/challenges.ts b/src/locales/de/challenges.ts
new file mode 100644
index 00000000000..176de9879b6
--- /dev/null
+++ b/src/locales/de/challenges.ts
@@ -0,0 +1,26 @@
+import { TranslationEntries } from "#app/interfaces/locales";
+
+export const challenges: TranslationEntries = {
+ "title": "Herausforderungsmodifikatoren",
+ "illegalEvolution": "{{pokemon}} hat sich in ein Pokémon verwandelt, dass für diese Herausforderung nicht zulässig ist!",
+ "singleGeneration": {
+ "name": "Mono-Generation",
+ "desc": "Du kannst nur Pokémon aus der {{gen}} Generation verwenden.",
+ "desc_default": "Du kannst nur Pokémon gewählten Generation verwenden.",
+ "gen_1": "ersten",
+ "gen_2": "zweiten",
+ "gen_3": "dritten",
+ "gen_4": "vierten",
+ "gen_5": "fünften",
+ "gen_6": "sechsten",
+ "gen_7": "siebten",
+ "gen_8": "achten",
+ "gen_9": "neunten",
+ },
+ "singleType": {
+ "name": "Mono-Typ",
+ "desc": "Du kannst nur Pokémon des Typs {{type}} verwenden.",
+ "desc_default": "Du kannst nur Pokémon des gewählten Typs verwenden."
+ // types in pokemon-info
+ },
+} as const;
diff --git a/src/locales/de/command-ui-handler.ts b/src/locales/de/command-ui-handler.ts
index fcc70e5d59d..cd7da3fbf26 100644
--- a/src/locales/de/command-ui-handler.ts
+++ b/src/locales/de/command-ui-handler.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const commandUiHandler: SimpleTranslationEntries = {
"fight": "Kampf",
diff --git a/src/locales/de/common.ts b/src/locales/de/common.ts
new file mode 100644
index 00000000000..07f920aaf30
--- /dev/null
+++ b/src/locales/de/common.ts
@@ -0,0 +1,10 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const common: SimpleTranslationEntries = {
+ "start": "Start",
+ "luckIndicator": "Glück:",
+ "shinyOnHover": "Schillernd",
+ "commonShiny": "Gewöhnlich",
+ "rareShiny": "Selten",
+ "epicShiny": "Episch",
+} as const;
diff --git a/src/locales/de/config.ts b/src/locales/de/config.ts
index e243aac135d..ffbb2733205 100644
--- a/src/locales/de/config.ts
+++ b/src/locales/de/config.ts
@@ -1,10 +1,12 @@
import { ability } from "./ability";
import { abilityTriggers } from "./ability-trigger";
-import { achv } from "./achv";
+import { PGFachv, PGMachv } from "./achv";
import { battle } from "./battle";
import { battleMessageUiHandler } from "./battle-message-ui-handler";
import { berry } from "./berry";
+import { bgmName } from "./bgm-name";
import { biome } from "./biome";
+import { challenges } from "./challenges";
import { commandUiHandler } from "./command-ui-handler";
import {
PGFbattleSpecDialogue,
@@ -18,10 +20,12 @@ import {
} from "./dialogue";
import { egg } from "./egg";
import { fightUiHandler } from "./fight-ui-handler";
+import { gameMode } from "./game-mode";
import { gameStatsUiHandler } from "./game-stats-ui-handler";
import { growth } from "./growth";
import { menu } from "./menu";
import { menuUiHandler } from "./menu-ui-handler";
+import { modifier } from "./modifier";
import { modifierType } from "./modifier-type";
import { move } from "./move";
import { nature } from "./nature";
@@ -29,22 +33,32 @@ import { pokeball } from "./pokeball";
import { pokemon } from "./pokemon";
import { pokemonInfo } from "./pokemon-info";
import { pokemonInfoContainer } from "./pokemon-info-container";
+import { saveSlotSelectUiHandler } from "./save-slot-select-ui-handler";
import { splashMessages } from "./splash-messages";
import { starterSelectUiHandler } from "./starter-select-ui-handler";
+import { statusEffect } from "./status-effect";
import { titles, trainerClasses, trainerNames } from "./trainers";
import { tutorial } from "./tutorial";
import { voucher } from "./voucher";
-import { weather } from "./weather";
+import { terrain, weather } from "./weather";
+import { partyUiHandler } from "./party-ui-handler";
+import { settings } from "./settings.js";
+import { common } from "./common.js";
+import { modifierSelectUiHandler } from "./modifier-select-ui-handler";
export const deConfig = {
ability: ability,
abilityTriggers: abilityTriggers,
- achv: achv,
battle: battle,
battleMessageUiHandler: battleMessageUiHandler,
berry: berry,
+ bgmName: bgmName,
biome: biome,
+ challenges: challenges,
commandUiHandler: commandUiHandler,
+ common: common,
+ PGMachv: PGMachv,
+ PGFachv: PGFachv,
PGMdialogue: PGMdialogue,
PGFdialogue: PGFdialogue,
PGMbattleSpecDialogue: PGMbattleSpecDialogue,
@@ -55,10 +69,12 @@ export const deConfig = {
PGFdoubleBattleDialogue: PGFdoubleBattleDialogue,
egg: egg,
fightUiHandler: fightUiHandler,
+ gameMode: gameMode,
gameStatsUiHandler: gameStatsUiHandler,
growth: growth,
menu: menu,
menuUiHandler: menuUiHandler,
+ modifier: modifier,
modifierType: modifierType,
move: move,
nature: nature,
@@ -66,12 +82,18 @@ export const deConfig = {
pokemon: pokemon,
pokemonInfo: pokemonInfo,
pokemonInfoContainer: pokemonInfoContainer,
+ saveSlotSelectUiHandler: saveSlotSelectUiHandler,
+ settings: settings,
splashMessages: splashMessages,
starterSelectUiHandler: starterSelectUiHandler,
+ statusEffect: statusEffect,
+ terrain: terrain,
titles: titles,
trainerClasses: trainerClasses,
trainerNames: trainerNames,
tutorial: tutorial,
voucher: voucher,
- weather: weather
+ weather: weather,
+ partyUiHandler: partyUiHandler,
+ modifierSelectUiHandler: modifierSelectUiHandler
};
diff --git a/src/locales/de/dialogue.ts b/src/locales/de/dialogue.ts
index c69fb1aacd0..02c497b3182 100644
--- a/src/locales/de/dialogue.ts
+++ b/src/locales/de/dialogue.ts
@@ -1,4 +1,4 @@
-import {DialogueTranslationEntries, SimpleTranslationEntries} from "#app/plugins/i18n";
+import {DialogueTranslationEntries, SimpleTranslationEntries} from "#app/interfaces/locales";
// Dialogue of the NPCs in the game when the player character is male (or unset)
@@ -367,18 +367,225 @@ export const PGMdialogue: DialogueTranslationEntries = {
1: "Ich werde für das nächste Rennen tunen."
},
},
- "firebreather": {
+ "rocket_grunt": {
"encounter": {
- 1: "My flames shall devour you!",
- 2: "My soul is on fire. I'll show you how hot it burns!",
- 3: "Step right up and take a look!"
+ 1: `Jetzt gibt es Ärger!…
+ $und es kommt noch härter!
+ $Wir wollen über die Erde regieren…
+ $und naja du kennst den Rest…!`
},
"victory": {
- 1: "I burned down to ashes...",
- 2: "Yow! That's hot!",
- 3: "Ow! I scorched the tip of my nose!"
+ 1: "Das war mal wieder ein Schuss in den Ofen!"
},
},
+ "firebreather": {
+ "encounter": {
+ 1: "Meine Flammen werden dich verschlingen!",
+ 2: "Meine Seele hat Feuer gefangen. Ich werde dir zeigen, wie heiß sie brennt!",
+ 3: "Komm näher und sieh dir meine Flammen an!"
+ },
+ "victory": {
+ 1: "Verbrannt bis zur Asche...",
+ 2: "Yow! Das ist heiß!",
+ 3: "Auuu! Ich habe mir die Nasenspitze verbrannt!"
+ },
+ },
+ "sailor": {
+ "encounter": {
+ 1: "Matrose, du gehst über Bord, wenn du verlierst!",
+ 2: "Komm schon! Mein Stolz als Seemann steht auf dem Spiel!",
+ 3: "Ahoj! Bist du seekrank?"
+ },
+ "victory": {
+ 1: "Argh! Von einem Kind besiegt!",
+ 2: "Dein Geist hat mich versenkt!",
+ 3: "Ich glaube, ich bin der der seekrank ist..."
+ },
+ },
+ "magma_grunt": {
+ "encounter": {
+ 1: "Keiner, der sich Team Magma in den Weg stellt, bekommt Gnade, nicht einmal Kinder!"
+ },
+ "victory": {
+ 1: "Wie kann das sein? Ich bin Teil vom mächtigen Team Magma! Wir wollen doch nur die Welt verbessern…"
+ },
+ },
+ "aqua_grunt": {
+ "encounter": {
+ 1: "Du willst dich also mit Team Aqua anlegen? Du traust dich ja was… Dich werfe ich über Bord!",
+ },
+ "victory": {
+ 1: "Vielleicht sollte ich wohl lieber selber über die Planke gehen…",
+ },
+ },
+ "galactic_grunt": {
+ "encounter": {
+ 1: "Team Galaktik wird die Welt in eine bessere Welt verwandeln! Und du wirst uns nicht aufhalten!"
+ },
+ "victory": {
+ 1: "Zyrus wird uns für diese Niederlage bestrafen…"
+ },
+ },
+ "plasma_grunt": {
+ "encounter": {
+ 1: "Pokémon sollten frei sein! Team Plasma wird sie befreien!"
+ },
+ "victory": {
+ 1: "Wie konnte ich verlieren? Ich dachte, ich würde die Welt retten…"
+ },
+ },
+ "flare_grunt": {
+ "encounter": {
+ 1: `Ich bin ein Mitglied von Team Flare! Das sieht man mir doch an. Mein Stil ist unverkennbar!
+ $Du kannst definitiv ein Umstyling gebrauchen!`
+ },
+ "victory": {
+ 1: "Stil ist wohl doch nicht alles…"
+ },
+ },
+ "rocket_boss_giovanni_1": {
+ "encounter": {
+ 1: `Ich bin beeindruckt, du hast es bis hierher geschafft!
+ $Ich bin Giovanni, der Anführer von Team Rocket!
+ $Wir regieren den Untergrund von Kanto!
+ $Und wir lassen sicherlich nicht zu, dass ein Kind uns aufhält!`
+
+ },
+ "victory": {
+ 1: "Ich ziehe mich zurück, aber ich werde zurückkehren! Team Rocket wird niemals besiegt werden!"
+ },
+ "defeat": {
+ 1: `Merke dir meine Worte. Nicht in der Lage zu sein,
+ $deine eigene Stärke zu messen, zeigt, dass du immer noch ein Kind bist.`
+ }
+ },
+ "rocket_boss_giovanni_2": {
+ "encounter": {
+ 1: "Du schon wieder… Wie hast du mich gefunden? Team Rocket wird dich endlich aus der Welt schaffen!"
+ },
+ "victory": {
+ 1: "Wie ist das möglich...? Der kostbare Traum von Team Rocket ist nicht mehr als eine Illusion geworden..."
+ },
+ "defeat": {
+ 1: "Team Rocket wird niemals besiegt werden! Ich werde zurückkehren!"
+ }
+ },
+ "magma_boss_maxie_1": {
+ "encounter": {
+ 1: `Die Welt ist nicht perfekt. Ich werde sie verbessern, indem ich sie neu erschaffe!
+ $Wir brauchen mehr Landmassen um zu leben! Team Magma wird dieses Ziel mit aller Macht erreichen!`
+ },
+ "victory": {
+ 1:"Ugh! Das entspricht nicht meinen Berechnungen! Wie konnte ich verlieren? Wir sehen uns wieder!"
+ },
+ "defeat": {
+ 1: "Team Magma wird weiterhin die Welt verbessern!"
+ }
+ },
+ "magma_boss_maxie_2": {
+ "encounter": {
+ 1: `Du bist das letzte Hindernis, das zwischen mir und meinen Zielen steht.
+ $Mach dich bereit durch die Macht von Team Magma besiegt zu werden!`
+ },
+ "victory": {
+ 1: "Das... Das kann nicht sein...",
+ },
+ "defeat": {
+ 1: "Und jetzt werde ich diesen Planeten terraformen, um ihn ideal für die Menschheit zu machen."
+ }
+ },
+ "aqua_boss_archie_1": {
+ "encounter": {
+ 1: "Ich bin Adrian, der Anführer von Team Aqua! Wir werden die Welt mit Wasser überfluten!"
+ },
+ "victory": {
+ 1: "Lass uns mal wieder treffen. Ich werde mir sicher sein, dass ich dieses Gesicht wiedererkenne."
+ },
+ "defeat": {
+ 1: "Brilliant! Mein Team wird jetzt nicht zurückhalten!"
+ }
+ },
+ "aqua_boss_archie_2": {
+ "encounter": {
+ 1: "Ich habe lange auf diesen Tag gewartet. Das ist die wahre Macht von Team Aqua!"
+ },
+ "victory": {
+ 1: "So habe ich mir das nicht vorgestellt..."
+ },
+ "defeat": {
+ 1: "Ich werde alles in dieser Welt in seinen ursprünglichen, reinen Zustand zurückversetzen!!"
+ }
+ },
+ "galactic_boss_cyrus_1": {
+ "encounter": {
+ 1: `Du wurdest von leerer Gefühlsduselei hierher getrieben.
+ $Ich werde dich bereuen lassen, auf dein Herz gehört zu haben!`
+ },
+ "victory": {
+ 1: "Interessant. Und ziemlich eigenartig."
+ },
+ "defeat": {
+ 1: "Ich werde meine neue Welt erschaffen..."
+ }
+ },
+ "galactic_boss_cyrus_2": {
+ "encounter": {
+ 1: `So sehen wir uns wieder. Es scheint, als wären unsere Schicksale miteinander verflochten.
+ $Aber hier und jetzt werde ich diese Verbindung brechen!`
+ },
+ "victory": {
+ 1: "Wie? Wie? WIE?!"
+ },
+ "defeat": {
+ 1: "Bis bald."
+ }
+ },
+ "plasma_boss_ghetsis_1": {
+ "encounter": {
+ 1:"Ich werde nicht zulassen, dass mich jemand aufhält! Egal wer es auch sein mag!"
+ },
+ "victory": {
+ 1: "Wie kann das sein? Ich bin der Schöpfer von Team Plasma! Ich bin perfekt!"
+ },
+ "defeat": {
+ 1: "Ich bin der perfekte Herrscher einer perfekten neuen Welt! Mwa ha ha!"
+ }
+ },
+ "plasma_boss_ghetsis_2": {
+ "encounter": {
+ 1: "Komm schon! Ich will dein Gesicht sehen, in dem Moment, in dem du alle Hoffnung verlierst!"
+ },
+ "victory": {
+ 1: "Meine Berechnungen... Nein! Meine sorgfältigen Pläne! Die Welt sollte mir gehören!"
+ },
+ "defeat": {
+ 1: "Kyurem! Verwende Absorptionsfusion!"
+ }
+ },
+ "flare_boss_lysandre_1": {
+ "encounter": {
+ 1: "DU willst mich aufhalten? Dann zeig mir deine Stärke in einem Kampf!"
+ },
+ "victory": {
+ 1: `Du bist hier, um mich aufzuhalten. Aber ich bitte dich zu warten.
+ $Ich bin so kurz davor, meine Vision zu verwirklichen.`
+ },
+ "defeat": {
+ 1: "Pokémon... Sollten nicht mehr existieren."
+ }
+ },
+ "flare_boss_lysandre_2": {
+ "encounter": {
+ 1: `Die Zukunft, die du willst, oder die Zukunft, die ich will...
+ $Lass uns sehen, welche mehr zu existieren verdient, sollen wir?`
+ },
+ "victory": {
+ 1: "Die Zukunft, die ich erschaffen wollte... Es ist vorbei..."
+ },
+ "defeat": {
+ 1: "Narren ohne Vision werden weiterhin diese wunderschöne Welt verunreinigen."
+ }
+ },
"brock": {
"encounter": {
1: "Meine Expertise in Bezug auf Gesteins-Pokémon wird dich besiegen! Komm schon!",
@@ -2142,7 +2349,32 @@ export const PGMdialogue: DialogueTranslationEntries = {
2: "Du bist in meinen Sturm geraten! Viel Glück beim nächsten Mal!"
}
},
-
+ "alder": {
+ "encounter": {
+ 1: "Mach dich bereit für einen Kampf gegen den stärksten Trainer in Einall! Mich - Lauro!"
+ },
+ "victory": {
+ 1: "Gut gemacht! Du hast wirklich ein unvergleichliches Talent."
+ },
+ "defeat": {
+ 1: `Ein frischer Wind weht durch mein Herz...
+ $Was für ein außergewöhnliches Gefühl!`
+ }
+ },
+ "kieran": {
+ "encounter": {
+ 1: `Durch harte Arbeit werde ich immer stärker und stärker!
+ $Ich verliere nicht.`
+ },
+ "victory": {
+ 1: `Ich kann es nicht glauben...
+ $Was für ein lustiger und herzzerreißender Kampf!`
+ },
+ "defeat": {
+ 1: `Wow, was für ein Kampf!
+ $Es ist Zeit für dich, noch härter zu trainieren.`
+ }
+ },
"rival": {
"encounter": {
1: `@c{smile}Hey, ich habe dich gesucht! Ich weiß, dass du es nicht erwarten konntest loszugehen,
diff --git a/src/locales/de/egg.ts b/src/locales/de/egg.ts
index 1551d832bfc..9dc7b10f174 100644
--- a/src/locales/de/egg.ts
+++ b/src/locales/de/egg.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const egg: SimpleTranslationEntries = {
"egg": "Ei",
@@ -10,12 +10,19 @@ export const egg: SimpleTranslationEntries = {
"hatchWavesMessageClose": "Manchmal bewegt es sich! Es braucht wohl noch ein Weilchen.",
"hatchWavesMessageNotClose": "Was wird da wohl schlüpfen? Es wird sicher noch lange dauern.",
"hatchWavesMessageLongTime": "Dieses Ei braucht sicher noch sehr viel Zeit.",
- "gachaTypeLegendary": "Erhöhte Chance auf legendäre Eier",
- "gachaTypeMove": "Erhöhte Chance auf Eier mit seltenen Attacken",
- "gachaTypeShiny": "Erhöhte Chance auf schillernde Eier",
- "selectMachine": "Wähle eine Maschine",
+ "gachaTypeLegendary": "Erhöhte Chance auf legendäre Eier.",
+ "gachaTypeMove": "Erhöhte Chance auf Eier mit seltenen Attacken.",
+ "gachaTypeShiny": "Erhöhte Chance auf schillernde Eier.",
+ "selectMachine": "Wähle eine Maschine.",
"notEnoughVouchers": "Du hast nicht genug Ei-Gutscheine!",
"tooManyEggs": "Du hast schon zu viele Eier!",
"pull": "Pull",
- "pulls": "Pulls"
+ "pulls": "Pulls",
+ "sameSpeciesEgg": "{{species}} wird aus dem Ei schlüpfen!",
+ "hatchFromTheEgg": "Ein {{pokemonName}} ist aus dem Ei geschlüpft!",
+ "eggMoveUnlock": "Ei-Attacke freigeschaltet: {{moveName}}",
+ "rareEggMoveUnlock": "Seltene Ei-Attacke freigeschaltet: {{moveName}}",
+ "moveUPGacha": "Mehr\nEi-Attacken!",
+ "shinyUPGacha": "Mehr\nSchillernde!",
+ "legendaryUPGacha": "erscheint\nöfter!",
} as const;
diff --git a/src/locales/de/fight-ui-handler.ts b/src/locales/de/fight-ui-handler.ts
index 300272ab83f..255b48b3aa4 100644
--- a/src/locales/de/fight-ui-handler.ts
+++ b/src/locales/de/fight-ui-handler.ts
@@ -1,7 +1,9 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const fightUiHandler: SimpleTranslationEntries = {
"pp": "AP",
"power": "Stärke",
"accuracy": "Genauigkeit",
+ "abilityFlyInText": "{{passive}}{{abilityName}} von {{pokemonName}} wirkt!",
+ "passive": "Passive Fähigkeit ", // The space at the end is important
} as const;
diff --git a/src/locales/de/game-mode.ts b/src/locales/de/game-mode.ts
new file mode 100644
index 00000000000..72661bd4682
--- /dev/null
+++ b/src/locales/de/game-mode.ts
@@ -0,0 +1,10 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const gameMode: SimpleTranslationEntries = {
+ "classic": "Klassik",
+ "endless": "Endlos",
+ "endlessSpliced": "Endlos (Fusion)",
+ "dailyRun": "Täglicher Run",
+ "unknown": "Unbekannt",
+ "challenge": "Challenge",
+} as const;
diff --git a/src/locales/de/game-stats-ui-handler.ts b/src/locales/de/game-stats-ui-handler.ts
index 8c582b33eb1..776a28f95c7 100644
--- a/src/locales/de/game-stats-ui-handler.ts
+++ b/src/locales/de/game-stats-ui-handler.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const gameStatsUiHandler: SimpleTranslationEntries = {
"stats": "Statistiken",
diff --git a/src/locales/de/growth.ts b/src/locales/de/growth.ts
index dbd0e119e5f..275f1645b87 100644
--- a/src/locales/de/growth.ts
+++ b/src/locales/de/growth.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const growth: SimpleTranslationEntries = {
"Erratic": "Unregelmäßig",
diff --git a/src/locales/de/menu-ui-handler.ts b/src/locales/de/menu-ui-handler.ts
index de30785b731..0338ba6f399 100644
--- a/src/locales/de/menu-ui-handler.ts
+++ b/src/locales/de/menu-ui-handler.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const menuUiHandler: SimpleTranslationEntries = {
"GAME_SETTINGS": "Spieleinstellungen",
@@ -19,5 +19,6 @@ export const menuUiHandler: SimpleTranslationEntries = {
"importData": "Daten importieren",
"exportData": "Daten exportieren",
"cancel": "Abbrechen",
- "losingProgressionWarning": "Du wirst jeglichen Fortschritt seit Anfang dieses Kampfes verlieren. Fortfahren?"
+ "losingProgressionWarning": "Du wirst jeglichen Fortschritt seit Anfang dieses Kampfes verlieren. Fortfahren?",
+ "noEggs": "Du brütest aktuell keine Eier aus!"
} as const;
diff --git a/src/locales/de/menu.ts b/src/locales/de/menu.ts
index e1e5db72b9c..cb8cf9a318a 100644
--- a/src/locales/de/menu.ts
+++ b/src/locales/de/menu.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
/**
* The menu namespace holds most miscellaneous text that isn't directly part of the game's
@@ -18,24 +18,22 @@ export const menu: SimpleTranslationEntries = {
"password": "Passwort",
"login": "Anmelden",
"register": "Registrieren",
- "emptyUsername": "Benutzername darf nicht leer sein",
- "invalidLoginUsername": "Der eingegebene Benutzername ist ungültig",
- "invalidRegisterUsername": "Benutzername darf nur Buchstaben, Zahlen oder Unterstriche enthalten",
- "invalidLoginPassword": "Das eingegebene Passwort ist ungültig",
- "invalidRegisterPassword": "Passwort muss 6 Zeichen oder länger sein",
- "usernameAlreadyUsed": "Der eingegebene Benutzername wird bereits verwendet",
- "accountNonExistent": "Der eingegebene Benutzer existiert nicht",
- "unmatchingPassword": "Das eingegebene Passwort stimmt nicht überein",
- "passwordNotMatchingConfirmPassword": "Passwort muss mit Bestätigungspasswort übereinstimmen",
+ "emptyUsername": "Benutzername darf nicht leer sein.",
+ "invalidLoginUsername": "Der eingegebene Benutzername ist ungültig.",
+ "invalidRegisterUsername": "Benutzername darf nur Buchstaben, Zahlen oder Unterstriche enthalten.",
+ "invalidLoginPassword": "Das eingegebene Passwort ist ungültig.",
+ "invalidRegisterPassword": "Passwort muss 6 Zeichen oder länger sein.",
+ "usernameAlreadyUsed": "Der eingegebene Benutzername wird bereits verwendet.",
+ "accountNonExistent": "Der eingegebene Benutzer existiert nicht.",
+ "unmatchingPassword": "Das eingegebene Passwort stimmt nicht überein.",
+ "passwordNotMatchingConfirmPassword": "Passwort muss mit Bestätigungspasswort übereinstimmen.",
"confirmPassword": "Bestätige Passwort",
"registrationAgeWarning": "Mit der Registrierung bestätigen Sie, dass Sie 13 Jahre oder älter sind.",
"backToLogin": "Zurück zur Anmeldung",
- "failedToLoadSaveData": "Speicherdaten konnten nicht geladen werden. Bitte laden Sie die Seite neu.\nÜberprüfe den #announcements-Kanal im Discord bei anhaltenden Problemen",
+ "failedToLoadSaveData": "Speicherdaten konnten nicht geladen werden. Bitte laden Sie die Seite neu.\nÜberprüfe den #announcements-Kanal im Discord bei anhaltenden Problemen.",
"sessionSuccess": "Sitzung erfolgreich geladen.",
"failedToLoadSession": "Ihre Sitzungsdaten konnten nicht geladen werden.\nSie könnten beschädigt sein.",
"boyOrGirl": "Bist du ein Junge oder ein Mädchen?",
- "boy": "Junge",
- "girl": "Mädchen",
"evolving": "Nanu?\n{{pokemonName}} entwickelt sich!",
"stoppedEvolving": "Hm? {{pokemonName}} hat die Entwicklung \nabgebrochen.", // "Hm? Entwicklung wurde abgebrochen!" without naming the pokemon seems to be the original.
"pauseEvolutionsQuestion": "Die Entwicklung von {{pokemonName}} vorübergehend pausieren?\nEntwicklungen können im Gruppenmenü wieder aktiviert werden.",
@@ -44,11 +42,16 @@ export const menu: SimpleTranslationEntries = {
"dailyRankings": "Tägliche Rangliste",
"weeklyRankings": "Wöchentliche Rangliste",
"noRankings": "Keine Rangliste",
+ "positionIcon": "#",
+ "usernameScoreboard": "Benutzername",
+ "score": "Punkte",
+ "wave": "Welle",
"loading": "Lade…",
+ "loadingAsset": "Lade Asset: {{assetName}}",
"playersOnline": "Spieler Online",
- "empty":"Leer",
"yes":"Ja",
"no":"Nein",
- "disclaimer": "DISCLAIMER",
- "disclaimerDescription": "This game is an unfinished product; it might have playability issues (including the potential loss of save data),\n change without notice, and may or may not be updated further or completed."
+ "disclaimer": "HAFTUNGSAUSSCHLUSS",
+ "disclaimerDescription": "Dieses Spiel ist ein unfertiges Produkt. Es kann spielbeinträchtigende Fehler (bis hin zum Verlust des Speicherstandes)\n aufweisen, sich ohne Vorankündigung ändern und es gibt keine Garantie dass es weiterentwickelt oder fertiggestellt wird.",
+ "errorServerDown": "Ups! Es gab einen Fehler beim Versuch\nden Server zu kontaktieren\nLasse dieses Fenster offen\nDu wirst automatisch neu verbunden.",
} as const;
diff --git a/src/locales/de/modifier-select-ui-handler.ts b/src/locales/de/modifier-select-ui-handler.ts
new file mode 100644
index 00000000000..78248f82da1
--- /dev/null
+++ b/src/locales/de/modifier-select-ui-handler.ts
@@ -0,0 +1,14 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const modifierSelectUiHandler: SimpleTranslationEntries = {
+ "transfer": "Übertragen",
+ "reroll": "Neu rollen",
+ "lockRarities": "Seltenheit festsetzen",
+ "checkTeam": "Team überprüfen",
+ "transferDesc": "Übertrage ein gehaltenes Item zu einem anderen Pokémon.",
+ "rerollDesc": "Nutze Geld um die Items neu zu rollen.",
+ "lockRaritiesDesc": "Setze die Seltenheit der Items fest. (Beeinflusst die Rollkosten).",
+ "checkTeamDesc": "Überprüfe dein Team or nutze Formänderungsitems.",
+ "rerollCost": "{{formattedMoney}}₽",
+ "itemCost": "{{formattedMoney}}₽"
+} as const;
diff --git a/src/locales/de/modifier-type.ts b/src/locales/de/modifier-type.ts
index 9f70c31ca63..d1019ec4270 100644
--- a/src/locales/de/modifier-type.ts
+++ b/src/locales/de/modifier-type.ts
@@ -1,14 +1,14 @@
-import { ModifierTypeTranslationEntries } from "#app/plugins/i18n";
+import { ModifierTypeTranslationEntries } from "#app/interfaces/locales";
export const modifierType: ModifierTypeTranslationEntries = {
ModifierType: {
"AddPokeballModifierType": {
name: "{{modifierCount}}x {{pokeballName}}",
- description: "Erhalte {{pokeballName}} x{{modifierCount}} (Inventar: {{pokeballAmount}}) \nFangrate: {{catchRate}}",
+ description: "Erhalte {{pokeballName}} x{{modifierCount}}. (Inventar: {{pokeballAmount}}) \nFangrate: {{catchRate}}",
},
"AddVoucherModifierType": {
name: "{{modifierCount}}x {{voucherTypeName}}",
- description: "Erhalte {{voucherTypeName}} x{{modifierCount}}",
+ description: "Erhalte {{voucherTypeName}} x{{modifierCount}}.",
},
"PokemonHeldItemModifierType": {
extra: {
@@ -17,32 +17,32 @@ export const modifierType: ModifierTypeTranslationEntries = {
}
},
"PokemonHpRestoreModifierType": {
- description: "Füllt {{restorePoints}} KP oder {{restorePercent}}% der KP für ein Pokémon auf. Je nachdem, welcher Wert höher ist",
+ description: "Füllt {{restorePoints}} KP oder {{restorePercent}}% der KP für ein Pokémon auf. Je nachdem, welcher Wert höher ist.",
extra: {
"fully": "Füllt die KP eines Pokémon wieder vollständig auf.",
- "fullyWithStatus": "Füllt die KP eines Pokémon wieder vollständig auf und behebt alle Statusprobleme",
+ "fullyWithStatus": "Füllt die KP eines Pokémon wieder vollständig auf und behebt alle Statusprobleme.",
}
},
"PokemonReviveModifierType": {
- description: "Belebt ein kampunfähiges Pokémon wieder und stellt {{restorePercent}}% KP wieder her",
+ description: "Belebt ein kampunfähiges Pokémon wieder und stellt {{restorePercent}}% KP wieder her.",
},
"PokemonStatusHealModifierType": {
- description: "Behebt alle Statusprobleme eines Pokémon",
+ description: "Behebt alle Statusprobleme eines Pokémon.",
},
"PokemonPpRestoreModifierType": {
- description: "Füllt {{restorePoints}} AP der ausgewählten Attacke eines Pokémon auf",
+ description: "Füllt {{restorePoints}} AP der ausgewählten Attacke eines Pokémon auf.",
extra: {
- "fully": "Füllt alle AP der ausgewählten Attacke eines Pokémon auf",
+ "fully": "Füllt alle AP der ausgewählten Attacke eines Pokémon auf.",
}
},
"PokemonAllMovePpRestoreModifierType": {
- description: "Stellt {{restorePoints}} AP für alle Attacken eines Pokémon auf",
+ description: "Stellt {{restorePoints}} AP für alle Attacken eines Pokémon auf.",
extra: {
- "fully": "Füllt alle AP für alle Attacken eines Pokémon auf",
+ "fully": "Füllt alle AP für alle Attacken eines Pokémon auf.",
}
},
"PokemonPpUpModifierType": {
- description: "Erhöht die maximale Anzahl der AP der ausgewählten Attacke um {{upPoints}} für jede 5 maximale AP (maximal 3)",
+ description: "Erhöht die maximale Anzahl der AP der ausgewählten Attacke um {{upPoints}} für jede 5 maximale AP (maximal 3).",
},
"PokemonNatureChangeModifierType": {
name: "{{natureName}} Minze",
@@ -52,28 +52,28 @@ export const modifierType: ModifierTypeTranslationEntries = {
description: "Verdoppelt die Wahrscheinlichkeit, dass die nächsten {{battleCount}} Begegnungen mit wilden Pokémon ein Doppelkampf sind.",
},
"TempBattleStatBoosterModifierType": {
- description: "Erhöht die {{tempBattleStatName}} aller Teammitglieder für 5 Kämpfe um eine Stufe",
+ description: "Erhöht die {{tempBattleStatName}} aller Teammitglieder für 5 Kämpfe um eine Stufe.",
},
"AttackTypeBoosterModifierType": {
- description: "Erhöht die Stärke aller {{moveType}}-Attacken eines Pokémon um 20%",
+ description: "Erhöht die Stärke aller {{moveType}}-Attacken eines Pokémon um 20%.",
},
"PokemonLevelIncrementModifierType": {
- description: "Erhöht das Level eines Pokémon um 1",
+ description: "Erhöht das Level eines Pokémon um 1.",
},
"AllPokemonLevelIncrementModifierType": {
- description: "Erhöht das Level aller Teammitglieder um 1",
+ description: "Erhöht das Level aller Teammitglieder um 1.",
},
"PokemonBaseStatBoosterModifierType": {
description: "Erhöht den {{statName}} Basiswert des Trägers um 10%. Das Stapellimit erhöht sich, je höher dein IS-Wert ist.",
},
"AllPokemonFullHpRestoreModifierType": {
- description: "Stellt 100% der KP aller Pokémon her",
+ description: "Stellt 100% der KP aller Pokémon her.",
},
"AllPokemonFullReviveModifierType": {
- description: "Belebt alle kampunfähigen Pokémon wieder und stellt ihre KP vollständig wieder her",
+ description: "Belebt alle kampunfähigen Pokémon wieder und stellt ihre KP vollständig wieder her.",
},
"MoneyRewardModifierType": {
- description:"Gewährt einen {{moneyMultiplier}} Geldbetrag von (₽{{moneyAmount}})",
+ description:"Gewährt einen {{moneyMultiplier}} Geldbetrag von (₽{{moneyAmount}}).",
extra: {
"small": "kleinen",
"moderate": "moderaten",
@@ -81,56 +81,60 @@ export const modifierType: ModifierTypeTranslationEntries = {
},
},
"ExpBoosterModifierType": {
- description: "Erhöht die erhaltenen Erfahrungspunkte um {{boostPercent}}%",
+ description: "Erhöht die erhaltenen Erfahrungspunkte um {{boostPercent}}%.",
},
"PokemonExpBoosterModifierType": {
- description: "Erhöht die Menge der erhaltenen Erfahrungspunkte für den Träger um {{boostPercent}}%",
+ description: "Erhöht die Menge der erhaltenen Erfahrungspunkte für den Träger um {{boostPercent}}%.",
},
"PokemonFriendshipBoosterModifierType": {
description: "Erhöht den Freundschaftszuwachs pro Sieg um 50%.",
},
"PokemonMoveAccuracyBoosterModifierType": {
- description: "Erhöht die Genauigkeit der Angriffe um {{accuracyAmount}} (maximal 100)",
+ description: "Erhöht die Genauigkeit der Angriffe um {{accuracyAmount}} (maximal 100).",
},
"PokemonMultiHitModifierType": {
- description: "Attacken treffen ein weiteres mal mit einer Reduktion von 60/75/82,5% der Stärke",
+ description: "Attacken treffen ein weiteres mal mit einer Reduktion von 60/75/82,5% der Stärke.",
},
"TmModifierType": {
name: "TM{{moveId}} - {{moveName}}",
- description: "Bringt einem Pokémon {{moveName}} bei",
+ description: "Bringt einem Pokémon {{moveName}} bei.",
+ },
+ "TmModifierTypeWithInfo": {
+ name: "TM{{moveId}} - {{moveName}}",
+ description: "Bringt einem Pokémon {{moveName}} bei\n(Halte C oder Shift für mehr Infos).",
},
"EvolutionItemModifierType": {
- description: "Erlaubt es bestimmten Pokémon sich zu entwickeln",
+ description: "Erlaubt es bestimmten Pokémon sich zu entwickeln.",
},
"FormChangeItemModifierType": {
- description: "Erlaubt es bestimmten Pokémon ihre Form zu ändern",
+ description: "Erlaubt es bestimmten Pokémon ihre Form zu ändern.",
},
"FusePokemonModifierType": {
- description: "Fusioniert zwei Pokémon (überträgt die Fähigkeit, teilt Basiswerte und Typ auf, gemeinsamer Attackenpool)",
+ description: "Fusioniert zwei Pokémon (überträgt die Fähigkeit, teilt Basiswerte und Typ auf, gemeinsamer Attackenpool).",
},
"TerastallizeModifierType": {
name: "{{teraType}} Terra-Stück",
- description: "{{teraType}} Terakristallisiert den Träger für bis zu 10 Kämpfe",
+ description: "{{teraType}} Terakristallisiert den Träger für bis zu 10 Kämpfe.",
},
"ContactHeldItemTransferChanceModifierType": {
description:"Beim Angriff besteht eine {{chancePercent}}%ige Chance, dass das getragene Item des Gegners gestohlen wird."
},
"TurnHeldItemTransferModifierType": {
- description: "Jede Runde erhält der Träger ein getragenes Item des Gegners",
+ description: "Jede Runde erhält der Träger ein getragenes Item des Gegners.",
},
"EnemyAttackStatusEffectChanceModifierType": {
- description: "Fügt Angriffen eine {{chancePercent}}%ige Chance hinzu, {{statusEffect}} zu verursachen",
+ description: "Fügt Angriffen eine {{chancePercent}}%ige Chance hinzu, {{statusEffect}} zu verursachen.",
},
"EnemyEndureChanceModifierType": {
- description: "Gibt den Träger eine {{chancePercent}}%ige Chance, einen Angriff zu überleben",
+ description: "Gibt den Träger eine {{chancePercent}}%ige Chance, einen Angriff zu überleben.",
},
"RARE_CANDY": { name: "Sonderbonbon" },
"RARER_CANDY": { name: "Supersondererbonbon" },
- "MEGA_BRACELET": { name: "Mega-Armband", description: "Mega-Steine werden verfügbar" },
- "DYNAMAX_BAND": { name: "Dynamax-Band", description: "Dyna-Pilze werden verfügbar" },
- "TERA_ORB": { name: "Terakristall-Orb", description: "Tera-Stücke werden verfügbar" },
+ "MEGA_BRACELET": { name: "Mega-Armband", description: "Mega-Steine werden verfügbar." },
+ "DYNAMAX_BAND": { name: "Dynamax-Band", description: "Dyna-Pilze werden verfügbar."},
+ "TERA_ORB": { name: "Terakristall-Orb", description: "Tera-Stücke werden verfügbar." },
"MAP": { name: "Karte", description: "Ermöglicht es dir, an einer Kreuzung dein Ziel zu wählen." },
@@ -147,7 +151,7 @@ export const modifierType: ModifierTypeTranslationEntries = {
"SACRED_ASH": { name: "Zauberasche" },
- "REVIVER_SEED": { name: "Belebersamen", description: "Belebt den Träger mit der Hälfte seiner KP wieder sollte er kampfunfähig werden" },
+ "REVIVER_SEED": { name: "Belebersamen", description: "Belebt den Träger mit der Hälfte seiner KP wieder, sollte er durch einen direkten Treffer kampfunfähig werden." },
"ETHER": { name: "Äther" },
"MAX_ETHER": { name: "Top-Äther" },
@@ -162,12 +166,12 @@ export const modifierType: ModifierTypeTranslationEntries = {
"SUPER_LURE": { name: "Super-Lockparfüm" },
"MAX_LURE": { name: "Top-Lockparfüm" },
- "MEMORY_MUSHROOM": { name: "Erinnerungspilz", description: "Lässt ein Pokémon eine vergessene Attacke wiedererlernen" },
+ "MEMORY_MUSHROOM": { name: "Erinnerungspilz", description: "Lässt ein Pokémon eine vergessene Attacke wiedererlernen." },
- "EXP_SHARE": { name: "EP-Teiler", description: "Pokémon, die nicht am Kampf teilgenommen haben, bekommen 20% der Erfahrungspunkte eines Kampfteilnehmers" },
+ "EXP_SHARE": { name: "EP-Teiler", description: "Pokémon, die nicht am Kampf teilgenommen haben, bekommen 20% der Erfahrungspunkte eines Kampfteilnehmers." },
"EXP_BALANCE": { name: "EP-Ausgleicher", description: "Gewichtet die in Kämpfen erhaltenen Erfahrungspunkte auf niedrigstufigere Gruppenmitglieder." },
- "OVAL_CHARM": { name: "Ovalpin", description: "Wenn mehrere Pokémon am Kampf teilnehmen, erhählt jeder von ihnen 10% extra Erfahrungspunkte" },
+ "OVAL_CHARM": { name: "Ovalpin", description: "Wenn mehrere Pokémon am Kampf teilnehmen, erhählt jeder von ihnen 10% extra Erfahrungspunkte." },
"EXP_CHARM": { name: "EP-Pin" },
"SUPER_EXP_CHARM": { name: "Super-EP-Pin" },
@@ -178,64 +182,72 @@ export const modifierType: ModifierTypeTranslationEntries = {
"SOOTHE_BELL": { name: "Sanftglocke" },
- "SOUL_DEW": { name: "Seelentau", description: "Erhöht den Einfluss des Wesens eines Pokemon auf seine Werte um 10% (additiv)" },
+ "EVIOLITE": { name: "Evolith", description: "Ein mysteriöser Klumpen, der die Vert. u. Spez.-Vert. von Pokémon erhöht, die sich noch entwickeln können." },
+
+ "SOUL_DEW": { name: "Seelentau", description: "Erhöht den Einfluss des Wesens eines Pokemon auf seine Werte um 10% (additiv)." },
"NUGGET": { name: "Nugget" },
"BIG_NUGGET": { name: "Riesennugget" },
"RELIC_GOLD": { name: "Alter Dukat" },
- "AMULET_COIN": { name: "Münzamulett", description: "Erhöht das Preisgeld um 20%" },
- "GOLDEN_PUNCH": { name: "Goldschlag", description: "Gewährt Geld in Höhe von 50% des zugefügten Schadens" },
- "COIN_CASE": { name: "Münzkorb", description: "Erhalte nach jedem 10ten Kampf 10% Zinsen auf dein Geld" },
+ "AMULET_COIN": { name: "Münzamulett", description: "Erhöht das Preisgeld um 20%." },
+ "GOLDEN_PUNCH": { name: "Goldschlag", description: "Gewährt Geld in Höhe von 50% des zugefügten Schadens." },
+ "COIN_CASE": { name: "Münzkorb", description: "Erhalte nach jedem 10ten Kampf 10% Zinsen auf dein Geld." },
- "LOCK_CAPSULE": { name: "Tresorkapsel", description: "Erlaubt es die Seltenheitsstufe der Items festzusetzen wenn diese neu gerollt werden" },
+ "LOCK_CAPSULE": { name: "Tresorkapsel", description: "Erlaubt es die Seltenheitsstufe der Items festzusetzen wenn diese neu gerollt werden." },
"GRIP_CLAW": { name: "Griffklaue" },
"WIDE_LENS": { name: "Großlinse" },
"MULTI_LENS": { name: "Mehrfachlinse" },
- "HEALING_CHARM": { name: "Heilungspin", description: "Erhöht die Effektivität von Heilungsattacken sowie Heilitems um 10% (Beleber ausgenommen)" },
- "CANDY_JAR": { name: "Bonbonglas", description: "Erhöht die Anzahl der Level die ein Sonderbonbon erhöht um 1" },
+ "HEALING_CHARM": { name: "Heilungspin", description: "Erhöht die Effektivität von Heilungsattacken sowie Heilitems um 10% (Beleber ausgenommen)." },
+ "CANDY_JAR": { name: "Bonbonglas", description: "Erhöht die Anzahl der Level die ein Sonderbonbon erhöht um 1." },
- "BERRY_POUCH": { name: "Beerentüte", description: "Fügt eine 30% Chance hinzu, dass Beeren nicht verbraucht werden" },
+ "BERRY_POUCH": { name: "Beerentüte", description: "Fügt eine 30% Chance hinzu, dass Beeren nicht verbraucht werden." },
- "FOCUS_BAND": { name: "Fokusband", description: "Fügt eine 10% Chance hinzu, dass Angriffe die zur Kampfunfähigkeit führen mit 1 KP überlebt werden" },
+ "FOCUS_BAND": { name: "Fokusband", description: "Fügt eine 10% Chance hinzu, dass Angriffe die zur Kampfunfähigkeit führen mit 1 KP überlebt werden." },
- "QUICK_CLAW": { name: "Quick Claw", description: "Fügt eine 10% Change hinzu als erster anzugreifen. (Nach Prioritätsangriffen)" },
+ "QUICK_CLAW": { name: "Quick Claw", description: "Fügt eine 10% Change hinzu als erster anzugreifen. (Nach Prioritätsangriffen)." },
- "KINGS_ROCK": { name: "King-Stein", description: "Fügt eine 10% Chance hinzu, dass der Gegner nach einem Angriff zurückschreckt" },
+ "KINGS_ROCK": { name: "King-Stein", description: "Fügt eine 10% Chance hinzu, dass der Gegner nach einem Angriff zurückschreckt." },
- "LEFTOVERS": { name: "Überreste", description: "Heilt 1/16 der maximalen KP eines Pokémon pro Runde" },
- "SHELL_BELL": { name: "Muschelglocke", description: "Heilt den Anwender um 1/8 des von ihm zugefügten Schadens" },
+ "LEFTOVERS": { name: "Überreste", description: "Heilt 1/16 der maximalen KP eines Pokémon pro Runde." },
+ "SHELL_BELL": { name: "Muschelglocke", description: "Heilt den Anwender um 1/8 des von ihm zugefügten Schadens." },
- "TOXIC_ORB": { name: "Toxik-Orb", description: "Dieser bizarre Orb vergiftet seinen Träger im Kampf schwer" },
- "FLAME_ORB": { name: "Heiß-Orb", description: "Dieser bizarre Orb fügt seinem Träger im Kampf Verbrennungen zu" },
+ "TOXIC_ORB": { name: "Toxik-Orb", description: "Dieser bizarre Orb vergiftet seinen Träger im Kampf schwer." },
+ "FLAME_ORB": { name: "Heiß-Orb", description: "Dieser bizarre Orb fügt seinem Träger im Kampf Verbrennungen zu." },
"BATON": { name: "Stab", description: "Ermöglicht das Weitergeben von Effekten beim Wechseln von Pokémon, wodurch auch Fallen umgangen werden." },
- "SHINY_CHARM": { name: "Schillerpin", description: "Erhöht die Chance deutlich, dass ein wildes Pokémon ein schillernd ist" },
- "ABILITY_CHARM": { name: "Ability Charm", description: "Erhöht die Chance deutlich, dass ein wildes Pokémon eine versteckte Fähigkeit hat" },
+ "SHINY_CHARM": { name: "Schillerpin", description: "Erhöht die Chance deutlich, dass ein wildes Pokémon ein schillernd ist." },
+ "ABILITY_CHARM": { name: "Ability Charm", description: "Erhöht die Chance deutlich, dass ein wildes Pokémon eine versteckte Fähigkeit hat." },
- "IV_SCANNER": { name: "IS-Scanner", description: "Erlaubt es die IS-Werte von wilden Pokémon zu scannen.\n(2 IS-Werte pro Staplung. Die besten IS-Werte zuerst)" },
+ "IV_SCANNER": { name: "IS-Scanner", description: "Erlaubt es die IS-Werte von wilden Pokémon zu scannen.\n(2 IS-Werte pro Staplung. Die besten IS-Werte zuerst)." },
"DNA_SPLICERS": { name: "DNS-Keil" },
"MINI_BLACK_HOLE": { name: "Mini schwarzes Loch" },
- "GOLDEN_POKEBALL": { name: "Goldener Pokéball", description: "Fügt eine zusätzliche Item-Auswahlmöglichkeit nach jedem Kampf hinzu" },
+ "GOLDEN_POKEBALL": { name: "Goldener Pokéball", description: "Fügt eine zusätzliche Item-Auswahlmöglichkeit nach jedem Kampf hinzu." },
- "ENEMY_DAMAGE_BOOSTER": { name: "Schadensmarke", description: "Erhöht den Schaden um 5%" },
- "ENEMY_DAMAGE_REDUCTION": { name: "Schutzmarke", description: "Verringert den erhaltenen Schaden um 2,5%" },
- "ENEMY_HEAL": { name: "Wiederherstellungsmarke", description: "Heilt 2% der maximalen KP pro Runde" },
+ "ENEMY_DAMAGE_BOOSTER": { name: "Schadensmarke", description: "Erhöht den Schaden um 5%." },
+ "ENEMY_DAMAGE_REDUCTION": { name: "Schutzmarke", description: "Verringert den erhaltenen Schaden um 2,5%." },
+ "ENEMY_HEAL": { name: "Wiederherstellungsmarke", description: "Heilt 2% der maximalen KP pro Runde." },
"ENEMY_ATTACK_POISON_CHANCE": { name: "Giftmarke" },
"ENEMY_ATTACK_PARALYZE_CHANCE": { "name": "Lähmungsmarke" },
"ENEMY_ATTACK_BURN_CHANCE": { "name": "Brandmarke" },
- "ENEMY_STATUS_EFFECT_HEAL_CHANCE": { "name": "Vollheilungsmarke", "description": "Fügt eine 2,5%ige Chance hinzu, jede Runde einen Statuszustand zu heilen" },
+ "ENEMY_STATUS_EFFECT_HEAL_CHANCE": { "name": "Vollheilungsmarke", "description": "Fügt eine 2,5%ige Chance hinzu, jede Runde einen Statuszustand zu heilen." },
"ENEMY_ENDURE_CHANCE": { "name": "Ausdauer-Marke" },
- "ENEMY_FUSED_CHANCE": { "name": "Fusionsmarke", "description": "Fügt eine 1%ige Chance hinzu, dass ein wildes Pokémon eine Fusion ist" },
+ "ENEMY_FUSED_CHANCE": { "name": "Fusionsmarke", "description": "Fügt eine 1%ige Chance hinzu, dass ein wildes Pokémon eine Fusion ist." },
},
+ SpeciesBoosterItem: {
+ "LIGHT_BALL": { name: "Kugelblitz", description: "Ein Item, das von Pikachu getragen werden kann. Es erhöht den Angriff und den Spezial-Angriff." },
+ "THICK_CLUB": { name: "Kampfknochen", description: "Ein Item, das von Tragosso oder Knogga getragen werden kann. Dieser harte Knochen erhöht den Angriff." },
+ "METAL_POWDER": { name: "Metallstaub", description: "Ein Item, das von Ditto getragen werden kann. Fein und doch hart, erhöht dieses sonderbare Pulver die Verteidigung." },
+ "QUICK_POWDER": { name: "Flottstaub", description: "Ein Item, das Ditto zum Tragen gegeben werden kann. Fein und doch hart, erhöht dieses sonderbare Pulver die Initiative." }
+ },
TempBattleStatBoosterItem: {
"x_attack": "X-Angriff",
"x_defense": "X-Verteidigung",
@@ -245,6 +257,20 @@ export const modifierType: ModifierTypeTranslationEntries = {
"x_accuracy": "X-Treffer",
"dire_hit": "X-Volltreffer",
},
+
+ TempBattleStatBoosterStatName: {
+ "ATK": "Angriff",
+ "DEF": "Verteidigung",
+ "SPATK": "Sp. Ang",
+ "SPDEF": "Sp. Vert",
+ "SPD": "Initiative",
+ "ACC": "Genauigkeit",
+ "CRIT": "Volltrefferquote",
+ "EVA": "Fluchtwert",
+ "DEFAULT": "???",
+ },
+
+
AttackTypeBoosterItem: {
"silk_scarf": "Seidenschal",
"black_belt": "Schwarzgurt",
@@ -376,8 +402,8 @@ export const modifierType: ModifierTypeTranslationEntries = {
"N_SOLARIZER": "Necrosol",
"RUSTED_SWORD": "Rostiges Schwert",
"RUSTED_SHIELD": "Rostiges Schild",
- "ICY_REINS_OF_UNITY": "eisige Zügel des Bundes",
- "SHADOW_REINS_OF_UNITY": "schattige Zügel des Bundes",
+ "ICY_REINS_OF_UNITY": "Eisige Zügel des Bundes",
+ "SHADOW_REINS_OF_UNITY": "Schattige Zügel des Bundes",
"WELLSPRING_MASK": "Brunnenmaske",
"HEARTHFLAME_MASK": "Ofenmaske",
"CORNERSTONE_MASK": "Fundamentmaske",
@@ -385,5 +411,43 @@ export const modifierType: ModifierTypeTranslationEntries = {
"BURN_DRIVE": "Flammenmodul",
"CHILL_DRIVE": "Gefriermodul",
"DOUSE_DRIVE": "Aquamodul",
+
+ "FIST_PLATE": "Fausttafel",
+ "SKY_PLATE": "Wolkentafel",
+ "TOXIC_PLATE": "Gifttafel",
+ "EARTH_PLATE": "Erdtafel",
+ "STONE_PLATE": "Steintafel",
+ "INSECT_PLATE": "Käfertafel",
+ "SPOOKY_PLATE": "Spuktafel",
+ "IRON_PLATE": "Eisentafel",
+ "FLAME_PLATE": "Feuertafel",
+ "SPLASH_PLATE": "Wassertafel",
+ "MEADOW_PLATE": "Wiesentafel",
+ "ZAP_PLATE": "Blitztafel",
+ "MIND_PLATE": "Hirntafel",
+ "ICICLE_PLATE": "Frosttafel",
+ "DRACO_PLATE": "Dracotafel",
+ "DREAD_PLATE": "Furchttafel",
+ "PIXIE_PLATE": "Feentafel",
+ "BLANK_PLATE": "Neutraltafel",
+ "LEGEND_PLATE": "Legendentafel",
+ "FIGHTING_MEMORY": "Kampf-Disc",
+ "FLYING_MEMORY": "Flug-Disc",
+ "POISON_MEMORY": "Gift-Disc",
+ "GROUND_MEMORY": "Boden-Disc",
+ "ROCK_MEMORY": "Gesteins-Disc",
+ "BUG_MEMORY": "Käfer-Disc",
+ "GHOST_MEMORY": "Geister-Disc",
+ "STEEL_MEMORY": "Stahl-Disc",
+ "FIRE_MEMORY": "Feuer-Disc",
+ "WATER_MEMORY": "Wasser-Disc",
+ "GRASS_MEMORY": "Pflanzen-Disc",
+ "ELECTRIC_MEMORY": "Elektro-Disc",
+ "PSYCHIC_MEMORY": "Psycho-Disc",
+ "ICE_MEMORY": "Eis-Disc",
+ "DRAGON_MEMORY": "Drachen-Disc",
+ "DARK_MEMORY": "Unlicht-Disc",
+ "FAIRY_MEMORY": "Feen-Disc",
+ "BLANK_MEMORY": "Leere-Disc",
},
} as const;
diff --git a/src/locales/de/modifier.ts b/src/locales/de/modifier.ts
new file mode 100644
index 00000000000..c1a282ee5f1
--- /dev/null
+++ b/src/locales/de/modifier.ts
@@ -0,0 +1,12 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const modifier: SimpleTranslationEntries = {
+ "surviveDamageApply": "{{pokemonNameWithAffix}} hält mithilfe des Items {{typeName}} durch!",
+ "turnHealApply": "{{typeName}} von {{pokemonNameWithAffix}} füllt einige KP auf!",
+ "hitHealApply": "{{typeName}} von {{pokemonNameWithAffix}} füllt einige KP auf!",
+ "pokemonInstantReviveApply": "{{pokemonNameWithAffix}} wurde durch {{typeName}} wiederbelebt!",
+ "moneyInterestApply": "Du erhählst {{moneyAmount}} ₽ durch das Item {{typeName}}!",
+ "turnHeldItemTransferApply": "{{itemName}} von {{pokemonNameWithAffix}} wurde durch {{typeName}} von {{pokemonName}} absorbiert!",
+ "contactHeldItemTransferApply": "{{itemName}} von {{pokemonNameWithAffix}} wurde durch {{typeName}} von {{pokemonName}} geklaut!",
+ "enemyTurnHealApply": "{{pokemonNameWithAffix}} stellt einige KP wieder her!",
+} as const;
diff --git a/src/locales/de/move.ts b/src/locales/de/move.ts
index 3db3ea76aab..430b4f85ec3 100644
--- a/src/locales/de/move.ts
+++ b/src/locales/de/move.ts
@@ -1,4 +1,4 @@
-import { MoveTranslationEntries } from "#app/plugins/i18n";
+import { MoveTranslationEntries } from "#app/interfaces/locales";
export const move: MoveTranslationEntries = {
"pound": {
@@ -2931,7 +2931,7 @@ export const move: MoveTranslationEntries = {
},
"bouncyBubble": {
name: "Blubbsauger",
- effect: "Evoli greift mit Wasserblasen an. Evolis KP werden um die Hälfte des vom Wasser angerichteten Schadens geheilt."
+ effect: "Der Anwender greift mit Wasserblasen an. Seine KP werden in Höhe des vom Wasser angerichteten Schadens geheilt."
},
"buzzyBuzz": {
name: "Knisterladung",
diff --git a/src/locales/de/nature.ts b/src/locales/de/nature.ts
index 3b730dd0455..0156b8515df 100644
--- a/src/locales/de/nature.ts
+++ b/src/locales/de/nature.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const nature: SimpleTranslationEntries = {
"Hardy": "Robust",
diff --git a/src/locales/de/party-ui-handler.ts b/src/locales/de/party-ui-handler.ts
new file mode 100644
index 00000000000..604efb83628
--- /dev/null
+++ b/src/locales/de/party-ui-handler.ts
@@ -0,0 +1,53 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const partyUiHandler: SimpleTranslationEntries = {
+ "SEND_OUT": "Einwechseln",
+ "SUMMARY": "Bericht",
+ "CANCEL": "Abbrechen",
+ "RELEASE": "Freilassen",
+ "APPLY": "Anwenden",
+ "TEACH": "Erlernen",
+ "SPLICE": "Fusionieren",
+ "UNSPLICE": "Defusionieren",
+ "ACTIVATE": "Aktivieren",
+ "DEACTIVATE": "Deaktivieren",
+ "TRANSFER": "Übertragen",
+ "ALL": "Alle",
+ "PASS_BATON": "Stafette nutzen",
+ "UNPAUSE_EVOLUTION": "Entwicklung fortsetzen",
+ "REVIVE": "Wiederbeleben",
+
+ "choosePokemon": "Wähle ein Pokémon.",
+ "doWhatWithThisPokemon": "Was soll mit diesem Pokémon geschehen?",
+ "noEnergy": "{{pokemonName}} ist nicht fit genug, um zu kämpfen!",
+ "hasEnergy": "{{pokemonName}} steckt noch voller Energie",
+ "cantBeUsed": "{{pokemonName}} kann in dieser Herausforderung nicht verwendet werden!",
+ "tooManyItems": "{{pokemonName}} trägt bereits zu viele dieser Items!",
+ "anyEffect": "Das würde keine Wirkung zeigen.",
+ "unpausedEvolutions": "Entwicklungen für {{pokemonName}} wurden wieder aktiviert.",
+ "unspliceConfirmation": "Willst du wirklich {{fusionName}} von {{pokemonName}} defusionieren? {{fusionName}} wird freigelassen.",
+ "wasReverted": "{{fusionName}} verwandelt sich in {{pokemonName}} zurück.",
+ "releaseConfirmation": "Möchtest du {{pokemonName}} wirklich freilassen?",
+ "releaseInBattle": "Pokémon, die aktuell im Kampf sind, können nicht freigelassen werden.",
+ "selectAMove": "Wähle eine Attacke.",
+ "changeQuantity": "Wähle ein getragenes Item aus, das übertragen werden soll. Nutze < und > um die Anzahl zu ändern.",
+ "selectAnotherPokemonToSplice": "Wähle ein anderes Pokémon mit dem fusioniert werden soll aus.",
+ "cancel": "Abbrechen",
+
+ // Slot TM text
+ "able": "Erlernbar!",
+ "notAble": "Nicht erlernbar",
+ "learned": "Bereits erlernt!",
+
+ // Releasing messages
+ "goodbye": "Auf wiedersehen, {{pokemonName}}!",
+ "byebye": "Byebye, {{pokemonName}}!",
+ "farewell": "Mach’s gut, {{pokemonName}}!",
+ "soLong": "Bis dann, {{pokemonName}}!",
+ "thisIsWhereWePart": "Nun heißt es Abschied nehmen, {{pokemonName}}!",
+ "illMissYou": "Ich werde dich vermissen, {{pokemonName}}!",
+ "illNeverForgetYou": "Ich werde dich niemals vergessen, {{pokemonName}}!",
+ "untilWeMeetAgain": "Bis wir uns wiedersehen, {{pokemonName}}!",
+ "sayonara": "Sayonara, {{pokemonName}}!",
+ "smellYaLater": "Also dann, man riecht sich! Ciao!, {{pokemonName}}!",
+} as const;
diff --git a/src/locales/de/pokeball.ts b/src/locales/de/pokeball.ts
index 0b850b5c775..395134be844 100644
--- a/src/locales/de/pokeball.ts
+++ b/src/locales/de/pokeball.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const pokeball: SimpleTranslationEntries = {
"pokeBall": "Pokéball",
diff --git a/src/locales/de/pokemon-info-container.ts b/src/locales/de/pokemon-info-container.ts
index 41cca2d7dbb..1f82cf2cd83 100644
--- a/src/locales/de/pokemon-info-container.ts
+++ b/src/locales/de/pokemon-info-container.ts
@@ -1,11 +1,8 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const pokemonInfoContainer: SimpleTranslationEntries = {
"moveset": "Attacken",
"gender": "Geschlecht:",
"ability": "Fähigkeit:",
"nature": "Wesen:",
- "epic": "Episch",
- "rare": "Selten",
- "common": "Gewöhnlich"
} as const;
diff --git a/src/locales/de/pokemon-info.ts b/src/locales/de/pokemon-info.ts
index 203ad9e6e1e..08a23de2b3a 100644
--- a/src/locales/de/pokemon-info.ts
+++ b/src/locales/de/pokemon-info.ts
@@ -1,4 +1,4 @@
-import { PokemonInfoTranslationEntries } from "#app/plugins/i18n";
+import { PokemonInfoTranslationEntries } from "#app/interfaces/locales";
export const pokemonInfo: PokemonInfoTranslationEntries = {
Stat: {
@@ -14,6 +14,8 @@ export const pokemonInfo: PokemonInfoTranslationEntries = {
"SPDEFshortened": "SpVert",
"SPD": "Initiative",
"SPDshortened": "Init",
+ "ACC": "Genauigkeit",
+ "EVA": "Fluchtwert",
},
Type: {
diff --git a/src/locales/de/pokemon.ts b/src/locales/de/pokemon.ts
index 91b97052879..58a0439f5d5 100644
--- a/src/locales/de/pokemon.ts
+++ b/src/locales/de/pokemon.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const pokemon: SimpleTranslationEntries = {
"bulbasaur": "Bisasam",
@@ -283,7 +283,7 @@ export const pokemon: SimpleTranslationEntries = {
"ralts": "Trasla",
"kirlia": "Kirlia",
"gardevoir": "Gardevoir",
- "surskit": "Geweiher",
+ "surskit": "Gehweiher",
"masquerain": "Maskeregen",
"shroomish": "Knilz",
"breloom": "Kapilz",
diff --git a/src/locales/de/save-slot-select-ui-handler.ts b/src/locales/de/save-slot-select-ui-handler.ts
new file mode 100644
index 00000000000..b6577cd574a
--- /dev/null
+++ b/src/locales/de/save-slot-select-ui-handler.ts
@@ -0,0 +1,9 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const saveSlotSelectUiHandler: SimpleTranslationEntries = {
+ "overwriteData": "Den ausgewählten Speicherstand überschreiben?",
+ "loading": "Läd...",
+ "wave": "Welle",
+ "lv": "Lvl",
+ "empty": "Leer",
+} as const;
diff --git a/src/locales/de/settings.ts b/src/locales/de/settings.ts
new file mode 100644
index 00000000000..0254611b5d5
--- /dev/null
+++ b/src/locales/de/settings.ts
@@ -0,0 +1,99 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales.js";
+
+export const settings: SimpleTranslationEntries = {
+ "boy": "Junge",
+ "girl": "Mädchen",
+ "general": "Allgemein",
+ "display": "Anzeige",
+ "audio": "Audio",
+ "gamepad": "Controller",
+ "keyboard": "Tastatur",
+ "gameSpeed": "Spielgeschwindigkeit",
+ "hpBarSpeed": "KP-Balken Geschw.",
+ "expGainsSpeed": "EP-Balken Geschw.",
+ "expPartyDisplay": "Team-EP anzeigen",
+ "skipSeenDialogues": "Gesehenen Dialog überspringen",
+ "battleStyle": "Kampfstil",
+ "enableRetries": "Erneut versuchen aktivieren",
+ "tutorials": "Tutorials",
+ "touchControls": "Touch Steuerung",
+ "vibrations": "Vibration",
+ "normal": "Normal",
+ "fast": "Schnell",
+ "faster": "Schneller",
+ "skip": "Überspringen",
+ "levelUpNotifications": "Nur Lvl.-Up",
+ "on": "An",
+ "off": "Aus",
+ "switch": "Wechsel",
+ "set": "Folge",
+ "auto": "Auto",
+ "disabled": "Deaktiviert",
+ "language": "Sprache",
+ "change": "Ändern",
+ "uiTheme": "UI Thema",
+ "default": "Standard",
+ "legacy": "Legacy",
+ "windowType": "Fenster Typ",
+ "moneyFormat": "Währungsformat",
+ "damageNumbers": "Schadensnummern",
+ "simple": "Simpel",
+ "fancy": "Schön",
+ "abbreviated": "Abgekürzt",
+ "moveAnimations": "Attacken Animationen",
+ "showStatsOnLevelUp": "Werte beim Aufleveln anzeigen",
+ "candyUpgradeNotification": "Bonbon Upgrade Benachrichtigung",
+ "passivesOnly": "Nur Passive",
+ "candyUpgradeDisplay": "Bonbon Upgrade Anzeige",
+ "icon": "Icon",
+ "animation": "Animation",
+ "moveInfo": "Attacken-Info",
+ "showMovesetFlyout": "Zeige Attacken Flyout",
+ "showArenaFlyout": "Zeige Arena Flyout",
+ "showTimeOfDayWidget": "Zeige Tageszeit Widget",
+ "timeOfDayAnimation": "Tageszeit Animation",
+ "bounce": "Springen",
+ "timeOfDay_back": "Zurück",
+ "spriteSet": "Sprite Satz",
+ "consistent": "Konistent",
+ "mixedAnimated": "Gemischt animiert",
+ "fusionPaletteSwaps": "Fusion-Farbpalettenwechsel",
+ "playerGender": "Spielergeschlecht",
+ "typeHints": "Typhinweise",
+ "masterVolume": "Gesamtlautstärke",
+ "bgmVolume": "Hintergrundmusik",
+ "seVolume": "Spezialeffekte",
+ "musicPreference": "Musik Präferenz",
+ "mixed": "Gemischt",
+ "gamepadPleasePlug": "Bitte einen Controller anschließen oder eine Taste drücken.",
+ "delete": "Löschen",
+ "keyboardPleasePress": "Bitte eine Taste auf der Tastatur drücken.",
+ "reset": "Reset",
+ "requireReload": "Neuladen",
+ "action": "Aktion",
+ "back": "Zurück",
+ "pressToBind": "Zum Zuweisen drücken",
+ "pressButton": "Eine Taste drücken...",
+ "buttonUp": "Hoch",
+ "buttonDown": "Runter",
+ "buttonLeft": "Links",
+ "buttonRight": "Rechts",
+ "buttonAction": "Aktion",
+ "buttonMenu": "Menü",
+ "buttonSubmit": "Bestätigen",
+ "buttonCancel": "Abbrechen",
+ "buttonStats": "Statuswerte",
+ "buttonCycleForm": "Form wechseln",
+ "buttonCycleShiny": "Schillernd wechseln",
+ "buttonCycleGender": "Geschlecht wechseln",
+ "buttonCycleAbility": "Fähigkeit wechseln",
+ "buttonCycleNature": "Wesen wechseln",
+ "buttonCycleVariant": "Variante wechseln",
+ "buttonSpeedUp": "Beschleunigen",
+ "buttonSlowDown": "Verlangsamen",
+ "alt": " (Alt)",
+ "mute": "Stumm",
+ "controller": "Controller",
+ "gamepadSupport": "Controllerunterstützung",
+ "showBgmBar": "Musiknamen anzeigen",
+} as const;
diff --git a/src/locales/de/splash-messages.ts b/src/locales/de/splash-messages.ts
index fda502120e0..f5ab8572b7b 100644
--- a/src/locales/de/splash-messages.ts
+++ b/src/locales/de/splash-messages.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const splashMessages: SimpleTranslationEntries = {
"battlesWon": "Kämpfe gewonnen!",
diff --git a/src/locales/de/starter-select-ui-handler.ts b/src/locales/de/starter-select-ui-handler.ts
index bae094563cb..92ead61ebe7 100644
--- a/src/locales/de/starter-select-ui-handler.ts
+++ b/src/locales/de/starter-select-ui-handler.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
/**
* The menu namespace holds most miscellaneous text that isn't directly part of the game's
@@ -21,21 +21,23 @@ export const starterSelectUiHandler: SimpleTranslationEntries = {
"passive": "Passiv:",
"nature": "Wesen:",
"eggMoves": "Ei-Attacken",
- "start": "Start",
"addToParty": "Zum Team hinzufügen",
"toggleIVs": "DVs anzeigen/verbergen",
"manageMoves": "Attacken ändern",
+ "manageNature": "Wesen ändern",
"useCandies": "Bonbons verwenden",
+ "selectNature": "Wähle das neue Wesen.",
"selectMoveSwapOut": "Wähle die zu ersetzende Attacke.",
"selectMoveSwapWith": "Wähle die gewünschte Attacke.",
"unlockPassive": "Passiv-Skill freischalten",
"reduceCost": "Preis reduzieren",
- "cycleShiny": "R: Schillernd Ja/Nein",
- "cycleForm": "F: Form ändern",
- "cycleGender": "G: Geschlecht ändern",
- "cycleAbility": "E: Fähigkeit ändern",
- "cycleNature": "N: Wesen Ändern",
- "cycleVariant": "V: Seltenheit ändern",
+ "sameSpeciesEgg": "Ein Ei kaufen",
+ "cycleShiny": ": Schillernd",
+ "cycleForm": ": Form",
+ "cycleGender": ": Geschlecht",
+ "cycleAbility": ": Fähigkeit",
+ "cycleNature": ": Wesen",
+ "cycleVariant": ": Seltenheit",
"enablePassive": "Passiv-Skill aktivieren",
"disablePassive": "Passiv-Skill deaktivieren",
"locked": "Gesperrt",
diff --git a/src/locales/de/status-effect.ts b/src/locales/de/status-effect.ts
new file mode 100644
index 00000000000..997d005987e
--- /dev/null
+++ b/src/locales/de/status-effect.ts
@@ -0,0 +1,67 @@
+import { StatusEffectTranslationEntries } from "#app/interfaces/locales.js";
+
+export const statusEffect: StatusEffectTranslationEntries = {
+ none: {
+ name: "None",
+ description: "",
+ obtain: "",
+ obtainSource: "",
+ activation: "",
+ overlap: "",
+ heal: ""
+ },
+ poison: {
+ name: "Gift",
+ description: "Vergiftungen",
+ obtain: "{{pokemonNameWithAffix}} wurde vergiftet!",
+ obtainSource: "{{pokemonNameWithAffix}} wurde durch {{sourceText}} vergiftet!",
+ activation: "{{pokemonNameWithAffix}} wird durch Gift verletzt!",
+ overlap: "{{pokemonNameWithAffix}} ist bereits vergiftet!",
+ heal: "Die Vergiftung von {{pokemonNameWithAffix}} wurde geheilt!"
+ },
+ toxic: {
+ name: "Gift",
+ description: "Vergiftungen",
+ obtain: "{{pokemonNameWithAffix}} wurde schwer vergiftet!",
+ obtainSource: "{{pokemonNameWithAffix}} wurde durch {{sourceText}} schwer vergiftet!",
+ activation: "{{pokemonNameWithAffix}} wird durch Gift verletzt!",
+ overlap: "{{pokemonNameWithAffix}} ist bereits vergiftet!",
+ heal: "Die Vergiftung von {{pokemonNameWithAffix}} wurde geheilt!"
+ },
+ paralysis: {
+ name: "Paralyse",
+ description: "Paralyse",
+ obtain: "{{pokemonNameWithAffix}} wurde paralysiert!\nEs kann eventuell nicht handeln!",
+ obtainSource: "{{pokemonNameWithAffix}} wurde durch {{sourceText}} paralysiert,\nEs kann eventuell nicht handeln!",
+ activation: "{{pokemonNameWithAffix}}ist paralysiert!\nEs kann nicht angreifen!",
+ overlap: "{{pokemonNameWithAffix}} ist bereits paralysiert!",
+ heal: "Die Paralyse von {{pokemonNameWithAffix}} wurde aufgehoben!"
+ },
+ sleep: {
+ name: "Schlaf",
+ description: "Einschlafen",
+ obtain: "{{pokemonNameWithAffix}} ist eingeschlafen!",
+ obtainSource: "{{pokemonNameWithAffix}}ist durch {{sourceText}} eingeschlafen!",
+ activation: "{{pokemonNameWithAffix}} schläft tief und fest!",
+ overlap: "{{pokemonNameWithAffix}} schläft bereits!",
+ heal: "{{pokemonNameWithAffix}} ist aufgewacht!"
+ },
+ freeze: {
+ name: "Gefroren",
+ description: "Einfrieren",
+ obtain: "{{pokemonNameWithAffix}} erstarrt zu Eis!",
+ obtainSource: "{{pokemonNameWithAffix}} erstarrt durch {{sourceText}} zu Eis!",
+ activation: "{{pokemonNameWithAffix}} ist eingefroren und kann nicht handeln!",
+ overlap: "{{pokemonNameWithAffix}} ist bereits eingefroren!",
+ heal: "{{pokemonNameWithAffix}} wurde aufgetaut!"
+ },
+ burn: {
+ name: "Verbrennung ",
+ description: "Verbrennungen",
+ obtain: "{{pokemonNameWithAffix}} erleidet Verbrennungen!",
+ obtainSource: "{{pokemonNameWithAffix}} erleidet durch {{sourceText}} Verbrennungen!",
+ activation: "Die Verbrennungen schaden {{pokemonNameWithAffix}}!",
+ overlap: "{{pokemonNameWithAffix}} leidet bereits unter Verbrennungen!",
+ heal: "Die Verbrennungen von {{pokemonNameWithAffix}} wurden geheilt!"
+ },
+} as const;
diff --git a/src/locales/de/trainers.ts b/src/locales/de/trainers.ts
index 6ac1abbcabf..1390bf410ae 100644
--- a/src/locales/de/trainers.ts
+++ b/src/locales/de/trainers.ts
@@ -1,4 +1,4 @@
-import {SimpleTranslationEntries} from "#app/plugins/i18n";
+import {SimpleTranslationEntries} from "#app/interfaces/locales";
// Titles of special trainers like gym leaders, elite four, and the champion
export const titles: SimpleTranslationEntries = {
@@ -13,6 +13,12 @@ export const titles: SimpleTranslationEntries = {
"rival": "Rivale",
"professor": "Professor",
"frontier_brain": "Kampfkoryphäen",
+ "rocket_boss": "Rocket-Boss",
+ "magma_boss": "Magma-Boss",
+ "aqua_boss": "Aqua-Boss",
+ "galactic_boss": "Galaktik-Boss",
+ "plasma_boss": "Weiser von Team Plasma", // This is on purpose, since "Ghetsis" is never mentioned as the boss of team plasma in the game but as "Weiser"
+ "flare_boss": "Flare-Boss",
// Maybe if we add the evil teams we can add "Team Rocket" and "Team Aqua" etc. here as well as "Team Rocket Boss" and "Team Aqua Admin" etc.
} as const;
@@ -87,14 +93,15 @@ export const trainerClasses: SimpleTranslationEntries = {
"pokémon_rangers": "Pokémon-Ranger",
"ranger": "Ranger",
"restaurant_staff": "Restaurant Angestellte",
- "rich": "Rich",
- "rich_female": "Rich",
+ "rich": "Gentleman",
+ "rich_female": "Reiche Dame",
"rich_boy": "Schnösel",
"rich_couple": "Reiches Paar",
- "rich_kid": "Rich Kid",
- "rich_kid_female": "Rich Kid",
+ "rich_kid": "Schnösel",
+ "rich_kid_female": "Schnöselin",
"rich_kids": "Schnösel",
"roughneck": "Raufbold",
+ "sailor": "Matrose",
"scientist": "Forscher",
"scientist_female": "Forscherin",
"scientists": "Forscher",
@@ -117,7 +124,25 @@ export const trainerClasses: SimpleTranslationEntries = {
"worker": "Arbeiter",
"worker_female": "Arbeiterin",
"workers": "Arbeiter",
- "youngster": "Knirps"
+ "youngster": "Knirps",
+ "rocket_grunt": "Rüpel von Team Rocket",
+ "rocket_grunt_female": "Rüpel von Team Rocket",
+ "rocket_grunts": "Rüpel von Team Rocket",
+ "magma_grunt": "Rüpel von Team Magma",
+ "magma_grunt_female": "Rüpel von Team Magma",
+ "magma_grunts": "Rüpel von Team Magma",
+ "aqua_grunt": "Rüpel von Team Aqua",
+ "aqua_grunt_female": "Rüpel von Team Aqua",
+ "aqua_grunts": "Rüpel von Team Aqua",
+ "galactic_grunt": "Rüpel von Team Galaktik",
+ "galactic_grunt_female": "Rüpel von Team Galaktik",
+ "galactic_grunts": "Rüpel von Team Galaktik",
+ "plasma_grunt": "Rüpel von Team Plasma",
+ "plasma_grunt_female": "Rüpel von Team Plasma",
+ "plasma_grunts": "Rüpel von Team Plasma",
+ "flare_grunt": "Rüpel von Team Flare",
+ "flare_grunt_female": "Rüpel von Team Flare",
+ "flare_grunts": "Rüpel von Team Flare",
} as const;
// Names of special trainers like gym leaders, elite four, and the champion
@@ -246,6 +271,11 @@ export const trainerNames: SimpleTranslationEntries = {
"leon": "Delion",
"rival": "Finn",
"rival_female": "Ivy",
+ "maxie": "Marc",
+ "archie": "Adrian",
+ "cyrus": "Zyrus",
+ "ghetsis": "G-Cis",
+ "lysandre": "Flordelis",
// Double Names
"blue_red_double": "Blau & Rot",
diff --git a/src/locales/de/tutorial.ts b/src/locales/de/tutorial.ts
index 2f27cb10d61..0b02c6c0922 100644
--- a/src/locales/de/tutorial.ts
+++ b/src/locales/de/tutorial.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const tutorial: SimpleTranslationEntries = {
"intro": `Willkommen bei PokéRogue! Dies ist ein kampforientiertes Pokémon-Fangame mit Roguelite-Elementen.
diff --git a/src/locales/de/voucher.ts b/src/locales/de/voucher.ts
index 80e22931982..3ca01689875 100644
--- a/src/locales/de/voucher.ts
+++ b/src/locales/de/voucher.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const voucher: SimpleTranslationEntries = {
"vouchers": "Gutscheine",
diff --git a/src/locales/de/weather.ts b/src/locales/de/weather.ts
index f6a6864bec7..8a820f3d549 100644
--- a/src/locales/de/weather.ts
+++ b/src/locales/de/weather.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
/**
* The weather namespace holds text displayed when weather is active during a battle
@@ -15,12 +15,12 @@ export const weather: SimpleTranslationEntries = {
"sandstormStartMessage": "Ein Sandsturm kommt auf!",
"sandstormLapseMessage": "Der Sandsturm tobt.",
"sandstormClearMessage": "Der Sandsturm legt sich.",
- "sandstormDamageMessage": " Der Sandsturm fügt {{pokemonPrefix}}{{pokemonName}} Schaden zu!",
+ "sandstormDamageMessage": " Der Sandsturm fügt {{pokemonNameWithAffix}} Schaden zu!",
"hailStartMessage": "Es fängt an zu hageln!",
"hailLapseMessage": "Der Hagelsturm tobt.",
"hailClearMessage": "Der Hagelsturm legt sich.",
- "hailDamageMessage": "{{pokemonPrefix}}{{pokemonName}} wird von Hagelkörnern getroffen!",
+ "hailDamageMessage": "{{pokemonNameWithAffix}} wird von Hagelkörnern getroffen!",
"snowStartMessage": "Es fängt an zu schneien!",
"snowLapseMessage": "Der Schneesturm tobt.",
@@ -40,5 +40,27 @@ export const weather: SimpleTranslationEntries = {
"strongWindsStartMessage": "Alle Flug-Pokémon werden von rätselhaften Luftströmungen geschützt!",
"strongWindsLapseMessage": "Die rätselhafte Luftströmung hält an.",
+ "strongWindsEffectMessage": "Rätselhafte Luftströmungen haben den Angriff abgeschwächt!",
"strongWindsClearMessage": "Die rätselhafte Luftströmung hat sich wieder geleget.",
};
+
+export const terrain: SimpleTranslationEntries = {
+ "misty": "Nebelfeld",
+ "mistyStartMessage": "Am Boden breitet sich dichter Nebel aus!",
+ "mistyClearMessage": "Das Nebelfeld ist wieder verschwunden!",
+ "mistyBlockMessage": "{{pokemonNameWithAffix}} wird vom Nebelfeld geschützt!",
+
+ "electric": "Elektrofeld",
+ "electricStartMessage": "Elektrische Energie fließt durch den Boden!",
+ "electricClearMessage": "Das Elektrofeld ist wieder verschwunden!",
+
+ "grassy": "Grasfeld",
+ "grassyStartMessage": "Dichtes Gras schießt aus dem Boden!",
+ "grassyClearMessage": "Das Grasfeld ist wieder verschwunden!",
+
+ "psychic": "Psychofeld",
+ "psychicStartMessage": "Der Boden fühlt sich seltsam an!",
+ "psychicClearMessage": "Das Psychofeld ist wieder verschwunden!",
+
+ "defaultBlockMessage": "{{pokemonNameWithAffix}} wird vom {{terrainName}} geschützt!"
+};
diff --git a/src/locales/en/ability-trigger.ts b/src/locales/en/ability-trigger.ts
index b6e4c7c67fd..b516bc8dde0 100644
--- a/src/locales/en/ability-trigger.ts
+++ b/src/locales/en/ability-trigger.ts
@@ -1,9 +1,13 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const abilityTriggers: SimpleTranslationEntries = {
- "blockRecoilDamage" : "{{pokemonName}}'s {{abilityName}}\nprotected it from recoil!",
+ "blockRecoilDamage": "{{pokemonName}}'s {{abilityName}}\nprotected it from recoil!",
"badDreams": "{{pokemonName}} is tormented!",
- "windPowerCharged": "Being hit by {{moveName}} charged {{pokemonName}} with power!",
+ "costar": "{{pokemonName}} copied {{allyName}}'s stat changes!",
+ "iceFaceAvoidedDamage": "{{pokemonName}} avoided\ndamage with {{abilityName}}!",
"perishBody": "{{pokemonName}}'s {{abilityName}}\nwill faint both pokemon in 3 turns!",
- "poisonHeal": "{{pokemonName}}'s {{abilityName}}\nrestored its HP a little!"
+ "poisonHeal": "{{pokemonName}}'s {{abilityName}}\nrestored its HP a little!",
+ "trace": "{{pokemonName}} copied {{targetName}}'s\n{{abilityName}}!",
+ "windPowerCharged": "Being hit by {{moveName}} charged {{pokemonName}} with power!",
+ "quickDraw": "{{pokemonName}} can act faster than normal, thanks to its Quick Draw!",
} as const;
diff --git a/src/locales/en/ability.ts b/src/locales/en/ability.ts
index aff5d95405e..7e81f90afff 100644
--- a/src/locales/en/ability.ts
+++ b/src/locales/en/ability.ts
@@ -1,4 +1,4 @@
-import { AbilityTranslationEntries } from "#app/plugins/i18n.js";
+import { AbilityTranslationEntries } from "#app/interfaces/locales.js";
export const ability: AbilityTranslationEntries = {
stench: {
diff --git a/src/locales/en/achv.ts b/src/locales/en/achv.ts
index 42b1995bcde..bff75344ea5 100644
--- a/src/locales/en/achv.ts
+++ b/src/locales/en/achv.ts
@@ -1,6 +1,7 @@
-import { AchievementTranslationEntries } from "#app/plugins/i18n.js";
+import { AchievementTranslationEntries } from "#app/interfaces/locales.js";
-export const achv: AchievementTranslationEntries = {
+// Achievement translations for the when the player character is male
+export const PGMachv: AchievementTranslationEntries = {
"Achievements": {
name: "Achievements",
},
@@ -168,4 +169,102 @@ export const achv: AchievementTranslationEntries = {
name: "Undefeated",
description: "Beat the game in classic mode",
},
+
+ "MONO_GEN_ONE": {
+ name: "The Original Rival",
+ description: "Complete the generation one only challenge.",
+ },
+ "MONO_GEN_TWO": {
+ name: "Generation 1.5",
+ description: "Complete the generation two only challenge.",
+ },
+ "MONO_GEN_THREE": {
+ name: "Too much water?",
+ description: "Complete the generation three only challenge.",
+ },
+ "MONO_GEN_FOUR": {
+ name: "Is she really the hardest?",
+ description: "Complete the generation four only challenge.",
+ },
+ "MONO_GEN_FIVE": {
+ name: "All Original",
+ description: "Complete the generation five only challenge.",
+ },
+ "MONO_GEN_SIX": {
+ name: "Almost Royalty",
+ description: "Complete the generation six only challenge.",
+ },
+ "MONO_GEN_SEVEN": {
+ name: "Only Technically",
+ description: "Complete the generation seven only challenge.",
+ },
+ "MONO_GEN_EIGHT": {
+ name: "A Champion Time!",
+ description: "Complete the generation eight only challenge.",
+ },
+ "MONO_GEN_NINE": {
+ name: "She was going easy on you",
+ description: "Complete the generation nine only challenge.",
+ },
+
+ "MonoType": {
+ description: "Complete the {{type}} monotype challenge.",
+ },
+ "MONO_NORMAL": {
+ name: "Extra Ordinary",
+ },
+ "MONO_FIGHTING": {
+ name: "I Know Kung Fu",
+ },
+ "MONO_FLYING": {
+ name: "Angry Birds",
+ },
+ "MONO_POISON": {
+ name: "Kanto's Favourite",
+ },
+ "MONO_GROUND": {
+ name: "Forecast: Earthquakes",
+ },
+ "MONO_ROCK": {
+ name: "Brock Hard",
+ },
+ "MONO_BUG": {
+ name: "You Like Jazz?",
+ },
+ "MONO_GHOST": {
+ name: "Who You Gonna Call?",
+ },
+ "MONO_STEEL": {
+ name: "Iron Giant",
+ },
+ "MONO_FIRE": {
+ name: "I Cast Fireball!",
+ },
+ "MONO_WATER": {
+ name: "When It Rains, It Pours",
+ },
+ "MONO_GRASS": {
+ name: "Can't Touch This",
+ },
+ "MONO_ELECTRIC": {
+ name: "Aim For The Horn!",
+ },
+ "MONO_PSYCHIC": {
+ name: "Big Brain Energy",
+ },
+ "MONO_ICE": {
+ name: "Walking On Thin Ice",
+ },
+ "MONO_DRAGON": {
+ name: "Pseudo-Legend Club",
+ },
+ "MONO_DARK": {
+ name: "It's Just A Phase",
+ },
+ "MONO_FAIRY": {
+ name: "Hey! Listen!",
+ },
} as const;
+
+// Achievement translations for the when the player character is female (it for now uses the same translations as the male version)
+export const PGFachv: AchievementTranslationEntries = PGMachv;
diff --git a/src/locales/en/battle-message-ui-handler.ts b/src/locales/en/battle-message-ui-handler.ts
index 6f09770808f..c213c666a26 100644
--- a/src/locales/en/battle-message-ui-handler.ts
+++ b/src/locales/en/battle-message-ui-handler.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const battleMessageUiHandler: SimpleTranslationEntries = {
"ivBest": "Best",
@@ -7,4 +7,4 @@ export const battleMessageUiHandler: SimpleTranslationEntries = {
"ivPrettyGood": "Pretty Good",
"ivDecent": "Decent",
"ivNoGood": "No Good",
-} as const;
+} as const;
diff --git a/src/locales/en/battle.ts b/src/locales/en/battle.ts
index a3fa41d9b76..c7e2ef96be4 100644
--- a/src/locales/en/battle.ts
+++ b/src/locales/en/battle.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const battle: SimpleTranslationEntries = {
"bossAppeared": "{{bossName}} appeared.",
@@ -14,7 +14,9 @@ export const battle: SimpleTranslationEntries = {
"switchQuestion": "Will you switch\n{{pokemonName}}?",
"trainerDefeated": "You defeated\n{{trainerName}}!",
"moneyWon": "You got\n₽{{moneyAmount}} for winning!",
+ "moneyPickedUp": "You picked up ₽{{moneyAmount}}!",
"pokemonCaught": "{{pokemonName}} was caught!",
+ "addedAsAStarter": "{{pokemonName}} has been\nadded as a starter!",
"partyFull": "Your party is full.\nRelease a Pokémon to make room for {{pokemonName}}?",
"pokemon": "Pokémon",
"sendOutPokemon": "Go! {{pokemonName}}!",
@@ -24,7 +26,9 @@ export const battle: SimpleTranslationEntries = {
"hitResultNoEffect": "It doesn't affect {{pokemonName}}!",
"hitResultOneHitKO": "It's a one-hit KO!",
"attackFailed": "But it failed!",
+ "attackMissed": "{{pokemonNameWithAffix}} avoided the attack!",
"attackHitsCount": "Hit {{count}} time(s)!",
+ "rewardGain": "You received\n{{modifierName}}!",
"expGain": "{{pokemonName}} gained\n{{exp}} EXP. Points!",
"levelUp": "{{pokemonName}} grew to\nLv. {{level}}!",
"learnMove": "{{pokemonName}} learned\n{{moveName}}!",
@@ -53,9 +57,82 @@ export const battle: SimpleTranslationEntries = {
"escapeVerbSwitch": "switching",
"escapeVerbFlee": "fleeing",
"notDisabled": "{{pokemonName}}'s {{moveName}} is disabled\nno more!",
+ "turnEndHpRestore": "{{pokemonName}}'s HP was restored.",
+ "hpIsFull": "{{pokemonName}}'s\nHP is full!",
"skipItemQuestion": "Are you sure you want to skip taking an item?",
"eggHatching": "Oh?",
"ivScannerUseQuestion": "Use IV Scanner on {{pokemonName}}?",
+ "wildPokemonWithAffix": "Wild {{pokemonName}}",
+ "foePokemonWithAffix": "Foe {{pokemonName}}",
+ "useMove": "{{pokemonNameWithAffix}} used {{moveName}}!",
"drainMessage": "{{pokemonName}} had its\nenergy drained!",
- "regainHealth": "{{pokemonName}} regained\nhealth!"
+ "regainHealth": "{{pokemonName}} regained\nhealth!",
+ "stealEatBerry": "{{pokemonName}} stole and ate\n{{targetName}}'s {{berryName}}!",
+ "fainted": "{{pokemonNameWithAffix}} fainted!",
+ "statRose": "{{pokemonNameWithAffix}}'s {{stats}} rose!",
+ "statSharplyRose": "{{pokemonNameWithAffix}}'s {{stats}} sharply rose!",
+ "statRoseDrastically": "{{pokemonNameWithAffix}}'s {{stats}} rose drastically!",
+ "statWontGoAnyHigher": "{{pokemonNameWithAffix}}'s {{stats}} won't go any higher!",
+ "statFell": "{{pokemonNameWithAffix}}'s {{stats}} fell!",
+ "statHarshlyFell": "{{pokemonNameWithAffix}}'s {{stats}} harshly fell!",
+ "statSeverelyFell": "{{pokemonNameWithAffix}}'s {{stats}} severely fell!",
+ "statWontGoAnyLower": "{{pokemonNameWithAffix}}'s {{stats}} won't go any lower!",
+ "ppReduced": "It reduced the PP of {{targetName}}'s\n{{moveName}} by {{reduction}}!",
+ "battlerTagsRechargingLapse": "{{pokemonNameWithAffix}} must\nrecharge!",
+ "battlerTagsTrappedOnAdd": "{{pokemonNameWithAffix}} can no\nlonger escape!",
+ "battlerTagsTrappedOnRemove": "{{pokemonNameWithAffix}} was freed\nfrom {{moveName}}!",
+ "battlerTagsFlinchedLapse": "{{pokemonNameWithAffix}} flinched!",
+ "battlerTagsConfusedOnAdd": "{{pokemonNameWithAffix}} became\nconfused!",
+ "battlerTagsConfusedOnRemove": "{{pokemonNameWithAffix}} snapped\nout of confusion!",
+ "battlerTagsConfusedOnOverlap": "{{pokemonNameWithAffix}} is\nalready confused!",
+ "battlerTagsConfusedLapse": "{{pokemonNameWithAffix}} is\nconfused!",
+ "battlerTagsConfusedLapseHurtItself": "It hurt itself in its\nconfusion!",
+ "battlerTagsDestinyBondLapseIsBoss": "{{pokemonNameWithAffix}} is unaffected\nby the effects of Destiny Bond.",
+ "battlerTagsDestinyBondLapse": "{{pokemonNameWithAffix}} took\n{{pokemonNameWithAffix2}} down with it!",
+ "battlerTagsInfatuatedOnAdd": "{{pokemonNameWithAffix}} fell in love\nwith {{sourcePokemonName}}!",
+ "battlerTagsInfatuatedOnOverlap": "{{pokemonNameWithAffix}} is\nalready in love!",
+ "battlerTagsInfatuatedLapse": "{{pokemonNameWithAffix}} is in love\nwith {{sourcePokemonName}}!",
+ "battlerTagsInfatuatedLapseImmobilize": "{{pokemonNameWithAffix}} is\nimmobilized by love!",
+ "battlerTagsInfatuatedOnRemove": "{{pokemonNameWithAffix}} got over\nits infatuation.",
+ "battlerTagsSeededOnAdd": "{{pokemonNameWithAffix}} was seeded!",
+ "battlerTagsSeededLapse": "{{pokemonNameWithAffix}}'s health is\nsapped by Leech Seed!",
+ "battlerTagsSeededLapseShed": "{{pokemonNameWithAffix}}'s Leech Seed\nsucked up the liquid ooze!",
+ "battlerTagsNightmareOnAdd": "{{pokemonNameWithAffix}} began\nhaving a Nightmare!",
+ "battlerTagsNightmareOnOverlap": "{{pokemonNameWithAffix}} is\nalready locked in a Nightmare!",
+ "battlerTagsNightmareLapse": "{{pokemonNameWithAffix}} is locked\nin a Nightmare!",
+ "battlerTagsEncoreOnAdd": "{{pokemonNameWithAffix}} got\nan Encore!",
+ "battlerTagsEncoreOnRemove": "{{pokemonNameWithAffix}}'s Encore\nended!",
+ "battlerTagsHelpingHandOnAdd": "{{pokemonNameWithAffix}} is ready to\nhelp {{pokemonName}}!",
+ "battlerTagsIngrainLapse": "{{pokemonNameWithAffix}} absorbed\nnutrients with its roots!",
+ "battlerTagsIngrainOnTrap": "{{pokemonNameWithAffix}} planted its roots!",
+ "battlerTagsAquaRingOnAdd": "{{pokemonNameWithAffix}} surrounded\nitself with a veil of water!",
+ "battlerTagsAquaRingLapse": "{{moveName}} restored\n{{pokemonName}}'s HP!",
+ "battlerTagsDrowsyOnAdd": "{{pokemonNameWithAffix}} grew drowsy!",
+ "battlerTagsDamagingTrapLapse": "{{pokemonNameWithAffix}} is hurt\nby {{moveName}}!",
+ "battlerTagsBindOnTrap": "{{pokemonNameWithAffix}} was squeezed by\n{{sourcePokemonName}}'s {{moveName}}!",
+ "battlerTagsWrapOnTrap": "{{pokemonNameWithAffix}} was Wrapped\nby {{sourcePokemonName}}!",
+ "battlerTagsVortexOnTrap": "{{pokemonNameWithAffix}} was trapped\nin the vortex!",
+ "battlerTagsClampOnTrap": "{{sourcePokemonNameWithAffix}} Clamped\n{{pokemonName}}!",
+ "battlerTagsSandTombOnTrap": "{{pokemonNameWithAffix}} became trapped\nby {{moveName}}!",
+ "battlerTagsMagmaStormOnTrap": "{{pokemonNameWithAffix}} became trapped\nby swirling magma!",
+ "battlerTagsSnapTrapOnTrap": "{{pokemonNameWithAffix}} got trapped\nby a snap trap!",
+ "battlerTagsThunderCageOnTrap": "{{sourcePokemonNameWithAffix}} trapped\n{{pokemonNameWithAffix}}!",
+ "battlerTagsInfestationOnTrap": "{{pokemonNameWithAffix}} has been afflicted \nwith an infestation by {{sourcePokemonNameWithAffix}}!",
+ "battlerTagsProtectedOnAdd": "{{pokemonNameWithAffix}}\nprotected itself!",
+ "battlerTagsProtectedLapse": "{{pokemonNameWithAffix}}\nprotected itself!",
+ "battlerTagsEnduringOnAdd": "{{pokemonNameWithAffix}} braced\nitself!",
+ "battlerTagsEnduringLapse": "{{pokemonNameWithAffix}} endured\nthe hit!",
+ "battlerTagsSturdyLapse": "{{pokemonNameWithAffix}} endured\nthe hit!",
+ "battlerTagsPerishSongLapse": "{{pokemonNameWithAffix}}'s perish count fell to {{turnCount}}.",
+ "battlerTagsTruantLapse": "{{pokemonNameWithAffix}} is\nloafing around!",
+ "battlerTagsSlowStartOnAdd": "{{pokemonNameWithAffix}} can't\nget it going!",
+ "battlerTagsSlowStartOnRemove": "{{pokemonNameWithAffix}} finally\ngot its act together!",
+ "battlerTagsHighestStatBoostOnAdd": "{{pokemonNameWithAffix}}'s {{statName}}\nwas heightened!",
+ "battlerTagsHighestStatBoostOnRemove": "The effects of {{pokemonNameWithAffix}}'s\n{{abilityName}} wore off!",
+ "battlerTagsCritBoostOnAdd": "{{pokemonNameWithAffix}} is getting\npumped!",
+ "battlerTagsCritBoostOnRemove": "{{pokemonNameWithAffix}} relaxed.",
+ "battlerTagsSaltCuredOnAdd": "{{pokemonNameWithAffix}} is being salt cured!",
+ "battlerTagsSaltCuredLapse": "{{pokemonNameWithAffix}} is hurt by {{moveName}}!",
+ "battlerTagsCursedOnAdd": "{{pokemonNameWithAffix}} cut its own HP and put a curse on the {{pokemonName}}!",
+ "battlerTagsCursedLapse": "{{pokemonNameWithAffix}} is afflicted by the Curse!"
} as const;
diff --git a/src/locales/en/berry.ts b/src/locales/en/berry.ts
index 1063b84046d..3c4930b1591 100644
--- a/src/locales/en/berry.ts
+++ b/src/locales/en/berry.ts
@@ -1,4 +1,4 @@
-import { BerryTranslationEntries } from "#app/plugins/i18n";
+import { BerryTranslationEntries } from "#app/interfaces/locales";
export const berry: BerryTranslationEntries = {
"SITRUS": {
diff --git a/src/locales/en/bgm-name.ts b/src/locales/en/bgm-name.ts
new file mode 100644
index 00000000000..87d90dabc9d
--- /dev/null
+++ b/src/locales/en/bgm-name.ts
@@ -0,0 +1,145 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const bgmName: SimpleTranslationEntries = {
+ "music": "Music: ",
+ "missing_entries" : "{{name}}",
+ "battle_kanto_champion": "B2W2 Kanto Champion Battle",
+ "battle_johto_champion": "B2W2 Johto Champion Battle",
+ "battle_hoenn_champion": "B2W2 Hoenn Champion Battle",
+ "battle_sinnoh_champion": "B2W2 Sinnoh Champion Battle",
+ "battle_champion_alder": "BW Unova Champion Battle",
+ "battle_champion_iris": "B2W2 Unova Champion Battle",
+ "battle_kalos_champion": "XY Kalos Champion Battle",
+ "battle_alola_champion": "USUM Alola Champion Battle",
+ "battle_galar_champion": "SWSH Galar Champion Battle",
+ "battle_champion_geeta": "SV Champion Geeta Battle",
+ "battle_champion_nemona": "SV Champion Nemona Battle",
+ "battle_champion_kieran": "SV Champion Kieran Battle",
+ "battle_hoenn_elite": "ORAS Elite Four Battle",
+ "battle_unova_elite": "BW Elite Four Battle",
+ "battle_kalos_elite": "XY Elite Four Battle",
+ "battle_alola_elite": "SM Elite Four Battle",
+ "battle_galar_elite": "SWSH League Tournament Battle",
+ "battle_paldea_elite": "SV Elite Four Battle",
+ "battle_bb_elite": "SV BB League Elite Four Battle",
+ "battle_final_encounter": "PMD RTDX Rayquaza's Domain",
+ "battle_final": "BW Ghetsis Battle",
+ "battle_kanto_gym": "B2W2 Kanto Gym Battle",
+ "battle_johto_gym": "B2W2 Johto Gym Battle",
+ "battle_hoenn_gym": "B2W2 Hoenn Gym Battle",
+ "battle_sinnoh_gym": "B2W2 Sinnoh Gym Battle",
+ "battle_unova_gym": "BW Unova Gym Battle",
+ "battle_kalos_gym": "XY Kalos Gym Battle",
+ "battle_galar_gym": "SWSH Galar Gym Battle",
+ "battle_paldea_gym": "SV Paldea Gym Battle",
+ "battle_legendary_kanto": "XY Kanto Legendary Battle",
+ "battle_legendary_raikou": "HGSS Raikou Battle",
+ "battle_legendary_entei": "HGSS Entei Battle",
+ "battle_legendary_suicune": "HGSS Suicune Battle",
+ "battle_legendary_lugia": "HGSS Lugia Battle",
+ "battle_legendary_ho_oh": "HGSS Ho-oh Battle",
+ "battle_legendary_regis_g5": "B2W2 Legendary Titan Battle",
+ "battle_legendary_regis_g6": "ORAS Legendary Titan Battle",
+ "battle_legendary_gro_kyo": "ORAS Groudon & Kyogre Battle",
+ "battle_legendary_rayquaza": "ORAS Rayquaza Battle",
+ "battle_legendary_deoxys": "ORAS Deoxys Battle",
+ "battle_legendary_lake_trio": "ORAS Lake Guardians Battle",
+ "battle_legendary_sinnoh": "ORAS Sinnoh Legendary Battle",
+ "battle_legendary_dia_pal": "ORAS Dialga & Palkia Battle",
+ "battle_legendary_giratina": "ORAS Giratina Battle",
+ "battle_legendary_arceus": "HGSS Arceus Battle",
+ "battle_legendary_unova": "BW Unova Legendary Battle",
+ "battle_legendary_kyurem": "BW Kyurem Battle",
+ "battle_legendary_res_zek": "BW Reshiram & Zekrom Battle",
+ "battle_legendary_xern_yvel": "XY Xerneas & Yveltal Battle",
+ "battle_legendary_tapu": "SM Tapu Battle",
+ "battle_legendary_sol_lun": "SM Solgaleo & Lunala Battle",
+ "battle_legendary_ub": "SM Ultra Beast Battle",
+ "battle_legendary_dusk_dawn": "USUM Dusk Mane & Dawn Wings Necrozma Battle",
+ "battle_legendary_ultra_nec": "USUM Ultra Necrozma Battle",
+ "battle_legendary_zac_zam": "SWSH Zacian & Zamazenta Battle",
+ "battle_legendary_glas_spec": "SWSH Glastrier & Spectrier Battle",
+ "battle_legendary_calyrex": "SWSH Calyrex Battle",
+ "battle_legendary_birds_galar": "SWSH Galarian Legendary Birds Battle",
+ "battle_legendary_ruinous": "SV Treasures of Ruin Battle",
+ "battle_legendary_kor_mir": "SV Depths of Area Zero Battle",
+ "battle_legendary_loyal_three": "SV Loyal Three Battle",
+ "battle_legendary_ogerpon": "SV Ogerpon Battle",
+ "battle_legendary_terapagos": "SV Terapagos Battle",
+ "battle_legendary_pecharunt": "SV Pecharunt Battle",
+ "battle_rival": "BW Rival Battle",
+ "battle_rival_2": "BW N Battle",
+ "battle_rival_3": "BW Final N Battle",
+ "battle_trainer": "BW Trainer Battle",
+ "battle_wild": "BW Wild Battle",
+ "battle_wild_strong": "BW Strong Wild Battle",
+ "end_summit": "PMD RTDX Sky Tower Summit",
+ "battle_rocket_grunt": "HGSS Team Rocket Battle",
+ "battle_aqua_magma_grunt": "ORAS Team Aqua & Magma Battle",
+ "battle_galactic_grunt": "BDSP Team Galactic Battle",
+ "battle_plasma_grunt": "BW Team Plasma Battle",
+ "battle_flare_grunt": "XY Team Flare Battle",
+ "battle_rocket_boss": "USUM Giovanni Battle",
+ "battle_aqua_magma_boss": "ORAS Archie & Maxie Battle",
+ "battle_galactic_boss": "BDSP Cyrus Battle",
+ "battle_plasma_boss": "B2W2 Ghetsis Battle",
+ "battle_flare_boss": "XY Lysandre Battle",
+
+ // Biome Music
+ "abyss": "PMD EoS Dark Crater",
+ "badlands": "PMD EoS Barren Valley",
+ "beach": "PMD EoS Drenched Bluff",
+ "cave": "PMD EoS Sky Peak Cave",
+ "construction_site": "PMD EoS Boulder Quarry",
+ "desert": "PMD EoS Northern Desert",
+ "dojo": "PMD EoS Marowak Dojo",
+ "end": "PMD RTDX Sky Tower",
+ "factory": "PMD EoS Concealed Ruins",
+ "fairy_cave": "PMD EoS Star Cave",
+ "forest": "PMD EoS Dusk Forest",
+ "grass": "PMD EoS Apple Woods",
+ "graveyard": "PMD EoS Mystifying Forest",
+ "ice_cave": "PMD EoS Vast Ice Mountain",
+ "island": "PMD EoS Craggy Coast",
+ "jungle": "Lmz - Jungle", // The composer thinks about a more creative name
+ "laboratory": "Firel - Laboratory", // The composer thinks about a more creative name
+ "lake": "PMD EoS Crystal Cave",
+ "meadow": "PMD EoS Sky Peak Forest",
+ "metropolis": "Firel - Metropolis", // The composer thinks about a more creative name
+ "mountain": "PMD EoS Mt. Horn",
+ "plains": "PMD EoS Sky Peak Prairie",
+ "power_plant": "PMD EoS Far Amp Plains",
+ "ruins": "PMD EoS Deep Sealed Ruin",
+ "sea": "PMD EoS Brine Cave",
+ "seabed": "Firel - Seabed", // The composer thinks about a more creative name
+ "slum": "PMD EoS Sky Peak Coast",
+ "snowy_forest": "PMD EoS Sky Peak Snowfield",
+ "space": "Firel - Aether",
+ "swamp": "PMD EoS Surrounded Sea",
+ "tall_grass": "PMD EoS Foggy Forest",
+ "temple": "PMD EoS Aegis Cave",
+ "town": "PMD EoS Random Dungeon Theme 3",
+ "volcano": "PMD EoS Steam Cave",
+ "wasteland": "PMD EoS Hidden Highland",
+
+ // Encounter
+ "encounter_ace_trainer": "BW Trainers' Eyes Meet (Ace Trainer)",
+ "encounter_backpacker": "BW Trainers' Eyes Meet (Backpacker)",
+ "encounter_clerk": "BW Trainers' Eyes Meet (Clerk)",
+ "encounter_cyclist": "BW Trainers' Eyes Meet (Cyclist)",
+ "encounter_lass": "BW Trainers' Eyes Meet (Lass)",
+ "encounter_parasol_lady": "BW Trainers' Eyes Meet (Parasol Lady)",
+ "encounter_pokefan": "BW Trainers' Eyes Meet (Poke Fan)",
+ "encounter_psychic": "BW Trainers' Eyes Meet (Psychic)",
+ "encounter_rich": "BW Trainers' Eyes Meet (Gentleman)",
+ "encounter_rival": "BW Cheren",
+ "encounter_roughneck": "BW Trainers' Eyes Meet (Roughneck)",
+ "encounter_scientist": "BW Trainers' Eyes Meet (Scientist)",
+ "encounter_twins": "BW Trainers' Eyes Meet (Twins)",
+ "encounter_youngster": "BW Trainers' Eyes Meet (Youngster)",
+
+ // Other
+ "heal": "BW Pokémon Heal",
+ "menu": "PMD EoS Welcome to the World of Pokémon!",
+ "title": "PMD EoS Top Menu Theme",
+} as const;
diff --git a/src/locales/en/biome.ts b/src/locales/en/biome.ts
index 5631b91b836..d3f34c021d4 100644
--- a/src/locales/en/biome.ts
+++ b/src/locales/en/biome.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const biome: SimpleTranslationEntries = {
"unknownLocation": "Somewhere you can\'t remember",
diff --git a/src/locales/en/challenges.ts b/src/locales/en/challenges.ts
new file mode 100644
index 00000000000..a40f05a0843
--- /dev/null
+++ b/src/locales/en/challenges.ts
@@ -0,0 +1,26 @@
+import { TranslationEntries } from "#app/interfaces/locales.js";
+
+export const challenges: TranslationEntries = {
+ "title": "Challenge Modifiers",
+ "illegalEvolution": "{{pokemon}} changed into an ineligble pokémon\nfor this challenge!",
+ "singleGeneration": {
+ "name": "Mono Gen",
+ "desc": "You can only use Pokémon from Generation {{gen}}.",
+ "desc_default": "You can only use Pokémon from the chosen generation.",
+ "gen_1": "one",
+ "gen_2": "two",
+ "gen_3": "three",
+ "gen_4": "four",
+ "gen_5": "five",
+ "gen_6": "six",
+ "gen_7": "seven",
+ "gen_8": "eight",
+ "gen_9": "nine",
+ },
+ "singleType": {
+ "name": "Mono Type",
+ "desc": "You can only use Pokémon with the {{type}} type.",
+ "desc_default": "You can only use Pokémon of the chosen type."
+ //types in pokemon-info
+ },
+} as const;
diff --git a/src/locales/en/command-ui-handler.ts b/src/locales/en/command-ui-handler.ts
index b5a87b72ffd..c4c65db0aa0 100644
--- a/src/locales/en/command-ui-handler.ts
+++ b/src/locales/en/command-ui-handler.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const commandUiHandler: SimpleTranslationEntries = {
"fight": "Fight",
diff --git a/src/locales/en/common.ts b/src/locales/en/common.ts
new file mode 100644
index 00000000000..750322e1f09
--- /dev/null
+++ b/src/locales/en/common.ts
@@ -0,0 +1,10 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const common: SimpleTranslationEntries = {
+ "start": "Start",
+ "luckIndicator": "Luck:",
+ "shinyOnHover": "Shiny",
+ "commonShiny": "Common",
+ "rareShiny": "Rare",
+ "epicShiny": "Epic",
+} as const;
diff --git a/src/locales/en/config.ts b/src/locales/en/config.ts
index 0891a6a4c10..1c5449a2e88 100644
--- a/src/locales/en/config.ts
+++ b/src/locales/en/config.ts
@@ -1,10 +1,14 @@
+import { common } from "./common.js";
+import { settings } from "./settings.js";
import { ability } from "./ability";
import { abilityTriggers } from "./ability-trigger";
-import { achv } from "./achv";
+import { PGFachv, PGMachv } from "./achv";
import { battle } from "./battle";
import { battleMessageUiHandler } from "./battle-message-ui-handler";
import { berry } from "./berry";
+import { bgmName } from "./bgm-name";
import { biome } from "./biome";
+import { challenges } from "./challenges";
import { commandUiHandler } from "./command-ui-handler";
import {
PGFbattleSpecDialogue,
@@ -18,33 +22,43 @@ import {
} from "./dialogue";
import { egg } from "./egg";
import { fightUiHandler } from "./fight-ui-handler";
+import { gameMode } from "./game-mode";
import { gameStatsUiHandler } from "./game-stats-ui-handler";
import { growth } from "./growth";
import { menu } from "./menu";
import { menuUiHandler } from "./menu-ui-handler";
+import { modifier } from "./modifier";
import { modifierType } from "./modifier-type";
import { move } from "./move";
import { nature } from "./nature";
+import { partyUiHandler } from "./party-ui-handler";
import { pokeball } from "./pokeball";
import { pokemon } from "./pokemon";
import { pokemonInfo } from "./pokemon-info";
import { pokemonInfoContainer } from "./pokemon-info-container";
+import { saveSlotSelectUiHandler } from "./save-slot-select-ui-handler";
import { splashMessages } from "./splash-messages";
import { starterSelectUiHandler } from "./starter-select-ui-handler";
+import { statusEffect } from "./status-effect";
import { titles, trainerClasses, trainerNames } from "./trainers";
import { tutorial } from "./tutorial";
import { voucher } from "./voucher";
-import { weather } from "./weather";
+import { terrain, weather } from "./weather";
+import { modifierSelectUiHandler } from "./modifier-select-ui-handler";
export const enConfig = {
ability: ability,
abilityTriggers: abilityTriggers,
- achv: achv,
battle: battle,
battleMessageUiHandler: battleMessageUiHandler,
berry: berry,
+ bgmName: bgmName,
biome: biome,
+ challenges: challenges,
commandUiHandler: commandUiHandler,
+ common: common,
+ PGMachv: PGMachv,
+ PGFachv: PGFachv,
PGMdialogue: PGMdialogue,
PGFdialogue: PGFdialogue,
PGMbattleSpecDialogue: PGMbattleSpecDialogue,
@@ -55,10 +69,12 @@ export const enConfig = {
PGFdoubleBattleDialogue: PGFdoubleBattleDialogue,
egg: egg,
fightUiHandler: fightUiHandler,
+ gameMode: gameMode,
gameStatsUiHandler: gameStatsUiHandler,
growth: growth,
menu: menu,
menuUiHandler: menuUiHandler,
+ modifier: modifier,
modifierType: modifierType,
move: move,
nature: nature,
@@ -66,12 +82,18 @@ export const enConfig = {
pokemon: pokemon,
pokemonInfo: pokemonInfo,
pokemonInfoContainer: pokemonInfoContainer,
+ saveSlotSelectUiHandler: saveSlotSelectUiHandler,
+ settings: settings,
splashMessages: splashMessages,
starterSelectUiHandler: starterSelectUiHandler,
+ statusEffect: statusEffect,
+ terrain: terrain,
titles: titles,
trainerClasses: trainerClasses,
trainerNames: trainerNames,
tutorial: tutorial,
voucher: voucher,
- weather: weather
+ weather: weather,
+ partyUiHandler: partyUiHandler,
+ modifierSelectUiHandler: modifierSelectUiHandler
};
diff --git a/src/locales/en/dialogue.ts b/src/locales/en/dialogue.ts
index c5b0d72d3d7..dda8891b788 100644
--- a/src/locales/en/dialogue.ts
+++ b/src/locales/en/dialogue.ts
@@ -1,4 +1,4 @@
-import { DialogueTranslationEntries, SimpleTranslationEntries } from "#app/plugins/i18n";
+import { DialogueTranslationEntries, SimpleTranslationEntries } from "#app/interfaces/locales";
// Dialogue of the NPCs in the game when the player character is male (or unset)
export const PGMdialogue: DialogueTranslationEntries = {
@@ -371,6 +371,201 @@ export const PGMdialogue: DialogueTranslationEntries = {
3: "Ow! I scorched the tip of my nose!"
},
},
+ "sailor": {
+ "encounter": {
+ 1: "Matey, you're walking the plank if you lose!",
+ 2: "Come on then! My sailor's pride is at stake!",
+ 3: "Ahoy there! Are you seasick?"
+ },
+ "victory": {
+ 1: "Argh! Beaten by a kid!",
+ 2: "Your spirit sank me!",
+ 3: "I think it's me that's seasick..."
+ },
+ },
+ "rocket_grunt": {
+ "encounter": {
+ 1: "Prepare for trouble!"
+ },
+ "victory": {
+ 1: "Team Rocket blasting off again!"
+ },
+ },
+ "magma_grunt": {
+ "encounter": {
+ 1: " If you get in the way of Team Magma, don’t expect any mercy!"
+ },
+ "victory": {
+ 1: "Huh? I lost?!"
+ },
+ },
+ "aqua_grunt": {
+ "encounter": {
+ 1: "No one who crosses Team Aqua gets any mercy, not even kids!"
+ },
+ "victory": {
+ 1: "You're kidding me!"
+ },
+ },
+ "galactic_grunt": {
+ "encounter": {
+ 1: "Don't mess with Team Galactic!"
+ },
+ "victory": {
+ 1: "Shut down..."
+ },
+ },
+ "plasma_grunt": {
+ "encounter": {
+ 1: "We won't tolerate people who have different ideas!"
+ },
+ "victory": {
+ 1: "Plasmaaaaaaaaa!"
+ },
+ },
+ "flare_grunt": {
+ "encounter": {
+ 1: "Fashion is most important to us!"
+ },
+ "victory": {
+ 1: "The future doesn't look bright for me."
+ },
+ },
+ "rocket_boss_giovanni_1": {
+ "encounter": {
+ 1: "So! I must say, I am impressed you got here!"
+ },
+ "victory": {
+ 1: "WHAT! This cannot be!"
+ },
+ "defeat": {
+ 1: "Mark my words. Not being able to measure your own strength shows that you are still a child."
+ }
+ },
+ "rocket_boss_giovanni_2": {
+ "encounter": {
+ 1: "My old associates need me... Are you going to get in my way?"
+ },
+ "victory": {
+ 1: "How is this possible...? The precious dream of Team Rocket has become little more than an illusion..."
+ },
+ "defeat": {
+ 1: "Team Rocket will be reborn again, and I will rule the world!"
+ }
+ },
+ "magma_boss_maxie_1": {
+ "encounter": {
+ 1: "I will bury you by my own hand. I hope you appreciate this honor!"
+ },
+ "victory": {
+ 1: "Ugh! You are... quite capable...\nI fell behind, but only by an inch..."
+ },
+ "defeat": {
+ 1: "Team Magma will prevail!"
+ }
+ },
+ "magma_boss_maxie_2": {
+ "encounter": {
+ 1: `You are the final obstacle remaining between me and my goals.
+ $Brace yourself for my ultimate attack! Fuhahaha!`
+ },
+ "victory": {
+ 1: "This... This is not.. Ngh..."
+ },
+ "defeat": {
+ 1: "And now... I will transform this planet to a land ideal for humanity."
+ }
+ },
+ "aqua_boss_archie_1": {
+ "encounter": {
+ 1: "I'm the leader of Team Aqua, so I'm afraid it's the rope's end for you."
+ },
+ "victory": {
+ 1: "Let's meet again somewhere. I'll be sure to remember that face."
+ },
+ "defeat": {
+ 1: "Brilliant! My team won't hold back now!"
+ }
+ },
+ "aqua_boss_archie_2": {
+ "encounter": {
+ 1: "I've been waiting so long for this day to come.\nThis is the true power of my team!"
+ },
+ "victory": {
+ 1: "Like I figured..."
+ },
+ "defeat": {
+ 1: "I'll return everything in this world to its original, pure state!!"
+ }
+ },
+ "galactic_boss_cyrus_1": {
+ "encounter": {
+ 1: `You were compelled to come here by such vacuous sentimentality.
+ $I will make you regret paying heed to your heart!`
+ },
+ "victory": {
+ 1: "Interesting. And quite curious."
+ },
+ "defeat": {
+ 1: "I will create my new world..."
+ }
+ },
+ "galactic_boss_cyrus_2": {
+ "encounter": {
+ 1: `So we meet again. It seems our fates have become intertwined.
+ $But here and now, I will finally break that bond!`
+ },
+ "victory": {
+ 1: "How? How? HOW?!"
+ },
+ "defeat": {
+ 1: "Farewell."
+ }
+ },
+ "plasma_boss_ghetsis_1": {
+ "encounter": {
+ 1: "I won't allow anyone to stop me! No matter who does what!"
+ },
+ "victory": {
+ 1: "How can this be? I'm the creator of Team Plasma! I'm perfect!"
+ },
+ "defeat": {
+ 1: "I am the perfect ruler of a perfect new world! Mwa ha ha!"
+ }
+ },
+ "plasma_boss_ghetsis_2": {
+ "encounter": {
+ 1: "Come now! I want to see your face at the moment you lose all hope!"
+ },
+ "victory": {
+ 1: "My calculations... No! My careful schemes! The world should be mine!"
+ },
+ "defeat": {
+ 1: "Kyurem! Use Absofusion!"
+ }
+ },
+ "flare_boss_lysandre_1": {
+ "encounter": {
+ 1: "Do you want to stop me? Show me in battle."
+ },
+ "victory": {
+ 1: "You are here to stop me. But I ask you to wait. "
+ },
+ "defeat": {
+ 1: "Pokemon...Shall no longer exist."
+ }
+ },
+ "flare_boss_lysandre_2": {
+ "encounter": {
+ 1: "The future you want, or the future I want... Let us see which one is more deserving, shall we?"
+ },
+ "victory": {
+ 1: "Whaugh!"
+ },
+ "defeat": {
+ 1: "Fools with no vision will continue to befoul this beautiful world."
+ }
+ },
"brock": {
"encounter": {
1: "My expertise on Rock-type Pokémon will take you down! Come on!",
@@ -1449,7 +1644,7 @@ export const PGMdialogue: DialogueTranslationEntries = {
1: `Just a moment, please. The book I'm reading has nearly reached its thrilling climax…
$The hero has obtained a mystic sword and is about to face their final trial… Ah, never mind.
$Since you've made it this far, I'll put that aside and battle you.
- $Let me see if you'll achieve as much glory as the hero of my book!,`
+ $Let me see if you'll achieve as much glory as the hero of my book!`
},
"victory": {
1: "I see… It appears you've put me in checkmate."
@@ -2095,6 +2290,32 @@ export const PGMdialogue: DialogueTranslationEntries = {
2: "You got caught in my storm! Better luck next time!"
}
},
+ "alder": {
+ "encounter": {
+ 1: "Prepare yourself for a match against the strongest Trainer in Unova!"
+ },
+ "victory": {
+ 1: "Well done! You certainly are an unmatched talent."
+ },
+ "defeat": {
+ 1: `A fresh wind blows through my heart...
+ $What an extraordinary effort!`
+ }
+ },
+ "kieran": {
+ "encounter": {
+ 1: `Through hard work, I become stronger and stronger!
+ $I don't lose.`
+ },
+ "victory": {
+ 1: `I don't believe it...
+ $What a fun and heart-pounding battle!`
+ },
+ "defeat": {
+ 1: `Wowzers, what a battle!
+ $Time for you to train even harder.`
+ }
+ },
"rival": {
"encounter": {
1: `@c{smile}Hey, I was looking for you! I knew you were eager to get going but I expected at least a goodbye…
@@ -2360,7 +2581,7 @@ export const PGMdoubleBattleDialogue: DialogueTranslationEntries = {
},
"tate_liza_double": {
"encounter": {
- 1: `Tate: Are you suprised?
+ 1: `Tate: Are you surprised?
$Liza: We are two gym leaders at once!
$Tate: We are twins!
$Liza: We dont need to talk to understand each other!
@@ -2374,7 +2595,7 @@ export const PGMdoubleBattleDialogue: DialogueTranslationEntries = {
},
"liza_tate_double": {
"encounter": {
- 1: `Liza: Hihihi... Are you suprised?
+ 1: `Liza: Hihihi... Are you surprised?
$Tate: Yes, we are really two gym leaders at once!
$Liza: This is my twin brother Tate!
$Tate: And this is my twin sister Liza!
diff --git a/src/locales/en/egg.ts b/src/locales/en/egg.ts
index b9ed9a71fd1..9f699ce0fdc 100644
--- a/src/locales/en/egg.ts
+++ b/src/locales/en/egg.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const egg: SimpleTranslationEntries = {
"egg": "Egg",
@@ -17,5 +17,12 @@ export const egg: SimpleTranslationEntries = {
"notEnoughVouchers": "You don't have enough vouchers!",
"tooManyEggs": "You have too many eggs!",
"pull": "Pull",
- "pulls": "Pulls"
+ "pulls": "Pulls",
+ "sameSpeciesEgg": "{{species}} will hatch from this egg!",
+ "hatchFromTheEgg": "{{pokemonName}} hatched from the egg!",
+ "eggMoveUnlock": "Egg Move unlocked: {{moveName}}",
+ "rareEggMoveUnlock": "Rare Egg Move unlocked: {{moveName}}",
+ "moveUPGacha": "Move UP!",
+ "shinyUPGacha": "Shiny UP!",
+ "legendaryUPGacha": "UP!",
} as const;
diff --git a/src/locales/en/fight-ui-handler.ts b/src/locales/en/fight-ui-handler.ts
index 1924041fe3b..8ceb503c34a 100644
--- a/src/locales/en/fight-ui-handler.ts
+++ b/src/locales/en/fight-ui-handler.ts
@@ -1,7 +1,9 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const fightUiHandler: SimpleTranslationEntries = {
"pp": "PP",
"power": "Power",
"accuracy": "Accuracy",
+ "abilityFlyInText": " {{pokemonName}}'s {{passive}}{{abilityName}}",
+ "passive": "Passive ", // The space at the end is important
} as const;
diff --git a/src/locales/en/game-mode.ts b/src/locales/en/game-mode.ts
new file mode 100644
index 00000000000..903f1a63072
--- /dev/null
+++ b/src/locales/en/game-mode.ts
@@ -0,0 +1,10 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const gameMode: SimpleTranslationEntries = {
+ "classic": "Classic",
+ "endless": "Endless",
+ "endlessSpliced": "Endless (Spliced)",
+ "dailyRun": "Daily Run",
+ "unknown": "Unknown",
+ "challenge": "Challenge",
+} as const;
diff --git a/src/locales/en/game-stats-ui-handler.ts b/src/locales/en/game-stats-ui-handler.ts
index 64e4e2af5e3..06b2211b0dd 100644
--- a/src/locales/en/game-stats-ui-handler.ts
+++ b/src/locales/en/game-stats-ui-handler.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const gameStatsUiHandler: SimpleTranslationEntries = {
"stats": "Stats",
diff --git a/src/locales/en/growth.ts b/src/locales/en/growth.ts
index ea4dad72240..410355b143b 100644
--- a/src/locales/en/growth.ts
+++ b/src/locales/en/growth.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const growth: SimpleTranslationEntries = {
"Erratic": "Erratic",
diff --git a/src/locales/en/menu-ui-handler.ts b/src/locales/en/menu-ui-handler.ts
index 5958981968b..97d6e38a099 100644
--- a/src/locales/en/menu-ui-handler.ts
+++ b/src/locales/en/menu-ui-handler.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const menuUiHandler: SimpleTranslationEntries = {
"GAME_SETTINGS": "Game Settings",
@@ -19,5 +19,6 @@ export const menuUiHandler: SimpleTranslationEntries = {
"importData": "Import Data",
"exportData": "Export Data",
"cancel": "Cancel",
- "losingProgressionWarning": "You will lose any progress since the beginning of the battle. Proceed?"
+ "losingProgressionWarning": "You will lose any progress since the beginning of the battle. Proceed?",
+ "noEggs": "You are not hatching\nany eggs at the moment!"
} as const;
diff --git a/src/locales/en/menu.ts b/src/locales/en/menu.ts
index d43ac0983f4..542399fee51 100644
--- a/src/locales/en/menu.ts
+++ b/src/locales/en/menu.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
/**
* The menu namespace holds most miscellaneous text that isn't directly part of the game's
@@ -34,8 +34,6 @@ export const menu: SimpleTranslationEntries = {
"sessionSuccess": "Session loaded successfully.",
"failedToLoadSession": "Your session data could not be loaded.\nIt may be corrupted.",
"boyOrGirl": "Are you a boy or a girl?",
- "boy": "Boy",
- "girl": "Girl",
"evolving": "What?\n{{pokemonName}} is evolving!",
"stoppedEvolving": "{{pokemonName}} stopped evolving.",
"pauseEvolutionsQuestion": "Would you like to pause evolutions for {{pokemonName}}?\nEvolutions can be re-enabled from the party screen.",
@@ -44,11 +42,16 @@ export const menu: SimpleTranslationEntries = {
"dailyRankings": "Daily Rankings",
"weeklyRankings": "Weekly Rankings",
"noRankings": "No Rankings",
+ "positionIcon": "#",
+ "usernameScoreboard": "Username",
+ "score": "Score",
+ "wave": "Wave",
"loading": "Loading…",
+ "loadingAsset": "Loading asset: {{assetName}}",
"playersOnline": "Players Online",
- "empty":"Empty",
"yes":"Yes",
"no":"No",
"disclaimer": "DISCLAIMER",
- "disclaimerDescription": "This game is an unfinished product; it might have playability issues (including the potential loss of save data),\n change without notice, and may or may not be updated further or completed."
+ "disclaimerDescription": "This game is an unfinished product; it might have playability issues (including the potential loss of save data),\n change without notice, and may or may not be updated further or completed.",
+ "errorServerDown": "Oops! There was an issue contacting the server.\n\nYou may leave this window open,\nthe game will automatically reconnect.",
} as const;
diff --git a/src/locales/en/modifier-select-ui-handler.ts b/src/locales/en/modifier-select-ui-handler.ts
new file mode 100644
index 00000000000..64cf3aa2ba3
--- /dev/null
+++ b/src/locales/en/modifier-select-ui-handler.ts
@@ -0,0 +1,14 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const modifierSelectUiHandler: SimpleTranslationEntries = {
+ "transfer": "Transfer",
+ "reroll": "Reroll",
+ "lockRarities": "Lock Rarities",
+ "checkTeam": "Check Team",
+ "transferDesc": "Transfer a held item from one Pokémon to another.",
+ "rerollDesc": "Spend money to reroll your item options.",
+ "lockRaritiesDesc": "Lock item rarities on reroll (affects reroll cost).",
+ "checkTeamDesc": "Check your team or use a form changing item.",
+ "rerollCost": "₽{{formattedMoney}}",
+ "itemCost": "₽{{formattedMoney}}"
+} as const;
diff --git a/src/locales/en/modifier-type.ts b/src/locales/en/modifier-type.ts
index dac87e1d939..7bbf89388c4 100644
--- a/src/locales/en/modifier-type.ts
+++ b/src/locales/en/modifier-type.ts
@@ -1,4 +1,4 @@
-import { ModifierTypeTranslationEntries } from "#app/plugins/i18n";
+import { ModifierTypeTranslationEntries } from "#app/interfaces/locales";
export const modifierType: ModifierTypeTranslationEntries = {
ModifierType: {
@@ -8,7 +8,7 @@ export const modifierType: ModifierTypeTranslationEntries = {
},
"AddVoucherModifierType": {
name: "{{modifierCount}}x {{voucherTypeName}}",
- description: "Receive {{voucherTypeName}} x{{modifierCount}}",
+ description: "Receive {{voucherTypeName}} x{{modifierCount}}.",
},
"PokemonHeldItemModifierType": {
extra: {
@@ -17,63 +17,63 @@ export const modifierType: ModifierTypeTranslationEntries = {
}
},
"PokemonHpRestoreModifierType": {
- description: "Restores {{restorePoints}} HP or {{restorePercent}}% HP for one Pokémon, whichever is higher",
+ description: "Restores {{restorePoints}} HP or {{restorePercent}}% HP for one Pokémon, whichever is higher.",
extra: {
- "fully": "Fully restores HP for one Pokémon",
- "fullyWithStatus": "Fully restores HP for one Pokémon and heals any status ailment",
+ "fully": "Fully restores HP for one Pokémon.",
+ "fullyWithStatus": "Fully restores HP for one Pokémon and heals any status ailment.",
}
},
"PokemonReviveModifierType": {
- description: "Revives one Pokémon and restores {{restorePercent}}% HP",
+ description: "Revives one Pokémon and restores {{restorePercent}}% HP.",
},
"PokemonStatusHealModifierType": {
- description: "Heals any status ailment for one Pokémon",
+ description: "Heals any status ailment for one Pokémon.",
},
"PokemonPpRestoreModifierType": {
- description: "Restores {{restorePoints}} PP for one Pokémon move",
+ description: "Restores {{restorePoints}} PP for one Pokémon move.",
extra: {
- "fully": "Restores all PP for one Pokémon move",
+ "fully": "Restores all PP for one Pokémon move.",
}
},
"PokemonAllMovePpRestoreModifierType": {
- description: "Restores {{restorePoints}} PP for all of one Pokémon's moves",
+ description: "Restores {{restorePoints}} PP for all of one Pokémon's moves.",
extra: {
- "fully": "Restores all PP for all of one Pokémon's moves",
+ "fully": "Restores all PP for all of one Pokémon's moves.",
}
},
"PokemonPpUpModifierType": {
- description: "Permanently increases PP for one Pokémon move by {{upPoints}} for every 5 maximum PP (maximum 3)",
+ description: "Permanently increases PP for one Pokémon move by {{upPoints}} for every 5 maximum PP (maximum 3).",
},
"PokemonNatureChangeModifierType": {
name: "{{natureName}} Mint",
description: "Changes a Pokémon's nature to {{natureName}} and permanently unlocks the nature for the starter.",
},
"DoubleBattleChanceBoosterModifierType": {
- description: "Doubles the chance of an encounter being a double battle for {{battleCount}} battles",
+ description: "Doubles the chance of an encounter being a double battle for {{battleCount}} battles.",
},
"TempBattleStatBoosterModifierType": {
- description: "Increases the {{tempBattleStatName}} of all party members by 1 stage for 5 battles",
+ description: "Increases the {{tempBattleStatName}} of all party members by 1 stage for 5 battles.",
},
"AttackTypeBoosterModifierType": {
- description: "Increases the power of a Pokémon's {{moveType}}-type moves by 20%",
+ description: "Increases the power of a Pokémon's {{moveType}}-type moves by 20%.",
},
"PokemonLevelIncrementModifierType": {
- description: "Increases a Pokémon's level by 1",
+ description: "Increases a Pokémon's level by 1.",
},
"AllPokemonLevelIncrementModifierType": {
- description: "Increases all party members' level by 1",
+ description: "Increases all party members' level by 1.",
},
"PokemonBaseStatBoosterModifierType": {
description: "Increases the holder's base {{statName}} by 10%. The higher your IVs, the higher the stack limit.",
},
"AllPokemonFullHpRestoreModifierType": {
- description: "Restores 100% HP for all Pokémon",
+ description: "Restores 100% HP for all Pokémon.",
},
"AllPokemonFullReviveModifierType": {
- description: "Revives all fainted Pokémon, fully restoring HP",
+ description: "Revives all fainted Pokémon, fully restoring HP.",
},
"MoneyRewardModifierType": {
- description: "Grants a {{moneyMultiplier}} amount of money (₽{{moneyAmount}})",
+ description: "Grants a {{moneyMultiplier}} amount of money (₽{{moneyAmount}}).",
extra: {
"small": "small",
"moderate": "moderate",
@@ -81,58 +81,62 @@ export const modifierType: ModifierTypeTranslationEntries = {
},
},
"ExpBoosterModifierType": {
- description: "Increases gain of EXP. Points by {{boostPercent}}%",
+ description: "Increases gain of EXP. Points by {{boostPercent}}%.",
},
"PokemonExpBoosterModifierType": {
- description: "Increases the holder's gain of EXP. Points by {{boostPercent}}%",
+ description: "Increases the holder's gain of EXP. Points by {{boostPercent}}%.",
},
"PokemonFriendshipBoosterModifierType": {
- description: "Increases friendship gain per victory by 50%",
+ description: "Increases friendship gain per victory by 50%.",
},
"PokemonMoveAccuracyBoosterModifierType": {
- description: "Increases move accuracy by {{accuracyAmount}} (maximum 100)",
+ description: "Increases move accuracy by {{accuracyAmount}} (maximum 100).",
},
"PokemonMultiHitModifierType": {
- description: "Attacks hit one additional time at the cost of a 60/75/82.5% power reduction per stack respectively",
+ description: "Attacks hit one additional time at the cost of a 60/75/82.5% power reduction per stack respectively.",
},
"TmModifierType": {
name: "TM{{moveId}} - {{moveName}}",
- description: "Teach {{moveName}} to a Pokémon",
+ description: "Teach {{moveName}} to a Pokémon.",
+ },
+ "TmModifierTypeWithInfo": {
+ name: "TM{{moveId}} - {{moveName}}",
+ description: "Teach {{moveName}} to a Pokémon\n(Hold C or Shift for more info).",
},
"EvolutionItemModifierType": {
- description: "Causes certain Pokémon to evolve",
+ description: "Causes certain Pokémon to evolve.",
},
"FormChangeItemModifierType": {
- description: "Causes certain Pokémon to change form",
+ description: "Causes certain Pokémon to change form.",
},
"FusePokemonModifierType": {
- description: "Combines two Pokémon (transfers Ability, splits base stats and types, shares move pool)",
+ description: "Combines two Pokémon (transfers Ability, splits base stats and types, shares move pool).",
},
"TerastallizeModifierType": {
name: "{{teraType}} Tera Shard",
- description: "{{teraType}} Terastallizes the holder for up to 10 battles",
+ description: "{{teraType}} Terastallizes the holder for up to 10 battles.",
},
"ContactHeldItemTransferChanceModifierType": {
- description: "Upon attacking, there is a {{chancePercent}}% chance the foe's held item will be stolen",
+ description: "Upon attacking, there is a {{chancePercent}}% chance the foe's held item will be stolen.",
},
"TurnHeldItemTransferModifierType": {
- description: "Every turn, the holder acquires one held item from the foe",
+ description: "Every turn, the holder acquires one held item from the foe.",
},
"EnemyAttackStatusEffectChanceModifierType": {
- description: "Adds a {{chancePercent}}% chance to inflict {{statusEffect}} with attack moves",
+ description: "Adds a {{chancePercent}}% chance to inflict {{statusEffect}} with attack moves.",
},
"EnemyEndureChanceModifierType": {
- description: "Adds a {{chancePercent}}% chance of enduring a hit",
+ description: "Adds a {{chancePercent}}% chance of enduring a hit.",
},
"RARE_CANDY": { name: "Rare Candy" },
"RARER_CANDY": { name: "Rarer Candy" },
- "MEGA_BRACELET": { name: "Mega Bracelet", description: "Mega Stones become available" },
- "DYNAMAX_BAND": { name: "Dynamax Band", description: "Max Mushrooms become available" },
- "TERA_ORB": { name: "Tera Orb", description: "Tera Shards become available" },
+ "MEGA_BRACELET": { name: "Mega Bracelet", description: "Mega Stones become available." },
+ "DYNAMAX_BAND": { name: "Dynamax Band", description: "Max Mushrooms become available." },
+ "TERA_ORB": { name: "Tera Orb", description: "Tera Shards become available." },
- "MAP": { name: "Map", description: "Allows you to choose your destination at a crossroads" },
+ "MAP": { name: "Map", description: "Allows you to choose your destination at a crossroads." },
"POTION": { name: "Potion" },
"SUPER_POTION": { name: "Super Potion" },
@@ -147,7 +151,7 @@ export const modifierType: ModifierTypeTranslationEntries = {
"SACRED_ASH": { name: "Sacred Ash" },
- "REVIVER_SEED": { name: "Reviver Seed", description: "Revives the holder for 1/2 HP upon fainting" },
+ "REVIVER_SEED": { name: "Reviver Seed", description: "Revives the holder for 1/2 HP upon fainting from a direct hit." },
"ETHER": { name: "Ether" },
"MAX_ETHER": { name: "Max Ether" },
@@ -162,12 +166,12 @@ export const modifierType: ModifierTypeTranslationEntries = {
"SUPER_LURE": { name: "Super Lure" },
"MAX_LURE": { name: "Max Lure" },
- "MEMORY_MUSHROOM": { name: "Memory Mushroom", description: "Recall one Pokémon's forgotten move" },
+ "MEMORY_MUSHROOM": { name: "Memory Mushroom", description: "Recall one Pokémon's forgotten move." },
- "EXP_SHARE": { name: "EXP. All", description: "Non-participants receive 20% of a single participant's EXP. Points" },
- "EXP_BALANCE": { name: "EXP. Balance", description: "Weighs EXP. Points received from battles towards lower-leveled party members" },
+ "EXP_SHARE": { name: "EXP. All", description: "Non-participants receive 20% of a single participant's EXP. Points." },
+ "EXP_BALANCE": { name: "EXP. Balance", description: "Weighs EXP. Points received from battles towards lower-leveled party members." },
- "OVAL_CHARM": { name: "Oval Charm", description: "When multiple Pokémon participate in a battle, each gets an extra 10% of the total EXP" },
+ "OVAL_CHARM": { name: "Oval Charm", description: "When multiple Pokémon participate in a battle, each gets an extra 10% of the total EXP." },
"EXP_CHARM": { name: "EXP. Charm" },
"SUPER_EXP_CHARM": { name: "Super EXP. Charm" },
@@ -178,62 +182,70 @@ export const modifierType: ModifierTypeTranslationEntries = {
"SOOTHE_BELL": { name: "Soothe Bell" },
- "SOUL_DEW": { name: "Soul Dew", description: "Increases the influence of a Pokémon's nature on its stats by 10% (additive)" },
+ "EVIOLITE": { name: "Eviolite", description: "This mysterious evolutionary lump boosts the Defense and Sp. Def stats when held by a Pokémon that can still evolve." },
+
+ "SOUL_DEW": { name: "Soul Dew", description: "Increases the influence of a Pokémon's nature on its stats by 10% (additive)." },
"NUGGET": { name: "Nugget" },
"BIG_NUGGET": { name: "Big Nugget" },
"RELIC_GOLD": { name: "Relic Gold" },
- "AMULET_COIN": { name: "Amulet Coin", description: "Increases money rewards by 20%" },
- "GOLDEN_PUNCH": { name: "Golden Punch", description: "Grants 50% of direct damage inflicted as money" },
- "COIN_CASE": { name: "Coin Case", description: "After every 10th battle, receive 10% of your money in interest" },
+ "AMULET_COIN": { name: "Amulet Coin", description: "Increases money rewards by 20%." },
+ "GOLDEN_PUNCH": { name: "Golden Punch", description: "Grants 50% of direct damage inflicted as money." },
+ "COIN_CASE": { name: "Coin Case", description: "After every 10th battle, receive 10% of your money in interest." },
- "LOCK_CAPSULE": { name: "Lock Capsule", description: "Allows you to lock item rarities when rerolling items" },
+ "LOCK_CAPSULE": { name: "Lock Capsule", description: "Allows you to lock item rarities when rerolling items." },
"GRIP_CLAW": { name: "Grip Claw" },
"WIDE_LENS": { name: "Wide Lens" },
"MULTI_LENS": { name: "Multi Lens" },
- "HEALING_CHARM": { name: "Healing Charm", description: "Increases the effectiveness of HP restoring moves and items by 10% (excludes Revives)" },
- "CANDY_JAR": { name: "Candy Jar", description: "Increases the number of levels added by Rare Candy items by 1" },
+ "HEALING_CHARM": { name: "Healing Charm", description: "Increases the effectiveness of HP restoring moves and items by 10% (excludes Revives)." },
+ "CANDY_JAR": { name: "Candy Jar", description: "Increases the number of levels added by Rare Candy items by 1." },
- "BERRY_POUCH": { name: "Berry Pouch", description: "Adds a 30% chance that a used berry will not be consumed" },
+ "BERRY_POUCH": { name: "Berry Pouch", description: "Adds a 30% chance that a used berry will not be consumed." },
- "FOCUS_BAND": { name: "Focus Band", description: "Adds a 10% chance to survive with 1 HP after being damaged enough to faint" },
+ "FOCUS_BAND": { name: "Focus Band", description: "Adds a 10% chance to survive with 1 HP after being damaged enough to faint." },
- "QUICK_CLAW": { name: "Quick Claw", description: "Adds a 10% chance to move first regardless of speed (after priority)" },
+ "QUICK_CLAW": { name: "Quick Claw", description: "Adds a 10% chance to move first regardless of speed (after priority)." },
- "KINGS_ROCK": { name: "King's Rock", description: "Adds a 10% chance an attack move will cause the opponent to flinch" },
+ "KINGS_ROCK": { name: "King's Rock", description: "Adds a 10% chance an attack move will cause the opponent to flinch." },
- "LEFTOVERS": { name: "Leftovers", description: "Heals 1/16 of a Pokémon's maximum HP every turn" },
- "SHELL_BELL": { name: "Shell Bell", description: "Heals 1/8 of a Pokémon's dealt damage" },
+ "LEFTOVERS": { name: "Leftovers", description: "Heals 1/16 of a Pokémon's maximum HP every turn." },
+ "SHELL_BELL": { name: "Shell Bell", description: "Heals 1/8 of a Pokémon's dealt damage." },
- "TOXIC_ORB": { name: "Toxic Orb", description: "Badly poisons its holder at the end of the turn if they do not have a status condition already" },
- "FLAME_ORB": { name: "Flame Orb", description: "Burns its holder at the end of the turn if they do not have a status condition already" },
+ "TOXIC_ORB": { name: "Toxic Orb", description: "It's a bizarre orb that exudes toxins when touched and will badly poison the holder during battle." },
+ "FLAME_ORB": { name: "Flame Orb", description: "It's a bizarre orb that gives off heat when touched and will affect the holder with a burn during battle." },
- "BATON": { name: "Baton", description: "Allows passing along effects when switching Pokémon, which also bypasses traps" },
+ "BATON": { name: "Baton", description: "Allows passing along effects when switching Pokémon, which also bypasses traps." },
- "SHINY_CHARM": { name: "Shiny Charm", description: "Dramatically increases the chance of a wild Pokémon being Shiny" },
- "ABILITY_CHARM": { name: "Ability Charm", description: "Dramatically increases the chance of a wild Pokémon having a Hidden Ability" },
+ "SHINY_CHARM": { name: "Shiny Charm", description: "Dramatically increases the chance of a wild Pokémon being Shiny." },
+ "ABILITY_CHARM": { name: "Ability Charm", description: "Dramatically increases the chance of a wild Pokémon having a Hidden Ability." },
- "IV_SCANNER": { name: "IV Scanner", description: "Allows scanning the IVs of wild Pokémon. 2 IVs are revealed per stack. The best IVs are shown first" },
+ "IV_SCANNER": { name: "IV Scanner", description: "Allows scanning the IVs of wild Pokémon. 2 IVs are revealed per stack. The best IVs are shown first." },
"DNA_SPLICERS": { name: "DNA Splicers" },
"MINI_BLACK_HOLE": { name: "Mini Black Hole" },
- "GOLDEN_POKEBALL": { name: "Golden Poké Ball", description: "Adds 1 extra item option at the end of every battle" },
+ "GOLDEN_POKEBALL": { name: "Golden Poké Ball", description: "Adds 1 extra item option at the end of every battle." },
- "ENEMY_DAMAGE_BOOSTER": { name: "Damage Token", description: "Increases damage by 5%" },
- "ENEMY_DAMAGE_REDUCTION": { name: "Protection Token", description: "Reduces incoming damage by 2.5%" },
- "ENEMY_HEAL": { name: "Recovery Token", description: "Heals 2% of max HP every turn" },
+ "ENEMY_DAMAGE_BOOSTER": { name: "Damage Token", description: "Increases damage by 5%." },
+ "ENEMY_DAMAGE_REDUCTION": { name: "Protection Token", description: "Reduces incoming damage by 2.5%." },
+ "ENEMY_HEAL": { name: "Recovery Token", description: "Heals 2% of max HP every turn." },
"ENEMY_ATTACK_POISON_CHANCE": { name: "Poison Token" },
"ENEMY_ATTACK_PARALYZE_CHANCE": { name: "Paralyze Token" },
"ENEMY_ATTACK_BURN_CHANCE": { name: "Burn Token" },
- "ENEMY_STATUS_EFFECT_HEAL_CHANCE": { name: "Full Heal Token", description: "Adds a 2.5% chance every turn to heal a status condition" },
+ "ENEMY_STATUS_EFFECT_HEAL_CHANCE": { name: "Full Heal Token", description: "Adds a 2.5% chance every turn to heal a status condition." },
"ENEMY_ENDURE_CHANCE": { name: "Endure Token" },
- "ENEMY_FUSED_CHANCE": { name: "Fusion Token", description: "Adds a 1% chance that a wild Pokémon will be a fusion" },
+ "ENEMY_FUSED_CHANCE": { name: "Fusion Token", description: "Adds a 1% chance that a wild Pokémon will be a fusion." },
+ },
+ SpeciesBoosterItem: {
+ "LIGHT_BALL": { name: "Light Ball", description: "It's a mysterious orb that boosts Pikachu's Attack and Sp. Atk stats." },
+ "THICK_CLUB": { name: "Thick Club", description: "This hard bone of unknown origin boosts Cubone or Marowak's Attack stat." },
+ "METAL_POWDER": { name: "Metal Powder", description: "Extremely fine yet hard, this odd powder boosts Ditto's Defense stat." },
+ "QUICK_POWDER": { name: "Quick Powder", description: "Extremely fine yet hard, this odd powder boosts Ditto's Speed stat." }
},
TempBattleStatBoosterItem: {
"x_attack": "X Attack",
@@ -244,6 +256,19 @@ export const modifierType: ModifierTypeTranslationEntries = {
"x_accuracy": "X Accuracy",
"dire_hit": "Dire Hit",
},
+
+ TempBattleStatBoosterStatName: {
+ "ATK": "Attack",
+ "DEF": "Defense",
+ "SPATK": "Sp. Atk",
+ "SPDEF": "Sp. Def",
+ "SPD": "Speed",
+ "ACC": "Accuracy",
+ "CRIT": "Critical Hit Ratio",
+ "EVA": "Evasiveness",
+ "DEFAULT": "???",
+ },
+
AttackTypeBoosterItem: {
"silk_scarf": "Silk Scarf",
"black_belt": "Black Belt",
@@ -384,5 +409,43 @@ export const modifierType: ModifierTypeTranslationEntries = {
"BURN_DRIVE": "Burn Drive",
"CHILL_DRIVE": "Chill Drive",
"DOUSE_DRIVE": "Douse Drive",
+
+ "FIST_PLATE": "Fist Plate",
+ "SKY_PLATE": "Sky Plate",
+ "TOXIC_PLATE": "Toxic Plate",
+ "EARTH_PLATE": "Earth Plate",
+ "STONE_PLATE": "Stone Plate",
+ "INSECT_PLATE": "Insect Plate",
+ "SPOOKY_PLATE": "Spooky Plate",
+ "IRON_PLATE": "Iron Plate",
+ "FLAME_PLATE": "Flame Plate",
+ "SPLASH_PLATE": "Splash Plate",
+ "MEADOW_PLATE": "Meadow Plate",
+ "ZAP_PLATE": "Zap Plate",
+ "MIND_PLATE": "Mind Plate",
+ "ICICLE_PLATE": "Icicle Plate",
+ "DRACO_PLATE": "Draco Plate",
+ "DREAD_PLATE": "Dread Plate",
+ "PIXIE_PLATE": "Pixie Plate",
+ "BLANK_PLATE": "Blank Plate",
+ "LEGEND_PLATE": "Legend Plate",
+ "FIGHTING_MEMORY": "Fighting Memory",
+ "FLYING_MEMORY": "Flying Memory",
+ "POISON_MEMORY": "Poison Memory",
+ "GROUND_MEMORY": "Ground Memory",
+ "ROCK_MEMORY": "Rock Memory",
+ "BUG_MEMORY": "Bug Memory",
+ "GHOST_MEMORY": "Ghost Memory",
+ "STEEL_MEMORY": "Steel Memory",
+ "FIRE_MEMORY": "Fire Memory",
+ "WATER_MEMORY": "Water Memory",
+ "GRASS_MEMORY": "Grass Memory",
+ "ELECTRIC_MEMORY": "Electric Memory",
+ "PSYCHIC_MEMORY": "Psychic Memory",
+ "ICE_MEMORY": "Ice Memory",
+ "DRAGON_MEMORY": "Dragon Memory",
+ "DARK_MEMORY": "Dark Memory",
+ "FAIRY_MEMORY": "Fairy Memory",
+ "BLANK_MEMORY": "Blank Memory",
},
} as const;
diff --git a/src/locales/en/modifier.ts b/src/locales/en/modifier.ts
new file mode 100644
index 00000000000..d3da4c2150b
--- /dev/null
+++ b/src/locales/en/modifier.ts
@@ -0,0 +1,12 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const modifier: SimpleTranslationEntries = {
+ "surviveDamageApply": "{{pokemonNameWithAffix}} hung on\nusing its {{typeName}}!",
+ "turnHealApply": "{{pokemonNameWithAffix}} restored a little HP using\nits {{typeName}}!",
+ "hitHealApply": "{{pokemonNameWithAffix}} restored a little HP using\nits {{typeName}}!",
+ "pokemonInstantReviveApply": "{{pokemonNameWithAffix}} was revived\nby its {{typeName}}!",
+ "moneyInterestApply": "You received interest of ₽{{moneyAmount}}\nfrom the {{typeName}}!",
+ "turnHeldItemTransferApply": "{{pokemonNameWithAffix}}'s {{itemName}} was absorbed\nby {{pokemonName}}'s {{typeName}}!",
+ "contactHeldItemTransferApply": "{{pokemonNameWithAffix}}'s {{itemName}} was snatched\nby {{pokemonName}}'s {{typeName}}!",
+ "enemyTurnHealApply": "{{pokemonNameWithAffix}}\nrestored some HP!",
+} as const;
diff --git a/src/locales/en/move.ts b/src/locales/en/move.ts
index 7f99517cfda..b9a8836dfec 100644
--- a/src/locales/en/move.ts
+++ b/src/locales/en/move.ts
@@ -1,4 +1,4 @@
-import { MoveTranslationEntries } from "#app/plugins/i18n";
+import { MoveTranslationEntries } from "#app/interfaces/locales";
export const move: MoveTranslationEntries = {
"pound": {
@@ -2931,7 +2931,7 @@ export const move: MoveTranslationEntries = {
},
"bouncyBubble": {
name: "Bouncy Bubble",
- effect: "The user attacks by shooting water bubbles at the target. It then absorbs water and restores its HP by half the damage taken by the target."
+ effect: "The user attacks by shooting water bubbles at the target. It then absorbs water and restores its HP by the damage taken by the target."
},
"buzzyBuzz": {
name: "Buzzy Buzz",
diff --git a/src/locales/en/nature.ts b/src/locales/en/nature.ts
index 983252b9802..9ab26f3eb2a 100644
--- a/src/locales/en/nature.ts
+++ b/src/locales/en/nature.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const nature: SimpleTranslationEntries = {
"Hardy": "Hardy",
diff --git a/src/locales/en/party-ui-handler.ts b/src/locales/en/party-ui-handler.ts
new file mode 100644
index 00000000000..78fdcc14dbe
--- /dev/null
+++ b/src/locales/en/party-ui-handler.ts
@@ -0,0 +1,53 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const partyUiHandler: SimpleTranslationEntries = {
+ "SEND_OUT": "Send Out",
+ "SUMMARY": "Summary",
+ "CANCEL": "Cancel",
+ "RELEASE": "Release",
+ "APPLY": "Apply",
+ "TEACH": "Teach",
+ "SPLICE": "Splice",
+ "UNSPLICE": "Unsplice",
+ "ACTIVATE": "Activate",
+ "DEACTIVATE": "Deactivate",
+ "TRANSFER": "Transfer",
+ "ALL": "All",
+ "PASS_BATON": "Pass Baton",
+ "UNPAUSE_EVOLUTION": "Unpause Evolution",
+ "REVIVE": "Revive",
+
+ "choosePokemon": "Choose a Pokémon.",
+ "doWhatWithThisPokemon": "Do what with this Pokémon?",
+ "noEnergy": "{{pokemonName}} has no energy\nleft to battle!",
+ "hasEnergy": "{{pokemonName}} still has energy\nto battle!",
+ "cantBeUsed": "{{pokemonName}} can't be used in\nthis challenge!",
+ "tooManyItems": "{{pokemonName}} has too many\nof this item!",
+ "anyEffect": "It won't have any effect.",
+ "unpausedEvolutions": "Evolutions have been unpaused for {{pokemonName}}.",
+ "unspliceConfirmation": "Do you really want to unsplice {{fusionName}}\nfrom {{pokemonName}}? {{fusionName}} will be lost.",
+ "wasReverted": "{{fusionName}} was reverted to {{pokemonName}}.",
+ "releaseConfirmation": "Do you really want to release {{pokemonName}}?",
+ "releaseInBattle": "You can't release a Pokémon that's in battle!",
+ "selectAMove": "Select a move.",
+ "changeQuantity": "Select a held item to transfer.\nUse < and > to change the quantity.",
+ "selectAnotherPokemonToSplice": "Select another Pokémon to splice.",
+ "cancel": "Cancel",
+
+ // Slot TM text
+ "able": "Able",
+ "notAble": "Not able",
+ "learned": "Learned",
+
+ // Releasing messages
+ "goodbye": "Goodbye, {{pokemonName}}!",
+ "byebye": "Byebye, {{pokemonName}}!",
+ "farewell": "Farewell, {{pokemonName}}!",
+ "soLong": "So long, {{pokemonName}}!",
+ "thisIsWhereWePart": "This is where we part, {{pokemonName}}!",
+ "illMissYou": "I'll miss you, {{pokemonName}}!",
+ "illNeverForgetYou": "I'll never forget you, {{pokemonName}}!",
+ "untilWeMeetAgain": "Until we meet again, {{pokemonName}}!",
+ "sayonara": "Sayonara, {{pokemonName}}!",
+ "smellYaLater": "Smell ya later, {{pokemonName}}!",
+} as const;
diff --git a/src/locales/en/pokeball.ts b/src/locales/en/pokeball.ts
index 6d69911efeb..01017cac46d 100644
--- a/src/locales/en/pokeball.ts
+++ b/src/locales/en/pokeball.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const pokeball: SimpleTranslationEntries = {
"pokeBall": "Poké Ball",
diff --git a/src/locales/en/pokemon-info-container.ts b/src/locales/en/pokemon-info-container.ts
index 068c9ebb431..64e5bd3cfcc 100644
--- a/src/locales/en/pokemon-info-container.ts
+++ b/src/locales/en/pokemon-info-container.ts
@@ -1,11 +1,9 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const pokemonInfoContainer: SimpleTranslationEntries = {
"moveset": "Moveset",
"gender": "Gender:",
"ability": "Ability:",
"nature": "Nature:",
- "epic": "Epic",
- "rare": "Rare",
- "common": "Common"
+ "form": "Form:"
} as const;
diff --git a/src/locales/en/pokemon-info.ts b/src/locales/en/pokemon-info.ts
index b9a24d7e449..f31fdac69ab 100644
--- a/src/locales/en/pokemon-info.ts
+++ b/src/locales/en/pokemon-info.ts
@@ -1,4 +1,4 @@
-import { PokemonInfoTranslationEntries } from "#app/plugins/i18n";
+import { PokemonInfoTranslationEntries } from "#app/interfaces/locales";
export const pokemonInfo: PokemonInfoTranslationEntries = {
Stat: {
@@ -13,7 +13,9 @@ export const pokemonInfo: PokemonInfoTranslationEntries = {
"SPDEF": "Sp. Def",
"SPDEFshortened": "SpDef",
"SPD": "Speed",
- "SPDshortened": "Spd"
+ "SPDshortened": "Spd",
+ "ACC": "Accuracy",
+ "EVA": "Evasiveness"
},
Type: {
diff --git a/src/locales/en/pokemon.ts b/src/locales/en/pokemon.ts
index 61c2d809082..297bbcc3975 100644
--- a/src/locales/en/pokemon.ts
+++ b/src/locales/en/pokemon.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const pokemon: SimpleTranslationEntries = {
"bulbasaur": "Bulbasaur",
diff --git a/src/locales/en/save-slot-select-ui-handler.ts b/src/locales/en/save-slot-select-ui-handler.ts
new file mode 100644
index 00000000000..f4efa3de734
--- /dev/null
+++ b/src/locales/en/save-slot-select-ui-handler.ts
@@ -0,0 +1,9 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const saveSlotSelectUiHandler: SimpleTranslationEntries = {
+ "overwriteData": "Overwrite the data in the selected slot?",
+ "loading": "Loading...",
+ "wave": "Wave",
+ "lv": "Lv",
+ "empty": "Empty",
+} as const;
diff --git a/src/locales/en/settings.ts b/src/locales/en/settings.ts
new file mode 100644
index 00000000000..f68a649269f
--- /dev/null
+++ b/src/locales/en/settings.ts
@@ -0,0 +1,99 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales.js";
+
+export const settings: SimpleTranslationEntries = {
+ "boy": "Boy",
+ "girl": "Girl",
+ "general": "General",
+ "display": "Display",
+ "audio": "Audio",
+ "gamepad": "Gamepad",
+ "keyboard": "Keyboard",
+ "gameSpeed": "Game Speed",
+ "hpBarSpeed": "HP Bar Speed",
+ "expGainsSpeed": "EXP Gains Speed",
+ "expPartyDisplay": "Show EXP Party",
+ "skipSeenDialogues": "Skip Seen Dialogues",
+ "battleStyle": "Battle Style",
+ "enableRetries": "Enable Retries",
+ "tutorials": "Tutorials",
+ "touchControls": "Touch Controls",
+ "vibrations": "Vibrations",
+ "normal": "Normal",
+ "fast": "Fast",
+ "faster": "Faster",
+ "skip": "Skip",
+ "levelUpNotifications": "Level Up Notifications",
+ "on": "On",
+ "off": "Off",
+ "switch": "Switch",
+ "set": "Set",
+ "auto": "Auto",
+ "disabled": "Disabled",
+ "language": "Language",
+ "change": "Change",
+ "uiTheme": "UI Theme",
+ "default": "Default",
+ "legacy": "Legacy",
+ "windowType": "Window Type",
+ "moneyFormat": "Money Format",
+ "damageNumbers": "Damage Numbers",
+ "simple": "Simple",
+ "fancy": "Fancy",
+ "abbreviated": "Abbreviated",
+ "moveAnimations": "Move Animations",
+ "showStatsOnLevelUp": "Show Stats on Level Up",
+ "candyUpgradeNotification": "Candy Upgrade Notification",
+ "passivesOnly": "Passives Only",
+ "candyUpgradeDisplay": "Candy Upgrade Display",
+ "icon": "Icon",
+ "animation": "Animation",
+ "moveInfo": "Move Info",
+ "showMovesetFlyout": "Show Moveset Flyout",
+ "showArenaFlyout": "Show Arena Flyout",
+ "showTimeOfDayWidget": "Show Time of Day Widget",
+ "timeOfDayAnimation": "Time of Day Animation",
+ "bounce": "Bounce",
+ "timeOfDay_back": "Back",
+ "spriteSet": "Sprite Set",
+ "consistent": "Consistent",
+ "mixedAnimated": "Mixed Animated",
+ "fusionPaletteSwaps": "Fusion Palette Swaps",
+ "playerGender": "Player Gender",
+ "typeHints": "Type Hints",
+ "masterVolume": "Master Volume",
+ "bgmVolume": "BGM Volume",
+ "seVolume": "SE Volume",
+ "musicPreference": "Music Preference",
+ "mixed": "Mixed",
+ "gamepadPleasePlug": "Please Plug in a Gamepad or Press a Button",
+ "delete": "Delete",
+ "keyboardPleasePress": "Please Press a Key on Your Keyboard",
+ "reset": "Reset",
+ "requireReload": "Reload Required",
+ "action": "Action",
+ "back": "Back",
+ "pressToBind": "Press to Bind",
+ "pressButton": "Press a Button...",
+ "buttonUp": "Up",
+ "buttonDown": "Down",
+ "buttonLeft": "Left",
+ "buttonRight": "Right",
+ "buttonAction": "Action",
+ "buttonMenu": "Menu",
+ "buttonSubmit": "Submit",
+ "buttonCancel": "Cancel",
+ "buttonStats": "Stats",
+ "buttonCycleForm": "Cycle Form",
+ "buttonCycleShiny": "Cycle Shiny",
+ "buttonCycleGender": "Cycle Gender",
+ "buttonCycleAbility": "Cycle Ability",
+ "buttonCycleNature": "Cycle Nature",
+ "buttonCycleVariant": "Cycle Variant",
+ "buttonSpeedUp": "Speed Up",
+ "buttonSlowDown": "Slow Down",
+ "alt": " (Alt)",
+ "mute": "Mute",
+ "controller": "Controller",
+ "gamepadSupport": "Gamepad Support",
+ "showBgmBar": "Show Music Names",
+} as const;
diff --git a/src/locales/en/splash-messages.ts b/src/locales/en/splash-messages.ts
index d8400111060..17eafc2d6d6 100644
--- a/src/locales/en/splash-messages.ts
+++ b/src/locales/en/splash-messages.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const splashMessages: SimpleTranslationEntries = {
"battlesWon": "Battles Won!",
diff --git a/src/locales/en/starter-select-ui-handler.ts b/src/locales/en/starter-select-ui-handler.ts
index 857ba4d805c..ac59785bab7 100644
--- a/src/locales/en/starter-select-ui-handler.ts
+++ b/src/locales/en/starter-select-ui-handler.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
/**
* The menu namespace holds most miscellaneous text that isn't directly part of the game's
@@ -21,21 +21,23 @@ export const starterSelectUiHandler: SimpleTranslationEntries = {
"passive": "Passive:",
"nature": "Nature:",
"eggMoves": "Egg Moves",
- "start": "Start",
"addToParty": "Add to Party",
"toggleIVs": "Toggle IVs",
"manageMoves": "Manage Moves",
+ "manageNature": "Manage Nature",
"useCandies": "Use Candies",
+ "selectNature": "Select nature.",
"selectMoveSwapOut": "Select a move to swap out.",
"selectMoveSwapWith": "Select a move to swap with",
"unlockPassive": "Unlock Passive",
"reduceCost": "Reduce Cost",
- "cycleShiny": "R: Cycle Shiny",
- "cycleForm": "F: Cycle Form",
- "cycleGender": "G: Cycle Gender",
- "cycleAbility": "E: Cycle Ability",
- "cycleNature": "N: Cycle Nature",
- "cycleVariant": "V: Cycle Variant",
+ "sameSpeciesEgg": "Buy an Egg",
+ "cycleShiny": ": Shiny",
+ "cycleForm": ": Form",
+ "cycleGender": ": Gender",
+ "cycleAbility": ": Ability",
+ "cycleNature": ": Nature",
+ "cycleVariant": ": Variant",
"enablePassive": "Enable Passive",
"disablePassive": "Disable Passive",
"locked": "Locked",
diff --git a/src/locales/en/status-effect.ts b/src/locales/en/status-effect.ts
new file mode 100644
index 00000000000..162b2ada281
--- /dev/null
+++ b/src/locales/en/status-effect.ts
@@ -0,0 +1,67 @@
+import { StatusEffectTranslationEntries } from "#app/interfaces/locales.js";
+
+export const statusEffect: StatusEffectTranslationEntries = {
+ none: {
+ name: "None",
+ description: "",
+ obtain: "",
+ obtainSource: "",
+ activation: "",
+ overlap: "",
+ heal: ""
+ },
+ poison: {
+ name: "Poison",
+ description: "poisoning",
+ obtain: "{{pokemonNameWithAffix}}\nwas poisoned!",
+ obtainSource: "{{pokemonNameWithAffix}}\nwas poisoned by {{sourceText}}!",
+ activation: "{{pokemonNameWithAffix}} is hurt\nby poison!",
+ overlap: "{{pokemonNameWithAffix}} is\nalready poisoned!",
+ heal: "{{pokemonNameWithAffix}} was\ncured of its poison!"
+ },
+ toxic: {
+ name: "Toxic",
+ description: "poisoning",
+ obtain: "{{pokemonNameWithAffix}}\nwas badly poisoned!",
+ obtainSource: "{{pokemonNameWithAffix}}\nwas badly poisoned by {{sourceText}}!",
+ activation: "{{pokemonNameWithAffix}} is hurt\nby poison!",
+ overlap: "{{pokemonNameWithAffix}} is\nalready poisoned!",
+ heal: "{{pokemonNameWithAffix}} was\ncured of its poison!"
+ },
+ paralysis: {
+ name: "Paralysis",
+ description: "paralysis",
+ obtain: "{{pokemonNameWithAffix}} was paralyzed,\nIt may be unable to move!",
+ obtainSource: "{{pokemonNameWithAffix}} was paralyzed by {{sourceText}}!\nIt may be unable to move!",
+ activation: "{{pokemonNameWithAffix}} is paralyzed!\nIt can't move!",
+ overlap: "{{pokemonNameWithAffix}} is\nalready paralyzed!",
+ heal: "{{pokemonNameWithAffix}} was\nhealed of paralysis!"
+ },
+ sleep: {
+ name: "Sleep",
+ description: "sleep",
+ obtain: "{{pokemonNameWithAffix}}\nfell asleep!",
+ obtainSource: "{{pokemonNameWithAffix}}\nfell asleep from {{sourceText}}!",
+ activation: "{{pokemonNameWithAffix}} is fast asleep.",
+ overlap: "{{pokemonNameWithAffix}} is\nalready asleep!",
+ heal: "{{pokemonNameWithAffix}} woke up!"
+ },
+ freeze: {
+ name: "Freeze",
+ description: "freezing",
+ obtain: "{{pokemonNameWithAffix}}\nwas frozen solid!",
+ obtainSource: "{{pokemonNameWithAffix}}\nwas frozen solid by {{sourceText}}!",
+ activation: "{{pokemonNameWithAffix}} is\nfrozen solid!",
+ overlap: "{{pokemonNameWithAffix}} is\nalready frozen!",
+ heal: "{{pokemonNameWithAffix}} was\ndefrosted!"
+ },
+ burn: {
+ name: "Burn",
+ description: "burn",
+ obtain: "{{pokemonNameWithAffix}}\nwas burned!",
+ obtainSource: "{{pokemonNameWithAffix}}\nwas burned by {{sourceText}}!",
+ activation: "{{pokemonNameWithAffix}} is hurt\nby its burn!",
+ overlap: "{{pokemonNameWithAffix}} is\nalready burned!",
+ heal: "{{pokemonNameWithAffix}} was\nhealed of its burn!"
+ },
+} as const;
diff --git a/src/locales/en/trainers.ts b/src/locales/en/trainers.ts
index cd6f78ccc13..b59cfdc4fda 100644
--- a/src/locales/en/trainers.ts
+++ b/src/locales/en/trainers.ts
@@ -1,4 +1,4 @@
-import {SimpleTranslationEntries} from "#app/plugins/i18n";
+import {SimpleTranslationEntries} from "#app/interfaces/locales";
// Titles of special trainers like gym leaders, elite four, and the champion
export const titles: SimpleTranslationEntries = {
@@ -13,6 +13,12 @@ export const titles: SimpleTranslationEntries = {
"rival": "Rival",
"professor": "Professor",
"frontier_brain": "Frontier Brain",
+ "rocket_boss": "Team Rocket Boss",
+ "magma_boss": "Team Magma Boss",
+ "aqua_boss": "Team Aqua Boss",
+ "galactic_boss": "Team Galactic Boss",
+ "plasma_boss": "Team Plasma Boss",
+ "flare_boss": "Team Flare Boss",
// Maybe if we add the evil teams we can add "Team Rocket" and "Team Aqua" etc. here as well as "Team Rocket Boss" and "Team Aqua Admin" etc.
} as const;
@@ -95,6 +101,7 @@ export const trainerClasses: SimpleTranslationEntries = {
"rich_kid_female": "Rich Kid",
"rich_kids": "Rich Kids",
"roughneck": "Roughneck",
+ "sailor": "Sailor",
"scientist": "Scientist",
"scientist_female": "Scientist",
"scientists": "Scientists",
@@ -117,7 +124,19 @@ export const trainerClasses: SimpleTranslationEntries = {
"worker": "Worker",
"worker_female": "Worker",
"workers": "Workers",
- "youngster": "Youngster"
+ "youngster": "Youngster",
+ "rocket_grunt": "Rocket Grunt",
+ "rocket_grunt_female": "Rocket Grunt",
+ "magma_grunt": "Magma Grunt",
+ "magma_grunt_female": "Magma Grunt",
+ "aqua_grunt": "Aqua Grunt",
+ "aqua_grunt_female": "Aqua Grunt",
+ "galactic_grunt": "Galactic Grunt",
+ "galactic_grunt_female": "Galactic Grunt",
+ "plasma_grunt": "Plasma Grunt",
+ "plasma_grunt_female": "Plasma Grunt",
+ "flare_grunt": "Flare Grunt",
+ "flare_grunt_female": "Flare Grunt",
} as const;
// Names of special trainers like gym leaders, elite four, and the champion
@@ -246,6 +265,11 @@ export const trainerNames: SimpleTranslationEntries = {
"leon": "Leon",
"rival": "Finn",
"rival_female": "Ivy",
+ "maxie": "Maxie",
+ "archie": "Archie",
+ "cyrus": "Cyrus",
+ "ghetsis": "Ghetsis",
+ "lysandre": "Lysandre",
// Double Names
"blue_red_double": "Blue & Red",
diff --git a/src/locales/en/tutorial.ts b/src/locales/en/tutorial.ts
index 6361bd7d25f..3c4aa2b46f6 100644
--- a/src/locales/en/tutorial.ts
+++ b/src/locales/en/tutorial.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const tutorial: SimpleTranslationEntries = {
"intro": `Welcome to PokéRogue! This is a battle-focused Pokémon fangame with roguelite elements.
diff --git a/src/locales/en/voucher.ts b/src/locales/en/voucher.ts
index f2bcb8d723c..57db5fe767f 100644
--- a/src/locales/en/voucher.ts
+++ b/src/locales/en/voucher.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const voucher: SimpleTranslationEntries = {
"vouchers": "Vouchers",
@@ -8,4 +8,4 @@ export const voucher: SimpleTranslationEntries = {
"eggVoucherGold": "Egg Voucher Gold",
"locked": "Locked",
"defeatTrainer": "Defeat {{trainerName}}"
-} as const;
+} as const;
diff --git a/src/locales/en/weather.ts b/src/locales/en/weather.ts
index 1e4602f362c..8222064f341 100644
--- a/src/locales/en/weather.ts
+++ b/src/locales/en/weather.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
/**
* The weather namespace holds text displayed when weather is active during a battle
@@ -15,12 +15,12 @@ export const weather: SimpleTranslationEntries = {
"sandstormStartMessage": "A sandstorm brewed!",
"sandstormLapseMessage": "The sandstorm rages.",
"sandstormClearMessage": "The sandstorm subsided.",
- "sandstormDamageMessage": "{{pokemonPrefix}}{{pokemonName}} is buffeted\nby the sandstorm!",
+ "sandstormDamageMessage": "{{pokemonNameWithAffix}} is buffeted\nby the sandstorm!",
"hailStartMessage": "It started to hail!",
"hailLapseMessage": "Hail continues to fall.",
"hailClearMessage": "The hail stopped.",
- "hailDamageMessage": "{{pokemonPrefix}}{{pokemonName}} is pelted\nby the hail!",
+ "hailDamageMessage": "{{pokemonNameWithAffix}} is pelted\nby the hail!",
"snowStartMessage": "It started to snow!",
"snowLapseMessage": "The snow is falling down.",
@@ -40,5 +40,27 @@ export const weather: SimpleTranslationEntries = {
"strongWindsStartMessage": "A heavy wind began!",
"strongWindsLapseMessage": "The wind blows intensely.",
+ "strongWindsEffectMessage": "The mysterious air current weakened the attack!",
"strongWindsClearMessage": "The heavy wind stopped."
};
+
+export const terrain: SimpleTranslationEntries = {
+ "misty": "Misty",
+ "mistyStartMessage": "Mist swirled around the battlefield!",
+ "mistyClearMessage": "The mist disappeared from the battlefield.",
+ "mistyBlockMessage": "{{pokemonNameWithAffix}} surrounds itself with a protective mist!",
+
+ "electric": "Electric",
+ "electricStartMessage": "An electric current ran across the battlefield!",
+ "electricClearMessage": "The electricity disappeared from the battlefield.",
+
+ "grassy": "Grassy",
+ "grassyStartMessage": "Grass grew to cover the battlefield!",
+ "grassyClearMessage": "The grass disappeared from the battlefield.",
+
+ "psychic": "Psychic",
+ "psychicStartMessage": "The battlefield got weird!",
+ "psychicClearMessage": "The weirdness disappeared from the battlefield!",
+
+ "defaultBlockMessage": "{{pokemonNameWithAffix}} is protected by the {{terrainName}} Terrain!"
+};
diff --git a/src/locales/es/ability-trigger.ts b/src/locales/es/ability-trigger.ts
index 594a67628e8..5c09c3832c0 100644
--- a/src/locales/es/ability-trigger.ts
+++ b/src/locales/es/ability-trigger.ts
@@ -1,7 +1,11 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const abilityTriggers: SimpleTranslationEntries = {
"blockRecoilDamage" : "¡{{abilityName}} de {{pokemonName}}\nlo protegió del daño de retroceso!",
"badDreams": "¡{{pokemonName}} está atormentado!",
+ "costar": "{{pokemonName}} copied {{allyName}}'s stat changes!",
+ "iceFaceAvoidedDamage": "¡{{pokemonNameWithAffix}} evitó\ndaño con {{abilityName}}!",
+ "trace": "{{pokemonName}} copied {{targetName}}'s\n{{abilityName}}!",
"windPowerCharged": "¡{{pokemonName}} se ha cargado de electricidad gracias a {{moveName}}!",
+ "quickDraw": "{{pokemonName}} can act faster than normal, thanks to its Quick Draw!",
} as const;
diff --git a/src/locales/es/ability.ts b/src/locales/es/ability.ts
index 56f3afe6b02..d89bc6fa3cc 100644
--- a/src/locales/es/ability.ts
+++ b/src/locales/es/ability.ts
@@ -1,4 +1,4 @@
-import { AbilityTranslationEntries } from "#app/plugins/i18n.js";
+import { AbilityTranslationEntries } from "#app/interfaces/locales.js";
export const ability: AbilityTranslationEntries = {
"stench": {
diff --git a/src/locales/es/achv.ts b/src/locales/es/achv.ts
index 071c0cbb860..47348903b28 100644
--- a/src/locales/es/achv.ts
+++ b/src/locales/es/achv.ts
@@ -1,6 +1,7 @@
-import { AchievementTranslationEntries } from "#app/plugins/i18n.js";
+import { AchievementTranslationEntries } from "#app/interfaces/locales.js";
-export const achv: AchievementTranslationEntries = {
+// Achievement translations for the when the player character is male
+export const PGMachv: AchievementTranslationEntries = {
"Achievements": {
name: "Logros",
},
@@ -168,4 +169,102 @@ export const achv: AchievementTranslationEntries = {
name: "Imbatible",
description: "Completa el juego en modo clásico.",
},
+
+ "MONO_GEN_ONE": {
+ name: "The Original Rival",
+ description: "Complete the generation one only challenge.",
+ },
+ "MONO_GEN_TWO": {
+ name: "Generation 1.5",
+ description: "Complete the generation two only challenge.",
+ },
+ "MONO_GEN_THREE": {
+ name: "Too much water?",
+ description: "Complete the generation three only challenge.",
+ },
+ "MONO_GEN_FOUR": {
+ name: "Is she really the hardest?",
+ description: "Complete the generation four only challenge.",
+ },
+ "MONO_GEN_FIVE": {
+ name: "All Original",
+ description: "Complete the generation five only challenge.",
+ },
+ "MONO_GEN_SIX": {
+ name: "Almost Royalty",
+ description: "Complete the generation six only challenge.",
+ },
+ "MONO_GEN_SEVEN": {
+ name: "Only Technically",
+ description: "Complete the generation seven only challenge.",
+ },
+ "MONO_GEN_EIGHT": {
+ name: "A Champion Time!",
+ description: "Complete the generation eight only challenge.",
+ },
+ "MONO_GEN_NINE": {
+ name: "She was going easy on you",
+ description: "Complete the generation nine only challenge.",
+ },
+
+ "MonoType": {
+ description: "Complete the {{type}} monotype challenge.",
+ },
+ "MONO_NORMAL": {
+ name: "Mono NORMAL",
+ },
+ "MONO_FIGHTING": {
+ name: "I Know Kung Fu",
+ },
+ "MONO_FLYING": {
+ name: "Mono FLYING",
+ },
+ "MONO_POISON": {
+ name: "Kanto's Favourite",
+ },
+ "MONO_GROUND": {
+ name: "Mono GROUND",
+ },
+ "MONO_ROCK": {
+ name: "Brock Hard",
+ },
+ "MONO_BUG": {
+ name: "Sting Like A Beedrill",
+ },
+ "MONO_GHOST": {
+ name: "Who you gonna call?",
+ },
+ "MONO_STEEL": {
+ name: "Mono STEEL",
+ },
+ "MONO_FIRE": {
+ name: "Mono FIRE",
+ },
+ "MONO_WATER": {
+ name: "When It Rains, It Pours",
+ },
+ "MONO_GRASS": {
+ name: "Mono GRASS",
+ },
+ "MONO_ELECTRIC": {
+ name: "Mono ELECTRIC",
+ },
+ "MONO_PSYCHIC": {
+ name: "Mono PSYCHIC",
+ },
+ "MONO_ICE": {
+ name: "Mono ICE",
+ },
+ "MONO_DRAGON": {
+ name: "Mono DRAGON",
+ },
+ "MONO_DARK": {
+ name: "It's just a phase",
+ },
+ "MONO_FAIRY": {
+ name: "Mono FAIRY",
+ },
} as const;
+
+// Achievement translations for the when the player character is female (it for now uses the same translations as the male version)
+export const PGFachv: AchievementTranslationEntries = PGMachv;
diff --git a/src/locales/es/battle-message-ui-handler.ts b/src/locales/es/battle-message-ui-handler.ts
index e1668d1b5f6..cfc913f4b50 100644
--- a/src/locales/es/battle-message-ui-handler.ts
+++ b/src/locales/es/battle-message-ui-handler.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const battleMessageUiHandler: SimpleTranslationEntries = {
"ivBest": "Inmejorable",
diff --git a/src/locales/es/battle.ts b/src/locales/es/battle.ts
index af090153a04..bc0dd1e4b78 100644
--- a/src/locales/es/battle.ts
+++ b/src/locales/es/battle.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const battle: SimpleTranslationEntries = {
"bossAppeared": "¡{{bossName}} te corta el paso!",
@@ -14,17 +14,21 @@ export const battle: SimpleTranslationEntries = {
"switchQuestion": "¿Quieres cambiar a\n{{pokemonName}}?",
"trainerDefeated": "¡Has derrotado a\n{{trainerName}}!",
"moneyWon": "¡Has ganado\n₽{{moneyAmount}} por vencer!",
+ "moneyPickedUp": "You picked up ₽{{moneyAmount}}!",
"pokemonCaught": "¡{{pokemonName}} atrapado!",
+ "addedAsAStarter": "{{pokemonName}} ha sido añadido\na tus iniciales!",
"partyFull": "Tu equipo esta completo.\n¿Quieres liberar un Pokémon para meter a {{pokemonName}}?",
"pokemon": "Pokémon",
"sendOutPokemon": "¡Adelante, {{pokemonName}}!",
- "hitResultCriticalHit": "!Un golpe crítico!",
- "hitResultSuperEffective": "!Es supereficaz!",
+ "hitResultCriticalHit": "¡Un golpe crítico!",
+ "hitResultSuperEffective": "¡Es supereficaz!",
"hitResultNotVeryEffective": "No es muy eficaz…",
"hitResultNoEffect": "No afecta a {{pokemonName}}!",
- "hitResultOneHitKO": "!KO en 1 golpe!",
+ "hitResultOneHitKO": "¡KO en 1 golpe!",
"attackFailed": "¡Pero ha fallado!",
+ "attackMissed": "¡{{pokemonNameWithAffix}}\nha evitado el ataque!",
"attackHitsCount": "N.º de golpes: {{count}}.",
+ "rewardGain": "¡Has obtenido\n{{modifierName}}!",
"expGain": "{{pokemonName}} ha ganado\n{{exp}} puntos de experiencia.",
"levelUp": "¡{{pokemonName}} ha subido al \nNv. {{level}}!",
"learnMove": "¡{{pokemonName}} ha aprendido {{moveName}}!",
@@ -53,9 +57,82 @@ export const battle: SimpleTranslationEntries = {
"escapeVerbSwitch": "cambiar",
"escapeVerbFlee": "huir",
"notDisabled": "¡El movimiento {{moveName}} de {{pokemonName}}\nya no está anulado!",
+ "turnEndHpRestore": "{{pokemonName}}'s HP was restored.",
+ "hpIsFull": "{{pokemonName}}'s\nHP is full!",
"skipItemQuestion": "¿Estás seguro de que no quieres coger un objeto?",
"eggHatching": "¿Y esto?",
"ivScannerUseQuestion": "¿Quieres usar el Escáner de IVs en {{pokemonName}}?",
- "drainMessage": "{{pokemonName}} had its\nenergy drained!",
- "regainHealth": "{{pokemonName}} regained\nhealth!"
+ "wildPokemonWithAffix": "El {{pokemonName}} salvaje",
+ "foePokemonWithAffix": "El {{pokemonName}} enemigo",
+ "useMove": "¡{{pokemonNameWithAffix}} usó {{moveName}}!",
+ "drainMessage": "¡{{pokemonName}} tuvo su\nenergía absorbida!",
+ "regainHealth": "¡{{pokemonName}} recuperó\nPS!",
+ "stealEatBerry": "¡{{pokemonName}} robó la {{berryName}}\nde {{targetName}} y se la comió!",
+ "fainted": "¡{{pokemonNameWithAffix}} se debilitó!",
+ "statRose": "¡El {{stats}} de {{pokemonNameWithAffix}} ha subido!",
+ "statSharplyRose": "¡El {{stats}} de {{pokemonNameWithAffix}} ha subido mucho!",
+ "statRoseDrastically": "¡El {{stats}} de {{pokemonNameWithAffix}} ha subido muchísimo!",
+ "statWontGoAnyHigher": "¡El {{stats}} de {{pokemonNameWithAffix}} no puede subir más!",
+ "statFell": "¡El {{stats}} de {{pokemonNameWithAffix}} ha bajado!",
+ "statHarshlyFell": "¡El {{stats}} de {{pokemonNameWithAffix}}} ha bajado mucho!",
+ "statSeverelyFell": "¡El {{stats}} de {{pokemonNameWithAffix}} ha bajado muchísimo!",
+ "statWontGoAnyLower": "¡El {{stats}} de {{pokemonNameWithAffix}} no puede bajar más!",
+ "ppReduced": "It reduced the PP of {{targetName}}'s\n{{moveName}} by {{reduction}}!",
+ "battlerTagsRechargingLapse": "{{pokemonNameWithAffix}} must\nrecharge!",
+ "battlerTagsTrappedOnAdd": "{{pokemonNameWithAffix}} can no\nlonger escape!",
+ "battlerTagsTrappedOnRemove": "{{pokemonNameWithAffix}} was freed\nfrom {{moveName}}!",
+ "battlerTagsFlinchedLapse": "{{pokemonNameWithAffix}} flinched!",
+ "battlerTagsConfusedOnAdd": "{{pokemonNameWithAffix}} became\nconfused!",
+ "battlerTagsConfusedOnRemove": "{{pokemonNameWithAffix}} snapped\nout of confusion!",
+ "battlerTagsConfusedOnOverlap": "{{pokemonNameWithAffix}} is\nalready confused!",
+ "battlerTagsConfusedLapse": "{{pokemonNameWithAffix}} is\nconfused!",
+ "battlerTagsConfusedLapseHurtItself": "It hurt itself in its\nconfusion!",
+ "battlerTagsDestinyBondLapseIsBoss": "{{pokemonNameWithAffix}} is unaffected\nby the effects of Destiny Bond.",
+ "battlerTagsDestinyBondLapse": "{{pokemonNameWithAffix}} took\n{{pokemonNameWithAffix2}} down with it!",
+ "battlerTagsInfatuatedOnAdd": "{{pokemonNameWithAffix}} fell in love\nwith {{sourcePokemonName}}!",
+ "battlerTagsInfatuatedOnOverlap": "{{pokemonNameWithAffix}} is\nalready in love!",
+ "battlerTagsInfatuatedLapse": "{{pokemonNameWithAffix}} is in love\nwith {{sourcePokemonName}}!",
+ "battlerTagsInfatuatedLapseImmobilize": "{{pokemonNameWithAffix}} is\nimmobilized by love!",
+ "battlerTagsInfatuatedOnRemove": "{{pokemonNameWithAffix}} got over\nits infatuation.",
+ "battlerTagsSeededOnAdd": "{{pokemonNameWithAffix}} was seeded!",
+ "battlerTagsSeededLapse": "{{pokemonNameWithAffix}}'s health is\nsapped by Leech Seed!",
+ "battlerTagsSeededLapseShed": "{{pokemonNameWithAffix}}'s Leech Seed\nsucked up the liquid ooze!",
+ "battlerTagsNightmareOnAdd": "{{pokemonNameWithAffix}} began\nhaving a Nightmare!",
+ "battlerTagsNightmareOnOverlap": "{{pokemonNameWithAffix}} is\nalready locked in a Nightmare!",
+ "battlerTagsNightmareLapse": "{{pokemonNameWithAffix}} is locked\nin a Nightmare!",
+ "battlerTagsEncoreOnAdd": "{{pokemonNameWithAffix}} got\nan Encore!",
+ "battlerTagsEncoreOnRemove": "{{pokemonNameWithAffix}}'s Encore\nended!",
+ "battlerTagsHelpingHandOnAdd": "{{pokemonNameWithAffix}} is ready to\nhelp {{pokemonName}}!",
+ "battlerTagsIngrainLapse": "{{pokemonNameWithAffix}} absorbed\nnutrients with its roots!",
+ "battlerTagsIngrainOnTrap": "{{pokemonNameWithAffix}} planted its roots!",
+ "battlerTagsAquaRingOnAdd": "{{pokemonNameWithAffix}} surrounded\nitself with a veil of water!",
+ "battlerTagsAquaRingLapse": "{{moveName}} restored\n{{pokemonName}}'s HP!",
+ "battlerTagsDrowsyOnAdd": "{{pokemonNameWithAffix}} grew drowsy!",
+ "battlerTagsDamagingTrapLapse": "{{pokemonNameWithAffix}} is hurt\nby {{moveName}}!",
+ "battlerTagsBindOnTrap": "{{pokemonNameWithAffix}} was squeezed by\n{{sourcePokemonName}}'s {{moveName}}!",
+ "battlerTagsWrapOnTrap": "{{pokemonNameWithAffix}} was Wrapped\nby {{sourcePokemonName}}!",
+ "battlerTagsVortexOnTrap": "{{pokemonNameWithAffix}} was trapped\nin the vortex!",
+ "battlerTagsClampOnTrap": "{{sourcePokemonNameWithAffix}} Clamped\n{{pokemonName}}!",
+ "battlerTagsSandTombOnTrap": "{{pokemonNameWithAffix}} became trapped\nby {{moveName}}!",
+ "battlerTagsMagmaStormOnTrap": "{{pokemonNameWithAffix}} became trapped\nby swirling magma!",
+ "battlerTagsSnapTrapOnTrap": "{{pokemonNameWithAffix}} got trapped\nby a snap trap!",
+ "battlerTagsThunderCageOnTrap": "{{sourcePokemonNameWithAffix}} trapped\n{{pokemonNameWithAffix}}!",
+ "battlerTagsInfestationOnTrap": "{{pokemonNameWithAffix}} has been afflicted \nwith an infestation by {{sourcePokemonNameWithAffix}}!",
+ "battlerTagsProtectedOnAdd": "{{pokemonNameWithAffix}}\nprotected itself!",
+ "battlerTagsProtectedLapse": "{{pokemonNameWithAffix}}\nprotected itself!",
+ "battlerTagsEnduringOnAdd": "{{pokemonNameWithAffix}} braced\nitself!",
+ "battlerTagsEnduringLapse": "{{pokemonNameWithAffix}} endured\nthe hit!",
+ "battlerTagsSturdyLapse": "{{pokemonNameWithAffix}} endured\nthe hit!",
+ "battlerTagsPerishSongLapse": "{{pokemonNameWithAffix}}'s perish count fell to {{turnCount}}.",
+ "battlerTagsTruantLapse": "{{pokemonNameWithAffix}} is\nloafing around!",
+ "battlerTagsSlowStartOnAdd": "{{pokemonNameWithAffix}} can't\nget it going!",
+ "battlerTagsSlowStartOnRemove": "{{pokemonNameWithAffix}} finally\ngot its act together!",
+ "battlerTagsHighestStatBoostOnAdd": "{{pokemonNameWithAffix}}'s {{statName}}\nwas heightened!",
+ "battlerTagsHighestStatBoostOnRemove": "The effects of {{pokemonNameWithAffix}}'s\n{{abilityName}} wore off!",
+ "battlerTagsCritBoostOnAdd": "{{pokemonNameWithAffix}} is getting\npumped!",
+ "battlerTagsCritBoostOnRemove": "{{pokemonNameWithAffix}} relaxed.",
+ "battlerTagsSaltCuredOnAdd": "{{pokemonNameWithAffix}} is being salt cured!",
+ "battlerTagsSaltCuredLapse": "{{pokemonNameWithAffix}} is hurt by {{moveName}}!",
+ "battlerTagsCursedOnAdd": "{{pokemonNameWithAffix}} cut its own HP and put a curse on the {{pokemonName}}!",
+ "battlerTagsCursedLapse": "{{pokemonNameWithAffix}} is afflicted by the Curse!"
} as const;
diff --git a/src/locales/es/berry.ts b/src/locales/es/berry.ts
index d2d891ea19c..0bebdf43c13 100644
--- a/src/locales/es/berry.ts
+++ b/src/locales/es/berry.ts
@@ -1,4 +1,4 @@
-import { BerryTranslationEntries } from "#app/plugins/i18n";
+import { BerryTranslationEntries } from "#app/interfaces/locales";
export const berry: BerryTranslationEntries = {
"SITRUS": {
diff --git a/src/locales/es/bgm-name.ts b/src/locales/es/bgm-name.ts
new file mode 100644
index 00000000000..a0f7544d608
--- /dev/null
+++ b/src/locales/es/bgm-name.ts
@@ -0,0 +1,145 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const bgmName: SimpleTranslationEntries = {
+ "music": "Música: ",
+ "missing_entries" : "{{name}}",
+ "battle_kanto_champion": "B2W2 - ¡Vs Campeón de Kanto!",
+ "battle_johto_champion": "B2W2 - ¡Vs Campeón de Johto!",
+ "battle_hoenn_champion": "B2W2 - ¡Vs Campeón de Hoenn!",
+ "battle_sinnoh_champion": "B2W2 - ¡Vs Campeón de Sinnoh!",
+ "battle_champion_alder": "BW - ¡Vs Campeón de Teselia!",
+ "battle_champion_iris": "B2W2 - ¡Vs Campeón de Teselia!",
+ "battle_kalos_champion": "XY - ¡Vs Campeón de Kalos!",
+ "battle_alola_champion": "USUM - ¡Vs Campeón de Alola!",
+ "battle_galar_champion": "SWSH - ¡Vs Campeón de Galar!",
+ "battle_champion_geeta": "SV - ¡Vs Campeona Ságita!",
+ "battle_champion_nemona": "SV - ¡Vs Campeona Mencía!",
+ "battle_champion_kieran": "SV - ¡Vs Campeón Cass!",
+ "battle_hoenn_elite": "ORAS - ¡Vs Alto Mando!",
+ "battle_unova_elite": "BW - ¡Vs Alto Mando!",
+ "battle_kalos_elite": "XY - ¡Vs Alto Mando!",
+ "battle_alola_elite": "SM - ¡Vs Alto Mando!",
+ "battle_galar_elite": "SWSH - Torneo de Finalistas",
+ "battle_paldea_elite": "SV - ¡Vs Alto Mando!",
+ "battle_bb_elite": "SV - ¡Vs Alto Mando de la Academia Arándano!",
+ "battle_final_encounter": "PMD RTDX - Dominio de Rayquaza",
+ "battle_final": "BW - ¡Vs Ghechis!",
+ "battle_kanto_gym": "B2W2 - ¡Vs Líder de Kanto!",
+ "battle_johto_gym": "B2W2 - ¡Vs Líder de Johto!",
+ "battle_hoenn_gym": "B2W2 - ¡Vs Líder de Hoenn!",
+ "battle_sinnoh_gym": "B2W2 - ¡Vs Líder de Sinnoh!",
+ "battle_unova_gym": "BW - ¡Vs Líder de Teselia!",
+ "battle_kalos_gym": "XY - ¡Vs Líder de Kalos!",
+ "battle_galar_gym": "SWSH - ¡Vs Líder de Galar!",
+ "battle_paldea_gym": "SV - ¡Vs Líder de Paldea!",
+ "battle_legendary_kanto": "XY - ¡Vs Legendarios de Kanto!",
+ "battle_legendary_raikou": "HGSS - ¡Vs Raikou!",
+ "battle_legendary_entei": "HGSS - ¡Vs Entei!",
+ "battle_legendary_suicune": "HGSS - ¡Vs Suicune!",
+ "battle_legendary_lugia": "HGSS - ¡Vs Lugia!",
+ "battle_legendary_ho_oh": "HGSS - ¡Vs Ho-oh!",
+ "battle_legendary_regis_g5": "B2W2 - ¡Vs Regis!",
+ "battle_legendary_regis_g6": "ORAS - ¡Vs Regis!",
+ "battle_legendary_gro_kyo": "ORAS - ¡Vs Groudon/Kyogre!",
+ "battle_legendary_rayquaza": "ORAS - ¡Vs Rayquaza!",
+ "battle_legendary_deoxys": "ORAS - ¡Vs Deoxys!",
+ "battle_legendary_lake_trio": "ORAS - ¡Vs Trío del Lago!",
+ "battle_legendary_sinnoh": "ORAS - ¡Vs Legendarios de Sinnoh!",
+ "battle_legendary_dia_pal": "ORAS - ¡Vs Dialga/Palkia!",
+ "battle_legendary_giratina": "ORAS - ¡Vs Giratina!",
+ "battle_legendary_arceus": "HGSS - ¡Vs Arceus!",
+ "battle_legendary_unova": "BW - ¡Vs Legendarios de Teselia!",
+ "battle_legendary_kyurem": "BW - ¡Vs Kyurem!",
+ "battle_legendary_res_zek": "BW - ¡Vs Reshiram/Zekrom!",
+ "battle_legendary_xern_yvel": "XY - ¡Vs Xerneas/Yveltal!",
+ "battle_legendary_tapu": "SM - ¡Vs Tapus!",
+ "battle_legendary_sol_lun": "SM - ¡Vs Solgaleo/Lunala!",
+ "battle_legendary_ub": "SM - ¡Vs Ultraentes!",
+ "battle_legendary_dusk_dawn": "USUM - ¡Vs Necrozma Melena Crepuscular/Alas del Alba!",
+ "battle_legendary_ultra_nec": "USUM - ¡Vs Ultra-Necrozma!",
+ "battle_legendary_zac_zam": "SWSH - ¡Vs Zacian/Zamazenta!",
+ "battle_legendary_glas_spec": "SWSH - ¡Vs Glastrier/Spectrier!",
+ "battle_legendary_calyrex": "SWSH - ¡Vs Calyrex!",
+ "battle_legendary_birds_galar": "SWSH - ¡Vs Aves Legendarias de Galar!",
+ "battle_legendary_ruinous": "SV - ¡Vs Tesoros Funestos!",
+ "battle_legendary_kor_mir": "SV Depths of Area Zero Battle",
+ "battle_legendary_loyal_three": "SV - ¡Vs Compatrones!",
+ "battle_legendary_ogerpon": "SV - ¡Vs Ogerpon!",
+ "battle_legendary_terapagos": "SV - ¡Vs Terapagos!",
+ "battle_legendary_pecharunt": "SV - ¡Vs Pecharunt!",
+ "battle_rival": "BW - ¡Vs Rival!",
+ "battle_rival_2": "BW - ¡Vs N!",
+ "battle_rival_3": "BW - ¡Vs N (Liga Pokémon)!",
+ "battle_trainer": "BW - ¡Vs Entrenador!",
+ "battle_wild": "BW - ¡Vs Pokémon Salvaje!",
+ "battle_wild_strong": "BW - ¡Vs Pokémon Salvaje Raro!",
+ "end_summit": "PMD RTDX - Techo del Cielo",
+ "battle_rocket_grunt": "HGSS Team Rocket Battle",
+ "battle_aqua_magma_grunt": "ORAS Team Aqua & Magma Battle",
+ "battle_galactic_grunt": "BDSP Team Galactic Battle",
+ "battle_plasma_grunt": "BW - ¡Vs Equipo Plasma!",
+ "battle_flare_grunt": "XY Team Flare Battle",
+ "battle_rocket_boss": "USUM Giovanni Battle",
+ "battle_aqua_magma_boss": "ORAS Archie & Maxie Battle",
+ "battle_galactic_boss": "BDSP Cyrus Battle",
+ "battle_plasma_boss": "B2W2 Ghetsis Battle",
+ "battle_flare_boss": "XY Lysandre Battle",
+
+ // Biome Music
+ "abyss": "PMD EoS - Cráter Oscuro",
+ "badlands": "PMD EoS - Valle Desolado",
+ "beach": "PMD EoS - Risco Calado",
+ "cave": "PMD EoS - Cueva de la Cumbre del Cielo",
+ "construction_site": "PMD EoS - Roquedal",
+ "desert": "PMD EoS - Desierto Norte",
+ "dojo": "PMD EoS - Dojo Marowak",
+ "end": "PMD RTDX - Torre del Cielo",
+ "factory": "PMD EoS - Ruinas Camufladas",
+ "fairy_cave": "PMD EoS - Cueva Estrella",
+ "forest": "PMD EoS - Bosque Sombrío",
+ "grass": "PMD EoS - Manzanar",
+ "graveyard": "PMD EoS - Bosque Misterio",
+ "ice_cave": "PMD EoS - Gran Iceberg",
+ "island": "PMD EoS - Costa Escarpada",
+ "jungle": "Lmz - Jungle", // The composer thinks about a more creative name
+ "laboratory": "Firel - Laboratory", // The composer thinks about a more creative name
+ "lake": "PMD EoS - Cueva Cristal",
+ "meadow": "PMD EoS - Bosque de la Cumbre del Cielo",
+ "metropolis": "Firel - Metropolis", // The composer thinks about a more creative name
+ "mountain": "PMD EoS - Monte Cuerno",
+ "plains": "PMD EoS - Pradera de la Cumbre del Cielo",
+ "power_plant": "PMD EoS - Pradera Destello",
+ "ruins": "PMD EoS - Sima Hermética",
+ "sea": "PMD EoS - Cueva Aguamar",
+ "seabed": "Firel - Seabed", // The composer thinks about a more creative name
+ "slum": "PMD EoS - Costa de la Cumbre del Cielo",
+ "snowy_forest": "PMD EoS - Campo nevado de la Cumbre del Cielo",
+ "space": "Firel - Aether",
+ "swamp": "PMD EoS - Mar Circundante",
+ "tall_grass": "PMD EoS - Bosque Niebla",
+ "temple": "PMD EoS - Cueva Regia",
+ "town": "PMD EoS - Tema del territorio aleatorio 3",
+ "volcano": "PMD EoS - Cueva Vapor",
+ "wasteland": "PMD EoS - Corazón Tierra Oculta",
+
+ // Encounter
+ "encounter_ace_trainer": "BW - Desafío Combate (Entrenador Guay)",
+ "encounter_backpacker": "BW - Desafío Combate (Mochilero)",
+ "encounter_clerk": "BW - Desafío Combate (Empresario)",
+ "encounter_cyclist": "BW - Desafío Combate (Ciclista)",
+ "encounter_lass": "BW - Desafío Combate (Chica)",
+ "encounter_parasol_lady": "BW - Desafío Combate (Dama parasol)",
+ "encounter_pokefan": "BW - Desafío Combate (Pokéfan)",
+ "encounter_psychic": "BW - Desafío Combate (Médium)",
+ "encounter_rich": "BW - Desafío Combate (Aristócrata)",
+ "encounter_rival": "BW - Desafío Combate (Cheren)",
+ "encounter_roughneck": "BW - Desafío Combate (Calvo)",
+ "encounter_scientist": "BW - Desafío Combate (Científico)",
+ "encounter_twins": "BW - Desafío Combate (Gemelas)",
+ "encounter_youngster": "BW - Desafío Combate (Joven)",
+
+ // Other
+ "heal": "BW - Cura Pokémon",
+ "menu": "PMD EoS - ¡Bienvenidos al mundo de los Pokémon!",
+ "title": "PMD EoS - Tema del menú principal",
+} as const;
diff --git a/src/locales/es/biome.ts b/src/locales/es/biome.ts
index 7e34c5285e5..a0b861b57f5 100644
--- a/src/locales/es/biome.ts
+++ b/src/locales/es/biome.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const biome: SimpleTranslationEntries = {
"unknownLocation": "En algún lugar que no puedes recordar",
diff --git a/src/locales/es/challenges.ts b/src/locales/es/challenges.ts
new file mode 100644
index 00000000000..711be39b116
--- /dev/null
+++ b/src/locales/es/challenges.ts
@@ -0,0 +1,25 @@
+import { TranslationEntries } from "#app/interfaces/locales";
+
+export const challenges: TranslationEntries = {
+ "title": "Parámetros de Desafíos",
+ "illegalEvolution": "{{pokemon}} changed into an ineligble pokémon\nfor this challenge!",
+ "singleGeneration": {
+ "name": "Monogeneración",
+ "desc": "Solo puedes usar Pokémon de {{gen}} generación.",
+ "desc_default": "Solo puedes usar Pokémon de la generación elegida.",
+ "gen_1": "primera",
+ "gen_2": "segunda",
+ "gen_3": "tercera",
+ "gen_4": "cuarta",
+ "gen_5": "quinta",
+ "gen_6": "sexta",
+ "gen_7": "séptima",
+ "gen_8": "octava",
+ "gen_9": "novena",
+ },
+ "singleType": {
+ "name": "Monotipo",
+ "desc": "Solo puedes usar Pokémon with the {{type}} type.",
+ "desc_default": "Solo puedes usar Pokémon del tipo elegido.",
+ },
+} as const;
diff --git a/src/locales/es/command-ui-handler.ts b/src/locales/es/command-ui-handler.ts
index 89dddb84a06..5ddde2c983a 100644
--- a/src/locales/es/command-ui-handler.ts
+++ b/src/locales/es/command-ui-handler.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const commandUiHandler: SimpleTranslationEntries = {
"fight": "Luchar",
diff --git a/src/locales/es/common.ts b/src/locales/es/common.ts
new file mode 100644
index 00000000000..347b39c973c
--- /dev/null
+++ b/src/locales/es/common.ts
@@ -0,0 +1,10 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const common: SimpleTranslationEntries = {
+ "start": "Start",
+ "luckIndicator": "Suerte:",
+ "shinyOnHover": "Shiny",
+ "commonShiny": "Común",
+ "rareShiny": "Raro",
+ "epicShiny": "Épico",
+} as const;
diff --git a/src/locales/es/config.ts b/src/locales/es/config.ts
index 7e1935a23a0..341fafa4ca9 100644
--- a/src/locales/es/config.ts
+++ b/src/locales/es/config.ts
@@ -1,10 +1,12 @@
import { ability } from "./ability";
import { abilityTriggers } from "./ability-trigger";
-import { achv } from "./achv";
+import { PGFachv, PGMachv } from "./achv";
import { battle } from "./battle";
import { battleMessageUiHandler } from "./battle-message-ui-handler";
import { berry } from "./berry";
+import { bgmName } from "./bgm-name";
import { biome } from "./biome";
+import { challenges } from "./challenges";
import { commandUiHandler } from "./command-ui-handler";
import {
PGFbattleSpecDialogue,
@@ -18,10 +20,12 @@ import {
} from "./dialogue";
import { egg } from "./egg";
import { fightUiHandler } from "./fight-ui-handler";
+import { gameMode } from "./game-mode";
import { gameStatsUiHandler } from "./game-stats-ui-handler";
import { growth } from "./growth";
import { menu } from "./menu";
import { menuUiHandler } from "./menu-ui-handler";
+import { modifier } from "./modifier";
import { modifierType } from "./modifier-type";
import { move } from "./move";
import { nature } from "./nature";
@@ -29,22 +33,32 @@ import { pokeball } from "./pokeball";
import { pokemon } from "./pokemon";
import { pokemonInfo } from "./pokemon-info";
import { pokemonInfoContainer } from "./pokemon-info-container";
+import { saveSlotSelectUiHandler } from "./save-slot-select-ui-handler";
import { splashMessages } from "./splash-messages";
import { starterSelectUiHandler } from "./starter-select-ui-handler";
+import { statusEffect } from "./status-effect";
import { titles, trainerClasses, trainerNames } from "./trainers";
import { tutorial } from "./tutorial";
import { voucher } from "./voucher";
-import { weather } from "./weather";
+import { terrain, weather } from "./weather";
+import { partyUiHandler } from "./party-ui-handler";
+import { settings } from "./settings.js";
+import { common } from "./common.js";
+import { modifierSelectUiHandler } from "./modifier-select-ui-handler";
export const esConfig = {
ability: ability,
abilityTriggers: abilityTriggers,
- achv: achv,
battle: battle,
battleMessageUiHandler: battleMessageUiHandler,
berry: berry,
+ bgmName: bgmName,
biome: biome,
+ challenges: challenges,
commandUiHandler: commandUiHandler,
+ common: common,
+ PGMachv: PGMachv,
+ PGFachv: PGFachv,
PGMdialogue: PGMdialogue,
PGFdialogue: PGFdialogue,
PGMbattleSpecDialogue: PGMbattleSpecDialogue,
@@ -55,10 +69,12 @@ export const esConfig = {
PGFdoubleBattleDialogue: PGFdoubleBattleDialogue,
egg: egg,
fightUiHandler: fightUiHandler,
+ gameMode: gameMode,
gameStatsUiHandler: gameStatsUiHandler,
growth: growth,
menu: menu,
menuUiHandler: menuUiHandler,
+ modifier: modifier,
modifierType: modifierType,
move: move,
nature: nature,
@@ -66,12 +82,18 @@ export const esConfig = {
pokemon: pokemon,
pokemonInfo: pokemonInfo,
pokemonInfoContainer: pokemonInfoContainer,
+ saveSlotSelectUiHandler: saveSlotSelectUiHandler,
+ settings: settings,
splashMessages: splashMessages,
starterSelectUiHandler: starterSelectUiHandler,
+ statusEffect: statusEffect,
+ terrain: terrain,
titles: titles,
trainerClasses: trainerClasses,
trainerNames: trainerNames,
tutorial: tutorial,
voucher: voucher,
- weather: weather
+ weather: weather,
+ partyUiHandler: partyUiHandler,
+ modifierSelectUiHandler: modifierSelectUiHandler
};
diff --git a/src/locales/es/dialogue.ts b/src/locales/es/dialogue.ts
index faabab3077d..c1b23b57fe0 100644
--- a/src/locales/es/dialogue.ts
+++ b/src/locales/es/dialogue.ts
@@ -1,107 +1,107 @@
-import {DialogueTranslationEntries, SimpleTranslationEntries} from "#app/plugins/i18n";
+import {DialogueTranslationEntries, SimpleTranslationEntries} from "#app/interfaces/locales";
// Dialogue of the NPCs in the game when the player character is male (or unset)
export const PGMdialogue: DialogueTranslationEntries = {
"youngster": {
"encounter": {
- 1: "Hey, wanna battle?",
- 2: "Are you a new trainer too?",
- 3: "Hey, I haven't seen you before. Let's battle!",
- 4: "I just lost, so I'm trying to find more Pokémon.\nWait! You look weak! Come on, let's battle!",
- 5: "Have we met or not? I don't really remember. Well, I guess it's nice to meet you anyway!",
- 6: "All right! Let's go!",
- 7: "All right! Here I come! I'll show you my power!",
- 8: "Haw haw haw... I'll show you how hawesome my Pokémon are!",
- 9: "No need to waste time saying hello. Bring it on whenever you're ready!",
- 10: "Don't let your guard down, or you may be crying when a kid beats you.",
- 11: "I've raised my Pokémon with great care. You're not allowed to hurt them!",
- 12: "Glad you made it! It won't be an easy job from here.",
- 13: "The battles continue forever! Welcome to the world with no end!"
+ 1: "Hey, ¿quieres luchar?",
+ 2: "¿También eres un entrenador novato?",
+ 3: "No te había visto antes. ¡Vamos a luchar!",
+ 4: "Perdí y estoy intentando buscar nuevos Pokémon.\n¡Espera, pareces débil! ¡Vamos, a luchar!",
+ 5: "¿Nos conocimos o no? Ni me acuerdo. ¡Supongo que es un gusto conocerte!",
+ 6: "¡Venga, vamos!",
+ 7: "¡Allá voy! ¡Te enseñaré mi poder!",
+ 8: "¡Ja ja ja! ¡Te enseñaré lo jimpresionante que es mi equipo!",
+ 9: "No pierdas tiempo saludando. ¡Adelante, cuando estés listo!",
+ 10: "No bajes la guardia o llorarás porque un niño te ganó.",
+ 11: "He cuidado a mis Pokémon con cariño. ¡Prohibido hacerles daño!",
+ 12: "¡Encantado de que lo lograses! A partir de aquí no será fácil.",
+ 13: "¡Las batallas continúan para siempre! ¡Bienvenido al mundo sin fin!"
},
"victory": {
- 1: "Wow! You're strong!",
- 2: "I didn't stand a chance, huh?",
- 3: "I'll find you again when I'm older and beat you!",
- 4: "Ugh. I don't have any more Pokémon.",
- 5: "No way… NO WAY! How could I lose again…",
- 6: "No! I lost!",
- 7: "Whoa! You are incredible! I'm amazed and surprised!",
- 8: "Could it be… How… My Pokémon and I are the strongest, though…",
- 9: "I won't lose next time! Let's battle again sometime!",
- 10: "Sheesh! Can't you see that I'm just a kid! It wasn't fair of you to go all out like that!",
- 11: "Your Pokémon are more amazing! Trade with me!",
- 12: "I got a little carried away earlier, but what job was I talking about?",
- 13: "Ahaha! There it is! That's right! You're already right at home in this world!"
+ 1: "¡Guau! ¡Eres fuerte!",
+ 2: "¿No tuve oportunidad, eh?",
+ 3: "¡Cuando sea mayor te encontraré y te ganaré!",
+ 4: "Ay. No tengo más Pokémon.",
+ 5: "Imposible… ¡IMPOSIBLE! Cómo pude perder de nuevo…",
+ 6: "¡No! ¡Perdí!",
+ 7: "¡Guau! ¡Eres increíble! ¡Estoy alucinado y sorprendido!",
+ 8: "Puede ser… Cómo… Aunque mis Pokémon y yo somos los más fuertes…",
+ 9: "¡No perderé a la próxima! ¡Luchemos otra vez pronto!",
+ 10: "¡Oye! ¡No ves que solo soy un niño! ¡No es justo que vayas así conmigo!",
+ 11: "¡Tus Pokémon molan más! ¡Intercámbiamelos!",
+ 12: "Me perdí antes pero, ¿de qué tarea estaba hablando antes?",
+ 13: "¡Jajaja! ¡Esa es! ¡Correcto! ¡Ya te sientes como en casa en este mundo!"
}
},
"lass": {
"encounter": {
- 1: "Let's have a battle, shall we?",
- 2: "You look like a new trainer. Let's have a battle!",
- 3: "I don't recognize you. How about a battle?",
- 4: "Let's have a fun Pokémon battle!",
- 5: "I'll show you the ropes of how to really use Pokémon!",
- 6: "A serious battle starts from a serious beginning! Are you sure you're ready?",
- 7: "You're only young once. And you only get one shot at a given battle. Soon, you'll be nothing but a memory.",
- 8: "You'd better go easy on me, OK? Though I'll be seriously fighting!",
- 9: "School is boring. I've got nothing to do. Yawn. I'm only battling to kill the time."
+ 1: "¿Luchemos, podría ser?",
+ 2: "Pareces novato. ¡Luchemos!",
+ 3: "No te reconozco. ¿Un combate?",
+ 4: "¡Tengamos un combate Pokémon divertido!",
+ 5: "¡Te enseñaré lo básico de cómo entrenar Pokémon!",
+ 6: "¡Un combate serio empieza por un comienzo serio! ¿Seguro que estás listo?",
+ 7: "Solo se es joven una vez. Y solo tienes una oportunidad en una batalla. Pronto, solo serás un recuerdo.",
+ 8: "Asegúrate de ir fácil conmigo, ¿vale? ¡Pero seré seria luchando!",
+ 9: "El colegio es aburrido. No hay nada que hacer. Uaa. Solo lucho para pasar el tiempo."
},
"victory": {
- 1: "That was impressive! I've got a lot to learn.",
- 2: "I didn't think you'd beat me that bad…",
- 3: "I hope we get to have a rematch some day.",
- 4: "That was pretty amazingly fun! You've totally exhausted me…",
- 5: "You actually taught me a lesson! You're pretty amazing!",
- 6: "Seriously, I lost. That is, like, seriously depressing, but you were seriously cool.",
- 7: "I don't need memories like this. Deleting memory…",
- 8: "Hey! I told you to go easy on me! Still, you're pretty cool when you're serious.",
- 9: "I'm actually getting tired of battling… There's gotta be something new to do…"
+ 1: "¡Impresionante! Tengo mucho que aprender.",
+ 2: "No pensé que me vencerías así…",
+ 3: "Espero la revancha algún día.",
+ 4: "¡Fue increíblemente divertido! Me dejaste cansada…",
+ 5: "¡Me enseñaste una lección! ¡Eres increíble!",
+ 6: "En serio, he perdido. O sea, es seriamente decepcionante, pero tú eres realmente guay.",
+ 7: "No necesito estos recuerdos. Borrando recuerdos…",
+ 8: "¡Te dije que fueses fácil conmigo! Aun así, me gusta cuando eres serio.",
+ 9: "Me canso de luchar… Habrá algo nuevo que hacer…"
}
},
"breeder": {
"encounter": {
- 1: "Obedient Pokémon, selfish Pokémon… Pokémon have unique characteristics.",
- 2: "Even though my upbringing and behavior are poor, I've raised my Pokémon well.",
- 3: "Hmm, do you discipline your Pokémon? Pampering them too much is no good.",
+ 1: "Pokémon obedientes, Pokémon egoístas… Los Pokémon tienen características únicas.",
+ 2: "Aunque tengo descendencia y comportamiento pobre, he cuidado muy bien a mis Pokémon.",
+ 3: "¿Tienes disciplina con tus Pokémon? Malcriarlos mucho no es bueno.",
},
"victory": {
- 1: "It is important to nurture and train each Pokémon's characteristics.",
- 2: "Unlike my diabolical self, these are some good Pokémon.",
- 3: "Too much praise can spoil both Pokémon and people.",
+ 1: "Es importante cuidar y mimar todas las características de los Pokémon.",
+ 2: "No como mi diabólica personalidad, mis Pokémon son muy buenos.",
+ 3: "Malcriar puede arruinar a los Pokémon y a los humanos.",
},
"defeat": {
- 1: "You should not get angry at your Pokémon, even if you lose a battle.",
- 2: "Right? Pretty good Pokémon, huh? I'm suited to raising things.",
- 3: "No matter how much you love your Pokémon, you still have to discipline them when they misbehave."
+ 1: "No deberías enfadarte con tu Pokémon, aún tras un combate perdido.",
+ 2: "¿Eh? ¿Buen Pokémon? Me acostumbro a cuidarlos.",
+ 3: "No importa el cariño que le tengas a tus Pokémon, tienes que ser serio si se portan mal."
}
},
"breeder_female": {
"encounter": {
- 1: "Pokémon never betray you. They return all the love you give them.",
- 2: "Shall I give you a tip for training good Pokémon?",
- 3: "I have raised these very special Pokémon using a special method."
+ 1: "Los Pokémon nunca te traicionan, te devuelven el amor que les diste.",
+ 2: "¿Puedo darte un consejo para entrenar bien tus Pokémon?",
+ 3: "Cuidé estos Pokémon con un método especial."
},
"victory": {
- 1: "Ugh… It wasn't supposed to be like this. Did I administer the wrong blend?",
- 2: "How could that happen to my Pokémon… What are you feeding your Pokémon?",
- 3: "If I lose, that tells you I was just killing time. It doesn't damage my ego at all."
+ 1: "Ugh… No se supone que acabaría así. ¿Les cuidé de forma errónea?",
+ 2: "Cómo pudo pasarle esto a mi Pokémon... ¿Qué le das a tu Pokémon?",
+ 3: "Si pierdo, solo fue un pasatiempo. Mi ego se ve intacto."
},
"defeat": {
- 1: "This proves my Pokémon have accepted my love.",
- 2: "The real trick behind training good Pokémon is catching good Pokémon.",
- 3: "Pokémon will be strong or weak depending on how you raise them."
+ 1: "Esto demuestra que los Pokémon aceptaron mi amor.",
+ 2: "El truco detrás de atrapar buenos Pokémon es cuidar buenos Pokémon.",
+ 3: "Los Pokémon serán fuertes o débiles según los cuides."
}
},
"fisherman": {
"encounter": {
- 1: "Aack! You made me lose a bite!\nWhat are you going to do about it?",
- 2: "Go away! You're scaring the Pokémon!",
- 3: "Let's see if you can reel in a victory!",
+ 1: "¡Uy uy uy! ¡Hiciste que huyera un pez!\n¿Qué harás al respecto?",
+ 2: "¡Vete! ¡Espantas los Pokémon!",
+ 3: "¡Veamos si pescas una victoria!",
},
"victory": {
- 1: "Just forget about it.",
- 2: "Next time, I'll be reelin' in the triumph!",
- 3: "Guess I underestimated the currents this time.",
+ 1: "Olvídalo.",
+ 2: "A la siguiente, ¡pescaré mi victoria!",
+ 3: "Infravaloré la corriente esta vez.",
},
},
"fisherman_female": {
@@ -371,6 +371,198 @@ export const PGMdialogue: DialogueTranslationEntries = {
3: "Ow! I scorched the tip of my nose!"
},
},
+ "sailor": {
+ "encounter": {
+ 1: "¡Amigo, te haré caminar por la borda si pierdes!",
+ 2: "¡Adelante! ¡Mi orgullo como marinero está en auge!",
+ 3: "¡Ah del barco! ¿Estás mareado?"
+ },
+ "victory": {
+ 1: "¡Argh! ¡Derrotado por un niño!",
+ 2: "¡Tu espíritu me ha hundido!",
+ 3: "Creo que soy yo quien está mareado..."
+ },
+ },
+ "rocket_grunt": {
+ "encounter": {
+ 1: "¡Ríndete ahora, o prepárate para luchar!"
+ },
+ "victory": {
+ 1: "¡El Team Rocket despega de nuevo!"
+ },
+ },
+ "magma_grunt": {
+ "encounter": {
+ 1: "¡No esperes piedad si te interpones al Team Magma!"
+ },
+ "victory": {
+ 1: "¿Eh? ¿He perdido?"
+ },
+ },
+ "aqua_grunt": {
+ "encounter": {
+ 1: "El Team Aqua no muestra piedad, ¡ni siquiera a los niños!"
+ },
+ "victory": {
+ 1: "¡Bromeas! ¡No me lo creo!"
+ },
+ },
+ "galactic_grunt": {
+ "encounter": {
+ 1: "¡No desafíes al Equipo Galaxia, te arrepentirás!"
+ },
+ "victory": {
+ 1: "Me callaste la boca..."
+ },
+ },
+ "plasma_grunt": {
+ "encounter": {
+ 1: "¡El Equipo Plasma no tolerará otros ideales!"
+ },
+ "victory": {
+ 1: "Plasmaaaaaaaaa!"
+ },
+ },
+ "flare_grunt": {
+ "encounter": {
+ 1: "¡La moda es lo más importante para nosotros!"
+ },
+ "victory": {
+ 1: "Me temo que se me avecina un futuro oscuro..."
+ },
+ },
+ "rocket_boss_giovanni_1": {
+ "encounter": {
+ 1: "He de decir... estoy impresionado de que hayas llegado tan lejos."
+ },
+ "victory": {
+ 1: "¿¡QUÉ?! ¡No puede ser!"
+ },
+ "defeat": {
+ 1: "Recuerda mis palabras: Que no seas capaz de medir\n tu propia fuerza demuestra que todavía eres un niño"
+ }
+ },
+ "rocket_boss_giovanni_2": {
+ "encounter": {
+ 1: "Mis antiguos socios me necesitan... ¿te atreves a imponerte en mi camino?"
+ },
+ "victory": {
+ 1: "¿Cómo es esto posible?\nEl sueño del Team Rocket, ahora tan solo una mera ilusión..."
+ },
+ "defeat": {
+ 1: "El Team Rocket renacerá... ¡y gobernaré el mundo!"
+ }
+ },
+ "magma_boss_maxie_1": {
+ "encounter": {
+ 1: "Está bien, tendré que cavar yo mismo tu propia tumba. Siéntete orgulloso."
+ },
+ "victory": {
+ 1: "Ugh! Eres... muy capaz...\nFue por poco, estuve a esto de ganarte..."
+ },
+ "defeat": {
+ 1: "¡El Equipo Magma prevalecerá!"
+ }
+ },
+ "magma_boss_maxie_2": {
+ "encounter": {
+ 1: "Eres el obstáculo final entre mi y mis propósitos.\n¡Aquí va mi mejor golpe! ¡MUAJAJAJA!"
+ },
+ "victory": {
+ 1: "No... no es posib... nnngh..."
+ },
+ "defeat": {
+ 1: "Y ahora... transformaré este planeta en una tierra ideal para la humanidad."
+ }
+ },
+ "aqua_boss_archie_1": {
+ "encounter": {
+ 1: "Soy el líder del Equipo Aqua, así que me temo que aquí se acaba tu bromita."
+ },
+ "victory": {
+ 1: "Volvamos a vernos más tarde. Recordaré tu cara."
+ },
+ "defeat": {
+ 1: "¡Excelente! ¡Nadie se puede oponer a mi equipo!"
+ }
+ },
+ "aqua_boss_archie_2": {
+ "encounter": {
+ 1: "Llevo esperando mucho que llegara este día.\n¡Contempla el poder de mi equipo!"
+ },
+ "victory": {
+ 1: "Quién me lo iba a decir..."
+ },
+ "defeat": {
+ 1: "Devolveré todo en este planeta a su estado original.\nSe avecina un nuevo mundo, ¡más puro!"
+ }
+ },
+ "galactic_boss_cyrus_1": {
+ "encounter": {
+ 1: "Tu fútil sentimentalidad te hizo interferir.\n¡Haré que te arrepientas de escuchar a tu corazón!"
+ },
+ "victory": {
+ 1: "Interesante. Muy... curioso."
+ },
+ "defeat": {
+ 1: "Crearé un nuevo mundo..."
+ }
+ },
+ "galactic_boss_cyrus_2": {
+ "encounter": {
+ 1: "Nos vemos de nuevo... se ve que nuestros destinos están entrelazados.\nPero, aquí y ahora, ¡sesgaré ese vínculo!"
+ },
+ "victory": {
+ 1: "¿Cómo? ¿¡Cómo!? ¿¡¡CÓMO!!?"
+ },
+ "defeat": {
+ 1: "Hasta nunca."
+ }
+ },
+ "plasma_boss_ghetsis_1": {
+ "encounter": {
+ 1: "¡No permitiré que nadie me detenga!"
+ },
+ "victory": {
+ 1: "¿Cómo puede ser esto? ¡yo creé al Equipo Plasma!\n¡Soy PERFECTO!"
+ },
+ "defeat": {
+ 1: "Soy el perfecto gobernante para un perfecto nuevo mundo. ¡Muajajajaja!"
+ }
+ },
+ "plasma_boss_ghetsis_2": {
+ "encounter": {
+ 1: "¡Adelante! ¡Quiero ver tu cara cuando la desesperación se apoderede de ti!"
+ },
+ "victory": {
+ 1: "Mis planes... ¡no! ¡El mundo debería pertenecerme!"
+ },
+ "defeat": {
+ 1: "¡Kyurem, Absorfusión... ahora!"
+ }
+ },
+ "flare_boss_lysandre_1": {
+ "encounter": {
+ 1: "¿Acaso quieres detenerme? Demuéstramelo."
+ },
+ "victory": {
+ 1: "Estás aquí para detenerme. Pero tendrás que esperar. "
+ },
+ "defeat": {
+ 1: "Los Pokémon... su fin ha llegado."
+ }
+ },
+ "flare_boss_lysandre_2": {
+ "encounter": {
+ 1: "El futuro que quieres tú, o el futuro que quiero yo.\nVeamos cuál de los dos se merece existir..."
+ },
+ "victory": {
+ 1: "¡AARGH!"
+ },
+ "defeat": {
+ 1: "Los idiotas sin ningún tipo de visión continuarán asediando este mundo."
+ }
+ },
"brock": {
"encounter": {
1: "My expertise on Rock-type Pokémon will take you down! Come on!",
@@ -2095,6 +2287,32 @@ export const PGMdialogue: DialogueTranslationEntries = {
2: "You got caught in my storm! Better luck next time!"
}
},
+ "alder": {
+ "encounter": {
+ 1: "Prepárate para una batalla contra el entrenador más fuerte en Unova!"
+ },
+ "victory": {
+ 1: "Bien hecho! Tienes ciertamente un talento inigualable"
+ },
+ "defeat": {
+ 1: `Un viento fresco sopla a través en mi corazón
+ $Qué esfuerzo extraordinario!`
+ }
+ },
+ "kieran": {
+ "encounter": {
+ 1: `A través del trabajo duro, me he vuelto más y más fuerte!
+ $No pierdo.`
+ },
+ "victory": {
+ 1: `No puedo creerlo...
+ $¡Qué batalla tan divertida y trepidante!`
+ },
+ "defeat": {
+ 1: `Asombroso, que batalla!
+ $Es hora de que entrenes aún más duro.`
+ }
+ },
"rival": {
"encounter": {
1: `@c{smile}Hey, I was looking for you! I knew you were eager to get going but I expected at least a goodbye…
diff --git a/src/locales/es/egg.ts b/src/locales/es/egg.ts
index cdce119507a..ab2c3aab903 100644
--- a/src/locales/es/egg.ts
+++ b/src/locales/es/egg.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const egg: SimpleTranslationEntries = {
"egg": "Huevo",
@@ -17,5 +17,12 @@ export const egg: SimpleTranslationEntries = {
"notEnoughVouchers": "¡No tienes suficientes vales!",
"tooManyEggs": "¡No tienes suficiente espacio!",
"pull": "Tirada",
- "pulls": "Tiradas"
+ "pulls": "Tiradas",
+ "sameSpeciesEgg": "{{species}} will hatch from this egg!",
+ "hatchFromTheEgg": "¡Ha salido un {{pokemonName}} del Huevo!",
+ "eggMoveUnlock": "Mov. Huevo desbloqueado:\n{{moveName}}",
+ "rareEggMoveUnlock": "Mov. Huevo Raro desbloqueado:\n{{moveName}}",
+ "moveUPGacha": "¡Más Mov.\nHuevo Raro!",
+ "shinyUPGacha": "¡Más Shiny!",
+ "legendaryUPGacha": ", ¡mayor\nprob.!",
} as const;
diff --git a/src/locales/es/fight-ui-handler.ts b/src/locales/es/fight-ui-handler.ts
index 421e0fb993b..70526ce4692 100644
--- a/src/locales/es/fight-ui-handler.ts
+++ b/src/locales/es/fight-ui-handler.ts
@@ -1,7 +1,9 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const fightUiHandler: SimpleTranslationEntries = {
"pp": "PP",
"power": "Potencia",
"accuracy": "Precisión",
+ "abilityFlyInText": " {{passive}}{{pokemonName}}\n{{abilityName}}",
+ "passive": "Pasiva de ", // The space at the end is important
} as const;
diff --git a/src/locales/es/game-mode.ts b/src/locales/es/game-mode.ts
new file mode 100644
index 00000000000..bf399b8fc74
--- /dev/null
+++ b/src/locales/es/game-mode.ts
@@ -0,0 +1,10 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const gameMode: SimpleTranslationEntries = {
+ "classic": "Clásica",
+ "endless": "Infinita",
+ "endlessSpliced": "Infinita (Fusión)",
+ "dailyRun": "Diaria",
+ "unknown": "Desconicido",
+ "challenge": "Desafío",
+} as const;
diff --git a/src/locales/es/game-stats-ui-handler.ts b/src/locales/es/game-stats-ui-handler.ts
index 64e4e2af5e3..06b2211b0dd 100644
--- a/src/locales/es/game-stats-ui-handler.ts
+++ b/src/locales/es/game-stats-ui-handler.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const gameStatsUiHandler: SimpleTranslationEntries = {
"stats": "Stats",
diff --git a/src/locales/es/growth.ts b/src/locales/es/growth.ts
index a47a4f408bd..c72ea3d76c6 100644
--- a/src/locales/es/growth.ts
+++ b/src/locales/es/growth.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const growth: SimpleTranslationEntries = {
"Erratic": "Errático",
diff --git a/src/locales/es/menu-ui-handler.ts b/src/locales/es/menu-ui-handler.ts
index 76972cef19c..bf71c2b390b 100644
--- a/src/locales/es/menu-ui-handler.ts
+++ b/src/locales/es/menu-ui-handler.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const menuUiHandler: SimpleTranslationEntries = {
"GAME_SETTINGS": "Ajustes",
@@ -19,5 +19,6 @@ export const menuUiHandler: SimpleTranslationEntries = {
"importData": "Importar Datos",
"exportData": "Exportar Datos",
"cancel": "Cancelar",
- "losingProgressionWarning": "Perderás cualquier progreso desde el inicio de la batalla. ¿Continuar?"
+ "losingProgressionWarning": "Perderás cualquier progreso desde el inicio de la batalla. ¿Continuar?",
+ "noEggs": "You are not hatching\nany eggs at the moment!"
} as const;
diff --git a/src/locales/es/menu.ts b/src/locales/es/menu.ts
index 517569ff40b..85d9d50f015 100644
--- a/src/locales/es/menu.ts
+++ b/src/locales/es/menu.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
/**
* The menu namespace holds most miscellaneous text that isn't directly part of the game's
@@ -34,8 +34,6 @@ export const menu: SimpleTranslationEntries = {
"sessionSuccess": "Sesión cargada con éxito.",
"failedToLoadSession": "No se han podido cargar los datos de tu sesión.\nPuede que estén corruptos.",
"boyOrGirl": "¿Eres un chico o una chica?",
- "boy": "Chico",
- "girl": "Chica",
"evolving": "¡Anda!\n¡{{pokemonName}} está evolucionando!",
"stoppedEvolving": "¿Eh?\n¡La evolución de {{pokemonName}} se ha detenido!",
"pauseEvolutionsQuestion": "¿Quieres detener las evoluciones de {{pokemonName}}?\nSiempre pueden ser reactivadas desde la pantalla de tu equipo.",
@@ -44,11 +42,16 @@ export const menu: SimpleTranslationEntries = {
"dailyRankings": "Rankings Diarios",
"weeklyRankings": "Rankings Semanales",
"noRankings": "Sin Rankings",
+ "positionIcon": "#",
+ "usernameScoreboard": "Username",
+ "score": "Score",
+ "wave": "Wave",
"loading": "Cargando…",
+ "loadingAsset": "Cargando recurso: {{assetName}}",
"playersOnline": "Jugadores en Línea",
- "empty":"Vacío",
"yes":"Sí",
"no":"No",
- "disclaimer": "DISCLAIMER",
- "disclaimerDescription": "This game is an unfinished product; it might have playability issues (including the potential loss of save data),\n change without notice, and may or may not be updated further or completed."
+ "disclaimer": "AVISO",
+ "disclaimerDescription": "Este juego es un producto inacabado; puede tener problemas de jugabilidad (incluyendo la posible pérdida\n de datos de guardado),cambiar sin avisar, y puede o no puede ser actualizado hasta ser completado.",
+ "errorServerDown": "¡Ups! Ha habido un problema al contactar con el servidor.\n\nPuedes mantener esta ventana abierta,\nel juego se reconectará automáticamente.",
} as const;
diff --git a/src/locales/es/modifier-select-ui-handler.ts b/src/locales/es/modifier-select-ui-handler.ts
new file mode 100644
index 00000000000..e78be5d4ea5
--- /dev/null
+++ b/src/locales/es/modifier-select-ui-handler.ts
@@ -0,0 +1,15 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const modifierSelectUiHandler: SimpleTranslationEntries = {
+ "transfer": "Transferir",
+ "reroll": "Actualizar",
+ "lockRarities": "Bloquear rarezas",
+ "checkTeam": "Ver Equipo",
+ "transferDesc": "Transfiere un objeto que lleva un Pokémon a otro.",
+ "rerollDesc": "Gasta dinero para actualizar las opciones de objetos.",
+ "lockRaritiesDesc": "Bloquea las rarezas de los objetos al actualizar (afecta el costo de actualización).",
+ "checkTeamDesc": "Revisa tu equipo o usa un objeto que cambia de forma.",
+ "rerollCost": "{{formattedMoney}} ₽",
+ "itemCost": "{{formattedMoney}} ₽"
+
+} as const;
diff --git a/src/locales/es/modifier-type.ts b/src/locales/es/modifier-type.ts
index 7b5b1e0c90b..5d5ed5ddc5c 100644
--- a/src/locales/es/modifier-type.ts
+++ b/src/locales/es/modifier-type.ts
@@ -1,14 +1,14 @@
-import { ModifierTypeTranslationEntries } from "#app/plugins/i18n";
+import { ModifierTypeTranslationEntries } from "#app/interfaces/locales";
export const modifierType: ModifierTypeTranslationEntries = {
ModifierType: {
"AddPokeballModifierType": {
name: "{{modifierCount}}x {{pokeballName}}",
- description: "Recibes {{modifierCount}}x {{pokeballName}} (En inventario: {{pokeballAmount}}) \nRatio de captura: {{catchRate}}",
+ description: "Recibes {{modifierCount}}x {{pokeballName}} (En inventario: {{pokeballAmount}}) \nRatio de captura: {{catchRate}}.",
},
"AddVoucherModifierType": {
name: "{{modifierCount}}x {{voucherTypeName}}",
- description: "Recibes {{modifierCount}}x {{voucherTypeName}}",
+ description: "Recibes {{modifierCount}}x {{voucherTypeName}}.",
},
"PokemonHeldItemModifierType": {
extra: {
@@ -17,63 +17,63 @@ export const modifierType: ModifierTypeTranslationEntries = {
}
},
"PokemonHpRestoreModifierType": {
- description: "Restaura {{restorePoints}} PS o, al menos, un {{restorePercent}}% PS de un Pokémon",
+ description: "Restaura {{restorePoints}} PS o, al menos, un {{restorePercent}}% PS de un Pokémon.",
extra: {
- "fully": "Restaura todos los PS de un Pokémon",
- "fullyWithStatus": "Restaura todos los PS de un Pokémon y cura todos los problemas de estados",
+ "fully": "Restaura todos los PS de un Pokémon.",
+ "fullyWithStatus": "Restaura todos los PS de un Pokémon y cura todos los problemas de estados.",
}
},
"PokemonReviveModifierType": {
- description: "Revive a un Pokémon y restaura {{restorePercent}}% PS",
+ description: "Revive a un Pokémon y restaura {{restorePercent}}% PS.",
},
"PokemonStatusHealModifierType": {
- description: "Cura todos los problemas de estados de un Pokémon",
+ description: "Cura todos los problemas de estados de un Pokémon.",
},
"PokemonPpRestoreModifierType": {
- description: "Restaura {{restorePoints}} PP del movimiento que elijas de un Pokémon",
+ description: "Restaura {{restorePoints}} PP del movimiento que elijas de un Pokémon.",
extra: {
- "fully": "Restaura todos los PP del movimiento que elijas de un Pokémon",
+ "fully": "Restaura todos los PP del movimiento que elijas de un Pokémon.",
}
},
"PokemonAllMovePpRestoreModifierType": {
- description: "Restaura {{restorePoints}} PP de todos los movimientos de un Pokémon",
+ description: "Restaura {{restorePoints}} PP de todos los movimientos de un Pokémon.",
extra: {
- "fully": "Restaura todos los PP de todos los movimientos de un Pokémon",
+ "fully": "Restaura todos los PP de todos los movimientos de un Pokémon.",
}
},
"PokemonPpUpModifierType": {
- description: "Aumenta permanentemente los PP para un movimiento de un Pokémon en {{upPoints}} por cada 5 PP máximo (máximo 3)",
+ description: "Aumenta permanentemente los PP para un movimiento de un Pokémon en {{upPoints}} por cada 5 PP máximo (máximo 3).",
},
"PokemonNatureChangeModifierType": {
name: "Menta {{natureName}}",
- description: "Cambia la naturaleza de un Pokémon a {{natureName}} y desbloquea permanentemente dicha naturaleza para el inicial",
+ description: "Cambia la naturaleza de un Pokémon a {{natureName}} y desbloquea permanentemente dicha naturaleza para el inicial.",
},
"DoubleBattleChanceBoosterModifierType": {
- description: "Duplica la posibilidad de que un encuentro sea una combate doble durante {{battleCount}} combates",
+ description: "Duplica la posibilidad de que un encuentro sea una combate doble durante {{battleCount}} combates.",
},
"TempBattleStatBoosterModifierType": {
- description: "Aumenta la est. {{tempBattleStatName}} de todos los miembros del equipo en 1 nivel durante 5 combates",
+ description: "Aumenta la est. {{tempBattleStatName}} de todos los miembros del equipo en 1 nivel durante 5 combates.",
},
"AttackTypeBoosterModifierType": {
- description: "Aumenta la potencia de los movimientos de tipo {{moveType}} de un Pokémon en un 20%",
+ description: "Aumenta la potencia de los movimientos de tipo {{moveType}} de un Pokémon en un 20%.",
},
"PokemonLevelIncrementModifierType": {
- description: "Aumenta el nivel de un Pokémon en 1",
+ description: "Aumenta el nivel de un Pokémon en 1.",
},
"AllPokemonLevelIncrementModifierType": {
- description: "Aumenta el nivel de todos los miembros del equipo en 1",
+ description: "Aumenta el nivel de todos los miembros del equipo en 1.",
},
"PokemonBaseStatBoosterModifierType": {
- description: "Aumenta la est. {{statName}} base del portador en un 10%.\nCuanto mayores sean tus IVs, mayor será el límite de acumulación",
+ description: "Aumenta la est. {{statName}} base del portador en un 10%.\nCuanto mayores sean tus IVs, mayor será el límite de acumulación.",
},
"AllPokemonFullHpRestoreModifierType": {
- description: "Restaura el 100% de los PS de todos los Pokémon",
+ description: "Restaura el 100% de los PS de todos los Pokémon.",
},
"AllPokemonFullReviveModifierType": {
- description: "Revive a todos los Pokémon debilitados y restaura completamente sus PS",
+ description: "Revive a todos los Pokémon debilitados y restaura completamente sus PS.",
},
"MoneyRewardModifierType": {
- description: "Otorga una {{moneyMultiplier}} cantidad de dinero (₽{{moneyAmount}})",
+ description: "Otorga una {{moneyMultiplier}} cantidad de dinero (₽{{moneyAmount}}).",
extra: {
"small": "pequeña",
"moderate": "moderada",
@@ -81,58 +81,62 @@ export const modifierType: ModifierTypeTranslationEntries = {
},
},
"ExpBoosterModifierType": {
- description: "Aumenta la ganancia de EXP en un {{boostPercent}}%",
+ description: "Aumenta la ganancia de EXP en un {{boostPercent}}%.",
},
"PokemonExpBoosterModifierType": {
- description: "Aumenta la ganancia de EXP del portador en un {{boostPercent}}%",
+ description: "Aumenta la ganancia de EXP del portador en un {{boostPercent}}%.",
},
"PokemonFriendshipBoosterModifierType": {
- description: "Aumenta la ganancia de amistad por victoria en un 50%",
+ description: "Aumenta la ganancia de amistad por victoria en un 50%.",
},
"PokemonMoveAccuracyBoosterModifierType": {
- description: "Aumenta la precisión de los movimiento en un {{accuracyAmount}} (máximo 100)",
+ description: "Aumenta la precisión de los movimiento en un {{accuracyAmount}} (máximo 100).",
},
"PokemonMultiHitModifierType": {
- description: "Los ataques golpean una vez más a costa de una reducción de poder del 60/75/82,5% por cada objeto",
+ description: "Los ataques golpean una vez más a costa de una reducción de poder del 60/75/82,5% por cada objeto.",
},
"TmModifierType": {
name: "MT{{moveId}} - {{moveName}}",
- description: "Enseña {{moveName}} a un Pokémon",
+ description: "Enseña {{moveName}} a un Pokémon.",
+ },
+ "TmModifierTypeWithInfo": {
+ name: "MT{{moveId}} - {{moveName}}",
+ description: "Enseña {{moveName}} a un Pokémon\n(Hold C or Shift for more info).",
},
"EvolutionItemModifierType": {
- description: "Hace que ciertos Pokémon evolucionen",
+ description: "Hace que ciertos Pokémon evolucionen.",
},
"FormChangeItemModifierType": {
- description: "Hace que ciertos Pokémon cambien de forma",
+ description: "Hace que ciertos Pokémon cambien de forma.",
},
"FusePokemonModifierType": {
- description: "Fusiona dos Pokémon (transfiere habilidades, divide estadísticas bases y tipos, comparte movimientos)",
+ description: "Fusiona dos Pokémon (transfiere habilidades, divide estadísticas bases y tipos, comparte movimientos).",
},
"TerastallizeModifierType": {
name: "Teralito {{teraType}}",
- description: "Teracristaliza al portador al tipo {{teraType}} durante 10 combates",
+ description: "Teracristaliza al portador al tipo {{teraType}} durante 10 combates.",
},
"ContactHeldItemTransferChanceModifierType": {
- description: "Al atacar, hay un {{chancePercent}}% de posibilidades de que robes el objeto que tiene el enemigo",
+ description: "Al atacar, hay un {{chancePercent}}% de posibilidades de que robes el objeto que tiene el enemigo.",
},
"TurnHeldItemTransferModifierType": {
- description: "Cada turno, el portador roba un objeto del enemigo",
+ description: "Cada turno, el portador roba un objeto del enemigo.",
},
"EnemyAttackStatusEffectChanceModifierType": {
- description: "Agrega un {{chancePercent}}% de probabilidad de infligir {{statusEffect}} con movimientos de ataque",
+ description: "Agrega un {{chancePercent}}% de probabilidad de infligir {{statusEffect}} con movimientos de ataque.",
},
"EnemyEndureChanceModifierType": {
- description: "Agrega un {{chancePercent}}% de probabilidad de resistir un ataque que lo debilitaría",
+ description: "Agrega un {{chancePercent}}% de probabilidad de resistir un ataque que lo debilitaría.",
},
"RARE_CANDY": { name: "Carameloraro" },
- "RARER_CANDY": { name: "Rarer Candy" },
+ "RARER_CANDY": { name: "Caramelorarísimo" },
- "MEGA_BRACELET": { name: "Mega-aro", description: "Las Megapiedras están disponibles" },
- "DYNAMAX_BAND": { name: "Maximuñequera", description: "Las Maxisetas están disponibles" },
- "TERA_ORB": { name: "Orbe Teracristal", description: "Los Teralitos están disponibles" },
+ "MEGA_BRACELET": { name: "Mega-aro", description: "Las Megapiedras están disponibles." },
+ "DYNAMAX_BAND": { name: "Maximuñequera", description: "Las Maxisetas están disponibles." },
+ "TERA_ORB": { name: "Orbe Teracristal", description: "Los Teralitos están disponibles." },
- "MAP": { name: "Mapa", description: "Te permite elegir tu camino al final del bioma" },
+ "MAP": { name: "Mapa", description: "Te permite elegir tu camino al final del bioma." },
"POTION": { name: "Poción" },
"SUPER_POTION": { name: "Superpoción" },
@@ -147,7 +151,7 @@ export const modifierType: ModifierTypeTranslationEntries = {
"SACRED_ASH": { name: "Cen. Sagrada" },
- "REVIVER_SEED": { name: "Semilla Revivir", description: "Revive al portador con la mitad de sus PS al debilitarse" },
+ "REVIVER_SEED": { name: "Semilla Revivir", description: "Revive al portador con la mitad de sus PS al debilitarse por un golpe directo." },
"ETHER": { name: "Éter" },
"MAX_ETHER": { name: "Éter Máx." },
@@ -158,16 +162,16 @@ export const modifierType: ModifierTypeTranslationEntries = {
"PP_UP": { name: "Más PP" },
"PP_MAX": { name: "Máx PP" },
- "LURE": { name: "Lure" },
- "SUPER_LURE": { name: "Super Lure" },
- "MAX_LURE": { name: "Max Lure" },
+ "LURE": { name: "Incienso" },
+ "SUPER_LURE": { name: "Superincienso" },
+ "MAX_LURE": { name: "Incienso Máximo" },
- "MEMORY_MUSHROOM": { name: "Memory Mushroom", description: "Recall one Pokémon's forgotten move" },
+ "MEMORY_MUSHROOM": { name: "Seta Recuerdo", description: "Recuerda un movimiento olvidado de un Pokémon." },
- "EXP_SHARE": { name: "Repartir EXP", description: "Los que no combatan reciben el 20% de la EXP" },
- "EXP_BALANCE": { name: "EXP. Balance", description: "Da mayor parte de la EXP recibida a los miembros del equipo que tengan menos nivel" },
+ "EXP_SHARE": { name: "Repartir EXP", description: "Los que no combatan reciben el 20% de la EXP." },
+ "EXP_BALANCE": { name: "Equilibrar EXP", description: "Da mayor parte de la EXP recibida a los miembros del equipo que tengan menos nivel." },
- "OVAL_CHARM": { name: "Amuleto Oval", description: "Cada Pokémon combatiente recibe un 10% adicional de la EXP total" },
+ "OVAL_CHARM": { name: "Amuleto Oval", description: "Cada Pokémon combatiente recibe un 10% adicional de la EXP total." },
"EXP_CHARM": { name: "Amuleto EXP" },
"SUPER_EXP_CHARM": { name: "Super Amuleto EXP" },
@@ -178,62 +182,70 @@ export const modifierType: ModifierTypeTranslationEntries = {
"SOOTHE_BELL": { name: "Camp. Alivio" },
- "SOUL_DEW": { name: "Rocío bondad", description: "Aumenta la influencia de la naturaleza de un Pokémon en sus estadísticas en un 10% (aditivo)" },
+ "EVIOLITE": { name: "Mineral Evolutivo", description: "Roca misteriosa. El Pokémon portador aumentará su Defensa y su Defensa Especial si aún puede evolucionar." },
+
+ "SOUL_DEW": { name: "Rocío bondad", description: "Aumenta la influencia de la naturaleza de un Pokémon en sus estadísticas en un 10% (aditivo)." },
"NUGGET": { name: "Pepita" },
"BIG_NUGGET": { name: "Maxipepita" },
"RELIC_GOLD": { name: "Real de oro" },
- "AMULET_COIN": { name: "Moneda Amuleto", description: "Aumenta el dinero ganado en un 20%" },
- "GOLDEN_PUNCH": { name: "Puño Dorado", description: "Otorga el 50% del daño infligido como dinero" },
- "COIN_CASE": { name: "Monedero", description: "Después de cada 10 combates, recibe el 10% de tu dinero en intereses" },
+ "AMULET_COIN": { name: "Moneda Amuleto", description: "Aumenta el dinero ganado en un 20%." },
+ "GOLDEN_PUNCH": { name: "Puño Dorado", description: "Otorga el 50% del daño infligido como dinero." },
+ "COIN_CASE": { name: "Monedero", description: "Después de cada 10 combates, recibe el 10% de tu dinero en intereses." },
- "LOCK_CAPSULE": { name: "Cápsula candado", description: "Le permite bloquear las rarezas de los objetos al cambiar de objetos" },
+ "LOCK_CAPSULE": { name: "Cápsula candado", description: "Le permite bloquear las rarezas de los objetos al cambiar de objetos." },
"GRIP_CLAW": { name: "Garra Garfio" },
"WIDE_LENS": { name: "Lupa" },
- "MULTI_LENS": { name: "Multi Lens" },
+ "MULTI_LENS": { name: "Multilupa" },
- "HEALING_CHARM": { name: "Amuleto curación", description: "Aumenta la efectividad de los movimientos y objetos de curacion de PS en un 10% (excepto revivir)" },
- "CANDY_JAR": { name: "Candy Jar", description: "Aumenta en 1 el número de niveles añadidos por los carameloraros" },
+ "HEALING_CHARM": { name: "Amuleto curación", description: "Aumenta la efectividad de los movimientos y objetos de curacion de PS en un 10% (excepto revivir)." },
+ "CANDY_JAR": { name: "Candy Jar", description: "Aumenta en 1 el número de niveles añadidos por los carameloraros." },
- "BERRY_POUCH": { name: "Saco Bayas", description: "Agrega un 30% de posibilidades de que una baya usada no se consuma" },
+ "BERRY_POUCH": { name: "Saco Bayas", description: "Agrega un 30% de posibilidades de que una baya usada no se consuma." },
- "FOCUS_BAND": { name: "Cinta Focus", description: "Agrega un 10% de probabilidad de resistir un ataque que lo debilitaría" },
+ "FOCUS_BAND": { name: "Cinta Focus", description: "Agrega un 10% de probabilidad de resistir un ataque que lo debilitaría." },
- "QUICK_CLAW": { name: "Garra Rápida", description: "Agrega un 10% de probabilidad de atacar primero independientemente de la velocidad (después de la prioridad)" },
+ "QUICK_CLAW": { name: "Garra Rápida", description: "Agrega un 10% de probabilidad de atacar primero independientemente de la velocidad (después de la prioridad)." },
- "KINGS_ROCK": { name: "Roca del Rey", description: "Agrega un 10% de probabilidad de que un ataque haga que el oponente retroceda" },
+ "KINGS_ROCK": { name: "Roca del Rey", description: "Agrega un 10% de probabilidad de que un ataque haga que el oponente retroceda." },
- "LEFTOVERS": { name: "Restos", description: "Cura 1/16 de los PS máximo de un Pokémon cada turno" },
- "SHELL_BELL": { name: "Camp Concha", description: "Cura 1/8 del daño infligido por un Pokémon" },
+ "LEFTOVERS": { name: "Restos", description: "Cura 1/16 de los PS máximo de un Pokémon cada turno." },
+ "SHELL_BELL": { name: "Camp Concha", description: "Cura 1/8 del daño infligido por un Pokémon." },
- "TOXIC_ORB": { name: "Toxiesfera", description: "Extraña esfera que envenena gravemente a quien la usa en combate" },
- "FLAME_ORB": { name: "Llamasfera", description: "Extraña esfera que causa quemaduras a quien la usa en combate" },
+ "TOXIC_ORB": { name: "Toxiesfera", description: "Extraña esfera que envenena gravemente a quien la usa en combate." },
+ "FLAME_ORB": { name: "Llamasfera", description: "Extraña esfera que causa quemaduras a quien la usa en combate." },
- "BATON": { name: "Baton", description: "Permite pasar los efectos al cambiar de Pokémon, también evita las trampas" },
+ "BATON": { name: "Relevo", description: "Permite pasar los efectos al cambiar de Pokémon, también evita las trampas." },
- "SHINY_CHARM": { name: "Amuleto Iris", description: "Aumenta drásticamente la posibilidad de que un Pokémon salvaje sea Shiny" },
- "ABILITY_CHARM": { name: "Amuleto Habilidad", description: "Aumenta drásticamente la posibilidad de que un Pokémon salvaje tenga una habilidad oculta" },
+ "SHINY_CHARM": { name: "Amuleto Iris", description: "Aumenta drásticamente la posibilidad de que un Pokémon salvaje sea Shiny." },
+ "ABILITY_CHARM": { name: "Amuleto Habilidad", description: "Aumenta drásticamente la posibilidad de que un Pokémon salvaje tenga una habilidad oculta." },
- "IV_SCANNER": { name: "Escáner IV", description: "Permite escanear los IVs de Pokémon salvajes. Se revelan 2 IVs por cada objeto.\nLos mejores IVs se muestran primero" },
+ "IV_SCANNER": { name: "Escáner IV", description: "Permite escanear los IVs de Pokémon salvajes. Se revelan 2 IVs por cada objeto.\nLos mejores IVs se muestran primero." },
"DNA_SPLICERS": { name: "Punta ADN" },
"MINI_BLACK_HOLE": { name: "Mini Agujero Negro" },
- "GOLDEN_POKEBALL": { name: "Poké Ball Dorada", description: "Agrega 1 opción de objeto extra al final de cada combate" },
+ "GOLDEN_POKEBALL": { name: "Poké Ball Dorada", description: "Agrega 1 opción de objeto extra al final de cada combate." },
- "ENEMY_DAMAGE_BOOSTER": { name: "Damage Token", description: "Aumenta el daño en un 5%" },
- "ENEMY_DAMAGE_REDUCTION": { name: "Protection Token", description: "Reduce el daño recibido en un 2,5%" },
- "ENEMY_HEAL": { name: "Recovery Token", description: "Cura el 2% de los PS máximo en cada turno" },
- "ENEMY_ATTACK_POISON_CHANCE": { name: "Poison Token" },
- "ENEMY_ATTACK_PARALYZE_CHANCE": { name: "Paralyze Token" },
- "ENEMY_ATTACK_BURN_CHANCE": { name: "Burn Token" },
- "ENEMY_STATUS_EFFECT_HEAL_CHANCE": { name: "Full Heal Token", description: "Agrega un 2.5% de probabilidad cada turno de curar un problema de estado" },
- "ENEMY_ENDURE_CHANCE": { name: "Endure Token" },
- "ENEMY_FUSED_CHANCE": { name: "Fusion Token", description: "Agrega un 1% de probabilidad de que un Pokémon salvaje sea una fusión" },
+ "ENEMY_DAMAGE_BOOSTER": { name: "Ficha Daño", description: "Aumenta el daño en un 5%." },
+ "ENEMY_DAMAGE_REDUCTION": { name: "Ficha Protección", description: "Reduce el daño recibido en un 2,5%." },
+ "ENEMY_HEAL": { name: "Ficha Curación", description: "Cura el 2% de los PS máximo en cada turno." },
+ "ENEMY_ATTACK_POISON_CHANCE": { name: "Ficha Veneno" },
+ "ENEMY_ATTACK_PARALYZE_CHANCE": { name: "Ficha Parálisis" },
+ "ENEMY_ATTACK_BURN_CHANCE": { name: "Ficha Quemadura" },
+ "ENEMY_STATUS_EFFECT_HEAL_CHANCE": { name: "Ficha Cura Total", description: "Agrega un 2.5% de probabilidad cada turno de curar un problema de estado." },
+ "ENEMY_ENDURE_CHANCE": { name: "Ficha Aguante" },
+ "ENEMY_FUSED_CHANCE": { name: "Ficha Fusión", description: "Agrega un 1% de probabilidad de que un Pokémon salvaje sea una fusión." },
+ },
+ SpeciesBoosterItem: {
+ "LIGHT_BALL": { name: "Bola Luminosa", description: "Asombrosa esfera que aumenta el Ataque y el Ataque Especial. Debe llevarla Pikachu." },
+ "THICK_CLUB": { name: "Hueso Grueso", description: "Extraño tipo de hueso que potencia los ataques físicos. Debe llevarlo Cubone o Marowak." },
+ "METAL_POWDER": { name: "Polvo Metálico", description: "Polvo muy fino, pero a la vez poderoso, que aumenta la Defensa. Debe llevarlo Ditto." },
+ "QUICK_POWDER": { name: "Polvo Veloz", description: "Polvo muy fino, pero a la vez poderoso, que aumenta la Velocidad. Debe llevarlo Ditto." }
},
TempBattleStatBoosterItem: {
"x_attack": "Ataque X",
@@ -244,6 +256,18 @@ export const modifierType: ModifierTypeTranslationEntries = {
"x_accuracy": "Precisión X",
"dire_hit": "Crítico X",
},
+
+ TempBattleStatBoosterStatName: {
+ "ATK": "Attack",
+ "DEF": "Defense",
+ "SPATK": "Sp. Atk",
+ "SPDEF": "Sp. Def",
+ "SPD": "Speed",
+ "ACC": "Accuracy",
+ "CRIT": "Critical Hit Ratio",
+ "EVA": "Evasiveness",
+ "DEFAULT": "???",
+ },
AttackTypeBoosterItem: {
"silk_scarf": "Pañuelo Seda",
"black_belt": "Cinturón Negro",
@@ -384,5 +408,43 @@ export const modifierType: ModifierTypeTranslationEntries = {
"BURN_DRIVE": "PiroROM",
"CHILL_DRIVE": "CrioROM",
"DOUSE_DRIVE": "HidroROM",
+
+ "FIST_PLATE": "Tabla Fuerte",
+ "SKY_PLATE": "Tabla Cielo",
+ "TOXIC_PLATE": "Tabla Tóxica",
+ "EARTH_PLATE": "Tabla Terrax",
+ "STONE_PLATE": "Tabla Pétrea",
+ "INSECT_PLATE": "Tabla Bicho",
+ "SPOOKY_PLATE": "Tabla Terror",
+ "IRON_PLATE": "Tabla Acero",
+ "FLAME_PLATE": "Tabla Llama",
+ "SPLASH_PLATE": "Tabla Linfa",
+ "MEADOW_PLATE": "Tabla Pradal",
+ "ZAP_PLATE": "Tabla Trueno",
+ "MIND_PLATE": "Tabla Mental",
+ "ICICLE_PLATE": "Tabla Helada",
+ "DRACO_PLATE": "Tabla Draco",
+ "DREAD_PLATE": "Tabla Oscura",
+ "PIXIE_PLATE": "Tabla Duende",
+ "BLANK_PLATE": "Tabla Neutra",
+ "LEGEND_PLATE": "Tabla Legendaria",
+ "FIGHTING_MEMORY": "Disco Lucha",
+ "FLYING_MEMORY": "Disco Volador",
+ "POISON_MEMORY": "Disco Veneno",
+ "GROUND_MEMORY": "Disco Tierra",
+ "ROCK_MEMORY": "Disco Roca",
+ "BUG_MEMORY": "Disco Bicho",
+ "GHOST_MEMORY": "Disco Fantasma",
+ "STEEL_MEMORY": "Disco Acero",
+ "FIRE_MEMORY": "Disco Fuego",
+ "WATER_MEMORY": "Disco Agua",
+ "GRASS_MEMORY": "Disco Planta",
+ "ELECTRIC_MEMORY": "Disco Eléctrico",
+ "PSYCHIC_MEMORY": "Disco Psíquico",
+ "ICE_MEMORY": "Disco Hielo",
+ "DRAGON_MEMORY": "Disco Dragón",
+ "DARK_MEMORY": "Disco Siniestro",
+ "FAIRY_MEMORY": "Disco Hada",
+ "BLANK_MEMORY": "Disco Blanco",
},
} as const;
diff --git a/src/locales/es/modifier.ts b/src/locales/es/modifier.ts
new file mode 100644
index 00000000000..d3da4c2150b
--- /dev/null
+++ b/src/locales/es/modifier.ts
@@ -0,0 +1,12 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const modifier: SimpleTranslationEntries = {
+ "surviveDamageApply": "{{pokemonNameWithAffix}} hung on\nusing its {{typeName}}!",
+ "turnHealApply": "{{pokemonNameWithAffix}} restored a little HP using\nits {{typeName}}!",
+ "hitHealApply": "{{pokemonNameWithAffix}} restored a little HP using\nits {{typeName}}!",
+ "pokemonInstantReviveApply": "{{pokemonNameWithAffix}} was revived\nby its {{typeName}}!",
+ "moneyInterestApply": "You received interest of ₽{{moneyAmount}}\nfrom the {{typeName}}!",
+ "turnHeldItemTransferApply": "{{pokemonNameWithAffix}}'s {{itemName}} was absorbed\nby {{pokemonName}}'s {{typeName}}!",
+ "contactHeldItemTransferApply": "{{pokemonNameWithAffix}}'s {{itemName}} was snatched\nby {{pokemonName}}'s {{typeName}}!",
+ "enemyTurnHealApply": "{{pokemonNameWithAffix}}\nrestored some HP!",
+} as const;
diff --git a/src/locales/es/move.ts b/src/locales/es/move.ts
index 026e67b797f..3693e008574 100644
--- a/src/locales/es/move.ts
+++ b/src/locales/es/move.ts
@@ -1,4 +1,4 @@
-import { MoveTranslationEntries } from "#app/plugins/i18n";
+import { MoveTranslationEntries } from "#app/interfaces/locales";
export const move: MoveTranslationEntries = {
pound: {
@@ -2931,7 +2931,7 @@ export const move: MoveTranslationEntries = {
},
bouncyBubble: {
name: "Vapodrenaje",
- effect: "Ataca lanzando proyectiles de agua y recupera una cantidad de PS equivalente a la mitad del daño causado.",
+ effect: "Ataca lanzando proyectiles de agua y recupera una cantidad de PS equivalente a la del daño causado.",
},
buzzyBuzz: {
name: "Joltioparálisis",
diff --git a/src/locales/es/nature.ts b/src/locales/es/nature.ts
index 212ee403bd7..ddeff5aa0ab 100644
--- a/src/locales/es/nature.ts
+++ b/src/locales/es/nature.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const nature: SimpleTranslationEntries = {
"Hardy": "Fuerte",
diff --git a/src/locales/es/party-ui-handler.ts b/src/locales/es/party-ui-handler.ts
new file mode 100644
index 00000000000..b310a98840d
--- /dev/null
+++ b/src/locales/es/party-ui-handler.ts
@@ -0,0 +1,53 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const partyUiHandler: SimpleTranslationEntries = {
+ "SEND_OUT": "Send Out",
+ "SUMMARY": "Summary",
+ "CANCEL": "Cancel",
+ "RELEASE": "Release",
+ "APPLY": "Apply",
+ "TEACH": "Enseñar",
+ "SPLICE": "Fusionar",
+ "UNSPLICE": "Separar",
+ "ACTIVATE": "Activar",
+ "DEACTIVATE": "Desactivar",
+ "TRANSFER": "Transferir",
+ "ALL": "Todo",
+ "PASS_BATON": "Relevo",
+ "UNPAUSE_EVOLUTION": "Reanudar Evolución",
+ "REVIVE": "Revivir",
+
+ "choosePokemon": "Elige a un Pokémon.",
+ "doWhatWithThisPokemon": "¿Que quieres hacer con este Pokémon?",
+ "noEnergy": "¡A {{pokemonName}} no le quedan\nfuerzas para luchar!",
+ "hasEnergy": "¡A {{pokemonName}} le quedan\nfuerzas para luchar!",
+ "cantBeUsed": "¡{{pokemonName}} no puede usarse\nen este desafío!",
+ "tooManyItems": "¡{{pokemonName}} tiene demasiados\nde este objeto!",
+ "anyEffect": "No tendría ningún efecto.",
+ "unpausedEvolutions": "Se reanudó las evoluciones de {{pokemonName}}.",
+ "unspliceConfirmation": "¿Seguro que quiere separar a {{fusionName}}\nde {{pokemonName}}? {{fusionName}} se perderá.",
+ "wasReverted": "{{fusionName}} se revirtió a {{pokemonName}}.",
+ "releaseConfirmation": "¿Quieres liberar a {{pokemonName}}?",
+ "releaseInBattle": "¡No puedes liberar un Pokémon que está en batalla!",
+ "selectAMove": "Selecciona un movimiento.",
+ "changeQuantity": "Selecciona un objeto equipado para transferir.\nUsa < y > para cambiar la cantidad.",
+ "selectAnotherPokemonToSplice": "Selecciona otro Pokémon para fusionar.",
+ "cancel": "Salir",
+
+ // Slot TM text
+ "able": "Apto",
+ "notAble": "No apto",
+ "learned": "Aprendido",
+
+ // Releasing messages
+ "goodbye": "¡Adiós, {{pokemonName}}!",
+ "byebye": "¡Chao, {{pokemonName}}!",
+ "farewell": "¡Hasta luego, {{pokemonName}}!",
+ "soLong": "¡Nos vemos, {{pokemonName}}!",
+ "thisIsWhereWePart": "¡Aquí es donde nos despedimos, {{pokemonName}}!",
+ "illMissYou": "¡Te echaré de menos, {{pokemonName}}!",
+ "illNeverForgetYou": "¡Nunca te olvidaré, {{pokemonName}}!",
+ "untilWeMeetAgain": "¡Hasta que nos volvamos a encontrar, {{pokemonName}}!",
+ "sayonara": "¡Sayonara, {{pokemonName}}!",
+ "smellYaLater": "¡Nos vemos luego, {{pokemonName}}!",
+} as const;
diff --git a/src/locales/es/pokeball.ts b/src/locales/es/pokeball.ts
index a38b6d6a047..c9b62cdd9ea 100644
--- a/src/locales/es/pokeball.ts
+++ b/src/locales/es/pokeball.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const pokeball: SimpleTranslationEntries = {
"pokeBall": "Poké Ball",
diff --git a/src/locales/es/pokemon-info-container.ts b/src/locales/es/pokemon-info-container.ts
index 068c9ebb431..6f97f29ee39 100644
--- a/src/locales/es/pokemon-info-container.ts
+++ b/src/locales/es/pokemon-info-container.ts
@@ -1,11 +1,8 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const pokemonInfoContainer: SimpleTranslationEntries = {
- "moveset": "Moveset",
- "gender": "Gender:",
- "ability": "Ability:",
- "nature": "Nature:",
- "epic": "Epic",
- "rare": "Rare",
- "common": "Common"
+ "moveset": "Movimientos",
+ "gender": "Género:",
+ "ability": "Habilid:",
+ "nature": "Natur:",
} as const;
diff --git a/src/locales/es/pokemon-info.ts b/src/locales/es/pokemon-info.ts
index 4861ac1f82f..56fd7130c0a 100644
--- a/src/locales/es/pokemon-info.ts
+++ b/src/locales/es/pokemon-info.ts
@@ -1,4 +1,4 @@
-import { PokemonInfoTranslationEntries } from "#app/plugins/i18n";
+import { PokemonInfoTranslationEntries } from "#app/interfaces/locales";
export const pokemonInfo: PokemonInfoTranslationEntries = {
Stat: {
@@ -13,7 +13,9 @@ export const pokemonInfo: PokemonInfoTranslationEntries = {
"SPDEF": "Def. Esp.",
"SPDEFshortened": "DefEsp",
"SPD": "Velocidad",
- "SPDshortened": "Veloc."
+ "SPDshortened": "Veloc.",
+ "ACC": "Accuracy",
+ "EVA": "Evasiveness"
},
Type: {
diff --git a/src/locales/es/pokemon.ts b/src/locales/es/pokemon.ts
index b230777e033..93f13aed8b0 100644
--- a/src/locales/es/pokemon.ts
+++ b/src/locales/es/pokemon.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const pokemon: SimpleTranslationEntries = {
"bulbasaur": "Bulbasaur",
diff --git a/src/locales/es/save-slot-select-ui-handler.ts b/src/locales/es/save-slot-select-ui-handler.ts
new file mode 100644
index 00000000000..645afd453a9
--- /dev/null
+++ b/src/locales/es/save-slot-select-ui-handler.ts
@@ -0,0 +1,9 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const saveSlotSelectUiHandler: SimpleTranslationEntries = {
+ "overwriteData": "¿Sobrescribir los datos en la ranura seleccionada?",
+ "loading": "Cargando...",
+ "wave": "Oleada",
+ "lv": "Nv",
+ "empty": "Vacío",
+} as const;
diff --git a/src/locales/es/settings.ts b/src/locales/es/settings.ts
new file mode 100644
index 00000000000..dfd6f097242
--- /dev/null
+++ b/src/locales/es/settings.ts
@@ -0,0 +1,99 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales.js";
+
+export const settings: SimpleTranslationEntries = {
+ "boy": "Chico",
+ "girl": "Chica",
+ "general": "General",
+ "display": "Display",
+ "audio": "Audio",
+ "gamepad": "Gamepad",
+ "keyboard": "Keyboard",
+ "gameSpeed": "Game Speed",
+ "hpBarSpeed": "HP Bar Speed",
+ "expGainsSpeed": "EXP Gains Speed",
+ "expPartyDisplay": "Show EXP Party",
+ "skipSeenDialogues": "Skip Seen Dialogues",
+ "battleStyle": "Battle Style",
+ "enableRetries": "Enable Retries",
+ "tutorials": "Tutorials",
+ "touchControls": "Touch Controls",
+ "vibrations": "Vibrations",
+ "normal": "Normal",
+ "fast": "Fast",
+ "faster": "Faster",
+ "skip": "Skip",
+ "levelUpNotifications": "Level Up Notifications",
+ "on": "On",
+ "off": "Off",
+ "switch": "Switch",
+ "set": "Set",
+ "auto": "Auto",
+ "disabled": "Disabled",
+ "language": "Language",
+ "change": "Change",
+ "uiTheme": "UI Theme",
+ "default": "Default",
+ "legacy": "Legacy",
+ "windowType": "Window Type",
+ "moneyFormat": "Money Format",
+ "damageNumbers": "Damage Numbers",
+ "simple": "Simple",
+ "fancy": "Fancy",
+ "abbreviated": "Abbreviated",
+ "moveAnimations": "Move Animations",
+ "showStatsOnLevelUp": "Show Stats on Level Up",
+ "candyUpgradeNotification": "Candy Upgrade Notification",
+ "passivesOnly": "Passives Only",
+ "candyUpgradeDisplay": "Candy Upgrade Display",
+ "icon": "Icon",
+ "animation": "Animation",
+ "moveInfo": "Move Info",
+ "showMovesetFlyout": "Show Moveset Flyout",
+ "showArenaFlyout": "Show Arena Flyout",
+ "showTimeOfDayWidget": "Show Time of Day Widget",
+ "timeOfDayAnimation": "Time of Day Animation",
+ "bounce": "Bounce",
+ "timeOfDay_back": "Back",
+ "spriteSet": "Sprite Set",
+ "consistent": "Consistent",
+ "mixedAnimated": "Mixed Animated",
+ "fusionPaletteSwaps": "Fusion Palette Swaps",
+ "playerGender": "Player Gender",
+ "typeHints": "Type Hints",
+ "masterVolume": "Master Volume",
+ "bgmVolume": "BGM Volume",
+ "seVolume": "SE Volume",
+ "musicPreference": "Music Preference",
+ "mixed": "Mixed",
+ "gamepadPleasePlug": "Please Plug in a Gamepad or Press a Button",
+ "delete": "Delete",
+ "keyboardPleasePress": "Please Press a Key on Your Keyboard",
+ "reset": "Reset",
+ "requireReload": "Reload Required",
+ "action": "Action",
+ "back": "Back",
+ "pressToBind": "Press to Bind",
+ "pressButton": "Press a Button...",
+ "buttonUp": "Up",
+ "buttonDown": "Down",
+ "buttonLeft": "Left",
+ "buttonRight": "Right",
+ "buttonAction": "Action",
+ "buttonMenu": "Menu",
+ "buttonSubmit": "Submit",
+ "buttonCancel": "Cancel",
+ "buttonStats": "Stats",
+ "buttonCycleForm": "Cycle Form",
+ "buttonCycleShiny": "Cycle Shiny",
+ "buttonCycleGender": "Cycle Gender",
+ "buttonCycleAbility": "Cycle Ability",
+ "buttonCycleNature": "Cycle Nature",
+ "buttonCycleVariant": "Cycle Variant",
+ "buttonSpeedUp": "Speed Up",
+ "buttonSlowDown": "Slow Down",
+ "alt": " (Alt)",
+ "mute": "Mute",
+ "controller": "Controller",
+ "gamepadSupport": "Gamepad Support",
+ "showBgmBar": "Show Music Names",
+} as const;
diff --git a/src/locales/es/splash-messages.ts b/src/locales/es/splash-messages.ts
index d8400111060..0d6f050be94 100644
--- a/src/locales/es/splash-messages.ts
+++ b/src/locales/es/splash-messages.ts
@@ -1,37 +1,37 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const splashMessages: SimpleTranslationEntries = {
- "battlesWon": "Battles Won!",
- "joinTheDiscord": "Join the Discord!",
- "infiniteLevels": "Infinite Levels!",
- "everythingStacks": "Everything Stacks!",
- "optionalSaveScumming": "Optional Save Scumming!",
- "biomes": "35 Biomes!",
- "openSource": "Open Source!",
- "playWithSpeed": "Play with 5x Speed!",
- "liveBugTesting": "Live Bug Testing!",
- "heavyInfluence": "Heavy RoR2 Influence!",
- "pokemonRiskAndPokemonRain": "Pokémon Risk and Pokémon Rain!",
- "nowWithMoreSalt": "Now with 33% More Salt!",
- "infiniteFusionAtHome": "Infinite Fusion at Home!",
- "brokenEggMoves": "Broken Egg Moves!",
- "magnificent": "Magnificent!",
- "mubstitute": "Mubstitute!",
- "thatsCrazy": "That's Crazy!",
- "oranceJuice": "Orance Juice!",
- "questionableBalancing": "Questionable Balancing!",
- "coolShaders": "Cool Shaders!",
- "aiFree": "AI-Free!",
- "suddenDifficultySpikes": "Sudden Difficulty Spikes!",
- "basedOnAnUnfinishedFlashGame": "Based on an Unfinished Flash Game!",
- "moreAddictiveThanIntended": "More Addictive than Intended!",
- "mostlyConsistentSeeds": "Mostly Consistent Seeds!",
- "achievementPointsDontDoAnything": "Achievement Points Don't Do Anything!",
- "youDoNotStartAtLevel": "You Do Not Start at Level 2000!",
- "dontTalkAboutTheManaphyEggIncident": "Don't Talk About the Manaphy Egg Incident!",
- "alsoTryPokengine": "Also Try Pokéngine!",
- "alsoTryEmeraldRogue": "Also Try Emerald Rogue!",
- "alsoTryRadicalRed": "Also Try Radical Red!",
- "eeveeExpo": "Eevee Expo!",
- "ynoproject": "YNOproject!",
+ "battlesWon": "¡Batallas ganadas!",
+ "joinTheDiscord": "¡Únete al Discord!",
+ "infiniteLevels": "¡Niveles infinitos!",
+ "everythingStacks": "¡Todo se acumula!",
+ "optionalSaveScumming": "¡Trampas guardando (¡opcionales!)!",
+ "biomes": "¡35 biomas!",
+ "openSource": "¡Código abierto!",
+ "playWithSpeed": "¡Juega a velocidad 5x!",
+ "liveBugTesting": "¡Arreglo de bugs sobre la marcha!",
+ "heavyInfluence": "¡Influencia Alta en RoR2!",
+ "pokemonRiskAndPokemonRain": "¡Pokémon Risk y Pokémon Rain!",
+ "nowWithMoreSalt": "¡Con un 33% más de polémica!",
+ "infiniteFusionAtHome": "¡Infinite Fusion en casa!",
+ "brokenEggMoves": "¡Movimientos Huevo rotos!",
+ "magnificent": "¡Magnífico!",
+ "mubstitute": "¡Mubstituto!",
+ "thatsCrazy": "¡De locos!",
+ "oranceJuice": "¡Zumo de narancia!",
+ "questionableBalancing": "¡Balance cuestionable!",
+ "coolShaders": "¡Shaders impresionantes!",
+ "aiFree": "¡Libre de IA!",
+ "suddenDifficultySpikes": "¡Saltos de dificultad repentinos!",
+ "basedOnAnUnfinishedFlashGame": "¡Basado en un juego Flash inacabado!",
+ "moreAddictiveThanIntended": "¡Más adictivo de la cuenta!",
+ "mostlyConsistentSeeds": "¡Semillas CASI consistentes!",
+ "achievementPointsDontDoAnything": "¡Los Puntos de Logro no hacen nada!",
+ "youDoNotStartAtLevel": "¡No empiezas al nivel 2000!",
+ "dontTalkAboutTheManaphyEggIncident": "¡No hablen del incidente del Huevo Manaphy!",
+ "alsoTryPokengine": "¡Prueba también Pokéngine!",
+ "alsoTryEmeraldRogue": "¡Prueba también Emerald Rogue!",
+ "alsoTryRadicalRed": "¡Prueba también Radical Red!",
+ "eeveeExpo": "¡Eevee Expo!",
+ "ynoproject": "¡YNOproject!",
} as const;
diff --git a/src/locales/es/starter-select-ui-handler.ts b/src/locales/es/starter-select-ui-handler.ts
index 81455418c7d..14c22e22097 100644
--- a/src/locales/es/starter-select-ui-handler.ts
+++ b/src/locales/es/starter-select-ui-handler.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
/**
* The menu namespace holds most miscellaneous text that isn't directly part of the game's
@@ -21,21 +21,23 @@ export const starterSelectUiHandler: SimpleTranslationEntries = {
"passive": "Pasiva:",
"nature": "Natur:",
"eggMoves": "Mov. Huevo",
- "start": "Iniciar",
"addToParty": "Añadir a Equipo",
"toggleIVs": "Mostrar IVs",
"manageMoves": "Gestionar Movs.",
+ "manageNature": "Gestionar Natur",
"useCandies": "Usar Caramelos",
+ "selectNature": "Elige Natur.",
"selectMoveSwapOut": "Elige el movimiento que sustituir.",
"selectMoveSwapWith": "Elige el movimiento que sustituirá a",
"unlockPassive": "Añadir Pasiva",
"reduceCost": "Reducir Coste",
- "cycleShiny": "R: Cambiar Shiny",
- "cycleForm": "F: Cambiar Forma",
- "cycleGender": "G: Cambiar Género",
- "cycleAbility": "E: Cambiar Habilidad",
- "cycleNature": "N: Cambiar Naturaleza",
- "cycleVariant": "V: Cambiar Variante",
+ "sameSpeciesEgg": "Buy an Egg",
+ "cycleShiny": ": Shiny",
+ "cycleForm": ": Forma",
+ "cycleGender": ": Género",
+ "cycleAbility": ": Habilidad",
+ "cycleNature": ": Naturaleza",
+ "cycleVariant": ": Variante",
"enablePassive": "Activar Pasiva",
"disablePassive": "Desactivar Pasiva",
"locked": "Bloqueado",
diff --git a/src/locales/es/status-effect.ts b/src/locales/es/status-effect.ts
new file mode 100644
index 00000000000..975288fc451
--- /dev/null
+++ b/src/locales/es/status-effect.ts
@@ -0,0 +1,67 @@
+import { StatusEffectTranslationEntries } from "#app/interfaces/locales.js";
+
+export const statusEffect: StatusEffectTranslationEntries = {
+ none: {
+ name: "Ninguno",
+ description: "",
+ obtain: "",
+ obtainSource: "",
+ activation: "",
+ overlap: "",
+ heal: ""
+ },
+ poison: {
+ name: "Envenenamiento",
+ description: "envenenamiento",
+ obtain: "¡{{pokemonNameWithAffix}}\nha sido envenenado!",
+ obtainSource: "¡{{pokemonNameWithAffix}}\nha sido envenenado por {{sourceText}}!",
+ activation: "¡El veneno resta PS a {{pokemonNameWithAffix}}!",
+ overlap: "¡{{pokemonNameWithAffix}} ya\nestá envenenado!",
+ heal: "¡{{pokemonNameWithAffix}} ya no\nestá envenenado!"
+ },
+ toxic: {
+ name: "Envenenamiento grave",
+ description: "envenenamiento grave",
+ obtain: "¡{{pokemonNameWithAffix}}\nha sido gravemente envenenado!",
+ obtainSource: "¡{{pokemonNameWithAffix}}\nha sido gravemente envenenado por {{sourceText}}!",
+ activation: "¡El veneno resta PS a {{pokemonNameWithAffix}}!",
+ overlap: "¡{{pokemonNameWithAffix}} ya\nestá envenenado!",
+ heal: "¡{{pokemonNameWithAffix}} ya no\nestá envenenado!"
+ },
+ paralysis: {
+ name: "Parálisis",
+ description: "parálisis",
+ obtain: "¡{{pokemonNameWithAffix}} sufre parálisis!\nQuizás no se pueda mover.",
+ obtainSource: "¡{{pokemonNameWithAffix}} sufre parálisis por {{sourceText}}!\nQuizás no se pueda mover.",
+ activation: "¡{{pokemonNameWithAffix}} está paralizado!\n¡No se puede mover!",
+ overlap: "¡{{pokemonNameWithAffix}} ya\nestá paralizado!",
+ heal: "¡{{pokemonNameWithAffix}} ya no\nestá paralizado!"
+ },
+ sleep: {
+ name: "Dormir",
+ description: "dormir",
+ obtain: "¡{{pokemonNameWithAffix}}\nse ha dormido!",
+ obtainSource: "¡{{pokemonNameWithAffix}}\nse ha dormido\npor culpa de {{sourceText}}!",
+ activation: "¡{{pokemonNameWithAffix}} está/ndormido como un tronco.",
+ overlap: "¡{{pokemonNameWithAffix}} ya\nestá dormido!",
+ heal: "¡{{pokemonNameWithAffix}} se despertó!"
+ },
+ freeze: {
+ name: "Congelamiento",
+ description: "congelamiento",
+ obtain: "¡{{pokemonNameWithAffix}}\nha sido congelado!",
+ obtainSource: "¡{{pokemonNameWithAffix}}\nha sido congelado por {{sourceText}}!",
+ activation: "¡{{pokemonNameWithAffix}} está\ncongelado!",
+ overlap: "¡{{pokemonNameWithAffix}} ya\nestá congelado!",
+ heal: "¡{{pokemonNameWithAffix}} se\nha descongelado!"
+ },
+ burn: {
+ name: "Quemadura",
+ description: "quemadura",
+ obtain: "¡{{pokemonNameWithAffix}}\nse ha quemado!",
+ obtainSource: "¡{{pokemonNameWithAffix}}\nse ha quemado por {{sourceText}}!",
+ activation: "¡{{pokemonNameWithAffix}} se resiente\nde las quemaduras!",
+ overlap: "¡{{pokemonNameWithAffix}} ya\nestá quemado!",
+ heal: "¡{{pokemonNameWithAffix}} ya no\nestá quemado!"
+ },
+} as const;
diff --git a/src/locales/es/trainers.ts b/src/locales/es/trainers.ts
index 3e2b2b1a788..d5647f83cf6 100644
--- a/src/locales/es/trainers.ts
+++ b/src/locales/es/trainers.ts
@@ -1,4 +1,4 @@
-import {SimpleTranslationEntries} from "#app/plugins/i18n";
+import {SimpleTranslationEntries} from "#app/interfaces/locales";
// Titles of special trainers like gym leaders, elite four, and the champion
export const titles: SimpleTranslationEntries = {
@@ -94,6 +94,7 @@ export const trainerClasses: SimpleTranslationEntries = {
"rich_kid_female": "Niña Bien",
"rich_kids": "Niños Bien",
"roughneck": "Calvo",
+ "sailor": "Marinero",
"scientist": "Científico",
"scientist_female": "Científica",
"scientists": "Científicos",
diff --git a/src/locales/es/tutorial.ts b/src/locales/es/tutorial.ts
index 055bc808da3..5a33bcd9dd0 100644
--- a/src/locales/es/tutorial.ts
+++ b/src/locales/es/tutorial.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const tutorial: SimpleTranslationEntries = {
"intro": `¡Bienvenido/a a PokéRogue! Este es un fangame de Pokémon centrado en el combate con elementos roguelite.
diff --git a/src/locales/es/voucher.ts b/src/locales/es/voucher.ts
index 86debdc25cf..60479160efe 100644
--- a/src/locales/es/voucher.ts
+++ b/src/locales/es/voucher.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const voucher: SimpleTranslationEntries = {
"vouchers": "Vales",
diff --git a/src/locales/es/weather.ts b/src/locales/es/weather.ts
index 04ebf977bc2..1129443d71b 100644
--- a/src/locales/es/weather.ts
+++ b/src/locales/es/weather.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
/**
* The weather namespace holds text displayed when weather is active during a battle
@@ -15,12 +15,12 @@ export const weather: SimpleTranslationEntries = {
"sandstormStartMessage": "¡Se ha desatado una tormenta de arena!",
"sandstormLapseMessage": "La tormenta de arena arrecia...",
"sandstormClearMessage": "La tormenta de arena termino.",
- "sandstormDamageMessage": "¡La tormenta de arena zarandea al\n{{pokemonName}}{{pokemonPrefix}}!",
+ "sandstormDamageMessage": "¡La tormenta de arena zarandea al\n{{pokemonNameWithAffix}}!",
"hailStartMessage": "¡Ha empezado a granizar!",
"hailLapseMessage": "Sigue granizando...",
"hailClearMessage": "Had dejado de granizar.",
- "hailDamageMessage": "El granizo golpea al\n{{pokemonName}}{{pokemonPrefix}}!",
+ "hailDamageMessage": "El granizo golpea al\n{{pokemonNameWithAffix}}!",
"snowStartMessage": "¡Ha empezado a nevar!",
"snowLapseMessage": "Sigue nevando...",
@@ -40,5 +40,27 @@ export const weather: SimpleTranslationEntries = {
"strongWindsStartMessage": "¡Comenzó un fuerte viento!",
"strongWindsLapseMessage": "El viento sopla intensamente.",
+ "strongWindsEffectMessage": "¡Las misteriosas turbulencias atenúan el ataque!",
"strongWindsClearMessage": "El fuerte viento cesó."
};
+
+export const terrain: SimpleTranslationEntries = {
+ "misty": "Misty",
+ "mistyStartMessage": "Mist swirled around the battlefield!",
+ "mistyClearMessage": "The mist disappeared from the battlefield.",
+ "mistyBlockMessage": "{{pokemonNameWithAffix}} surrounds itself with a protective mist!",
+
+ "electric": "Electric",
+ "electricStartMessage": "An electric current ran across the battlefield!",
+ "electricClearMessage": "The electricity disappeared from the battlefield.",
+
+ "grassy": "Grassy",
+ "grassyStartMessage": "Grass grew to cover the battlefield!",
+ "grassyClearMessage": "The grass disappeared from the battlefield.",
+
+ "psychic": "Psychic",
+ "psychicStartMessage": "The battlefield got weird!",
+ "psychicClearMessage": "The weirdness disappeared from the battlefield!",
+
+ "defaultBlockMessage": "{{pokemonNameWithAffix}} is protected by the {{terrainName}} Terrain!"
+};
diff --git a/src/locales/fr/ability-trigger.ts b/src/locales/fr/ability-trigger.ts
index eb450117238..f99ff15c26f 100644
--- a/src/locales/fr/ability-trigger.ts
+++ b/src/locales/fr/ability-trigger.ts
@@ -1,7 +1,13 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const abilityTriggers: SimpleTranslationEntries = {
"blockRecoilDamage" : "{{abilityName}}\nde {{pokemonName}} le protège du contrecoup !",
"badDreams": "{{pokemonName}} a le sommeil agité !",
- "windPowerCharged": "{{pokemonName}} a été touché par la capacité {{moveName}} et se charge en électricité !"
+ "costar": "{{pokemonName}} copie les changements de stats\nde {{allyName}} !",
+ "iceFaceAvoidedDamage": "{{pokemonName}} évite les dégâts\navec {{abilityName}} !",
+ "perishBody": "{{abilityName}} de {{pokemonName}}\nmettra les deux Pokémon K.O. dans trois tours !",
+ "poisonHeal": "{{abilityName}} de {{pokemonName}}\nrestaure un peu ses PV !",
+ "trace": "{{pokemonName}} copie le talent {{abilityName}}\nde {{targetName}} !",
+ "windPowerCharged": "{{pokemonName}} a été touché par la capacité {{moveName}} et se charge en électricité !",
+ "quickDraw": "{{pokemonName}} can act faster than normal, thanks to its Quick Draw!",
} as const;
diff --git a/src/locales/fr/ability.ts b/src/locales/fr/ability.ts
index 83bb46c7408..a69519e187a 100644
--- a/src/locales/fr/ability.ts
+++ b/src/locales/fr/ability.ts
@@ -1,4 +1,4 @@
-import { AbilityTranslationEntries } from "#app/plugins/i18n.js";
+import { AbilityTranslationEntries } from "#app/interfaces/locales.js";
export const ability: AbilityTranslationEntries = {
stench: {
@@ -897,7 +897,7 @@ export const ability: AbilityTranslationEntries = {
name: "Boost Chimère",
description: "Augmente la stat la plus élevée du Pokémon quand il met K.O. un autre Pokémon.",
},
- rKSSystem: {
+ rksSystem: {
name: "Système Alpha",
description: "Change le type du Pokémon en fonction de la ROM équipée.",
},
diff --git a/src/locales/fr/achv.ts b/src/locales/fr/achv.ts
index 6383c6817c0..4ff9bf20f51 100644
--- a/src/locales/fr/achv.ts
+++ b/src/locales/fr/achv.ts
@@ -1,6 +1,7 @@
-import { AchievementTranslationEntries } from "#app/plugins/i18n.js";
+import { AchievementTranslationEntries } from "#app/interfaces/locales.js";
-export const achv: AchievementTranslationEntries = {
+// Achievement translations for the when the player character is male
+export const PGMachv: AchievementTranslationEntries = {
"Achievements": {
name: "Succès",
},
@@ -161,11 +162,109 @@ export const achv: AchievementTranslationEntries = {
description: "Capturer un Pokémon possédant un talent caché",
},
"PERFECT_IVS": {
- name: "Certificat d’Authenticité",
+ name: "Certificat d’authenticité",
description: "Avoir des IV parfaits sur un Pokémon",
},
"CLASSIC_VICTORY": {
name: "Invaincu·e",
description: "Terminer le jeu en mode classique",
},
+
+ "MONO_GEN_ONE": {
+ name: "Le rival originel",
+ description: "Terminer un challenge avec uniquement des Pokémon de 1re génération.",
+ },
+ "MONO_GEN_TWO": {
+ name: "Entre tradition et modernité",
+ description: "Terminer un challenge avec uniquement des Pokémon de 2e génération.",
+ },
+ "MONO_GEN_THREE": {
+ name: "Too much water ?",
+ description: "Terminer un challenge avec uniquement des Pokémon de 3e génération.",
+ },
+ "MONO_GEN_FOUR": {
+ name: "Réellement la plus difficile ?",
+ description: "Terminer un challenge avec uniquement des Pokémon de 4e génération.",
+ },
+ "MONO_GEN_FIVE": {
+ name: "Recast complet",
+ description: "Terminer un challenge avec uniquement des Pokémon de 5e génération.",
+ },
+ "MONO_GEN_SIX": {
+ name: "Aristocrate",
+ description: "Terminer un challenge avec uniquement des Pokémon de 6e génération.",
+ },
+ "MONO_GEN_SEVEN": {
+ name: "Seulement techniquement",
+ description: "Terminer un challenge avec uniquement des Pokémon de 7e génération.",
+ },
+ "MONO_GEN_EIGHT": {
+ name: "L’heure de gloire",
+ description: "Terminer un challenge avec uniquement des Pokémon de 8e génération.",
+ },
+ "MONO_GEN_NINE": {
+ name: "Ça va, c’était EZ",
+ description: "Terminer un challenge avec uniquement des Pokémon de 9e génération.",
+ },
+
+ "MonoType": {
+ description: "Terminer un challenge en monotype {{type}}.",
+ },
+ "MONO_NORMAL": {
+ name: "Extraordinairement banal",
+ },
+ "MONO_FIGHTING": {
+ name: "Je connais le kung-fu",
+ },
+ "MONO_FLYING": {
+ name: "Angry Birds",
+ },
+ "MONO_POISON": {
+ name: "Touche moi je t’empoisonne !",
+ },
+ "MONO_GROUND": {
+ name: "Prévisions : Séisme",
+ },
+ "MONO_ROCK": {
+ name: "Comme un roc",
+ },
+ "MONO_BUG": {
+ name: "Une chenille !",
+ },
+ "MONO_GHOST": {
+ name: "SOS Fantômes",
+ },
+ "MONO_STEEL": {
+ name: "De type Acier !",
+ },
+ "MONO_FIRE": {
+ name: "Allumer le feu",
+ },
+ "MONO_WATER": {
+ name: "Vacances en Bretagne",
+ },
+ "MONO_GRASS": {
+ name: "Ne pas toucher !",
+ },
+ "MONO_ELECTRIC": {
+ name: "À la masse",
+ },
+ "MONO_PSYCHIC": {
+ name: "Grocervo",
+ },
+ "MONO_ICE": {
+ name: "Froid comme la glace",
+ },
+ "MONO_DRAGON": {
+ name: "Légendes du club, ou presque",
+ },
+ "MONO_DARK": {
+ name: "Ça va lui passer",
+ },
+ "MONO_FAIRY": {
+ name: "Hey ! Listen !",
+ },
} as const;
+
+// Achievement translations for the when the player character is female (it for now uses the same translations as the male version)
+export const PGFachv: AchievementTranslationEntries = PGMachv;
diff --git a/src/locales/fr/battle-message-ui-handler.ts b/src/locales/fr/battle-message-ui-handler.ts
index 8dc980d49a4..cb2f745577e 100644
--- a/src/locales/fr/battle-message-ui-handler.ts
+++ b/src/locales/fr/battle-message-ui-handler.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const battleMessageUiHandler: SimpleTranslationEntries = {
"ivBest": "Exceptionnel",
diff --git a/src/locales/fr/battle.ts b/src/locales/fr/battle.ts
index 535ed4b6ade..fc155664aaa 100644
--- a/src/locales/fr/battle.ts
+++ b/src/locales/fr/battle.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const battle: SimpleTranslationEntries = {
"bossAppeared": "Un {{bossName}} apparait.",
@@ -14,7 +14,9 @@ export const battle: SimpleTranslationEntries = {
"switchQuestion": "Voulez-vous changer\nvotre {{pokemonName}} ?",
"trainerDefeated": "Vous avez battu\n{{trainerName}} !",
"moneyWon": "Vous remportez\n{{moneyAmount}} ₽ !",
+ "moneyPickedUp": "Vous obtenez {{moneyAmount}} ₽ !",
"pokemonCaught": "Vous avez attrapé {{pokemonName}} !",
+ "addedAsAStarter": "{{pokemonName}} est ajouté\ncomme starter !",
"partyFull": "Votre équipe est pleine.\nRelâcher un Pokémon pour {{pokemonName}} ?",
"pokemon": "Pokémon",
"sendOutPokemon": "{{pokemonName}} ! Go !",
@@ -24,7 +26,9 @@ export const battle: SimpleTranslationEntries = {
"hitResultNoEffect": "Ça n’affecte pas {{pokemonName}}…",
"hitResultOneHitKO": "K.O. en un coup !",
"attackFailed": "Mais cela échoue !",
+ "attackMissed": "{{pokemonNameWithAffix}}\névite l’attaque !",
"attackHitsCount": "Touché {{count}} fois !",
+ "rewardGain": "Vous recevez\n{{modifierName}} !",
"expGain": "{{pokemonName}} gagne\n{{exp}} Points d’Exp !",
"levelUp": "{{pokemonName}} monte au\nN. {{level}} !",
"learnMove": "{{pokemonName}} apprend\n{{moveName}} !",
@@ -53,9 +57,82 @@ export const battle: SimpleTranslationEntries = {
"escapeVerbSwitch": "le changement",
"escapeVerbFlee": "la fuite",
"notDisabled": "La capacité {{moveName}}\nde {{pokemonName}} n’est plus sous entrave !",
+ "turnEndHpRestore": "{{pokemonName}} récupère des PV !",
+ "hpIsFull": "Les PV de {{pokemonName}}\nsont au maximum !",
"skipItemQuestion": "Êtes-vous sûr·e de ne pas vouloir prendre d’objet ?",
- "eggHatching": "Oh ?",
+ "eggHatching": "Hein ?",
"ivScannerUseQuestion": "Utiliser le Scanner d’IV sur {{pokemonName}} ?",
- "drainMessage": "{{pokemonName}} had its\nenergy drained!",
- "regainHealth": "{{pokemonName}} regained\nhealth!"
+ "wildPokemonWithAffix": "{{pokemonName}} sauvage",
+ "foePokemonWithAffix": "{{pokemonName}} ennemi",
+ "useMove": "{{pokemonNameWithAffix}} utilise\n{{moveName}} !",
+ "stealEatBerry": "{{pokemonName}} vole et mange\nla {{berryName}} de {{targetName}} !",
+ "drainMessage": "L’énergie de {{pokemonName}}\nest drainée !",
+ "regainHealth": "{{pokemonName}} récupère\ndes PV !",
+ "fainted": "{{pokemonNameWithAffix}}\nest K.O. !",
+ "statRose": "{{stats}} de {{pokemonNameWithAffix}}\naugmente !",
+ "statSharplyRose": "{{stats}} de {{pokemonNameWithAffix}}\naugmente beaucoup !",
+ "statRoseDrastically": "{{stats}} de {{pokemonNameWithAffix}}\naugmente énormément !",
+ "statWontGoAnyHigher": "{{stats}} de {{pokemonNameWithAffix}}\nne peut plus augmenter !",
+ "statFell": "{{stats}} de {{pokemonNameWithAffix}}\nbaisse !",
+ "statHarshlyFell": "{{stats}} de {{pokemonNameWithAffix}}\nbaisse beaucoup !",
+ "statSeverelyFell": "{{stats}} de {{pokemonNameWithAffix}}\nbaisse énormément !",
+ "statWontGoAnyLower": "{{stats}} de {{pokemonNameWithAffix}}\nne peut plus baisser !",
+ "ppReduced": "Les PP de la capacité {{moveName}}\nde {{targetName}} baissent de {{reduction}} !",
+ "battlerTagsRechargingLapse": "Le contrecoup empêche {{pokemonNameWithAffix}}\n de bouger !",
+ "battlerTagsTrappedOnAdd": "{{pokemonNameWithAffix}}\nne peut plus s’échapper !",
+ "battlerTagsTrappedOnRemove": "{{pokemonNameWithAffix}} est libéré\nde la capacité {{moveName}} !",
+ "battlerTagsFlinchedLapse": "{{pokemonNameWithAffix}} a la trouille !\nIl ne peut plus attaquer !",
+ "battlerTagsConfusedOnAdd": "Ça rend {{pokemonNameWithAffix}}\nconfus !",
+ "battlerTagsConfusedOnRemove": "{{pokemonNameWithAffix}}\nn’est plus confus !",
+ "battlerTagsConfusedOnOverlap": "{{pokemonNameWithAffix}}\nest déjà confus !",
+ "battlerTagsConfusedLapse": "{{pokemonNameWithAffix}}\nest confus !",
+ "battlerTagsConfusedLapseHurtItself": "Il se blesse dans sa confusion.",
+ "battlerTagsDestinyBondLapseIsBoss": "{{pokemonNameWithAffix}} n’est pas affecté\nle Lien du Destin !",
+ "battlerTagsDestinyBondLapse": "{{pokemonNameWithAffix}} entraine\n{{pokemonNameWithAffix2}} dans sa chute !",
+ "battlerTagsInfatuatedOnAdd": "{{pokemonNameWithAffix}} est amoureux\nde {{sourcePokemonName}} !",
+ "battlerTagsInfatuatedOnOverlap": "{{pokemonNameWithAffix}} est\ndéjà amoureux !",
+ "battlerTagsInfatuatedLapse": "{{pokemonNameWithAffix}} est amoureux\nde {{sourcePokemonName}} !",
+ "battlerTagsInfatuatedLapseImmobilize": "L’amour empêche {{pokemonNameWithAffix}}\nd’agir !",
+ "battlerTagsInfatuatedOnRemove": "{{pokemonNameWithAffix}}\nn’est plus amoureux !",
+ "battlerTagsSeededOnAdd": "{{pokemonNameWithAffix}} est infecté !",
+ "battlerTagsSeededLapse": "Vampigraine draine l’énergie\nde {{pokemonNameWithAffix}} !",
+ "battlerTagsSeededLapseShed": "La Vampigraine de {{pokemonNameWithAffix}}\naspire le suintement !",
+ "battlerTagsNightmareOnAdd": "{{pokemonNameWithAffix}} commence à cauchemarder !",
+ "battlerTagsNightmareOnOverlap": "{{pokemonNameWithAffix}} est\ndéjà prisonnier d’un cauchemar !",
+ "battlerTagsNightmareLapse": "{{pokemonNameWithAffix}}est\nprisonnier d’un cauchemar !",
+ "battlerTagsEncoreOnAdd": "{{pokemonNameWithAffix}} !\nEncore une fois !",
+ "battlerTagsEncoreOnRemove": "{{pokemonNameWithAffix}} n’est\nplus obligé d’utiliser la même capacité !",
+ "battlerTagsHelpingHandOnAdd": "{{pokemonNameWithAffix}} est prêt\nà aider {{pokemonName}} !",
+ "battlerTagsIngrainLapse": "{{pokemonNameWithAffix}} absorbe\ndes nutriments avec ses racines !",
+ "battlerTagsIngrainOnTrap": "{{pokemonNameWithAffix}}\nplante ses racines !",
+ "battlerTagsAquaRingOnAdd": "{{pokemonNameWithAffix}} s’entoure\nd’un voile d’eau !",
+ "battlerTagsAquaRingLapse": "{{moveName}} restaure\nles PV de {{pokemonName}} !",
+ "battlerTagsDrowsyOnAdd": "Ça rend {{pokemonNameWithAffix}} somnolent !",
+ "battlerTagsDamagingTrapLapse": "{{pokemonNameWithAffix}} est blessé\npar la capacité {{moveName}} !",
+ "battlerTagsBindOnTrap": "{{pokemonNameWithAffix}} est pris dans\nl’étreinte de {{sourcePokemonName}} !",
+ "battlerTagsWrapOnTrap": "{{pokemonNameWithAffix}} est ligoté\npar {{sourcePokemonName}} !",
+ "battlerTagsVortexOnTrap": "{{pokemonNameWithAffix}} est piégé\ndans le tourbillon !",
+ "battlerTagsClampOnTrap": "{{sourcePokemonNameWithAffix}} est pris dans le Claquoir\nde {{pokemonName}} !",
+ "battlerTagsSandTombOnTrap": "{{pokemonNameWithAffix}} est piégé\npar {{moveName}} !",
+ "battlerTagsMagmaStormOnTrap": "{{pokemonNameWithAffix}} est piégé\ndans un tourbillon de magma !",
+ "battlerTagsSnapTrapOnTrap": "{{pokemonNameWithAffix}} est tombé\ndans un Troquenard !",
+ "battlerTagsThunderCageOnTrap": "{{pokemonNameWithAffix}} se fait emprisonner\npar {{sourcePokemonNameWithAffix}} !",
+ "battlerTagsInfestationOnTrap": "{{pokemonNameWithAffix}} est harcelé\npar {{sourcePokemonNameWithAffix}} !",
+ "battlerTagsProtectedOnAdd": "{{pokemonNameWithAffix}}\nest prêt à se protéger !",
+ "battlerTagsProtectedLapse": "{{pokemonNameWithAffix}}\nse protège !",
+ "battlerTagsEnduringOnAdd": "{{pokemonNameWithAffix}} se prépare\nà encaisser les coups !",
+ "battlerTagsEnduringLapse": "{{pokemonNameWithAffix}}\nencaisse les coups !",
+ "battlerTagsSturdyLapse": "{{pokemonNameWithAffix}}\nencaisse les coups !",
+ "battlerTagsPerishSongLapse": "Le compte à rebours de Requiem\nde {{pokemonNameWithAffix}} descend à {{turnCount}} !",
+ "battlerTagsTruantLapse": "{{pokemonNameWithAffix}} paresse !",
+ "battlerTagsSlowStartOnAdd": "{{pokemonNameWithAffix}}\nn’arrive pas à se motiver !",
+ "battlerTagsSlowStartOnRemove": "{{pokemonNameWithAffix}}\narrive enfin à s’y mettre sérieusement !",
+ "battlerTagsHighestStatBoostOnAdd": "{{statName}} de {{pokemonNameWithAffix}}\nest renforcée !",
+ "battlerTagsHighestStatBoostOnRemove": "L’effet du talent {{abilityName}}\nde {{pokemonNameWithAffix}} se dissipe !",
+ "battlerTagsCritBoostOnAdd": "{{pokemonNameWithAffix}}\nest prêt à tout donner !",
+ "battlerTagsCritBoostOnRemove": "{{pokemonNameWithAffix}} se détend.",
+ "battlerTagsSaltCuredOnAdd": "{{pokemonNameWithAffix}}\nest couvert de sel !",
+ "battlerTagsSaltCuredLapse": "{{pokemonNameWithAffix}} est blessé\npar la capacité {{moveName}} !",
+ "battlerTagsCursedOnAdd": "{{pokemonNameWithAffix}} sacrifie des PV\net lance une malédiction sur {{pokemonName}} !",
+ "battlerTagsCursedLapse": "{{pokemonNameWithAffix}} est touché par la malédiction !"
} as const;
diff --git a/src/locales/fr/berry.ts b/src/locales/fr/berry.ts
index dd6b387f4cc..e08afb8bc55 100644
--- a/src/locales/fr/berry.ts
+++ b/src/locales/fr/berry.ts
@@ -1,48 +1,48 @@
-import { BerryTranslationEntries } from "#app/plugins/i18n";
+import { BerryTranslationEntries } from "#app/interfaces/locales";
export const berry: BerryTranslationEntries = {
"SITRUS": {
name: "Baie Sitrus",
- effect: "Restaure 25% des PV s’ils sont inférieurs à 50%",
+ effect: "Restaure 25% des PV s’ils sont inférieurs à 50%.",
},
"LUM": {
name: "Baie Prine",
- effect: "Soigne tout problème de statut permanant et la confusion",
+ effect: "Soigne tout problème de statut permanant et la confusion.",
},
"ENIGMA": {
name: "Baie Enigma",
- effect: "Restaure 25% des PV si touché par une capacité super efficace",
+ effect: "Restaure 25% des PV si touché par une capacité super efficace.",
},
"LIECHI": {
name: "Baie Lichii",
- effect: "Augmente l’Attaque si les PV sont inférieurs à 25%",
+ effect: "Augmente l’Attaque si les PV sont inférieurs à 25%.",
},
"GANLON": {
name: "Baie Lingan",
- effect: "Augmente la Défense si les PV sont inférieurs à 25%",
+ effect: "Augmente la Défense si les PV sont inférieurs à 25%.",
},
"PETAYA": {
name: "Baie Pitaye",
- effect: "Augmente l’Atq. Spé. si les PV sont inférieurs à 25%",
+ effect: "Augmente l’Atq. Spé. si les PV sont inférieurs à 25%.",
},
"APICOT": {
name: "Baie Abriko",
- effect: "Augmente la Déf. Spé. si les PV sont inférieurs à 25%",
+ effect: "Augmente la Déf. Spé. si les PV sont inférieurs à 25%.",
},
"SALAC": {
name: "Baie Sailak",
- effect: "Augmente la Vitesse si les PV sont inférieurs à 25%",
+ effect: "Augmente la Vitesse si les PV sont inférieurs à 25%.",
},
"LANSAT": {
name: "Baie Lansat",
- effect: "Augmente le taux de coups critiques si les PV sont inférieurs à 25%",
+ effect: "Augmente le taux de coups critiques si les PV sont inférieurs à 25%.",
},
"STARF": {
name: "Baie Frista",
- effect: "Augmente énormément une statistique au hasard si les PV sont inférieurs à 25%",
+ effect: "Augmente énormément une statistique au hasard si les PV sont inférieurs à 25%.",
},
"LEPPA": {
name: "Baie Mepo",
- effect: "Restaure 10 PP à une capacité dès que ses PP tombent à 0",
+ effect: "Restaure 10 PP à une capacité dès que ses PP tombent à 0.",
},
} as const;
diff --git a/src/locales/fr/bgm-name.ts b/src/locales/fr/bgm-name.ts
new file mode 100644
index 00000000000..15ec145a6ff
--- /dev/null
+++ b/src/locales/fr/bgm-name.ts
@@ -0,0 +1,145 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const bgmName: SimpleTranslationEntries = {
+ "music": "Musique : ",
+ "missing_entries" : "{{name}}",
+ "battle_kanto_champion": "N2B2 - Vs. Maitre de Kanto",
+ "battle_johto_champion": "N2B2 - Vs. Maitre de Johto",
+ "battle_hoenn_champion": "N2B2 - Vs. Maitre de Hoenn",
+ "battle_sinnoh_champion": "N2B2 - Vs. Maitresse de Sinnoh",
+ "battle_champion_alder": "NB - Vs. Maitre d’Unys",
+ "battle_champion_iris": "N2B2 - Vs. Maitresse d’Unys",
+ "battle_kalos_champion": "XY - Maitresse de Kalos",
+ "battle_alola_champion": "USUL - Maitre d’Alola",
+ "battle_galar_champion": "ÉB - Maitre de Galar",
+ "battle_champion_geeta": "ÉV - Vs. Alisma la Maitresse",
+ "battle_champion_nemona": "ÉV - Vs. Menzi la Maitresse",
+ "battle_champion_kieran": "ÉV - Vs. Kassis le Maitre",
+ "battle_hoenn_elite": "ROSA - Vs. Conseil 4",
+ "battle_unova_elite": "NB - Vs. Conseil 4",
+ "battle_kalos_elite": "XY - Vs. Conseil 4",
+ "battle_alola_elite": "SL - Vs. Conseil 4",
+ "battle_galar_elite": "ÉB - Vs. Tournoi des Champions",
+ "battle_paldea_elite": "ÉV - Vs. Conseil 4",
+ "battle_bb_elite": "ÉV - Vs. Conseil 4 de l’Institut Myrtille",
+ "battle_final_encounter": "PDM ÉSDX - Vs. Rayquaza",
+ "battle_final": "NB - Vs. Ghetis",
+ "battle_kanto_gym": "N2B2 - Vs. Champion·ne d’Arène de Kanto",
+ "battle_johto_gym": "N2B2 - Vs. Champion·ne d’Arène de Johto",
+ "battle_hoenn_gym": "N2B2 - Vs. Champion·ne d’Arène de Hoenn",
+ "battle_sinnoh_gym": "N2B2 - Vs. Champion·ne d’Arène de Sinnoh",
+ "battle_unova_gym": "NB - Vs. Champion·ne d’Arène d’Unys",
+ "battle_kalos_gym": "XY - Vs. Champion·ne d’Arène de Kalos",
+ "battle_galar_gym": "ÉB - Vs. Champion·ne d’Arène de Galar",
+ "battle_paldea_gym": "ÉV - Vs. Champion·ne d’Arène de Paldea",
+ "battle_legendary_kanto": "XY - Vs. Légendaire de Kanto",
+ "battle_legendary_raikou": "HGSS - Vs. Raikou",
+ "battle_legendary_entei": "HGSS - Vs. Entei",
+ "battle_legendary_suicune": "HGSS - Vs. Suicune",
+ "battle_legendary_lugia": "HGSS - Vs. Lugia",
+ "battle_legendary_ho_oh": "HGSS - Vs. Ho-oh",
+ "battle_legendary_regis_g5": "N2B2 - Vs. Colosses Légendaires",
+ "battle_legendary_regis_g6": "ROSA - Vs. Colosses Légendaires",
+ "battle_legendary_gro_kyo": "ROSA - Vs. Groudon/Kyogre",
+ "battle_legendary_rayquaza": "ROSA - Vs. Rayquaza",
+ "battle_legendary_deoxys": "ROSA - Vs. Deoxys",
+ "battle_legendary_lake_trio": "ROSA - Vs. Gardiens des Lacs",
+ "battle_legendary_sinnoh": "ROSA - Vs. Légendaire de Sinnoh",
+ "battle_legendary_dia_pal": "ROSA - Vs. Dialga/Palkia",
+ "battle_legendary_giratina": "ROSA - Vs. Giratina",
+ "battle_legendary_arceus": "HGSS - Vs. Arceus",
+ "battle_legendary_unova": "NB - Vs. Légendaire d’Unys",
+ "battle_legendary_kyurem": "NB - Vs. Kyurem",
+ "battle_legendary_res_zek": "NB - Vs. Reshiram/Zekrom",
+ "battle_legendary_xern_yvel": "XY - Vs. Xerneas/Yveltal",
+ "battle_legendary_tapu": "SL - Vs. Divinités gardiennes d’Alola",
+ "battle_legendary_sol_lun": "SL - Vs. Solgaleo/Lunala",
+ "battle_legendary_ub": "SL - Vs. Ultra-Chimère",
+ "battle_legendary_dusk_dawn": "USUL - Vs. Necrozma Crinière du Couchant/Ailes de l’Aurore",
+ "battle_legendary_ultra_nec": "USUL - Vs. Ultra-Necrozma",
+ "battle_legendary_zac_zam": "ÉB - Vs. Zacian/Zamazenta",
+ "battle_legendary_glas_spec": "ÉB - Vs. Blizzeval/Spectreval",
+ "battle_legendary_calyrex": "ÉB - Vs. Sylveroy",
+ "battle_legendary_birds_galar": "ÉB - Vs. Oiseaux Légendaires de Galar",
+ "battle_legendary_ruinous": "ÉV - Vs. Trésors du fléau",
+ "battle_legendary_kor_mir": "ÉV - Profondeurs de la Zone Zéro (Combat)",
+ "battle_legendary_loyal_three": "ÉV - Vs. Adoramis",
+ "battle_legendary_ogerpon": "ÉV - Vs. Ogerpon",
+ "battle_legendary_terapagos": "ÉV - Vs. Terapagos",
+ "battle_legendary_pecharunt": "ÉV - Vs. Pêchaminus",
+ "battle_rival": "NB - Vs. Rival",
+ "battle_rival_2": "NB - Vs. N",
+ "battle_rival_3": "NB - Combat final Vs. N",
+ "battle_trainer": "NB - Vs. Dresseur·euse",
+ "battle_wild": "NB - Vs. Pokémon sauvage",
+ "battle_wild_strong": "NB - Vs. Pokémon puissant sauvage",
+ "end_summit": "PDM ÉSDX - Tour Céleste",
+ "battle_rocket_grunt": "HGSS Team Rocket Battle",
+ "battle_aqua_magma_grunt": "ORAS Team Aqua & Magma Battle",
+ "battle_galactic_grunt": "BDSP Team Galactic Battle",
+ "battle_plasma_grunt": "NB - Vs. Team Plasma",
+ "battle_flare_grunt": "XY Team Flare Battle",
+ "battle_rocket_boss": "USUM Giovanni Battle",
+ "battle_aqua_magma_boss": "ORAS Archie & Maxie Battle",
+ "battle_galactic_boss": "BDSP Cyrus Battle",
+ "battle_plasma_boss": "B2W2 Ghetsis Battle",
+ "battle_flare_boss": "XY Lysandre Battle",
+
+ // Biome Music
+ "abyss": "PDM EdS - Cratère Obscur",
+ "badlands": "PDM EdS - Vallée Stérile",
+ "beach": "PDM EdS - Falaise Trempée",
+ "cave": "PDM EdS - Pic Céleste (grotte)",
+ "construction_site": "PDM EdS - Carrière Rocher",
+ "desert": "PDM EdS - Désert du Nord",
+ "dojo": "PDM EdS - Dojo Ossatueur",
+ "end": "PDM EdS - Tour Céleste",
+ "factory": "PDM EdS - Ruines Cachées",
+ "fairy_cave": "PDM EdS - Caverne Étoile",
+ "forest": "PDM EdS - Forêt Crépuscule",
+ "grass": "PDM EdS - Bois aux Pommes",
+ "graveyard": "PDM EdS - Forêt Trompeuse",
+ "ice_cave": "PDM EdS - Montagne Glacier",
+ "island": "PDM EdS - Côte Escarpée",
+ "jungle": "Lmz - Jungle", // The composer thinks about a more creative name
+ "laboratory": "Firel - Laboratory", // The composer thinks about a more creative name
+ "lake": "PDM EdS - Caverne Cristal",
+ "meadow": "PDM EdS - Pic Céleste (forêt)",
+ "metropolis": "Firel - Metropolis", // The composer thinks about a more creative name
+ "mountain": "PDM EdS - Mt Corne",
+ "plains": "PDM EdS - Pic Céleste (prairie)",
+ "power_plant": "PDM EdS - Plaines Élek",
+ "ruins": "PDM EdS - Ruine Scellée",
+ "sea": "PDM EdS - Caverne Saline",
+ "seabed": "Firel - Seabed", // The composer thinks about a more creative name
+ "slum": "PDM EdS - Pic Céleste (côte)",
+ "snowy_forest": "PDM EdS - Pic Céleste (plaine enneigée)",
+ "space": "Firel - Aether",
+ "swamp": "PDM EdS - Mer Fermée",
+ "tall_grass": "PDM EdS - Forêt Brumeuse",
+ "temple": "PDM EdS - Grotte Égide",
+ "town": "PDM EdS - Donjon aléatoire - Thème 3",
+ "volcano": "PDM EdS - Grotte Étuve",
+ "wasteland": "PDM EdS - Terres Illusoires",
+
+ // Encounter
+ "encounter_ace_trainer": "NB - Regards croisés (Topdresseur·euse)",
+ "encounter_backpacker": "NB - Regards croisés (Randonneur·euse)",
+ "encounter_clerk": "NB - Regards croisés (Employé·e)",
+ "encounter_cyclist": "NB - Regards croisés (Cycliste)",
+ "encounter_lass": "NB - Regards croisés (Fillette)",
+ "encounter_parasol_lady": "NB - Regards croisés (Sœur Parasol)",
+ "encounter_pokefan": "NB - Regards croisés (Pokéfan)",
+ "encounter_psychic": "NB - Regards croisés (Kinésiste)",
+ "encounter_rich": "NB - Regards croisés (Gentleman)",
+ "encounter_rival": "NB - Tcheren",
+ "encounter_roughneck": "NB - Regards croisés (Loubard)",
+ "encounter_scientist": "NB - Regards croisés (Scientifique)",
+ "encounter_twins": "NB - Regards croisés (Jumelles)",
+ "encounter_youngster": "NB - Regards croisés (Gamin)",
+
+ // Other
+ "heal": "NB - Soin de Pokémon",
+ "menu": "PDM EdS - Bienvenue dans le monde de Pokémon !",
+ "title": "PDM EdS - Menu Principal",
+} as const;
diff --git a/src/locales/fr/biome.ts b/src/locales/fr/biome.ts
index bc9fa4239e6..83029b3a8d4 100644
--- a/src/locales/fr/biome.ts
+++ b/src/locales/fr/biome.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const biome: SimpleTranslationEntries = {
"unknownLocation": "vous avez oublié où",
@@ -16,7 +16,7 @@ export const biome: SimpleTranslationEntries = {
"MOUNTAIN": "Montagne",
"BADLANDS": "Terres Sauvages",
"CAVE": "Grotte",
- "DESERT": "Desert",
+ "DESERT": "Désert",
"ICE_CAVE": "Caverne Gelée",
"MEADOW": "Prairie",
"POWER_PLANT": "Centrale",
diff --git a/src/locales/fr/challenges.ts b/src/locales/fr/challenges.ts
new file mode 100644
index 00000000000..d88960dbe3b
--- /dev/null
+++ b/src/locales/fr/challenges.ts
@@ -0,0 +1,26 @@
+import { TranslationEntries } from "#app/interfaces/locales";
+
+export const challenges: TranslationEntries = {
+ "title": "Paramètres du Challenge",
+ "illegalEvolution": "{{pokemon}} s’est transformé en Pokémon\ninéligible pour ce challenge !",
+ "singleGeneration": {
+ "name": "Mono-génération",
+ "desc": "Vous ne pouvez choisir que des Pokémon de {{gen}} génération.",
+ "desc_default": "Vous ne pouvez choisir que des Pokémon de la génération sélectionnée.",
+ "gen_1": "1re",
+ "gen_2": "2e",
+ "gen_3": "3e",
+ "gen_4": "4e",
+ "gen_5": "5e",
+ "gen_6": "6e",
+ "gen_7": "7e",
+ "gen_8": "8e",
+ "gen_9": "9e",
+ },
+ "singleType": {
+ "name": "Mono-type",
+ "desc": "Vous ne pouvez choisir que des Pokémon de type {{type}}.",
+ "desc_default": "Vous ne pouvez choisir que des Pokémon du type sélectionné."
+ //type in pokemon-info
+ },
+} as const;
diff --git a/src/locales/fr/command-ui-handler.ts b/src/locales/fr/command-ui-handler.ts
index 37d910c8844..42180d31276 100644
--- a/src/locales/fr/command-ui-handler.ts
+++ b/src/locales/fr/command-ui-handler.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const commandUiHandler: SimpleTranslationEntries = {
"fight": "Attaque",
diff --git a/src/locales/fr/common.ts b/src/locales/fr/common.ts
new file mode 100644
index 00000000000..c8e3d58dd3e
--- /dev/null
+++ b/src/locales/fr/common.ts
@@ -0,0 +1,10 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const common: SimpleTranslationEntries = {
+ "start": "Lancer",
+ "luckIndicator": "Chance :",
+ "shinyOnHover": "Chromatique",
+ "commonShiny": "Commun",
+ "rareShiny": "Rare",
+ "epicShiny": "Épique",
+} as const;
diff --git a/src/locales/fr/config.ts b/src/locales/fr/config.ts
index ee9e9a1e2ac..d8f9a6601c1 100644
--- a/src/locales/fr/config.ts
+++ b/src/locales/fr/config.ts
@@ -1,10 +1,12 @@
import { ability } from "./ability";
import { abilityTriggers } from "./ability-trigger";
-import { achv } from "./achv";
+import { PGFachv, PGMachv } from "./achv";
import { battle } from "./battle";
import { battleMessageUiHandler } from "./battle-message-ui-handler";
import { berry } from "./berry";
+import { bgmName } from "./bgm-name";
import { biome } from "./biome";
+import { challenges } from "./challenges";
import { commandUiHandler } from "./command-ui-handler";
import {
PGFbattleSpecDialogue,
@@ -18,10 +20,12 @@ import {
} from "./dialogue";
import { egg } from "./egg";
import { fightUiHandler } from "./fight-ui-handler";
+import { gameMode } from "./game-mode";
import { gameStatsUiHandler } from "./game-stats-ui-handler";
import { growth } from "./growth";
import { menu } from "./menu";
import { menuUiHandler } from "./menu-ui-handler";
+import { modifier } from "./modifier";
import { modifierType } from "./modifier-type";
import { move } from "./move";
import { nature } from "./nature";
@@ -29,22 +33,32 @@ import { pokeball } from "./pokeball";
import { pokemon } from "./pokemon";
import { pokemonInfo } from "./pokemon-info";
import { pokemonInfoContainer } from "./pokemon-info-container";
+import { saveSlotSelectUiHandler } from "./save-slot-select-ui-handler";
import { splashMessages } from "./splash-messages";
import { starterSelectUiHandler } from "./starter-select-ui-handler";
+import { statusEffect } from "./status-effect";
import { titles, trainerClasses, trainerNames } from "./trainers";
import { tutorial } from "./tutorial";
import { voucher } from "./voucher";
-import { weather } from "./weather";
+import { terrain, weather } from "./weather";
+import { partyUiHandler } from "./party-ui-handler";
+import { settings } from "./settings.js";
+import { common } from "./common.js";
+import { modifierSelectUiHandler } from "./modifier-select-ui-handler";
export const frConfig = {
ability: ability,
abilityTriggers: abilityTriggers,
- achv: achv,
battle: battle,
battleMessageUiHandler: battleMessageUiHandler,
berry: berry,
+ bgmName: bgmName,
biome: biome,
+ challenges: challenges,
commandUiHandler: commandUiHandler,
+ common: common,
+ PGMachv: PGMachv,
+ PGFachv: PGFachv,
PGMdialogue: PGMdialogue,
PGFdialogue: PGFdialogue,
PGMbattleSpecDialogue: PGMbattleSpecDialogue,
@@ -55,10 +69,12 @@ export const frConfig = {
PGFdoubleBattleDialogue: PGFdoubleBattleDialogue,
egg: egg,
fightUiHandler: fightUiHandler,
+ gameMode: gameMode,
gameStatsUiHandler: gameStatsUiHandler,
growth: growth,
menu: menu,
menuUiHandler: menuUiHandler,
+ modifier: modifier,
modifierType: modifierType,
move: move,
nature: nature,
@@ -66,12 +82,18 @@ export const frConfig = {
pokemon: pokemon,
pokemonInfo: pokemonInfo,
pokemonInfoContainer: pokemonInfoContainer,
+ saveSlotSelectUiHandler: saveSlotSelectUiHandler,
+ settings: settings,
splashMessages: splashMessages,
starterSelectUiHandler: starterSelectUiHandler,
+ statusEffect: statusEffect,
+ terrain: terrain,
titles: titles,
trainerClasses: trainerClasses,
trainerNames: trainerNames,
tutorial: tutorial,
voucher: voucher,
- weather: weather
+ weather: weather,
+ partyUiHandler: partyUiHandler,
+ modifierSelectUiHandler: modifierSelectUiHandler
};
diff --git a/src/locales/fr/dialogue.ts b/src/locales/fr/dialogue.ts
index befc9d96caa..d3ec5f85d5d 100644
--- a/src/locales/fr/dialogue.ts
+++ b/src/locales/fr/dialogue.ts
@@ -1,4 +1,4 @@
-import {DialogueTranslationEntries, SimpleTranslationEntries} from "#app/plugins/i18n";
+import {DialogueTranslationEntries, SimpleTranslationEntries} from "#app/interfaces/locales";
// Dialogue of the NPCs in the game when the player character is male (or unset)
export const PGMdialogue: DialogueTranslationEntries = {
@@ -7,14 +7,14 @@ export const PGMdialogue: DialogueTranslationEntries = {
1: "Hé ! Combat ?",
2: "Toi aussi tu débutes ?",
3: "Hé, j’me souviens pas de ta tête. Combat !",
- 4: "J’ai perdu, alors j’essaye de capturer d’autres Pokémon.\nHé, t’as l'air faible toi ! Allez, combat !",
+ 4: "J’ai perdu, alors j’essaye de capturer d’autres Pokémon.\nHé, t’as l’air faible toi ! Allez, combat !",
5: "On s’connait ? J’ai comme un doute. Dans tous les cas, sympa de te rencontrer !",
6: "Allez, c’est parti !",
7: "Attention, me voilà !\nTu vas voir comment j’suis fort !",
8: "Coucou… Tu veux voir mes bô Pokémon ?",
9: "Trève de mondanités. Ramène-toi quand tu le sens !",
10: "Baisse pas ta garde si tu veux pas pleurer d’avoir perdu face à un gamin.",
- 11: "J'ai tout donné pour élever mes Pokémon. Attention à toi si tu leur fait du mal !",
+ 11: "J’ai tout donné pour élever mes Pokémon. Attention à toi si tu leur fait du mal !",
12: "Incroyable que t’y sois parvenu ! Mais la suite va pas être une partie de plaisir.",
13: "Les combats sont éternels ! Bienvenue dans un monde sans fin !"
},
@@ -28,146 +28,146 @@ export const PGMdialogue: DialogueTranslationEntries = {
7: "Waah ! T’es trop incroyable ! J’suis bouche bée !",
8: "Pourquoi… Comment… Pourtant on est les plus forts, mes Pokémon et moi…",
9: "J’perdrai pas la prochaine fois ! Remettons ça un jour !",
- 10: "Weeeesh ! Tu vois que j’suis qu’un gamin ? C'est pas juste de me bully comme ça !",
+ 10: "Weeeesh ! Tu vois que j’suis qu’un gamin ? C’est pas juste de me bully comme ça !",
11: "Tes Pokémon sont trop incroyables !\n… P’tit échange ?",
12: "Je me suis fait un peu aider plus tôt, mais de quel taf je parlais ?",
- 13: "Ahaha ! Et voilà, ça y est !\nT'es déjà comme chez toi dans ce monde !"
+ 13: "Ahaha ! Et voilà, ça y est !\nT’es déjà comme chez toi dans ce monde !"
}
},
"lass": {
"encounter": {
- 1: "Let's have a battle, shall we?",
- 2: "You look like a new trainer. Let's have a battle!",
- 3: "I don't recognize you. How about a battle?",
- 4: "Let's have a fun Pokémon battle!",
- 5: "I'll show you the ropes of how to really use Pokémon!",
- 6: "A serious battle starts from a serious beginning! Are you sure you're ready?",
- 7: "You're only young once. And you only get one shot at a given battle. Soon, you'll be nothing but a memory.",
- 8: "You'd better go easy on me, OK? Though I'll be seriously fighting!",
- 9: "School is boring. I've got nothing to do. Yawn. I'm only battling to kill the time."
+ 1: "Affrontons-nous, d’accord ?",
+ 2: "T’as l’air d’un nouveau Dresseur. Battons nous !",
+ 3: "Je te connais pas. Ça te dis de te battre ?",
+ 4: "Prenons du bon temps avec ce combat Pokémon !",
+ 5: "Je vais t’apprendre à te battre avec tes Pokémon !",
+ 6: "Un combat doit être pris au sérieux. T’es prêt à te battre ?",
+ 7: "Tu seras pas jeune éternellement. T’as qu’une chance pendant un combat. Bientôt, tu seras plus qu’un souvenir.",
+ 8: "Tu ferais mieux d’y aller doucement avec moi. Mais je vais me battre sérieusement !",
+ 9: "Je m’ennuie à l’école. Y’a rien à y faire. *Baille*\nJe me bats juste pour passer le temps."
},
"victory": {
- 1: "That was impressive! I've got a lot to learn.",
- 2: "I didn't think you'd beat me that bad…",
- 3: "I hope we get to have a rematch some day.",
- 4: "That was pretty amazingly fun! You've totally exhausted me…",
- 5: "You actually taught me a lesson! You're pretty amazing!",
- 6: "Seriously, I lost. That is, like, seriously depressing, but you were seriously cool.",
- 7: "I don't need memories like this. Deleting memory…",
- 8: "Hey! I told you to go easy on me! Still, you're pretty cool when you're serious.",
- 9: "I'm actually getting tired of battling… There's gotta be something new to do…"
+ 1: "Wah, c’était impressionnant ! J’ai encore beaucoup à apprendre.",
+ 2: "Je ne pensais pas que je perdrais comme ça…",
+ 3: "J’espère que j’aurai ma revanche un jour.",
+ 4: "C’était super amusant ! Mais ce combat m’a épuisée…",
+ 5: "Tu m’as appris une belle leçon ! T’es vraiment incroyable !",
+ 6: "Vraiment ? J’ai perdu… ? C’est des choses qui arrivent, ça me déprime mais tu es vraiment très cool.",
+ 7: "J’ai pas besoin de ce genre de souvenirs.\n*Suppression de mémoire en cours…*",
+ 8: "Hé ! Je t’avais dit d’y aller doucement avec moi ! Mais t’es vraiment si cool quand tu te bats sérieusement…",
+ 9: "J’en ai marre des combats Pokémon…\nJe vais chercher d’autres trucs à faire…"
}
},
"breeder": {
"encounter": {
- 1: "Obedient Pokémon, selfish Pokémon… Pokémon have unique characteristics.",
- 2: "Even though my upbringing and behavior are poor, I've raised my Pokémon well.",
- 3: "Hmm, do you discipline your Pokémon? Pampering them too much is no good.",
+ 1: "Qu’ils soient obéissants ou égoïstes… Les Pokémon ont des caractéristiques uniques.",
+ 2: "Même si mes choix et ma personnalité ne sont pas fous, je pense quand même bien avoir élevé mes Pokémon.",
+ 3: "Hum, t’es pas trop laxiste avec tes Pokémon ?\nTrop les chouchouter n’est pas bon.",
},
"victory": {
- 1: "It is important to nurture and train each Pokémon's characteristics.",
- 2: "Unlike my diabolical self, these are some good Pokémon.",
- 3: "Too much praise can spoil both Pokémon and people.",
+ 1: "Il est primordial de nourir et développer toutes les caractéristiques de chaque Pokémon.",
+ 2: "Contrairement à moi, ces Pokémon ont un bon fond.",
+ 3: "Trop d’éloges peut ruiner les Pokémon et les gens.",
},
"defeat": {
- 1: "You should not get angry at your Pokémon, even if you lose a battle.",
- 2: "Right? Pretty good Pokémon, huh? I'm suited to raising things.",
- 3: "No matter how much you love your Pokémon, you still have to discipline them when they misbehave."
+ 1: "Tu ne devrais pas t’énerver sur tes Pokémon, même après une défaite.",
+ 2: "Alors ? Pas mal mes Pokémon, hein ? Je suis fait pour ça.",
+ 3: "Peut importe à quel point t’aimes tes Pokémon, il faut toujours de la discipline s’ils se comportent mal."
}
},
"breeder_female": {
"encounter": {
- 1: "Pokémon never betray you. They return all the love you give them.",
- 2: "Shall I give you a tip for training good Pokémon?",
- 3: "I have raised these very special Pokémon using a special method."
+ 1: "Les Pokémon ne trahissent jamais. Ils te rendront toujours l’amour que tu leur donne.",
+ 2: "Puis-je te donner une astuce pour mieux élever tes Pokémon ?",
+ 3: "J’ai élevé mes Pokémon en utilisant une méthode très spéciale."
},
"victory": {
- 1: "Ugh… It wasn't supposed to be like this. Did I administer the wrong blend?",
- 2: "How could that happen to my Pokémon… What are you feeding your Pokémon?",
- 3: "If I lose, that tells you I was just killing time. It doesn't damage my ego at all."
+ 1: "Arg… C’était pas supposé se passer comme ça. Leur ai-je administré la mauvaise préparation ?",
+ 2: "Comment ça a pu arriver…\nAvec quoi nourris-tu tes Pokémon ?",
+ 3: "Si je perds, c’est juste pour te dire que je tuais le temps. Mon ego n’est absolument pas touché…"
},
"defeat": {
- 1: "This proves my Pokémon have accepted my love.",
- 2: "The real trick behind training good Pokémon is catching good Pokémon.",
- 3: "Pokémon will be strong or weak depending on how you raise them."
+ 1: "C’est la preuve que mes Pokémon reconnaissent tout mon amour.",
+ 2: "Le seul secret derrière des Pokémon bien entrainés, c’est surtout d’en capturer des bons.",
+ 3: "La force des Pokémon dépend de ta capacité à savoir les élever correctement."
}
},
"fisherman": {
"encounter": {
- 1: "Aack! You made me lose a bite!\nWhat are you going to do about it?",
- 2: "Go away! You're scaring the Pokémon!",
- 3: "Let's see if you can reel in a victory!",
+ 1: "Aaah non ! J’avais une touche !\nTu comptes faire quoi pour arranger ça ?",
+ 2: "Bouge de là ! Tu fais peur aux Pokémon !",
+ 3: "Voyons si t'arrives à ferrer une victoire !",
},
"victory": {
- 1: "Just forget about it.",
- 2: "Next time, I'll be reelin' in the triumph!",
- 3: "Guess I underestimated the currents this time.",
+ 1: "Vas-y là, oublie.",
+ 2: "La prochaine fois, je vais me repêcher !",
+ 3: "Je présume que j’ai sous-estimé les courants…",
},
},
"fisherman_female": {
"encounter": {
- 1: "Woah! I've hooked a big one!",
- 2: "Line's in, ready to reel in success!",
- 3: "Ready to make waves!"
+ 1: "Oh la belle prise !",
+ 2: "Ma ligne est en place, prête à ferrer le succès !",
+ 3: "Prête à faire des vagues !"
},
"victory": {
- 1: "I'll be back with a stronger hook.",
- 2: "I'll reel in victory next time.",
- 3: "I'm just sharpening my hooks for the comeback!"
+ 1: "Je suppose que je vais avoir besoin d’un plus gros hameçon.",
+ 2: "La ligne s’est brisée, j’ai pas pu la ferrer…",
+ 3: "Attends que j’aiguise mes hameçons pour la revanche !"
},
},
"swimmer": {
"encounter": {
- 1: "Time to dive in!",
- 2: "Let's ride the waves of victory!",
- 3: "Ready to make a splash!",
+ 1: "C’est l’heure de plonger dans le vif !",
+ 2: "C’est le moment de surfer sur les vagues de la victoire !",
+ 3: "Je vais t’éclabousser de mon talent !",
},
"victory": {
- 1: "Drenched in defeat!",
- 2: "A wave of defeat!",
- 3: "Back to shore, I guess.",
+ 1: "Tu m’as complètement séché",
+ 2: "Il semblerait que ce soit celles de la défaite…",
+ 3: "Retour sur la terre ferme je suppose",
},
},
"backpacker": {
"encounter": {
- 1: "Pack up, game on!",
- 2: "Let's see if you can keep pace!",
- 3: "Gear up, challenger!",
- 4: "I've spent 20 years trying to find myself… But where am I?"
+ 1: "Fais ton sac, on y va !",
+ 2: "Voyons si t’arrives à garder le rythme !",
+ 3: "Accélère le pas, camarade !",
+ 4: "J’ai passé 20 ans à la recherche de moi-même…\nMais où suis-je ?"
},
"victory": {
- 1: "Tripped up this time!",
- 2: "Oh, I think I'm lost.",
- 3: "Dead end!",
- 4: "Wait up a second! Hey! Don't you know who I am?"
+ 1: "J’ai trébuché !",
+ 2: "Ah, je crois que je me suis paumé.",
+ 3: "Ah, une impasse !",
+ 4: "Hé ! Attends une seconde…\nTu saurais pas qui je suis ?"
},
},
"ace_trainer": {
"encounter": {
- 1: "You seem quite confident.",
- 2: "Your Pokémon… Show them to me…",
- 3: "Because I'm an Ace Trainer, people think I'm strong.",
- 4: "Are you aware of what it takes to be an Ace Trainer?"
+ 1: "T’as l’air plutôt confiant.",
+ 2: "Tes Pokémon… Montre-les-moi…",
+ 3: "Les gens pensent que je suis fort par que je suis un Topdresseur.",
+ 4: "T’es au courant de ce que ça signifie d’être un Topdresseur ?"
},
"victory": {
- 1: "Yes… You have good Pokémon…",
- 2: "What?! But I'm a battling genius!",
- 3: "Of course, you are the main character!",
- 4: "OK! OK! You could be an Ace Trainer!"
+ 1: "Très bien… T’as de bons Pokémon…",
+ 2: "Quoi ?! Mais c'est moi le génie des combats !",
+ 3: "Évidemment que t’es le personnage principal !",
+ 4: "OK ! OK ! Tu pourrais être un Topdresseur !"
},
"defeat": {
- 1: "I am devoting my body and soul to Pokémon battles!",
- 2: "All within my expectations… Nothing to be surprised about…",
- 3: "I thought I'd grow up to be a frail person who looked like they would break if you squeezed them too hard.",
- 4: "Of course I'm strong and don't lose. It's important that I win gracefully."
+ 1: "Je me dévoue corps et âme aux combats Pokémon !",
+ 2: "Comme prévu… Vraiment aucune surprise…",
+ 3: "Et moi qui pensais qu’en grandissant, j’allais rester frêle et fragile, à me briser à la moindre étreinte.",
+ 4: "Évidemment que je suis fort et encore moins un perdant. C’est important de gagner avec grâce."
}
},
"parasol_lady": {
"encounter": {
- 1: "Time to grace the battlefield with elegance and poise!",
+ 1: "Honorons ce terrain de combat avec élégance et équilibre !",
},
"victory": {
- 2: "My elegance remains unbroken!",
+ 2: "Mon élégance demeure inébranlable !",
}
},
"twins": {
@@ -371,6 +371,198 @@ export const PGMdialogue: DialogueTranslationEntries = {
3: "Ow! I scorched the tip of my nose!"
},
},
+ "sailor": {
+ "encounter": {
+ 1: "Matey, you're walking the plank if you lose!",
+ 2: "Come on then! My sailor's pride is at stake!",
+ 3: "Ahoy there! Are you seasick?"
+ },
+ "victory": {
+ 1: "Argh! Beaten by a kid!",
+ 2: "Your spirit sank me!",
+ 3: "I think it's me that's seasick..."
+ },
+ },
+ "rocket_grunt": {
+ "encounter": {
+ 1: "Nous sommes de retour !"
+ },
+ "victory": {
+ 1: "Une fois de plus la Team Rocket s’envole vers d’autres cieux !"
+ },
+ },
+ "magma_grunt": {
+ "encounter": {
+ 1: "N’espère pas recevoir de la pitié si tu te mets sur le chemin de la Team Magma !"
+ },
+ "victory": {
+ 1: "Je…?\nJ’ai perdu ?!"
+ },
+ },
+ "aqua_grunt": {
+ "encounter": {
+ 1: "Aucune pitié si tu te mets sur le chemin de la Team Aqua, même pour un gamin !"
+ },
+ "victory": {
+ 1: "Comment ça ?"
+ },
+ },
+ "galactic_grunt": {
+ "encounter": {
+ 1: "Ne te mets pas en travers de la Team Galaxie !"
+ },
+ "victory": {
+ 1: "Désactivation…"
+ },
+ },
+ "plasma_grunt": {
+ "encounter": {
+ 1: "Pas de quatiers à ceux qui ne suivent pas notre idéal !"
+ },
+ "victory": {
+ 1: "Plasmaaaaaaaaa !"
+ },
+ },
+ "flare_grunt": {
+ "encounter": {
+ 1: "Le style et le bon gout, il n’y a que ça qui compte !"
+ },
+ "victory": {
+ 1: "Mon futur me semble guère radieux."
+ },
+ },
+ "rocket_boss_giovanni_1": {
+ "encounter": {
+ 1: "Bien. Je dois admettre que je suis impressionné de te voir ici !"
+ },
+ "victory": {
+ 1: "QUOI ? IMPOSSIBLE !"
+ },
+ "defeat": {
+ 1: "Retiens bien. Ton incapacité à évaluer ta propre force est\nla démonstration claire que tu n’es encore qu’un gamin."
+ }
+ },
+ "rocket_boss_giovanni_2": {
+ "encounter": {
+ 1: "Mes anciens collaborateurs m’attendent.\nComptes-tu m’en empêcher ?"
+ },
+ "victory": {
+ 1: "Comment c’est possible… ? Le grand dessein de la Team Rocket n’est plus qu’une illusion…"
+ },
+ "defeat": {
+ 1: "La Team Rocket renaitra, et je dominerai le monde !"
+ }
+ },
+ "magma_boss_maxie_1": {
+ "encounter": {
+ 1: "Je vais t’enterrer de mes propres mains.\nJ’espère que t’apprécieras cet honneur !"
+ },
+ "victory": {
+ 1: "Gnn… ! Tu… T’as du répondant…\nCe sentiment d’être à la traine, de si peu…"
+ },
+ "defeat": {
+ 1: "La Team Magma vaincra !"
+ }
+ },
+ "magma_boss_maxie_2": {
+ "encounter": {
+ 1: "T’es le dernier rempart entravant mes objectifs. Prépare-toi à mon ultime riposte ! Hahahaha !"
+ },
+ "victory": {
+ 1: "Ce… Ce n’est pas… Gnn…"
+ },
+ "defeat": {
+ 1: "L’heure est venue…\nJe vais transformer cette planète en paradis pour l’humanité."
+ }
+ },
+ "aqua_boss_archie_1": {
+ "encounter": {
+ 1: "Je suis le Leader de la Team Aqua.\nJ’ai bien peur que pour toi, ce soit fin de parcours."
+ },
+ "victory": {
+ 1: "Retrouvons-nous.\nJe me souviendrai de ton visage."
+ },
+ "defeat": {
+ 1: "Magnifique !\nPlus rien ne peut nous retenir !"
+ }
+ },
+ "aqua_boss_archie_2": {
+ "encounter": {
+ 1: "J’ai attendu ce moment depuis si longtemps.\nVoici la vraie puissance de la Team Aqua !"
+ },
+ "victory": {
+ 1: "Comme si j’y avait cru…"
+ },
+ "defeat": {
+ 1: "Je rendrai à ce monde sa pureté originelle !"
+ }
+ },
+ "galactic_boss_cyrus_1": {
+ "encounter": {
+ 1: "Tu t’es senti obligé de venir ici dans un acte vide de sens. Je vais te le faire regretter."
+ },
+ "victory": {
+ 1: "Intéressant. Et plutôt curieux."
+ },
+ "defeat": {
+ 1: "Je le créerai, mon nouveau monde…"
+ }
+ },
+ "galactic_boss_cyrus_2": {
+ "encounter": {
+ 1: "Nous y revoilà. Il semblerait que nos destinées soient entremêlées. Il est l’heure d’y mettre un terme."
+ },
+ "victory": {
+ 1: "Comment. Comment ?\nCOMMENT ?!"
+ },
+ "defeat": {
+ 1: "Adieu."
+ }
+ },
+ "plasma_boss_ghetsis_1": {
+ "encounter": {
+ 1: "Je n’accepterai pas qu’on me barre la route !\nPeu importe qui fait quoi !"
+ },
+ "victory": {
+ 1: "Comment ? Je suis le leader de la Team Plasma !\nJe suis parfait !"
+ },
+ "defeat": {
+ 1: "Je suis le parfait monarque d’un monde parfait !\nHahaha !"
+ }
+ },
+ "plasma_boss_ghetsis_2": {
+ "encounter": {
+ 1: "Viens ! Je veux voir ton visage à l’instant même où l’espoir quittera ton corps !"
+ },
+ "victory": {
+ 1: "Mes calculs… Non ! Mes plans étaient parfaits !\nCe monde devrait être mien !"
+ },
+ "defeat": {
+ 1: "Kyurem ! Fusiorption !!!"
+ }
+ },
+ "flare_boss_lysandre_1": {
+ "encounter": {
+ 1: "Comptes-tu m’arrêter ? Prouve-le."
+ },
+ "victory": {
+ 1: "T’es venu m’arrêter. Mais je te demande d’attendre."
+ },
+ "defeat": {
+ 1: "Les Pokémon… Ne devraient plus exister."
+ }
+ },
+ "flare_boss_lysandre_2": {
+ "encounter": {
+ 1: "Ton futur ou le mien…\nVoyons lequel mérite plus d’aboutir."
+ },
+ "victory": {
+ 1: "Ohhhh… !"
+ },
+ "defeat": {
+ 1: "Les ignorants sans aucune vision n’auront donc de cesse de souiller ce monde."
+ }
+ },
"brock": {
"encounter": {
1: "My expertise on Rock-type Pokémon will take you down! Come on!",
@@ -2095,17 +2287,43 @@ export const PGMdialogue: DialogueTranslationEntries = {
2: "You got caught in my storm! Better luck next time!"
}
},
+ "alder": {
+ "encounter": {
+ 1: "Prépare-toi pour un combat contre le meilleur Dresseur d’Unys !",
+ },
+ "victory": {
+ 1: "Bien joué ! Tu as sans aucun doute un talent inégalé.",
+ },
+ "defeat": {
+ 1: `Une brise fraiche traverse mon cœur…
+ $Quel effort extraordinaire !`,
+ }
+ },
+ "kieran": {
+ "encounter": {
+ 1: `Grâce à un travail acharné, je deviens de plus en plus fort !
+ $Je ne perdrai pas.`,
+ },
+ "victory": {
+ 1: `Je n’y crois pas…
+ $Quel combat amusant et palpitant !`
+ },
+ "defeat": {
+ 1: `Eh beh, quel combat !
+ $Il est temps pour toi de t’entrainer encore plus dur.`,
+ }
+ },
"rival": {
"encounter": {
- 1: `@c{smile}Ah, je te cherchais ! Je savais que t’étais pressée de partir, mais je m’attendais quand même à un au revoir…
+ 1: `@c{smile}Ah, je te cherchais ! Je savais que t’étais pressé de partir, mais je m’attendais quand même à un au revoir…
$@c{smile_eclosed}T’as finalement décidé de réaliser ton rêve ?\nJ’ai peine à y croire.
- $@c{serious_smile_fists}Vu que t’es là, ça te dis un petit combat ?\nJe voudrais quand même m’assurer que t'es prête.
+ $@c{serious_smile_fists}Vu que t’es là, ça te dis un petit combat ?\nJe voudrais quand même m’assurer que t’es prêt.
$@c{serious_mopen_fists}Surtout ne te retiens pas et donne-moi tout ce que t’as !`
},
"victory": {
- 1: `@c{shock}Wah… Tu m’as vraiment lavé.\nT’es vraiment une débutante ?
- $@c{smile}T'as peut-être eu de la chance, mais…\nPeut-être que t’arriveras jusqu’au bout du chemin.
- $D'ailleurs, le prof m’a demandé de te filer ces objets.\nIls ont l’air sympas.
+ 1: `@c{shock}Wah… Tu m’as vraiment lavé.\nT’es vraiment un débutant ?
+ $@c{smile}T’as peut-être eu de la chance, mais…\nPeut-être que t’arriveras jusqu’au bout du chemin.
+ $D’ailleurs, le prof m’a demandé de te filer ces objets.\nIls ont l’air sympas.
$@c{serious_smile_fists}Bonne chance à toi !`
},
},
@@ -2113,27 +2331,27 @@ export const PGMdialogue: DialogueTranslationEntries = {
"encounter": {
1: `@c{smile_wave}Ah, je te cherchais ! Je t’ai cherché partout !\n@c{angry_mopen}On oublie de dire au revoir à sa meilleure amie ?
$@c{smile_ehalf}T’as décidé de réaliser ton rêve, hein ?\nCe jour est donc vraiment arrivé…
- $@c{smile}Je veux bien te pardonner de m’avoir oubliée, à une conditon. @c{smile_wave_wink}Que tu m’affronte !
+ $@c{smile}Je veux bien te pardonner de m’avoir oubliée,\nà une conditon. @c{smile_wave_wink}Que tu m’affronte !
$@c{angry_mopen}Donne tout ! Ce serait dommage que ton aventure finisse avant d’avoir commencé, hein ?`
},
"victory": {
- 1: `@c{shock}Tu viens de commencer et t’es déjà si fort ?!@d{96}\n@c{angry}T'as triché non ? Avoue !
- $@c{smile_wave_wink}J'déconne !@d{64} @c{smile_eclosed}J'ai perdu dans les règles… J’ai le sentiment que tu vas très bien t’en sortir.
+ 1: `@c{shock}Tu viens de commencer et t’es déjà si fort ?!@d{96}\n@c{angry}T’as triché non ? Avoue !
+ $@c{smile_wave_wink}J’déconne !@d{64} @c{smile_eclosed}J’ai perdu dans les règles…\nJ’ai le sentiment que tu vas très bien t’en sortir.
$@c{smile}D’ailleurs, le prof veut que je te donne ces quelques objets. Ils te seront utiles, pour sûr !
$@c{smile_wave}Fais de ton mieux, comme toujours !\nJe crois fort en toi !`
},
},
"rival_2": {
"encounter": {
- 1: `@c{smile}Hé, toi aussi t’es là ?\n@c{smile_eclosed}Toujours invaincue, hein… ?
- $@c{serious_mopen_fists}Je sais que j’ai l’air de t’avoir suivie ici, mais c'est pas complètement vrai.
- $@c{serious_smile_fists}Pour être honnête, ça me démangeait d’avoir une revanche depuis que tu m'as battu.
+ 1: `@c{smile}Hé, toi aussi t’es là ?\n@c{smile_eclosed}Toujours invaincu, hein… ?
+ $@c{serious_mopen_fists}Je sais que j’ai l’air de t’avoir suivi ici, mais c’est pas complètement vrai.
+ $@c{serious_smile_fists}Pour être honnête, ça me démangeait d’avoir une revanche depuis que tu m’as battu.
$Je me suis beaucoup entrainé, alors sois sure que je vais pas retenir mes coups cette fois.
$@c{serious_mopen_fists}Et comme la dernière fois, ne te retiens pas !\nC’est parti !`
},
"victory": {
1: `@c{neutral_eclosed}Oh. Je crois que j’ai trop pris la confiance.
- $@c{smile}Pas grave, c'est OK. Je me doutais que ça arriverait.\n@c{serious_mopen_fists}Je vais juste devoir encore plus m’entrainer !\n
+ $@c{smile}Pas grave, c’est OK. Je me doutais que ça arriverait.\n@c{serious_mopen_fists}Je vais juste devoir encore plus m’entrainer !\n
$@c{smile}Ah, et pas que t’aies réellement besoin d’aide, mais j’ai ça en trop sur moi qui pourrait t’intéresser.\n
$@c{serious_smile_fists}Mais n’espère plus en avoir d’autres !\nJe peux pas passer mon temps à aider mon adversaire.
$@c{smile}Bref, prends soin de toi !`
@@ -2142,14 +2360,14 @@ export const PGMdialogue: DialogueTranslationEntries = {
"rival_2_female": {
"encounter": {
1: `@c{smile_wave}Hé, sympa de te croiser ici. T’as toujours l’air invaincu. @c{angry_mopen}Eh… Pas mal !
- $@c{angry_mopen}Je sais à quoi tu penses et non, je t’espionne pas. @c{smile_eclosed}C’est juste que j’étais aussi dans le coin.
+ $@c{angry_mopen}Je sais à quoi tu penses et non, je t’espionne pas.\n@c{smile_eclosed}C’est juste que j’étais aussi dans le coin.
$@c{smile_ehalf}Heureuse pour toi, mais je veux juste te rappeler que c’est pas grave de perdre parfois.
$@c{smile}On apprend de nos erreurs, souvent plus que si on ne connaissait que le succès.
- $@c{angry_mopen}Dans tous les cas je me suis bien entrainée pour cette revanche, t'as intérêt à tout donner !`
+ $@c{angry_mopen}Dans tous les cas je me suis bien entrainée pour cette revanche, t’as intérêt à tout donner !`
},
"victory": {
1: `@c{neutral}Je… J’étais pas encore supposée perdre…
- $@c{smile}Bon. Ça veut juste dire que je vois devoir encore plus m’entrainer !
+ $@c{smile}Bon. Ça veut juste dire que je vais devoir encore plus m’entrainer !
$@c{smile_wave}J’ai aussi ça en rab pour toi !\n@c{smile_wave_wink}Inutile de me remercier ~.
$@c{angry_mopen}C’était le dernier, terminé les cadeaux après celui-là !
$@c{smile_wave}Allez, tiens le coup !`
@@ -2160,11 +2378,11 @@ export const PGMdialogue: DialogueTranslationEntries = {
},
"rival_3": {
"encounter": {
- 1: `@c{smile}Hé, mais qui voilà ! Ça fait un bail.\n@c{neutral}T’es… toujours invaincue ? Incroyable.
+ 1: `@c{smile}Hé, mais qui voilà ! Ça fait un bail.\n@c{neutral}T’es… toujours invaincu ? Incroyable.
$@c{neutral_eclosed}Tout est devenu un peu… étrange.\nC’est plus pareil sans toi au village.
$@c{serious}Je sais que c’est égoïste, mais j’ai besoin d’expier ça.\n@c{neutral_eclosed}Je crois que tout ça te dépasse.
$@c{serious}Ne jamais perdre, c’est juste irréaliste.\nGrandir, c’est parfois aussi savoir perdre.
- $@c{neutral_eclosed}T’as un beau parcours, mais il y a encore tellement à venir et ça va pas s’arranger. @c{neutral}T’es prête pour ça ?
+ $@c{neutral_eclosed}T’as un beau parcours, mais il y a encore tellement à venir et ça va pas s’arranger. @c{neutral}T’es prêt pour ça ?
$@c{serious_mopen_fists}Si tu l’es, alors prouve-le.`
},
"victory": {
@@ -2193,9 +2411,9 @@ export const PGMdialogue: DialogueTranslationEntries = {
$@c{serious_mhalf_fists}J’ai appris à maximiser tout mon potentiel en m’entrainant d’arrachepied.
$@c{smile}C’est fou tout le temps que tu peux te dégager si tu dors pas en sacrifiant ta vie sociale.
$@c{serious_mopen_fists}Plus rien n’a d’importance désormais, pas tant que j’aurai pas gagné.
- $@c{neutral_eclosed}J'ai atteint un stade où je ne peux plus perdre.\n@c{smile_eclosed}Je présume que ta philosophie était pas si fausse finalement.
- $@c{angry_mhalf}La défaite, c'est pour les faibles, et je ne suis plus un faible.
- $@c{serious_mopen_fists}Tiens-toi prête.`
+ $@c{neutral_eclosed}J’ai atteint un stade où je ne peux plus perdre.\n@c{smile_eclosed}Je présume que ta philosophie était pas si fausse finalement.
+ $@c{angry_mhalf}La défaite, c’est pour les faibles, et je ne suis plus un faible.
+ $@c{serious_mopen_fists}Tiens-toi prêt.`
},
"victory": {
1: "@c{neutral}Que…@d{64} Qui es-tu ?"
@@ -2205,7 +2423,7 @@ export const PGMdialogue: DialogueTranslationEntries = {
"encounter": {
1: `@c{neutral}C’est moi ! Tu m’as pas encore oubliée… n’est-ce pas ?
$@c{smile}Tu devrais être fier d’être arrivé aussi loin. GG !\nMais c’est certainement pas la fin de ton aventure.
- $@c{smile_eclosed}T’as éveillé en moi quelque chose que j’ignorais.\nTout mon temps passe dans l'entrainement.
+ $@c{smile_eclosed}T’as éveillé en moi quelque chose que j’ignorais.\nTout mon temps passe dans l’entrainement.
$@c{smile_ehalf}Je dors et je mange à peine, je m’entraine juste tous les jours, et deviens de plus en plus forte.
$@c{neutral}En vrai, Je… J’ai de la peine à me reconnaitre.
$Mais maintenant, je suis au top de mes capacités.\nJe doute que tu sois de nouveau capable de me battre.
@@ -2249,16 +2467,16 @@ export const PGMdialogue: DialogueTranslationEntries = {
$@c{neutral_eclosed}J’ignore si je serai capable de l’accomplir, mais je ferai tout ce qui est en mon pouvoir.
$@c{neutral}Cet endroit est terrifiant… Et pourtant il m’a l’air familier, comme si j’y avais déjà mis les pieds.
$@c{serious_mhalf_fists}Tu ressens la même chose, pas vrai ?
- $@c{serious}…et c’est comme si quelque chose ici me parlait.
- $Comme si c’était tout ce que ce monde avait toujours connu.
+ $@c{serious}… et c’est comme si quelque chose ici me parlait.
+ $Comme si c’était tout ce que ce monde avait toujours connu.
$Ces précieux moments ensemble semblent si proches ne sont rien de plus qu’un lointain souvenir.
$@c{neutral_eclosed}D’ailleurs, qui peut dire aujourd’hui qu’ils ont pu être réels ?
- $@c{serious_mopen_fists}Il faut que tu persévères. Si tu t’arrêtes, ça n'aura jamais de fin et t’es la seule à en être capable.
+ $@c{serious_mopen_fists}Il faut que tu persévères. Si tu t’arrêtes, ça n’aura jamais de fin et t’es le seul à en être capable.
$@c{serious_smile_fists}Difficile de comprendre le sens de tout ça, je sais juste que c’est la réalité.
$@c{serious_mopen_fists}Si tu ne parviens pas à me battre ici et maintenant, tu n’as aucune chance.`
},
"victory": {
- 1: `@c{smile_eclosed}J'ai fait ce que je j'avais à faire.
+ 1: `@c{smile_eclosed}J’ai fait ce que j’avais à faire.
$Promets-moi juste une chose.\n@c{smile}Après avoir réparé ce monde… Rentre à la maison.`
},
},
@@ -2275,12 +2493,12 @@ export const PGMdialogue: DialogueTranslationEntries = {
$Comme… si c’était tout ce que ce monde avait toujours connu.
$@c{smile_eclosed}J’ai le sentiment que nos précieux moments ensemble sont devenus si flous.
$@c{smile_ehalf}Ont-ils au moins été réels ? Tout semble si loin maintenant…
- $@c{angry_mopen}Il faut que tu persévères. Si tu t’arrêtes, ça n'aura jamais de fin et t’es le seul à en être capable.
+ $@c{angry_mopen}Il faut que tu persévères. Si tu t’arrêtes, ça n’aura jamais de fin et t’es le seul à en être capable.
$@c{smile_ehalf}Je… j’ignore le sens de tout ça… Mais je sais que c’est la réalité.
$@c{neutral}Si tu ne parviens pas à me battre ici et maintenant, tu n’as aucune chance.`
},
"victory": {
- 1: `@c{smile_ehalf}Je… Je crois que j'ai rempli ma mission…
+ 1: `@c{smile_ehalf}Je… Je crois que j’ai rempli ma mission…
$@c{smile_eclosed}Promets-moi… Après avoir réparé ce monde… Reviens à la maison sain et sauf.
$@c{smile_ehalf}… Merci.`
@@ -2296,14 +2514,14 @@ export const PGFdialogue: DialogueTranslationEntries = {
1: "Hé ! Combat ?",
2: "Toi aussi tu débutes ?",
3: "Hé, j’me souviens pas de ta tête. Combat !",
- 4: "J’ai perdu, alors j’essaye de capturer d’autres Pokémon.\nHé, t’as l'air faible toi ! Allez, combat !",
+ 4: "J’ai perdu, alors j’essaye de capturer d’autres Pokémon.\nHé, t’as l’air faible toi ! Allez, combat !",
5: "On s’connait ? J’ai comme un doute. Dans tous les cas, sympa de te rencontrer !",
6: "Allez, c’est parti !",
7: "Attention, me voilà !\nTu vas voir comment j’suis fort !",
8: "Coucou… Tu veux voir mes bô Pokémon ?",
9: "Trève de mondanités. Ramène-toi quand tu le sens !",
10: "Baisse pas ta garde si tu veux pas pleurer d’avoir perdu face à un gamin.",
- 11: "J'ai tout donné pour élever mes Pokémon. Attention à toi si tu leur fait du mal !",
+ 11: "J’ai tout donné pour élever mes Pokémon. Attention à toi si tu leur fait du mal !",
12: "Incroyable que t’y sois parvenue ! Mais la suite va pas être une partie de plaisir.",
13: "Les combats sont éternels ! Bienvenue dans un monde sans fin !"
},
@@ -2317,146 +2535,146 @@ export const PGFdialogue: DialogueTranslationEntries = {
7: "Waah ! T’es trop incroyable ! J’suis bouche bée !",
8: "Pourquoi… Comment… Pourtant on est les plus forts, mes Pokémon et moi…",
9: "J’perdrai pas la prochaine fois ! Remettons ça un jour !",
- 10: "Weeeesh ! Tu vois que j’suis qu’un gamin ? C'est pas juste de me bully comme ça !",
+ 10: "Weeeesh ! Tu vois que j’suis qu’un gamin ? C’est pas juste de me bully comme ça !",
11: "Tes Pokémon sont trop incroyables !\n… P’tit échange ?",
12: "Je me suis fait un peu aider plus tôt, mais de quel taf je parlais ?",
- 13: "Ahaha ! Et voilà, ça y est !\nT'es déjà comme chez toi dans ce monde !"
+ 13: "Ahaha ! Et voilà, ça y est !\nT’es déjà comme chez toi dans ce monde !"
}
},
"lass": {
"encounter": {
- 1: "Let's have a battle, shall we?",
- 2: "You look like a new trainer. Let's have a battle!",
- 3: "I don't recognize you. How about a battle?",
- 4: "Let's have a fun Pokémon battle!",
- 5: "I'll show you the ropes of how to really use Pokémon!",
- 6: "A serious battle starts from a serious beginning! Are you sure you're ready?",
- 7: "You're only young once. And you only get one shot at a given battle. Soon, you'll be nothing but a memory.",
- 8: "You'd better go easy on me, OK? Though I'll be seriously fighting!",
- 9: "School is boring. I've got nothing to do. Yawn. I'm only battling to kill the time."
+ 1: "Affrontons-nous, d’accord ?",
+ 2: "T’as l’air d’une nouvelle Dresseuse. Battons nous !",
+ 3: "Je te connais pas. Ça te dis de te battre ?",
+ 4: "Prenons du bon temps avec ce combat Pokémon !",
+ 5: "Je vais t’apprendre à te battre avec tes Pokémon !",
+ 6: "Un combat doit être pris au sérieux. T’es prête à te battre ?",
+ 7: "Tu seras pas jeune éternellement. T’as qu’une chance pendant un combat. Bientôt, tu seras plus qu’un souvenir.",
+ 8: "Tu ferais mieux d’y aller doucement avec moi. Mais je vais me battre sérieusement !",
+ 9: "Je m’ennuie à l’école. Y’a rien à y faire. *Baille*\nJe me bats juste pour passer le temps."
},
"victory": {
- 1: "That was impressive! I've got a lot to learn.",
- 2: "I didn't think you'd beat me that bad…",
- 3: "I hope we get to have a rematch some day.",
- 4: "That was pretty amazingly fun! You've totally exhausted me…",
- 5: "You actually taught me a lesson! You're pretty amazing!",
- 6: "Seriously, I lost. That is, like, seriously depressing, but you were seriously cool.",
- 7: "I don't need memories like this. Deleting memory…",
- 8: "Hey! I told you to go easy on me! Still, you're pretty cool when you're serious.",
- 9: "I'm actually getting tired of battling… There's gotta be something new to do…"
+ 1: "Wah, c’était impressionnant ! J’ai encore beaucoup à apprendre.",
+ 2: "Je pensais pas que je perdrais comme ça…",
+ 3: "J’espère que j’aurai ma revanche un jour.",
+ 4: "C’était super amusant ! Mais ce combat m’a épuisée…",
+ 5: "Tu m’as appris une belle leçon ! T’es vraiment incroyable !",
+ 6: "Vraiment ? J’ai perdu… ? C’est des choses qui arrivent, ça me déprime mais t’es vraiment très cool.",
+ 7: "J’ai pas besoin de ce genre de souvenirs.\n*Suppression de mémoire en cours…*",
+ 8: "Hé ! Je t’avais dit d’y aller doucement avec moi ! Mais t’es vraiment si cool quand tu te bats sérieusement…",
+ 9: "J’en ai marre des combats Pokémon…\nJe vais chercher d’autres trucs à faire…"
}
},
"breeder": {
"encounter": {
- 1: "Obedient Pokémon, selfish Pokémon… Pokémon have unique characteristics.",
- 2: "Even though my upbringing and behavior are poor, I've raised my Pokémon well.",
- 3: "Hmm, do you discipline your Pokémon? Pampering them too much is no good.",
+ 1: "Qu’ils soient obéissants ou égoïstes… Les Pokémon ont des caractéristiques uniques.",
+ 2: "Même si mes choix et ma personnalité ne sont pas fous, je pense quand même bien avoir élevé mes Pokémon.",
+ 3: "Hum, t’es pas trop laxiste avec tes Pokémon ?\nTrop les chouchouter n’est pas bon.",
},
"victory": {
- 1: "It is important to nurture and train each Pokémon's characteristics.",
- 2: "Unlike my diabolical self, these are some good Pokémon.",
- 3: "Too much praise can spoil both Pokémon and people.",
+ 1: "Il est primordial de nourir et développer toutes les caractéristiques de chaque Pokémon.",
+ 2: "Contrairement à moi, ces Pokémon ont un bon fond.",
+ 3: "Trop d’éloges peut ruiner les Pokémon et les gens.",
},
"defeat": {
- 1: "You should not get angry at your Pokémon, even if you lose a battle.",
- 2: "Right? Pretty good Pokémon, huh? I'm suited to raising things.",
- 3: "No matter how much you love your Pokémon, you still have to discipline them when they misbehave."
+ 1: "Tu ne devrais pas t’énerver sur tes Pokémon, même après une défaite.",
+ 2: "Alors ? Pas mal mes Pokémon, hein ? Je suis fait pour ça.",
+ 3: "Peut importe à quel point t’aimes tes Pokémon, il faut toujours de la discipline s’ils se comportent mal."
}
},
"breeder_female": {
"encounter": {
- 1: "Pokémon never betray you. They return all the love you give them.",
- 2: "Shall I give you a tip for training good Pokémon?",
- 3: "I have raised these very special Pokémon using a special method."
+ 1: "Les Pokémon ne trahissent jamais. Ils te rendront toujours l’amour que tu leur donne.",
+ 2: "Puis-je te donner une astuce pour mieux élever tes Pokémon ?",
+ 3: "J’ai élevé mes Pokémon en utilisant une méthode très spéciale."
},
"victory": {
- 1: "Ugh… It wasn't supposed to be like this. Did I administer the wrong blend?",
- 2: "How could that happen to my Pokémon… What are you feeding your Pokémon?",
- 3: "If I lose, that tells you I was just killing time. It doesn't damage my ego at all."
+ 1: "Arg… C’était pas supposé se passer comme ça. Leur ai-je administré la mauvaise préparation ?",
+ 2: "Comment ça a pu arriver…\nAvec quoi nourris-tu tes Pokémon ?",
+ 3: "Si je perds, c’est juste pour te dire que je tuais le temps. Mon ego n’est absolument pas touché…"
},
"defeat": {
- 1: "This proves my Pokémon have accepted my love.",
- 2: "The real trick behind training good Pokémon is catching good Pokémon.",
- 3: "Pokémon will be strong or weak depending on how you raise them."
+ 1: "C’est la preuve que mes Pokémon reconnaissent tout mon amour.",
+ 2: "Le seul secret derrière des Pokémon bien entrainés, c’est surtout d’en capturer des bons.",
+ 3: "La force des Pokémon dépend de ta capacité à savoir les élever correctement."
}
},
"fisherman": {
"encounter": {
- 1: "Aack! You made me lose a bite!\nWhat are you going to do about it?",
- 2: "Go away! You're scaring the Pokémon!",
- 3: "Let's see if you can reel in a victory!",
+ 1: "Aaah non ! J’avais une touche !\nTu comptes faire quoi pour arranger ça ?",
+ 2: "Bouge de là ! Tu fais peur aux Pokémon !",
+ 3: "Voyons si t’arrives à ferrer une victoire !",
},
"victory": {
- 1: "Just forget about it.",
- 2: "Next time, I'll be reelin' in the triumph!",
- 3: "Guess I underestimated the currents this time.",
+ 1: "Vas-y là, oublie.",
+ 2: "La prochaine fois, je vais me repêcher !",
+ 3: "Je présume que j’ai sous-estimé les courants…",
},
},
"fisherman_female": {
"encounter": {
- 1: "Woah! I've hooked a big one!",
- 2: "Line's in, ready to reel in success!",
- 3: "Ready to make waves!"
+ 1: "Oh la belle prise !",
+ 2: "Ma ligne est en place, prête à ferrer le succès !",
+ 3: "Prête à faire des vagues !"
},
"victory": {
- 1: "I'll be back with a stronger hook.",
- 2: "I'll reel in victory next time.",
- 3: "I'm just sharpening my hooks for the comeback!"
+ 1: "Je suppose que je vais avoir besoin d’un plus gros hameçon.",
+ 2: "La ligne s’est brisée, j’ai pas pu la ferrer…",
+ 3: "Attends que j’aiguise mes hameçons pour la revanche !"
},
},
"swimmer": {
"encounter": {
- 1: "Time to dive in!",
- 2: "Let's ride the waves of victory!",
- 3: "Ready to make a splash!",
+ 1: "C’est l’heure de plonger dans le vif !",
+ 2: "C’est le moment de surfer sur les vagues de la victoire !",
+ 3: "Je vais t’éclabousser de mon talent !",
},
"victory": {
- 1: "Drenched in defeat!",
- 2: "A wave of defeat!",
- 3: "Back to shore, I guess.",
+ 1: "Tu m’as complètement séché",
+ 2: "Il semblerait que ce soit celles de la défaite…",
+ 3: "Retour sur la terre ferme je suppose",
},
},
"backpacker": {
"encounter": {
- 1: "Pack up, game on!",
- 2: "Let's see if you can keep pace!",
- 3: "Gear up, challenger!",
- 4: "I've spent 20 years trying to find myself… But where am I?"
+ 1: "Fais ton sac, on y va !",
+ 2: "Voyons si t’arrives à garder le rythme !",
+ 3: "Accélère le pas, camarade !",
+ 4: "J’ai passé 20 ans à la recherche de moi-même…\nMais où suis-je ?"
},
"victory": {
- 1: "Tripped up this time!",
- 2: "Oh, I think I'm lost.",
- 3: "Dead end!",
- 4: "Wait up a second! Hey! Don't you know who I am?"
+ 1: "J’ai trébuché !",
+ 2: "Ah, je crois que je me suis paumé.",
+ 3: "Ah, une impasse !",
+ 4: "Hé ! Attends une seconde…\nTu saurais pas qui je suis ?"
},
},
"ace_trainer": {
"encounter": {
- 1: "You seem quite confident.",
- 2: "Your Pokémon… Show them to me…",
- 3: "Because I'm an Ace Trainer, people think I'm strong.",
- 4: "Are you aware of what it takes to be an Ace Trainer?"
+ 1: "T’as l’air plutôt confiante.",
+ 2: "Tes Pokémon… Montre-les-moi…",
+ 3: "Les gens pensent que je suis fort par que je suis un Topdresseur.",
+ 4: "T’es au courant de ce que ça signifie d’être un Topdresseur ?"
},
"victory": {
- 1: "Yes… You have good Pokémon…",
- 2: "What?! But I'm a battling genius!",
- 3: "Of course, you are the main character!",
- 4: "OK! OK! You could be an Ace Trainer!"
+ 1: "Très bien… T’as de bons Pokémon…",
+ 2: "Quoi ?! Mais c'est moi le génie des combats !",
+ 3: "Évidemment que t’es le personnage principal !",
+ 4: "OK ! OK ! Tu pourrais être une Topdresseuse !"
},
"defeat": {
- 1: "I am devoting my body and soul to Pokémon battles!",
- 2: "All within my expectations… Nothing to be surprised about…",
- 3: "I thought I'd grow up to be a frail person who looked like they would break if you squeezed them too hard.",
- 4: "Of course I'm strong and don't lose. It's important that I win gracefully."
+ 1: "Je me dévoue corps et âme aux combats Pokémon !",
+ 2: "Comme prévu… Vraiment aucune surprise…",
+ 3: "Et moi qui pensais qu’en grandissant, j’allais rester frêle et fragile, à me briser à la moindre étreinte.",
+ 4: "Évidemment que je suis fort et encore moins un perdant. C’est important de gagner avec grâce."
}
},
"parasol_lady": {
"encounter": {
- 1: "Time to grace the battlefield with elegance and poise!",
+ 1: "Honorons ce terrain de combat avec élégance et équilibre !",
},
"victory": {
- 1: "My elegance remains unbroken!",
+ 2: "Mon élégance demeure inébranlable !",
}
},
"twins": {
@@ -2648,6 +2866,210 @@ export const PGFdialogue: DialogueTranslationEntries = {
1: "I'll tune up for the next race."
},
},
+ "firebreather": {
+ "encounter": {
+ 1: "My flames shall devour you!",
+ 2: "My soul is on fire. I'll show you how hot it burns!",
+ 3: "Step right up and take a look!"
+ },
+ "victory": {
+ 1: "I burned down to ashes...",
+ 2: "Yow! That's hot!",
+ 3: "Ow! I scorched the tip of my nose!"
+ },
+ },
+ "sailor": {
+ "encounter": {
+ 1: "Matey, you're walking the plank if you lose!",
+ 2: "Come on then! My sailor's pride is at stake!",
+ 3: "Ahoy there! Are you seasick?"
+ },
+ "victory": {
+ 1: "Argh! Beaten by a kid!",
+ 2: "Your spirit sank me!",
+ 3: "I think it's me that's seasick..."
+ },
+ },
+ "rocket_grunt": {
+ "encounter": {
+ 1: "Nous sommes de retour !"
+ },
+ "victory": {
+ 1: "Une fois de plus la Team Rocket s’envole vers d’autres cieux !"
+ },
+ },
+ "magma_grunt": {
+ "encounter": {
+ 1: "N’espère pas recevoir de la pitié si tu te mets sur le chemin de la Team Magma !"
+ },
+ "victory": {
+ 1: "Je…?\nJ’ai perdu ?!"
+ },
+ },
+ "aqua_grunt": {
+ "encounter": {
+ 1: "Aucune pitié si tu te mets sur le chemin de la Team Aqua, même pour une gamine !"
+ },
+ "victory": {
+ 1: "Comment ça ?"
+ },
+ },
+ "galactic_grunt": {
+ "encounter": {
+ 1: "Ne te mets pas en travers de la Team Galaxie !"
+ },
+ "victory": {
+ 1: "Désactivation…"
+ },
+ },
+ "plasma_grunt": {
+ "encounter": {
+ 1: "Pas de quatiers à ceux qui ne suivent pas notre idéal !"
+ },
+ "victory": {
+ 1: "Plasmaaaaaaaaa !"
+ },
+ },
+ "flare_grunt": {
+ "encounter": {
+ 1: "Le style et le bon gout, il n’y a que ça qui compte !"
+ },
+ "victory": {
+ 1: "Mon futur me semble guère radieux."
+ },
+ },
+ "rocket_boss_giovanni_1": {
+ "encounter": {
+ 1: "Bien. Je dois admettre que je suis impressionné de te voir ici !"
+ },
+ "victory": {
+ 1: "QUOI ? IMPOSSIBLE !"
+ },
+ "defeat": {
+ 1: "Retiens bien. Ton incapacité à évaluer ta propre force est\nla démonstration claire que tu n'es encore qu’une gamine."
+ }
+ },
+ "rocket_boss_giovanni_2": {
+ "encounter": {
+ 1: "Mes anciens collaborateurs m’attendent.\nComptes-tu m’en empêcher ?"
+ },
+ "victory": {
+ 1: "Comment c’est possible… ? Le grand dessein de la Team Rocket n’est plus qu’une illusion…"
+ },
+ "defeat": {
+ 1: "La Team Rocket renaitra, et je dominerai le monde !"
+ }
+ },
+ "magma_boss_maxie_1": {
+ "encounter": {
+ 1: "Je vais t’enterrer de mes propres mains.\nJ’espère que t’apprécieras cet honneur !"
+ },
+ "victory": {
+ 1: "Gnn… ! Tu… T’as du répondant…\nCe sentiment d’être à la traine, de si peu…"
+ },
+ "defeat": {
+ 1: "La Team Magma vaincra !"
+ }
+ },
+ "magma_boss_maxie_2": {
+ "encounter": {
+ 1: "T’es le dernier rempart entravant mes objectifs.\nPrépare-toi à mon ultime riposte ! Hahahaha !"
+ },
+ "victory": {
+ 1: "Ce… Ce n’est pas… Gnn…"
+ },
+ "defeat": {
+ 1: "L’heure est venue…\nJe vais transformer cette planète en paradis pour l’humanité."
+ }
+ },
+ "aqua_boss_archie_1": {
+ "encounter": {
+ 1: "Je suis le Leader de la Team Aqua.\nJ’ai bien peur que pour toi, ce soit fin de parcours."
+ },
+ "victory": {
+ 1: "Retrouvons-nous.\nJe me souviendrai de ton visage."
+ },
+ "defeat": {
+ 1: "Magnifique !\nPlus rien ne peut nous retenir !"
+ }
+ },
+ "aqua_boss_archie_2": {
+ "encounter": {
+ 1: "J’ai attendu ce moment depuis si longtemps.\nVoici la vraie puissance de la Team Aqua !"
+ },
+ "victory": {
+ 1: "Comme si j’y avait cru…"
+ },
+ "defeat": {
+ 1: "Je rendrai à ce monde sa pureté originelle !"
+ }
+ },
+ "galactic_boss_cyrus_1": {
+ "encounter": {
+ 1: "Tu t’es sentie obligée de venir ici dans un acte vide de sens. Je vais te le faire regretter."
+ },
+ "victory": {
+ 1: "Intéressant. Et plutôt curieux."
+ },
+ "defeat": {
+ 1: "Je le créerai, mon nouveau monde…"
+ }
+ },
+ "galactic_boss_cyrus_2": {
+ "encounter": {
+ 1: "Nous y revoilà. Il semblerait que nos destinées soient entremêlées. Il est l’heure d’y mettre un terme."
+ },
+ "victory": {
+ 1: "Comment. Comment ?\nCOMMENT ?!"
+ },
+ "defeat": {
+ 1: "Adieu."
+ }
+ },
+ "plasma_boss_ghetsis_1": {
+ "encounter": {
+ 1: "Je n’accepterai pas qu’on me barre la route !\nPeu importe qui fait quoi !"
+ },
+ "victory": {
+ 1: "Comment ? Je suis le leader de la Team Plasma !\nJe suis parfait !"
+ },
+ "defeat": {
+ 1: "Je suis le parfait monarque d’un monde parfait !\nHahaha !"
+ }
+ },
+ "plasma_boss_ghetsis_2": {
+ "encounter": {
+ 1: "Viens ! Je veux voir ton visage à l’instant même où l’espoir quittera ton corps !"
+ },
+ "victory": {
+ 1: "Mes calculs… Non ! Mes plans étaient parfaits !\nCe monde devrait être mien !"
+ },
+ "defeat": {
+ 1: "Kyurem ! Fusiorption !!!"
+ }
+ },
+ "flare_boss_lysandre_1": {
+ "encounter": {
+ 1: "Comptes-tu m’arrêter ? Prouve-le."
+ },
+ "victory": {
+ 1: "T’es venu m’arrêter. Mais je te demande d’attendre."
+ },
+ "defeat": {
+ 1: "Les Pokémon… Ne devraient plus exister."
+ }
+ },
+ "flare_boss_lysandre_2": {
+ "encounter": {
+ 1: "Ton futur ou le mien…\nVoyons lequel mérite plus d’aboutir."
+ },
+ "victory": {
+ 1: "Ohhhh… !"
+ },
+ "defeat": {
+ 1: "Les ignorants sans aucune vision n’auront donc de cesse de souiller ce monde."
+ }
+ },
"brock": {
"encounter": {
1: "My expertise on Rock-type Pokémon will take you down! Come on!",
@@ -4377,26 +4799,26 @@ export const PGFdialogue: DialogueTranslationEntries = {
"encounter": {
1: `@c{smile}Ah, je te cherchais ! Je savais que t’étais pressée de partir, mais je m’attendais quand même à un au revoir…
$@c{smile_eclosed}T’as finalement décidé de réaliser ton rêve ?\nJ’ai peine à y croire.
- $@c{serious_smile_fists}Vu que t’es là, ça te dis un petit combat ?\nJe voudrais quand même m’assurer que t'es prête.
+ $@c{serious_smile_fists}Vu que t’es là, ça te dis un petit combat ?\nJe voudrais quand même m’assurer que t’es prête.
$@c{serious_mopen_fists}Surtout ne te retiens pas et donne-moi tout ce que t’as !`
},
"victory": {
1: `@c{shock}Wah… Tu m’as vraiment lavé.\nT’es vraiment une débutante ?
- $@c{smile}T'as peut-être eu de la chance, mais…\nPeut-être que t’arriveras jusqu’au bout du chemin.
- $D'ailleurs, le prof m’a demandé de te filer ces objets.\nIls ont l’air sympas.
+ $@c{smile}T’as peut-être eu de la chance, mais…\nPeut-être que t’arriveras jusqu’au bout du chemin.
+ $D’ailleurs, le prof m’a demandé de te filer ces objets.\nIls ont l’air sympas.
$@c{serious_smile_fists}Bonne chance à toi !`
},
},
"rival_female": {
"encounter": {
- 1: `@c{smile_wave}Ah, je te cherchais ! Je t’ai cherché partout !\n@c{angry_mopen}On oublie de dire au revoir à sa meilleure amie ?
+ 1: `@c{smile_wave}Ah, je te cherchais ! Je t’ai cherchée partout !\n@c{angry_mopen}On oublie de dire au revoir à sa meilleure amie ?
$@c{smile_ehalf}T’as décidé de réaliser ton rêve, hein ?\nCe jour est donc vraiment arrivé…
- $@c{smile}Je veux bien te pardonner de m’avoir oubliée, à une conditon. @c{smile_wave_wink}Que tu m’affronte !
+ $@c{smile}Je veux bien te pardonner de m’avoir oubliée,\nà une conditon. @c{smile_wave_wink}Que tu m’affronte !
$@c{angry_mopen}Donne tout ! Ce serait dommage que ton aventure finisse avant d’avoir commencé, hein ?`
},
"victory": {
- 1: `@c{shock}Tu viens de commencer et t’es déjà si fort ?!@d{96}\n@c{angry}T'as triché non ? Avoue !
- $@c{smile_wave_wink}J'déconne !@d{64} @c{smile_eclosed}J'ai perdu dans les règles… J’ai le sentiment que tu vas très bien t’en sortir.
+ 1: `@c{shock}Tu viens de commencer et t’es déjà si forte ?!@d{96}\n@c{angry}T’as triché non ? Avoue !
+ $@c{smile_wave_wink}J’déconne !@d{64} @c{smile_eclosed}J’ai perdu dans les règles…\nJ’ai le sentiment que tu vas très bien t’en sortir.
$@c{smile}D’ailleurs, le prof veut que je te donne ces quelques objets. Ils te seront utiles, pour sûr !
$@c{smile_wave}Fais de ton mieux, comme toujours !\nJe crois fort en toi !`
},
@@ -4404,14 +4826,14 @@ export const PGFdialogue: DialogueTranslationEntries = {
"rival_2": {
"encounter": {
1: `@c{smile}Hé, toi aussi t’es là ?\n@c{smile_eclosed}Toujours invaincue, hein… ?
- $@c{serious_mopen_fists}Je sais que j’ai l’air de t’avoir suivie ici, mais c'est pas complètement vrai.
- $@c{serious_smile_fists}Pour être honnête, ça me démangeait d’avoir une revanche depuis que tu m'as battu.
+ $@c{serious_mopen_fists}Je sais que j’ai l’air de t’avoir suivie ici, mais c’est pas complètement vrai.
+ $@c{serious_smile_fists}Pour être honnête, ça me démangeait d’avoir une revanche depuis que tu m’as battu.
$Je me suis beaucoup entrainé, alors sois sure que je vais pas retenir mes coups cette fois.
$@c{serious_mopen_fists}Et comme la dernière fois, ne te retiens pas !\nC’est parti !`
},
"victory": {
1: `@c{neutral_eclosed}Oh. Je crois que j’ai trop pris la confiance.
- $@c{smile}Pas grave, c'est OK. Je me doutais que ça arriverait.\n@c{serious_mopen_fists}Je vais juste devoir encore plus m’entrainer !\n
+ $@c{smile}Pas grave, c’est OK. Je me doutais que ça arriverait.\n@c{serious_mopen_fists}Je vais juste devoir encore plus m’entrainer !\n
$@c{smile}Ah, et pas que t’aies réellement besoin d’aide, mais j’ai ça en trop sur moi qui pourrait t’intéresser.\n
$@c{serious_smile_fists}Mais n’espère plus en avoir d’autres !\nJe peux pas passer mon temps à aider mon adversaire.
$@c{smile}Bref, prends soin de toi !`
@@ -4419,15 +4841,15 @@ export const PGFdialogue: DialogueTranslationEntries = {
},
"rival_2_female": {
"encounter": {
- 1: `@c{smile_wave}Hé, sympa de te croiser ici. T’as toujours l’air invaincu. @c{angry_mopen}Eh… Pas mal !
- $@c{angry_mopen}Je sais à quoi tu penses et non, je t’espionne pas. @c{smile_eclosed}C’est juste que j’étais aussi dans le coin.
+ 1: `@c{smile_wave}Hé, sympa de te croiser ici. T’as toujours l’air invaincue. @c{angry_mopen}Eh… Pas mal !
+ $@c{angry_mopen}Je sais à quoi tu penses et non, je t’espionne pas.\n@c{smile_eclosed}C’est juste que j’étais aussi dans le coin.
$@c{smile_ehalf}Heureuse pour toi, mais je veux juste te rappeler que c’est pas grave de perdre parfois.
$@c{smile}On apprend de nos erreurs, souvent plus que si on ne connaissait que le succès.
- $@c{angry_mopen}Dans tous les cas je me suis bien entrainée pour cette revanche, t'as intérêt à tout donner !`
+ $@c{angry_mopen}Dans tous les cas je me suis bien entrainée pour cette revanche, t’as intérêt à tout donner !`
},
"victory": {
1: `@c{neutral}Je… J’étais pas encore supposée perdre…
- $@c{smile}Bon. Ça veut juste dire que je vois devoir encore plus m’entrainer !
+ $@c{smile}Bon. Ça veut juste dire que je vais devoir encore plus m’entrainer !
$@c{smile_wave}J’ai aussi ça en rab pour toi !\n@c{smile_wave_wink}Inutile de me remercier ~.
$@c{angry_mopen}C’était le dernier, terminé les cadeaux après celui-là !
$@c{smile_wave}Allez, tiens le coup !`
@@ -4454,7 +4876,7 @@ export const PGFdialogue: DialogueTranslationEntries = {
1: `@c{smile_wave}Ça fait une éternité ! Toujours debout hein ?\n@c{angry}Tu commences à me pousser à bout là. @c{smile_wave_wink}T’inquiètes j’déconne !
$@c{smile_ehalf}Mais en vrai, ta maison te manque pas ? Ou… Moi ?\nJ… Je veux dire… Tu me manques vraiment beaucoup.
$@c{smile_eclosed}Je te soutiendrai toujours dans tes ambitions, mais la vérité est que tu finiras par perdre un jour ou l’autre.
- $@c{smile}Quand ça arrivera, je serai là pour toi, comme toujours.\n@c{angry_mopen}Maintenant, montre-moi à quel point t’es devenu fort !`
+ $@c{smile}Quand ça arrivera, je serai là pour toi, comme toujours.\n@c{angry_mopen}Maintenant, montre-moi à quel point t’es devenue forte !`
},
"victory": {
1: "@c{shock}Après tout ça… Ça te suffit toujours pas… ?\nTu reviendras jamais à ce rythme…"
@@ -4471,8 +4893,8 @@ export const PGFdialogue: DialogueTranslationEntries = {
$@c{serious_mhalf_fists}J’ai appris à maximiser tout mon potentiel en m’entrainant d’arrachepied.
$@c{smile}C’est fou tout le temps que tu peux te dégager si tu dors pas en sacrifiant ta vie sociale.
$@c{serious_mopen_fists}Plus rien n’a d’importance désormais, pas tant que j’aurai pas gagné.
- $@c{neutral_eclosed}J'ai atteint un stade où je ne peux plus perdre.\n@c{smile_eclosed}Je présume que ta philosophie était pas si fausse finalement.
- $@c{angry_mhalf}La défaite, c'est pour les faibles, et je ne suis plus un faible.
+ $@c{neutral_eclosed}J’ai atteint un stade où je ne peux plus perdre.\n@c{smile_eclosed}Je présume que ta philosophie était pas si fausse finalement.
+ $@c{angry_mhalf}La défaite, c’est pour les faibles, et je ne suis plus un faible.
$@c{serious_mopen_fists}Tiens-toi prête.`
},
"victory": {
@@ -4482,20 +4904,20 @@ export const PGFdialogue: DialogueTranslationEntries = {
"rival_4_female": {
"encounter": {
1: `@c{neutral}C’est moi ! Tu m’as pas encore oubliée… n’est-ce pas ?
- $@c{smile}Tu devrais être fier d’être arrivé aussi loin. GG !\nMais c’est certainement pas la fin de ton aventure.
- $@c{smile_eclosed}T’as éveillé en moi quelque chose que j’ignorais.\nTout mon temps passe dans l'entrainement.
+ $@c{smile}Tu devrais être fière d’être arrivée aussi loin. GG !\nMais c’est certainement pas la fin de ton aventure.
+ $@c{smile_eclosed}T’as éveillé en moi quelque chose que j’ignorais.\nTout mon temps passe dans l’entrainement.
$@c{smile_ehalf}Je dors et je mange à peine, je m’entraine juste tous les jours, et deviens de plus en plus forte.
$@c{neutral}En vrai, Je… J’ai de la peine à me reconnaitre.
$Mais maintenant, je suis au top de mes capacités.\nJe doute que tu sois de nouveau capable de me battre.
$Et tu sais quoi ? Tout ça, c’est de ta faute.\n@c{smile_ehalf}Et j’ignore si je dois te remercier ou te haïr.
- $@c{angry_mopen}Tiens-toi prêt.`
+ $@c{angry_mopen}Tiens-toi prête.`
},
"victory": {
1: "@c{neutral}Que…@d{64} Qui es-tu ?"
},
"defeat": {
- 1: "$@c{smile}Tu devrais être fier d’être arrivé jusque là."
+ 1: "$@c{smile}Tu devrais être fière d’être arrivé jusque là."
}
},
"rival_5": {
@@ -4527,7 +4949,8 @@ export const PGFdialogue: DialogueTranslationEntries = {
$@c{neutral_eclosed}J’ignore si je serai capable de l’accomplir, mais je ferai tout ce qui est en mon pouvoir.
$@c{neutral}Cet endroit est terrifiant… Et pourtant il m’a l’air familier, comme si j’y avais déjà mis les pieds.
$@c{serious_mhalf_fists}Tu ressens la même chose, pas vrai ?
- $@c{serious}…et c’est comme si quelque chose ici me parlait.\nComme si c’était tout ce que ce monde avait toujours connu.
+ $@c{serious}… et c’est comme si quelque chose ici me parlait.
+ $Comme si c’était tout ce que ce monde avait toujours connu.
$Ces précieux moments ensemble semblent si proches ne sont rien de plus qu’un lointain souvenir.
$@c{neutral_eclosed}D’ailleurs, qui peut dire aujourd’hui qu’ils ont pu être réels ?
$@c{serious_mopen_fists}Il faut que tu persévères. Si tu t’arrêtes, ça n'aura jamais de fin et t’es la seule à en être capable.
@@ -4535,7 +4958,7 @@ export const PGFdialogue: DialogueTranslationEntries = {
$@c{serious_mopen_fists}Si tu ne parviens à pas me battre ici et maintenant, tu n’as aucune chance.`
},
"victory": {
- 1: `@c{smile_eclosed}J'ai fait ce que je j'avais à faire.
+ 1: `@c{smile_eclosed}J’ai fait ce que j’avais à faire.
$Promets-moi juste une chose.\n@c{smile}Après avoir réparé ce monde… Rentre à la maison.`
},
},
@@ -4552,13 +4975,13 @@ export const PGFdialogue: DialogueTranslationEntries = {
$Comme… si c’était tout ce que ce monde avait toujours connu.
$@c{smile_eclosed}J’ai le sentiment que nos précieux moments ensemble sont devenus si flous.
$@c{smile_ehalf}Ont-ils au moins été réels ? Tout semble si loin maintenant…
- $@c{angry_mopen}Il faut que tu persévères. Si tu t’arrêtes, ça n'aura jamais de fin et t’es le seul à en être capable.
+ $@c{angry_mopen}Il faut que tu persévères. Si tu t’arrêtes, ça n’aura jamais de fin et t’es le seul à en être capable.
$@c{smile_ehalf}Je… j’ignore le sens de tout ça… Mais je sais que c’est la réalité.
- $@c{neutral}Si tu ne parviens à pas me battre ici et maintenant, tu n’as aucune chance.`
+ $@c{neutral}Si tu ne parviens pas à me battre ici et maintenant, tu n’as aucune chance.`
},
"victory": {
- 1: `@c{smile_ehalf}Je… Je crois que j'ai rempli ma mission…
- $@c{smile_eclosed}Promets-moi… Après avoir réparé ce monde… Reviens à la maison sain et sauf.
+ 1: `@c{smile_ehalf}Je… Je crois que j’ai rempli ma mission…
+ $@c{smile_eclosed}Promets-moi… Après avoir réparé ce monde… Reviens à la maison saine et sauve.
$@c{smile_ehalf}… Merci.`
},
@@ -4598,7 +5021,7 @@ export const PGFbattleSpecDialogue: SimpleTranslationEntries = {
// Dialogue that does not fit into any other category (e.g. tutorial messages, or the end of the game). For when the player character is male
export const PGMmiscDialogue: SimpleTranslationEntries = {
"ending":
- `@c{smile}Oh ? T’as gagné ?@d{96} @c{smile_eclosed}J'aurais dû le savoir.\nMais de voilà de retour.
+ `@c{smile}Oh ? T’as gagné ?@d{96} @c{smile_eclosed}J’aurais dû le savoir.\nMais de voilà de retour.
$@c{smile}C’est terminé.@d{64} T’as brisé ce cycle infernal.
$@c{serious_smile_fists}T’as aussi accompli ton rêve non ?\nTu n’as pas connu la moindre défaite.
$@c{neutral}Je suis le seul à me souvenir de ce que t’as fait.@d{96}\nJe pense que ça ira, non ?
@@ -4606,7 +5029,7 @@ export const PGMmiscDialogue: SimpleTranslationEntries = {
$@c{smile_eclosed}Bref, j’en ai un peu marre de ce endroit, pas toi ? Rentrons à la maison.
$@c{serious_smile_fists}On se fera un p’tit combat une fois rentrés ?\nSi t’es d’accord.`,
"ending_female":
- `@c{shock}T’es revenu ?@d{32} Ça veut dire…@d{96} que t’as gagné ?!\n@c{smile_ehalf}J'aurais dû le savoir.
+ `@c{shock}T’es revenu ?@d{32} Ça veut dire…@d{96} que t’as gagné ?!\n@c{smile_ehalf}J’aurais dû le savoir.
$@c{smile_eclosed}Bien sûr… J’ai toujours eu ce sentiment.\n@c{smile}C’est fini maitenant hein ? T’as brisé ce cycle.
$@c{smile_ehalf}T’as aussi accompli ton rêve non ?\nTu n’as pas connu la moindre défaite.
$Je serai la seule à me souvenir de ce que t’as fait.\n@c{angry_mopen}Je tâcherai de ne pas oublier !
@@ -4644,76 +5067,76 @@ export const PGMdoubleBattleDialogue: DialogueTranslationEntries = {
},
"tate_liza_double": {
"encounter": {
- 1: `Lévy : Are you suprised?
- $Tatia : We are two gym leaders at once!
- $Lévy : We are twins!
- $Tatia : We dont need to talk to understand each other!
- $Lévy : Twice the power...
- $Tatia : Can you handle it?`,
+ 1: `Lévy : Héhéhé… Tu en fais une drôle de tête.
+ $Tatia : Tu ne t’attendais pas à rencontrer deux Champions, n’est-ce pas ?
+ $Lévy : Nous sommes des jumeaux !
+ $Tatia : Nous n’avons pas besoin de parler entre nous !
+ $Lévy : Tu crois pouvoir briser…
+ $Tatia : … Notre duo parfait ?`,
},
"victory": {
- 1: `Lévy : What? Our combination was perfect!
- $Tatia : Looks like we need to train more...`,
+ 1: `Lévy : Quoi ? Notre combinaison était parfaite !
+ $Tatia : Nous avons encore besoin d’entrainement…`,
},
},
"liza_tate_double": {
"encounter": {
- 1: `Tatia : Hihihi... Are you suprised?
- $Lévy : Yes, we are really two gym leaders at once!
- $Tatia : This is my twin brother Tate!
- $Lévy : And this is my twin sister Liza!
- $Tatia : Don't you think we are a perfect combination?`
+ 1: `Tatia : Hihih… Si tu voyais ta tête !
+ $Lévy : Oui, nous sommes deux Champions en un !
+ $Tatia : Voici mon frère, Lévy…
+ $Lévy : … Et ma sœur, Tatia !
+ $Tatia : Tu ne penses pas que notre combinaison est parfaite ?`
},
"victory": {
- 1: `Tatia : Are we...
- $Lévy : ...not as strong as we thought?`,
+ 1: `Tatia : Quoi ? Notre combinaison…
+ $Lévy : … a échoué !`,
},
},
"wallace_steven_double": {
"encounter": {
- 1: `Pierre R. : Marc, let's show them the power of the champions!
- $Marc : We will show you the power of Hoenn!
- $Pierre R. : Let's go!`,
+ 1: `Pierre R. : Marc, montrons-lui la puissance des Maitres !
+ $Marc : Tu vas gouter au pouvoir de Hoenn !
+ $Pierre R. : C’est parti !`,
},
"victory": {
- 1: `Pierre R. : That was a great battle!
- $Marc : We will win next time!`,
+ 1: `Pierre R. : C’était un beau combat !
+ $Marc : Ce sera notre tour la prochaine fois !`,
},
},
"steven_wallace_double": {
"encounter": {
- 1: `Pierre R. : Do you have any rare Pokémon?
- $Marc : Pierre... We are here for a battle, not to show off our pokémon.
- $Pierre R. : Oh... I see... Let's go then!`,
+ 1: `Pierre R. : Excuse-moi, aurais-tu des Pokémon rares ?
+ $Marc : Pierre… Nous sommes là pour nous battre, pas pour frimer avec nos Pokémon.
+ $Pierre R. : Oh… Je vois… Commençons alors !`,
},
"victory": {
- 1: `Pierre R. : Now that we are done with the battle, let's show off our pokémon!
- $Marc : Pierre...`,
+ 1: `Pierre R. : Bien, maintenant que ce combat est clos, montrons-nous nos Pokémon !
+ $Marc : Pierre…`,
},
},
"alder_iris_double": {
"encounter": {
- 1: `Goyah : We are the strongest trainers in Unova!
- $Iris : Fights against strong trainers are the best!`,
+ 1: `Goyah : Nous sommes l’élite des Dresseurs d’Unys !
+ $Iris : Rien de mieux que des combats contre des prodiges !`,
},
"victory": {
- 1: `Goyah : Wow! You are super strong!
- $Iris : We will win next time!`,
+ 1: `Goyah : INCROYABLE ! T’es trop doué !
+ $Iris : On gagnera la prochaine fois !`,
},
},
"iris_alder_double": {
"encounter": {
- 1: `Iris : Welcome Challenger! I am THE Unova Champion!
- $Goyah : Iris, aren't you a bit too excited?`,
+ 1: `Iris : Bienvenue, Dresseur ! Je suis LA Maitresse d’Unys !
+ $Goyah : Iris, concentre-toi s’il te plait…`,
},
"victory": {
- 1: `Iris : A loss like this is not easy to take...
- $Goyah : But we will only get stronger with every loss!`,
+ 1: `Iris : On a tout donné et pourtant…
+ $Goyah : Cette défaite ne pourra que nous être bénéfique !`,
},
},
"piers_marnie_double": {
"encounter": {
- 1: `Rosemary : Frérot, montrons-leur la puissance de Smashings !
+ 1: `Rosemary : Frérot, montrons-lui la puissance de Smashings !
$Peterson : Nous sommes les ténèbres !`,
},
"victory": {
@@ -4724,10 +5147,10 @@ export const PGMdoubleBattleDialogue: DialogueTranslationEntries = {
"marnie_piers_double": {
"encounter": {
1: `Peterson : Chauds pour un concert ?
- $Rosemary : Frérot… Ils sont pas là pour chanter, mais se battre…`,
+ $Rosemary : Frérot… Il est pas là pour chanter, mais se battre…`,
},
"victory": {
- 1: `Peterson : Ça c'est du rock !
+ 1: `Peterson : Ça c’est du rock !
$Rosemary : Frérot…`,
},
},
@@ -4759,76 +5182,76 @@ export const PGFdoubleBattleDialogue: DialogueTranslationEntries = {
},
"tate_liza_double": {
"encounter": {
- 1: `Lévy : Are you suprised?
- $Tatia : We are two gym leaders at once!
- $Lévy : We are twins!
- $Tatia : We dont need to talk to understand each other!
- $Lévy : Twice the power...
- $Tatia : Can you handle it?`,
+ 1: `Lévy : Héhéhé… Tu en fais une drôle de tête.
+ $Tatia : Tu ne t’attendais pas à rencontrer deux Champions, n’est-ce pas ?
+ $Lévy : Nous sommes des jumeaux !
+ $Tatia : Nous n’avons pas besoin de parler entre nous !
+ $Lévy : Tu crois pouvoir briser…
+ $Tatia : … Notre duo parfait ?`,
},
"victory": {
- 1: `Lévy : What? Our combination was perfect!
- $Tatia : Looks like we need to train more...`,
+ 1: `Lévy : Quoi ? Notre combinaison était parfaite !
+ $Tatia : Nous avons encore besoin d’entrainement…`,
},
},
"liza_tate_double": {
"encounter": {
- 1: `Tatia : Hihihi... Are you suprised?
- $Lévy : Yes, we are really two gym leaders at once!
- $Tatia : This is my twin brother Tate!
- $Lévy : And this is my twin sister Liza!
- $Tatia : Don't you think we are a perfect combination?`
+ 1: `Tatia : Hihih… Si tu voyais ta tête !
+ $Lévy : Oui, nous sommes deux Champions en un !
+ $Tatia : Voici mon frère, Lévy…
+ $Lévy : … Et ma sœur, Tatia !
+ $Tatia : Tu ne penses pas que notre combinaison est parfaite ?`
},
"victory": {
- 1: `Tatia : Are we...
- $Lévy : ...not as strong as we thought?`,
+ 1: `Tatia : Quoi ? Notre combinaison…
+ $Lévy : … a échoué !`,
},
},
"wallace_steven_double": {
"encounter": {
- 1: `Pierre R. : Marc, let's show them the power of the champions!
- $Marc : We will show you the power of Hoenn!
- $Pierre R. : Let's go!`,
+ 1: `Pierre R. : Marc, montrons-lui la puissance des Maitres !
+ $Marc : Tu vas gouter au pouvoir de Hoenn !
+ $Pierre R. : C’est parti !`,
},
"victory": {
- 1: `Pierre R. : That was a great battle!
- $Marc : We will win next time!`,
+ 1: `Pierre R. : C’était un beau combat !
+ $Marc : Ce sera notre tour la prochaine fois !`,
},
},
"steven_wallace_double": {
"encounter": {
- 1: `Pierre R. : Do you have any rare Pokémon?
- $Marc : Pierre... We are here for a battle, not to show off our pokémon.
- $Pierre R. : Oh... I see... Let's go then!`,
+ 1: `Pierre R. : Excuse-moi, aurais-tu des Pokémon rares ?
+ $Marc : Pierre… Nous sommes là pour nous battre, pas pour frimer avec nos Pokémon.
+ $Pierre R. : Oh… Je vois… Commençons alors !`,
},
"victory": {
- 1: `Pierre R. : Now that we are done with the battle, let's show off our pokémon!
- $Marc : Pierre...`,
+ 1: `Pierre R. : Bien, maintenant que ce combat est clos, montrons-nous nos Pokémon !
+ $Marc : Pierre…`,
},
},
"alder_iris_double": {
"encounter": {
- 1: `Goyah : We are the strongest trainers in Unova!
- $Iris : Fights against strong trainers are the best!`,
+ 1: `Goyah : Nous sommes l’élite des Dresseurs d’Unys !
+ $Iris : Rien de mieux que des combats contre des prodiges !`,
},
"victory": {
- 1: `Goyah : Wow! You are super strong!
- $Iris : We will win next time!`,
+ 1: `Goyah : INCROYABLE ! T’es trop doué !
+ $Iris : On gagnera la prochaine fois !`,
},
},
"iris_alder_double": {
"encounter": {
- 1: `Iris : Welcome Challenger! I am THE Unova Champion!
- $Goyah : Iris, aren't you a bit too excited?`,
+ 1: `Iris : Bienvenue, Dresseur ! Je suis LA Maitresse d’Unys !
+ $Goyah : Iris, concentre-toi s’il te plait…`,
},
"victory": {
- 1: `Iris : A loss like this is not easy to take...
- $Goyah : But we will only get stronger with every loss!`,
+ 1: `Iris : On a tout donné et pourtant…
+ $Goyah : Cette défaite ne pourra que nous être bénéfique !`,
},
},
"piers_marnie_double": {
"encounter": {
- 1: `Rosemary : Frérot, montrons-leur la puissance de Smashings !
+ 1: `Rosemary : Frérot, montrons-lui la puissance de Smashings !
$Peterson : Nous sommes les ténèbres !`,
},
"victory": {
@@ -4839,10 +5262,10 @@ export const PGFdoubleBattleDialogue: DialogueTranslationEntries = {
"marnie_piers_double": {
"encounter": {
1: `Peterson : Chauds pour un concert ?
- $Rosemary : Frérot… Ils sont pas là pour chanter, mais se battre…`,
+ $Rosemary : Frérot… Elle est pas là pour chanter, mais se battre…`,
},
"victory": {
- 1: `Peterson : Ça c'est du rock !
+ 1: `Peterson : Ça c’est du rock !
$Rosemary : Frérot…`,
},
},
diff --git a/src/locales/fr/egg.ts b/src/locales/fr/egg.ts
index beffb1a98a7..f63ac3abb0d 100644
--- a/src/locales/fr/egg.ts
+++ b/src/locales/fr/egg.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const egg: SimpleTranslationEntries = {
"egg": "Œuf",
@@ -17,5 +17,12 @@ export const egg: SimpleTranslationEntries = {
"notEnoughVouchers": "Vous n’avez pas assez de coupons !",
"tooManyEggs": "Vous avez trop d’Œufs !",
"pull": "Tirage",
- "pulls": "Tirages"
+ "pulls": "Tirages",
+ "sameSpeciesEgg": "{{species}} sortira de cet Œuf !",
+ "hatchFromTheEgg": "{{pokemonName}} sort de l’Œuf !",
+ "eggMoveUnlock": "Capacité Œuf débloquée :\n{{moveName}}",
+ "rareEggMoveUnlock": "Capacité Œuf Rare débloquée :\n{{moveName}}",
+ "moveUPGacha": "Bonus Capacité\nŒuf Rare !",
+ "shinyUPGacha": "Bonus\nChromatique !",
+ "legendaryUPGacha": "Bonus !",
} as const;
diff --git a/src/locales/fr/fight-ui-handler.ts b/src/locales/fr/fight-ui-handler.ts
index bccfdd5cfb8..8bcf7732626 100644
--- a/src/locales/fr/fight-ui-handler.ts
+++ b/src/locales/fr/fight-ui-handler.ts
@@ -1,7 +1,9 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const fightUiHandler: SimpleTranslationEntries = {
"pp": "PP",
"power": "Puissance",
"accuracy": "Précision",
+ "abilityFlyInText": " {{passive}}{{abilityName}}\nde {{pokemonName}}",
+ "passive": "Passif ", // The space at the end is important
} as const;
diff --git a/src/locales/fr/game-mode.ts b/src/locales/fr/game-mode.ts
new file mode 100644
index 00000000000..ad4481b4953
--- /dev/null
+++ b/src/locales/fr/game-mode.ts
@@ -0,0 +1,10 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const gameMode: SimpleTranslationEntries = {
+ "classic": "Classique",
+ "endless": "Infini",
+ "endlessSpliced": "Infini (Fusions)",
+ "dailyRun": "Défi du jour",
+ "unknown": "Inconnu",
+ "challenge": "Challenge",
+} as const;
diff --git a/src/locales/fr/game-stats-ui-handler.ts b/src/locales/fr/game-stats-ui-handler.ts
index 1f368f1ff43..6d6bcd370d2 100644
--- a/src/locales/fr/game-stats-ui-handler.ts
+++ b/src/locales/fr/game-stats-ui-handler.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const gameStatsUiHandler: SimpleTranslationEntries = {
"stats": "Statistiques",
diff --git a/src/locales/fr/growth.ts b/src/locales/fr/growth.ts
index a4e9e8ed0ce..f44913b7d60 100644
--- a/src/locales/fr/growth.ts
+++ b/src/locales/fr/growth.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const growth: SimpleTranslationEntries = {
"Erratic": "Erratique",
diff --git a/src/locales/fr/menu-ui-handler.ts b/src/locales/fr/menu-ui-handler.ts
index 9494a64ab3f..3eabc132f6b 100644
--- a/src/locales/fr/menu-ui-handler.ts
+++ b/src/locales/fr/menu-ui-handler.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const menuUiHandler: SimpleTranslationEntries = {
"GAME_SETTINGS": "Paramètres",
@@ -19,5 +19,6 @@ export const menuUiHandler: SimpleTranslationEntries = {
"importData": "Importer données",
"exportData": "Exporter données",
"cancel": "Retour",
- "losingProgressionWarning": "Vous allez perdre votre progression depuis le début du combat. Continuer ?"
+ "losingProgressionWarning": "Vous allez perdre votre progression depuis le début du combat. Continuer ?",
+ "noEggs": "Vous ne faites actuellement\néclore aucun Œuf !"
} as const;
diff --git a/src/locales/fr/menu.ts b/src/locales/fr/menu.ts
index e955d4970c0..3aee5c42103 100644
--- a/src/locales/fr/menu.ts
+++ b/src/locales/fr/menu.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const menu: SimpleTranslationEntries = {
"cancel": "Annuler",
@@ -29,8 +29,6 @@ export const menu: SimpleTranslationEntries = {
"sessionSuccess": "Session chargée avec succès.",
"failedToLoadSession": "Vos données de session n’ont pas pu être chargées.\nElles pourraient être corrompues.",
"boyOrGirl": "Es-tu un garçon ou une fille ?",
- "boy": "Garçon",
- "girl": "Fille",
"evolving": "Quoi ?\n{{pokemonName}} évolue !",
"stoppedEvolving": "Hein ?\n{{pokemonName}} n’évolue plus !",
"pauseEvolutionsQuestion": "Mettre en pause les évolutions pour {{pokemonName}} ?\nElles peuvent être réactivées depuis l’écran d’équipe.",
@@ -39,11 +37,16 @@ export const menu: SimpleTranslationEntries = {
"dailyRankings": "Classement du Jour",
"weeklyRankings": "Classement de la Semaine",
"noRankings": "Pas de Classement",
+ "positionIcon": "#",
+ "usernameScoreboard": "Utilisateur",
+ "score": "Score",
+ "wave": "Vague",
"loading": "Chargement…",
+ "loadingAsset": "Chargement de la ressource : {{assetName}}",
"playersOnline": "Joueurs Connectés",
- "empty":"Vide",
"yes":"Oui",
"no":"Non",
- "disclaimer": "DISCLAIMER",
- "disclaimerDescription": "This game is an unfinished product; it might have playability issues (including the potential loss of save data),\n change without notice, and may or may not be updated further or completed."
+ "disclaimer": "AVERTISSEMENT",
+ "disclaimerDescription": "Ce jeu n’est pas un produit fini et peut contenir des problèmes de jouabilité, dont de possibles pertes de sauvegardes,\ndes modifications sans avertissement et pourrait ou non encore être mis à jour ou terminé.",
+ "errorServerDown": "Oupsi ! Un problème de connexion au serveur est survenu.\n\nVous pouvez garder cette fenêtre ouverte,\nle jeu se reconnectera automatiquement.",
} as const;
diff --git a/src/locales/fr/modifier-select-ui-handler.ts b/src/locales/fr/modifier-select-ui-handler.ts
new file mode 100644
index 00000000000..7e3d4837e54
--- /dev/null
+++ b/src/locales/fr/modifier-select-ui-handler.ts
@@ -0,0 +1,14 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const modifierSelectUiHandler: SimpleTranslationEntries = {
+ "transfer": "Transférer",
+ "reroll": "Relancer",
+ "lockRarities": "Bloquer la rareté",
+ "checkTeam": "Consulter Équipe",
+ "transferDesc": "Transférer un objet tenu par un Pokémon vers un autre.",
+ "rerollDesc": "Payer pour relancer les objets gratuits proposés.",
+ "lockRaritiesDesc": "Assure la relance de proposer des objets gratuits de rareté égale ou supérieure. Affecte le cout de relance.",
+ "checkTeamDesc": "Consulter votre équipe ou utiliser un objet\nde changement de forme.",
+ "rerollCost": "{{formattedMoney}} ₽",
+ "itemCost": "{{formattedMoney}} ₽"
+} as const;
diff --git a/src/locales/fr/modifier-type.ts b/src/locales/fr/modifier-type.ts
index 8315910adb3..498b064de75 100644
--- a/src/locales/fr/modifier-type.ts
+++ b/src/locales/fr/modifier-type.ts
@@ -1,79 +1,79 @@
-import { ModifierTypeTranslationEntries } from "#app/plugins/i18n";
+import { ModifierTypeTranslationEntries } from "#app/interfaces/locales";
export const modifierType: ModifierTypeTranslationEntries = {
ModifierType: {
"AddPokeballModifierType": {
name: "{{pokeballName}} x{{modifierCount}}",
- description: "Recevez {{modifierCount}} {{pokeballName}}s (Inventaire : {{pokeballAmount}}) \nTaux de capture : {{catchRate}}",
+ description: "Recevez {{modifierCount}} {{pokeballName}}·s. (Inventaire : {{pokeballAmount}})\nTaux de capture : {{catchRate}}",
},
"AddVoucherModifierType": {
name: "{{voucherTypeName}} x{{modifierCount}}",
- description: "Recevez {{modifierCount}} {{voucherTypeName}}",
+ description: "Recevez {{modifierCount}} {{voucherTypeName}}.",
},
"PokemonHeldItemModifierType": {
extra: {
- "inoperable": "{{pokemonName}} ne peut pas\nporter cet objet !",
- "tooMany": "{{pokemonName}} possède trop\nd’exemplaires de cet objet !",
+ "inoperable": "{{pokemonName}} ne peut pas\nporter cet objet !",
+ "tooMany": "{{pokemonName}} possède trop\nd’exemplaires de cet objet !",
}
},
"PokemonHpRestoreModifierType": {
- description: "Restaure {{restorePoints}} PV ou {{restorePercent}}% des PV totaux d’un Pokémon, en fonction duquel des deux est le plus élevé",
+ description: "Restaure {{restorePoints}} PV ou {{restorePercent}}% des PV totaux d’un Pokémon, en fonction duquel des deux est le plus élevé.",
extra: {
- "fully": "Restaure tous les PV d’un Pokémon",
- "fullyWithStatus": "Restaure tous les PV d’un Pokémon et soigne tous ses problèmes de statut",
+ "fully": "Restaure tous les PV d’un Pokémon.",
+ "fullyWithStatus": "Restaure tous les PV d’un Pokémon et soigne tous ses problèmes de statut.",
}
},
"PokemonReviveModifierType": {
- description: "Réanime un Pokémon et restaure {{restorePercent}}% de ses PV",
+ description: "Réanime un Pokémon et restaure {{restorePercent}}% de ses PV.",
},
"PokemonStatusHealModifierType": {
- description: "Soigne tous les problèmes de statut d’un Pokémon",
+ description: "Soigne tous les problèmes de statut d’un Pokémon.",
},
"PokemonPpRestoreModifierType": {
- description: "Restaure {{restorePoints}} PP à une capacité d’un Pokémon",
+ description: "Restaure {{restorePoints}} PP à une capacité d’un Pokémon.",
extra: {
- "fully": "Restaure tous les PP à une capacité d’un Pokémon",
+ "fully": "Restaure tous les PP à une capacité d’un Pokémon.",
}
},
"PokemonAllMovePpRestoreModifierType": {
- description: "Restaure {{restorePoints}} PP à toutes les capacités d’un Pokémon",
+ description: "Restaure {{restorePoints}} PP à toutes les capacités d’un Pokémon.",
extra: {
- "fully": "Restaure tous les PP à toutes les capacités d’un Pokémon",
+ "fully": "Restaure tous les PP à toutes les capacités d’un Pokémon.",
}
},
"PokemonPpUpModifierType": {
- description: "Augmente le max de PP de {{upPoints}} à une capacité d’un Pokémon pour chaque 5 PP max (max : 3)",
+ description: "Augmente le max de PP de {{upPoints}} à une capacité d’un Pokémon pour chaque 5 PP max (max : 3).",
},
"PokemonNatureChangeModifierType": {
name: "Aromate {{natureName}}",
description: "Donne la nature {{natureName}} à un Pokémon et la débloque pour le starter lui étant lié.",
},
"DoubleBattleChanceBoosterModifierType": {
- description: "Double les chances de tomber sur un combat double pendant {{battleCount}} combats",
+ description: "Double les chances de tomber sur un combat double pendant {{battleCount}} combats.",
},
"TempBattleStatBoosterModifierType": {
- description: "Augmente d’un cran {{tempBattleStatName}} pour toute l’équipe pendant 5 combats",
+ description: "Augmente d’un cran {{tempBattleStatName}} pour toute l’équipe pendant 5 combats.",
},
"AttackTypeBoosterModifierType": {
- description: "Augmente de 20% la puissance des capacités de type {{moveType}} d’un Pokémon",
+ description: "Augmente de 20% la puissance des capacités de type {{moveType}} d’un Pokémon.",
},
"PokemonLevelIncrementModifierType": {
- description: "Fait monter un Pokémon d’un niveau",
+ description: "Fait monter un Pokémon d’un niveau.",
},
"AllPokemonLevelIncrementModifierType": {
- description: "Fait monter toute l’équipe d’un niveau",
+ description: "Fait monter toute l’équipe d’un niveau.",
},
"PokemonBaseStatBoosterModifierType": {
description: "Augmente de 10% {{statName}} de base de son porteur. Plus les IV sont hauts, plus il peut en porter.",
},
"AllPokemonFullHpRestoreModifierType": {
- description: "Restaure tous les PV de toute l'équipe",
+ description: "Restaure tous les PV de toute l'équipe.",
},
"AllPokemonFullReviveModifierType": {
description: "Réanime et restaure tous les PV de tous les Pokémon K.O.",
},
"MoneyRewardModifierType": {
- description: "Octroie une {{moneyMultiplier}} somme d’argent ({{moneyAmount}}₽)",
+ description: "Octroie une {{moneyMultiplier}} somme d’argent.\n({{moneyAmount}} ₽)",
extra: {
"small": "petite",
"moderate": "moyenne",
@@ -81,58 +81,62 @@ export const modifierType: ModifierTypeTranslationEntries = {
},
},
"ExpBoosterModifierType": {
- description: "Augmente de {{boostPercent}}% le gain de Points d’Exp",
+ description: "Augmente de {{boostPercent}}% le gain de Points d’Exp.",
},
"PokemonExpBoosterModifierType": {
- description: "Augmente de {{boostPercent}}% le gain de Points d’Exp du porteur",
+ description: "Augmente de {{boostPercent}}% le gain de Points d’Exp du porteur.",
},
"PokemonFriendshipBoosterModifierType": {
- description: "Augmente le gain d’amitié de 50% par victoire",
+ description: "Augmente le gain d’amitié de 50% par victoire.",
},
"PokemonMoveAccuracyBoosterModifierType": {
- description: "Augmente de {{accuracyAmount}} la précision des capacités (maximum 100)",
+ description: "Augmente de {{accuracyAmount}} la précision des capacités (maximum 100).",
},
"PokemonMultiHitModifierType": {
- description: "Frappe une fois de plus en échange d’une baisse de puissance de respectivement 60/75/82,5% par cumul",
+ description: "Frappe une fois de plus en échange d’une baisse de puissance de respectivement 60/75/82,5% par cumul.",
},
"TmModifierType": {
name: "CT{{moveId}} - {{moveName}}",
- description: "Apprend la capacité {{moveName}} à un Pokémon",
+ description: "Apprend la capacité {{moveName}} à un Pokémon.",
+ },
+ "TmModifierTypeWithInfo": {
+ name: "CT{{moveId}} - {{moveName}}",
+ description: "Apprend la capacité {{moveName}} à un Pokémon.\n(Maintenez C ou Maj pour plus d’infos)",
},
"EvolutionItemModifierType": {
- description: "Permet à certains Pokémon d’évoluer",
+ description: "Permet à certains Pokémon d’évoluer.",
},
"FormChangeItemModifierType": {
- description: "Permet à certains Pokémon de changer de forme",
+ description: "Permet à certains Pokémon de changer de forme.",
},
"FusePokemonModifierType": {
- description: "Fusionne deux Pokémon (transfère le Talent, sépare les stats de base et les types, partage le movepool)",
+ description: "Fusionne deux Pokémon (transfère le talent, sépare les stats de base et les types, partage le movepool).",
},
"TerastallizeModifierType": {
name: "Téra-Éclat {{teraType}}",
- description: "{{teraType}} Téracristallise son porteur pendant 10 combats",
+ description: "{{teraType}} Téracristallise son porteur pendant 10 combats.",
},
"ContactHeldItemTransferChanceModifierType": {
- description: "{{chancePercent}}% de chances de voler un objet de l’adversaire en l’attaquant",
+ description: "{{chancePercent}}% de chances de voler un objet de l’adversaire en l’attaquant.",
},
"TurnHeldItemTransferModifierType": {
- description: "À chaque tour, son porteur obtient un objet de son adversaire",
+ description: "À chaque tour, son porteur obtient un objet de son adversaire.",
},
"EnemyAttackStatusEffectChanceModifierType": {
- description: "Ajoute {{chancePercent}}% de chances d’infliger le statut {{statusEffect}} avec des capacités offensives",
+ description: "Ajoute {{chancePercent}}% de chances d’infliger le statut {{statusEffect}} avec des capacités offensives.",
},
"EnemyEndureChanceModifierType": {
- description: "Ajoute {{chancePercent}}% de chances d’encaisser un coup",
+ description: "Ajoute {{chancePercent}}% de chances d’encaisser un coup.",
},
"RARE_CANDY": { name: "Super Bonbon" },
"RARER_CANDY": { name: "Hyper Bonbon" },
- "MEGA_BRACELET": { name: "Méga-Bracelet", description: "Débloque les Méga-Gemmes" },
- "DYNAMAX_BAND": { name: "Poignet Dynamax", description: "Débloque le Dynamax" },
- "TERA_ORB": { name: "Orbe Téracristal", description: "Débloque les Téra-Éclats" },
+ "MEGA_BRACELET": { name: "Méga-Bracelet", description: "Débloque les Méga-Gemmes." },
+ "DYNAMAX_BAND": { name: "Poignet Dynamax", description: "Débloque le Dynamax." },
+ "TERA_ORB": { name: "Orbe Téracristal", description: "Débloque les Téra-Éclats." },
- "MAP": { name: "Carte", description: "Vous permet de choisir votre destination à un croisement" },
+ "MAP": { name: "Carte", description: "Vous permet de choisir votre destination à un croisement." },
"POTION": { name: "Potion" },
"SUPER_POTION": { name: "Super Potion" },
@@ -147,7 +151,7 @@ export const modifierType: ModifierTypeTranslationEntries = {
"SACRED_ASH": { name: "Cendre Sacrée" },
- "REVIVER_SEED": { name: "Résugraine", description: "Réanime et restaure la moitié des PV de son porteur s’il tombe K.O." },
+ "REVIVER_SEED": { name: "Résugraine", description: "Réanime et restaure la moitié des PV de son porteur s’il est mis K.O. par une capacité directe." },
"ETHER": { name: "Huile" },
"MAX_ETHER": { name: "Huile Max" },
@@ -162,12 +166,12 @@ export const modifierType: ModifierTypeTranslationEntries = {
"SUPER_LURE": { name: "Super Parfum" },
"MAX_LURE": { name: "Parfum Max" },
- "MEMORY_MUSHROOM": { name: "Champi Mémoriel", description: "Remémore une capacité à un Pokémon" },
+ "MEMORY_MUSHROOM": { name: "Champi Mémoriel", description: "Remémore une capacité à un Pokémon." },
- "EXP_SHARE": { name: "Multi Exp", description: "Tous les non-participants reçoivent 20% des Points d’Exp d’un participant" },
- "EXP_BALANCE": { name: "Équilibr’Exp", description: "Équilibre les Points d’Exp à l’avantage des membres de l’équipe aux plus bas niveaux" },
+ "EXP_SHARE": { name: "Multi Exp", description: "Tous les non-participants reçoivent 20% des Points d’Exp d’un participant." },
+ "EXP_BALANCE": { name: "Équilibr’Exp", description: "Équilibre les Points d’Exp à l’avantage des membres de l’équipe aux plus bas niveaux." },
- "OVAL_CHARM": { name: "Charme Ovale", description: "Quand plusieurs Pokémon sont en combat, chacun gagne 10% supplémentaires du total d’Exp" },
+ "OVAL_CHARM": { name: "Charme Ovale", description: "Quand plusieurs Pokémon sont en combat, chacun gagne 10% supplémentaires du total d’Exp." },
"EXP_CHARM": { name: "Charme Exp" },
"SUPER_EXP_CHARM": { name: "Super Charme Exp" },
@@ -178,44 +182,46 @@ export const modifierType: ModifierTypeTranslationEntries = {
"SOOTHE_BELL": { name: "Grelot Zen" },
- "SOUL_DEW": { name: "Rosée Âme", description: "Augmente de 10% l’influence de la nature d’un Pokémon sur ses statistiques (cumulatif)" },
+ "EVIOLITE": { name: "Évoluroc", description: "Un étrange concentré d’évolution qui augmente la Défense et la Défense Spéciale d’un Pokémon pouvant évoluer." },
+
+ "SOUL_DEW": { name: "Rosée Âme", description: "Augmente de 10% l’influence de la nature d’un Pokémon sur ses statistiques (cumulatif)." },
"NUGGET": { name: "Pépite" },
"BIG_NUGGET": { name: "Maxi Pépite" },
"RELIC_GOLD": { name: "Vieux Ducat" },
- "AMULET_COIN": { name: "Pièce Rune", description: "Augmente de 20% les gains d’argent" },
- "GOLDEN_PUNCH": { name: "Poing Doré", description: "50% des dégâts infligés sont convertis en argent" },
- "COIN_CASE": { name: "Boite Jetons", description: "Tous les 10 combats, recevez 10% de votre argent en intérêts" },
+ "AMULET_COIN": { name: "Pièce Rune", description: "Augmente de 20% les gains d’argent." },
+ "GOLDEN_PUNCH": { name: "Poing Doré", description: "50% des dégâts infligés sont convertis en argent." },
+ "COIN_CASE": { name: "Boite Jetons", description: "Tous les 10 combats, recevez 10% de votre argent en intérêts." },
- "LOCK_CAPSULE": { name: "Poké Écrin", description: "Permet de verrouiller des objets rares si vous relancez les objets proposés" },
+ "LOCK_CAPSULE": { name: "Poké Écrin", description: "Permet de verrouiller des objets rares si vous relancez les objets proposés." },
"GRIP_CLAW": { name: "Accro Griffe" },
"WIDE_LENS": { name: "Loupe" },
"MULTI_LENS": { name: "Lentille Multi" },
- "HEALING_CHARM": { name: "Charme Soin", description: "Augmente de 10% l’efficacité des capacités et objets de soin de PV (hors Rappels)" },
- "CANDY_JAR": { name: "Bonbonnière", description: "Augmente de 1 le nombre de niveaux gagnés à l’utilisation d’un Super Bonbon" },
+ "HEALING_CHARM": { name: "Charme Soin", description: "Augmente de 10% l’efficacité des capacités et objets de soin de PV (hors Rappels)." },
+ "CANDY_JAR": { name: "Bonbonnière", description: "Augmente de 1 le nombre de niveaux gagnés à l’utilisation d’un Super Bonbon." },
- "BERRY_POUCH": { name: "Sac à Baies", description: "Ajoute 30% de chances qu’une Baie utilisée ne soit pas consommée" },
+ "BERRY_POUCH": { name: "Sac à Baies", description: "Ajoute 30% de chances qu’une Baie utilisée ne soit pas consommée." },
"FOCUS_BAND": { name: "Bandeau", description: "Ajoute 10% de chances de survivre avec 1 PV si les dégâts reçus pouvaient mettre K.O." },
- "QUICK_CLAW": { name: "Vive Griffe", description: "Ajoute 10% de chances d’agir en premier, indépendamment de la vitesse (après la priorité)" },
+ "QUICK_CLAW": { name: "Vive Griffe", description: "Ajoute 10% de chances d’agir en premier, indépendamment de la vitesse (après la priorité)." },
- "KINGS_ROCK": { name: "Roche Royale", description: "Ajoute 10% de chances qu’une capacité offensive apeure l’adversaire" },
+ "KINGS_ROCK": { name: "Roche Royale", description: "Ajoute 10% de chances qu’une capacité offensive apeure l’adversaire." },
- "LEFTOVERS": { name: "Restes", description: "Soigne à chaque tour 1/16 des PV max d’un Pokémon" },
- "SHELL_BELL": { name: "Grelot Coque", description: "Soigne 1/8 des dégâts infligés par un Pokémon" },
+ "LEFTOVERS": { name: "Restes", description: "Soigne à chaque tour 1/16 des PV max d’un Pokémon." },
+ "SHELL_BELL": { name: "Grelot Coque", description: "Soigne son porteur avec 1/8 des dégâts qu’il inflige à un Pokémon." },
- "TOXIC_ORB": { name: "Orbe Toxique", description: "Un orbe bizarre qui empoisonne gravement son porteur durant le combat" },
- "FLAME_ORB": { name: "Orbe Flamme", description: "Un orbe bizarre qui brûle son porteur durant le combat" },
+ "TOXIC_ORB": { name: "Orbe Toxique", description: "Un orbe bizarre qui empoisonne gravement son porteur durant le combat." },
+ "FLAME_ORB": { name: "Orbe Flamme", description: "Un orbe bizarre qui brule son porteur durant le combat." },
"BATON": { name: "Bâton", description: "Permet de transmettre les effets en cas de changement de Pokémon. Ignore les pièges." },
- "SHINY_CHARM": { name: "Charme Chroma", description: "Augmente énormément les chances de rencontrer un Pokémon sauvage chromatique" },
- "ABILITY_CHARM": { name: "Charme Talent", description: "Augmente énormément les chances de rencontrer un Pokémon sauvage avec un Talent Caché" },
+ "SHINY_CHARM": { name: "Charme Chroma", description: "Augmente énormément les chances de rencontrer un Pokémon sauvage chromatique." },
+ "ABILITY_CHARM": { name: "Charme Talent", description: "Augmente énormément les chances de rencontrer un Pokémon sauvage avec un Talent Caché." },
"IV_SCANNER": { name: "Scanner d’IV", description: "Révèle la qualité de deux IV d’un Pokémon sauvage par scanner possédé. Les meilleurs IV sont révélés en priorité." },
@@ -225,9 +231,9 @@ export const modifierType: ModifierTypeTranslationEntries = {
"GOLDEN_POKEBALL": { name: "Poké Ball Dorée", description: "Ajoute un choix d’objet à la fin de chaque combat" },
- "ENEMY_DAMAGE_BOOSTER": { name: "Jeton Dégâts", description: "Augmente les dégâts de 5%" },
- "ENEMY_DAMAGE_REDUCTION": { name: "Jeton Protection", description: "Diminue les dégâts reçus de 2,5%" },
- "ENEMY_HEAL": { name: "Jeton Soin", description: "Soigne 2% des PV max à chaque tour" },
+ "ENEMY_DAMAGE_BOOSTER": { name: "Jeton Dégâts", description: "Augmente les dégâts de 5%." },
+ "ENEMY_DAMAGE_REDUCTION": { name: "Jeton Protection", description: "Diminue les dégâts reçus de 2,5%." },
+ "ENEMY_HEAL": { name: "Jeton Soin", description: "Soigne 2% des PV max à chaque tour." },
"ENEMY_ATTACK_POISON_CHANCE": { name: "Jeton Poison" },
"ENEMY_ATTACK_PARALYZE_CHANCE": { name: "Jeton Paralysie" },
"ENEMY_ATTACK_BURN_CHANCE": { name: "Jeton Brulure" },
@@ -235,6 +241,12 @@ export const modifierType: ModifierTypeTranslationEntries = {
"ENEMY_ENDURE_CHANCE": { name: "Jeton Ténacité" },
"ENEMY_FUSED_CHANCE": { name: "Jeton Fusion", description: "Ajoute 1% de chances qu’un Pokémon sauvage soit une fusion." },
},
+ SpeciesBoosterItem: {
+ "LIGHT_BALL": { name: "Balle Lumière", description: "Objet à faire tenir à Pikachu. Un orbe énigmatique qui augmente son Attaque et son Attaque Spéciale." },
+ "THICK_CLUB": { name: "Masse Os", description: "Objet à faire tenir à Osselait ou Ossatueur. Un os dur qui augmente leur Attaque." },
+ "METAL_POWDER": { name: "Poudre Métal", description: "Objet à faire tenir à Métamorph. Cette poudre étrange, très fine mais résistante, augmente sa Défense." },
+ "QUICK_POWDER": { name: "Poudre Vite", description: "Objet à faire tenir à Métamorph. Cette poudre étrange, très fine mais résistante, augmente sa Vitesse." }
+ },
TempBattleStatBoosterItem: {
"x_attack": "Attaque +",
"x_defense": "Défense +",
@@ -244,6 +256,19 @@ export const modifierType: ModifierTypeTranslationEntries = {
"x_accuracy": "Précision +",
"dire_hit": "Muscle +",
},
+
+ TempBattleStatBoosterStatName: {
+ "ATK": "Attaque",
+ "DEF": "Défense",
+ "SPATK": "Atq. Spé.",
+ "SPDEF": "Déf. Spé.",
+ "SPD": "Vitesse",
+ "ACC": "Précision",
+ "CRIT": "Taux de critique",
+ "EVA": "Esquive",
+ "DEFAULT": "???",
+ },
+
AttackTypeBoosterItem: {
"silk_scarf": "Mouchoir Soie",
"black_belt": "Ceinture Noire",
@@ -384,5 +409,43 @@ export const modifierType: ModifierTypeTranslationEntries = {
"BURN_DRIVE": "Module Pyro",
"CHILL_DRIVE": "Module Cryo",
"DOUSE_DRIVE": "Module Aqua",
+
+ "FIST_PLATE": "Plaque Poing",
+ "SKY_PLATE": "Plaque Ciel",
+ "TOXIC_PLATE": "Plaque Toxicité",
+ "EARTH_PLATE": "Plaque Terre",
+ "STONE_PLATE": "Plaque Roc",
+ "INSECT_PLATE": "Plaque Insecte",
+ "SPOOKY_PLATE": "Plaque Fantôme",
+ "IRON_PLATE": "Plaque Fer",
+ "FLAME_PLATE": "Plaque Flamme",
+ "SPLASH_PLATE": "Plaque Hydro",
+ "MEADOW_PLATE": "Plaque Herbe",
+ "ZAP_PLATE": "Plaque Volt",
+ "MIND_PLATE": "Plaque Esprit",
+ "ICICLE_PLATE": "Plaque Glace",
+ "DRACO_PLATE": "Plaque Draco",
+ "DREAD_PLATE": "Plaque Ombre",
+ "PIXIE_PLATE": "Plaque Pixie",
+ "BLANK_PLATE": "Plaque Renouveau",
+ "LEGEND_PLATE": "Plaque Légende",
+ "FIGHTING_MEMORY": "ROM Combat",
+ "FLYING_MEMORY": "ROM Vol",
+ "POISON_MEMORY": "ROM Poison",
+ "GROUND_MEMORY": "ROM Sol",
+ "ROCK_MEMORY": "ROM Roche",
+ "BUG_MEMORY": "ROM Insecte",
+ "GHOST_MEMORY": "ROM Spectre",
+ "STEEL_MEMORY": "ROM Acier",
+ "FIRE_MEMORY": "ROM Feu",
+ "WATER_MEMORY": "ROM Eau",
+ "GRASS_MEMORY": "ROM Plante",
+ "ELECTRIC_MEMORY": "ROM Électrik",
+ "PSYCHIC_MEMORY": "ROM Psy",
+ "ICE_MEMORY": "ROM Glace",
+ "DRAGON_MEMORY": "ROM Dragon",
+ "DARK_MEMORY": "ROM Ténèbres",
+ "FAIRY_MEMORY": "ROM Fée",
+ "BLANK_MEMORY": "ROM Vierge",
},
} as const;
diff --git a/src/locales/fr/modifier.ts b/src/locales/fr/modifier.ts
new file mode 100644
index 00000000000..f215e258a76
--- /dev/null
+++ b/src/locales/fr/modifier.ts
@@ -0,0 +1,12 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const modifier: SimpleTranslationEntries = {
+ "surviveDamageApply": "{{pokemonNameWithAffix}} tient bon\ngrâce à son {{typeName}} !",
+ "turnHealApply": "Les PV de {{pokemonNameWithAffix}}\nsont un peu restaurés par les {{typeName}} !",
+ "hitHealApply": "Les PV de {{pokemonNameWithAffix}}\nsont un peu restaurés par le {{typeName}} !",
+ "pokemonInstantReviveApply": "{{pokemonNameWithAffix}} a repris connaissance\navec sa {{typeName}} et est prêt à se battre de nouveau !",
+ "moneyInterestApply": "La {{typeName}} vous rapporte\n{{moneyAmount}} ₽ d’intérêts !",
+ "turnHeldItemTransferApply": "{{itemName}} de {{pokemonNameWithAffix}} est absorbé·e\npar le {{typeName}} de {{pokemonName}} !",
+ "contactHeldItemTransferApply": "{{itemName}} de {{pokemonNameWithAffix}} est volé·e\npar l’{{typeName}} de {{pokemonName}} !",
+ "enemyTurnHealApply": "{{pokemonNameWithAffix}}\nrestaure un peu ses PV !",
+} as const;
diff --git a/src/locales/fr/move.ts b/src/locales/fr/move.ts
index 3a0ce42c44d..3fea8995694 100644
--- a/src/locales/fr/move.ts
+++ b/src/locales/fr/move.ts
@@ -1,4 +1,4 @@
-import { MoveTranslationEntries } from "#app/plugins/i18n";
+import { MoveTranslationEntries } from "#app/interfaces/locales";
export const move: MoveTranslationEntries = {
"pound": {
@@ -2931,7 +2931,7 @@ export const move: MoveTranslationEntries = {
},
"bouncyBubble": {
name: "Évo-Thalasso",
- effect: "Évoli frappe l’adversaire avec des bulles d’eau qu’il absorbe ensuite pour récupérer un nombre de PV égal à la moitié des dégâts infligés à l’ennemi."
+ effect: "L’adversaire est frappé par des bulles d’eau qui sont ensuite absorbées pour récupérer un nombre de PV égal aux dégâts infligés à l’ennemi."
},
"buzzyBuzz": {
name: "Évo-Dynamo",
diff --git a/src/locales/fr/nature.ts b/src/locales/fr/nature.ts
index 0c838138bfe..6f2e3985d8f 100644
--- a/src/locales/fr/nature.ts
+++ b/src/locales/fr/nature.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const nature: SimpleTranslationEntries = {
"Hardy": "Hardi",
diff --git a/src/locales/fr/party-ui-handler.ts b/src/locales/fr/party-ui-handler.ts
new file mode 100644
index 00000000000..b1324f52398
--- /dev/null
+++ b/src/locales/fr/party-ui-handler.ts
@@ -0,0 +1,53 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const partyUiHandler: SimpleTranslationEntries = {
+ "SEND_OUT": "Envoyer",
+ "SUMMARY": "Résumé",
+ "CANCEL": "Annuler",
+ "RELEASE": "Relâcher",
+ "APPLY": "Appliquer",
+ "TEACH": "Apprendre",
+ "SPLICE": "Fusionner",
+ "UNSPLICE": "Séparer",
+ "ACTIVATE": "Activer",
+ "DEACTIVATE": "Désactiver",
+ "TRANSFER": "Transférer",
+ "ALL": "Tout",
+ "PASS_BATON": "Relais",
+ "UNPAUSE_EVOLUTION": "Réactiver Évolution",
+ "REVIVE": "Ranimer",
+
+ "choosePokemon": "Sélectionnez un Pokémon.",
+ "doWhatWithThisPokemon": "Que faire avec ce Pokémon ?",
+ "noEnergy": "{{pokemonName}} n’a plus l’énergie\nde se battre !",
+ "hasEnergy": "{{pokemonName}} peut toujours\nse battre !",
+ "cantBeUsed": "{{pokemonName}} ne peut pas\nse battre pour ce challenge !",
+ "tooManyItems": "{{pokemonName}} porte trop\nd’exemplaires de cet objet !",
+ "anyEffect": "Cela n’aura aucun effet.",
+ "unpausedEvolutions": "{{pokemonName}} peut de nouveau évoluer.",
+ "unspliceConfirmation": "Voulez-vous vraiment séparer {{fusionName}}\nde {{pokemonName}} ? {{fusionName}} sera perdu.",
+ "wasReverted": "{{fusionName}} est redevenu {{pokemonName}}.",
+ "releaseConfirmation": "Voulez-vous relâcher {{pokemonName}} ?",
+ "releaseInBattle": "Vous ne pouvez pas relâcher un Pokémon en combat !",
+ "selectAMove": "Sélectionnez une capacité.",
+ "changeQuantity": "Sélect. un objet à transférer.\nChangez la quantité avec < et >.",
+ "selectAnotherPokemonToSplice": "Sélectionnez un autre Pokémon à séparer.",
+ "cancel": "Sortir",
+
+ // Slot TM text
+ "able": "Apte",
+ "notAble": "Pas Apte",
+ "learned": "Appris",
+
+ // Releasing messages
+ "goodbye": "Au revoir, {{pokemonName}} !",
+ "byebye": "Bye-bye, {{pokemonName}} !",
+ "farewell": "Adieu, {{pokemonName}} !",
+ "soLong": "Salut, {{pokemonName}} !",
+ "thisIsWhereWePart": "C’est là qu’on se sépare, {{pokemonName}} !",
+ "illMissYou": "Tu vas me manquer, {{pokemonName}} !",
+ "illNeverForgetYou": "Je ne t’oublierai pas, {{pokemonName}} !",
+ "untilWeMeetAgain": "À la prochaine, {{pokemonName}} !",
+ "sayonara": "Sayonara, {{pokemonName}} !",
+ "smellYaLater": "À la revoyure, {{pokemonName}} !",
+} as const;
diff --git a/src/locales/fr/pokeball.ts b/src/locales/fr/pokeball.ts
index 0f878eea528..910002e41e1 100644
--- a/src/locales/fr/pokeball.ts
+++ b/src/locales/fr/pokeball.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const pokeball: SimpleTranslationEntries = {
"pokeBall": "Poké Ball",
diff --git a/src/locales/fr/pokemon-info-container.ts b/src/locales/fr/pokemon-info-container.ts
index 102616da287..4e09e8915ad 100644
--- a/src/locales/fr/pokemon-info-container.ts
+++ b/src/locales/fr/pokemon-info-container.ts
@@ -1,11 +1,9 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const pokemonInfoContainer: SimpleTranslationEntries = {
"moveset": "Capacités",
"gender": "Sexe :",
"ability": "Talent :",
"nature": "Nature :",
- "epic": "Épique",
- "rare": "Rare",
- "common": "Commun"
+ "form": "Forme :"
} as const;
diff --git a/src/locales/fr/pokemon-info.ts b/src/locales/fr/pokemon-info.ts
index 9341e5d77ca..a10944173e5 100644
--- a/src/locales/fr/pokemon-info.ts
+++ b/src/locales/fr/pokemon-info.ts
@@ -1,4 +1,4 @@
-import { PokemonInfoTranslationEntries } from "#app/plugins/i18n";
+import { PokemonInfoTranslationEntries } from "#app/interfaces/locales";
export const pokemonInfo: PokemonInfoTranslationEntries = {
Stat: {
@@ -13,7 +13,9 @@ export const pokemonInfo: PokemonInfoTranslationEntries = {
"SPDEF": "Déf. Spé.",
"SPDEFshortened": "DéfSp",
"SPD": "Vitesse",
- "SPDshortened": "Vit"
+ "SPDshortened": "Vit",
+ "ACC": "Précison",
+ "EVA": "Esquive"
},
Type: {
diff --git a/src/locales/fr/pokemon.ts b/src/locales/fr/pokemon.ts
index d685f91ab4d..d731fd148ad 100644
--- a/src/locales/fr/pokemon.ts
+++ b/src/locales/fr/pokemon.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const pokemon: SimpleTranslationEntries = {
"bulbasaur": "Bulbizarre",
diff --git a/src/locales/fr/save-slot-select-ui-handler.ts b/src/locales/fr/save-slot-select-ui-handler.ts
new file mode 100644
index 00000000000..64f6da7017c
--- /dev/null
+++ b/src/locales/fr/save-slot-select-ui-handler.ts
@@ -0,0 +1,9 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const saveSlotSelectUiHandler: SimpleTranslationEntries = {
+ "overwriteData": "Effacer les données de l’emplacement sélectionné ?",
+ "loading": "Chargement…",
+ "wave": "Vague",
+ "lv": "N.",
+ "empty": "Vide",
+} as const;
diff --git a/src/locales/fr/settings.ts b/src/locales/fr/settings.ts
new file mode 100644
index 00000000000..cd85b0f8cb9
--- /dev/null
+++ b/src/locales/fr/settings.ts
@@ -0,0 +1,99 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales.js";
+
+export const settings: SimpleTranslationEntries = {
+ "boy": "Garçon",
+ "girl": "Fille",
+ "general": "Général",
+ "display": "Affichage",
+ "audio": "Audio",
+ "gamepad": "Manette",
+ "keyboard": "Clavier",
+ "gameSpeed": "Vitesse du jeu",
+ "hpBarSpeed": "Vit. barre de PV",
+ "expGainsSpeed": "Vit. barre d’Exp",
+ "expPartyDisplay": "Afficher Exp équipe",
+ "skipSeenDialogues": "Passer dialogues connus",
+ "battleStyle": "Style de combat",
+ "enableRetries": "Activer les réessais",
+ "tutorials": "Tutoriels",
+ "touchControls": "Contrôles tactiles",
+ "vibrations": "Vibrations",
+ "normal": "Normal",
+ "fast": "Rapide",
+ "faster": "Plus rapide",
+ "skip": "Passer",
+ "levelUpNotifications": "Notif. gain de N.",
+ "on": "Activé",
+ "off": "Désactivé",
+ "switch": "Choix",
+ "set": "Défini",
+ "auto": "Auto",
+ "disabled": "Désactivé",
+ "language": "Langue",
+ "change": "Changer",
+ "uiTheme": "Interface",
+ "default": "Par défaut",
+ "legacy": "Ancienne",
+ "windowType": "Type de fenêtre",
+ "moneyFormat": "Format de l’argent",
+ "damageNumbers": "Nombres de dégâts",
+ "simple": "Simple",
+ "fancy": "Amélioré",
+ "abbreviated": "Abrégé",
+ "moveAnimations": "Animations de combat",
+ "showStatsOnLevelUp": "Afficher stats à la montée de N.",
+ "candyUpgradeNotification": "Notif amélioration de bonbon",
+ "passivesOnly": "Passifs",
+ "candyUpgradeDisplay": "Amélioration bonbon",
+ "icon": "Icône",
+ "animation": "Animation",
+ "moveInfo": "Infos de capacité",
+ "showMovesetFlyout": "Afficher le volet de capacités",
+ "showArenaFlyout": "Afficher le volet d’arène",
+ "showTimeOfDayWidget": "Widget de l’heure",
+ "timeOfDayAnimation": "Animation de l’heure",
+ "bounce": "Sauter",
+ "timeOfDay_back": "Retour",
+ "spriteSet": "Ensemble de sprites",
+ "consistent": "Consistant",
+ "mixedAnimated": "Mixte",
+ "fusionPaletteSwaps": "Palettes de fusion",
+ "playerGender": "Genre de l’avatar",
+ "typeHints": "Indications de type",
+ "masterVolume": "Vol. principal",
+ "bgmVolume": "Vol. musique",
+ "seVolume": "Vol. effets",
+ "musicPreference": "Préf. musicale",
+ "mixed": "Mixte",
+ "gamepadPleasePlug": "Veuillez brancher une manette ou appuyer sur un bouton.",
+ "delete": "Supprimer",
+ "keyboardPleasePress": "Veuillez appuyer sur une touche de votre clavier.",
+ "reset": "Réinitialiser",
+ "requireReload": "Redémarrage requis",
+ "action": "Action",
+ "back": "Retour",
+ "pressToBind": "Sélectionnez pour assigner",
+ "pressButton": "Appuyez sur un bouton…",
+ "buttonUp": "Haut",
+ "buttonDown": "Bas",
+ "buttonLeft": "Gauche",
+ "buttonRight": "Droite",
+ "buttonAction": "Action",
+ "buttonMenu": "Menu",
+ "buttonSubmit": "Valider",
+ "buttonCancel": "Annuler",
+ "buttonStats": "Stats",
+ "buttonCycleForm": "Modifier Forme",
+ "buttonCycleShiny": "Modifier Chromatique",
+ "buttonCycleGender": "Modifier Sexe",
+ "buttonCycleAbility": "Modifier Capacité",
+ "buttonCycleNature": "Modifier Nature",
+ "buttonCycleVariant": "Modifier Variant",
+ "buttonSpeedUp": "Accélérer",
+ "buttonSlowDown": "Ralentir",
+ "alt": " (Alt)",
+ "mute": "Muet",
+ "controller": "Controller",
+ "gamepadSupport": "Gamepad Support",
+ "showBgmBar": "Montrer titre de la musique",
+} as const;
diff --git a/src/locales/fr/splash-messages.ts b/src/locales/fr/splash-messages.ts
index 534cefaeff6..13de7f28116 100644
--- a/src/locales/fr/splash-messages.ts
+++ b/src/locales/fr/splash-messages.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const splashMessages: SimpleTranslationEntries = {
"battlesWon": "combats gagnés !",
@@ -28,7 +28,7 @@ export const splashMessages: SimpleTranslationEntries = {
"mostlyConsistentSeeds": "Des seeds à peu près stables !",
"achievementPointsDontDoAnything": "Les Points de Succès servent à rien !",
"youDoNotStartAtLevel": "Ne commence pas au Niveau 2000 !",
- "dontTalkAboutTheManaphyEggIncident": "Ne parle pas de l'incident de l’Œuf de Manaphy !",
+ "dontTalkAboutTheManaphyEggIncident": "Ne parle pas de l’incident de l’Œuf de Manaphy !",
"alsoTryPokengine": "Essaye aussi Pokéngine !",
"alsoTryEmeraldRogue": "Essaye aussi Emerald Rogue!",
"alsoTryRadicalRed": "Essaye aussi Radical Red !",
diff --git a/src/locales/fr/starter-select-ui-handler.ts b/src/locales/fr/starter-select-ui-handler.ts
index 4aa6185b439..bddc740681e 100644
--- a/src/locales/fr/starter-select-ui-handler.ts
+++ b/src/locales/fr/starter-select-ui-handler.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
/**
* The menu namespace holds most miscellaneous text that isn't directly part of the game's
@@ -21,21 +21,23 @@ export const starterSelectUiHandler: SimpleTranslationEntries = {
"passive": "Passif :",
"nature": "Nature :",
"eggMoves": "Capacités Œuf",
- "start": "Lancer",
"addToParty": "Ajouter à l’équipe",
- "toggleIVs": "Voir IVs",
- "manageMoves": "Gérer Capacités",
- "useCandies": "Utiliser Bonbons",
+ "toggleIVs": "Voir les IV",
+ "manageMoves": "Modifier les Capacités",
+ "manageNature": "Modifier la Nature",
+ "useCandies": "Utiliser des Bonbons",
+ "selectNature": "Sélectionnez une nature.",
"selectMoveSwapOut": "Sélectionnez la capacité à échanger.",
"selectMoveSwapWith": "Sélectionnez laquelle échanger avec",
"unlockPassive": "Débloquer Passif",
"reduceCost": "Diminuer le cout",
- "cycleShiny": "R: » Chromatiques",
- "cycleForm": "F: » Formes",
- "cycleGender": "G: » Sexes",
- "cycleAbility": "E: » Talents",
- "cycleNature": "N: » Natures",
- "cycleVariant": "V: » Variants",
+ "sameSpeciesEgg": "Acheter un Œuf",
+ "cycleShiny": ": » Chromatiques",
+ "cycleForm": ": » Formes",
+ "cycleGender": ": » Sexes",
+ "cycleAbility": ": » Talents",
+ "cycleNature": ": » Natures",
+ "cycleVariant": ": » Variants",
"enablePassive": "Activer Passif",
"disablePassive": "Désactiver Passif",
"locked": "Verrouillé",
diff --git a/src/locales/fr/status-effect.ts b/src/locales/fr/status-effect.ts
new file mode 100644
index 00000000000..ca8c46043e7
--- /dev/null
+++ b/src/locales/fr/status-effect.ts
@@ -0,0 +1,67 @@
+import { StatusEffectTranslationEntries } from "#app/interfaces/locales.js";
+
+export const statusEffect: StatusEffectTranslationEntries = {
+ none: {
+ name: "Aucun",
+ description: "",
+ obtain: "",
+ obtainSource: "",
+ activation: "",
+ overlap: "",
+ heal: ""
+ },
+ poison: {
+ name: "Empoisonnement",
+ description: "empoisonné",
+ obtain: "{{pokemonNameWithAffix}} est\nempoisonné !",
+ obtainSource: "{{pokemonNameWithAffix}} est\nempoisonné par {{sourceText}} !",
+ activation: "{{pokemonNameWithAffix}}\nsouffre du poison !",
+ overlap: "{{pokemonNameWithAffix}} est\ndéjà empoisonné.",
+ heal: "{{pokemonNameWithAffix}} n’est\nplus empoisonné !"
+ },
+ toxic: {
+ name: "Empoisonnement grave",
+ description: "gravement empoisonné",
+ obtain: "{{pokemonNameWithAffix}} est\ngravement empoisonné !",
+ obtainSource: "{{pokemonNameWithAffix}} est\ngravement empoisonné par {{sourceText}} !",
+ activation: "{{pokemonNameWithAffix}}\nsouffre du poison !",
+ overlap: "{{pokemonNameWithAffix}} est\ndéjà empoisonné.",
+ heal: "{{pokemonNameWithAffix}} n’est\nplus empoisonné !"
+ },
+ paralysis: {
+ name: "Paralysie",
+ description: "paralysé",
+ obtain: "{{pokemonNameWithAffix}} est paralysé !\nIl aura du mal à attaquer !",
+ obtainSource: "{{pokemonNameWithAffix}} est paralysé\npar {{sourceText}} ! Il aura du mal à attaquer !",
+ activation: "{{pokemonNameWithAffix}} est paralysé !\nIl n’a pas pu attaquer !",
+ overlap: "{{pokemonNameWithAffix}} est\ndéjà paralysé.",
+ heal: "{{pokemonNameWithAffix}} n’est\nplus paralysé !"
+ },
+ sleep: {
+ name: "Sommeil",
+ description: "endormi",
+ obtain: "{{pokemonNameWithAffix}}\ns’est endormi !",
+ obtainSource: "{{pokemonNameWithAffix}} est\nendormi par {{sourceText}} !",
+ activation: "{{pokemonNameWithAffix}}\ndort profondément.",
+ overlap: "{{pokemonNameWithAffix}}\ndort déjà.",
+ heal: "{{pokemonNameWithAffix}}\nse réveille !"
+ },
+ freeze: {
+ name: "Gelé",
+ description: "gelé",
+ obtain: "{{pokemonNameWithAffix}} est\ngelé !",
+ obtainSource: "{{pokemonNameWithAffix}} est\ngelé par {{sourceText}} !",
+ activation: "{{pokemonNameWithAffix}} est gelé !\nIl ne peut plus attaquer !",
+ overlap: "{{pokemonNameWithAffix}} est\ndéjà gelé.",
+ heal: "{{pokemonNameWithAffix}} n’est\nplus gelé !"
+ },
+ burn: {
+ name: "Brulure",
+ description: "brulé",
+ obtain: "{{pokemonNameWithAffix}} est\nbrulé !",
+ obtainSource: "{{pokemonNameWithAffix}} est\nbrulé par {{sourceText}} !",
+ activation: "{{pokemonNameWithAffix}}\nsouffre de sa brulure !",
+ overlap: "{{pokemonNameWithAffix}} est\ndéjà brulé.",
+ heal: "{{pokemonNameWithAffix}} n’est\nplus brulé !"
+ },
+} as const;
diff --git a/src/locales/fr/trainers.ts b/src/locales/fr/trainers.ts
index 6ed221a7b86..fc0639d47b9 100644
--- a/src/locales/fr/trainers.ts
+++ b/src/locales/fr/trainers.ts
@@ -1,4 +1,4 @@
-import {SimpleTranslationEntries} from "#app/plugins/i18n";
+import {SimpleTranslationEntries} from "#app/interfaces/locales";
// Titles of special trainers like gym leaders, elite four, and the champion
export const titles: SimpleTranslationEntries = {
@@ -13,6 +13,12 @@ export const titles: SimpleTranslationEntries = {
"rival": "Rival·e", //Written in gender-inclusive language in wait of a potential split of the entry
"professor": "Professeur·e", //Written in gender-inclusive language in wait of a potential split of the entry
"frontier_brain": "Meneur·euse de Zone", //Written in gender-inclusive language in wait of a potential split of the entry
+ "rocket_boss": "Leader de la Team Rocket",
+ "magma_boss": "Leader de la Team Magma",
+ "aqua_boss": "Leader de la Team Aqua",
+ "galactic_boss": "Leader de la Team Galaxie",
+ "plasma_boss": "Leader de la Team Plasma",
+ "flare_boss": "Leader de la Team Flare",
// Maybe if we add the evil teams we can add "Team Rocket" and "Team Aqua" etc. here as well as "Team Rocket Boss" and "Team Aqua Admin" etc.
} as const;
@@ -95,6 +101,7 @@ export const trainerClasses: SimpleTranslationEntries = {
"rich_kid_female": "Mademoiselle",
"rich_kids": "Richards",
"roughneck": "Loubard",
+ "sailor": "Marin",
"scientist": "Scientifique",
"scientist_female": "Scientifique",
"scientists": "Scientifiques",
@@ -117,7 +124,19 @@ export const trainerClasses: SimpleTranslationEntries = {
"worker": "Ouvrier",
"worker_female": "Ouvrière",
"workers": "Ouvriers",
- "youngster": "Gamin"
+ "youngster": "Gamin",
+ "rocket_grunt": "Sbire de la Team Rocket",
+ "rocket_grunt_female": "Sbire de la Team Rocket",
+ "magma_grunt": "Sbire de la Team Magma",
+ "magma_grunt_female": "Sbire de la Team Magma",
+ "aqua_grunt": "Sbire de la Team Aqua",
+ "aqua_grunt_female": "Sbire de la Team Aqua",
+ "galactic_grunt": "Sbire de la Team Galaxie",
+ "galactic_grunt_female": "Sbire Team Galaxie",
+ "plasma_grunt": "Sbire de la Team Plasma",
+ "plasma_grunt_female": "Sbire de la Team Plasma",
+ "flare_grunt": "Sbire de la Team Flare",
+ "flare_grunt_female": "Sbire de la Team Flare",
} as const;
// Names of special trainers like gym leaders, elite four, and the champion
diff --git a/src/locales/fr/tutorial.ts b/src/locales/fr/tutorial.ts
index 2f12f7ccaa0..d8940dadd56 100644
--- a/src/locales/fr/tutorial.ts
+++ b/src/locales/fr/tutorial.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const tutorial: SimpleTranslationEntries = {
"intro": `Bienvenue dans PokéRogue, un fangame axé sur les combats Pokémon avec des éléments roguelite !
diff --git a/src/locales/fr/voucher.ts b/src/locales/fr/voucher.ts
index ba787ec05a7..7cab3f90878 100644
--- a/src/locales/fr/voucher.ts
+++ b/src/locales/fr/voucher.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const voucher: SimpleTranslationEntries = {
"vouchers": "Coupons",
@@ -8,4 +8,4 @@ export const voucher: SimpleTranslationEntries = {
"eggVoucherGold": "Coupon Œuf Or",
"locked": "Verrouillé",
"defeatTrainer": "Vaincre {{trainerName}}"
-} as const;
+} as const;
diff --git a/src/locales/fr/weather.ts b/src/locales/fr/weather.ts
index 76d56887578..3427748480e 100644
--- a/src/locales/fr/weather.ts
+++ b/src/locales/fr/weather.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
/**
* The weather namespace holds text displayed when weather is active during a battle
@@ -15,12 +15,12 @@ export const weather: SimpleTranslationEntries = {
"sandstormStartMessage": "Une tempête de sable se prépare !",
"sandstormLapseMessage": "La tempête de sable fait rage !",
"sandstormClearMessage": "La tempête de sable se calme !",
- "sandstormDamageMessage": "La tempête de sable inflige des dégâts\nà {{pokemonPrefix}}{{pokemonName}} !",
+ "sandstormDamageMessage": "La tempête de sable inflige des dégâts\nà {{pokemonNameWithAffix}} !",
"hailStartMessage": "Il commence à grêler !",
"hailLapseMessage": "La grêle continue de tomber !",
"hailClearMessage": "La grêle s’est arrêtée !",
- "hailDamageMessage": "La grêle inflige des dégâts\nà {{pokemonPrefix}}{{pokemonName}} !",
+ "hailDamageMessage": "La grêle inflige des dégâts\nà {{pokemonNameWithAffix}} !",
"snowStartMessage": "Il commence à neiger !",
"snowLapseMessage": "Il y a une tempête de neige !",
@@ -40,5 +40,27 @@ export const weather: SimpleTranslationEntries = {
"strongWindsStartMessage": "Un vent mystérieux se lève !",
"strongWindsLapseMessage": "Le vent mystérieux souffle violemment !",
+ "strongWindsEffectMessage": "Le courant aérien mystérieux affaiblit l’attaque !",
"strongWindsClearMessage": "Le vent mystérieux s’est dissipé…"
};
+
+export const terrain: SimpleTranslationEntries = {
+ "misty": "Brumeux",
+ "mistyStartMessage": "La brume recouvre le terrain !",
+ "mistyClearMessage": "La brume qui recouvrait le terrain se dissipe…",
+ "mistyBlockMessage": "La brume enveloppe {{pokemonNameWithAffix}} !",
+
+ "electric": "Électrifié",
+ "electricStartMessage": "De l’électricité parcourt le terrain !",
+ "electricClearMessage": "L’électricité parcourant le terrain s’est dissipée…",
+
+ "grassy": "Herbu",
+ "grassyStartMessage": "Un beau gazon pousse sur le terrain !",
+ "grassyClearMessage": "Le gazon disparait…",
+
+ "psychic": "Psychique",
+ "psychicStartMessage": "Le sol se met à réagir de façon bizarre…",
+ "psychicClearMessage": "Le sol redevient normal !",
+
+ "defaultBlockMessage": "{{pokemonNameWithAffix}} est protégé\npar le Champ {{terrainName}} !"
+};
diff --git a/src/locales/it/ability-trigger.ts b/src/locales/it/ability-trigger.ts
index 61053896c49..1f6fcfb1258 100644
--- a/src/locales/it/ability-trigger.ts
+++ b/src/locales/it/ability-trigger.ts
@@ -1,7 +1,11 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const abilityTriggers: SimpleTranslationEntries = {
"blockRecoilDamage" : "{{abilityName}} di {{pokemonName}}\nl'ha protetto dal contraccolpo!",
- "badDreams": "{{pokemonName}} è tormentato!",
- "windPowerCharged": "Being hit by {{moveName}} charged {{pokemonName}} with power!",
+ "badDreams": "{{pokemonName}} è tormentato dagli incubi!",
+ "costar": "{{pokemonName}} copied {{allyName}}'s stat changes!",
+ "iceFaceAvoidedDamage": "{{pokemonName}} ha evitato\ni danni grazie a {{abilityName}}!",
+ "trace": "{{pokemonName}} copied {{targetName}}'s\n{{abilityName}}!",
+ "windPowerCharged": "Venire colpito da {{moveName}} ha caricato {{pokemonName}}!",
+ "quickDraw":"{{pokemonName}} can act faster than normal, thanks to its Quick Draw!",
} as const;
diff --git a/src/locales/it/ability.ts b/src/locales/it/ability.ts
index 9eb9480f771..5e01e02a718 100644
--- a/src/locales/it/ability.ts
+++ b/src/locales/it/ability.ts
@@ -1,4 +1,4 @@
-import { AbilityTranslationEntries } from "#app/plugins/i18n.js";
+import { AbilityTranslationEntries } from "#app/interfaces/locales.js";
export const ability: AbilityTranslationEntries = {
stench: {
diff --git a/src/locales/it/achv.ts b/src/locales/it/achv.ts
index 42b1995bcde..0ec9ad3f98a 100644
--- a/src/locales/it/achv.ts
+++ b/src/locales/it/achv.ts
@@ -1,171 +1,270 @@
-import { AchievementTranslationEntries } from "#app/plugins/i18n.js";
+import { AchievementTranslationEntries } from "#app/interfaces/locales.js";
-export const achv: AchievementTranslationEntries = {
+// Achievement translations for the when the player character is male
+export const PGMachv: AchievementTranslationEntries = {
"Achievements": {
- name: "Achievements",
+ name: "Obiettivi",
},
"Locked": {
- name: "Locked",
+ name: "Bloccato",
},
"MoneyAchv": {
- description: "Accumulate a total of ₽{{moneyAmount}}",
+ description: "Accumula ₽{{moneyAmount}} PokéDollari",
},
"10K_MONEY": {
- name: "Money Haver",
+ name: "Benestante",
},
"100K_MONEY": {
- name: "Rich",
+ name: "Ricco",
},
"1M_MONEY": {
- name: "Millionaire",
+ name: "Milionario",
},
"10M_MONEY": {
- name: "One Percenter",
+ name: "La numero uno",
},
"DamageAchv": {
- description: "Inflict {{damageAmount}} damage in one hit",
+ description: "Infliggi {{damageAmount}} danni in un colpo",
},
"250_DMG": {
- name: "Hard Hitter",
+ name: "Grandi danni!",
},
"1000_DMG": {
- name: "Harder Hitter",
+ name: "Incredibili danni",
},
"2500_DMG": {
- name: "That's a Lotta Damage!",
+ name: "Danni a palate!",
},
"10000_DMG": {
name: "One Punch Man",
},
"HealAchv": {
- description: "Heal {{healAmount}} {{HP}} at once with a move, ability, or held item",
+ description: "Cura {{healAmount}} {{HP}} tramite mossa, abilità, o oggetto",
},
"250_HEAL": {
- name: "Novice Healer",
+ name: "Paramedico",
},
"1000_HEAL": {
- name: "Big Healer",
+ name: "Dottore",
},
"2500_HEAL": {
- name: "Cleric",
+ name: "Chierico",
},
"10000_HEAL": {
- name: "Recovery Master",
+ name: "Mastro Curatore",
},
"LevelAchv": {
- description: "Level up a Pokémon to Lv{{level}}",
+ description: "Porta un pokémon a Lv{{level}}",
},
"LV_100": {
- name: "But Wait, There's More!",
+ name: "E Non Finisce Qui!",
},
"LV_250": {
name: "Elite",
},
"LV_1000": {
- name: "To Go Even Further Beyond",
+ name: "Verso l'Infinito ed Oltre!",
},
"RibbonAchv": {
- description: "Accumulate a total of {{ribbonAmount}} Ribbons",
+ description: "Accumula un Totale di {{ribbonAmount}} Nastri",
},
"10_RIBBONS": {
- name: "Pokémon League Champion",
+ name: "Campione Lega Pokémon",
},
"25_RIBBONS": {
- name: "Great League Champion",
+ name: "Campione Lega Estesa",
},
"50_RIBBONS": {
- name: "Ultra League Champion",
+ name: "Campione Lega Ultra",
},
"75_RIBBONS": {
- name: "Rogue League Champion",
+ name: "Campione Lega Rogue",
},
"100_RIBBONS": {
- name: "Master League Champion",
+ name: "Campione Lega Assoluta",
},
"TRANSFER_MAX_BATTLE_STAT": {
- name: "Teamwork",
- description: "Baton pass to another party member with at least one stat maxed out",
+ name: "Lavoro di Squadra",
+ description: "Trasferisci almeno sei bonus statistiche tramite staffetta",
},
"MAX_FRIENDSHIP": {
- name: "Friendmaxxing",
- description: "Reach max friendship on a Pokémon",
+ name: "Amiconi",
+ description: "Raggiungi amicizia massima con un Pokémon",
},
"MEGA_EVOLVE": {
- name: "Megamorph",
- description: "Mega evolve a Pokémon",
+ name: "Megamorfosi",
+ description: "Megaevolvi un pokémon",
},
"GIGANTAMAX": {
- name: "Absolute Unit",
- description: "Gigantamax a Pokémon",
+ name: "Grosso e Cattivo",
+ description: "Ottieni una gigamax",
},
"TERASTALLIZE": {
- name: "STAB Enthusiast",
- description: "Terastallize a Pokémon",
+ name: "STAB Per Tutti",
+ description: "Teracristallizza un Pokémon",
},
"STELLAR_TERASTALLIZE": {
- name: "The Hidden Type",
- description: "Stellar Terastallize a Pokémon",
+ name: "Tipo Segreto",
+ description: "Teracristallizza un Pokémon stellare",
},
"SPLICE": {
- name: "Infinite Fusion",
- description: "Splice two Pokémon together with DNA Splicers",
+ name: "Fusione Infinita",
+ description: "Fondi due Pokémon insieme tramite cuneo DNA",
},
"MINI_BLACK_HOLE": {
- name: "A Hole Lot of Items",
- description: "Acquire a Mini Black Hole",
+ name: "Universo di Oggetti",
+ description: "Ottieni un Mini Buco Nero",
},
"CATCH_MYTHICAL": {
- name: "Mythical",
- description: "Catch a mythical Pokémon",
+ name: "Mitico",
+ description: "Cattura un Pokémon mitico",
},
"CATCH_SUB_LEGENDARY": {
- name: "(Sub-)Legendary",
- description: "Catch a sub-legendary Pokémon",
+ name: "(Semi)Leggendario",
+ description: "Cattura un Pokémon semileggendario",
},
"CATCH_LEGENDARY": {
- name: "Legendary",
- description: "Catch a legendary Pokémon",
+ name: "Leggendario",
+ description: "Cattura un Pokémon leggendario",
},
"SEE_SHINY": {
- name: "Shiny",
- description: "Find a shiny Pokémon in the wild",
+ name: "Cromatico",
+ description: "Trova un Pokémon shiny in natura",
},
"SHINY_PARTY": {
- name: "That's Dedication",
- description: "Have a full party of shiny Pokémon",
+ name: "Dedizione Totale",
+ description: "Riempi la squadra di Pokémon shiny",
},
"HATCH_MYTHICAL": {
- name: "Mythical Egg",
- description: "Hatch a mythical Pokémon from an egg",
+ name: "Uovo Mitico",
+ description: "Schiudi l'uovo di un Pokémon mitico",
},
"HATCH_SUB_LEGENDARY": {
- name: "Sub-Legendary Egg",
- description: "Hatch a sub-legendary Pokémon from an egg",
+ name: "Uovo (Semi)Leggendario",
+ description: "Schiudi l'uovo di un Pokémon semileggendario",
},
"HATCH_LEGENDARY": {
- name: "Legendary Egg",
- description: "Hatch a legendary Pokémon from an egg",
+ name: "Uovo Leggendario",
+ description: "Schiudi l'uovo di un Pokémon leggendario",
},
"HATCH_SHINY": {
- name: "Shiny Egg",
- description: "Hatch a shiny Pokémon from an egg",
+ name: "Uovo Cromatico",
+ description: "Schiudi l'uovo di un Pokémon shiny",
},
"HIDDEN_ABILITY": {
- name: "Hidden Potential",
- description: "Catch a Pokémon with a hidden ability",
+ name: "Potenziale Nascosto",
+ description: "Cattura un Pokémon con abilità nascosta",
},
"PERFECT_IVS": {
- name: "Certificate of Authenticity",
- description: "Get perfect IVs on a Pokémon",
+ name: "Certificato di Autenticità",
+ description: "Ottieni un Pokémon con IV perfetti",
},
"CLASSIC_VICTORY": {
- name: "Undefeated",
- description: "Beat the game in classic mode",
+ name: "Imbattuto",
+ description: "Vinci in modalità classica",
+ },
+
+ "MONO_GEN_ONE": {
+ name: "Rivale Originale",
+ description: "Completa la modalità sfida di prima generazione.",
+ },
+ "MONO_GEN_TWO": {
+ name: "Generazione 1.5",
+ description: "Completa la modalità sfida di seconda generazione.",
+ },
+ "MONO_GEN_THREE": {
+ name: "Troppa Acqua?",
+ description: "Completa la modalità sfida di terza generazione.",
+ },
+ "MONO_GEN_FOUR": {
+ name: "È Davvero La Più Forte?",
+ description: "Completa la modalità sfida di quarta generazione.",
+ },
+ "MONO_GEN_FIVE": {
+ name: "Tutti Originali",
+ description: "Completa la modalità sfida di quinta generazione.",
+ },
+ "MONO_GEN_SIX": {
+ name: "Quasi Reali",
+ description: "Completa la modalità sfida di sesta generazione.",
+ },
+ "MONO_GEN_SEVEN": {
+ name: "Solo In Teoria",
+ description: "Completa la modalità sfida di settima generazione.",
+ },
+ "MONO_GEN_EIGHT": {
+ name: "È Champion-time!",
+ description: "Completa la modalità sfida di ottava generazione.",
+ },
+ "MONO_GEN_NINE": {
+ name: "Non si Stava Impegnando...",
+ description: "Completa la modalità sfida di nona generazione.",
+ },
+
+ "MonoType": {
+ description: "Completa la modalità sfida monotipo {{type}}",
+ },
+ "MONO_NORMAL": {
+ name: "Un tipo semplice",
+ },
+ "MONO_FIGHTING": {
+ name: "Conosco il Kung-fu",
+ },
+ "MONO_FLYING": {
+ name: "È un uccello? È un aereo?",
+ },
+ "MONO_POISON": {
+ name: "I migliori di Kanto",
+ },
+ "MONO_GROUND": {
+ name: "Con i piedi per terra",
+ },
+ "MONO_ROCK": {
+ name: "Forte come una roccia!",
+ },
+ "MONO_BUG": {
+ name: "Metodo Guzma",
+ },
+ "MONO_GHOST": {
+ name: "Sono fantasmi, caro Watson",
+ },
+ "MONO_STEEL": {
+ name: "Pugno di ferro",
+ },
+ "MONO_FIRE": {
+ name: "Giocare col fuoco",
+ },
+ "MONO_WATER": {
+ name: "Piove sul bagnato",
+ },
+ "MONO_GRASS": {
+ name: "L'erba del vicino è sempre più verde",
+ },
+ "MONO_ELECTRIC": {
+ name: "Elettrizzante",
+ },
+ "MONO_PSYCHIC": {
+ name: "Mentalista",
+ },
+ "MONO_ICE": {
+ name: "Rompere il ghiaccio",
+ },
+ "MONO_DRAGON": {
+ name: "Sangue di drago",
+ },
+ "MONO_DARK": {
+ name: "Solo una fase",
+ },
+ "MONO_FAIRY": {
+ name: "Follettini e follettine",
},
} as const;
+
+// Achievement translations for the when the player character is female (it for now uses the same translations as the male version)
+export const PGFachv: AchievementTranslationEntries = PGMachv;
diff --git a/src/locales/it/battle-message-ui-handler.ts b/src/locales/it/battle-message-ui-handler.ts
index 33aabb61fb1..d70ab400e39 100644
--- a/src/locales/it/battle-message-ui-handler.ts
+++ b/src/locales/it/battle-message-ui-handler.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const battleMessageUiHandler: SimpleTranslationEntries = {
"ivBest": "Stellare",
@@ -7,4 +7,4 @@ export const battleMessageUiHandler: SimpleTranslationEntries = {
"ivPrettyGood": "Normale",
"ivDecent": "Sufficiente",
"ivNoGood": "Mediocre",
-} as const;
+} as const;
diff --git a/src/locales/it/battle.ts b/src/locales/it/battle.ts
index 5b8089e6677..787888e333b 100644
--- a/src/locales/it/battle.ts
+++ b/src/locales/it/battle.ts
@@ -1,12 +1,12 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const battle: SimpleTranslationEntries = {
"bossAppeared": "{{bossName}} è apparso.",
"trainerAppeared": "{{trainerName}}\nvuole combattere!",
- "trainerAppearedDouble": "{{trainerName}}\nwould like to battle!",
+ "trainerAppearedDouble": "{{trainerName}}\nvogliono combattere!",
"trainerSendOut": "{{trainerName}} manda in campo\n{{pokemonName}}!",
- "singleWildAppeared": "Appare {{pokemonName}} selvatico!",
- "multiWildAppeared": "Appaiono {{pokemonName1}}\ne {{pokemonName2}} salvatici!",
+ "singleWildAppeared": "È apparso {{pokemonName}} selvatico!",
+ "multiWildAppeared": "Sono apparsi {{pokemonName1}}\ne {{pokemonName2}} salvatici!",
"playerComeBack": "Rientra, {{pokemonName}}!",
"trainerComeBack": "{{trainerName}} ha ritirato {{pokemonName}}!",
"playerGo": "Vai! {{pokemonName}}!",
@@ -14,7 +14,9 @@ export const battle: SimpleTranslationEntries = {
"switchQuestion": "Vuoi cambiare\n{{pokemonName}}?",
"trainerDefeated": "Hai sconfitto\n{{trainerName}}!",
"moneyWon": "Hai vinto {{moneyAmount}}₽",
+ "moneyPickedUp": "You picked up ₽{{moneyAmount}}!",
"pokemonCaught": "Preso! {{pokemonName}} è stato catturato!",
+ "addedAsAStarter": "{{pokemonName}} has been\nadded as a starter!",
"partyFull": "La tua squadra è al completo.\nVuoi liberare un Pokémon per far spazio a {{pokemonName}}?",
"pokemon": "Pokémon",
"sendOutPokemon": "Vai! {{pokemonName}}!",
@@ -24,7 +26,9 @@ export const battle: SimpleTranslationEntries = {
"hitResultNoEffect": "Non ha effetto su {{pokemonName}}!",
"hitResultOneHitKO": "KO con un colpo!",
"attackFailed": "Ma ha fallito!",
+ "attackMissed": "{{pokemonNameWithAffix}}\nevita l’attacco!",
"attackHitsCount": "Colpito {{count}} volta/e!",
+ "rewardGain": "You received\n{{modifierName}}!",
"expGain": "{{pokemonName}} ha guadagnato\n{{exp}} Punti Esperienza!",
"levelUp": "{{pokemonName}} è salito al\nlivello {{level}}!",
"learnMove": "{{pokemonName}} impara\n{{moveName}}!",
@@ -41,10 +45,10 @@ export const battle: SimpleTranslationEntries = {
"moveNotImplemented": "{{moveName}} non è ancora implementata e non può essere selezionata.",
"moveNoPP": "Non ci sono PP rimanenti\nper questa mossa!",
"moveDisabled": "{{moveName}} è disabilitata!",
- "noPokeballForce": "Una forza misteriosa\nimpedisce l'uso dell Poké Ball.",
+ "noPokeballForce": "Una forza misteriosa\nimpedisce l'uso delle Poké Ball.",
"noPokeballTrainer": "Non puoi catturare\nPokémon di altri allenatori!",
- "noPokeballMulti": "Puoi lanciare una Poké Ball\nquando rimane un solo Pokémon!",
- "noPokeballStrong": "Il Pokémon avversario è troppo forte per essere catturato!\nDevi prima indebolirlo!",
+ "noPokeballMulti": "Puoi lanciare una Poké Ball\nsolo quando rimane un singolo Pokémon!",
+ "noPokeballStrong": "Il Pokémon avversario è troppo forte per essere catturato!\nDevi prima indebolirlo.",
"noEscapeForce": "Una forza misteriosa\nimpedisce la fuga.",
"noEscapeTrainer": "Non puoi sottrarti\nalla lotta con un'allenatore!",
"noEscapePokemon": "{{moveName}} di {{pokemonName}}\npreviene la {{escapeVerb}}!",
@@ -52,10 +56,83 @@ export const battle: SimpleTranslationEntries = {
"runAwayCannotEscape": "Non puoi fuggire!",
"escapeVerbSwitch": "cambiando",
"escapeVerbFlee": "fuggendo",
- "notDisabled": "{{pokemonName}}'s {{moveName}} non è più\ndisabilitata!",
+ "notDisabled": "{{moveName}} di {{pokemonName}} non è più\ndisabilitata!",
+ "turnEndHpRestore": "{{pokemonName}}'s HP was restored.",
+ "hpIsFull": "{{pokemonName}}'s\nHP is full!",
"skipItemQuestion": "Sei sicuro di non voler prendere nessun oggetto?",
- "eggHatching": "Oh!",
+ "eggHatching": "Oh?",
"ivScannerUseQuestion": "Vuoi usare lo scanner di IV su {{pokemonName}}?",
- "drainMessage": "{{pokemonName}} had its\nenergy drained!",
- "regainHealth": "{{pokemonName}} regained\nhealth!"
+ "stealEatBerry": "{{pokemonName}} stole and ate\n{{targetName}}'s {{berryName}}!",
+ "wildPokemonWithAffix": "{{pokemonName}} selvatico",
+ "foePokemonWithAffix": "{{pokemonName}} avversario",
+ "useMove": "{{pokemonNameWithAffix}} usa {{moveName}}!",
+ "drainMessage": "Viene prelevata energia\n da{{pokemonName}}!",
+ "regainHealth": "{{pokemonName}} ha rigenerato\npunti salute!",
+ "fainted": "{{pokemonNameWithAffix}} non è più in\ngrado di combattere!",
+ "statRose": "{{pokemonNameWithAffix}}'s {{stats}} è aumentato/a!",
+ "statSharplyRose": "{{pokemonNameWithAffix}}'s {{stats}} è aumentato/a molto!",
+ "statRoseDrastically": "{{pokemonNameWithAffix}}'s {{stats}} è aumentato/a drasticamente!",
+ "statWontGoAnyHigher": "{{pokemonNameWithAffix}}'s {{stats}} non può aumentare più di così!",
+ "statFell": "{{pokemonNameWithAffix}}'s {{stats}} è diminuito/a!",
+ "statHarshlyFell": "{{pokemonNameWithAffix}}'s {{stats}} è diminuito/a molto!",
+ "statSeverelyFell": "{{pokemonNameWithAffix}}'s {{stats}} è diminuito/a drasticamente!",
+ "statWontGoAnyLower": "{{pokemonNameWithAffix}}'s {{stats}} non può diminuire più di così!",
+ "ppReduced": "It reduced the PP of {{targetName}}'s\n{{moveName}} by {{reduction}}!",
+ "battlerTagsRechargingLapse": "{{pokemonNameWithAffix}} deve\nricaricarsi!",
+ "battlerTagsTrappedOnAdd": "{{pokemonNameWithAffix}} non può\npiù fuggire!",
+ "battlerTagsTrappedOnRemove": "{{pokemonNameWithAffix}} è stato liberato\nda {{moveName}}",
+ "battlerTagsFlinchedLapse": "{{pokemonNameWithAffix}} tentenna!",
+ "battlerTagsConfusedOnAdd": "{{pokemonNameWithAffix}} è\nconfuso!",
+ "battlerTagsConfusedOnRemove": "{{pokemonNameWithAffix}} non\nè più confuso!",
+ "battlerTagsConfusedOnOverlap": "{{pokemonNameWithAffix}} è\ngià confuso!",
+ "battlerTagsConfusedLapse": "{{pokemonNameWithAffix}} è\nconfuso!",
+ "battlerTagsConfusedLapseHurtItself": "Si colpisce da solo per via della\nconfusione!",
+ "battlerTagsDestinyBondLapseIsBoss": "{{pokemonNameWithAffix}} è immune\na Destinobbligato.",
+ "battlerTagsDestinyBondLapse": "{{pokemonNameWithAffix}} trascina\ncon sé{{pokemonNameWithAffix2}}!",
+ "battlerTagsInfatuatedOnAdd": "{{pokemonNameWithAffix}} si è infatuato\ndi {{sourcePokemonName}}!",
+ "battlerTagsInfatuatedOnOverlap": "{{pokemonNameWithAffix}} è\ngià infatuato!",
+ "battlerTagsInfatuatedLapse": "{{pokemonNameWithAffix}} è infatuato\ndi {{sourcePokemonName}}!",
+ "battlerTagsInfatuatedLapseImmobilize": "{{pokemonNameWithAffix}} è\nimmobilizzato dall'infatuazione!",
+ "battlerTagsInfatuatedOnRemove": "{{pokemonNameWithAffix}} non è\npiù infatuato.",
+ "battlerTagsSeededOnAdd": "{{pokemonNameWithAffix}} è pieno di semi!",
+ "battlerTagsSeededLapse": "La salute di {{pokemonNameWithAffix}}\nviene prelevata da Parassiseme!",
+ "battlerTagsSeededLapseShed": "Parassiseme di {{pokemonNameWithAffix}}\nha risucchiato la melma!",
+ "battlerTagsNightmareOnAdd": "{{pokemonNameWithAffix}} sta\navendo un Incubo!",
+ "battlerTagsNightmareOnOverlap": "{{pokemonNameWithAffix}} sta\ngià avendo un Incubo!",
+ "battlerTagsNightmareLapse": "{{pokemonNameWithAffix}} è bloccato\nin un Incubo!",
+ "battlerTagsEncoreOnAdd": "{{pokemonNameWithAffix}} ha\nsubito Ripeti!",
+ "battlerTagsEncoreOnRemove": "L'effetto di Ripeti su {{pokemonNameWithAffix}}\n è terminato!",
+ "battlerTagsHelpingHandOnAdd": "{{pokemonNameWithAffix}} è pronto ad\naiutare {{pokemonName}}!",
+ "battlerTagsIngrainLapse": "{{pokemonNameWithAffix}} assorbe\nnutrienti dalle sue radici!",
+ "battlerTagsIngrainOnTrap": "{{pokemonNameWithAffix}} ha messo le radici!",
+ "battlerTagsAquaRingOnAdd": "{{pokemonNameWithAffix}} si è circondato\ncon un velo d'acqua!",
+ "battlerTagsAquaRingLapse": "{{moveName}} ha ripristinato\ni PS di {{pokemonName}}!",
+ "battlerTagsDrowsyOnAdd": "{{pokemonNameWithAffix}} sta per addormentarsi!",
+ "battlerTagsDamagingTrapLapse": "{{pokemonNameWithAffix}} subisce danni\nper via di {{moveName}}!",
+ "battlerTagsBindOnTrap": "{{pokemonNameWithAffix}} viene schiacciato da\n{{moveName}} di {{sourcePokemonName}}!",
+ "battlerTagsWrapOnTrap": "{{pokemonNameWithAffix}} è stato avvinghiato\nda {{sourcePokemonName}}!",
+ "battlerTagsVortexOnTrap": "{{pokemonNameWithAffix}} è intrappolato\nnel vortice!",
+ "battlerTagsClampOnTrap": "{{sourcePokemonNameWithAffix}} sta intenagliando\n{{pokemonName}}!",
+ "battlerTagsSandTombOnTrap": "{{pokemonNameWithAffix}} è intrappolato\nda {{moveName}}!",
+ "battlerTagsMagmaStormOnTrap": "{{pokemonNameWithAffix}} è intrappolato\nnel magma vorticoso!",
+ "battlerTagsSnapTrapOnTrap": "{{pokemonNameWithAffix}} è intrappolato\nin una tagliola!",
+ "battlerTagsThunderCageOnTrap": "{{sourcePokemonNameWithAffix}} ha intrappolato\n{{pokemonNameWithAffix}}!",
+ "battlerTagsInfestationOnTrap": "{{pokemonNameWithAffix}} ha subito un\ninfestazione da parte di {{sourcePokemonNameWithAffix}}!",
+ "battlerTagsProtectedOnAdd": "{{pokemonNameWithAffix}}\nsi è protetto!",
+ "battlerTagsProtectedLapse": "{{pokemonNameWithAffix}}\nsi è protetto!",
+ "battlerTagsEnduringOnAdd": "{{pokemonNameWithAffix}} si prepara a\nsubire il colpo!",
+ "battlerTagsEnduringLapse": "{{pokemonNameWithAffix}} resiste\nal colpo!",
+ "battlerTagsSturdyLapse": "{{pokemonNameWithAffix}} ha resistito\ngrazie a Vigore!",
+ "battlerTagsPerishSongLapse": "Il conto alla rovescia di Ultimocanto per {{pokemonNameWithAffix}} scende a {{turnCount}}.",
+ "battlerTagsTruantLapse": "{{pokemonNameWithAffix}} sta\nciondolando!",
+ "battlerTagsSlowStartOnAdd": "{{pokemonNameWithAffix}} non\ningrana!",
+ "battlerTagsSlowStartOnRemove": "{{pokemonNameWithAffix}} ritrova\nlo slancio!",
+ "battlerTagsHighestStatBoostOnAdd": "{{statName}} di {{pokemonNameWithAffix}}\nviene aumentato/a!",
+ "battlerTagsHighestStatBoostOnRemove": "Gli effetti di {{abilityName}}\ndi {{pokemonNameWithAffix}} sono cessati!",
+ "battlerTagsCritBoostOnAdd": "{{pokemonNameWithAffix}} si prepara\nalla lotta!",
+ "battlerTagsCritBoostOnRemove": "{{pokemonNameWithAffix}} si è rilassato.",
+ "battlerTagsSaltCuredOnAdd": "{{pokemonNameWithAffix}} è stato messo sotto sale!",
+ "battlerTagsSaltCuredLapse": "{{pokemonNameWithAffix}} viene colpito da {{moveName}}!",
+ "battlerTagsCursedOnAdd": "{{pokemonNameWithAffix}} ha sacrificato metà dei suoi PS per\nlanciare una maledizione su {{pokemonName}}!",
+ "battlerTagsCursedLapse": "{{pokemonNameWithAffix}} subisce la maledizione!"
} as const;
diff --git a/src/locales/it/berry.ts b/src/locales/it/berry.ts
index 4c36e209f64..7be40b43c32 100644
--- a/src/locales/it/berry.ts
+++ b/src/locales/it/berry.ts
@@ -1,4 +1,4 @@
-import { BerryTranslationEntries } from "#app/plugins/i18n";
+import { BerryTranslationEntries } from "#app/interfaces/locales";
export const berry: BerryTranslationEntries = {
"SITRUS": {
diff --git a/src/locales/it/bgm-name.ts b/src/locales/it/bgm-name.ts
new file mode 100644
index 00000000000..87d90dabc9d
--- /dev/null
+++ b/src/locales/it/bgm-name.ts
@@ -0,0 +1,145 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const bgmName: SimpleTranslationEntries = {
+ "music": "Music: ",
+ "missing_entries" : "{{name}}",
+ "battle_kanto_champion": "B2W2 Kanto Champion Battle",
+ "battle_johto_champion": "B2W2 Johto Champion Battle",
+ "battle_hoenn_champion": "B2W2 Hoenn Champion Battle",
+ "battle_sinnoh_champion": "B2W2 Sinnoh Champion Battle",
+ "battle_champion_alder": "BW Unova Champion Battle",
+ "battle_champion_iris": "B2W2 Unova Champion Battle",
+ "battle_kalos_champion": "XY Kalos Champion Battle",
+ "battle_alola_champion": "USUM Alola Champion Battle",
+ "battle_galar_champion": "SWSH Galar Champion Battle",
+ "battle_champion_geeta": "SV Champion Geeta Battle",
+ "battle_champion_nemona": "SV Champion Nemona Battle",
+ "battle_champion_kieran": "SV Champion Kieran Battle",
+ "battle_hoenn_elite": "ORAS Elite Four Battle",
+ "battle_unova_elite": "BW Elite Four Battle",
+ "battle_kalos_elite": "XY Elite Four Battle",
+ "battle_alola_elite": "SM Elite Four Battle",
+ "battle_galar_elite": "SWSH League Tournament Battle",
+ "battle_paldea_elite": "SV Elite Four Battle",
+ "battle_bb_elite": "SV BB League Elite Four Battle",
+ "battle_final_encounter": "PMD RTDX Rayquaza's Domain",
+ "battle_final": "BW Ghetsis Battle",
+ "battle_kanto_gym": "B2W2 Kanto Gym Battle",
+ "battle_johto_gym": "B2W2 Johto Gym Battle",
+ "battle_hoenn_gym": "B2W2 Hoenn Gym Battle",
+ "battle_sinnoh_gym": "B2W2 Sinnoh Gym Battle",
+ "battle_unova_gym": "BW Unova Gym Battle",
+ "battle_kalos_gym": "XY Kalos Gym Battle",
+ "battle_galar_gym": "SWSH Galar Gym Battle",
+ "battle_paldea_gym": "SV Paldea Gym Battle",
+ "battle_legendary_kanto": "XY Kanto Legendary Battle",
+ "battle_legendary_raikou": "HGSS Raikou Battle",
+ "battle_legendary_entei": "HGSS Entei Battle",
+ "battle_legendary_suicune": "HGSS Suicune Battle",
+ "battle_legendary_lugia": "HGSS Lugia Battle",
+ "battle_legendary_ho_oh": "HGSS Ho-oh Battle",
+ "battle_legendary_regis_g5": "B2W2 Legendary Titan Battle",
+ "battle_legendary_regis_g6": "ORAS Legendary Titan Battle",
+ "battle_legendary_gro_kyo": "ORAS Groudon & Kyogre Battle",
+ "battle_legendary_rayquaza": "ORAS Rayquaza Battle",
+ "battle_legendary_deoxys": "ORAS Deoxys Battle",
+ "battle_legendary_lake_trio": "ORAS Lake Guardians Battle",
+ "battle_legendary_sinnoh": "ORAS Sinnoh Legendary Battle",
+ "battle_legendary_dia_pal": "ORAS Dialga & Palkia Battle",
+ "battle_legendary_giratina": "ORAS Giratina Battle",
+ "battle_legendary_arceus": "HGSS Arceus Battle",
+ "battle_legendary_unova": "BW Unova Legendary Battle",
+ "battle_legendary_kyurem": "BW Kyurem Battle",
+ "battle_legendary_res_zek": "BW Reshiram & Zekrom Battle",
+ "battle_legendary_xern_yvel": "XY Xerneas & Yveltal Battle",
+ "battle_legendary_tapu": "SM Tapu Battle",
+ "battle_legendary_sol_lun": "SM Solgaleo & Lunala Battle",
+ "battle_legendary_ub": "SM Ultra Beast Battle",
+ "battle_legendary_dusk_dawn": "USUM Dusk Mane & Dawn Wings Necrozma Battle",
+ "battle_legendary_ultra_nec": "USUM Ultra Necrozma Battle",
+ "battle_legendary_zac_zam": "SWSH Zacian & Zamazenta Battle",
+ "battle_legendary_glas_spec": "SWSH Glastrier & Spectrier Battle",
+ "battle_legendary_calyrex": "SWSH Calyrex Battle",
+ "battle_legendary_birds_galar": "SWSH Galarian Legendary Birds Battle",
+ "battle_legendary_ruinous": "SV Treasures of Ruin Battle",
+ "battle_legendary_kor_mir": "SV Depths of Area Zero Battle",
+ "battle_legendary_loyal_three": "SV Loyal Three Battle",
+ "battle_legendary_ogerpon": "SV Ogerpon Battle",
+ "battle_legendary_terapagos": "SV Terapagos Battle",
+ "battle_legendary_pecharunt": "SV Pecharunt Battle",
+ "battle_rival": "BW Rival Battle",
+ "battle_rival_2": "BW N Battle",
+ "battle_rival_3": "BW Final N Battle",
+ "battle_trainer": "BW Trainer Battle",
+ "battle_wild": "BW Wild Battle",
+ "battle_wild_strong": "BW Strong Wild Battle",
+ "end_summit": "PMD RTDX Sky Tower Summit",
+ "battle_rocket_grunt": "HGSS Team Rocket Battle",
+ "battle_aqua_magma_grunt": "ORAS Team Aqua & Magma Battle",
+ "battle_galactic_grunt": "BDSP Team Galactic Battle",
+ "battle_plasma_grunt": "BW Team Plasma Battle",
+ "battle_flare_grunt": "XY Team Flare Battle",
+ "battle_rocket_boss": "USUM Giovanni Battle",
+ "battle_aqua_magma_boss": "ORAS Archie & Maxie Battle",
+ "battle_galactic_boss": "BDSP Cyrus Battle",
+ "battle_plasma_boss": "B2W2 Ghetsis Battle",
+ "battle_flare_boss": "XY Lysandre Battle",
+
+ // Biome Music
+ "abyss": "PMD EoS Dark Crater",
+ "badlands": "PMD EoS Barren Valley",
+ "beach": "PMD EoS Drenched Bluff",
+ "cave": "PMD EoS Sky Peak Cave",
+ "construction_site": "PMD EoS Boulder Quarry",
+ "desert": "PMD EoS Northern Desert",
+ "dojo": "PMD EoS Marowak Dojo",
+ "end": "PMD RTDX Sky Tower",
+ "factory": "PMD EoS Concealed Ruins",
+ "fairy_cave": "PMD EoS Star Cave",
+ "forest": "PMD EoS Dusk Forest",
+ "grass": "PMD EoS Apple Woods",
+ "graveyard": "PMD EoS Mystifying Forest",
+ "ice_cave": "PMD EoS Vast Ice Mountain",
+ "island": "PMD EoS Craggy Coast",
+ "jungle": "Lmz - Jungle", // The composer thinks about a more creative name
+ "laboratory": "Firel - Laboratory", // The composer thinks about a more creative name
+ "lake": "PMD EoS Crystal Cave",
+ "meadow": "PMD EoS Sky Peak Forest",
+ "metropolis": "Firel - Metropolis", // The composer thinks about a more creative name
+ "mountain": "PMD EoS Mt. Horn",
+ "plains": "PMD EoS Sky Peak Prairie",
+ "power_plant": "PMD EoS Far Amp Plains",
+ "ruins": "PMD EoS Deep Sealed Ruin",
+ "sea": "PMD EoS Brine Cave",
+ "seabed": "Firel - Seabed", // The composer thinks about a more creative name
+ "slum": "PMD EoS Sky Peak Coast",
+ "snowy_forest": "PMD EoS Sky Peak Snowfield",
+ "space": "Firel - Aether",
+ "swamp": "PMD EoS Surrounded Sea",
+ "tall_grass": "PMD EoS Foggy Forest",
+ "temple": "PMD EoS Aegis Cave",
+ "town": "PMD EoS Random Dungeon Theme 3",
+ "volcano": "PMD EoS Steam Cave",
+ "wasteland": "PMD EoS Hidden Highland",
+
+ // Encounter
+ "encounter_ace_trainer": "BW Trainers' Eyes Meet (Ace Trainer)",
+ "encounter_backpacker": "BW Trainers' Eyes Meet (Backpacker)",
+ "encounter_clerk": "BW Trainers' Eyes Meet (Clerk)",
+ "encounter_cyclist": "BW Trainers' Eyes Meet (Cyclist)",
+ "encounter_lass": "BW Trainers' Eyes Meet (Lass)",
+ "encounter_parasol_lady": "BW Trainers' Eyes Meet (Parasol Lady)",
+ "encounter_pokefan": "BW Trainers' Eyes Meet (Poke Fan)",
+ "encounter_psychic": "BW Trainers' Eyes Meet (Psychic)",
+ "encounter_rich": "BW Trainers' Eyes Meet (Gentleman)",
+ "encounter_rival": "BW Cheren",
+ "encounter_roughneck": "BW Trainers' Eyes Meet (Roughneck)",
+ "encounter_scientist": "BW Trainers' Eyes Meet (Scientist)",
+ "encounter_twins": "BW Trainers' Eyes Meet (Twins)",
+ "encounter_youngster": "BW Trainers' Eyes Meet (Youngster)",
+
+ // Other
+ "heal": "BW Pokémon Heal",
+ "menu": "PMD EoS Welcome to the World of Pokémon!",
+ "title": "PMD EoS Top Menu Theme",
+} as const;
diff --git a/src/locales/it/biome.ts b/src/locales/it/biome.ts
index 7e6a31422cd..602218fa852 100644
--- a/src/locales/it/biome.ts
+++ b/src/locales/it/biome.ts
@@ -1,11 +1,11 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const biome: SimpleTranslationEntries = {
"unknownLocation": "Da qualche parte che non ricordi",
"TOWN": "Città",
"PLAINS": "Pianure",
- "GRASS": "Campo Erboso",
- "TALL_GRASS": "Erba Alta",
+ "GRASS": "Campo erboso",
+ "TALL_GRASS": "Erba alta",
"METROPOLIS": "Metropoli",
"FOREST": "Foresta",
"SEA": "Mare",
@@ -15,25 +15,25 @@ export const biome: SimpleTranslationEntries = {
"SEABED": "Fondale",
"MOUNTAIN": "Montagna",
"BADLANDS": "Calanchi",
- "CAVE": "Grotta",
+ "CAVE": "Caverna",
"DESERT": "Deserto",
- "ICE_CAVE": "Grotta Ghiacciata",
+ "ICE_CAVE": "Caverna ghiacciata",
"MEADOW": "Prato",
- "POWER_PLANT": "Centrale Elettrica",
+ "POWER_PLANT": "Centrale elettrica",
"VOLCANO": "Vulcano",
"GRAVEYARD": "Cimitero",
"DOJO": "Dojo",
"FACTORY": "Fabbrica",
- "RUINS": "Antiche Rovine",
+ "RUINS": "Antiche rovine",
"WASTELAND": "Terra Desolata",
"ABYSS": "Abisso",
"SPACE": "Spazio",
"CONSTRUCTION_SITE": "Cantiere",
"JUNGLE": "Giungla",
- "FAIRY_CAVE": "Grotta Fatata",
+ "FAIRY_CAVE": "Caverna fatata",
"TEMPLE": "Tempio",
"SLUM": "Bassifondi",
- "SNOWY_FOREST": "Foresta Innevata",
+ "SNOWY_FOREST": "Foresta innevata",
"ISLAND": "Isola",
"LABORATORY": "Laboratorio",
"END": "???",
diff --git a/src/locales/it/challenges.ts b/src/locales/it/challenges.ts
new file mode 100644
index 00000000000..2643b16d0f7
--- /dev/null
+++ b/src/locales/it/challenges.ts
@@ -0,0 +1,25 @@
+import { TranslationEntries } from "#app/interfaces/locales";
+
+export const challenges: TranslationEntries = {
+ "title": "Modificatori delle sfide",
+ "illegalEvolution": "{{pokemon}} changed into an ineligble pokémon\nfor this challenge!",
+ "singleGeneration": {
+ "name": "Mono gen",
+ "desc": "Puoi usare solo Pokémon di {{gen}} generazione.",
+ "desc_default": "Puoi usare solo Pokémon della generazione selezionata.",
+ "gen_1": "1ª",
+ "gen_2": "2ª",
+ "gen_3": "3ª",
+ "gen_4": "4ª",
+ "gen_5": "5ª",
+ "gen_6": "6ª",
+ "gen_7": "7ª",
+ "gen_8": "8ª",
+ "gen_9": "9ª",
+ },
+ "singleType": {
+ "name": "Mono tipo",
+ "desc": "Puoi usare solo Pokémon di tipo {{type}}.",
+ "desc_default": "Puoi usare solo Pokémon del tipo selezionato."
+ },
+} as const;
diff --git a/src/locales/it/command-ui-handler.ts b/src/locales/it/command-ui-handler.ts
index 7c30532d46c..acd0370ba05 100644
--- a/src/locales/it/command-ui-handler.ts
+++ b/src/locales/it/command-ui-handler.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const commandUiHandler: SimpleTranslationEntries = {
"fight": "Lotta",
diff --git a/src/locales/it/common.ts b/src/locales/it/common.ts
new file mode 100644
index 00000000000..de5197cbeeb
--- /dev/null
+++ b/src/locales/it/common.ts
@@ -0,0 +1,10 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const common: SimpleTranslationEntries = {
+ "start": "Inizia",
+ "luckIndicator": "Luck:",
+ "shinyOnHover": "Shiny",
+ "commonShiny": "Comune",
+ "rareShiny": "Raro",
+ "epicShiny": "Epico",
+} as const;
diff --git a/src/locales/it/config.ts b/src/locales/it/config.ts
index 8549afb12be..5b370b00e4b 100644
--- a/src/locales/it/config.ts
+++ b/src/locales/it/config.ts
@@ -1,10 +1,12 @@
import { ability } from "./ability";
import { abilityTriggers } from "./ability-trigger";
-import { achv } from "./achv";
+import { PGFachv, PGMachv } from "./achv";
import { battle } from "./battle";
import { battleMessageUiHandler } from "./battle-message-ui-handler";
import { berry } from "./berry";
+import { bgmName } from "./bgm-name";
import { biome } from "./biome";
+import { challenges } from "./challenges";
import { commandUiHandler } from "./command-ui-handler";
import {
PGFbattleSpecDialogue,
@@ -18,10 +20,12 @@ import {
} from "./dialogue";
import { egg } from "./egg";
import { fightUiHandler } from "./fight-ui-handler";
+import { gameMode } from "./game-mode";
import { gameStatsUiHandler } from "./game-stats-ui-handler";
import { growth } from "./growth";
import { menu } from "./menu";
import { menuUiHandler } from "./menu-ui-handler";
+import { modifier } from "./modifier";
import { modifierType } from "./modifier-type";
import { move } from "./move";
import { nature } from "./nature";
@@ -29,22 +33,32 @@ import { pokeball } from "./pokeball";
import { pokemon } from "./pokemon";
import { pokemonInfo } from "./pokemon-info";
import { pokemonInfoContainer } from "./pokemon-info-container";
+import { saveSlotSelectUiHandler } from "./save-slot-select-ui-handler";
import { splashMessages } from "./splash-messages";
import { starterSelectUiHandler } from "./starter-select-ui-handler";
+import { statusEffect } from "./status-effect";
import { titles, trainerClasses, trainerNames } from "./trainers";
import { tutorial } from "./tutorial";
import { voucher } from "./voucher";
-import { weather } from "./weather";
+import { terrain, weather } from "./weather";
+import { partyUiHandler } from "./party-ui-handler";
+import { settings } from "./settings.js";
+import { common } from "./common.js";
+import { modifierSelectUiHandler } from "./modifier-select-ui-handler";
export const itConfig = {
ability: ability,
abilityTriggers: abilityTriggers,
- achv: achv,
battle: battle,
battleMessageUiHandler: battleMessageUiHandler,
berry: berry,
+ bgmName: bgmName,
biome: biome,
+ challenges: challenges,
commandUiHandler: commandUiHandler,
+ common: common,
+ PGMachv: PGMachv,
+ PGFachv: PGFachv,
PGMdialogue: PGMdialogue,
PGFdialogue: PGFdialogue,
PGMbattleSpecDialogue: PGMbattleSpecDialogue,
@@ -55,10 +69,12 @@ export const itConfig = {
PGFdoubleBattleDialogue: PGFdoubleBattleDialogue,
egg: egg,
fightUiHandler: fightUiHandler,
+ gameMode: gameMode,
gameStatsUiHandler: gameStatsUiHandler,
growth: growth,
menu: menu,
menuUiHandler: menuUiHandler,
+ modifier: modifier,
modifierType: modifierType,
move: move,
nature: nature,
@@ -66,12 +82,18 @@ export const itConfig = {
pokemon: pokemon,
pokemonInfo: pokemonInfo,
pokemonInfoContainer: pokemonInfoContainer,
+ saveSlotSelectUiHandler: saveSlotSelectUiHandler,
+ settings: settings,
splashMessages: splashMessages,
starterSelectUiHandler: starterSelectUiHandler,
+ statusEffect: statusEffect,
+ terrain: terrain,
titles: titles,
trainerClasses: trainerClasses,
trainerNames: trainerNames,
tutorial: tutorial,
voucher: voucher,
- weather: weather
+ weather: weather,
+ partyUiHandler: partyUiHandler,
+ modifierSelectUiHandler: modifierSelectUiHandler
};
diff --git a/src/locales/it/dialogue.ts b/src/locales/it/dialogue.ts
index faabab3077d..702b550c45a 100644
--- a/src/locales/it/dialogue.ts
+++ b/src/locales/it/dialogue.ts
@@ -1,4 +1,4 @@
-import {DialogueTranslationEntries, SimpleTranslationEntries} from "#app/plugins/i18n";
+import {DialogueTranslationEntries, SimpleTranslationEntries} from "#app/interfaces/locales";
// Dialogue of the NPCs in the game when the player character is male (or unset)
export const PGMdialogue: DialogueTranslationEntries = {
@@ -371,6 +371,198 @@ export const PGMdialogue: DialogueTranslationEntries = {
3: "Ow! I scorched the tip of my nose!"
},
},
+ "sailor": {
+ "encounter": {
+ 1: "Matey, you're walking the plank if you lose!",
+ 2: "Come on then! My sailor's pride is at stake!",
+ 3: "Ahoy there! Are you seasick?"
+ },
+ "victory": {
+ 1: "Argh! Beaten by a kid!",
+ 2: "Your spirit sank me!",
+ 3: "I think it's me that's seasick..."
+ },
+ },
+ "rocket_grunt": {
+ "encounter": {
+ 1: "Prepare for trouble!"
+ },
+ "victory": {
+ 1: "Team Rocket blasting off again!"
+ },
+ },
+ "magma_grunt": {
+ "encounter": {
+ 1: " If you get in the way of Team Magma, don’t expect any mercy!"
+ },
+ "victory": {
+ 1: "Huh? I lost?!"
+ },
+ },
+ "aqua_grunt": {
+ "encounter": {
+ 1: "No one who crosses Team Aqua gets any mercy, not even kids!"
+ },
+ "victory": {
+ 1: "You're kidding me!"
+ },
+ },
+ "galactic_grunt": {
+ "encounter": {
+ 1: "Don't mess with Team Galactic!"
+ },
+ "victory": {
+ 1: "Shut down..."
+ },
+ },
+ "plasma_grunt": {
+ "encounter": {
+ 1: "We won't tolerate people who have different ideas!"
+ },
+ "victory": {
+ 1: "Plasmaaaaaaaaa!"
+ },
+ },
+ "flare_grunt": {
+ "encounter": {
+ 1: "Fashion is most important to us!"
+ },
+ "victory": {
+ 1: "The future doesn't look bright for me."
+ },
+ },
+ "rocket_boss_giovanni_1": {
+ "encounter": {
+ 1: "So! I must say, I am impressed you got here!"
+ },
+ "victory": {
+ 1: "WHAT! This cannot be!"
+ },
+ "defeat": {
+ 1: "Mark my words. Not being able to measure your own strength shows that you are still a child."
+ }
+ },
+ "rocket_boss_giovanni_2": {
+ "encounter": {
+ 1: "My old associates need me... Are you going to get in my way?"
+ },
+ "victory": {
+ 1: "How is this possible...?\nThe precious dream of Team Rocket has become little more than an illusion..."
+ },
+ "defeat": {
+ 1: "Team Rocket will be reborn again, and I will rule the world!"
+ }
+ },
+ "magma_boss_maxie_1": {
+ "encounter": {
+ 1: "I will bury you by my own hand. I hope you appreciate this honor!"
+ },
+ "victory": {
+ 1: "Ugh! You are... quite capable...\nI fell behind, but only by an inch..."
+ },
+ "defeat": {
+ 1: "Team Magma will prevail!"
+ }
+ },
+ "magma_boss_maxie_2": {
+ "encounter": {
+ 1: "You are the final obstacle remaining between me and my goals.\nBrace yourself for my ultimate attack! Fuhahaha!"
+ },
+ "victory": {
+ 1: "This... This is not.. Ngh..."
+ },
+ "defeat": {
+ 1: "And now... I will transform this planet to a land ideal for humanity."
+ }
+ },
+ "aqua_boss_archie_1": {
+ "encounter": {
+ 1: "I'm leader of Team Aqua, so I'm afraid it's the rope's end for you."
+ },
+ "victory": {
+ 1: "Let's meet again somewhere. I'll be sure to remember that face."
+ },
+ "defeat": {
+ 1: "Brilliant! My team won't hold back now!"
+ }
+ },
+ "aqua_boss_archie_2": {
+ "encounter": {
+ 1: "I've been waiting so long for this day to come.\nThis is the true power of my team!"
+ },
+ "victory": {
+ 1: "Like I figured..."
+ },
+ "defeat": {
+ 1: "I'll return everything in this world to its original, pure state!!"
+ }
+ },
+ "galactic_boss_cyrus_1": {
+ "encounter": {
+ 1: "You were compelled to come here by such vacuous sentimentality\nI will make you regret paying heed to your heart!"
+ },
+ "victory": {
+ 1: "Interesting. And quite curious."
+ },
+ "defeat": {
+ 1: "I will create my new world..."
+ }
+ },
+ "galactic_boss_cyrus_2": {
+ "encounter": {
+ 1: "So we meet again. It seems our fates have become intertwined.\nBut here and now, I will finally break that bond!"
+ },
+ "victory": {
+ 1: "How? How? HOW?!"
+ },
+ "defeat": {
+ 1: "Farewell."
+ }
+ },
+ "plasma_boss_ghetsis_1": {
+ "encounter": {
+ 1: "I won't allow anyone to stop me! No matter who does what!"
+ },
+ "victory": {
+ 1: "How can this be? I'm the creator of Team Plasma! I'm perfect!"
+ },
+ "defeat": {
+ 1: "I am the perfect ruler of a perfect new world! Mwa ha ha!"
+ }
+ },
+ "plasma_boss_ghetsis_2": {
+ "encounter": {
+ 1: "Come now! I want to see your face at the moment you lose all hope!"
+ },
+ "victory": {
+ 1: "My calculations... No! My careful schemes! The world should be mine!"
+ },
+ "defeat": {
+ 1: "Kyurem! Use Absofusion!"
+ }
+ },
+ "flare_boss_lysandre_1": {
+ "encounter": {
+ 1: "Do you want to stop me? Show me in battle."
+ },
+ "victory": {
+ 1: "You are here to stop me. But I ask you to wait. "
+ },
+ "defeat": {
+ 1: "Pokemon...Shall no longer exist."
+ }
+ },
+ "flare_boss_lysandre_2": {
+ "encounter": {
+ 1: "The future you want, or the future I want... Let us see which one is more deserving, shall we?"
+ },
+ "victory": {
+ 1: "Whaugh!"
+ },
+ "defeat": {
+ 1: "Fools with no vision will continue to befoul this beautiful world."
+ }
+ },
"brock": {
"encounter": {
1: "My expertise on Rock-type Pokémon will take you down! Come on!",
@@ -2095,6 +2287,32 @@ export const PGMdialogue: DialogueTranslationEntries = {
2: "You got caught in my storm! Better luck next time!"
}
},
+ "alder": {
+ "encounter": {
+ 1: "Preparati ad affrontare l’allenatore più in gamba di Unima!"
+ },
+ "victory": {
+ 1: "Ben fatto! Hai un talento invidiabile."
+ },
+ "defeat": {
+ 1: `Un freddo vento attraversa il mio cuore...
+ $Che battaglia!`
+ }
+ },
+ "kieran": {
+ "encounter": {
+ 1: `Attraverso il duro lavoro, divento sempre più forte!
+ $Non perdo mai.`
+ },
+ "victory": {
+ 1: `Non posso crederci…
+ $Che battaglia mozzafiato!`
+ },
+ "defeat": {
+ 1: `Cavoli, che scontro!
+ $È ora che tu ti alleni ancora più duramente.`
+ }
+ },
"rival": {
"encounter": {
1: `@c{smile}Hey, I was looking for you! I knew you were eager to get going but I expected at least a goodbye…
diff --git a/src/locales/it/egg.ts b/src/locales/it/egg.ts
index e486122280b..c51f12065a1 100644
--- a/src/locales/it/egg.ts
+++ b/src/locales/it/egg.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const egg: SimpleTranslationEntries = {
"egg": "Uovo",
@@ -6,16 +6,23 @@ export const egg: SimpleTranslationEntries = {
"greatTier": "Raro",
"ultraTier": "Epico",
"masterTier": "Leggendario",
- "hatchWavesMessageSoon": "Si sentono dei suoni provenienti dall'interno! Si schiuderà presto!",
+ "hatchWavesMessageSoon": "Si sentono dei rumori provenienti dall'interno. Si schiuderà presto!",
"hatchWavesMessageClose": "Sembra muoversi di tanto in tanto. Potrebbe essere prossimo alla schiusa.",
- "hatchWavesMessageNotClose": "Cosa uscirà da qui? Non sembra si schiuderà presto.",
- "hatchWavesMessageLongTime": "Sembra che questo uovo impiegherà molto tempo per schiudersi.",
- "gachaTypeLegendary": "Tasso dei Leggendari Aumentato",
- "gachaTypeMove": "Tasso delle Mosse Rare delle Uova Aumentato",
- "gachaTypeShiny": "Tasso degli Shiny Aumentato",
- "selectMachine": "Seleziona un distributore.",
- "notEnoughVouchers": "Non hai abbastanza Biglietti!",
- "tooManyEggs": "Hai troppe Uova!",
- "pull": "Tiro",
- "pulls": "Tiri"
+ "hatchWavesMessageNotClose": "Cosa uscirà da qui? Pare che non si schiuderà presto.",
+ "hatchWavesMessageLongTime": "Sembra che questo uovo impiegherà ancora molto tempo per schiudersi.",
+ "gachaTypeLegendary": "Tasso dei leggendari aumentato",
+ "gachaTypeMove": "Tasso delle mosse rare da uova aumentato",
+ "gachaTypeShiny": "Tasso degli shiny aumentato",
+ "selectMachine": "Seleziona un macchinario.",
+ "notEnoughVouchers": "Non hai abbastanza biglietti!",
+ "tooManyEggs": "Hai troppe uova!",
+ "pull": "Estrazione",
+ "pulls": "Estrazioni",
+ "sameSpeciesEgg": "{{species}} will hatch from this egg!",
+ "hatchFromTheEgg": "Dall’Uovo è nato {{pokemonName}}!",
+ "eggMoveUnlock": "Egg Move unlocked: {{moveName}}",
+ "rareEggMoveUnlock": "Rare Egg Move unlocked: {{moveName}}",
+ "moveUPGacha": "Move UP!",
+ "shinyUPGacha": "Shiny UP!",
+ "legendaryUPGacha": "UP!",
} as const;
diff --git a/src/locales/it/fight-ui-handler.ts b/src/locales/it/fight-ui-handler.ts
index ee771263997..91f1c3c19f4 100644
--- a/src/locales/it/fight-ui-handler.ts
+++ b/src/locales/it/fight-ui-handler.ts
@@ -1,7 +1,9 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const fightUiHandler: SimpleTranslationEntries = {
"pp": "PP",
"power": "Potenza",
"accuracy": "Precisione",
+ "abilityFlyInText": "{{passive}} {{pokemonName}} {{abilityName}}",
+ "passive": "Passiva di ", // The space at the end is important
} as const;
diff --git a/src/locales/it/game-mode.ts b/src/locales/it/game-mode.ts
new file mode 100644
index 00000000000..88bc39e4a76
--- /dev/null
+++ b/src/locales/it/game-mode.ts
@@ -0,0 +1,10 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const gameMode: SimpleTranslationEntries = {
+ "classic": "Classica",
+ "endless": "Infinita",
+ "endlessSpliced": "Infinita (fusioni)",
+ "dailyRun": "Run giornaliera",
+ "unknown": "Sconosciuta",
+ "challenge": "Sfida",
+} as const;
diff --git a/src/locales/it/game-stats-ui-handler.ts b/src/locales/it/game-stats-ui-handler.ts
index 64e4e2af5e3..f4b5f80e23b 100644
--- a/src/locales/it/game-stats-ui-handler.ts
+++ b/src/locales/it/game-stats-ui-handler.ts
@@ -1,44 +1,44 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const gameStatsUiHandler: SimpleTranslationEntries = {
- "stats": "Stats",
- "playTime": "Play Time",
- "totalBattles": "Total Battles",
+ "stats": "Statistiche",
+ "playTime": "Tempo di gioco",
+ "totalBattles": "Battaglie totali",
"starters": "Starters",
- "shinyStarters": "Shiny Starters",
- "speciesSeen": "Species Seen",
- "speciesCaught": "Species Caught",
- "ribbonsOwned": "Ribbons Owned",
- "classicRuns": "Classic Runs",
- "classicWins": "Classic Wins",
- "dailyRunAttempts": "Daily Run Attempts",
- "dailyRunWins": "Daily Run Wins",
- "endlessRuns": "Endless Runs",
- "highestWaveEndless": "Highest Wave (Endless)",
- "highestMoney": "Highest Money",
- "highestDamage": "Highest Damage",
- "highestHPHealed": "Highest HP Healed",
- "pokemonEncountered": "Pokémon Encountered",
- "pokemonDefeated": "Pokémon Defeated",
- "pokemonCaught": "Pokémon Caught",
- "eggsHatched": "Eggs Hatched",
- "subLegendsSeen": "Sub-Legends Seen",
- "subLegendsCaught": "Sub-Legends Caught",
- "subLegendsHatched": "Sub-Legends Hatched",
- "legendsSeen": "Legends Seen",
- "legendsCaught": "Legends Caught",
- "legendsHatched": "Legends Hatched",
- "mythicalsSeen": "Mythicals Seen",
- "mythicalsCaught": "Mythicals Caught",
- "mythicalsHatched": "Mythicals Hatched",
- "shiniesSeen": "Shinies Seen",
- "shiniesCaught": "Shinies Caught",
- "shiniesHatched": "Shinies Hatched",
- "pokemonFused": "Pokémon Fused",
- "trainersDefeated": "Trainers Defeated",
- "eggsPulled": "Eggs Pulled",
- "rareEggsPulled": "Rare Eggs Pulled",
- "epicEggsPulled": "Epic Eggs Pulled",
- "legendaryEggsPulled": "Legendary Eggs Pulled",
- "manaphyEggsPulled": "Manaphy Eggs Pulled",
+ "shinyStarters": "Starters shiny",
+ "speciesSeen": "Specie viste",
+ "speciesCaught": "Specie catturate",
+ "ribbonsOwned": "Fiocchi ottenuti",
+ "classicRuns": "Run in modalità classica",
+ "classicWins": "Vittorie in modalità classica",
+ "dailyRunAttempts": "Tentativi di run giornaliere",
+ "dailyRunWins": "Run giornaliere vinte",
+ "endlessRuns": "Run in modalità infinita",
+ "highestWaveEndless": "Orda più alta raggiunta (Infinita)",
+ "highestMoney": "Patrimonio maggiore posseduto",
+ "highestDamage": "Danni maggiori inflitti",
+ "highestHPHealed": "PS maggiori rigenerati",
+ "pokemonEncountered": "Pokémon incontrati",
+ "pokemonDefeated": "Pokémon sconfitti",
+ "pokemonCaught": "Pokémon catturati",
+ "eggsHatched": "Uova schiuse",
+ "subLegendsSeen": "Semi-leggendari visti",
+ "subLegendsCaught": "Semi-leggendari catturati",
+ "subLegendsHatched": "Semi-leggendari schiusi",
+ "legendsSeen": "Leggendari visti",
+ "legendsCaught": "Leggendari catturati",
+ "legendsHatched": "Leggendari schiusi",
+ "mythicalsSeen": "Mitici visti",
+ "mythicalsCaught": "Mitici catturati",
+ "mythicalsHatched": "Mitici schiusi",
+ "shiniesSeen": "Shiny visti",
+ "shiniesCaught": "Shiny catturati",
+ "shiniesHatched": "Shiny schiusi",
+ "pokemonFused": "Pokémon fusi",
+ "trainersDefeated": "Allenatori sconfitti",
+ "eggsPulled": "Uova ottenute",
+ "rareEggsPulled": "Uova rare ottenute",
+ "epicEggsPulled": "Uova epiche ottenute",
+ "legendaryEggsPulled": "Uova leggendarie ottenute",
+ "manaphyEggsPulled": "Uova di Manaphy ottenute",
} as const;
diff --git a/src/locales/it/growth.ts b/src/locales/it/growth.ts
index 96edcac4d93..8132137d9fe 100644
--- a/src/locales/it/growth.ts
+++ b/src/locales/it/growth.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const growth: SimpleTranslationEntries = {
"Erratic": "Irregolare",
diff --git a/src/locales/it/menu-ui-handler.ts b/src/locales/it/menu-ui-handler.ts
index 8fc1721c734..5bd845448aa 100644
--- a/src/locales/it/menu-ui-handler.ts
+++ b/src/locales/it/menu-ui-handler.ts
@@ -1,23 +1,24 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const menuUiHandler: SimpleTranslationEntries = {
"GAME_SETTINGS": "Impostazioni",
- "ACHIEVEMENTS": "Risultati",
+ "ACHIEVEMENTS": "Obiettivi",
"STATS": "Statistiche",
"VOUCHERS": "Biglietti",
- "EGG_LIST": "Lista Uova",
- "EGG_GACHA": "Gacha Uova",
- "MANAGE_DATA": "Gestisci Dati",
+ "EGG_LIST": "Lista uova",
+ "EGG_GACHA": "Macchine uova",
+ "MANAGE_DATA": "Gestisci dati",
"COMMUNITY": "Community",
- "SAVE_AND_QUIT": "Salva ed Esci",
+ "SAVE_AND_QUIT": "Salva ed esci",
"LOG_OUT": "Disconnettiti",
"slot": "Slot {{slotNumber}}",
- "importSession": "Importa Sessione",
+ "importSession": "Importa sessione",
"importSlotSelect": "Seleziona uno slot in cui importare.",
- "exportSession": "Esporta Sessione",
+ "exportSession": "Esporta sessione",
"exportSlotSelect": "Seleziona uno slot da cui esportare.",
- "importData": "Importa Dati",
- "exportData": "Esporta Dati",
+ "importData": "Importa dati",
+ "exportData": "Esporta dati",
"cancel": "Annulla",
- "losingProgressionWarning": "Perderai tutti i progressi dall'inizio della battaglia. Procedere?"
+ "losingProgressionWarning": "Perderai tutti i progressi dall'inizio della battaglia. Confermi?",
+ "noEggs": "You are not hatching\nany eggs at the moment!"
} as const;
diff --git a/src/locales/it/menu.ts b/src/locales/it/menu.ts
index e891146f754..3e083d3d374 100644
--- a/src/locales/it/menu.ts
+++ b/src/locales/it/menu.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
/**
* The menu namespace holds most miscellaneous text that isn't directly part of the game's
@@ -8,13 +8,13 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n";
export const menu: SimpleTranslationEntries = {
"cancel": "Annulla",
"continue": "Continua",
- "newGame": "Nuova Partita",
- "loadGame": "Carica Partita",
- "settings": "Settings",
- "dailyRun": "Corsa Giornaliera (Beta)",
+ "newGame": "Nuova partita",
+ "loadGame": "Carica partita",
+ "settings": "Impostazioni",
+ "dailyRun": "Run giornaliera (Beta)",
"selectGameMode": "Seleziona una modalità di gioco.",
"logInOrCreateAccount": "Accedi o crea un nuovo account per iniziare. Non è richiesta un'email!",
- "username": "Nome Utente",
+ "username": "Nome utente",
"password": "Password",
"login": "Accedi",
"register": "Registrati",
@@ -27,28 +27,31 @@ export const menu: SimpleTranslationEntries = {
"accountNonExistent": "Account inesistente!",
"unmatchingPassword": "La password inserita non è corretta!",
"passwordNotMatchingConfirmPassword": "La password deve essere uguale alla conferma password!",
- "confirmPassword": "Conferma Password",
+ "confirmPassword": "Conferma password",
"registrationAgeWarning": "Registrandoti confermi di avere 13 anni o più.",
"backToLogin": "Torna all'accesso",
"failedToLoadSaveData": "Impossibile caricare i dati di salvataggio. Ricarica la pagina.\nSe il problema persiste, contatta l'amministratore.",
"sessionSuccess": "Sessione caricata correttamente.",
"failedToLoadSession": "Impossibile caricare i dati della sessione.\nPotrebbero essere danneggiati.",
"boyOrGirl": "Sei un ragazzo o una ragazza?",
- "boy": "Ragazzo",
- "girl": "Ragazza",
- "dailyRankings": "Classifica Giornaliera",
- "weeklyRankings": "Classifica Settimanale",
- "noRankings": "Nessuna Classifica",
+ "dailyRankings": "Classifica giornaliera",
+ "weeklyRankings": "Classifica settimanale",
+ "noRankings": "Nessuna classifica",
+ "positionIcon": "#",
+ "usernameScoreboard": "Username",
+ "score": "Score",
+ "wave": "Wave",
"loading": "Caricamento…",
- "playersOnline": "Giocatori Online",
- "evolving": "Cosa?\n{{pokemonName}} si evolvendo!",
+ "loadingAsset": "Caricamento asset: {{assetName}}",
+ "playersOnline": "Giocatori online",
+ "evolving": "Cosa?\n{{pokemonName}} si sta evolvendo!",
"stoppedEvolving": "{{pokemonName}} ha smesso di evolversi.",
- "pauseEvolutionsQuestion": "Vuoi sospendere le evoluzioni per {{pokemonName}}?\nLe evoluzioni possono essere riattivate dalla schermata del party.",
+ "pauseEvolutionsQuestion": "Vuoi sospendere le evoluzioni per {{pokemonName}}?\nPossono essere riattivate dalla schermata del party.",
"evolutionsPaused": "Le evoluzioni sono state sospese per {{pokemonName}}.",
"evolutionDone": "Congratulazioni!\n{{pokemonName}} si è evoluto in {{evolvedPokemonName}}!",
- "empty":"Vuoto",
"yes":"Si",
"no":"No",
"disclaimer": "DISCLAIMER",
- "disclaimerDescription": "This game is an unfinished product; it might have playability issues (including the potential loss of save data),\n change without notice, and may or may not be updated further or completed."
+ "disclaimerDescription": "Questo gioco è un prodotto incompleto; si potrebbero riscontrare errori (inclusa la perdita dei dati di salvataggio),\ncambiamenti impercettibili, e non è detto che venga aggiornato nel tempo o mai completato del tutto.",
+ "errorServerDown": "Oops! There was an issue contacting the server.\n\nYou may leave this window open,\nthe game will automatically reconnect.",
} as const;
diff --git a/src/locales/it/modifier-select-ui-handler.ts b/src/locales/it/modifier-select-ui-handler.ts
new file mode 100644
index 00000000000..f0852a7d87c
--- /dev/null
+++ b/src/locales/it/modifier-select-ui-handler.ts
@@ -0,0 +1,14 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const modifierSelectUiHandler: SimpleTranslationEntries = {
+ "transfer": "Trasferisci",
+ "reroll": "Rerolla",
+ "lockRarities": "Blocca le rarità",
+ "checkTeam": "Stato squadra",
+ "transferDesc": "Trasferisci un oggetto da un Pokémon ad un altro.",
+ "rerollDesc": "Spendi soldi per rerollare le ricompense.",
+ "lockRaritiesDesc": "Blocca le rarità al reroll (influisce sui costi).",
+ "checkTeamDesc": "Controlla la squadra Pokémon.",
+ "rerollCost": "{{formattedMoney}}₽",
+ "itemCost": "{{formattedMoney}}₽"
+} as const;
diff --git a/src/locales/it/modifier-type.ts b/src/locales/it/modifier-type.ts
index b311aa1e8fa..1d8b0232e70 100644
--- a/src/locales/it/modifier-type.ts
+++ b/src/locales/it/modifier-type.ts
@@ -1,239 +1,250 @@
-import { ModifierTypeTranslationEntries } from "#app/plugins/i18n";
+import { ModifierTypeTranslationEntries } from "#app/interfaces/locales";
export const modifierType: ModifierTypeTranslationEntries = {
ModifierType: {
"AddPokeballModifierType": {
name: "{{modifierCount}}x {{pokeballName}}",
- description: "Ricevi {{pokeballName}} x{{modifierCount}} (Inventario: {{pokeballAmount}}) \nTasso di cattura: {{catchRate}}",
+ description: "Ricevi {{pokeballName}} x{{modifierCount}} (Inventario: {{pokeballAmount}}) \nTasso di cattura: {{catchRate}}.",
},
"AddVoucherModifierType": {
- name: "{{modifierCount}}x {{voucherTypeName}}",
- description: "Ricevi {{voucherTypeName}} x{{modifierCount}}",
+ name: "{{modifierCount}}x {{voucherTypeName}}.",
+ description: "Ricevi {{voucherTypeName}} x{{modifierCount}}.",
},
"PokemonHeldItemModifierType": {
extra: {
"inoperable": "{{pokemonName}} non può prendere\nquesto oggetto!",
- "tooMany": "{{pokemonName}} ne ha troppi\ndi questo oggetto!",
+ "tooMany": "{{pokemonName}} possiede già\nquesto oggetto in abbondanza.",
}
},
"PokemonHpRestoreModifierType": {
- description: "Restituisce {{restorePoints}} PS o {{restorePercent}}% PS ad un Pokémon, a seconda del valore più alto",
+ description: "Restituisce {{restorePoints}} PS o {{restorePercent}}% PS ad un Pokémon, a seconda del valore più alto.",
extra: {
- "fully": "Restituisce tutti i PS ad un Pokémon",
- "fullyWithStatus": "Restituisce tutti i PS ad un Pokémon e lo cura da ogni stato",
+ "fully": "Restituisce tutti i PS ad un Pokémon.",
+ "fullyWithStatus": "Restituisce tutti i PS ad un Pokémon e lo cura da ogni problema di stato.",
}
},
"PokemonReviveModifierType": {
- description: "Rianima un Pokémon esausto e gli restituisce il {{restorePercent}}% PS",
+ description: "Rianima un Pokémon esausto e gli restituisce il {{restorePercent}}% dei PS totali.",
},
"PokemonStatusHealModifierType": {
- description: "Cura tutti i problemi di stato di un Pokémon",
+ description: "Cura tutti i problemi di stato di un Pokémon.",
},
"PokemonPpRestoreModifierType": {
- description: "Restituisce {{restorePoints}} PP per una mossa di un Pokémon ",
+ description: "Restituisce {{restorePoints}} PP per una mossa di un Pokémon.",
extra: {
- "fully": "Restituisce tutti i PP di una mossa",
+ "fully": "Restituisce tutti i PP di una mossa.",
}
},
"PokemonAllMovePpRestoreModifierType": {
- description: "Restituisce {{restorePoints}} PP a tutte le mosse di un Pokémon",
+ description: "Restituisce {{restorePoints}} PP a tutte le mosse di un Pokémon.",
extra: {
- "fully": "Restituisce tutti i PP a tutte le mosse di un Pokémon",
+ "fully": "Restituisce tutti i PP a tutte le mosse di un Pokémon.",
}
},
"PokemonPpUpModifierType": {
- description: "Aumenta i PP di una mossa di {{upPoints}} per ogni 5 PP (massimo 3)",
+ description: "Aumenta i PP di una mossa di {{upPoints}} per ogni 5 PP (massimo 3).",
},
"PokemonNatureChangeModifierType": {
- name: "Menta {{natureName}}",
- description: "Cambia la natura del Pokémon in {{natureName}} e sblocca la natura per il Pokémon iniziale",
+ name: "Menta {{natureName}}.",
+ description: "Cambia la natura del Pokémon in {{natureName}} e sblocca la natura nel menu degli starter.",
},
"DoubleBattleChanceBoosterModifierType": {
- description: "Raddoppia la possibilità di imbattersi in doppie battaglie per {{battleCount}} battaglie",
+ description: "Raddoppia la possibilità di imbattersi in doppie battaglie per {{battleCount}} battaglie.",
},
"TempBattleStatBoosterModifierType": {
- description: "Aumenta {{tempBattleStatName}} di un livello a tutti i Pokémon nel gruppo per 5 battaglie",
+ description: "Aumenta {{tempBattleStatName}} di un livello a tutti i Pokémon nel gruppo per 5 battaglie.",
},
"AttackTypeBoosterModifierType": {
- description: "Aumenta la potenza delle mosse di tipo {{moveType}} del 20% per un Pokémon",
+ description: "Aumenta la potenza delle mosse di tipo {{moveType}} del 20% per un Pokémon.",
},
"PokemonLevelIncrementModifierType": {
- description: "Fa salire un Pokémon di un livello",
+ description: "Fa salire un Pokémon di un livello.",
},
"AllPokemonLevelIncrementModifierType": {
- description: "Aumenta il livello di tutti i Pokémon nel gruppo di 1",
+ description: "Aumenta il livello di tutti i Pokémon nel gruppo di 1.",
},
"PokemonBaseStatBoosterModifierType": {
- description: "Aumenta {{statName}} di base del possessore del 10%",
+ description: "Aumenta {{statName}} di base del possessore del 10%.",
},
"AllPokemonFullHpRestoreModifierType": {
- description: "Recupera il 100% dei PS per tutti i Pokémon",
+ description: "Restituisce il 100% dei PS a tutti i Pokémon.",
},
"AllPokemonFullReviveModifierType": {
- description: "Rianima tutti i Pokémon esausti restituendogli tutti i PS",
+ description: "Rianima tutti i Pokémon esausti restituendogli tutti i PS.",
},
"MoneyRewardModifierType": {
- description: "Garantisce una {{moneyMultiplier}} quantità di soldi (₽{{moneyAmount}})",
+ description: "Garantisce una {{moneyMultiplier}} quantità di soldi (₽{{moneyAmount}}).",
extra: {
- "small": "poca",
+ "small": "contenuta",
"moderate": "moderata",
"large": "grande",
},
},
"ExpBoosterModifierType": {
- description: "Aumenta il guadagno di Punti Esperienza del {{boostPercent}}%",
+ description: "Aumenta il guadagno di Punti Esperienza del {{boostPercent}}%.",
},
"PokemonExpBoosterModifierType": {
- description: "Aumenta il guadagno di Punti Esperienza del possessore del {{boostPercent}}%",
+ description: "Aumenta il guadagno di Punti Esperienza del possessore del {{boostPercent}}%.",
},
"PokemonFriendshipBoosterModifierType": {
- description: "Aumenta del 50% il guadagno di amicizia per vittoria",
+ description: "Aumenta del 50% il guadagno di amicizia per vittoria.",
},
"PokemonMoveAccuracyBoosterModifierType": {
- description: "Aumenta l'accuratezza delle mosse di {{accuracyAmount}} (massimo 100)",
+ description: "Aumenta la precisione delle mosse di {{accuracyAmount}} (massimo 100).",
},
"PokemonMultiHitModifierType": {
- description: "Gli attacchi colpiscono una volta in più al costo di una riduzione di potenza del 60/75/82,5% per mossa",
+ description: "Gli attacchi colpiscono una volta in più al costo di una riduzione di potenza del 60/75/82,5% per mossa.",
},
"TmModifierType": {
+ name: "MT{{moveId}} - {{moveName}}.",
+ description: "Insegna {{moveName}} a un Pokémon.",
+ },
+ "TmModifierTypeWithInfo": {
name: "MT{{moveId}} - {{moveName}}",
- description: "Insegna {{moveName}} a un Pokémon",
+ description: "Insegna {{moveName}} a un Pokémon\n(Hold C or Shift for more info).",
},
"EvolutionItemModifierType": {
- description: "Fa evolvere determinate specie di Pokémon",
+ description: "Fa evolvere determinate specie di Pokémon.",
},
"FormChangeItemModifierType": {
- description: "Fa cambiare forma a determinati Pokémon",
+ description: "Fa cambiare forma a determinati Pokémon.",
},
"FusePokemonModifierType": {
- description: "Combina due Pokémon (trasferisce i poteri, divide le statistiche e i tipi base, condivide il pool di mosse)",
+ description: "Combina due Pokémon (trasferisce i poteri, divide le statistiche e i tipi base, condivide il pool di mosse).",
},
"TerastallizeModifierType": {
name: "Teralite {{teraType}}",
- description: "Teracristallizza in {{teraType}} il possessore per massimo 10 battaglie",
+ description: "Teracristallizza in {{teraType}} il possessore per massimo 10 battaglie.",
},
"ContactHeldItemTransferChanceModifierType": {
- description: "Quando si attacca, c'è una probabilità del {{chancePercent}}% che l'oggetto in possesso del nemico venga rubato",
+ description: "Quando il possessore attacca, c'è una probabilità del {{chancePercent}}% che l'oggetto in possesso del nemico gli venga rubato.",
},
"TurnHeldItemTransferModifierType": {
- description: "Ogni turno, il possessore acquisisce un oggetto posseduto dal nemico",
+ description: "Ogni turno, il possessore acquisisce un oggetto posseduto dal nemico.",
},
"EnemyAttackStatusEffectChanceModifierType": {
- description: "Aggiunge una probabilità del {{chancePercent}}% di infliggere {{statusEffect}} con le mosse d'attacco",
+ description: "Aggiunge una probabilità del {{chancePercent}}% di infliggere {{statusEffect}} con le mosse d'attacco.",
},
"EnemyEndureChanceModifierType": {
- description: "Aggiunge una probabilità del {{probabilitàPercent}}% di resistere ad un colpo",
+ description: "Aggiunge una probabilità del {{probabilitàPercent}}% di resistere ad un colpo.",
},
- "RARE_CANDY": { name: "Caramella Rara" },
- "RARER_CANDY": { name: "Caramella Molto Rara" },
+ "RARE_CANDY": { name: "Caramella rara" },
+ "RARER_CANDY": { name: "Caramella molto rara" },
- "MEGA_BRACELET": { name: "Megapolsiera", description: "Le Megapietre sono disponibili" },
- "DYNAMAX_BAND": { name: "Polsino Dynamax", description: "I Fungomax sono disponibili" },
- "TERA_ORB": { name: "Terasfera", description: "I Teraliti sono disponibili" },
+ "MEGA_BRACELET": { name: "Megapolsiera", description: "Le megapietre diventano disponibili." },
+ "DYNAMAX_BAND": { name: "Polsino Dynamax", description: "I fungomax diventano disponibili." },
+ "TERA_ORB": { name: "Terasfera", description: "I teraliti diventano disponibili." },
- "MAP": { name: "Mappa", description: "Permette di scegliere la propria strada a un bivio" },
+ "MAP": { name: "Mappa", description: "Permette di scegliere la propria strada a un bivio." },
"POTION": { name: "Pozione" },
"SUPER_POTION": { name: "Superpozione" },
"HYPER_POTION": { name: "Iperpozione" },
- "MAX_POTION": { name: "Pozione Max" },
- "FULL_RESTORE": { name: "Ricarica Totale" },
+ "MAX_POTION": { name: "Pozione max" },
+ "FULL_RESTORE": { name: "Ricarica totale" },
"REVIVE": { name: "Revitalizzante" },
- "MAX_REVIVE": { name: "Revitalizzante Max" },
+ "MAX_REVIVE": { name: "Revitalizzante max" },
- "FULL_HEAL": { name: "Cura Totale" },
+ "FULL_HEAL": { name: "Cura totale" },
- "SACRED_ASH": { name: "Cenere Magica" },
+ "SACRED_ASH": { name: "Cenere magica" },
- "REVIVER_SEED": { name: "Revitalseme", description: "Il possessore recupera 1/2 di PS in caso di svenimento" },
+ "REVIVER_SEED": { name: "Revitalseme", description: "Il possessore recupera 1/2 di PS in caso di KO causato da un colpo diretto." },
"ETHER": { name: "Etere" },
- "MAX_ETHER": { name: "Etere Max" },
+ "MAX_ETHER": { name: "Etere max" },
"ELIXIR": { name: "Elisir" },
- "MAX_ELIXIR": { name: "Elisir Max" },
+ "MAX_ELIXIR": { name: "Elisir max" },
"PP_UP": { name: "PP-su" },
"PP_MAX": { name: "PP-max" },
- "LURE": { name: "Profumo Invito" },
- "SUPER_LURE": { name: "Profumo Invito Super" },
- "MAX_LURE": { name: "Profumo Invito Max" },
+ "LURE": { name: "Esca" },
+ "SUPER_LURE": { name: "Super esca" },
+ "MAX_LURE": { name: "Esca max" },
- "MEMORY_MUSHROOM": { name: "Fungo della Memoria", description: "Ricorda la mossa dimenticata di un Pokémon" },
+ "MEMORY_MUSHROOM": { name: "Fungo della memoria", description: "Permette di insegnare nuovamente una mossa dimenticata ad un Pokémon." },
- "EXP_SHARE": { name: "Condividi Esperienza", description: "Tutti i Pokémon della squadra ricevono il 20% dei Punti Esperienza dalla lotta anche se non vi hanno partecipato" },
- "EXP_BALANCE": { name: "Bilancia Esperienza", description: "Bilancia i Punti Esperienza ricevuti verso i Pokémon del gruppo di livello inferiore" },
+ "EXP_SHARE": { name: "Condividi esperienza", description: "Tutti i Pokémon della squadra ricevono il 20% dei Punti Esperienza dalla lotta, anche se non vi hanno partecipato." },
+ "EXP_BALANCE": { name: "Bilancia esperienza", description: "Bilancia i Punti Esperienza ricevuti verso i Pokémon della squadra di livello inferiore." },
- "OVAL_CHARM": { name: "Ovamuleto", description: "Quando più Pokémon partecipano a una battaglia, ognuno di essi riceve il 10% in più dell'esperienza totale" },
+ "OVAL_CHARM": { name: "Ovamuleto", description: "Quando più Pokémon partecipano a una battaglia, ognuno di essi riceve il 10% in più dell'esperienza totale." },
"EXP_CHARM": { name: "Esperienzamuleto" },
- "SUPER_EXP_CHARM": { name: "Esperienzamuleto Super" },
- "GOLDEN_EXP_CHARM": { name: "Esperienzamuleto Oro" },
+ "SUPER_EXP_CHARM": { name: "Esperienzamuleto super" },
+ "GOLDEN_EXP_CHARM": { name: "Esperienzamuleto dorato" },
- "LUCKY_EGG": { name: "Uovo Fortunato" },
- "GOLDEN_EGG": { name: "Uovo d'Oro" },
+ "LUCKY_EGG": { name: "Fortunuovo" },
+ "GOLDEN_EGG": { name: "Uovo dorato" },
"SOOTHE_BELL": { name: "Calmanella" },
+ "EVIOLITE": { name: "Evolcondensa", description: "Misteriosa materia evolutiva. Aumenta la Difesa e la Difesa Speciale di un Pokémon che può ancora evolversi." },
- "SOUL_DEW": { name: "Cuorugiada", description: "Aumenta del 10% l'influenza della natura di un Pokémon sulle sue statistiche (Aggiuntivo)" },
+ "SOUL_DEW": { name: "Cuorugiada", description: "Aumenta del 10% l'influenza della natura di un Pokémon sulle sue statistiche (cumulativo)." },
"NUGGET": { name: "Pepita" },
"BIG_NUGGET": { name: "Granpepita" },
- "RELIC_GOLD": { name: " Dobloantico" },
+ "RELIC_GOLD": { name: "Dobloantico" },
- "AMULET_COIN": { name: "Monetamuleto", description: "Aumenta le ricompense in denaro del 20%" },
- "GOLDEN_PUNCH": { name: "Pugno Dorato", description: "Garantisce il 50% dei danni inflitti come denaro" },
- "COIN_CASE": { name: " Salvadanaio", description: "Dopo ogni 10° battaglia, riceverete il 10% del vostro denaro in interessi" },
+ "AMULET_COIN": { name: "Monetamuleto", description: "Aumenta le ricompense in denaro del 20%." },
+ "GOLDEN_PUNCH": { name: "Pugno dorato", description: "Fornisce il 50% dei danni inflitti sottoforma di denaro." },
+ "COIN_CASE": { name: "Salvadanaio", description: "Dopo ogni 10° battaglia, fornisce il 10% del proprio denaro in interessi." },
- "LOCK_CAPSULE": { name: "Capsula Scrigno", description: "Permette di bloccare le rarità degli oggetti quando si fa un reroll degli oggetti" },
+ "LOCK_CAPSULE": { name: "Capsula scrigno", description: "Permette di bloccare le rarità degli oggetti quando si fa un reroll (i costi variano in base alle rarità)." },
"GRIP_CLAW": { name: "Presartigli" },
"WIDE_LENS": { name: "Grandelente" },
"MULTI_LENS": { name: "Multilente" },
- "HEALING_CHARM": { name: "Curamuleto", description: "Aumenta del 10% l'efficacia delle mosse e degli oggetti che ripristinano i PS (escluse le rianimazioni)" },
- "CANDY_JAR": { name: "Barattolo di caramelle", description: "Aumenta di 1 il numero di livelli aggiunti dalle Caramelle Rare" },
+ "HEALING_CHARM": { name: "Curamuleto", description: "Aumenta del 10% l'efficacia delle mosse e degli oggetti che ripristinano i PS (escluse le rianimazioni)." },
+ "CANDY_JAR": { name: "Barattolo di caramelle", description: "Aumenta di 1 il numero di livelli aggiunti dalle caramelle rare." },
- "BERRY_POUCH": { name: "Porta Bacche", description: "Aggiunge il 30% di possibilità che una bacca usata non venga consumata" },
+ "BERRY_POUCH": { name: "Porta bacche", description: "Aggiunge il 30% di possibilità che una bacca usata non venga consumata." },
- "FOCUS_BAND": { name: "Bandana", description: "Chi ce l'ha ottiene il 10% di possibilità aggiuntivo di evitare un potenziale KO e rimanere con un solo PS" },
+ "FOCUS_BAND": { name: "Bandana", description: "Il possessore ottiene il 10% di possibilità aggiuntivo di evitare un potenziale KO e rimanere con un solo PS." },
- "QUICK_CLAW": { name: "Rapidartigli", description: "Aggiunge una probabilità del 10% di muoversi per primi, indipendentemente dalla velocità (dopo la priorità)" },
+ "QUICK_CLAW": { name: "Rapidartigli", description: "Aggiunge una probabilità del 10% di muoversi per primi, indipendentemente dalla velocità (priorità escluse)." },
- "KINGS_ROCK": { name: "Roccia di re", description: "Aggiunge il 10% di possibilità che una mossa d'attacco faccia tentennare l'avversario" },
+ "KINGS_ROCK": { name: "Roccia di re", description: "Aggiunge il 10% di possibilità che una mossa d'attacco faccia tentennare l'avversario." },
- "LEFTOVERS": { name: "Avanzi", description: "Ripristina 1/16 dei PS massimi di un Pokémon ogni turno" },
- "SHELL_BELL": { name: "Conchinella", description: "Guarisce 1/8 del danno inflitto a un Pokémon" },
+ "LEFTOVERS": { name: "Avanzi", description: "Ripristina 1/16 dei PS massimi di un Pokémon ogni turno." },
+ "SHELL_BELL": { name: "Conchinella", description: "Cura il possessore di 1/8 del danno inflitto ad un Pokémon." },
- "TOXIC_ORB": { name: "Tossicsfera", description: "Sfera bizzarra che iperavvelena chi l’ha con sé in una lotta" },
- "FLAME_ORB": { name: "Fiammosfera", description: "Sfera bizzarra che procura una scottatura a chi l’ha con sé in una lotta" },
+ "TOXIC_ORB": { name: "Tossicsfera", description: "Sfera bizzarra che iperavvelena chi l’ha con sé in una lotta." },
+ "FLAME_ORB": { name: "Fiammosfera", description: "Sfera bizzarra che procura una scottatura a chi l’ha con sé in una lotta." },
- "BATON": { name: "Staffetta", description: "Permette di trasmettere gli effetti quando si cambia Pokémon, aggirando anche le trappole" },
+ "BATON": { name: "Staffetta", description: "Permette di trasmettere gli effetti quando si cambia Pokémon, aggirando anche le trappole." },
- "SHINY_CHARM": { name: "Cromamuleto", description: "Misterioso amuleto luminoso che aumenta la probabilità di incontrare Pokémon cromatici" },
- "ABILITY_CHARM": { name: "Abilitamuleto", description: "Aumenta drasticamente la possibilità che un Pokémon selvatico abbia un'abilità nascosta" },
+ "SHINY_CHARM": { name: "Cromamuleto", description: "Misterioso amuleto luminoso che aumenta la probabilità di incontrare Pokémon cromatici." },
+ "ABILITY_CHARM": { name: "Abilitamuleto", description: "Aumenta drasticamente la possibilità che un Pokémon selvatico abbia un'abilità nascosta." },
- "IV_SCANNER": { name: "Scanner IV", description: "Permette di scansionare gli IV dei Pokémon selvatici. Vengono rivelati 2 IV per pila. I migliori IV vengono mostrati per primi" },
+ "IV_SCANNER": { name: "Scanner IV", description: "Permette di scansionare gli IV dei Pokémon selvatici. Vengono rivelati 2 IV per ogni scanner. I migliori IV vengono mostrati per primi." },
- "DNA_SPLICERS": { name: " Cuneo DNA" },
+ "DNA_SPLICERS": { name: "Cuneo DNA" },
- "MINI_BLACK_HOLE": { name: "Piccolo Buco Nero" },
+ "MINI_BLACK_HOLE": { name: "Piccolo buco nero" },
- "GOLDEN_POKEBALL": { name: "Poké Ball Oro", description: "Aggiunge 1 opzione di oggetto extra alla fine di ogni battaglia" },
+ "GOLDEN_POKEBALL": { name: "Poké Ball dorata", description: "Aggiunge 1 opzione di oggetto extra alla fine di ogni battaglia." },
- "ENEMY_DAMAGE_BOOSTER": { name: "Gettone del Danno", description: "Aumenta il danno del 5%" },
- "ENEMY_DAMAGE_REDUCTION": { name: "Gettone della Protezione", description: "Riduce i danni ricevuti del 2.5%" },
- "ENEMY_HEAL": { name: "Gettone del Recupero", description: "Cura il 2% dei PS massimi ogni turno" },
- "ENEMY_ATTACK_POISON_CHANCE": { name: "Gettone del Veleno" },
- "ENEMY_ATTACK_PARALYZE_CHANCE": { name: "Gettone della Paralisi" },
- "ENEMY_ATTACK_BURN_CHANCE": { name: "Gettone della Bruciatura" },
- "ENEMY_STATUS_EFFECT_HEAL_CHANCE": { name: "Gettone Guarigione Completa", description: "Aggiunge una probabilità del 2.5% a ogni turno di curare una condizione di stato" },
- "ENEMY_ENDURE_CHANCE": { name: "Gettone di Resistenza" },
- "ENEMY_FUSED_CHANCE": { name: "Gettone della fusione", description: "Aggiunge l'1% di possibilità che un Pokémon selvatico sia una fusione" },
+ "ENEMY_DAMAGE_BOOSTER": { name: "Gettone del danno", description: "Aumenta i danni inflitti del 5%." },
+ "ENEMY_DAMAGE_REDUCTION": { name: "Gettone della protezione", description: "Riduce i danni ricevuti del 2.5%." },
+ "ENEMY_HEAL": { name: "Gettone del recupero", description: "Cura il 2% dei PS massimi ogni turno." },
+ "ENEMY_ATTACK_POISON_CHANCE": { name: "Gettone del veleno" },
+ "ENEMY_ATTACK_PARALYZE_CHANCE": { name: "Gettone della paralisi" },
+ "ENEMY_ATTACK_BURN_CHANCE": { name: "Gettone della bruciatura" },
+ "ENEMY_STATUS_EFFECT_HEAL_CHANCE": { name: "Gettone guarigione completa", description: "Aggiunge una probabilità del 2.5% a ogni turno di guarire da un problema di stato." },
+ "ENEMY_ENDURE_CHANCE": { name: "Gettone di resistenza" },
+ "ENEMY_FUSED_CHANCE": { name: "Gettone della fusione", description: "Aggiunge l'1% di possibilità che un Pokémon selvatico sia una fusione." },
+ },
+ SpeciesBoosterItem: {
+ "LIGHT_BALL": { name: "Elettropalla", description: "Strumento da dare a Pikachu. Sfera insolita che aumenta l’Attacco e l’Attacco Speciale." },
+ "THICK_CLUB": { name: "Osso spesso", description: "Strumento da dare a Cubone o Marowak. Osso duro che aumenta l’Attacco." },
+ "METAL_POWDER": { name: "Metalpolvere", description: "Strumento da dare a Ditto. Strana polvere finissima e al tempo stesso dura che migliora la Difesa." },
+ "QUICK_POWDER": { name: "Velopolvere", description: "Strumento da dare a Ditto. Questa strana polvere, fine e al contempo dura, aumenta la Velocità." }
},
TempBattleStatBoosterItem: {
"x_attack": "Attacco X",
@@ -244,6 +255,19 @@ export const modifierType: ModifierTypeTranslationEntries = {
"x_accuracy": "Precisione X",
"dire_hit": "Supercolpo",
},
+
+ TempBattleStatBoosterStatName: {
+ "ATK": "Attacco",
+ "DEF": "Difesa",
+ "SPATK": "Att. Speciale",
+ "SPDEF": "Dif. Speciale",
+ "SPD": "Velocità",
+ "ACC": "Precisione",
+ "CRIT": "Tasso di brutti colpi",
+ "EVA": "Elusione",
+ "DEFAULT": "???",
+ },
+
AttackTypeBoosterItem: {
"silk_scarf": "Sciarpa seta",
"black_belt": "Cinturanera",
@@ -384,5 +408,43 @@ export const modifierType: ModifierTypeTranslationEntries = {
"BURN_DRIVE": "Piromodulo",
"CHILL_DRIVE": "Gelomodulo",
"DOUSE_DRIVE": "Idromodulo",
+
+ "FIST_PLATE": "Lastrapugno",
+ "SKY_PLATE": "Lastracielo",
+ "TOXIC_PLATE": "Lastrafiele",
+ "EARTH_PLATE": "Lastrageo",
+ "STONE_PLATE": "Lastrapietra",
+ "INSECT_PLATE": "Lastrabaco",
+ "SPOOKY_PLATE": "Lastratetra",
+ "IRON_PLATE": "Lastraferro",
+ "FLAME_PLATE": "Lastrarogo",
+ "SPLASH_PLATE": "Lastraidro",
+ "MEADOW_PLATE": "Lastraprato",
+ "ZAP_PLATE": "Lastrasaetta",
+ "MIND_PLATE": "Lastramente",
+ "ICICLE_PLATE": "Lastragelo",
+ "DRACO_PLATE": "Lastradrakon",
+ "DREAD_PLATE": "Lastratimore",
+ "PIXIE_PLATE": "Lastraspiritello",
+ "BLANK_PLATE": "Lastraripristino",
+ "LEGEND_PLATE": "Lastraleggenda",
+ "FIGHTING_MEMORY": "ROM Lotta",
+ "FLYING_MEMORY": "ROM Volante",
+ "POISON_MEMORY": "ROM Veleno",
+ "GROUND_MEMORY": "ROM Terra",
+ "ROCK_MEMORY": "ROM Roccia",
+ "BUG_MEMORY": "ROM Coleottero",
+ "GHOST_MEMORY": "ROM Spettro",
+ "STEEL_MEMORY": "ROM Acciaio",
+ "FIRE_MEMORY": "ROM Fuoco",
+ "WATER_MEMORY": "ROM Acqua",
+ "GRASS_MEMORY": "ROM Erba",
+ "ELECTRIC_MEMORY": "ROM Elettro",
+ "PSYCHIC_MEMORY": "ROM Psico",
+ "ICE_MEMORY": "ROM Ghiaccio",
+ "DRAGON_MEMORY": "ROM Drago",
+ "DARK_MEMORY": "ROM Buio",
+ "FAIRY_MEMORY": "ROM Folletto",
+ "BLANK_MEMORY": "ROM Vuota",
},
} as const;
diff --git a/src/locales/it/modifier.ts b/src/locales/it/modifier.ts
new file mode 100644
index 00000000000..d3da4c2150b
--- /dev/null
+++ b/src/locales/it/modifier.ts
@@ -0,0 +1,12 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const modifier: SimpleTranslationEntries = {
+ "surviveDamageApply": "{{pokemonNameWithAffix}} hung on\nusing its {{typeName}}!",
+ "turnHealApply": "{{pokemonNameWithAffix}} restored a little HP using\nits {{typeName}}!",
+ "hitHealApply": "{{pokemonNameWithAffix}} restored a little HP using\nits {{typeName}}!",
+ "pokemonInstantReviveApply": "{{pokemonNameWithAffix}} was revived\nby its {{typeName}}!",
+ "moneyInterestApply": "You received interest of ₽{{moneyAmount}}\nfrom the {{typeName}}!",
+ "turnHeldItemTransferApply": "{{pokemonNameWithAffix}}'s {{itemName}} was absorbed\nby {{pokemonName}}'s {{typeName}}!",
+ "contactHeldItemTransferApply": "{{pokemonNameWithAffix}}'s {{itemName}} was snatched\nby {{pokemonName}}'s {{typeName}}!",
+ "enemyTurnHealApply": "{{pokemonNameWithAffix}}\nrestored some HP!",
+} as const;
diff --git a/src/locales/it/move.ts b/src/locales/it/move.ts
index f13e8fded5c..a7ebd605f18 100644
--- a/src/locales/it/move.ts
+++ b/src/locales/it/move.ts
@@ -1,4 +1,4 @@
-import { MoveTranslationEntries } from "#app/plugins/i18n";
+import { MoveTranslationEntries } from "#app/interfaces/locales";
export const move: MoveTranslationEntries = {
pound: {
@@ -2931,7 +2931,7 @@ export const move: MoveTranslationEntries = {
},
bouncyBubble: {
name: "Bollaslurp",
- effect: "Chi la usa colpisce il bersaglio con una raffica di bolle, per poi assorbirle e recuperare una quantità di PS pari alla metà del danno inferto.",
+ effect: "Chi la usa colpisce il bersaglio con una raffica di bolle, per poi assorbirle e recuperare una quantità di PS pari alla del danno inferto.",
},
buzzyBuzz: {
name: "Elettrozap",
diff --git a/src/locales/it/nature.ts b/src/locales/it/nature.ts
index cf620e1a105..3c6e8b4d29f 100644
--- a/src/locales/it/nature.ts
+++ b/src/locales/it/nature.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const nature: SimpleTranslationEntries = {
"Hardy": "Ardita",
@@ -15,7 +15,7 @@ export const nature: SimpleTranslationEntries = {
"Hasty": "Lesta",
"Serious": "Seria",
"Jolly": "Allegra",
- "Naive": "Ingenuaa",
+ "Naive": "Ingenua",
"Modest": "Modesta",
"Mild": "Mite",
"Quiet": "Quieta",
diff --git a/src/locales/it/party-ui-handler.ts b/src/locales/it/party-ui-handler.ts
new file mode 100644
index 00000000000..86966a6e7f9
--- /dev/null
+++ b/src/locales/it/party-ui-handler.ts
@@ -0,0 +1,53 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const partyUiHandler: SimpleTranslationEntries = {
+ "SEND_OUT": "Manda in campo",
+ "SUMMARY": "Sommario",
+ "CANCEL": "Annulla",
+ "RELEASE": "Rilascia",
+ "APPLY": "Applica",
+ "TEACH": "Insegna",
+ "SPLICE": "Splice",
+ "UNSPLICE": "Unsplice",
+ "ACTIVATE": "Activate",
+ "DEACTIVATE": "Deactivate",
+ "TRANSFER": "Transfer",
+ "ALL": "All",
+ "PASS_BATON": "Pass Baton",
+ "UNPAUSE_EVOLUTION": "Unpause Evolution",
+ "REVIVE": "Revive",
+
+ "choosePokemon": "Choose a Pokémon.",
+ "doWhatWithThisPokemon": "Do what with this Pokémon?",
+ "noEnergy": "{{pokemonName}} has no energy\nleft to battle!",
+ "hasEnergy": "{{pokemonName}} still has energy\nto battle!",
+ "cantBeUsed": "{{pokemonName}} can't be used in\nthis challenge!",
+ "tooManyItems": "{{pokemonName}} has too many\nof this item!",
+ "anyEffect": "It won't have any effect.",
+ "unpausedEvolutions": "Evolutions have been unpaused for {{pokemonName}}.",
+ "unspliceConfirmation": "Do you really want to unsplice {{fusionName}}\nfrom {{pokemonName}}? {{fusionName}} will be lost.",
+ "wasReverted": "{{fusionName}} was reverted to {{pokemonName}}.",
+ "releaseConfirmation": "Do you really want to release {{pokemonName}}?",
+ "releaseInBattle": "You can't release a Pokémon that's in battle!",
+ "selectAMove": "Select a move.",
+ "changeQuantity": "Select a held item to transfer.\nUse < and > to change the quantity.",
+ "selectAnotherPokemonToSplice": "Select another Pokémon to splice.",
+ "cancel": "Cancel",
+
+ // Slot TM text
+ "able": "Able",
+ "notAble": "Not able",
+ "learned": "Learned",
+
+ // Releasing messages
+ "goodbye": "Goodbye, {{pokemonName}}!",
+ "byebye": "Byebye, {{pokemonName}}!",
+ "farewell": "Farewell, {{pokemonName}}!",
+ "soLong": "So long, {{pokemonName}}!",
+ "thisIsWhereWePart": "This is where we part, {{pokemonName}}!",
+ "illMissYou": "I'll miss you, {{pokemonName}}!",
+ "illNeverForgetYou": "I'll never forget you, {{pokemonName}}!",
+ "untilWeMeetAgain": "Until we meet again, {{pokemonName}}!",
+ "sayonara": "Sayonara, {{pokemonName}}!",
+ "smellYaLater": "Smell ya later, {{pokemonName}}!",
+} as const;
diff --git a/src/locales/it/pokeball.ts b/src/locales/it/pokeball.ts
index a07e4c2ca7d..df556415670 100644
--- a/src/locales/it/pokeball.ts
+++ b/src/locales/it/pokeball.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const pokeball: SimpleTranslationEntries = {
"pokeBall": "Poké Ball",
@@ -6,5 +6,5 @@ export const pokeball: SimpleTranslationEntries = {
"ultraBall": "Ultra Ball",
"rogueBall": "Rogue Ball",
"masterBall": "Master Ball",
- "luxuryBall": "Chich Ball",
+ "luxuryBall": "Chic Ball",
} as const;
diff --git a/src/locales/it/pokemon-info-container.ts b/src/locales/it/pokemon-info-container.ts
index 068c9ebb431..03d83a1e6d7 100644
--- a/src/locales/it/pokemon-info-container.ts
+++ b/src/locales/it/pokemon-info-container.ts
@@ -1,11 +1,8 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const pokemonInfoContainer: SimpleTranslationEntries = {
- "moveset": "Moveset",
- "gender": "Gender:",
- "ability": "Ability:",
- "nature": "Nature:",
- "epic": "Epic",
- "rare": "Rare",
- "common": "Common"
+ "moveset": "Set di mosse",
+ "gender": "Genere:",
+ "ability": "Abilità:",
+ "nature": "Natura:",
} as const;
diff --git a/src/locales/it/pokemon-info.ts b/src/locales/it/pokemon-info.ts
index 6da12e30720..9d8780e656b 100644
--- a/src/locales/it/pokemon-info.ts
+++ b/src/locales/it/pokemon-info.ts
@@ -1,4 +1,4 @@
-import { PokemonInfoTranslationEntries } from "#app/plugins/i18n";
+import { PokemonInfoTranslationEntries } from "#app/interfaces/locales";
export const pokemonInfo: PokemonInfoTranslationEntries = {
Stat: {
@@ -13,7 +13,9 @@ export const pokemonInfo: PokemonInfoTranslationEntries = {
"SPDEF": "Dif. Sp.",
"SPDEFshortened": "DifSp",
"SPD": "Velocità",
- "SPDshortened": "Vel"
+ "SPDshortened": "Vel",
+ "ACC": "Precisione",
+ "EVA": "Elusione"
},
Type: {
diff --git a/src/locales/it/pokemon.ts b/src/locales/it/pokemon.ts
index 400a34e6e8b..8d0830aeb79 100644
--- a/src/locales/it/pokemon.ts
+++ b/src/locales/it/pokemon.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const pokemon: SimpleTranslationEntries = {
"bulbasaur": "Bulbasaur",
diff --git a/src/locales/it/save-slot-select-ui-handler.ts b/src/locales/it/save-slot-select-ui-handler.ts
new file mode 100644
index 00000000000..d1825daeb1f
--- /dev/null
+++ b/src/locales/it/save-slot-select-ui-handler.ts
@@ -0,0 +1,9 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const saveSlotSelectUiHandler: SimpleTranslationEntries = {
+ "overwriteData": "Sovrascrivere i dati nello slot selezionato?",
+ "loading": "Caricamento...",
+ "wave": "Onda",
+ "lv": "Lv",
+ "empty": "Vuoto",
+} as const;
diff --git a/src/locales/it/settings.ts b/src/locales/it/settings.ts
new file mode 100644
index 00000000000..af48368aeeb
--- /dev/null
+++ b/src/locales/it/settings.ts
@@ -0,0 +1,99 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales.js";
+
+export const settings: SimpleTranslationEntries = {
+ "boy": "Ragazzo",
+ "girl": "Ragazza",
+ "general": "General",
+ "display": "Display",
+ "audio": "Audio",
+ "gamepad": "Gamepad",
+ "keyboard": "Keyboard",
+ "gameSpeed": "Game Speed",
+ "hpBarSpeed": "HP Bar Speed",
+ "expGainsSpeed": "EXP Gains Speed",
+ "expPartyDisplay": "Show EXP Party",
+ "skipSeenDialogues": "Skip Seen Dialogues",
+ "battleStyle": "Battle Style",
+ "enableRetries": "Enable Retries",
+ "tutorials": "Tutorials",
+ "touchControls": "Touch Controls",
+ "vibrations": "Vibrations",
+ "normal": "Normal",
+ "fast": "Fast",
+ "faster": "Faster",
+ "skip": "Skip",
+ "levelUpNotifications": "Level Up Notifications",
+ "on": "On",
+ "off": "Off",
+ "switch": "Switch",
+ "set": "Set",
+ "auto": "Auto",
+ "disabled": "Disabled",
+ "language": "Language",
+ "change": "Change",
+ "uiTheme": "UI Theme",
+ "default": "Default",
+ "legacy": "Legacy",
+ "windowType": "Window Type",
+ "moneyFormat": "Money Format",
+ "damageNumbers": "Damage Numbers",
+ "simple": "Simple",
+ "fancy": "Fancy",
+ "abbreviated": "Abbreviated",
+ "moveAnimations": "Move Animations",
+ "showStatsOnLevelUp": "Show Stats on Level Up",
+ "candyUpgradeNotification": "Candy Upgrade Notification",
+ "passivesOnly": "Passives Only",
+ "candyUpgradeDisplay": "Candy Upgrade Display",
+ "icon": "Icon",
+ "animation": "Animation",
+ "moveInfo": "Move Info",
+ "showMovesetFlyout": "Show Moveset Flyout",
+ "showArenaFlyout": "Show Arena Flyout",
+ "showTimeOfDayWidget": "Show Time of Day Widget",
+ "timeOfDayAnimation": "Time of Day Animation",
+ "bounce": "Bounce",
+ "timeOfDay_back": "Back",
+ "spriteSet": "Sprite Set",
+ "consistent": "Consistent",
+ "mixedAnimated": "Mixed Animated",
+ "fusionPaletteSwaps": "Fusion Palette Swaps",
+ "playerGender": "Player Gender",
+ "typeHints": "Type Hints",
+ "masterVolume": "Master Volume",
+ "bgmVolume": "BGM Volume",
+ "seVolume": "SE Volume",
+ "musicPreference": "Music Preference",
+ "mixed": "Mixed",
+ "gamepadPleasePlug": "Please Plug in a Gamepad or Press a Button",
+ "delete": "Delete",
+ "keyboardPleasePress": "Please Press a Key on Your Keyboard",
+ "reset": "Reset",
+ "requireReload": "Reload Required",
+ "action": "Action",
+ "back": "Back",
+ "pressToBind": "Press to Bind",
+ "pressButton": "Press a Button...",
+ "buttonUp": "Up",
+ "buttonDown": "Down",
+ "buttonLeft": "Left",
+ "buttonRight": "Right",
+ "buttonAction": "Action",
+ "buttonMenu": "Menu",
+ "buttonSubmit": "Submit",
+ "buttonCancel": "Cancel",
+ "buttonStats": "Stats",
+ "buttonCycleForm": "Cycle Form",
+ "buttonCycleShiny": "Cycle Shiny",
+ "buttonCycleGender": "Cycle Gender",
+ "buttonCycleAbility": "Cycle Ability",
+ "buttonCycleNature": "Cycle Nature",
+ "buttonCycleVariant": "Cycle Variant",
+ "buttonSpeedUp": "Speed Up",
+ "buttonSlowDown": "Slow Down",
+ "alt": " (Alt)",
+ "mute": "Mute",
+ "controller": "Controller",
+ "gamepadSupport": "Gamepad Support",
+ "showBgmBar": "Show Music Names",
+} as const;
diff --git a/src/locales/it/splash-messages.ts b/src/locales/it/splash-messages.ts
index 5fc1f7ed7b9..eeb71842094 100644
--- a/src/locales/it/splash-messages.ts
+++ b/src/locales/it/splash-messages.ts
@@ -1,14 +1,14 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const splashMessages: SimpleTranslationEntries = {
"battlesWon": "Battaglie Vinte!",
"joinTheDiscord": "Entra nel Discord!",
"infiniteLevels": "Livelli Infiniti!",
"everythingStacks": "Tutto si impila!",
- "optionalSaveScumming": "Salvataggio Facoltativo!",
+ "optionalSaveScumming": "Salvataggi Facoltativi!",
"biomes": "35 Biomi!",
"openSource": "Open Source!",
- "playWithSpeed": "Gioca con il 5x di Velocità!",
+ "playWithSpeed": "Gioca con la velocità aumentata di 5 volte!",
"liveBugTesting": "Test dei Bug in Tempo Reale!",
"heavyInfluence": "Influenzato da RoR2!",
"pokemonRiskAndPokemonRain": "Pokémon Risk e Pokémon Rain!",
diff --git a/src/locales/it/starter-select-ui-handler.ts b/src/locales/it/starter-select-ui-handler.ts
index 0f3f9df421a..c84334fcd6a 100644
--- a/src/locales/it/starter-select-ui-handler.ts
+++ b/src/locales/it/starter-select-ui-handler.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
/**
* The menu namespace holds most miscellaneous text that isn't directly part of the game's
@@ -7,38 +7,40 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n";
*/
export const starterSelectUiHandler: SimpleTranslationEntries = {
"confirmStartTeam":"Vuoi iniziare con questi Pokémon?",
- "gen1": "I",
- "gen2": "II",
- "gen3": "III",
- "gen4": "IV",
- "gen5": "V",
- "gen6": "VI",
- "gen7": "VII",
- "gen8": "VIII",
- "gen9": "IX",
+ "gen1": "1ª",
+ "gen2": "2ª",
+ "gen3": "3ª",
+ "gen4": "4ª",
+ "gen5": "5ª",
+ "gen6": "6ª",
+ "gen7": "7ª",
+ "gen8": "8ª",
+ "gen9": "9ª",
"growthRate": "Vel. Crescita:",
"ability": "Abilità:",
"passive": "Passiva:",
"nature": "Natura:",
- "eggMoves": "Mosse delle uova",
- "start": "Inizia",
- "addToParty": "Aggiungi al Gruppo",
+ "eggMoves": "Mosse da uova",
+ "addToParty": "Aggiungi al gruppo",
"toggleIVs": "Vedi/Nascondi IV",
- "manageMoves": "Gestisci Mosse",
- "useCandies": "Usa Caramelle",
+ "manageMoves": "Gestisci mosse",
+ "manageNature": "Gestisci natura",
+ "useCandies": "Usa caramelle",
+ "selectNature": "Seleziona natura.",
"selectMoveSwapOut": "Seleziona una mossa da scambiare.",
"selectMoveSwapWith": "Seleziona una mossa da scambiare con",
- "unlockPassive": "Sblocca Passiva",
- "reduceCost": "Riduci Costo",
- "cycleShiny": "R: Alterna Shiny",
- "cycleForm": "F: Alterna Forma",
- "cycleGender": "G: Alterna Sesso",
- "cycleAbility": "E: Alterna Abilità",
- "cycleNature": "N: Alterna Natura",
- "cycleVariant": "V: Alterna Variante",
- "enablePassive": "Attiva Passiva",
- "disablePassive": "Disattiva Passiva",
+ "sameSpeciesEgg": "Buy an Egg",
+ "unlockPassive": "Sblocca passiva",
+ "reduceCost": "Riduci costo",
+ "cycleShiny": ": Shiny",
+ "cycleForm": ": Forma",
+ "cycleGender": ": Genere",
+ "cycleAbility": ": Abilità",
+ "cycleNature": ": Natura",
+ "cycleVariant": ": Variante",
+ "enablePassive": "Attiva passiva",
+ "disablePassive": "Disattiva passiva",
"locked": "Bloccato",
"disabled": "Disabilitato",
- "uncaught": "Non Catturato"
+ "uncaught": "Non catturato"
};
diff --git a/src/locales/it/status-effect.ts b/src/locales/it/status-effect.ts
new file mode 100644
index 00000000000..1a402ac30fd
--- /dev/null
+++ b/src/locales/it/status-effect.ts
@@ -0,0 +1,67 @@
+import { StatusEffectTranslationEntries } from "#app/interfaces/locales.js";
+
+export const statusEffect: StatusEffectTranslationEntries = {
+ none: {
+ name: "None",
+ description: "",
+ obtain: "",
+ obtainSource: "",
+ activation: "",
+ overlap: "",
+ heal: ""
+ },
+ poison: {
+ name: "Poison",
+ description: "poisoning",
+ obtain: "{{pokemonNameWithAffix}}\nwas poisoned!",
+ obtainSource: "{{pokemonNameWithAffix}}\nwas poisoned by {{sourceText}}!",
+ activation: "{{pokemonNameWithAffix}} is hurt\nby poison!",
+ overlap: "{{pokemonNameWithAffix}} is\nalready poisoned!",
+ heal: "{{pokemonNameWithAffix}} was\ncured of its poison!"
+ },
+ toxic: {
+ name: "Toxic",
+ description: "poisoning",
+ obtain: "{{pokemonNameWithAffix}}\nwas badly poisoned!",
+ obtainSource: "{{pokemonNameWithAffix}}\nwas badly poisoned by {{sourceText}}!",
+ activation: "{{pokemonNameWithAffix}} is hurt\nby poison!",
+ overlap: "{{pokemonNameWithAffix}} is\nalready poisoned!",
+ heal: "{{pokemonNameWithAffix}} was\ncured of its poison!"
+ },
+ paralysis: {
+ name: "Paralysis",
+ description: "paralysis",
+ obtain: "{{pokemonNameWithAffix}} was paralyzed,\nIt may be unable to move!",
+ obtainSource: "{{pokemonNameWithAffix}} was paralyzed by {{sourceText}},\nIt may be unable to move!",
+ activation: "{{pokemonNameWithAffix}} is paralyzed!\nIt can't move!",
+ overlap: "{{pokemonNameWithAffix}} is\nalready paralyzed!",
+ heal: "{{pokemonNameWithAffix}} was\nhealed of paralysis!"
+ },
+ sleep: {
+ name: "Sleep",
+ description: "sleep",
+ obtain: "{{pokemonNameWithAffix}}\nfell asleep!",
+ obtainSource: "{{pokemonNameWithAffix}}\nfell asleep from {{sourceText}}!",
+ activation: "{{pokemonNameWithAffix}} is fast asleep.",
+ overlap: "{{pokemonNameWithAffix}} is\nalready asleep!",
+ heal: "{{pokemonNameWithAffix}} woke up!"
+ },
+ freeze: {
+ name: "Freeze",
+ description: "freezing",
+ obtain: "{{pokemonNameWithAffix}}\nwas frozen solid!",
+ obtainSource: "{{pokemonNameWithAffix}}\nwas frozen solid by {{sourceText}}!",
+ activation: "{{pokemonNameWithAffix}} is\nfrozen solid!",
+ overlap: "{{pokemonNameWithAffix}} is\nalready frozen!",
+ heal: "{{pokemonNameWithAffix}} was\ndefrosted!"
+ },
+ burn: {
+ name: "Burn",
+ description: "burn",
+ obtain: "{{pokemonNameWithAffix}}\nwas burned!",
+ obtainSource: "{{pokemonNameWithAffix}}\nwas burned by {{sourceText}}!",
+ activation: "{{pokemonNameWithAffix}} is hurt\nby its burn!",
+ overlap: "{{pokemonNameWithAffix}} is\nalready burned!",
+ heal: "{{pokemonNameWithAffix}} was\nhealed of its burn!"
+ },
+} as const;
diff --git a/src/locales/it/trainers.ts b/src/locales/it/trainers.ts
index 9c3f025541e..420b9bf9f24 100644
--- a/src/locales/it/trainers.ts
+++ b/src/locales/it/trainers.ts
@@ -1,4 +1,4 @@
-import {SimpleTranslationEntries} from "#app/plugins/i18n";
+import {SimpleTranslationEntries} from "#app/interfaces/locales";
// Titles of special trainers like gym leaders, elite four, and the champion
export const titles: SimpleTranslationEntries = {
@@ -6,257 +6,258 @@ export const titles: SimpleTranslationEntries = {
"elite_four_female": "Superquattro",
"gym_leader": "Capopalestra",
"gym_leader_female": "Capopalestra",
- "gym_leader_double": "Gym Leader Duo",
+ "gym_leader_double": "Duo Capopalestra",
"champion": "Campione",
- "champion_female": "Champion",
- "champion_double": "Champion Duo",
+ "champion_female": "Campionessa",
+ "champion_double": "Duo Campioni",
"rival": "Rivale",
"professor": "Professore",
- "frontier_brain": "Asso Lotta",
+ "frontier_brain": "Asso lotta",
// Maybe if we add the evil teams we can add "Team Rocket" and "Team Aqua" etc. here as well as "Team Rocket Boss" and "Team Aqua Admin" etc.
} as const;
// Titles of trainers like "Youngster" or "Lass"
export const trainerClasses: SimpleTranslationEntries = {
- "ace_trainer": "Ace Trainer",
- "ace_trainer_female": "Ace Trainer",
- "ace_duo": "Ace Duo",
- "artist": "Artist",
- "artist_female": "Artist",
- "backers": "Backers",
- "backpacker": "Backpacker",
- "backpacker_female": "Backpacker",
- "backpackers": "Backpackers",
- "baker": "Baker",
- "battle_girl": "Battle Girl",
- "beauty": "Beauty",
- "beginners": "Beginners",
- "biker": "Biker",
- "black_belt": "Black Belt",
- "breeder": "Breeder",
- "breeder_female": "Breeder",
- "breeders": "Breeders",
- "clerk": "Clerk",
- "clerk_female": "Clerk",
- "colleagues": "Colleagues",
- "crush_kin": "Crush Kin",
- "cyclist": "Cyclist",
- "cyclist_female": "Cyclist",
- "cyclists": "Cyclists",
- "dancer": "Dancer",
- "dancer_female": "Dancer",
- "depot_agent": "Depot Agent",
- "doctor": "Doctor",
- "doctor_female": "Doctor",
- "firebreather": "Firebreather",
- "fisherman": "Fisherman",
- "fisherman_female": "Fisherman",
- "gentleman": "Gentleman",
- "guitarist": "Guitarist",
- "guitarist_female": "Guitarist",
- "harlequin": "Harlequin",
- "hiker": "Hiker",
- "hooligans": "Hooligans",
- "hoopster": "Hoopster",
- "infielder": "Infielder",
- "janitor": "Janitor",
+ "ace_trainer": "Fantallenatore",
+ "ace_trainer_female": "Fantallenatrice",
+ "ace_duo": "Fantallenatori",
+ "artist": "Artista",
+ "artist_female": "Artista",
+ "backers": "Fan",
+ "backpacker": "Giramondo",
+ "backpacker_female": "Giramondo",
+ "backpackers": "Giramondo",
+ "baker": "Panettiera",
+ "battle_girl": "Combat Girl",
+ "beauty": "Bellezza",
+ "beginners": "Novellini",
+ "biker": "Centauro",
+ "black_belt": "Cinturanera",
+ "breeder": "Allevapokémon",
+ "breeder_female": "Allevapokémon",
+ "breeders": "Allevapokémon",
+ "clerk": "Affarista",
+ "clerk_female": "Donna in carriera",
+ "colleagues": "Soci in affari",
+ "crush_kin": "Duo Lotta",
+ "cyclist": "Ciclista",
+ "cyclist_female": "Ciclista",
+ "cyclists": "Ciclisti",
+ "dancer": "Ballerino",
+ "dancer_female": "Ballerina",
+ "depot_agent": "Ferroviario",
+ "doctor": "Medico",
+ "doctor_female": "Medica",
+ "firebreather": "Mangiafuoco",
+ "fisherman": "Pescatore",
+ "fisherman_female": "Pescatrice",
+ "gentleman": "Gentiluomo",
+ "guitarist": "Chitarrista",
+ "guitarist_female": "Chitarrista",
+ "harlequin": "Buffone",
+ "hiker": "Montanaro",
+ "hooligans": "Teppisti",
+ "hoopster": "Cestista",
+ "infielder": "Battitore",
+ "janitor": "Netturbino",
"lady": "Lady",
- "lass": "Lass",
- "linebacker": "Linebacker",
- "maid": "Maid",
+ "lass": "Pupa",
+ "linebacker": "Quarterback",
+ "maid": "Domestica",
"madame": "Madame",
- "medical_team": "Medical Team",
- "musician": "Musician",
- "hex_maniac": "Hex Maniac",
- "nurse": "Nurse",
- "nursery_aide": "Nursery Aide",
- "officer": "Officer",
- "parasol_lady": "Parasol Lady",
- "pilot": "Pilot",
- "pokéfan": "Poké Fan",
- "pokéfan_female": "Poké Fan",
- "pokéfan_family": "Poké Fan Family",
- "preschooler": "Preschooler",
- "preschooler_female": "Preschooler",
- "preschoolers": "Preschoolers",
- "psychic": "Psychic",
- "psychic_female": "Psychic",
- "psychics": "Psychics",
+ "medical_team": "Équipe medica",
+ "musician": "Musicista",
+ "hex_maniac": "Streghetta",
+ "nurse": "Infermiera",
+ "nursery_aide": "Maestrina",
+ "officer": "Guardia",
+ "parasol_lady": "Ombrellina",
+ "pilot": "Pilota",
+ "pokéfan": "PokéFan",
+ "pokéfan_female": "PokéFan",
+ "pokéfan_family": "Famiglia PokéFan",
+ "preschooler": "Bimbo",
+ "preschooler_female": "Bimba",
+ "preschoolers": "Bimbi",
+ "psychic": "Sensitivo",
+ "psychic_female": "Sensitiva",
+ "psychics": "Sensitivi",
"pokémon_ranger": "Pokémon Ranger",
"pokémon_ranger_female": "Pokémon Ranger",
- "pokémon_rangers": "Pokémon Ranger",
+ "pokémon_rangers": "Duo Ranger",
"ranger": "Ranger",
- "restaurant_staff": "Restaurant Staff",
- "rich": "Rich",
- "rich_female": "Rich",
- "rich_boy": "Rich Boy",
- "rich_couple": "Rich Couple",
- "rich_kid": "Rich Kid",
- "rich_kid_female": "Rich Kid",
- "rich_kids": "Rich Kids",
- "roughneck": "Roughneck",
- "scientist": "Scientist",
- "scientist_female": "Scientist",
- "scientists": "Scientists",
- "smasher": "Smasher",
- "snow_worker": "Snow Worker",
- "snow_worker_female": "Snow Worker",
- "striker": "Striker",
- "school_kid": "School Kid",
- "school_kid_female": "School Kid",
- "school_kids": "School Kids",
- "swimmer": "Swimmer",
- "swimmer_female": "Swimmer",
- "swimmers": "Swimmers",
- "twins": "Twins",
- "veteran": "Veteran",
- "veteran_female": "Veteran",
- "veteran_duo": "Veteran Duo",
- "waiter": "Waiter",
- "waitress": "Waitress",
- "worker": "Worker",
- "worker_female": "Worker",
- "workers": "Workers",
- "youngster": "Youngster"
+ "restaurant_staff": "Personale del ristorante",
+ "rich": "Ricco",
+ "rich_female": "Ricca",
+ "rich_boy": "Elegantone",
+ "rich_couple": "Ricchi",
+ "rich_kid": "Bimbo ricco",
+ "rich_kid_female": "Bimba ricca",
+ "rich_kids": "Bimbi ricchi",
+ "roughneck": "Zuccapelata",
+ "sailor": "Marinaio",
+ "scientist": "Scienziato",
+ "scientist_female": "Scienziata",
+ "scientists": "Scienziati",
+ "smasher": "Tennista",
+ "snow_worker": "Lavoratore",
+ "snow_worker_female": "Lavoratrice",
+ "striker": "Calciatore",
+ "school_kid": "Alunno",
+ "school_kid_female": "Alunna",
+ "school_kids": "Alunni",
+ "swimmer": "Nuotatore",
+ "swimmer_female": "Nuotatrice",
+ "swimmers": "Nuotatori",
+ "twins": "Gemelli",
+ "veteran": "Veterano",
+ "veteran_female": "Veterana",
+ "veteran_duo": "Veterani",
+ "waiter": "Cameriere",
+ "waitress": "Cameriera",
+ "worker": "Operaio",
+ "worker_female": "Lavoratrice",
+ "workers": "Lavoratori",
+ "youngster": "Bullo"
} as const;
// Names of special trainers like gym leaders, elite four, and the champion
export const trainerNames: SimpleTranslationEntries = {
"brock": "Brock",
"misty": "Misty",
- "lt_surge": "Lt Surge",
+ "lt_surge": "Lt. Surge",
"erika": "Erika",
- "janine": "Janine",
+ "janine": "Nina",
"sabrina": "Sabrina",
"blaine": "Blaine",
"giovanni": "Giovanni",
- "falkner": "Falkner",
- "bugsy": "Bugsy",
- "whitney": "Whitney",
- "morty": "Morty",
- "chuck": "Chuck",
+ "falkner": "Valerio",
+ "bugsy": "Raffaello",
+ "whitney": "Chiara",
+ "morty": "Angelo",
+ "chuck": "Furio",
"jasmine": "Jasmine",
- "pryce": "Pryce",
- "clair": "Clair",
- "roxanne": "Roxanne",
- "brawly": "Brawly",
- "wattson": "Wattson",
- "flannery": "Flannery",
+ "pryce": "Alfredo",
+ "clair": "Sandra",
+ "roxanne": "Petra",
+ "brawly": "Rudi",
+ "wattson": "Walter",
+ "flannery": "Fiammetta",
"norman": "Norman",
- "winona": "Winona",
- "tate": "Tate",
- "liza": "Liza",
- "juan": "Juan",
- "roark": "Roark",
+ "winona": "Alice",
+ "tate": "Tell",
+ "liza": "Pat",
+ "juan": "Rodolfo",
+ "roark": "Pedro",
"gardenia": "Gardenia",
- "maylene": "Maylene",
- "crasher_wake": "Crasher Wake",
- "fantina": "Fantina",
- "byron": "Byron",
- "candice": "Candice",
- "volkner": "Volkner",
- "cilan": "Cilan",
- "chili": "Chili",
- "cress": "Cress",
- "cheren": "Cheren",
- "lenora": "Lenora",
- "roxie": "Roxie",
- "burgh": "Burgh",
- "elesa": "Elesa",
- "clay": "Clay",
- "skyla": "Skyla",
- "brycen": "Brycen",
- "drayden": "Drayden",
- "marlon": "Marlon",
- "viola": "Viola",
- "grant": "Grant",
- "korrina": "Korrina",
- "ramos": "Ramos",
- "clemont": "Clemont",
- "valerie": "Valerie",
- "olympia": "Olympia",
- "wulfric": "Wulfric",
- "milo": "Milo",
- "nessa": "Nessa",
+ "maylene": "Marzia",
+ "crasher_wake": "Omar",
+ "fantina": "Fannie",
+ "byron": "Ferruccio",
+ "candice": "Bianca",
+ "volkner": "Corrado",
+ "cilan": "Spighetto",
+ "chili": "Chicco",
+ "cress": "Maisello",
+ "cheren": "Komor",
+ "lenora": "Aloé",
+ "roxie": "Velia",
+ "burgh": "Artemisio",
+ "elesa": "Camelia",
+ "clay": "Rafan",
+ "skyla": "Anemone",
+ "brycen": "Silvestro",
+ "drayden": "Aristide",
+ "marlon": "Ciprian",
+ "viola": "Violetta",
+ "grant": "Lino",
+ "korrina": "Ornella",
+ "ramos": "Amur",
+ "clemont": "Lem",
+ "valerie": "Valérie",
+ "olympia": "Astra",
+ "wulfric": "Edel",
+ "milo": "Yarrow",
+ "nessa": "Azzurra",
"kabu": "Kabu",
- "bea": "Bea",
- "allister": "Allister",
- "opal": "Opal",
- "bede": "Bede",
- "gordie": "Gordie",
- "melony": "Melony",
- "piers": "Piers",
- "marnie": "Marnie",
+ "bea": "Fabia",
+ "allister": "Onion",
+ "opal": "Poppy",
+ "bede": "Beet",
+ "gordie": "Milo",
+ "melony": "Melania",
+ "piers": "Ginepro",
+ "marnie": "Mary",
"raihan": "Raihan",
- "katy": "Katy",
+ "katy": "Aceria",
"brassius": "Brassius",
- "iono": "Iono",
- "kofu": "Kofu",
- "larry": "Larry",
+ "iono": "Kissara",
+ "kofu": "Algaro",
+ "larry": "Ubaldo",
"ryme": "Ryme",
- "tulip": "Tulip",
+ "tulip": "Tulipa",
"grusha": "Grusha",
"lorelei": "Lorelei",
"bruno": "Bruno",
"agatha": "Agatha",
"lance": "Lance",
- "will": "Will",
+ "will": "Pino",
"koga": "Koga",
"karen": "Karen",
- "sidney": "Sidney",
- "phoebe": "Phoebe",
- "glacia": "Glacia",
+ "sidney": "Fosco",
+ "phoebe": "Ester",
+ "glacia": "Frida",
"drake": "Drake",
"aaron": "Aaron",
- "bertha": "Bertha",
- "flint": "Flint",
- "lucian": "Lucian",
- "shauntal": "Shauntal",
- "marshal": "Marshal",
- "grimsley": "Grimsley",
- "caitlin": "Caitlin",
+ "bertha": "Terrie",
+ "flint": "Vulcano",
+ "lucian": "Luciano",
+ "shauntal": "Antemia",
+ "marshal": "Marzio",
+ "grimsley": "Mirton",
+ "caitlin": "Catlina",
"malva": "Malva",
- "siebold": "Siebold",
- "wikstrom": "Wikstrom",
- "drasna": "Drasna",
+ "siebold": "Narciso",
+ "wikstrom": "Timeos",
+ "drasna": "Lila",
"hala": "Hala",
- "molayne": "Molayne",
- "olivia": "Olivia",
- "acerola": "Acerola",
+ "molayne": "Tapso",
+ "olivia": "Olive",
+ "acerola": "Mapli",
"kahili": "Kahili",
"rika": "Rika",
"poppy": "Poppy",
- "hassel": "Hassel",
- "crispin": "Crispin",
- "amarys": "Amarys",
- "lacey": "Lacey",
- "drayton": "Drayton",
- "blue": "Blue",
- "red": "Red",
- "steven": "Steven",
- "wallace": "Wallace",
- "cynthia": "Cynthia",
- "alder": "Alder",
+ "hassel": "Oranzio",
+ "crispin": "Piros",
+ "amarys": "Erin",
+ "lacey": "Rupi",
+ "drayton": "Aris",
+ "blue": "Blu",
+ "red": "Rosso",
+ "steven": "Rocco",
+ "wallace": "Adriano",
+ "cynthia": "Camilla",
+ "alder": "Nardo",
"iris": "Iris",
"diantha": "Diantha",
"hau": "Hau",
- "geeta": "Geeta",
- "nemona": "Nemona",
- "kieran": "Kieran",
- "leon": "Leon",
+ "geeta": "Alisma",
+ "nemona": "Nemi",
+ "kieran": "Riben",
+ "leon": "Dandel",
"rival": "Finn",
"rival_female": "Ivy",
// Double Names
- "blue_red_double": "Blue & Red",
- "red_blue_double": "Red & Blue",
- "tate_liza_double": "Tate & Liza",
- "liza_tate_double": "Liza & Tate",
- "steven_wallace_double": "Steven & Wallace",
- "wallace_steven_double": "Wallace & Steven",
- "alder_iris_double": "Alder & Iris",
- "iris_alder_double": "Iris & Alder",
- "marnie_piers_double": "Marnie & Piers",
- "piers_marnie_double": "Piers & Marnie",
+ "blue_red_double": "Blu & Rosso",
+ "red_blue_double": "Rosso & Blu",
+ "tate_liza_double": "Tell & Pat",
+ "liza_tate_double": "Pat & Tell",
+ "steven_wallace_double": "Rocco & Adriano",
+ "wallace_steven_double": "Adriano & Rocco",
+ "alder_iris_double": "Nardo & Iris",
+ "iris_alder_double": "Iris & Nardo",
+ "marnie_piers_double": "Mary & Ginepro",
+ "piers_marnie_double": "Ginepro & Mary",
} as const;
diff --git a/src/locales/it/tutorial.ts b/src/locales/it/tutorial.ts
index 8488fc3151f..1a746cf0db7 100644
--- a/src/locales/it/tutorial.ts
+++ b/src/locales/it/tutorial.ts
@@ -1,42 +1,42 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const tutorial: SimpleTranslationEntries = {
"intro": `Benvenuto in PokéRogue! Questo gioco si concentra sulle battaglie, con elementi roguelite.
- $Questo gioco non è monetizzato e non siamo proprietari di Pokemon e Assets presenti nel gioco.
- $Il gioco è work-in-progress ma giocabile al 100%.\nPer reportare eventuali bugs è possibile discuterne sul nostro Discord.
- $Se il game risulta 'lento', assicurati di aver abilitato l'Accelerazione Hardware nelle impostazioni del tuo Browser`,
+ $Questo gioco non è monetizzato e non siamo proprietari di Pokémon ed assets presenti nel gioco.
+ $Il progetto è work-in-progress, ma giocabile al 100%.\nPer segnalare eventuali bug è possibile contattarci al nostro apposito Discord.
+ $Se il gioco risulta 'lento', assicurati di aver abilitato l'accelerazione hardware nelle impostazioni del tuo browser`,
- "accessMenu": "Per accedere al menù, press M o Esc.\nDal menù puoi cambiare impostazioni, controllare la wiki e accedere a varie features.",
+ "accessMenu": "Per accedere al menu, premi M o esc.\nDal menu puoi modificare le impostazioni, controllare la wiki ed accedere a varie features.",
- "menu": `Da questo menù puoi accedere alle impostazioni.
- $Dalle impostazioni puoi cambiare velocità di gioco, stile di finestra e altre opzioni.
- $Ci sono varie funzionalità, controlla bene e non perderti nulla!`,
+ "menu": `Da questo menu puoi accedere alle impostazioni.
+ $Esse ti permettono di cambiare velocità di gioco, stile delle finestre ed altre opzioni.
+ $Ci sono varie funzionalità: controlla bene e non perderti nulla!`,
- "starterSelect": `Da questa schermata puoi selezionare il tuo starter.\nQuesti sono i membri iniziali del tuo parti.
+ "starterSelect": `Da questa schermata puoi selezionare il tuo starter.\nQuesti sono i membri iniziali della tua squadra.
$Ogni starter ha un valore. Puoi avere fino a \n6 Pokèmon, avendo a disposizione un massimo di 10 punti.
- $Puoi anche selezionare Sesso, Abilità, e Forma a seconda delle\nvarianti che hai catturato o schiuso.
+ $Puoi anche selezionare genere, abilità, e forma a seconda delle\nvarianti che hai catturato o schiuso.
$Le IVs di una specie sono le migliori rispetto a tutte quelle che hai\ncatturato o schiuso, quindi prova a catturarne il piu possibile!`,
- "pokerus": `Giornalmente 3 Starter casuali disponibili avranno il bordo viola.
- $Se possiedi uno di questi starter,\nprova ad aggiungerlo al party. Ricorda di controllare le info!`,
+ "pokerus": `Giornalmente 3 starter casuali disponibili avranno il bordo viola.
+ $Se possiedi uno di questi starter,\nprova ad aggiungerlo alla squadra. Ricorda di controllarne le info!`,
- "statChange": `I cambiamenti alle statistiche persistono fintanto che i tuoi pokèmon resteranno in campo.
+ "statChange": `I cambiamenti alle statistiche persistono fintanto che i tuoi pokèmon restano in campo.
$I tuoi pokemon verranno richiamati quando incontrerai un allenatore o al cambiamento di bioma.
$Puoi anche vedere i cambiamenti alle statistiche in corso tenendo premuto C o Shift`,
- "selectItem": `Dopo ogni battaglia avrai disponibili tre item.\nPotrai prenderne solo uno.
- $Questi spaziano tra consumabili, item tenuti da Pokèmon o con un effetto passivo permanente.
- $La maggior parte degli Item non Consumabili possono stackare in diversi modi.
- $Alcuni Item risulteranno disponibili solo se possono essere usati, come Item Evolutivi.
- $Puoi anche passare un Item tenuto da un Pokèmon ad un altro attraverso l'opzione 'trasferisci strumento'.
- $L'opzione 'trasferisci strumento' sarà disponibile solo dopo aver assegnato uno strumento ad un Pokèmon.
- $Puoi acquistare consumabili con le monete, progredendo saranno poi disponibili ulteriori oggetti.
- $Assicurati di fare un acquisto prima di selezionare un item casuale, poichè passerai subito alla lotta successiva.`,
+ "selectItem": `Dopo ogni battaglia potrai scegliere tra 3 oggetti.\nPotrai prenderne solo uno.
+ $Questi spaziano tra consumabili, oggetti tenuti da Pokèmon o con un effetto passivo permanente.
+ $La maggior parte degli oggetti non consumabili possono accumulare i loro effetti in diversi modi.
+ $Alcuni risulteranno inoltre disponibili solo se possono essere usati, come ad esempio gli oggetti evolutivi.
+ $Puoi anche passare un oggetto tenuto da un Pokèmon a un altro attraverso l'opzione 'trasferisci strumento'.
+ $Quest'ultima sarà disponibile solo dopo aver assegnato uno strumento ad un Pokèmon.
+ $Puoi acquistare consumabili con le monete; progredendo saranno poi disponibili ulteriori oggetti.
+ $Assicurati di fare un acquisto prima di selezionare un item casuale, poichè dopo aver fatto ciò passerai subito alla lotta successiva.`,
- "eggGacha": `Da questa schermata, puoi riscattare i tuoi vouchers in cambio di\nuova Pokèmon.
- $Le uova vanno schiuse e saranno sempre più vicine alla schiusura dopo\nogni battaglia. Le uova più rare impiegheranno più battaglie per la schiusura.
- $I Pokémon schiusi non verranno aggiunti alla tua squadra, saranno\naggiunti ai tuoi starters.
- $I Pokémon schiusi generalmente hanno IVs migliori rispetto ai\n Pokémon selvatici.
- $Alcuni Pokémon possono essere ottenuti solo tramite uova.
+ "eggGacha": `Da questa schermata puoi riscattare i tuoi vouchers in cambio di\nuova Pokèmon.
+ $Le uova vanno schiuse, e saranno sempre più vicine alla schiusura dopo\nogni battaglia. Le uova più rare impiegheranno più battaglie per la schiusura.
+ $I Pokémon schiusi non verranno aggiunti alla tua squadra, ma saranno\ninvece aggiunti ai tuoi starters.
+ $I Pokémon schiusi hanno (generalmente) IVs migliori rispetto ai\n Pokémon selvatici.
+ $Inoltre, alcuni Pokémon possono essere ottenuti solo tramite uova.
$Ci sono 3 diversi macchinari con differenti\nbonus, scegli quello che preferisci!`,
} as const;
diff --git a/src/locales/it/voucher.ts b/src/locales/it/voucher.ts
index f2bcb8d723c..54e81dbc9d4 100644
--- a/src/locales/it/voucher.ts
+++ b/src/locales/it/voucher.ts
@@ -1,11 +1,11 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const voucher: SimpleTranslationEntries = {
"vouchers": "Vouchers",
- "eggVoucher": "Egg Voucher",
- "eggVoucherPlus": "Egg Voucher Plus",
- "eggVoucherPremium": "Egg Voucher Premium",
- "eggVoucherGold": "Egg Voucher Gold",
- "locked": "Locked",
- "defeatTrainer": "Defeat {{trainerName}}"
-} as const;
+ "eggVoucher": "Voucher uovo",
+ "eggVoucherPlus": "Voucher uovo plus",
+ "eggVoucherPremium": "Voucher uovo premium",
+ "eggVoucherGold": "Voucher uovo dorato",
+ "locked": "Bloccato",
+ "defeatTrainer": "Sconfiggi {{trainerName}}"
+} as const;
diff --git a/src/locales/it/weather.ts b/src/locales/it/weather.ts
index 3895fcebc46..604108435c3 100644
--- a/src/locales/it/weather.ts
+++ b/src/locales/it/weather.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
/**
* The weather namespace holds text displayed when weather is active during a battle
@@ -15,12 +15,12 @@ export const weather: SimpleTranslationEntries = {
"sandstormStartMessage": "Si è scatenata una tempesta di sabbia!",
"sandstormLapseMessage": "La tempesta di sabbia infuria.",
"sandstormClearMessage": "La tempesta di sabbia si è placata.",
- "sandstormDamageMessage": "{{pokemonPrefix}}{{pokemonName}} è stato colpito\ndalla tempesta di sabbia!",
+ "sandstormDamageMessage": "{{pokemonNameWithAffix}} è stato colpito\ndalla tempesta di sabbia!",
"hailStartMessage": "Ha iniziato a grandinare!",
"hailLapseMessage": "La grandine continua a cadere.",
"hailClearMessage": "Ha smesso di grandinare.",
- "hailDamageMessage": "{{pokemonPrefix}}{{pokemonName}} è stato colpito\ndalla grandine!",
+ "hailDamageMessage": "{{pokemonNameWithAffix}} è stato colpito\ndalla grandine!",
"snowStartMessage": "Ha iniziato a nevicare!",
"snowLapseMessage": "La neve sta continuando a cadere.",
@@ -40,5 +40,27 @@ export const weather: SimpleTranslationEntries = {
"strongWindsStartMessage": "È apparsa una corrente d'aria misteriosa!",
"strongWindsLapseMessage": "La corrente d'aria soffia intensamente.",
+ "strongWindsEffectMessage": "La corrente misteriosa indebolisce l’attacco!",
"strongWindsClearMessage": "La corrente d'aria è cessata."
};
+
+export const terrain: SimpleTranslationEntries = {
+ "misty": "Misty",
+ "mistyStartMessage": "Mist swirled around the battlefield!",
+ "mistyClearMessage": "The mist disappeared from the battlefield.",
+ "mistyBlockMessage": "{{pokemonNameWithAffix}} surrounds itself with a protective mist!",
+
+ "electric": "Electric",
+ "electricStartMessage": "An electric current ran across the battlefield!",
+ "electricClearMessage": "The electricity disappeared from the battlefield.",
+
+ "grassy": "Grassy",
+ "grassyStartMessage": "Grass grew to cover the battlefield!",
+ "grassyClearMessage": "The grass disappeared from the battlefield.",
+
+ "psychic": "Psychic",
+ "psychicStartMessage": "The battlefield got weird!",
+ "psychicClearMessage": "The weirdness disappeared from the battlefield!",
+
+ "defaultBlockMessage": "{{pokemonNameWithAffix}} is protected by the {{terrainName}} Terrain!"
+};
diff --git a/src/locales/ko/ability-trigger.ts b/src/locales/ko/ability-trigger.ts
index 7fc98edce76..58ba7bf9aa6 100644
--- a/src/locales/ko/ability-trigger.ts
+++ b/src/locales/ko/ability-trigger.ts
@@ -1,6 +1,13 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const abilityTriggers: SimpleTranslationEntries = {
"blockRecoilDamage" : "{{pokemonName}}[[는]] {{abilityName}} 때문에\n반동 데미지를 받지 않는다!",
"badDreams": "{{pokemonName}}[[는]]\n나이트메어 때문에 시달리고 있다!",
+ "costar": "{{pokemonName}} copied {{allyName}}'s stat changes!",
+ "iceFaceAvoidedDamage": "{{pokemonName}}[[는]] {{abilityName}} 때문에\n데미지를 받지 않는다!",
+ "perishBody": "{{pokemonName}}의 {{abilityName}} 때문에\n양쪽 포켓몬 모두는 3턴 후에 쓰러져 버린다!",
+ "poisonHeal": "{{pokemonName}}[[는]] {{abilityName}}[[로]]인해\n조금 회복했다.",
+ "trace": "{{pokemonName}} copied {{targetName}}'s\n{{abilityName}}!",
+ "windPowerCharged": "{{pokemonName}}[[는]]\n{{moveName}}에 맞아 충전되었다!",
+ "quickDraw": "{{pokemonName}}[[는]]\n퀵드로에 의해 행동이 빨라졌다!",
} as const;
diff --git a/src/locales/ko/ability.ts b/src/locales/ko/ability.ts
index c254ea635d6..18b102800cf 100644
--- a/src/locales/ko/ability.ts
+++ b/src/locales/ko/ability.ts
@@ -1,4 +1,4 @@
-import { AbilityTranslationEntries } from "#app/plugins/i18n.js";
+import { AbilityTranslationEntries } from "#app/interfaces/locales.js";
/**
* 본가 게임과 텍스트가 다를 경우 주석으로 표시
@@ -1154,7 +1154,7 @@ export const ability: AbilityTranslationEntries = {
},
beadsOfRuin: {
name: "재앙의구슬",
- description: "재앙을 부르는 곡옥의 힘으 자신을 제외한 모든 포켓몬의 특수방어를 약하게 만든다."
+ description: "재앙을 부르는 곡옥의 힘으로 자신을 제외한 모든 포켓몬의 특수방어를 약하게 만든다."
},
orichalcumPulse: {
name: "진홍빛고동",
diff --git a/src/locales/ko/achv.ts b/src/locales/ko/achv.ts
index d48a63868b1..d8b8cc54f66 100644
--- a/src/locales/ko/achv.ts
+++ b/src/locales/ko/achv.ts
@@ -1,6 +1,7 @@
-import { AchievementTranslationEntries } from "#app/plugins/i18n.js";
+import { AchievementTranslationEntries } from "#app/interfaces/locales.js";
-export const achv: AchievementTranslationEntries = {
+// Achievement translations for the when the player character is male
+export const PGMachv: AchievementTranslationEntries = {
"Achievements": {
name: "업적",
},
@@ -25,7 +26,7 @@ export const achv: AchievementTranslationEntries = {
},
"DamageAchv": {
- description: "한 번의 공격만으로 {{damageAmount}} 대미지",
+ description: "한 번의 공격만으로 {{damageAmount}} 데미지",
},
"250_DMG": {
name: "강타자",
@@ -168,4 +169,102 @@ export const achv: AchievementTranslationEntries = {
name: "무패",
description: "클래식 모드 클리어",
},
+
+ "MONO_GEN_ONE": {
+ name: "근본 라이벌",
+ description: "1세대 챌린지 모드 클리어.",
+ },
+ "MONO_GEN_TWO": {
+ name: "이거 1.5세대죠?",
+ description: "2세대 챌린지 모드 클리어.",
+ },
+ "MONO_GEN_THREE": {
+ name: "Too much water?",
+ description: "3세대 챌린지 모드 클리어.",
+ },
+ "MONO_GEN_FOUR": {
+ name: "난천이 진짜 최강인가요?",
+ description: "4세대 챌린지 모드 클리어.",
+ },
+ "MONO_GEN_FIVE": {
+ name: "100% 오리지널!",
+ description: "5세대 챌린지 모드 클리어.",
+ },
+ "MONO_GEN_SIX": {
+ name: "크루아상 안에 뭐 들었나요?",
+ description: "6세대 챌린지 모드 클리어.",
+ },
+ "MONO_GEN_SEVEN": {
+ name: "기술적으로는…",
+ description: "7세대 챌린지 모드 클리어.",
+ },
+ "MONO_GEN_EIGHT": {
+ name: "챔피언 타임!",
+ description: "8세대 챌린지 모드 클리어.",
+ },
+ "MONO_GEN_NINE": {
+ name: "걔, 봐 준 거야",
+ description: "9세대 챌린지 모드 클리어.",
+ },
+
+ "MonoType": {
+ description: "{{type}} 타입 챌린지 모드 클리어.",
+ },
+ "MONO_NORMAL": {
+ name: "심플한 것이 가장 강한 것",
+ },
+ "MONO_FIGHTING": {
+ name: "태권도 할 줄 알아요",
+ },
+ "MONO_FLYING": {
+ name: "추락하는 것은 날개가 있다",
+ },
+ "MONO_POISON": {
+ name: "관동 지방 최애 타입",
+ },
+ "MONO_GROUND": {
+ name: "전기 안 통해요",
+ },
+ "MONO_ROCK": {
+ name: "웅골참",
+ },
+ "MONO_BUG": {
+ name: "독침붕처럼 쏴라",
+ },
+ "MONO_GHOST": {
+ name: "누굴 부를 거야?",
+ },
+ "MONO_STEEL": {
+ name: "강철 심장",
+ },
+ "MONO_FIRE": {
+ name: "불타오르네",
+ },
+ "MONO_WATER": {
+ name: "물 들어올 때 노 젓기",
+ },
+ "MONO_GRASS": {
+ name: "초록은 동색",
+ },
+ "MONO_ELECTRIC": {
+ name: "찌릿찌릿",
+ },
+ "MONO_PSYCHIC": {
+ name: "1세대 최강",
+ },
+ "MONO_ICE": {
+ name: "얼음땡",
+ },
+ "MONO_DRAGON": {
+ name: "용용 죽겠지",
+ },
+ "MONO_DARK": {
+ name: "어둠의 다크",
+ },
+ "MONO_FAIRY": {
+ name: "설마 자시안으로?",
+ },
} as const;
+
+// Achievement translations for the when the player character is female (it for now uses the same translations as the male version)
+export const PGFachv: AchievementTranslationEntries = PGMachv;
diff --git a/src/locales/ko/battle-message-ui-handler.ts b/src/locales/ko/battle-message-ui-handler.ts
index 20266a063e5..fdd79044090 100644
--- a/src/locales/ko/battle-message-ui-handler.ts
+++ b/src/locales/ko/battle-message-ui-handler.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const battleMessageUiHandler: SimpleTranslationEntries = {
"ivBest": "최고",
diff --git a/src/locales/ko/battle.ts b/src/locales/ko/battle.ts
index c6288d3d9f2..dbb425da63f 100644
--- a/src/locales/ko/battle.ts
+++ b/src/locales/ko/battle.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const battle: SimpleTranslationEntries = {
"bossAppeared": "{{bossName}}[[가]] 나타났다.",
@@ -14,7 +14,9 @@ export const battle: SimpleTranslationEntries = {
"switchQuestion": "{{pokemonName}}[[를]]\n교체하시겠습니까?",
"trainerDefeated": "{{trainerName}}[[와]]의\n승부에서 이겼다!",
"moneyWon": "상금으로\n₽{{moneyAmount}}을 손에 넣었다!",
+ "moneyPickedUp": "₽{{moneyAmount}}을 주웠다!",
"pokemonCaught": "신난다-!\n{{pokemonName}}[[를]] 잡았다!",
+ "addedAsAStarter": "{{pokemonName}}[[가]]\n스타팅 포켓몬에 추가되었다!",
"partyFull": "지닌 포켓몬이 가득 찼습니다. {{pokemonName}}[[를]]\n대신해 포켓몬을 놓아주시겠습니까?",
"pokemon": "포켓몬",
"sendOutPokemon": "가랏! {{pokemonName}}!",
@@ -23,8 +25,10 @@ export const battle: SimpleTranslationEntries = {
"hitResultNotVeryEffective": "효과가 별로인 듯하다…",
"hitResultNoEffect": "{{pokemonName}}에게는\n효과가 없는 것 같다…",
"hitResultOneHitKO": "일격필살!",
- "attackFailed": "하지만 실패했다!",
+ "attackFailed": "그러나 실패하고 말았다!!",
+ "attackMissed": "{{pokemonNameWithAffix}}에게는\n맞지 않았다!",
"attackHitsCount": "{{count}}번 맞았다!",
+ "rewardGain": "{{modifierName}}[[를]] 받았다!",
"expGain": "{{pokemonName}}[[는]]\n{{exp}} 경험치를 얻었다!",
"levelUp": "{{pokemonName}}[[는]]\n레벨 {{level}}[[로]] 올랐다!",
"learnMove": "{{pokemonName}}[[는]] 새로\n{{moveName}}[[를]] 배웠다!",
@@ -53,7 +57,82 @@ export const battle: SimpleTranslationEntries = {
"escapeVerbSwitch": "교체할",
"escapeVerbFlee": "도망칠",
"notDisabled": "{{pokemonName}}의\n{{moveName}} 사슬묶기가 풀렸다!",
+ "turnEndHpRestore": "{{pokemonName}}의\n체력이 회복되었다!",
+ "hpIsFull": "그러나 {{pokemonName}}의\n체력이 가득 찬 상태다!",
"skipItemQuestion": "아이템을 받지 않고 넘어가시겠습니까?",
"eggHatching": "어라…?",
- "ivScannerUseQuestion": "{{pokemonName}}에게 개체값탐지기를 사용하시겠습니까?"
+ "ivScannerUseQuestion": "{{pokemonName}}에게 개체값탐지기를 사용하시겠습니까?",
+ "wildPokemonWithAffix": "야생 {{pokemonName}}",
+ "foePokemonWithAffix": "상대 {{pokemonName}}",
+ "useMove": "{{pokemonNameWithAffix}}의 {{moveName}}!",
+ "drainMessage": "{{pokemonName}}[[로]]부터\n체력을 흡수했다!",
+ "stealEatBerry": "{{pokemonName}}[[가]]\n{{targetName}}의 {{berryName}}[[를]] 빼앗아 먹었다!",
+ "regainHealth": "{{pokemonName}}[[는]]\n체력을 회복했다!",
+ "fainted": "{{pokemonNameWithAffix}}[[는]] 쓰러졌다!",
+ "statRose": "{{pokemonNameWithAffix}}의\n{{stats}}[[가]] 올라갔다!",
+ "statSharplyRose": "{{pokemonNameWithAffix}}의\n{{stats}}[[가]] 크게 올라갔다!",
+ "statRoseDrastically": "{{pokemonNameWithAffix}}의\n{{stats}}[[가]] 매우 크게 올라갔다!",
+ "statWontGoAnyHigher": "{{pokemonNameWithAffix}}의\n{{stats}}[[는]] 더 올라가지 않는다!",
+ "statFell": "{{pokemonNameWithAffix}}의\n{{stats}}[[가]] 떨어졌다!",
+ "statHarshlyFell": "{{pokemonNameWithAffix}}의\n{{stats}}[[가]] 크게 떨어졌다!",
+ "statSeverelyFell": "{{pokemonNameWithAffix}}의\n{{stats}}[[가]] 매우 크게 떨어졌다!",
+ "statWontGoAnyLower": "{{pokemonNameWithAffix}}의\n{{stats}}[[는]] 더 떨어지지 않는다!",
+ "ppReduced": "{{targetName}}의\n{{moveName}}[[를]] {{reduction}} 깎았다!",
+ "battlerTagsRechargingLapse": "공격의 반동으로\n{{pokemonNameWithAffix}}[[는]] 움직일 수 없다!",
+ "battlerTagsTrappedOnAdd": "{{pokemonNameWithAffix}}[[는]]\n이제 도망칠 수 없다!",
+ "battlerTagsTrappedOnRemove": "{{pokemonNameWithAffix}}[[는]]\n{{moveName}}로부터 풀려났다!",
+ "battlerTagsFlinchedLapse": "{{pokemonNameWithAffix}}[[는]] 풀이 죽어\n움직일 수 없었다!",
+ "battlerTagsConfusedOnAdd": "{{pokemonNameWithAffix}}[[는]]\n혼란에 빠졌다!",
+ "battlerTagsConfusedOnRemove": "{{pokemonNameWithAffix}}의\n혼란이 풀렸다!",
+ "battlerTagsConfusedOnOverlap": "{{pokemonNameWithAffix}}[[는]]\n이미 혼란에 빠져 있다",
+ "battlerTagsConfusedLapse": "{{pokemonNameWithAffix}}[[는]]\n혼란에 빠져 있다!",
+ "battlerTagsConfusedLapseHurtItself": "영문도 모른채\n자신을 공격했다!",
+ "battlerTagsDestinyBondLapseIsBoss": "{{pokemonNameWithAffix}}[[는]]\n길동무의 영향을 받지 않는다.",
+ "battlerTagsDestinyBondLapse": "{{pokemonNameWithAffix}}[[는]] {{pokemonNameWithAffix2}}[[를]]\n길동무로 삼았다!",
+ "battlerTagsInfatuatedOnAdd": "{{pokemonNameWithAffix}}[[는]]\n헤롱헤롱해졌다!",
+ "battlerTagsInfatuatedOnOverlap": "{{pokemonNameWithAffix}}[[는]]\n이미 헤롱헤롱해있다!",
+ "battlerTagsInfatuatedLapse": "{{pokemonNameWithAffix}}[[는]]\n{{sourcePokemonName}}에게 헤롱헤롱해 있다!",
+ "battlerTagsInfatuatedLapseImmobilize": "{{pokemonNameWithAffix}}[[는]] 헤롱헤롱해서\n기술을 쓸 수 없었다!",
+ "battlerTagsInfatuatedOnRemove": "{{pokemonNameWithAffix}}[[는]]\n헤롱헤롱 상태에서 벗어났다.",
+ "battlerTagsSeededOnAdd": "{{pokemonNameWithAffix}}에게\n씨앗을 심었다!",
+ "battlerTagsSeededLapse": "씨뿌리기가 {{pokemonNameWithAffix}}의\n체력을 빼앗는다!",
+ "battlerTagsSeededLapseShed": "{{pokemonNameWithAffix}}[[는]]\n씨앗을 날려버렸다!",
+ "battlerTagsNightmareOnAdd": "{{pokemonNameWithAffix}}[[는]]\n악몽을 꾸기 시작했다!",
+ "battlerTagsNightmareOnOverlap": "{{pokemonNameWithAffix}}[[는]]\n이미 악몽을 꾸고 있다!",
+ "battlerTagsNightmareLapse": "{{pokemonNameWithAffix}}[[는]]\n악몽에 시달리고 있다!",
+ "battlerTagsEncoreOnAdd": "{{pokemonNameWithAffix}}[[는]]\n앙코르를 받았다!",
+ "battlerTagsEncoreOnRemove": "{{pokemonNameWithAffix}}의\n앙코르 상태가 풀렸다!",
+ "battlerTagsHelpingHandOnAdd": "{{pokemonNameWithAffix}}[[는]] {{pokemonName}}에게\n도우미가 되어주려 한다!",
+ "battlerTagsIngrainLapse": "{{pokemonNameWithAffix}}[[는]] 뿌리로부터\n양분을 흡수했다!",
+ "battlerTagsIngrainOnTrap": "{{pokemonNameWithAffix}}[[는]] 뿌리를 뻗었다!",
+ "battlerTagsAquaRingOnAdd": "{{pokemonNameWithAffix}}[[는]]\n물의 베일을 둘러썼다!",
+ "battlerTagsAquaRingLapse": "{{moveName}} 효과로 \n{{pokemonName}}[[는]] HP를 회복했다!",
+ "battlerTagsDrowsyOnAdd": "{{pokemonNameWithAffix}}의\n졸음을 유도했다!",
+ "battlerTagsDamagingTrapLapse": "{{pokemonNameWithAffix}}[[는]] {{moveName}}의\n데미지를 입고 있다!",
+ "battlerTagsBindOnTrap": "{{pokemonNameWithAffix}}[[는]] {{sourcePokemonName}}에게\n{{moveName}}[[를]] 당했다!",
+ "battlerTagsWrapOnTrap": "{{pokemonNameWithAffix}}[[는]] {{sourcePokemonName}}에게\n휘감겼다!",
+ "battlerTagsVortexOnTrap": "{{pokemonNameWithAffix}}[[는]]\n소용돌이 속에 갇혔다!",
+ "battlerTagsClampOnTrap": "{{sourcePokemonNameWithAffix}}[[는]] {{pokemonName}}의\n껍질에 꼈다!",
+ "battlerTagsSandTombOnTrap": "{{pokemonNameWithAffix}}[[는]]\n{{moveName}}에 붙잡혔다!",
+ "battlerTagsMagmaStormOnTrap": "{{pokemonNameWithAffix}}[[는]]\n마그마의 소용돌이에 갇혔다!",
+ "battlerTagsSnapTrapOnTrap": "{{pokemonNameWithAffix}}[[는]]\n집게덫에 붙잡혔다!",
+ "battlerTagsThunderCageOnTrap": "{{sourcePokemonNameWithAffix}}[[는]]\n{{pokemonNameWithAffix}}를 가두었다!",
+ "battlerTagsInfestationOnTrap": "{{pokemonNameWithAffix}}[[는]]\n{{sourcePokemonNameWithAffix}}에게 엉겨 붙었다!",
+ "battlerTagsProtectedOnAdd": "{{pokemonNameWithAffix}}[[는]]\n방어 태세에 들어갔다!",
+ "battlerTagsProtectedLapse": "{{pokemonNameWithAffix}}[[는]]\n공격으로부터 몸을 지켰다!",
+ "battlerTagsEnduringOnAdd": "{{pokemonNameWithAffix}}[[는]]\n버티기 태세에 들어갔다!",
+ "battlerTagsEnduringLapse": "{{pokemonNameWithAffix}}[[는]]\n공격을 버텼다!",
+ "battlerTagsSturdyLapse": "{{pokemonNameWithAffix}}[[는]]\n공격을 버텼다!",
+ "battlerTagsPerishSongLapse": "{{pokemonNameWithAffix}}의 멸망의\n카운트가 {{turnCount}}[[가]] 되었다!",
+ "battlerTagsTruantLapse": "{{pokemonNameWithAffix}}[[는]] 게으름을 피우고 있다!",
+ "battlerTagsSlowStartOnAdd": "{{pokemonNameWithAffix}}[[는]] 컨디션이\n좋아지지 않는다!",
+ "battlerTagsSlowStartOnRemove": "{{pokemonNameWithAffix}} 는 마침내\n컨디션을 회복했다!",
+ "battlerTagsHighestStatBoostOnAdd": "{{pokemonNameWithAffix}}의\n{{statName}}[[가]] 올라갔다!",
+ "battlerTagsHighestStatBoostOnRemove": "The effects of {{pokemonNameWithAffix}}'s\n{{abilityName}} wore off!",
+ "battlerTagsCritBoostOnAdd": "{{pokemonNameWithAffix}}[[는]]\n의욕이 넘치고 있다!",
+ "battlerTagsCritBoostOnRemove": "{{pokemonNameWithAffix}}[[는]] 평소로 돌아왔다.",
+ "battlerTagsSaltCuredOnAdd": "{{pokemonNameWithAffix}}[[는]]\n소금에 절여졌다!",
+ "battlerTagsSaltCuredLapse": "{{pokemonNameWithAffix}}[[는]] 소금절이의\n데미지를 입고 있다.",
+ "battlerTagsCursedOnAdd": "{{pokemonNameWithAffix}}[[는]]\n자신의 체력을 깎아서\n{{pokemonName}}에게 저주를 걸었다!",
+ "battlerTagsCursedLapse": "{{pokemonNameWithAffix}}[[는]]\n저주받고 있다!",
} as const;
diff --git a/src/locales/ko/berry.ts b/src/locales/ko/berry.ts
index bea5d9ee13c..722edf62c9a 100644
--- a/src/locales/ko/berry.ts
+++ b/src/locales/ko/berry.ts
@@ -1,4 +1,4 @@
-import { BerryTranslationEntries } from "#app/plugins/i18n";
+import { BerryTranslationEntries } from "#app/interfaces/locales";
export const berry: BerryTranslationEntries = {
"SITRUS": {
diff --git a/src/locales/ko/bgm-name.ts b/src/locales/ko/bgm-name.ts
new file mode 100644
index 00000000000..235d6a3320e
--- /dev/null
+++ b/src/locales/ko/bgm-name.ts
@@ -0,0 +1,145 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const bgmName: SimpleTranslationEntries = {
+ "music": "Music: ",
+ "missing_entries" : "{{name}}",
+ "battle_kanto_champion": "BW2 관동 챔피언 배틀",
+ "battle_johto_champion": "BW2 성도 챔피언 배틀",
+ "battle_hoenn_champion": "BW2 호연 챔피언 배틀",
+ "battle_sinnoh_champion": "BW2 신오 챔피언 배틀",
+ "battle_champion_alder": "BW 하나 챔피언 배틀",
+ "battle_champion_iris": "BW2 하나 챔피언 배틀",
+ "battle_kalos_champion": "XY 칼로스 챔피언 배틀",
+ "battle_alola_champion": "USUM 알로라 챔피언 배틀",
+ "battle_galar_champion": "SWSH 가라르 챔피언 배틀",
+ "battle_champion_geeta": "SV 챔피언 테사 배틀",
+ "battle_champion_nemona": "SV 챔피언 네모 배틀",
+ "battle_champion_kieran": "SV 챔피언 카지 배틀",
+ "battle_hoenn_elite": "ORAS 사천왕 배틀",
+ "battle_unova_elite": "BW 사천왕 배틀",
+ "battle_kalos_elite": "XY 사천왕 배틀",
+ "battle_alola_elite": "SM 사천왕 배틀",
+ "battle_galar_elite": "SWSH 리그 토너먼트 배틀",
+ "battle_paldea_elite": "SV 사천왕 배틀",
+ "battle_bb_elite": "SV 블루베리 리그 사천왕 배틀",
+ "battle_final_encounter": "불가사의 던전 구조대 DX 레쿠쟈의 영역",
+ "battle_final": "BW 게치스 배틀",
+ "battle_kanto_gym": "BW2 관동 체육관 배틀",
+ "battle_johto_gym": "BW2 성도 체육관 배틀",
+ "battle_hoenn_gym": "BW2 호연 체육관 배틀",
+ "battle_sinnoh_gym": "BW2 신오 체육관 배틀",
+ "battle_unova_gym": "BW 하나 체육관 배틀",
+ "battle_kalos_gym": "XY 칼로스 체육관 배틀",
+ "battle_galar_gym": "SWSH 가라르 체육관 배틀",
+ "battle_paldea_gym": "SV 팔데아 체육관 배틀",
+ "battle_legendary_kanto": "XY 관동 전설 조우 배틀",
+ "battle_legendary_raikou": "HGSS 라이코 배틀",
+ "battle_legendary_entei": "HGSS 엔테이 배틀",
+ "battle_legendary_suicune": "HGSS 스이쿤 배틀",
+ "battle_legendary_lugia": "HGSS 루기아 배틀",
+ "battle_legendary_ho_oh": "HGSS 칠색조 배틀",
+ "battle_legendary_regis_g5": "BW2 레지시리즈 배틀",
+ "battle_legendary_regis_g6": "ORAS 레지시리즈 배틀",
+ "battle_legendary_gro_kyo": "ORAS 그란돈 & 가이오가 배틀",
+ "battle_legendary_rayquaza": "ORAS 레쿠쟈 배틀",
+ "battle_legendary_deoxys": "ORAS 데오키시스 배틀",
+ "battle_legendary_lake_trio": "ORAS 호수의 수호신 배틀",
+ "battle_legendary_sinnoh": "ORAS 신오 전설 조우 배틀",
+ "battle_legendary_dia_pal": "ORAS 디아루가 & 펄기아 배틀",
+ "battle_legendary_giratina": "ORAS 기라티나 배틀",
+ "battle_legendary_arceus": "HGSS 아르세우스 배틀",
+ "battle_legendary_unova": "BW 하나 전설 조우 배틀",
+ "battle_legendary_kyurem": "BW 큐레무 배틀",
+ "battle_legendary_res_zek": "BW 레시라무 & 제크로무 배틀",
+ "battle_legendary_xern_yvel": "XY 제르네아스 & 이벨타르 배틀",
+ "battle_legendary_tapu": "SM 섬 수호신 배틀",
+ "battle_legendary_sol_lun": "SM 솔가레오 & 루나아라 배틀",
+ "battle_legendary_ub": "SM 울트라비스트 배틀",
+ "battle_legendary_dusk_dawn": "USUM 황혼의 갈기 & 새벽의 날개 네크로즈마 배틀",
+ "battle_legendary_ultra_nec": "USUM 울트라 네크로즈마 배틀",
+ "battle_legendary_zac_zam": "SWSH 자시안 & 자마젠타 배틀",
+ "battle_legendary_glas_spec": "SWSH 블리자포스 & 레이스포스 배틀",
+ "battle_legendary_calyrex": "SWSH 버드렉스 배틀",
+ "battle_legendary_birds_galar": "SWSH 가라르 전설의 새 배틀",
+ "battle_legendary_ruinous": "SV 재앙의 보물 배틀",
+ "battle_legendary_kor_mir": "SV 에리어 제로 배틀",
+ "battle_legendary_loyal_three": "SV 세벗들 배틀",
+ "battle_legendary_ogerpon": "SV 오거폰 배틀",
+ "battle_legendary_terapagos": "SV 테라파고스 배틀",
+ "battle_legendary_pecharunt": "SV 복숭악동 배틀",
+ "battle_rival": "BW 라이벌 배틀",
+ "battle_rival_2": "BW N 배틀",
+ "battle_rival_3": "BW 최종전 N 배틀",
+ "battle_trainer": "BW 트레이너 배틀",
+ "battle_wild": "BW 야생 포켓몬 배틀",
+ "battle_wild_strong": "BW 강한 야생 포켓몬 조우 배틀",
+ "end_summit": "불가사의 던전 구조대 DX 천공의 탑 꼭대기",
+ "battle_rocket_grunt": "HGSS 로켓단 배틀",
+ "battle_aqua_magma_grunt": "ORAS 아쿠아단 & 마그마단 배틀",
+ "battle_galactic_grunt": "BDSP 갤럭시단 배틀",
+ "battle_plasma_grunt": "BW 플라스마단 배틀",
+ "battle_flare_grunt": "XY 플레어단 배틀",
+ "battle_rocket_boss": "USUM 비주기 배틀",
+ "battle_aqua_magma_boss": "ORAS 아강 & 마적 배틀",
+ "battle_galactic_boss": "BDSP 태홍 배틀",
+ "battle_plasma_boss": "B2W2 게치스 배틀",
+ "battle_flare_boss": "XY 플라드리 배틀",
+
+ // Biome Music
+ "abyss": "불가사의 던전 하늘의 탐험대 어둠의 화구",
+ "badlands": "불가사의 던전 하늘의 탐험대 불모의 계곡",
+ "beach": "불가사의 던전 하늘의 탐험대 축축한 암반",
+ "cave": "불가사의 던전 하늘의 탐험대 하늘 꼭대기 동굴",
+ "construction_site": "불가사의 던전 하늘의 탐험대 바위 채석장",
+ "desert": "불가사의 던전 하늘의 탐험대 북쪽 사막",
+ "dojo": "불가사의 던전 하늘의 탐험대 텅구리 도장",
+ "end": "불가사의 던전 구조대DX 천공의 탑",
+ "factory": "불가사의 던전 하늘의 탐험대 숨겨진 유적",
+ "fairy_cave": "불가사의 던전 하늘의 탐험대 별의 동굴",
+ "forest": "불가사의 던전 하늘의 탐험대 검은 숲",
+ "grass": "불가사의 던전 하늘의 탐험대 사과의 숲",
+ "graveyard": "불가사의 던전 하늘의 탐험대 신비의 숲",
+ "ice_cave": "불가사의 던전 하늘의 탐험대 광대한 얼음산",
+ "island": "불가사의 던전 하늘의 탐험대 연안의 암반",
+ "jungle": "Lmz - Jungle", // The composer thinks about a more creative name
+ "laboratory": "Firel - Laboratory", // The composer thinks about a more creative name
+ "lake": "불가사의 던전 하늘의 탐험대 수정 동굴",
+ "meadow": "불가사의 던전 하늘의 탐험대 하늘 꼭대기 숲",
+ "metropolis": "Firel - Metropolis", // The composer thinks about a more creative name
+ "mountain": "불가사의 던전 하늘의 탐험대 뿔산",
+ "plains": "불가사의 던전 하늘의 탐험대 하늘 꼭대기 초원",
+ "power_plant": "불가사의 던전 하늘의 탐험대 일렉트릭 평원",
+ "ruins": "불가사의 던전 하늘의 탐험대 봉인의 암반",
+ "sea": "불가사의 던전 하늘의 탐험대 바닷가 동굴",
+ "seabed": "Firel - Seabed", // The composer thinks about a more creative name
+ "slum": "불가사의 던전 하늘의 탐험대 하늘 꼭대기 해변",
+ "snowy_forest": "불가사의 던전 하늘의 탐험대 하늘 꼭대기 설원",
+ "space": "Firel - Aether",
+ "swamp": "불가사의 던전 하늘의 탐험대 폐쇄되어진 바다",
+ "tall_grass": "불가사의 던전 하늘의 탐험대 짙은 안개의 숲",
+ "temple": "불가사의 던전 하늘의 탐험대 파수꾼의 동굴",
+ "town": "불가사의 던전 하늘의 탐험대 랜덤 던전 테마 3",
+ "volcano": "불가사의 던전 하늘의 탐험대 열수의 동굴",
+ "wasteland": "불가사의 던전 하늘의 탐험대 환상의 대지",
+
+ // Encounter
+ "encounter_ace_trainer": "BW 눈이 마주치면 승부! (엘리트 트레이너)",
+ "encounter_backpacker": "BW 눈이 마주치면 승부! (등산가)",
+ "encounter_clerk": "BW 눈이 마주치면 승부! (회사원)",
+ "encounter_cyclist": "BW 눈이 마주치면 승부! (사이클링)",
+ "encounter_lass": "BW 눈이 마주치면 승부! (짧은 치마)",
+ "encounter_parasol_lady": "BW 눈이 마주치면 승부! (파라솔 아가씨)",
+ "encounter_pokefan": "BW 눈이 마주치면 승부! (애호가클럽)",
+ "encounter_psychic": "BW 눈이 마주치면 승부! (초능력자)",
+ "encounter_rich": "BW 눈이 마주치면 승부! (신사)",
+ "encounter_rival": "BW 체렌",
+ "encounter_roughneck": "BW 눈이 마주치면 승부! (빡빡이)",
+ "encounter_scientist": "BW 눈이 마주치면 승부! (연구원)",
+ "encounter_twins": "BW 눈이 마주치면 승부! (쌍둥이)",
+ "encounter_youngster": "BW 눈이 마주치면 승부! (반바지 꼬마)",
+
+ // Other
+ "heal": "BW 포켓몬 센터",
+ "menu": "불가사의 던전 하늘의 탐험대 포켓몬 세계에 온 것을 환영한다!",
+ "title": "불가사의 던전 하늘의 탐험대 메뉴 테마",
+} as const;
diff --git a/src/locales/ko/biome.ts b/src/locales/ko/biome.ts
index 60fb016df64..7167618d161 100644
--- a/src/locales/ko/biome.ts
+++ b/src/locales/ko/biome.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const biome: SimpleTranslationEntries = {
"unknownLocation": "기억할 수 없는 곳",
diff --git a/src/locales/ko/challenges.ts b/src/locales/ko/challenges.ts
new file mode 100644
index 00000000000..136417f597b
--- /dev/null
+++ b/src/locales/ko/challenges.ts
@@ -0,0 +1,26 @@
+import { TranslationEntries } from "#app/interfaces/locales";
+
+export const challenges: TranslationEntries = {
+ "title": "챌린지 조건 설정",
+ "illegalEvolution": "{{pokemon}}[[는]] 현재의 챌린지에\n부적합한 포켓몬이 되었습니다!",
+ "singleGeneration": {
+ "name": "단일 세대",
+ "desc": "{{gen}}의 포켓몬만 사용할 수 있습니다.",
+ "desc_default": "선택한 세대의 포켓몬만 사용할 수 있습니다.",
+ "gen_1": "1세대",
+ "gen_2": "2세대",
+ "gen_3": "3세대",
+ "gen_4": "4세대",
+ "gen_5": "5세대",
+ "gen_6": "6세대",
+ "gen_7": "7세대",
+ "gen_8": "8세대",
+ "gen_9": "9세대",
+ },
+ "singleType": {
+ "name": "단일 타입",
+ "desc": "{{type}} 타입의 포켓몬만 사용할 수 있습니다.",
+ "desc_default": "선택한 타입의 포켓몬만 사용할 수 있습니다."
+ //type in pokemon-info
+ },
+} as const;
diff --git a/src/locales/ko/command-ui-handler.ts b/src/locales/ko/command-ui-handler.ts
index b10534cfb92..a40ec0316bf 100644
--- a/src/locales/ko/command-ui-handler.ts
+++ b/src/locales/ko/command-ui-handler.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const commandUiHandler: SimpleTranslationEntries = {
"fight": "싸운다",
diff --git a/src/locales/ko/common.ts b/src/locales/ko/common.ts
new file mode 100644
index 00000000000..30df85cb3a6
--- /dev/null
+++ b/src/locales/ko/common.ts
@@ -0,0 +1,10 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const common: SimpleTranslationEntries = {
+ "start": "시작",
+ "luckIndicator": "행운:",
+ "shinyOnHover": "색이 다른",
+ "commonShiny": "커먼",
+ "rareShiny": "레어",
+ "epicShiny": "에픽",
+} as const;
diff --git a/src/locales/ko/config.ts b/src/locales/ko/config.ts
index ad0035ede0f..5b29a46c044 100644
--- a/src/locales/ko/config.ts
+++ b/src/locales/ko/config.ts
@@ -1,10 +1,12 @@
import { ability } from "./ability";
import { abilityTriggers } from "./ability-trigger";
-import { achv } from "./achv";
+import { PGFachv, PGMachv } from "./achv";
import { battle } from "./battle";
import { battleMessageUiHandler } from "./battle-message-ui-handler";
import { berry } from "./berry";
+import { bgmName } from "./bgm-name";
import { biome } from "./biome";
+import { challenges } from "./challenges";
import { commandUiHandler } from "./command-ui-handler";
import {
PGFbattleSpecDialogue,
@@ -18,10 +20,12 @@ import {
} from "./dialogue";
import { egg } from "./egg";
import { fightUiHandler } from "./fight-ui-handler";
+import { gameMode } from "./game-mode";
import { gameStatsUiHandler } from "./game-stats-ui-handler";
import { growth } from "./growth";
import { menu } from "./menu";
import { menuUiHandler } from "./menu-ui-handler";
+import { modifier } from "./modifier";
import { modifierType } from "./modifier-type";
import { move } from "./move";
import { nature } from "./nature";
@@ -29,22 +33,32 @@ import { pokeball } from "./pokeball";
import { pokemon } from "./pokemon";
import { pokemonInfo } from "./pokemon-info";
import { pokemonInfoContainer } from "./pokemon-info-container";
+import { saveSlotSelectUiHandler } from "./save-slot-select-ui-handler";
import { splashMessages } from "./splash-messages";
import { starterSelectUiHandler } from "./starter-select-ui-handler";
+import { statusEffect } from "./status-effect";
import { titles, trainerClasses, trainerNames } from "./trainers";
import { tutorial } from "./tutorial";
import { voucher } from "./voucher";
-import { weather } from "./weather";
+import { terrain, weather } from "./weather";
+import { partyUiHandler } from "./party-ui-handler";
+import { settings } from "./settings.js";
+import { common } from "./common.js";
+import { modifierSelectUiHandler } from "./modifier-select-ui-handler";
export const koConfig = {
ability: ability,
abilityTriggers: abilityTriggers,
- achv: achv,
battle: battle,
battleMessageUiHandler: battleMessageUiHandler,
berry: berry,
+ bgmName: bgmName,
biome: biome,
+ challenges: challenges,
commandUiHandler: commandUiHandler,
+ common: common,
+ PGMachv: PGMachv,
+ PGFachv: PGFachv,
PGMdialogue: PGMdialogue,
PGFdialogue: PGFdialogue,
PGMbattleSpecDialogue: PGMbattleSpecDialogue,
@@ -55,10 +69,12 @@ export const koConfig = {
PGFdoubleBattleDialogue: PGFdoubleBattleDialogue,
egg: egg,
fightUiHandler: fightUiHandler,
+ gameMode: gameMode,
gameStatsUiHandler: gameStatsUiHandler,
growth: growth,
menu: menu,
menuUiHandler: menuUiHandler,
+ modifier: modifier,
modifierType: modifierType,
move: move,
nature: nature,
@@ -66,12 +82,18 @@ export const koConfig = {
pokemon: pokemon,
pokemonInfo: pokemonInfo,
pokemonInfoContainer: pokemonInfoContainer,
+ saveSlotSelectUiHandler: saveSlotSelectUiHandler,
+ settings: settings,
splashMessages: splashMessages,
starterSelectUiHandler: starterSelectUiHandler,
+ statusEffect: statusEffect,
+ terrain: terrain,
titles: titles,
trainerClasses: trainerClasses,
trainerNames: trainerNames,
tutorial: tutorial,
voucher: voucher,
- weather: weather
+ weather: weather,
+ partyUiHandler: partyUiHandler,
+ modifierSelectUiHandler: modifierSelectUiHandler
};
diff --git a/src/locales/ko/dialogue.ts b/src/locales/ko/dialogue.ts
index 625554b2968..a98b31a7c61 100644
--- a/src/locales/ko/dialogue.ts
+++ b/src/locales/ko/dialogue.ts
@@ -1,376 +1,568 @@
-import { DialogueTranslationEntries, SimpleTranslationEntries } from "#app/plugins/i18n";
+import { DialogueTranslationEntries, SimpleTranslationEntries } from "#app/interfaces/locales";
// Dialogue of the NPCs in the game when the player character is male (or unset)
export const PGMdialogue: DialogueTranslationEntries = {
"youngster": {
"encounter": {
- 1: "Hey, wanna battle?",
- 2: "Are you a new trainer too?",
- 3: "Hey, I haven't seen you before. Let's battle!",
- 4: "I just lost, so I'm trying to find more Pokémon.\nWait! You look weak! Come on, let's battle!",
- 5: "Have we met or not? I don't really remember. Well, I guess it's nice to meet you anyway!",
- 6: "All right! Let's go!",
- 7: "All right! Here I come! I'll show you my power!",
- 8: "Haw haw haw... I'll show you how hawesome my Pokémon are!",
- 9: "No need to waste time saying hello. Bring it on whenever you're ready!",
- 10: "Don't let your guard down, or you may be crying when a kid beats you.",
- 11: "I've raised my Pokémon with great care. You're not allowed to hurt them!",
- 12: "Glad you made it! It won't be an easy job from here.",
- 13: "The battles continue forever! Welcome to the world with no end!"
+ 1: "거기 너! 나와 배틀 어때?",
+ 2: "넌 새내기 트레이너구나. 맞지?",
+ 3: "거기 너! 처음보는 얼굴인데? 나랑 배틀하자!",
+ 4: "방금 배틀에서 져서 새로운 포켓몬을 찾는 중이야.\n잠깐! 넌 약해보이는데? 어서 나와 배틀하자!",
+ 5: "우리 만난 적이 있었던가? 잘 기억은 안나지만 어쨌든 만나서 반가워!",
+ 6: "좋아! 시작하자!",
+ 7: "좋아! 내가 왔다! 내 힘을 보여주지!",
+ 8: "하하하… 내 포켓몬이 얼마나 멋진지 보여주겠어!",
+ 9: "인사할 시간도 없어. 준비가 되었다면 이리 와!",
+ 10: "긴장을 늦추지마. 그렇지 않으면 어린이에게 맞아 울지도 몰라.",
+ 11: "난 내 포켓몬들을 소중히 키웠어. 내 포켓몬에게 상처를 입히게 놔두지 않겠어!",
+ 12: "여기까지 잘 왔구나! 하지만 지금부턴 쉽지 않을거야.",
+ 13: "배틀은 끝나지 않아! 끝없는 배틀의 세계에 온 것을 환영해!"
},
"victory": {
- 1: "Wow! You're strong!",
- 2: "I didn't stand a chance, huh?",
- 3: "I'll find you again when I'm older and beat you!",
- 4: "Ugh. I don't have any more Pokémon.",
- 5: "No way… NO WAY! How could I lose again…",
- 6: "No! I lost!",
- 7: "Whoa! You are incredible! I'm amazed and surprised!",
- 8: "Could it be… How… My Pokémon and I are the strongest, though…",
- 9: "I won't lose next time! Let's battle again sometime!",
- 10: "Sheesh! Can't you see that I'm just a kid! It wasn't fair of you to go all out like that!",
- 11: "Your Pokémon are more amazing! Trade with me!",
- 12: "I got a little carried away earlier, but what job was I talking about?",
- 13: "Ahaha! There it is! That's right! You're already right at home in this world!"
+ 1: "우와! 넌 강하구나!",
+ 2: "하? 난 기회가 없었어.",
+ 3: "내가 조금 더 큰 다음엔 널 찾아서 때리겠어!",
+ 4: "으.. 더이상 가지고 있는 포켓몬이 없어.",
+ 5: "말도 안돼… 안돼! 내가 또 지다니…",
+ 6: "안돼! 내가 지다니!",
+ 7: "우와! 정말 깜짝 놀랐어! 넌 정말 강하구나!",
+ 8: "이럴수가… 내 포켓몬과 난 최강인데… 어떻게…",
+ 9: "다음엔 지지 않을거야! 다음에 다시 배틀하자!",
+ 10: "쳇! 내가 어린애인게 보이지 않아?! 그렇게 최선을 다하는건 불공평해!",
+ 11: "네 포켓몬은 정말 굉장하구나! 나와 교환하자!",
+ 12: "내가 잠깐 정신이 나갔었나 봐. 내가 무슨 말을 하고 있었지?",
+ 13: "아하! 거기구나! 좋아! 넌 이미 이 세계에 머무를 곳이 있구나!"
}
},
"lass": {
"encounter": {
- 1: "Let's have a battle, shall we?",
- 2: "You look like a new trainer. Let's have a battle!",
- 3: "I don't recognize you. How about a battle?",
- 4: "Let's have a fun Pokémon battle!",
- 5: "I'll show you the ropes of how to really use Pokémon!",
- 6: "A serious battle starts from a serious beginning! Are you sure you're ready?",
- 7: "You're only young once. And you only get one shot at a given battle. Soon, you'll be nothing but a memory.",
- 8: "You'd better go easy on me, OK? Though I'll be seriously fighting!",
- 9: "School is boring. I've got nothing to do. Yawn. I'm only battling to kill the time."
+ 1: "나랑 배틀하자, 어때?",
+ 2: "넌 신입 트레이너구나. 나랑 배틀하자!",
+ 3: "너 거기 있었구나? 나랑 배틀할래?",
+ 4: "재밌는 포켓몬 배틀하자!",
+ 5: "내가 포켓몬을 어떻게 다뤄야하는지 보여줄게!",
+ 6: "진정한 배틀은 진지한 자세부터 시작이야! 준비됐어?",
+ 7: "젊음이 한순간이듯 배틀에서 네 기회도 단 한번만 주어질거야. 곧 넌 추억속으로 사라질거야.",
+ 8: "나에겐 살살해도 돼, 알았지? 그래도 난 진지하게 싸울거야!",
+ 9: "학교는 지겨워. 나는 할 일이 없어. 하암~ 난 그저 시간을 때우기 위해 싸울뿐이야."
},
"victory": {
- 1: "That was impressive! I've got a lot to learn.",
- 2: "I didn't think you'd beat me that bad…",
- 3: "I hope we get to have a rematch some day.",
- 4: "That was pretty amazingly fun! You've totally exhausted me…",
- 5: "You actually taught me a lesson! You're pretty amazing!",
- 6: "Seriously, I lost. That is, like, seriously depressing, but you were seriously cool.",
- 7: "I don't need memories like this. Deleting memory…",
- 8: "Hey! I told you to go easy on me! Still, you're pretty cool when you're serious.",
- 9: "I'm actually getting tired of battling… There's gotta be something new to do…"
+ 1: "인상적이었어! 난 아직 배울게 많구나.",
+ 2: "내가 이렇게까지 크게 질 줄은 몰랐어…",
+ 3: "언젠가 우리가 다시 배틀할 수 있을 날을 기다릴게.",
+ 4: "놀라울 정도로 엄청 재미있었어! 넌 날 완전히 지치게 만들어버렸네…",
+ 5: "넌 나에게 진짜 교훈을 주었어! 넌 정말 대단해!",
+ 6: "세상에, 내가 지다니. 이거 정말 우울하지만… 넌 정말 멋있었어.",
+ 7: "난 이런 기억따윈 필요없어. 잊어버리겠어…",
+ 8: "거기 너! 살살하라고 했지! 그래도 넌 진지할때 정말 멋지구나!",
+ 9: "사실 배틀하는 것이 지루하던 참이야… 뭔가 새로운 것이 없을까?"
}
},
"breeder": {
"encounter": {
- 1: "Obedient Pokémon, selfish Pokémon… Pokémon have unique characteristics.",
- 2: "Even though my upbringing and behavior are poor, I've raised my Pokémon well.",
- 3: "Hmm, do you discipline your Pokémon? Pampering them too much is no good.",
+ 1: "순종적인 포켓몬, 이기적인 포켓몬… 포켓몬들은 각기 다른 성격을 가지고 있지.",
+ 2: "내 태도가 그렇게 좋진 않아도, 내 포켓몬들은 잘 키웠어.",
+ 3: "음, 넌 포켓몬들을 훈육하니? 너무 심하게 하는 것은 좋지 않다고.",
},
"victory": {
- 1: "It is important to nurture and train each Pokémon's characteristics.",
- 2: "Unlike my diabolical self, these are some good Pokémon.",
- 3: "Too much praise can spoil both Pokémon and people.",
+ 1: "각 포켓몬의 성격을 이해하고 육성하는 건 중요해.",
+ 2: "사악한 나와는 달리 좋은 포켓몬들도 있지.",
+ 3: "과도한 칭찬은 사람과 포켓몬 모두에게 독이 될 수 있어.",
},
"defeat": {
- 1: "You should not get angry at your Pokémon, even if you lose a battle.",
- 2: "Right? Pretty good Pokémon, huh? I'm suited to raising things.",
- 3: "No matter how much you love your Pokémon, you still have to discipline them when they misbehave."
+ 1: "배틀에서 지더라도 포켓몬에게 화를 내면 안돼.",
+ 2: "어때? 꽤 괜찮은 포켓몬이지? 난 무언가 기르는 게 꽤 잘 맞더라고.",
+ 3: "네가 포켓몬을 얼마나 사랑하는지와 관계없이, 그들이 잘못을 저지르면 바로잡아야 해."
}
},
"breeder_female": {
"encounter": {
- 1: "Pokémon never betray you. They return all the love you give them.",
- 2: "Shall I give you a tip for training good Pokémon?",
- 3: "I have raised these very special Pokémon using a special method."
+ 1: "포켓몬은 절대 널 배신하지 않아. 네가 주는 사랑을 고스란히 되돌려 준다구.",
+ 2: "좋은 포켓몬을 키우는 팁을 알려줄까?",
+ 3: "난 아주 특별한 방법으로 아주 특별한 포켓몬들을 키웠지!"
},
"victory": {
- 1: "Ugh… It wasn't supposed to be like this. Did I administer the wrong blend?",
- 2: "How could that happen to my Pokémon… What are you feeding your Pokémon?",
- 3: "If I lose, that tells you I was just killing time. It doesn't damage my ego at all."
+ 1: "이런… 이렇게 될 리가 없는데. 내가 블렌딩을 잘못 썼나?",
+ 2: "내 포켓몬에게 이런 일이… 넌 네 포켓몬에게 뭘 먹이는 거야?",
+ 3: "내가 지는 건 그저 내가 시간을 때우고 있었다는 걸 알려주는 거지. 내 자존심엔 전혀 상처가 되지 않는다구."
},
"defeat": {
- 1: "This proves my Pokémon have accepted my love.",
- 2: "The real trick behind training good Pokémon is catching good Pokémon.",
- 3: "Pokémon will be strong or weak depending on how you raise them."
+ 1: "이건 내 포켓몬들이 내 사랑을 받아들였다는 걸 입증하지.",
+ 2: "좋은 포켓몬을 키우는 진짜 비결은 좋은 포켓몬을 잡는 거야.",
+ 3: "포켓몬의 강함과 약함은 네가 어떻게 키우느냐에 따라 결정되지."
}
},
"fisherman": {
"encounter": {
- 1: "Aack! You made me lose a bite!\nWhat are you going to do about it?",
- 2: "Go away! You're scaring the Pokémon!",
- 3: "Let's see if you can reel in a victory!",
+ 1: "앗! 너 때문에 한 마리 놓쳤잖아! 어떻게 할 거야?",
+ 2: "저리 가! 네가 포켓몬들을 놀래키고 있잖아!",
+ 3: "네가 승리를 낚을 수 있을지 한번 보자고!",
},
"victory": {
- 1: "Just forget about it.",
- 2: "Next time, I'll be reelin' in the triumph!",
- 3: "Guess I underestimated the currents this time.",
+ 1: "그냥 잊어버려.",
+ 2: "다음 번엔 내가 승리의 나팔을 울리고 있을거다!",
+ 3: "이번엔 내가 물살을 과소평가했나보군.",
},
},
"fisherman_female": {
"encounter": {
- 1: "Woah! I've hooked a big one!",
- 2: "Line's in, ready to reel in success!",
- 3: "Ready to make waves!"
+ 1: "월척이다!",
+ 2: "낚시대는 던져졌고, 이젠 성공을 끌어올리는 일만 남았다!",
+ 3: "파도를 일으킬 준비는 끝났어!"
},
"victory": {
- 1: "I'll be back with a stronger hook.",
- 2: "I'll reel in victory next time.",
- 3: "I'm just sharpening my hooks for the comeback!"
+ 1: "더 튼튼한 바늘을 가지고 돌아올테다.",
+ 2: "다음번엔 꼭 성공을 낚을 거야!",
+ 3: "다시 돌아올 날을 기다리며 바늘을 다듬고 있을게!"
},
},
"swimmer": {
"encounter": {
- 1: "Time to dive in!",
- 2: "Let's ride the waves of victory!",
- 3: "Ready to make a splash!",
+ 1: "뛰어들 시간이다!",
+ 2: "승리의 파도 속으로!",
+ 3: "첨벙댈 준비는 끝났어!",
},
"victory": {
- 1: "Drenched in defeat!",
- 2: "A wave of defeat!",
- 3: "Back to shore, I guess.",
+ 1: "패배에 젖어버렸어…",
+ 2: "패배의 파도였군.",
+ 3: "해변으로 돌아갈 시간이군.",
},
},
"backpacker": {
"encounter": {
- 1: "Pack up, game on!",
- 2: "Let's see if you can keep pace!",
- 3: "Gear up, challenger!",
- 4: "I've spent 20 years trying to find myself… But where am I?"
+ 1: "게임 시작이야! 짐 단단히 싸놓으라구!",
+ 2: "네가 속도를 유지할 수 있을지 보자!",
+ 3: "각오 단단히 하라고!",
+ 4: "20년 동안 나 자신을 찾기 위해 헤매왔어… 근데 내가 어디 있지?"
},
"victory": {
- 1: "Tripped up this time!",
- 2: "Oh, I think I'm lost.",
- 3: "Dead end!",
- 4: "Wait up a second! Hey! Don't you know who I am?"
+ 1: "이번엔 걸려 넘어져 버렸네!",
+ 2: "내가 속도를 잃어버렸잖아!",
+ 3: "막다른 길이야!",
+ 4: "잠깐! 그래 거기, 혹시 내가 누군지 아나?"
},
},
"ace_trainer": {
"encounter": {
- 1: "You seem quite confident.",
- 2: "Your Pokémon… Show them to me…",
- 3: "Because I'm an Ace Trainer, people think I'm strong.",
- 4: "Are you aware of what it takes to be an Ace Trainer?"
+ 1: "너는 꽤 자신만만해 보이는구나.",
+ 2: "너의 포켓몬들… 나에게 보여줘…",
+ 3: "내가 엘리트 트레이너라서, 사람들은 내가 강하다고 생각해.",
+ 4: "엘리트 트레이너가 되려면 무엇이 필요한지 알고 있니?"
},
"victory": {
- 1: "Yes… You have good Pokémon…",
- 2: "What?! But I'm a battling genius!",
- 3: "Of course, you are the main character!",
- 4: "OK! OK! You could be an Ace Trainer!"
+ 1: "그러네… 넌 좋은 포켓몬을 가졌구나…",
+ 2: "뭐? 말도 안 돼, 난 배틀 천재라구!",
+ 3: "그래도 역시, 네가 주인공이구나!",
+ 4: "좋아! 좋아! 너도 엘리트 트레이너가 될 수 있겠어!"
},
"defeat": {
- 1: "I am devoting my body and soul to Pokémon battles!",
- 2: "All within my expectations… Nothing to be surprised about…",
- 3: "I thought I'd grow up to be a frail person who looked like they would break if you squeezed them too hard.",
- 4: "Of course I'm strong and don't lose. It's important that I win gracefully."
+ 1: "난 내 몸과 마음을 포켓몬 배틀에 바치고 있어!",
+ 2: "모두 예상된 일이었어… 이건 놀랄 일이 아니야…",
+ 3: "난 내가 강하게 압박하면 무너질 연약한 사람이라고 생각했어.",
+ 4: "난 강하고, 지지 않아. 그저 멋지게 이길 수 없었기 때문이야."
}
},
"parasol_lady": {
"encounter": {
- 1: "Time to grace the battlefield with elegance and poise!",
+ 1: "우아함과 침착함으로 승부하겠습니다!",
},
"victory": {
- 1: "My elegance remains unbroken!",
+ 1: "그래도 제 우아함은 무너지지 않아요!",
}
},
"twins": {
"encounter": {
- 1: "Get ready, because when we team up, it's double the trouble!",
- 2: "Two hearts, one strategy – let's see if you can keep up with our twin power!",
- 3: "Hope you're ready for double trouble, because we're about to bring the heat!"
+ 1: "각오해, 우리가 한 팀이 되면 두 배로 강해진다구!",
+ 2: "마음은 두 개지만 우리는 하나 – 네가 쌍둥이의 파워를 따라잡을 수 있는지 보겠어!",
+ 3: "두 배로 각오하는 게 좋을 거야. 우리가 곧 화나게 할 거거든!"
},
"victory": {
- 1: "We may have lost this round, but our bond remains unbreakable!",
- 2: "Our twin spirit won't be dimmed for long.",
- 3: "We'll come back stronger as a dynamic duo!"
+ 1: "비록 우리는 졌지만, 우리의 관계는 깨지지 않아!",
+ 2: "그래도 우리의 영혼은 오랫동안 흐려지지 않을 거야.",
+ 3: "더 강력한 듀오로 강해져서 돌아오겠어!"
},
"defeat": {
- 1: "Twin power reigns supreme!",
- 2: "Two hearts, one triumph!",
- 3: "Double the smiles, double the victory dance!"
+ 1: "우리 쌍둥이의 파워는 최고야!",
+ 2: "마음은 두 개지만 승리는 하나!",
+ 3: "미소도 두 배, 승리의 댄스도 두 배!"
}
},
"cyclist": {
"encounter": {
- 1: "Get ready to eat my dust!",
- 2: "Gear up, challenger! I'm about to leave you in the dust!",
- 3: "Pedal to the metal, let's see if you can keep pace!"
+ 1: "내가 만든 먼지나 마실 준비하시지!",
+ 2: "준비하라구! 난 널 먼지 속에 놓고 올 거니까!",
+ 3: "전력을 다해야 할 거야, 네가 날 따라올 수 있는지 지켜보겠어!"
},
"victory": {
- 1: "Spokes may be still, but determination pedals on.",
- 2: "Outpaced!",
- 3: "The road to victory has many twists and turns yet to explore."
+ 1: "바퀴가 움직이지 않더라도, 나의 페달은 그렇지 않아.",
+ 2: "이런, 따라잡혔어!",
+ 3: "승리로 가는 길에는 아직 만나지 못한 우여곡절이 많이 있구나."
},
},
"black_belt": {
"encounter": {
- 1: "I praise your courage in challenging me! For I am the one with the strongest kick!",
- 2: "Oh, I see. Would you like to be cut to pieces? Or do you prefer the role of punching bag?"
+ 1: "네 용기가 대단하구나! 난 최고의 발차기 실력을 갖추고 있다구!",
+ 2: "오, 알겠어. 산산조각이 나고 싶구나? 아니면 샌드백이 되고 싶은 거야?"
},
"victory": {
- 1: "Oh. The Pokémon did the fighting. My strong kick didn't help a bit.",
- 2: "Hmmm… If I was going to lose anyway, I was hoping to get totally messed up in the process."
+ 1: "이런, 포켓몬이 배틀을 하는 동안 내 발차기는 전혀 도움이 되지 않았어.",
+ 2: "음… 어차피 내가 질거라면, 완전 엉망진창이 되길 바랬는데…"
},
},
"battle_girl": {
"encounter": {
- 1: "You don't have to try to impress me. You can lose against me.",
+ 1: "감동을 주려고 노력할 필요는 없어. 네가 질 수도 있으니까.",
},
"victory": {
- 1: "It's hard to say good-bye, but we are running out of time…",
+ 1: "작별인사는 어렵지만, 우리에겐 시간이 얼마 안 남았네…",
},
},
"hiker": {
"encounter": {
- 1: "My middle-age spread has given me as much gravitas as the mountains I hike!",
- 2: "I inherited this big-boned body from my parents… I'm like a living mountain range…",
+ 1: "중년으로 접어들면서 등산해왔던 산처럼 진중해졌습니다!",
+ 2: "살아있는 산같은… 큰 체격을 부모님이 물려주셨죠…",
},
"victory": {
- 1: "At least I cannot lose when it comes to BMI!",
- 2: "It's not enough… It's never enough. My bad cholesterol isn't high enough…"
+ 1: "적어도 BMI에 대해서는 질 수 없습니다!",
+ 2: "부족해… 절대로 충분하지 않아. 저의 콜레스테롤이 부족합니다…"
},
},
"ranger": {
"encounter": {
- 1: "When I am surrounded by nature, most other things cease to matter.",
- 2: "When I'm living without nature in my life, sometimes I'll suddenly feel an anxiety attack coming on."
+ 1: "자연에 둘러싸여 있으면, 다른 건 중요하지 않게 느껴져.",
+ 2: "인생에서 자연을 빼고 살면, 가끔 갑자기 마음이 불안해지지."
},
"victory": {
- 1: "It doesn't matter to the vastness of nature whether I win or lose…",
- 2: "Something like this is pretty trivial compared to the stifling feelings of city life."
+ 1: "광활한 자연 앞에서는 내가 이기든 지든 상관없어…",
+ 2: "도시 생활의 답답한 느낌에 비하면 이런 것은 아주 사소한 일지."
},
"defeat": {
- 1: "I won the battle. But victory is nothing compared to the vastness of nature…",
- 2: "I'm sure how you feel is not so bad if you compare it to my anxiety attacks…"
+ 1: "내가 이겼네. 그러나 승리는 광대한 자연에 비하면 아무것도 아니야…",
+ 2: "내 마음속 불안함과 비교하면, 당신 기분은 그렇게 나쁘지 않을텐데…"
}
},
"scientist": {
"encounter": {
- 1: "My research will lead this world to peace and joy.",
+ 1: "제 연구는 이 세상을 평화와 기쁨으로 이끌 겁니다.",
},
"victory": {
- 1: "I am a genius… I am not supposed to lose against someone like you…",
+ 1: "전 천재니까… 당신 같은 사람에게 질 수 없는데…",
},
},
"school_kid": {
"encounter": {
- 1: "…Heehee. I'm confident in my calculations and analysis.",
- 2: "I'm gaining as much experience as I can because I want to be a Gym Leader someday."
+ 1: "…헤헷. 계산과 분석에는 자신 있어.",
+ 2: "언젠가 체육관 관장이 되고 싶어서, 최대한 많은 경험을 쌓고 있어."
},
"victory": {
- 1: "Ohhhh… Calculation and analysis are perhaps no match for chance…",
- 2: "Even difficult, trying experiences have their purpose, I suppose."
+ 1: "으아아… 이번에는 아마 계산과 분석이 빗나간 것 같아…",
+ 2: "내가 보기엔, 어렵고 힘든 경험도 나름의 의미가 있는 것 같아."
}
},
"artist": {
"encounter": {
- 1: "I used to be popular, but now I am all washed up.",
+ 1: "예전엔 인기가 많았지만, 지금은 모두 사라졌다네.",
},
"victory": {
- 1: "As times change, values also change. I realized that too late.",
+ 1: "시대가 변하면, 가치관도 변하지. 난 그걸 너무 늦게 깨달았어.",
},
},
"guitarist": {
"encounter": {
- 1: "Get ready to feel the rhythm of defeat as I strum my way to victory!",
+ 1: "패배의 리듬을 느낄 준비는 됐겠지? 내가 승리할 거니까!",
},
"victory": {
- 1: "Silenced for now, but my melody of resilience will play on.",
+ 1: "지금은 조용하지만, 회복의 멜로디를 연주할 거야.",
},
},
"worker": {
"encounter": {
- 1: "It bothers me that people always misunderstand me. I'm a lot more pure than everyone thinks.",
+ 1: "사람들이 저를 오해하는 게 신경 쓰여요. 전 생각보다 훨씬 깨끗하답니다.",
},
"victory": {
- 1: "I really don't want my skin to burn, so I want to stay in the shade while I work.",
+ 1: "피부가 타는 게 싫어서, 일하는 동안엔 그늘에 머물고 싶어요.",
},
},
"worker_female": {
"encounter": {
- 1: `It bothers me that people always misunderstand me.
- $I'm a lot more pure than everyone thinks.`
+ 1: `사람들이 나를 오해하는 게 신경 쓰여.
+ $나는 생각보다 훨씬 깨끗한데.`
},
"victory": {
- 1: "I really don't want my skin to burn, so I want to stay in the shade while I work."
+ 1: "피부가 타는 게 싫어서, 일하는 동안엔 그늘에 머물고 싶어."
},
"defeat": {
- 1: "My body and mind aren't necessarily always in sync."
+ 1: "생각처럼 몸이 잘 안따라주네."
}
},
"worker_double": {
"encounter": {
- 1: "I'll show you we can break you. We've been training in the field!",
+ 1: "너를 무너뜨릴 수 있다는 것을 보여줄게. 우리는 실전 경험이 있거든!",
},
"victory": {
- 1: "How strange… How could this be… I shouldn't have been outmuscled.",
+ 1: "이상하네… 어떻게 이럴 수 있지… 힘으로 압도할 수 없다니.",
},
},
"hex_maniac": {
"encounter": {
- 1: "I normally only ever listen to classical music, but if I lose, I think I shall try a bit of new age!",
- 2: "I grow stronger with each tear I cry."
+ 1: "평소에는 클래식 음악만 들었는데, 지면 뉴에이지도 좀 들어볼까!",
+ 2: "눈물을 흘릴 때마다 더 강해지는 것 같아."
},
"victory": {
- 1: "Is this the dawning of the age of Aquarius?",
- 2: "Now I can get even stronger. I grow with every grudge."
+ 1: "지금이 물병자리 시대의 시작일까?",
+ 2: "이제 나는 더 강해지겠지. 모든 원한과 함께 성장하겠어."
},
"defeat": {
- 1: "New age simply refers to twentieth century classical composers, right?",
- 2: "Don't get hung up on sadness or frustration. You can use your grudges to motivate yourself."
+ 1: "뉴에이지란 단순히 20세기 클래식 작곡가들을 말하는 거, 맞지?",
+ 2: "슬픔이나 좌절에 얽매이지 마. 넌 그 원한을 원동력으로 사용할 수 있어."
}
},
"psychic": {
"encounter": {
- 1: "Hi! Focus!",
+ 1: "안녕! 집중해!",
},
"victory": {
- 1: "Eeeeek!",
+ 1: "에에에에엣!",
},
},
"officer": {
"encounter": {
- 1: "Brace yourself, because justice is about to be served!",
- 2: "Ready to uphold the law and serve justice on the battlefield!"
+ 1: "마음의 준비를 하시죠, 정의가 곧 실행될 거니까요!",
+ 2: "법을 지키고 정의를 위해 봉사할 준비가 되었습니다!"
},
"victory": {
- 1: "The weight of justice feels heavier than ever…",
- 2: "The shadows of defeat linger in the precinct."
+ 1: "정의의 무게가 그 어느 때보다 무겁게 느껴집니다…",
+ 2: "패배의 그림자가 관할 경찰서에 남았습니다."
}
},
"beauty": {
"encounter": {
- 1: "My last ever battle… That's the way I'd like us to view this match…",
+ 1: "나의 마지막 배틀… 이 승부를 그렇게 봐주셨으면 좋겠어요…",
},
"victory": {
- 1: "It's been fun… Let's have another last battle again someday…",
+ 1: "즐거웠어요… 언젠가 또 다른 마지막 승부를 하죠…",
},
},
"baker": {
"encounter": {
- 1: "Hope you're ready to taste defeat!"
+ 1: "패배의 맛을 볼 준비는 됐겠지!"
},
"victory": {
- 1: "I'll bake a comeback."
+ 1: "실력이든 빵이든, 굽고 나면 단단해지는 법이라네."
},
},
"biker": {
"encounter": {
- 1: "Time to rev up and leave you in the dust!"
+ 1: "힘차게 먼지 속으로 출발할 시간입니다!"
},
"victory": {
- 1: "I'll tune up for the next race."
+ 1: "다음 경주를 위해 준비해야겠습니다."
},
},
"firebreather": {
"encounter": {
- 1: "My flames shall devour you!",
- 2: "My soul is on fire. I'll show you how hot it burns!",
- 3: "Step right up and take a look!"
+ 1: "내 불꽃이 너를 삼킬 테니까!",
+ 2: "내 영혼은 불타고 있다. 얼마나 뜨겁게 타는지 보여주지!",
+ 3: "이리 올라와서 보도록!"
},
"victory": {
- 1: "I burned down to ashes...",
- 2: "Yow! That's hot!",
- 3: "Ow! I scorched the tip of my nose!"
+ 1: "하얗게 불태웠다………",
+ 2: "큭! 제법 뜨겁군!",
+ 3: "으윽! 코끝에 화상을 입었다!"
},
},
+ "sailor": {
+ "encounter": {
+ 1: "친구여, 진다면 널빤지 행이야!",
+ 2: "덤벼! 내 선원으로서 자존심이 위태롭군!",
+ 3: "여어 거기! 뱃멀미 하나?"
+ },
+ "victory": {
+ 1: "크윽! 꼬맹이한테 지다니!",
+ 2: "네 영혼이 나를 침몰시켰어!",
+ 3: "내가 뱃멀미가 나는 것 같군…"
+ },
+ },
+ "rocket_grunt": {
+ "encounter": {
+ 1: "트러블에 대비하도록!"
+ },
+ "victory": {
+ 1: "로켓단은 다시 떠오를 거니까!"
+ },
+ },
+ "magma_grunt": {
+ "encounter": {
+ 1: " 마그마단을 방해한다면, 자비는 없닷!"
+ },
+ "victory": {
+ 1: "하? 내가 졌어?!"
+ },
+ },
+ "aqua_grunt": {
+ "encounter": {
+ 1: "아쿠아단을 넘본 사람에게는 자비는 없다, 꼬마도 마찬가지야!"
+ },
+ "victory": {
+ 1: "말도 안돼!"
+ },
+ },
+ "galactic_grunt": {
+ "encounter": {
+ 1: "갤럭시단을 방해하지 마!"
+ },
+ "victory": {
+ 1: "사격 중지…… "
+ },
+ },
+ "plasma_grunt": {
+ "encounter": {
+ 1: "다른 생각을 가진사람들은 용납하지 않겠다!"
+ },
+ "victory": {
+ 1: "플라-스마-!"
+ },
+ },
+ "flare_grunt": {
+ "encounter": {
+ 1: "패션이 우리한텐 가장 중요하다고!"
+ },
+ "victory": {
+ 1: "미래가 밝아 보이질 않네."
+ },
+ },
+ "rocket_boss_giovanni_1": {
+ "encounter": {
+ 1: "그래서! 여기까지 오다니, 감탄이 절로 나오는군!"
+ },
+ "victory": {
+ 1: "하! 이럴 순 없어!"
+ },
+ "defeat": {
+ 1: "자신의 힘을 측정하지 못하는 걸 보아하니, 아직 별볼일 없는 꼬맹이로군. 내 말을 명심하도록. "
+ }
+ },
+ "rocket_boss_giovanni_2": {
+ "encounter": {
+ 1: "옛 친구들이 나를 필요로 하고 있다…… 그런데도 방해하겠다는 건가?"
+ },
+ "victory": {
+ 1: "어떻게 이런 일이…?\n로켓단의 소중한 꿈이 환상에 불과해졌군…… "
+ },
+ "defeat": {
+ 1: "로켓단은 다시 태어난다, 그리고 세상을 지배할 것이다!"
+ }
+ },
+ "magma_boss_maxie_1": {
+ "encounter": {
+ 1: "내 손으로 널 파묻어주지. 영광으로 알도록!"
+ },
+ "victory": {
+ 1: "윽! 꽤… 제법이군…\n내가 뒤쳐졌지만, 겨우 한 끝이다…"
+ },
+ "defeat": {
+ 1: "마그마단이 앞선다!"
+ }
+ },
+ "magma_boss_maxie_2": {
+ "encounter": {
+ 1: "나와 내 목표 사이에 남은 마지막 장애물이로군.\n최후의 공격에 대비하도록! 후하하하!"
+ },
+ "victory": {
+ 1: "이런… 이럴 수는… 없어… "
+ },
+ "defeat": {
+ 1: "이제부터… 인류의 이상을 위해 대지를 더 늘려가겠다."
+ }
+ },
+ "aqua_boss_archie_1": {
+ "encounter": {
+ 1: "내가 아쿠아단의 리더다, 유감스럽게도 넌 이게 끝이겠군."
+ },
+ "victory": {
+ 1: "다시 어딘가에서 만나도록하지. 그 얼굴 기억해둘테니까."
+ },
+ "defeat": {
+ 1: "좋군! 이제 아쿠아단을 막아설 것은 없다!"
+ }
+ },
+ "aqua_boss_archie_2": {
+ "encounter": {
+ 1: "이 날이 오는 것을 너무 오래 기다렸군.\n이것이 우리의 진정한 힘이다!"
+ },
+ "victory": {
+ 1: "내가 생각했던 것들이…… "
+ },
+ "defeat": {
+ 1: "이 세상을 원래의 순수한 상태로 되돌리겠다, 그 모든 것을!!"
+ }
+ },
+ "galactic_boss_cyrus_1": {
+ "encounter": {
+ 1: "넌 공허한 감정에 이끌려 이곳에 오게된 것이다.\n마음에 귀를 기울인 것을 후회하게 해주지!"
+ },
+ "victory": {
+ 1: "흥미롭군. 게다가 꽤 궁금해졌어."
+ },
+ "defeat": {
+ 1: "새로운 세상을 만들 것이다…"
+ }
+ },
+ "galactic_boss_cyrus_2": {
+ "encounter": {
+ 1: "이런 우리가 다시 만나게 됐군. 우리의 운명이 얽히게 된 것 같군.\n 하지만 지금 여기서, 나는 마침내 그 끈을 끊을 것이다!"
+ },
+ "victory": {
+ 1: "어떻게? 어째서? 어떻게?!"
+ },
+ "defeat": {
+ 1: "작별이로군."
+ }
+ },
+ "plasma_boss_ghetsis_1": {
+ "encounter": {
+ 1: "누구도 저를 막을 수 없습니다! 무슨 짓을 하더라도!"
+ },
+ "victory": {
+ 1: "…어떻게 된 거지? 이 몸은 플라스마단을 만들어낸 완벽한 남자라고! "
+ },
+ "defeat": {
+ 1: "세계를 바꿀 완전한 지배자가 아니었단 말인가!? …흐하하!"
+ }
+ },
+ "plasma_boss_ghetsis_2": {
+ "encounter": {
+ 1: "오시죠! 당신이 모든 희망을 잃는 순간의 얼굴을 보겠습니다!"
+ },
+ "victory": {
+ 1: "내 계산이… 틀려! 내 치밀한 계획이 틀리다니! 세상은 내 것이어야 하는데!"
+ },
+ "defeat": {
+ 1: "큐레무! 합체해라!"
+ }
+ },
+ "flare_boss_lysandre_1": {
+ "encounter": {
+ 1: "나를 막겠다고? 배틀로 증명하도록."
+ },
+ "victory": {
+ 1: "네가 나를 여기서 막았군. 하지만 잠시 기다리도록. "
+ },
+ "defeat": {
+ 1: "포켓몬은… 더 이상 존재하지 않는다."
+ }
+ },
+ "flare_boss_lysandre_2": {
+ "encounter": {
+ 1: "너의 미래와 나의 미래… 어느 쪽이 옳은지 서로의 포켓몬에게 묻도록 하지."
+ },
+ "victory": {
+ 1: "크윽!"
+ },
+ "defeat": {
+ 1: "우매한 자들이 이 아름다운 세상을 계속 더럽히고 있군."
+ }
+ },
"brock": {
"encounter": {
1: "내 전문인 바위 타입 포켓몬으로 널 쓰러뜨려줄게! 덤벼!",
@@ -512,1007 +704,1007 @@ export const PGMdialogue: DialogueTranslationEntries = {
},
"roxanne": {
"encounter": {
- 1: "Would you kindly demonstrate how you battle?",
- 2: "You can learn many things by battling many trainers.",
- 3: "Oh, you caught me strategizing.\nWould you like to battle?"
+ 1: "당신이 어떻게 싸우는지 보여주시겠어요?",
+ 2: "당신은 여러 트레이너와 싸우면서 많은 것을 배울 수 있을거예요.",
+ 3: "아, 전략짜는 거 들켰네요.\n배틀할까요?"
},
"victory": {
- 1: "Oh, I appear to have lost.\nI understand.",
- 2: "It seems that I still have so much more to learn when it comes to battle.",
- 3: "I'll take what I learned here today to heart."
+ 1: "아, 제가 진 것 같네요.\n승복하겠습니다.",
+ 2: "전 아직도 포켓몬 배틀에 대해서 한참 더 배워야할 것 같네요.",
+ 3: "오늘 여기서 배운 것들을 마음에 담아둬야겠어요."
},
"defeat": {
- 1: "I have learned many things from our battle.\nI hope you have too.",
- 2: "I look forward to battling you again.\nI hope you'll use what you've learned here.",
- 3: "I won due to everything I have learned."
+ 1: "전 방금 승부에서 많은 것을 배웠습니다.\n당신도 그랬길 바래요.",
+ 2: "다시 붙을 날이 기대되네요.\n당신이 여기서 배운 걸 활용할 수 있길 바랍니다.",
+ 3: "여태까지 공부해온 것 덕분에 이겼네요."
}
},
"brawly": {
"encounter": {
- 1: "Oh man, a challenger!\nLet's see what you can do!",
- 2: "You seem like a big splash.\nLet's battle!",
- 3: "Time to create a storm!\nLet's go!"
+ 1: "오, 도전자잖아!\n어디 한 번 볼까!",
+ 2: "넌 큰 파란을 일으킬 것 같군.\n승부다!",
+ 3: "폭풍을 일으킬 시간이야!\n가자!"
},
"victory": {
- 1: "Oh woah, you've washed me out!",
- 2: "You surfed my wave and crashed me down!",
- 3: "I feel like I'm lost in Granite Cave!"
+ 1: "우와, 너 날 씻겨버렸네!",
+ 2: "내 파도를 타고, 나까지 밀어내다니!",
+ 3: "바위 동굴에서 길을 잃은 기분이야!"
},
"defeat": {
- 1: "Haha, I surfed the big wave!\nChallenge me again sometime.",
- 2: "Surf with me again some time!",
- 3: "Just like the tides come in and out, I hope you return to challenge me again."
+ 1: "하핫, 난 큰 파도를 탔다고!\n언제 또 도전해주라.",
+ 2: "언젠가 또 같이 서핑하자고!",
+ 3: "파도가 밀려왔다가 밀려나듯, 언젠가 너도 다시 도전하러 와."
}
},
"wattson": {
"encounter": {
- 1: "Time to get shocked!\nWahahahaha!",
- 2: "I'll make sparks fly!\nWahahahaha!",
- 3: "I hope you brought Paralyz Heal!\nWahahahaha!"
+ 1: "찌릿찌릿해질 때가 됐군!\n와하하하핫!",
+ 2: "스파크가 튀도록 해주마!\n와하하하하!",
+ 3: "와하하하하!\n마비 치료제를 가져왔길 바라네!"
},
"victory": {
- 1: "Seems like I'm out of charge!\nWahahahaha!",
- 2: "You've completely grounded me!\nWahahahaha!",
- 3: "Thanks for the thrill!\nWahahahaha!"
+ 1: "이 몸 배터리가 다 됐군!\n와하하하하!",
+ 2: "자네 완전히 날 좌초시켰군!\n와하하하핫!",
+ 3: "스릴 넘치는 배틀, 고맙네!\n와하하하하하!"
},
"defeat": {
- 1: "Recharge your batteries and challenge me again sometime!\nWahahahaha!",
- 2: "I hope you found our battle electrifying!\nWahahahaha!",
- 3: "Aren't you shocked I won?\nWahahahaha!"
+ 1: "자네의 배터리 재충전하게. 그리고 나에게 도전하러 돌아오도록!\n와하하하핫!",
+ 2: "방금 배틀이 자네에게 짜릿짜릿했길 바란다네!\n와하하하하!",
+ 3: "자네 혹시 내가 이겨서 충격 받았나?\n와하하하핫!"
}
},
"flannery": {
"encounter": {
- 1: "Nice to meet you! Wait, no…\nI will crush you!",
- 2: "I've only been a leader for a little while, but I'll smoke you!",
- 3: "It's time to demonstrate the moves my grandfather has taught me! Let's battle!"
+ 1: "어서오세요! 잠깐, 아냐…\n너를 무너뜨려줄게!",
+ 2: "난 체육관 관장이 된지는 얼마 안됐지만, 널 태워버릴거야!",
+ 3: "할아버지에게 배운 기술을 한 수 보여줄게! 승부다!"
},
"victory": {
- 1: "You remind me of my grandfather…\nNo wonder I lost.",
- 2: "Am I trying too hard?\nI should relax, can't get too heated.",
- 3: "Losing isn't going to smother me out.\nTime to reignite training!"
+ 1: "너 우리 할아버지를 생각나게 하네…\n내가 진 게 놀랍진 않아.",
+ 2: "나 너무 열심히 하는 건가?\n너무 열 올리면 안되니깐, 진정해야겠어.",
+ 3: "패배는 날 꺼뜨릴 수 없어.\n트레이닝으로 다시 불을 붙일 때야!"
},
"defeat": {
- 1: "I hope I've made my grandfather proud…\nLet's battle again some time.",
- 2: "I…I can't believe I won!\nDoing things my way worked!",
- 3: "Let's exchange burning hot moves again soon!"
+ 1: "할아버지가 자랑스러워하시길…\n언젠가 다시 배틀하자.",
+ 2: "내…내가 이기다니!\n내 방식대로 한 게 통했어!",
+ 3: "조만간 다시 뜨겁게 불타오르는 배틀을 하자!"
}
},
"norman": {
"encounter": {
- 1: "I'm surprised you managed to get here.\nLet's battle.",
- 2: "I'll do everything in my power as a Gym Leader to win.\nLet's go!",
- 3: "You better give this your all.\nIt's time to battle!"
+ 1: "여기까지 오다니 놀랍군.\n한 번 겨뤄볼까.",
+ 2: "관장으로서 최선을 다해 널 이길 거란다.\n가자!",
+ 3: "최선을 다하는 게 좋을 거야.\n승부할 시간이다!"
},
"victory": {
- 1: "I lost to you…?\nRules are rules, though.",
- 2: "Was moving from Olivine a mistake…?",
- 3: "I can't believe it.\nThat was a great match."
+ 1: "내가 지다니…?\n규칙은 규칙이니, 흐음.",
+ 2: "담청시티에서 이사한 게 문제였나…?",
+ 3: "믿을 수 없구나.\n훌륭한 승부였어."
},
"defeat": {
- 1: "We both tried our best.\nI hope we can battle again soon.",
- 2: "You should try challenging my kid instead.\nYou might learn something!",
- 3: "Thank you for the excellent battle.\nBetter luck next time."
+ 1: "우린 둘 다 최선을 다했지.\n다시 대결할 수 있었으면 좋겠구나.",
+ 2: "우리 집 꼬마에게 도전해보는 것도 좋겠군.\n아마 뭔가 배울 수 있을거다!",
+ 3: "방금 전 배틀 완벽했어.\n다음에도 행운이 함께하길."
}
},
"winona": {
"encounter": {
- 1: "I've been soaring the skies looking for prey…\nAnd you're my target!",
- 2: "No matter how our battle is, my Flying Pokémon and I will triumph with grace. Let's battle!",
- 3: "I hope you aren't scared of heights.\nLet's ascend!"
+ 1: "저는 먹이를 찾아서 하늘을 날아다녔어요…\n그리고 당신은 제 타겟입니다!",
+ 2: "배틀이 어떻게 되든, 전 제 비행 포켓몬과 우아하게 승리하겠어요. 승부합시다!",
+ 3: "당신이 높은 곳을 무서워하지 않기를.\n자, 날아올라요!"
},
"victory": {
- 1: "You're the first Trainer I've seen with more grace than I.\nExcellently played.",
- 2: "Oh, my Flying Pokémon have plummeted!\nVery well.",
- 3: "Though I may have fallen, my Pokémon will continue to fly!"
+ 1: "저보다 우아하게 나서는 트레이너는 처음 봤습니다.\n훌륭하시네요.",
+ 2: "이런, 제 비행 포켓몬이 추락해버렸네요!\n훌륭한 배틀이었습니다.",
+ 3: "비록 전 떨어졌지만, 제 포켓몬은 다시 날아갈 겁니다!"
},
"defeat": {
- 1: "My Flying Pokémon and I will forever dance elegantly!",
- 2: "I hope you enjoyed our show.\nOur graceful dance is finished.",
- 3: "Won't you come see our elegant choreography again?"
+ 1: "제 비행 포켓몬과 영원히 우아하게 춤출게요.",
+ 2: "우리의 쇼가 즐거웠길 바라요.\우아한 춤은 끝났습니다.",
+ 3: "우리의 엘레강스한 안무를 다시 보러오지 않을래요?"
}
},
"tate": {
"encounter": {
- 1: "Hehehe…\nWere you surprised to see me without my sister?",
- 2: "I can see what you're thinking…\nYou want to battle!",
- 3: "How can you defeat someone…\nWho knows your every move?"
+ 1: "헤헤헤…\n내가 란과 같이 있지 않아서 놀랐지?",
+ 2: "네가 무슨 생각을 하는지 알아…\n승부하고 싶은거지!",
+ 3: "네 움직임을 모두 알고 있는데…\n어떻게 이기려고?"
},
"victory": {
- 1: "It can't be helped…\nI miss Liza…",
- 2: "Your bond with your Pokémon was stronger than mine.",
- 3: "If I were with Liza, we would have won.\nWe can finish each other's thoughts!"
+ 1: "어쩔 수 없지…\n란이 보고싶다아…",
+ 2: "너와 네 포켓몬과의 유대, 나보다 더 견고한걸.",
+ 3: "란이랑 함께였다면, 우리가 이겼어.\n둘이선 더 잘 할 수 있다구!"
},
"defeat": {
- 1: "My Pokémon and I are superior!",
- 2: "If you can't even defeat me, you'll never be able to defeat Liza either.",
- 3: "It's all thanks to my strict training with Liza.\nI can make myself one with Pokémon."
+ 1: "내 포켓몬과 나는 우수하다구!",
+ 2: "날 못 이긴다면, 넌 란한테도 절대로 못 이겨.",
+ 3: "란과 함께한 엄격한 훈련 덕이야.\n덕분에 포켓몬과 하나가 될 수 있었어."
}
},
"liza": {
"encounter": {
- 1: "Fufufu…\nWere you surprised to see me without my brother?",
- 2: "I can determine what you desire…\nYou want to battle, don't you?",
- 3: "How can you defeat someone…\nWho's one with their Pokémon?"
+ 1: "후후후…\n내가 풍과 같이 있지 않아서 놀랐지?",
+ 2: "네가 무얼 바라는지 알아…\n포켓몬 배틀, 맞지?",
+ 3: "포켓몬과 하나가 된 사람…\n어떻게 이기려고?"
},
"victory": {
- 1: "It can't be helped…\nI miss Tate…",
- 2: "Your bond with your Pokémon…\nIt's stronger than mine.",
- 3: "If I were with Tate, we would have won.\nWe can finish each other's sentences!"
+ 1: "어쩔 수 없지…\n풍이 보고싶다아…",
+ 2: "너와 네 포켓몬과의 유대, 나보다 더 견고한걸.",
+ 3: "풍이랑 함께였다면, 우리가 이겼어.\n둘이선 더 잘 할 수 있다구!"
},
"defeat": {
- 1: "My Pokémon and I are victorious.",
- 2: "If you can't even defeat me, you'll never be able to defeat Tate either.",
- 3: "It's all thanks to my strict training with Tate.\nI can synchronize myself with my Pokémon."
+ 1: "내 포켓몬과 내가 승리한거야.",
+ 2: "날 못 이긴다면, 넌 풍한테도 절대로 못 이겨.",
+ 3: "풍과 함께한 엄격한 훈련 덕이야.\n덕분에 포켓몬과 싱크로 될 수 있었어."
}
},
"juan": {
"encounter": {
- 1: "Now's not the time to act coy.\nLet's battle!",
- 2: "Ahahaha, You'll be witness to my artistry with Water Pokémon!",
- 3: "A typhoon approaches!\nWill you be able to test me?",
- 4: "Please, you shall bear witness to our artistry.\nA grand illusion of water sculpted by my Pokémon and myself!"
+ 1: "지금은 겸양을 부릴 때가 아니군요.\n승부합시다!",
+ 2: "아하하하, 물 포켓몬과 함께 아트를 보여드리겠습니다!",
+ 3: "태풍이 다가오는군요!\n저를 테스트해주시겠습니까?",
+ 4: "자, 마음껏 봐주십시오.\n저와 포켓몬이 이루어내는 물의 일루전을!"
},
"victory": {
- 1: "You may be a genius who can take on Wallace!",
- 2: "I focused on elegance while you trained.\nIt's only natural that you defeated me.",
- 3: "Ahahaha!\nVery well, You have won this time.",
- 4: "From you, I sense the brilliant shine of skill that will overcome all."
+ 1: "당신은 윤진 관장을 뛰어넘을 지니어스군요!",
+ 2: "당신이 훈련할 때 저는 엘레강스에 집중했습니다.\n당신이 이기는 건 당연하죠.",
+ 3: "아하하하하!\n잘했습니다, 이번엔 당신이 이겼네요.",
+ 4: "모든 것을 극복하는 브릴리언트 스킬, 당신에게 느껴지네요."
},
"defeat": {
- 1: "My Pokémon and I have sculpted an illusion of Water and come out victorious.",
- 2: "Ahahaha, I have won, and you have lost.",
- 3: "Shall I loan you my outfit? It may help you battle!\nAhahaha, I jest!",
- 4: "I'm the winner! Which is to say, you lost."
+ 1: "저와 포켓몬이 이루어내는 물의 일루전이 승리했습니다.",
+ 2: "아하하핫, 저는 이겼고, 당신은 졌습니다.",
+ 3: "겉옷 빌려드릴까요? 아마도 배틀에 도움이 될겁니다!\n아하하하, 농담입니다!",
+ 4: "제가 승리자군요! 그리고, 당신은 졌네요."
}
},
"crasher_wake": {
"encounter": {
- 1: "Crash! Crash! Watch out!\nCrasher Wake…is…heeere!",
- 2: "Crash! Crash! Crasher Wake!",
- 3: "I'm the tidal wave of power to wash you away!"
+ 1: "철썩! 철썩! 조심해라!\n맥시멈 가면이…지금…간다!",
+ 2: "철썩! 철썩! 파도의 맥시멈 가면!",
+ 3: "밀물같은 힘으로 쓸려나가도록 해보실까!!"
},
"victory": {
- 1: "That puts a grin on my face!\nGuhahaha! That was a blast!",
- 2: "Hunwah! It's gone and ended!\nHow will I say this…\nI want more! I wanted to battle a lot more!",
- 3: "WHAAAAT!?"
+ 1: "저절로 웃음이 나오게 되는군!\n크하하핫! 정말 훌륭했다!",
+ 2: "우왓! 끝나버렸나!\n뭐랄까…\n좀 더 싸우고 싶은 기분이야!",
+ 3: "이럴수가!?"
},
"defeat": {
- 1: "Yeeeeah! That's right!",
- 2: "I won, but I want more! I wanted to battle a lot more!",
- 3: "So long!"
+ 1: "으하하핫! 보람차군!",
+ 2: "내가 이겼지만, 아쉽군! 좀 더 배틀하고 싶은데!",
+ 3: "잘 가게나!"
}
},
"falkner": {
"encounter": {
- 1: "I'll show you the real power of the magnificent bird Pokémon!",
- 2: "Winds, stay with me!",
- 3: "Dad! I hope you're watching me battle from above!"
+ 1: "넓은 하늘을 화려하게 나는 새 포켓몬의 진정한 강함을 알게 해주겠다!",
+ 2: "바람이여, 나에게 오라!",
+ 3: "아버지, 내 시합을 하늘에서도 봐줘!"
},
"victory": {
- 1: "I understand… I'll bow out gracefully.",
- 2: "A defeat is a defeat. You are strong indeed.",
- 3: "…Shoot! Yeah, I lost."
+ 1: "알았다… 미련없이 땅에 내려가지.",
+ 2: "패배는 패배니까. 넌 정말 강하군.",
+ 3: "…큭! 그래, 내가 졌다."
},
"defeat": {
- 1: "Dad! I won with your cherished bird Pokémon…",
- 2: "Bird Pokémon are the best after all!",
- 3: "Feels like I'm catching up to my dad!"
+ 1: "아버지! 소중히 여기던 새 포켓몬으로 이겼어…",
+ 2: "언제나 새 포켓몬이 최강이다!",
+ 3: "아버지를 따라 잡은 기분이군!"
}
},
"nessa": {
"encounter": {
- 1: "No matter what kind of plan your refined mind may be plotting, my partner and I will be sure to sink it.",
- 2: "I'm not here to chat. I'm here to win!",
- 3: "This is a little gift from my Pokémon… I hope you can take it!"
+ 1: "똑똑한 네가 어떤 계획을 세우고 있든지, 나와 내 파트너가 가라앉혀줄 테니까 문제 없어.",
+ 2: "잡담하려고 나온 게 아니야. 이기려고 나온 거지!",
+ 3: "이건 내 포켓몬이 주는 작은 선물이야… 네가 잘 받아줘야 해!"
},
"victory": {
- 1: "You and your Pokémon are just too much…",
- 2: "How…? How can this be?!",
- 3: "I was totally washed away!"
+ 1: "너와 네 포켓몬 정말로 너무…",
+ 2: "어째서…? 어떻게 이럴 수 있지?!",
+ 3: "완전히 씻겨 나갔잖아!"
},
"defeat": {
- 1: "The raging wave crashes again!",
- 2: "Time to ride the wave of victory!",
- 3: "Ehehe!"
+ 1: "성난 파도가 다시 부딪혀올거니까!",
+ 2: "승리의 파도를 탈 시간이야!",
+ 3: "에헤헤!"
}
},
"melony": {
"encounter": {
- 1: "I'm not going to hold back!",
- 2: "All righty, I suppose we should get started.",
- 3: "I'll freeze you solid!"
+ 1: "봐주지는 않을 거란다!",
+ 2: "그럼 이제, 시작해도 될 것 같네.",
+ 3: "영하의 세계로 안내해주마!"
},
"victory": {
- 1: "You… You're pretty good, huh?",
- 2: "If you find Gordie around, be sure to give him a right trashing, would you?",
- 3: "I think you took breaking the ice a little too literally…"
+ 1: "너… 꽤 하는구나?",
+ 2: "만약 주변에서 마쿠와를 찾는다면, 그 때는 따끔한 맛을 보여주도록 하렴, 알았지?",
+ 3: "아이스 브레이킹을 너무 문자 그대로 받아들인 것 같은데…"
},
"defeat": {
- 1: "Now do you see how severe battles can be?",
- 2: "Hee! Looks like I went and won again!",
- 3: "Are you holding back?"
+ 1: "이제 전투가 얼마나 치열할 수 있는 지 알겠니?",
+ 2: "아하하! 내가 또 이긴 것 같네!",
+ 3: "너 혹시 봐준거니?"
}
},
"marlon": {
"encounter": {
- 1: "You look strong! Shoots! Let's start!",
- 2: "I'm strong like the ocean's wide. You're gonna get swept away, fo' sho'.",
- 3: "Oh ho, so I'm facing you! That's off the wall."
+ 1: "너 강해보이네! 받아라! 승부 시작이야!",
+ 2: "난 넓은 대양처럼 강인하다고. 너 분명히 휩쓸려 갈거야.",
+ 3: "오, 내가 너를 마주 보고 있군! 둘다 파도에서 떨어지겠어."
},
"victory": {
- 1: "You totally rocked that! You're raising some wicked Pokémon. You got this Trainer thing down!",
- 2: "You don't just look strong, you're strong fo' reals! Eh, I was swept away, too!",
- 3: "You're strong as a gnarly wave!"
+ 1: "너… 좋은 포켓몬을 키우고 있구나! 꽤 하는군! 끝내주는 트레이너야!",
+ 2: "강해 보이는 게 아니고 진짜 강하구나! 에-, 나도 휩쓸려버렸어!",
+ 3: "넌 거친 파도처럼 강인하구나!"
},
"defeat": {
- 1: "You're tough, but it's not enough to sway the sea, 'K!",
- 2: "Hee! Looks like I went and won again!",
- 3: "Sweet, sweet victory!"
+ 1: "넌 강하지만, 바다를 흔들기에는 역부족이네, 그치!",
+ 2: "아하핫! 내가 또 이긴 것 같네!",
+ 3: "달콤하네, 승리 역시 달콤하고!"
}
},
"shauntal": {
"encounter": {
- 1: "Excuse me. You're a challenger, right?\nI'm the Elite Four's Ghost-type Pokémon user, Shauntal, and I shall be your opponent.",
- 2: "I absolutely love writing about Trainers who come here and the Pokémon they train.\nCould I use you and your Pokémon as a subject?",
- 3: "Every person who works with Pokémon has a story to tell.\nWhat story is about to be told?"
+ 1: "미안합니다. 도전자이시죠?\n고스트포켓몬 조련사인 사천왕 망초가 상대하겠습니다.",
+ 2: "겨루었던 트레이너와 포켓몬의 마음이 통하는 모습을 이야기로 만드는 것을 좋아해서요!\n그러니까 당신들에 대한 취재를 허락해 주세요?",
+ 3: "포켓몬과 함께 일하는 모든 사람들은 각자 이야기를 갖고 있죠.\n어떤 이야기를 들려드릴까요?"
},
"victory": {
- 1: "Wow. I'm dumbstruck!",
- 2: "S-sorry! First, I must apologize to my Pokémon…\n\nI'm really sorry you had a bad experience because of me!",
- 3: "Even in light of that, I'm still one of the Elite Four!"
+ 1: "…우와. 저 아연실색 망연자실이에요!",
+ 2: "미-미 미안합니다! 먼저 포켓몬에게 사과해야지…\n\n나 때문에 괴로운 기억을 만들게 돼서 정말 미안해!",
+ 3: "그치만, 전 여전히 사천왕인걸요!"
},
"defeat": {
- 1: "Eheh.",
- 2: "That gave me excellent material for my next novel!",
- 3: "And so, another tale ends…"
+ 1: "에헤헤.",
+ 2: "다음 소설의 완벽한 소재를 얻었다!",
+ 3: "그리고 이렇게, 또 다른 이야기가 끝났습니다…"
}
},
"marshal": {
"encounter": {
- 1: "My mentor, Alder, sees your potential as a Trainer and is taking an interest in you.\nIt is my intention to test you--to take you to the limits of your strength. Kiai!",
- 2: "Victory, decisive victory, is my intention! Challenger, here I come!",
- 3: "In myself, I seek to develop the strength of a fighter and shatter any weakness in myself!\nPrevailing with the force of my convictions!"
+ 1: "노간주 스승님이, 잠재력을 보고 네게 관심을 갖고 계시더군.\n그 힘의 한계까지 데려가는 것이 이번 의도다! 그럼 간다!",
+ 2: "승리, 압도적인 승리, 내가 바라는 것이다! 강인한 도전자여, 간다!",
+ 3: "깨뜨리는 것은 약한 자신, 관철하는 것은 강한 신념!\n 그리고 바라는 것은 압도적인 승리!"
},
"victory": {
- 1: "Whew! Well done!",
- 2: "As your battles continue, aim for even greater heights!",
- 3: "The strength shown by you and your Pokémon has deeply impressed me…"
+ 1: "후우! 잘 싸웠다!",
+ 2: "역시 대단하구나! 싸워서 더욱더 높은 곳을 노려라…!",
+ 3: "너와 네 포켓몬이 보여준 그 힘, 감명 깊군…"
},
"defeat": {
- 1: "Hmm.",
- 2: "That was good battle.",
- 3: "Haaah! Haaah! Haiyaaaah!"
+ 1: "흐음.",
+ 2: "좋은 승부였다.",
+ 3: "하압! 하압! 히야아아압!!!!"
}
},
"cheren": {
"encounter": {
- 1: "You remind me of an old friend. That makes me excited about this Pokémon battle!",
- 2: `Pokémon battles have no meaning if you don't think why you battle.
- $Or better said, it makes battling together with Pokémon meaningless.`,
- 3: "My name's Cheren! I'm a Gym Leader and a teacher! Pleasure to meet you."
+ 1: "넌 내 오랜 친구가 생각나게 하는군. 그 덕분에 이 배틀이 기대돼!",
+ 2: `왜 하고 있는지 생각하지 않으면, 포켓몬 배틀은 의미가 없어 .
+ $좋게 말하면, 함께 포켓몬과 승부하는 것이 무의미해 지는 것이지.`,
+ 3: "내 이름은 체렌! 체육관 관장이자 선생님을 하고 있지! 널 만나게 되서 기쁘군."
},
"victory": {
- 1: "Thank you! I saw what was missing in me.",
- 2: "Thank you! I feel like I saw a little of the way toward my ideals.",
- 3: "Hmm… This is problematic."
+ 1: "고마워! 내 안에 무엇이 부족했는지 알게 됐네.",
+ 2: "고마워! 내가 추구하는 이상에 조금 다가간 것 같아.",
+ 3: "으음… 이건 문제가 있군."
},
"defeat": {
- 1: "As a Gym Leader, I aim to be a wall for you to overcome.",
- 2: "All right!",
- 3: "I made it where I am because Pokémon were by my side.\nPerhaps we need to think about why Pokémon help us not in terms of Pokémon and Trainers but as a relationship between living beings."
+ 1: "체육관 관장으로서, 나는 넘어야할 벽이 되고자 하고 있거든.",
+ 2: "좋았어!",
+ 3: "포켓몬이 곁에 있었기 때문에 여기까지 올 수 있었어.\n생명체와 생명체라는 동등한 관계에서 포켓몬이 우리에게 도움을 주는 이유를 생각해 볼 필요는 있지."
}
},
"chili": {
"encounter": {
- 1: "Yeeeeooow! Time to play with FIRE!! I'm the strongest of us brothers!",
- 2: "Ta-da! The Fire-type scorcher Chili--that's me--will be your opponent!",
- 3: "I'm going to show you what me and my blazing Fire types can do!"
+ 1: "이얏호-! 형제중 가장 강한 나하고 놀자고!",
+ 2: "짜잔! 불꽃타입 불꽃의 남자 팟, 바로 너의 상대가 되어주지!",
+ 3: "나와 내 불타오르는 불꽃타입 포켓몬들이 뭘 할수 있는지 보여주지!"
},
"victory": {
- 1: "You got me. I am… burned… out…",
- 2: "Whoa ho! You're on fire!",
- 3: "Augh! You got me!"
+ 1: "졌지만… 모 두 불 태 웠 어!!",
+ 2: "와우! 불태워졌네!",
+ 3: "으악! 너가 나를 이겨버렸잖아!"
},
"defeat": {
- 1: "I'm on fire! Play with me, and you'll get burned!",
- 2: "When you play with fire, you get burned!",
- 3: "I mean, c'mon, your opponent was me! You didn't have a chance!"
+ 1: "난 지금 불타오르고 있어, 나와 싸우게 된다면 넌 다치게 될거야!",
+ 2: "불장난하면 밤에 이불에 지도를 그리는 법이지!",
+ 3: "그러니까, 상대가 나였잖아? 너에게는 처음부터 기회가 없었다고!"
}
},
"cilan": {
"encounter": {
- 1: `Nothing personal... No hard feelings... Me and my Grass-type Pokémon will...
- $Um... We're gonna battle come what may.`,
- 2: "So, um, if you're OK with me, I'll, um, put everything I've got into being, er, you know, your opponent.",
- 3: "OK… So, um, I'm Cilan, I like Grass-type Pokémon."
+ 1: `개인적으로 받아들이지 마세요… 감정 상하지도 말고요… 저와 제 풀타입 포켓몬들이라면…
+ $음… 무슨 일이 있더라도 배틀을 할 겁니다.`,
+ 2: "네. 저로 괜찮다면 진심을 담아서 상대해 드리겠습니다.",
+ 3: "네… 그, 음, 저는 덴트입니다, 풀타입 포켓몬을 좋아합니다."
},
"victory": {
- 1: "Er… Is it over now?",
- 2: `…What a surprise. You are very strong, aren't you?
- $I guess my brothers wouldn't have been able to defeat you either…`,
- 3: "…Huh. Looks like my timing was, um, off?"
+ 1: "…에- 그게… 끝나버렸나요?",
+ 2: `…놀랐습니다. 당신 아주 강하군요.
+ $팟이나 콘이라도 이길 수 없었을 것 같습니다…`,
+ 3: "…어라, 타이밍이 좀 잘못된것 같네요?"
},
"defeat": {
- 1: "Huh? Did I win?",
- 2: `I guess…
- $I suppose I won, because I've been competing with my brothers Chili and Cress, and we all were able to get tougher.`,
- 3: "It…it was quite a thrilling experience…"
+ 1: "어라? 제가 이긴 건가요?",
+ 2: `제 생각엔…
+ $아무래도 제가 이겼어야만 했을 거라 생각합니다, 팟과 콘이랑 배틀하면서 우리는 모두 더 강해졌기 때문이죠.`,
+ 3: "정말… 아주 짜릿한 경험이었습니다…"
}
},
"roark": {
"encounter": {
- 1: "I need to see your potential as a Trainer. And, I'll need to see the toughness of the Pokémon that battle with you!",
- 2: "Here goes! These are my rocking Pokémon, my pride and joy!",
- 3: "Rock-type Pokémon are simply the best!",
- 4: "I need to see your potential as a Trainer. And, I'll need to see the toughness of the Pokémon that battle with you!"
+ 1: "트레이너로서 너의 실력이 어느 정도인지 그리고 함께 싸울 포켓몬이 얼마나 강한지 확인해보겠어!",
+ 2: "자 간다! 내 자랑이자 기쁨인 바위타입 포켓몬들이야!",
+ 3: "바위타입 포켓몬이야말로 최고지!",
+ 4: "트레이너로서 너의 실력이 어느 정도인지 그리고 함께 싸울 포켓몬이 얼마나 강한지 확인해보겠어!"
},
"victory": {
- 1: "W-what? That can't be! My buffed-up Pokémon!",
- 2: "…We lost control there. Next time I'd like to challenge you to a Fossil-digging race underground.",
- 3: "With skill like yours, it's natural for you to win.",
- 4: "Wh-what?! It can't be! Even that wasn't enough?",
- 5: "I blew it."
+ 1: "이-이럴수가! 열심히 단련시킨 포켓몬들이!",
+ 2: "…져버린 건가. 다음엔 지하통로에서 화석캐기 승부를 하고 싶구나.",
+ 3: "네 실력이라면 승리는 당연한 결과겠지.",
+ 4: "뭐-뭐야?! 이럴 수가! 이것도 부족했단 말인가?",
+ 5: "내가 실수했군."
},
"defeat": {
- 1: "See? I'm proud of my rocking battle style!",
- 2: "Thanks! The battle gave me confidence that I may be able to beat my dad!",
- 3: "I feel like I just smashed through a really stubborn boulder!"
+ 1: "봤지? 이게 바로 내가 자랑하는 바위 스타일 전투야!",
+ 2: "고마워! 이번 승부로 아버지를 이길 수 있겠다는 자신감이 생겼어!",
+ 3: "정말 단단한 바위를 뚫고 나온 기분인데!"
}
},
"morty": {
"encounter": {
- 1: `With a little more, I could see a future in which I meet the legendary Pokémon.
- $You're going to help me reach that level!`,
- 2: `It's said that a rainbow-hued Pokémon will come down to appear before a truly powerful Trainer.
- $I believed that tale, so I have secretly trained here all my life. As a result, I can now see what others cannot.
- $I see a shadow of the person who will make the Pokémon appear.
- $I believe that person is me! You're going to help me reach that level!`,
- 3: "Whether you choose to believe or not, mystic power does exist.",
- 4: "You can bear witness to the fruits of my training.",
- 5: "You must make your soul one with that of Pokémon. Can you do this?",
- 6: "Say, do you want to be part of my training?"
+ 1: `조금만 더 노력하면, 내가 전설의 포켓몬을 만나는 미래가 보여.
+ $내가 그 수준에 도달할 수 있게 도와줘!`,
+ 2: `커다란 무지개색 포켓몬은 진정한 강함을 가진 트레이너 앞에 나타난다는 이야기가 있어.
+ $난 그 이야기를 믿고, 줄곧 이 곳에서 몰래 수행하고 있어. 그 결과로, 다른 사람들은 볼 수 없는 것을 볼 수 있게 됐지.
+ $내겐 그 포켓몬을 나타나게 할 사람의 그림자가 보이거든.
+ $난 그게 나라고 믿어! 넌 내가 그 수준에 올라갈 수 있도록 도와줘야겠어!`,
+ 3: "네가 믿든 믿지 않든, 불가사의한 힘은 존재해.",
+ 4: "넌 내 수련의 결실을 보게 될 거야.",
+ 5: "포켓몬과 너의 영혼을 하나로 만들어야 해. 가능하겠어?",
+ 6: "저기, 너 내 수행의 일부분이 되고 싶은거지?"
},
"victory": {
- 1: "I'm not good enough yet…",
- 2: `I see… Your journey has taken you to far-away places and you have witnessed much more than I.
- $I envy you for that…`,
- 3: "How is this possible…",
- 4: `I don't think our potentials are so different.
- $But you seem to have something more than that… So be it.`,
- 5: "Guess I need more training.",
- 6: "That's a shame."
+ 1: "나는 아직 멀었구나…",
+ 2: `그래… 여행으로 먼 곳을 돌아다니면서, 나보다 훨씬 많은 것을 봐왔구나.
+ $네가 조금 부럽네…`,
+ 3: "이게 어떻게 가능한 거지…",
+ 4: `우리의 잠재력은 그렇게 다르진 않은 것 같아.
+ $그치만 넌 그것과 다른 무언가를 많이 갖고 있는 것 같네… 흐음.`,
+ 5: "수련이 더 필요하겠군.",
+ 6: "안타깝게 됐네."
},
"defeat": {
- 1: "I moved… one step ahead again.",
- 2: "Fufufu…",
- 3: "Wh-what?! It can't be! Even that wasn't enough?",
- 4: "I feel like I just smashed through a really stubborn boulder!",
- 5: "Ahahahah!",
- 6: "I knew I would win!"
+ 1: "내가…다시 한 발짝 앞섰어.",
+ 2: "후후훗…",
+ 3: "뭐-뭐야?! 이럴 수가! 그것도 부족해?",
+ 4: "정말 단단한 바위를 뚫고 나온 기분인데!",
+ 5: "아하하하하!",
+ 6: "내가 이길 줄 알았어!"
}
},
"crispin": {
"encounter": {
- 1: "I wanna win, so that's exactly what I'll do!",
- 2: "I battle because I wanna battle! And you know what? That's how it should be!"
+ 1: "이기고 싶으니까 이기고 말겠어!",
+ 2: "싸우고 싶으면 싸운다! 이거면 충분하지 않아!?"
},
"victory": {
- 1: "I wanted to win…but I lost!",
- 2: "I lost…'cause I couldn't win!"
+ 1: "이기고 싶었는데…졌잖아!",
+ 2: "이기지 못해서…지고 말았어!"
},
"defeat": {
- 1: "Hey, wait a sec. Did I just win? I think I just won! Talk about satisfying!",
- 2: "Wooo! That was amazing!"
+ 1: "잠시만. 나 지금 이긴거지? 이긴 거 맞지! 기분 좋은데!",
+ 2: "우와아! 이거 굉장한데!"
}
},
"amarys": {
"encounter": {
- 1: `I want to be the one to help a certain person. That being the case, I cannot afford to lose.
- $… Our battle starts now.`,
+ 1: `네리네는 그 사람을 구원하고 싶습니다. 그렇기에 패배는 용납되지 않습니다.
+ $… 승부를 시작합니다.`,
},
"victory": {
- 1: "I am… not enough, I see."
+ 1: "네리네는… 안 된다는 건가요."
},
"defeat": {
- 1: "Victory belongs to me. Well fought."
+ 1: "네리네가 승리했습니다. 수고하셨습니다."
}
},
"lacey": {
"encounter": {
- 1: "I'll be facing you with my usual party as a member of the Elite Four."
+ 1: "이번에는 사천왕으로서 승부하는 거니까 평소 사용하는 아이들로 상대해 드릴게요!"
},
"victory": {
- 1: "That was a great battle!"
+ 1: "멋진 포켓몬 배틀이었어요!"
},
"defeat": {
- 1: "Let's give your Pokémon a nice round of applause for their efforts!"
+ 1: "당신의 포켓몬의 노력에 박수를 보내주세요!"
}
},
"drayton": {
"encounter": {
- 1: `Man, I love chairs. Don't you love chairs? What lifesavers.
- $I don't get why everyone doesn't just sit all the time. Standing up's tiring work!`,
+ 1: `의자는 좋은 거야. 너도 그렇게 생각해? 정말 고마운 물건이지.
+ $왜 다들 앉지 않는 걸까. 서 있는 건 힘들잖아!`,
},
"victory": {
- 1: "Guess I should've expected that!"
+ 1: "전보다 더 강해질 줄이야!"
},
"defeat": {
- 1: "Heh heh! Don't mind me, just scooping up a W over here. I get it if you're upset, but don't go full Kieran on me, OK?"
+ 1: "헤헤헷! 내 승리야. 분한 건 알겠지만 카지처럼 나가떨어지지마, 응?"
}
},
"ramos": {
"encounter": {
- 1: `Did yeh enjoy the garden playground I made with all these sturdy plants o' mine?
- $Their strength is a sign o' my strength as a gardener and a Gym Leader! Yeh sure yer up to facing all that?`,
+ 1: `그래, 올곧게 자란 초목을 모아서 만든 풀 정글짐은 어땠는가?
+ $자네가 느낀 그것이 나의 체육관 관장으로서의 실력이네! 한번 확인해 보겠나?`,
},
"victory": {
- 1: "Yeh believe in yer Pokémon… And they believe in yeh, too… It was a fine battle, sprout."
+ 1: "포켓몬은 자네를 믿고, 자네는 그들을 믿는다…가슴이 후련해지는 승부였구먼."
},
"defeat": {
- 1: "Hohoho… Indeed. Frail little blades o' grass'll break through even concrete."
+ 1: "호호호…연약해 보이는 풀잎은 콘크리트도 뚫을 수 있다네."
}
},
"viola": {
"encounter": {
- 1: `Whether it's the tears of frustration that follow a loss or the blossoming of joy that comes with victory…
- $They're both great subjects for my camera! Fantastic! This'll be just fantastic!
- $Now come at me!`,
- 2: "My lens is always focused on victory--I won't let anything ruin this shot!"
+ 1: `패배의 분함도 승리의 순간도…
+ $둘 다 최고의 피사체야! 정말 멋져 멋져!
+ $자, 그럼 덤비렴!`,
+ 2: "나 비올라는 셔트 찬스를 노리는 것처럼--승리를 노릴 거야!"
},
"victory": {
- 1: "You and your Pokémon have shown me a whole new depth of field! Fantastic! Just fantastic!",
- 2: `The world you see through a lens, and the world you see with a Pokémon by your side…
- $The same world can look entirely different depending on your view.`
+ 1: "너와 네 포켓몬은 최고의 콤비구나! 정말 멋져 멋져!",
+ 2: `렌즈 너머의 세계와 포켓몬의 마음으로 보는 세계…
+ $똑같이 보이는 풍경이지만 다양한 세계가 겹쳐져 있는 거야.`
},
"defeat": {
- 1: "The photo from the moment of my victory will be a real winner, all right!",
- 2: "Yes! I took some great photos!"
+ 1: "내가 승리한 순간을 찍은 사진은 정말 멋져 멋져!",
+ 2: "좋아! 멋진 사진을 찍었어!"
}
},
"candice": {
"encounter": {
- 1: `You want to challenge Candice? Sure thing! I was waiting for someone tough!
- $But I should tell you, I'm tough because I know how to focus.`,
- 2: `Pokémon, fashion, romance… It's all about focus!
- $I'll show you just what I mean. Get ready to lose!`
+ 1: `나, 무청에게 도전하고 싶은거야? 좋아! 강한 사람을 기다리고 있었으니까!
+ $그치만 말해두는데, 집중하는 방법을 아는 나도 강력하거든.`,
+ 2: `포켓몬도 멋도 연애도 정신 집중이 중요하다고!
+ $무슨 뜻인지 보여줄테니까 각오해!`
},
"victory": {
- 1: "I must say, I'm warmed up to you! I might even admire you a little.",
- 2: `Wow! You're great! You've earned my respect!
- $I think your focus and will bowled us over totally. `
+ 1: "있지, 나 조금 불타오르게 됐어! 널 조금 존경하게 될지도 몰라.",
+ 2: `우와! 제법인데! 내가 존경하게 만들다니!
+ $네 집중력과 의지, 완전히 나를 압도하는 같아. `
},
"defeat": {
- 1: "I sensed your will to win, but I don't lose!",
- 2: "See? Candice's focus! My Pokémon's focus is great, too!"
+ 1: "이기고자 하는 의지는 전해졌지만, 난 지지 않았어!",
+ 2: "봤지? 무청의 집중력! 내 포켓몬의 집중력도 대단하다구!"
}
},
"gardenia": {
"encounter": {
- 1: "You have a winning aura about you. So, anyway, this will be fun. Let's have our battle!"
+ 1: "너에게선 승리의 기운이 느껴져. 어쨌든 재밌을 것 같아. 포켓몬 승부하자!"
},
"victory": {
- 1: "Amazing! You're very good, aren't you?"
+ 1: "대단해! 너 정말 강하구나!"
},
"defeat": {
- 1: "Yes! My Pokémon and I are perfectly good!"
+ 1: "그렇지! 나와 포켓몬은 완벽해!"
}
},
"aaron": {
"encounter": {
- 1: "Ok! Let me take you on!"
+ 1: "좋습니다! 그럼 상대해 드리죠!"
},
"victory": {
- 1: "Battling is a deep and complex affair…"
+ 1: "승부는 딥하고 컴플렉스한 일이네요…"
},
"defeat": {
- 1: "Victory over an Elite Four member doesn't come easily."
+ 1: "사천왕을 상대로 하는 승리는 쉽게 오지 않는다구요."
}
},
"cress": {
"encounter": {
- 1: "That is correct! It shall be I and my esteemed Water types that you must face in battle!"
+ 1: "맞습니다! 당신은 저와 제 자랑스러운 물타입 포켓몬들과 상대하게 될것입니다."
},
"victory": {
- 1: "Lose? Me? I don't believe this."
+ 1: "곤란하네… 이 콘이 질 줄이야."
},
"defeat": {
- 1: "This is the appropriate result when I'm your opponent."
+ 1: "제가 당신의 상대였기 때문에 이건 당연한 결과였습니다."
}
},
"allister": {
"encounter": {
- 1: "'M Allister.\nH-here… I go…"
+ 1: "……어니언이야.\n……가 간다…"
},
"victory": {
- 1: `I nearly lost my mask from the shock… That was…
- $Wow. I can see your skill for what it is.`,
+ 1: `충격을 받아서… 가면을 떨어뜨릴 뻔 했지만…
+ $네가 얼마나 강한지 확실히 봤어.`,
},
"defeat": {
- 1: "Th-that was ace!"
+ 1: "이-이게 내 실력이니까!"
}
},
"clay": {
"encounter": {
- 1: "Harrumph! Kept me waitin', didn't ya, kid? All right, time to see what ya can do!"
+ 1: "실망스럽군! 나를 기다리게 하다니, 이 꼬마가. 아무튼 실력을 확인해 볼까!"
},
"victory": {
- 1: "Man oh man… It feels good to go all out and still be defeated!"
+ 1: "이런 이런… 진심으로 싸워서 진 거라 오히려 시원한 기분이군!"
},
"defeat": {
- 1: `What's important is how ya react to losin'.
- $That's why folks who use losin' as fuel to get better are tough.`,
+ 1: `중요한 것은 패배에 어떻게 반응하는 거다.
+ $그렇기 때문에 패배를 연료로 삼아 나아가는 사람들은 강인하지.`,
}
},
"kofu": {
"encounter": {
- 1: "I'mma serve you a full course o' Water-type Pokémon! Don't try to eat 'em, though!"
+ 1: "물포켓몬의 풀코스를! 배 터지게 먹여 주도록 하마!"
},
"victory": {
- 1: "Vaultin' Veluza! Yer a lively one, aren't ya! A little TOO lively, if I do say so myself!"
+ 1: "우옷! 우오오옷! 이렇게 팔팔한 트레이너가 다 있다니!"
},
"defeat": {
- 1: "You come back to see me again now, ya hear?"
+ 1: "젊은 친구! 다음에 또 만나기를 기대하고 있으마!"
}
},
"tulip": {
"encounter": {
- 1: "Allow me to put my skills to use to make your cute little Pokémon even more beautiful!"
+ 1: "리파의 기술로 너의 포켓몬들을 지금보다 훨~씬 아름답게 만들어 줄게!"
},
"victory": {
- 1: "Your strength has a magic to it that cannot be washed away."
+ 1: "너의 강함은 풀 수 없는 매직이구나."
},
"defeat": {
- 1: "You know, in my line of work, people who lack talent in one area or the other often fade away quickly—never to be heard of again."
+ 1: "…리파의 업계에서는 어중간한 재능을 가진 사람은 대체로 금방 사라져 버려."
}
},
"sidney": {
"encounter": {
- 1: `I like that look you're giving me. I guess you'll give me a good match.
- $That's good! Looking real good! All right!
- $You and me, let's enjoy a battle that can only be staged here!`,
+ 1: `음, 좋은 표정이야. 꽤나 즐길 수 있겠는데.
+ $좋아! 아주 좋아! 좋았어!
+ $우리 함께, 포켓몬리그에서만 맛볼 수 있는 배틀을 즐겨보도록 하자!`,
},
"victory": {
- 1: "Well, how do you like that? I lost! Eh, it was fun, so it doesn't matter."
+ 1: "이런, 이런 져버렸군? 뭐, 꽤 즐겼으니 상관없지만."
},
"defeat": {
- 1: "No hard feelings, alright?"
+ 1: "기분 나빠하지 마, 알겠지?"
}
},
"phoebe": {
"encounter": {
- 1: `While I trained, I gained the ability to commune with Ghost-type Pokémon.
- $Yes, the bond I developed with Pokémon is extremely tight.
- $So, come on, just try and see if you can even inflict damage on my Pokémon!`,
+ 1: `송화산에서 수행하면서, 고스트 타입 포켓몬과 마음이 통하게 됐어.
+ $응, 나와 내 포켓몬의 유대감은 정말 강해!
+ $이런 내 포켓몬들에게 과연 데미지를 줄 수 있을지 한번 시험해봐!`,
},
"victory": {
- 1: "Oh, darn. I've gone and lost."
+ 1: "아- 아, 내가 져버렸다."
},
"defeat": {
- 1: "I look forward to battling you again sometime!"
+ 1: "언젠가 다시 승부할 수 있기를 기대할게!"
}
},
"glacia": {
"encounter": {
- 1: `All I have seen are challenges by weak Trainers and their Pokémon.
- $What about you? It would please me to no end if I could go all out against you!`,
+ 1: `이곳에 도전하러 오는 건 모두 어설픈 트레이너와 포켓몬뿐….
+ $당신은 어떤가요? 제 진짜 실력을 발휘해도 괜찮을 정도라면 정말 기쁠텐데 말이죠…!`,
},
"victory": {
- 1: `You and your Pokémon… How hot your spirits burn!
- $The all-consuming heat overwhelms.
- $It's no surprise that my icy skills failed to harm you.`,
+ 1: `당신과… 당신 포켓몬들의 뜨거운 혼!
+ $정말로 압도적인 뜨거움이네요.
+ $내 얼음 기술로 피해를 주지 못한 것도 놀랍지 않을정도로요!`,
},
"defeat": {
- 1: "A fiercely passionate battle, indeed."
+ 1: "저런, 정말로 치열한 승부였네요."
}
},
"drake": {
"encounter": {
- 1: `For us to battle with Pokémon as partners, do you know what it takes? Do you know what is needed?
- $If you don't, then you will never prevail over me!`,
+ 1: `파트너로 포켓몬과 함께하는 승부에 무엇이 필요한지 넌 알고 있는가?
+ $그걸 모른다면 넌 이 몸을 이길 수 없다!`,
},
"victory": {
- 1: "Superb, it should be said."
+ 1: "훌륭하다, 라고 할 만 하군!"
},
"defeat": {
- 1: "I gave my all for that battle!"
+ 1: "난 승부에서 최선을 다했으니까!"
}
},
"wallace": {
"encounter": {
- 1: `There's something about you… A difference in your demeanor.
- $I think I sense that in you. Now, show me. Show me the power you wield with your Pokémon.
- $And I, in turn, shall present you with a performance of illusions in water by me and my Pokémon!`,
+ 1: `뭐랄까, 너의 분위기가 조금 변한 것 같은…
+ $그런 느낌이 드는군. 자, 그럼 한번 확인해볼까? 너와 포켓몬의 힘을.
+ $그리고 확실하게 보여주도록 하지. 나와 포켓몬에 의한 물의 일루전을!`,
},
"victory": {
- 1: `Bravo. I realize now your authenticity and magnificence as a Pokémon Trainer.
- $I find much joy in having met you and your Pokémon. You have proven yourself worthy.`,
+ 1: `훌륭하군. 넌 정말 굉장한 포켓몬 트레이너다.
+ $그런 너와 너의 포켓몬을 만나게 된 걸 기쁘게 생각해. 스스로 그 가치를 증명하다니!`,
},
"defeat": {
- 1: "A grand illusion!"
+ 1: "거대한 일루전이로군!"
}
},
"lorelei": {
"encounter": {
- 1: `No one can best me when it comes to icy Pokémon! Freezing moves are powerful!
- $Your Pokémon will be at my mercy when they are frozen solid! Hahaha! Are you ready?`,
+ 1: `얼음포켓몬을 내보내면 대적할 사람이 없지! 상대를 얼린다는 건 매우 강력한 공격이야.
+ $네 포켓몬이 꽁꽁 얼면 그때부턴 내 손바닥 위거든! 아하하! 준비됐어?`,
},
"victory": {
- 1: "How dare you!"
+ 1: "어떻게 감히!"
},
"defeat": {
- 1: "There's nothing you can do once you're frozen."
+ 1: "얼어붙은 넌 아무것도 할 수 없어."
}
},
"will": {
"encounter": {
- 1: `I have trained all around the world, making my psychic Pokémon powerful.
- $I can only keep getting better! Losing is not an option!`,
+ 1: `나는 전세계를 돌아다니며, 강한 에스퍼 포켓몬을 만들도록 수행해왔다.
+ $계속 더 정진하겠다! 패배는 선택지에 없어!`,
},
"victory": {
- 1: "I… I can't… believe it…"
+ 1: "이… 내가… 믿을수 없어…"
},
"defeat": {
- 1: "That was close. I wonder what it is that you lack."
+ 1: "근소한 차이였다. 네게 부족한 것이 무엇인지 궁금하군."
}
},
"malva": {
"encounter": {
- 1: `I feel like my heart might just burst into flames.
- $I'm burning up with my hatred for you, runt!`,
+ 1: `심장이 불에 타버릴 것만 같아요.
+ $당신에 대한 증오로 불타고 있거든요, 얄미운 트레이너!`,
},
"victory": {
- 1: "What news… So a new challenger has defeated Malva!"
+ 1: "도전자가… 사천왕 파키라에게서 멋지게 승리를 쟁취했습니다!"
},
"defeat": {
- 1: "I am delighted! Yes, delighted that I could squash you beneath my heel."
+ 1: "기쁘네요! 당신을 짓밟을 수 있어서 말이죠!"
}
},
"hala": {
"encounter": {
- 1: "Old Hala is here to make you holler!"
+ 1: "그럼…진심을 담아서 진지한 할라로 임하겠다!"
},
"victory": {
- 1: "I could feel the power you gained on your journey."
+ 1: "네가 순례하면서 갖추게 된 강함을 느낄 수 있었다."
},
"defeat": {
- 1: "Haha! What a delightful battle!"
+ 1: "하하! 경쾌한 승부였구나!"
}
},
"molayne": {
"encounter": {
- 1: `I gave the captain position to my cousin Sophocles, but I'm confident in my ability.
- $My strength is like that of a supernova!`,
+ 1: `사촌인 마마네에게 캡틴 자리는 줬지만, 아직 실력에는 자신 있어요.
+ $제 실력은 초신성처럼 빛나니까요!`,
},
"victory": {
- 1: "I certainly found an interesting Trainer to face!"
+ 1: "확실히 겨룰 흥미로운 트레이너를 찾았네요!"
},
"defeat": {
- 1: "Ahaha. What an interesting battle."
+ 1: "아하하. 흥미로운 배틀이었네요."
}
},
"rika": {
"encounter": {
- 1: "I'd say I'll go easy on you, but… I'd be lying! Think fast!"
+ 1: "실컷 귀여워해 줄 테니까… 한 번 열심히 해 보라고!"
},
"victory": {
- 1: "Not bad, kiddo."
+ 1: "너, 꽤 하는구나!"
},
"defeat": {
- 1: "Nahahaha! You really are something else, kiddo!"
+ 1: "아하하! 제법인데! 역시 너는 재밌는 녀석이라니까!"
}
},
"bruno": {
"encounter": {
- 1: "We will grind you down with our superior power! Hoo hah!"
+ 1: "우월한 힘으로 너를 부숴주지! 우! 하~앗!"
},
"victory": {
- 1: "Why? How could I lose?"
+ 1: "하? 어떻게 내가 진 거지?"
},
"defeat": {
- 1: "You can challenge me all you like, but the results will never change!"
+ 1: "얼마든지 내게 도전 할 수 있지만, 결과는 절대 바뀌지 않을 거다!"
}
},
"bugsy": {
"encounter": {
- 1: "I'm Bugsy! I never lose when it comes to bug Pokémon!"
+ 1: "내 이름은 호일! 벌레 포켓몬에 대해서라면 누구에게도 지지 않아!"
},
"victory": {
- 1: "Whoa, amazing! You're an expert on Pokémon!\nMy research isn't complete yet. OK, you win."
+ 1: "우와, 대단해! 넌 포켓몬 전문가구나!\n내 연구는 아직 안 끝났네. 응, 네가 이겼어."
},
"defeat": {
- 1: "Thanks! Thanks to our battle, I was also able to make progress in my research!"
+ 1: "고마워! 방금 승부 덕분에, 내 연구도 진전을 이룬 것 같아!"
}
},
"koga": {
"encounter": {
- 1: "Fwahahahaha! Pokémon are not merely about brute force--you shall see soon enough!"
+ 1: "후하하하! 포켓몬은 단순히 강한 것만이 아니다--곧 알려주지!"
},
"victory": {
- 1: "Ah! You've proven your worth!"
+ 1: "하! 스스로 증명해냈군!"
},
"defeat": {
- 1: "Have you learned to fear the techniques of the ninja?"
+ 1: "인술을 피하는 방법을 배워보겠나?"
}
},
"bertha": {
"encounter": {
- 1: "Well, would you show this old lady how much you've learned?"
+ 1: "그럼, 할머니가 네가 얼마나 해낼 수 있는지 보도록 할게?"
},
"victory": {
- 1: `Well! Dear child, I must say, that was most impressive.
- $Your Pokémon believed in you and did their best to earn you the win.
- $Even though I've lost, I find myself with this silly grin!`,
+ 1: `좋아! 꼬마야, 정말로, 인상적이었단다.
+ $Y네 포켓몬은 너를 믿고 승리를 위해 최선을 다했구나.
+ $비록 내가 졌지만, 좋아서 바보같이 웃음이 나오는구나!`,
},
"defeat": {
- 1: "Hahahahah! Looks like this old lady won!"
+ 1: "호호호! 이 할머니가 이겼구나!"
}
},
"lenora": {
"encounter": {
- 1: "Well then, challenger, I'm going to research how you battle with the Pokémon you've so lovingly raised!"
+ 1: "자 그럼 도전자여, 애정을 담아 키운 포켓몬으로 어떤 방식으로 싸우는지 연구해 보겠다!"
},
"victory": {
- 1: "My theory about you was correct. You're more than just talented… You're motivated! I salute you!"
+ 1: "너에 대한 내 가설이 맞았네. 재능만 있는 게 아니라… 대단한 녀석이구나! 너 반할것 같잖아!"
},
"defeat": {
- 1: "Ah ha ha! If you lose, make sure to analyze why, and use that knowledge in your next battle!"
+ 1: "아 하 하! 패배했다면, 그 이유를 분석하고, 다음 승부에서 그 지식을 활용하도록!"
}
},
"siebold": {
"encounter": {
- 1: "As long as I am alive, I shall strive onward to seek the ultimate cuisine... and the strongest opponents in battle!"
+ 1: "살아가는 동안, 궁극적인 요리와 강력한 상대를 찾기 위해… 열과 성을 다할 것입니다!"
},
"victory": {
- 1: "I shall store my memory of you and your Pokémon forever away within my heart."
+ 1: "당신에 대한 기억을 제 가슴 속에 담아두겠습니다."
},
"defeat": {
- 1: `Our Pokémon battle was like food for my soul. It shall keep me going.
- $That is how I will pay my respects to you for giving your all in battle!`,
+ 1: `우리의 포켓몬 배틀은 영혼의 양식과 같습니다. 그건 저를 계속 지탱할 거예요.
+ $이것이 제가 전투에서 모든 것을 바친 당신에게, 경의를 표하는 방법입니다!`,
}
},
"roxie": {
"encounter": {
- 1: "Get ready! I'm gonna knock some sense outta ya!"
+ 1: "간다! 너의 이성을 싹 날려줄 거야!!"
},
"victory": {
- 1: "Wild! Your reason's already more toxic than mine!"
+ 1: "굉-장해! 네 이성, 이미 나보다 TOXIC해버렸잖아!"
},
"defeat": {
- 1: "Hey, c'mon! Get serious! You gotta put more out there!"
+ 1: "헤이, 잠깐-! 좀 더 진지해져! 넌 더 날아가야한다구!"
}
},
"olivia": {
"encounter": {
- 1: "No introduction needed here. Time to battle me, Olivia!"
+ 1: "여기에 소개는 필요 없지. 자, 라이치님과 승부할 시간이다!"
},
"victory": {
- 1: "Really lovely… Both you and your Pokémon…"
+ 1: "정말 훌륭하군… 당신과 포켓몬 둘 다…"
},
"defeat": {
- 1: "Mmm-hmm."
+ 1: "흐-음."
}
},
"poppy": {
"encounter": {
- 1: "Oooh! Do you wanna have a Pokémon battle with me?"
+ 1: "우와~! 뽀삐와 포켓몬 승부가 하고 싶으세요?"
},
"victory": {
- 1: "Uagh?! Mmmuuuggghhh…"
+ 1: "훌쩍, 으에엥~"
},
"defeat": {
- 1: `Yaaay! I did it! I de-feet-ed you! You can come for… For… An avenge match?
- $Come for an avenge match anytime you want!`,
+ 1: `만세~! 만세~ 목수, 성공했어요!
+ $에헴! 리벤지 매치는 언제든지 받아 줄게요!`,
}
},
"agatha": {
"encounter": {
- 1: "Pokémon are for battling! I'll show you how a real Trainer battles!"
+ 1: "포켓몬은 싸우게 하려고 있는 것이야! 진정한 싸움이라는 것을 보여주겠다!"
},
"victory": {
- 1: "Oh my! You're something special, child!"
+ 1: "이런! 넌 무언가 특별하구나, 꼬마야!"
},
"defeat": {
- 1: "Bahaha. That's how a proper battle's done!"
+ 1: "바하하하. 제대로 된 승부는 이렇게 하는거다!"
}
},
"flint": {
"encounter": {
- 1: "Hope you're warmed up, cause here comes the Big Bang!"
+ 1: "뜨겁게 타오를 준비는 됐겠지, 이제 곧 대폭발이 다가올테니까!"
},
"victory": {
- 1: "Incredible! Your moves are so hot, they make mine look lukewarm!"
+ 1: "놀랍군! 네 기술이 너무 뜨거워서, 내가 미적지근해보이잖아!"
},
"defeat": {
- 1: "Huh? Is that it? I think you need a bit more passion."
+ 1: "하? 그게 다야? 좀 더 열정이 필요해보이는걸."
}
},
"grimsley": {
"encounter": {
- 1: "The winner takes everything, and there's nothing left for the loser."
+ 1: "이긴 자가 모든 것을 갖고 패배한 자에겐 아무것도 남지 않는다."
},
"victory": {
- 1: "When one loses, they lose everything… The next thing I'll look for will be victory, too!"
+ 1: "누군가가 이기면 상대한 누군가가 진다… 난 다음 승리를 목표로 하겠어!"
},
"defeat": {
- 1: "If somebody wins, the person who fought against that person will lose."
+ 1: "누군가가 이기면, 그 사람과 싸운 사람은 지게 되는 것이지."
}
},
"caitlin": {
"encounter": {
- 1: `It's me who appeared when the flower opened up. You who have been waiting…
- $You look like a Pokémon Trainer with refined strength and deepened kindness.
- $What I look for in my opponent is superb strength…
- $Please unleash your power to the fullest!`,
+ 1: `피어난 꽃에서 나타난 것은 나. 거기 있는 당신…
+ $강함과 상냥함을 함께 갖춘 포켓몬 트레이너인 것 같네.
+ $이 카틀레야가 대전 상대로 원하는 건 최고의 강함…
+ $너도 그 실력을 마음껏 펼쳐 봐!`,
},
"victory": {
- 1: "My Pokémon and I learned so much! I offer you my thanks."
+ 1: "대전을 통해서 저도 포켓몬도 성장합니다. 감사드립니다."
},
"defeat": {
- 1: "I aspire to claim victory with elegance and grace."
+ 1: "더욱 엘레강트하고 엑셀런트하게 승리를 쟁취하고 싶거든."
}
},
"diantha": {
"encounter": {
- 1: `Battling against you and your Pokémon, all of you brimming with hope for the future…
- $Honestly, it just fills me up with energy I need to keep facing each new day! It does!`,
+ 1: `미래를 향한 희망으로 빛나는 당신과, 당신의 포켓몬을 상대로 승부하는 것…
+ $솔직히, 매일매일 새로운 날을 위해 필요한 에너지가 채워지는 것 같아요! 정말로요!`,
},
"victory": {
- 1: "Witnessing the noble spirits of you and your Pokémon in battle has really touched my heart…"
+ 1: "고귀한 영혼을 지닌 포켓몬과 트레이너의 모습에 격하게 마음이 흔들려서…"
},
"defeat": {
- 1: "Oh, fantastic! What did you think? My team was pretty cool, right?"
+ 1: "정말, 환상적이야! 어떻게 생각하시나요? 저의 포켓몬들, 꽤 멋있었죠?"
}
},
"wikstrom": {
"encounter": {
- 1: `Well met, young challenger! Verily am I the famed blade of hardened steel, Duke Wikstrom!
- $Let the battle begin! En garde!`,
+ 1: `잘 왔네, 젊은 도전자여! 이 몸은 사천왕 중 한 명인 강철의 남자 간피다!
+ $자 그럼 간다, 간다! 간닷!`,
},
"victory": {
- 1: "Glorious! The trust that you share with your honorable Pokémon surpasses even mine!"
+ 1: "정말 영광이군! 자네의 포켓몬과 서로 신뢰하는 힘, 날 능가하는군!!"
},
"defeat": {
- 1: `What manner of magic is this? My heart, it doth hammer ceaselessly in my breast!
- $Winning against such a worthy opponent doth give my soul wings--thus do I soar!`,
+ 1: `이게 무슨 마법이지? 내 마음의 떨림이 멈추질 않는군!
+ $가치 있는 상대를 이기는 것은 영혼에 날개를 달아주는 것과 같지--그런 내가 비상하는 것일까!`,
}
},
"acerola": {
"encounter": {
- 1: "Battling is just plain fun! Come on, I can take you!"
+ 1: "포켓몬 배틀은 언제나 재미있지! 자, 내가 상대해줄게!"
},
"victory": {
- 1: "I'm… I'm speechless! How did you do it?!"
+ 1: "아세로라… 입이 딱 벌어졌어! 어떻게 해낸 거야?!"
},
"defeat": {
- 1: "Ehaha! What an amazing victory!"
+ 1: "후아~! 놀라운 승리네!"
}
},
"larry_elite": {
"encounter": {
- 1: `Hello there… It's me, Larry.
- $I serve as a member of the Elite Four too, yes… Unfortunately for me.`,
+ 1: `…안녕하십니까, 청목입니다.
+ $귀찮게도 저는 사천왕도 겸임하고 있습니다.`,
},
"victory": {
- 1: "Well, that took the wind from under our wings…"
+ 1: "날고 있는 새포켓몬도 떨어뜨릴 기세로군요."
},
"defeat": {
- 1: "It's time for a meeting with the boss."
+ 1: "치프와 만나기로 한 시각이군요."
}
},
"lance": {
"encounter": {
- 1: "I've been waiting for you. Allow me to test your skill.",
- 2: "I thought that you would be able to get this far. Let's get this started."
+ 1: "널 기다리고 있었다. 그 실력을 시험해보겠어.",
+ 2: "여기까지 올 수 있을거라고 생각했다. 슬슬 시작해볼까."
},
"victory": {
- 1: "You got me. You are magnificent!",
- 2: "I never expected another trainer to beat me… I'm surprised."
+ 1: "날 따라잡았군. 훌륭해!",
+ 2: "다른 트레이너가 날 이길 거라곤 생각 못했는데… 놀랍군."
},
"defeat": {
- 1: "That was close. Want to try again?",
- 2: "It's not that you are weak. Don't let it bother you."
+ 1: "근소하군. 다시 해볼까?",
+ 2: "네가 약해서가 아니다. 신경쓰지 말도록."
}
},
"karen": {
"encounter": {
- 1: "I am Karen. Would you care for a showdown with my Dark-type Pokémon?",
- 2: "I am unlike those you've already met.",
- 3: "You've assembled a charming team. Our battle should be a good one."
+ 1: "난 카렌! 내 악 타입 포켓몬과의 승부를 원하니?",
+ 2: "난 네가 이전에 만났던 트레이너들과는 달라.",
+ 3: "강한 포켓몬, 약한 포켓몬, 그런 건 사람이 멋대로 정하는 것."
},
"victory": {
- 1: "No! I can't win. How did you become so strong?",
- 2: "I will not stray from my chosen path.",
- 3: "The Champion is looking forward to meeting you."
+ 1: "좋아하는 마음이 전해진다면 포켓몬도 답할거야. 그렇게 강해지는 거지",
+ 2: "난 내가 선택한 길을 걸어갈거야.",
+ 3: "챔피언이 너를 기다리고 있어."
},
"defeat": {
- 1: "That's about what I expected.",
- 2: "Well, that was relatively entertaining.",
- 3: "Come visit me anytime."
+ 1: "정말 강한 트레이너라면 좋아하는 포켓몬으로 이길 수 있도록 열심히 해야 해.",
+ 2: "뭐, 비교적 재밌었어.",
+ 3: "언제라도 다시 찾아와, 상대해줄게."
}
},
"milo": {
"encounter": {
- 1: `Sure seems like you understand Pokémon real well.
- $This is gonna be a doozy of a battle!
- $I'll have to Dynamax my Pokémon if I want to win!`,
+ 1: `그렇다는 건 당신이 포켓몬을 아주 깊게 이해하고 있다는 뜻이겠죠?
+ $이거 만만치 않은 승부가 되겠네요!
+ $저도 다이맥스를 사용해야겠어요!`,
},
"victory": {
- 1: "The power of Grass has wilted… What an incredible Challenger!"
+ 1: "풀의 힘이 모두 시들어버리다니… 당신은 굉장한 도전자시군요!"
},
"defeat": {
- 1: "This'll really leave you in shock and awe."
+ 1: "충격과 공포를 전해드리겠습니다."
}
},
"lucian": {
"encounter": {
- 1: `Just a moment, please. The book I'm reading has nearly reached its thrilling climax…
- $The hero has obtained a mystic sword and is about to face their final trial… Ah, never mind.
- $Since you've made it this far, I'll put that aside and battle you.
- $Let me see if you'll achieve as much glory as the hero of my book!,`
+ 1: `잠깐, 기다려주세요. 제가 읽던 책이 거의 클라이맥스에 도달했거든요…
+ $주인공이 성스러운 검을 얻었고 마지막 시련을 앞두고 있는데… 아, 신경 쓰지 마세요.
+ $여기까지 왔으니, 그건 제쳐두고 당신과 싸워야겠습니다.
+ $당신이 과연 주인공이 될 그릇인지 확인해 보도록 하죠!`
},
"victory": {
- 1: "I see… It appears you've put me in checkmate."
+ 1: "그렇군요… 결국 체크메이트인가요."
},
"defeat": {
- 1: "I have a reputation to uphold."
+ 1: "제 평판을 지켜냈네요."
}
},
"drasna": {
"encounter": {
- 1: `You must be a strong Trainer. Yes, quite strong indeed…
- $That's just wonderful news! Facing opponents like you and your team will make my Pokémon grow like weeds!`
+ 1: `당신 강하시죠? 그것도 상당히 꽤 말이에요…
+ $어머 기뻐라! 그런 상대와 놀면 포켓몬들도 쑥쑥 크겠어요!`
},
"victory": {
- 1: "Oh, dear me. That sure was a quick battle… I do hope you'll come back again sometime!"
+ 1: "어머머 벌써 끝나버리다니… 미안해요, 괜찮으면 또 오세요!"
},
"defeat": {
- 1: "How can this be?"
+ 1: "어머, 웬일이야?"
}
},
"kahili": {
"encounter": {
- 1: "So, here you are… Why don't we see who the winds favor today, you… Or me?"
+ 1: "자, 여기에서… 승리의 바람이 부는 쪽은 당신과 저 중에 어느 쪽일까요?"
},
"victory": {
- 1: "It's frustrating to me as a member of the Elite Four, but it seems your strength is the real deal."
+ 1: "사천왕으로서 분하지만 당신들의 강함은 진정한 강함이군요."
},
"defeat": {
- 1: "That was an ace!"
+ 1: "이것이 에이스니까요!"
}
},
"hassel": {
"encounter": {
- 1: "Prepare to learn firsthand how the fiery breath of ferocious battle feels!"
+ 1: "맹렬하게 몰아치는 승부의 숨결을 직접 가르쳐 드리겠습니다!!"
},
"victory": {
- 1: `Fortune smiled on me this time, but…
- $Judging from how the match went, who knows if I will be so lucky next time.`,
+ 1: `이번에는 당신이 승리를 쟁취했군요.
+ $하지만, 시합의 흐름을 보니… 다음 승부는 또 어떻게 될지 모르겠네요.`,
},
"defeat": {
- 1: "That was an ace!"
+ 1: "저에게 더 배우고 싶은 것이 있으시다면 또 승부하도록 하죠."
}
},
"blue": {
"encounter": {
- 1: "You must be pretty good to get this far."
+ 1: "여기까지 왔다니, 실력이 꽤 봐줄만 할 것 같은데."
},
"victory": {
- 1: "I've only lost to him and now to you… Him? Hee, hee…"
+ 1: "그 녀석한테만 지는 줄 알았는데… 누구냐고? 하, 하…"
},
"defeat": {
- 1: "See? My power is what got me here."
+ 1: "봤지? 여기까지 온 내 실력."
}
},
"piers": {
"encounter": {
- 1: "Get ready for a mosh pit with me and my party! Spikemuth, it's time to rock!"
+ 1: "뜨거운 현장을 즐길 준비는 됐겠지! 스파이크 마을, it's time to rock!"
},
"victory": {
- 1: "Me an' my team gave it our best. Let's meet up again for a battle some time…"
+ 1: "나도 내 멤버들도 최선을 다했어. 다음에 또 배틀하자고…"
},
"defeat": {
- 1: "My throat's ragged from shoutin'… But 'at was an excitin' battle!"
+ 1: "소리를 지르느라 목이 가버렸군… 그렇지만 박진감 넘치는 배틀이었다!"
}
},
"red": {
@@ -1528,571 +1720,597 @@ export const PGMdialogue: DialogueTranslationEntries = {
},
"jasmine": {
"encounter": {
- 1: "Oh… Your Pokémon are impressive. I think I will enjoy this."
+ 1: "와… 당신의 포켓몬은 인상적이네요. 재미있을 것 같아요."
},
"victory": {
- 1: "You are truly strong. I'll have to try much harder, too."
+ 1: "당신은 정말 강하네요. 저도 더 열심히 노력해야겠어요."
},
"defeat": {
- 1: "I never expected to win."
+ 1: "이길 줄은 몰랐어요."
}
},
"lance_champion": {
"encounter": {
- 1: "I am still the Champion. I won't hold anything back."
+ 1: "여전히 난 챔피언이다. 더이상 주저할 게 없군."
},
"victory": {
- 1: "This is the emergence of a new Champion."
+ 1: "새로운 챔피언의 등장이군."
},
"defeat": {
- 1: "I successfully defended my Championship."
+ 1: "성공적으로 챔피언 자리를 지켜냈다."
}
},
"steven": {
"encounter": {
- 1: `Tell me… What have you seen on your journey with your Pokémon?
- $What have you felt, meeting so many other Trainers out there?
- $Traveling this rich land… Has it awoken something inside you?
- $I want you to come at me with all that you've learned.
- $My Pokémon and I will respond in turn with all that we know!`,
+ 1: `넌… 포켓몬과 함께 모험을 하면서 무엇을 봤지?
+ $많은 트레이너와 만나면서 무엇을 느꼈지?
+ $풍요로운 이 지역을 돌아다니면서, 네 안에서 눈뜨기 시작한 무언가…
+ $그 모든 것을 나에게 쏟아부었으면 좋겠어.
+ $나와 내 포켓몬들도 전력을 다해 상대해줄 테니까!`,
},
"victory": {
- 1: "So I, the Champion, fall in defeat…"
+ 1: "챔피언인 내가 질 줄이야…"
},
"defeat": {
- 1: "That was time well spent! Thank you!"
+ 1: "덕분에 즐거웠어! 고마워!"
}
},
"cynthia": {
"encounter": {
- 1: "I, Cynthia, accept your challenge! There won't be any letup from me!"
+ 1: "나, 난천은, 네 도전을 받아들일게! 온 힘을 다해 너와 시합하겠어!"
},
"victory": {
- 1: "No matter how fun the battle is, it will always end sometime…"
+ 1: "포켓몬 배틀보다 재밌는 것은 없지만, 언젠간 끝나기 마련이니…"
},
"defeat": {
- 1: "Even if you lose, never lose your love of Pokémon."
+ 1: "비록 졌어도, 포켓몬에 대한 사랑은 잃지 않도록 해."
}
},
"iris": {
"encounter": {
- 1: `Know what? I really look forward to having serious battles with strong Trainers!
- $I mean, come on! The Trainers who make it here are Trainers who desire victory with every fiber of their being!
- #And they are battling alongside Pokémon that have been through countless difficult battles!
- $If I battle with people like that, not only will I get stronger, my Pokémon will, too!
- $And we'll get to know each other even better! OK! Brace yourself!
- $I'm Iris, the Pokémon League Champion, and I'm going to defeat you!`,
+ 1: `나는 말이지, 강한 트레이너와의 진지한 승부를 즐겨!
+ $왜냐면 그렇잖아! 이곳에 오는 건 마음 깊이 승리를 추구하는 트레이너.
+ #함께 싸우는 건 수많은 승부를 헤쳐온 포켓몬.
+ $그런 상대와 겨룰 수 있다면 나도! 내 포켓몬도!
+ $더욱더 강해지고 서로 알 수 있으니까! 으응! 그럼 간다!
+ $포켓몬리그 챔피언 아이리스! 당신을 이기겠습니다!!`,
},
"victory": {
- 1: "Aghhhh… I did my best, but we lost…"
+ 1: "후와아아아… 힘을 모두 발휘했는데도 우리가 졌네."
},
"defeat": {
- 1: "Yay! We won!"
+ 1: "우와! 이겼다!"
}
},
"hau": {
"encounter": {
- 1: `I wonder if a Trainer battles differently depending on whether they're from a warm region or a cold region.
- $Let's test it out!`,
+ 1: `트레이너가 따뜻한 지역 출신인지 추운 지역 출신인지에 따라 배틀 스타일이 달라지는지 궁금해졌어.
+ $그럼 테스트 해볼게~!`,
},
"victory": {
- 1: "That was awesome! I think I kinda understand your vibe a little better now!"
+ 1: "멋진데~! 이제 너의 스타일을 조금 더 잘 알게된 것 같아!"
},
"defeat": {
- 1: "Ma-an, that was some kinda battle!"
+ 1: "이런, 그건 그냥 승부였는데~!"
}
},
"geeta": {
"encounter": {
- 1: `I decided to throw my hat in the ring once more.
- $Come now… Show me the fruits of your training.`,
+ 1: `그 도전장, 한 번 더 승낙하도록 하죠.
+ $자… 훈련의 결실을 보여주세요.`,
},
"victory": {
- 1: "I eagerly await news of all your achievements!"
+ 1: "당신이 이룰 업적에 대한 소식들, 기다리고 있겠습니다!"
},
"defeat": {
- 1: "What's the matter? This isn't all, is it?"
+ 1: "무슨 문제라도 있나요? 이게 전부라니, 그럴리 없잖아요?"
}
},
"nemona": {
"encounter": {
- 1: "Yesss! I'm so psyched! Time for us to let loose!"
+ 1: "만세! 나 너무 기대돼! 이제 전력으로 승부하는거야~!"
},
"victory": {
- 1: "Well, that stinks, but I still had fun! I'll getcha next time!"
+ 1: "우와, 조금 문제 있지만, 그래도 너무 재밌었어! 다음에는 지지 않을거야!"
},
"defeat": {
- 1: "Well, that was a great battle! Fruitful for sure."
+ 1: "우와, 너무 멋진 승부였어! 정말로 강하네."
}
},
"leon": {
"encounter": {
- 1: "We're gonna have an absolutely champion time!"
+ 1: "레츠, 챔피언 타임!!!"
},
"victory": {
- 1: `My time as Champion is over…
- $But what a champion time it's been!
- $Thank you for the greatest battle I've ever had!`,
+ 1: `챔피언 타임은 끝났어…
+ $하지만 정말 멋진 시간이었지!
+ $최고의 시합을 만들어줘서 고맙다!`,
},
"defeat": {
- 1: "An absolute champion time, that was!"
+ 1: "최고의 챔피언 타임이었어, 정말로!"
}
},
"whitney": {
"encounter": {
- 1: "Hey! Don't you think Pokémon are, like, super cute?"
+ 1: "있지! 포켓몬들 말이야, 정말 너무 귀엽지?"
},
"victory": {
- 1: "Waaah! Waaah! You're so mean!"
+ 1: "흑! 으아앙! 너무해!"
},
"defeat": {
- 1: "And that's that!"
+ 1: "이걸로 끝!"
}
},
"chuck": {
"encounter": {
- 1: "Hah! You want to challenge me? Are you brave or just ignorant?"
+ 1: "하! 나에게 도전하겠다고? 용감한 거냐, 아니면 그냥 무모한 거냐?"
},
"victory": {
- 1: "You're strong! Would you please make me your apprentice?"
+ 1: "자네 강하군! 나를 제자로 삼아주겠나?"
},
"defeat": {
- 1: "There. Do you realize how much more powerful I am than you?"
+ 1: "자. 내가 자네보다 얼마나 더 강력한지 깨달았겠지?"
}
},
"katy": {
"encounter": {
- 1: "Don't let your guard down unless you would like to find yourself knocked off your feet!"
+ 1: "쓰러지고 싶지 않다면 방심하지 말고 열심히 해 봐~"
},
"victory": {
- 1: "All of my sweet little Pokémon dropped like flies!"
+ 1: "내 포켓몬들 모두 지쳐서 헤벌레~ 해졌어~"
},
"defeat": {
- 1: "Eat up, my cute little Vivillon!"
+ 1: "비비용~ 많~이 먹으렴~"
}
},
"pryce": {
"encounter": {
- 1: "Youth alone does not ensure victory! Experience is what counts."
+ 1: "젊음만으로는 승리를 보장할 수 없다! 중요한 것은 경험이다."
},
"victory": {
- 1: "Outstanding! That was perfect. Try not to forget what you feel now."
+ 1: "특출하군! 완벽해. 지금 이 느낌을 잊지 말도록."
},
"defeat": {
- 1: "Just as I envisioned."
+ 1: "내가 예상했던 그대로군."
}
},
"clair": {
"encounter": {
- 1: "Do you know who I am? And you still dare to challenge me?"
+ 1: "내가 누군지 알지? 그런데도 감히 내게 도전해?"
},
"victory": {
- 1: "I wonder how far you can get with your skill level. This should be fascinating."
+ 1: "네 실력이 어디까지 올라갈 수 있는지 궁금하네. 아주 흥미진진하겠어."
},
"defeat": {
- 1: "That's that."
+ 1: "끝이다."
}
},
"maylene": {
"encounter": {
- 1: `I've come to challenge you now, and I won't hold anything back.
- $Please prepare yourself for battle!`,
+ 1: `지금 당신에게 도전하러 왔어요.
+ $전력을 다할 테니 각오하세요!`,
},
"victory": {
- 1: "I admit defeat…"
+ 1: "나의 패배입니다…"
},
"defeat": {
- 1: "That was awesome."
+ 1: "멋진 승부였습니다."
}
},
"fantina": {
"encounter": {
- 1: `You shall challenge me, yes? But I shall win.
- $That is what the Gym Leader of Hearthome does, non?`,
+ 1: `당신도 도전해 보세요. 전 당신을 이기겠어요.
+ $그것이 체육관 관장!`,
},
"victory": {
- 1: "You are so fantastically strong. I know why I have lost."
+ 1: "당신 최고로 강해요. 나 진 것 알아요."
},
"defeat": {
- 1: "I am so, so, very happy!"
+ 1: "너무, 너무 행복해요!"
}
},
"byron": {
"encounter": {
- 1: `Trainer! You're young, just like my son, Roark.
- $With more young Trainers taking charge, the future of Pokémon is bright!
- $So, as a wall for young people, I'll take your challenge!`,
+ 1: `젊은 트레이너여! 자네는 내 아들 강석처럼 젊군.
+ $젊은 트레이너가 많아질수록, 포켓몬의 미래도 밝지!
+ $그러니, 젊은이들이 넘어야할 벽으로서 상대해주겠다!`,
},
"victory": {
- 1: "Hmm! My sturdy Pokémon--defeated!"
+ 1: "흠! 내 견고한 포켓몬이--져버렸군!"
},
"defeat": {
- 1: "Gwahahaha! How were my sturdy Pokémon?!"
+ 1: "으하하핫! 내 견고한 포켓몬은 어땠나?!"
}
},
"olympia": {
"encounter": {
- 1: "An ancient custom deciding one's destiny. The battle begins!"
+ 1: "이 의식은 앞으로의 길을 정하는 것입니다. 포켓몬 승부를 시작해볼까요!"
},
"victory": {
- 1: "Create your own path. Let nothing get in your way. Your fate, your future."
+ 1: "당신이라면 별이라도 움직여서 가야 할 길을 만들어 낼 것 같습니다."
},
"defeat": {
- 1: "Our path is clear now."
+ 1: "우리의 길은 이제 분명해졌습니다."
}
},
"volkner": {
"encounter": {
- 1: `Since you've come this far, you must be quite strong…
- $I hope you're the Trainer who'll make me remember how fun it is to battle!`,
+ 1: `여기까지 왔으니, 넌 꽤 강하겠군…
+ $네가 내게 포켓몬 승부의 즐거움을 상기시켜 줄 트레이너이길 바란다!`,
},
"victory": {
- 1: `You've got me beat…
- $Your desire and the noble way your Pokémon battled for you…
- $I even felt thrilled during our match. That was a very good battle.`,
+ 1: `너 나를 이겼군…
+ $네 열정과 포켓몬이 그런 너를 위해 싸워준 고귀한 방식…
+ $심지어 스릴까지 넘쳤다. 아주 좋은 승부였어.`,
},
"defeat": {
- 1: `It was not shocking at all…
- $That is not what I wanted!`,
+ 1: `전혀 충격적이지 않았다…
+ $이런 건 원하지 않았어!`,
}
},
"burgh": {
"encounter": {
- 1: `M'hm… If I win this battle, I feel like I can draw a picture unlike any before it.
- $OK! I can hear my battle muse loud and clear. Let's get straight to it!`,
- 2: `Of course, I'm really proud of all of my Pokémon!
- $Well now… Let's get right to it!`
+ 1: `으-음… 이번 배틀에서 이기면, 예전과는 다른 그림을 그릴 수 있을 것 같아.
+ $맞아! 난 승리 뮤즈의 목소리를 선명하게 들을 수 있거든. 그럼 승부다!`,
+ 2: `물론, 난 내 포켓몬을 자랑스럽게 생각하거든!
+ $자 그럼… 바로 승부할까!`
},
"victory": {
- 1: "Is it over? Has my muse abandoned me?",
- 2: "Hmm… It's over! You're incredible!"
+ 1: "벌써 끝이라고? 뮤즈가 나를 버리고 떠나버렸나?",
+ 2: "아우… 져버렸네! 너 굉장히 강하잖아!"
},
"defeat": {
- 1: "Wow… It's beautiful somehow, isn't it…",
- 2: `Sometimes I hear people say something was an ugly win.
- $I think if you're trying your best, any win is beautiful.`
+ 1: "우와… 왠지 뭔가 아름답네, 그치…",
+ 2: `가끔 사람들이 못난 승리라고 말하는 걸 듣곤 해.
+ $그치만 난 최선을 다했다면, 어떤 승리든 아름답다고 생각하거든.`
}
},
"elesa": {
"encounter": {
- 1: `C'est fini! When I'm certain of that, I feel an electric jolt run through my body!
- $I want to feel the sensation, so now my beloved Pokémon are going to make your head spin!`,
+ 1: `컴플리트…! 확신이 들때면, 내 몸을 통하는 전기가 짜릿짜릿하게 느껴져!
+ $그 감각을 느끼고 싶으니까…, 다음은 사랑스러운 포켓몬들로 너를 어질어질하게 할게!`,
},
"victory": {
- 1: "I meant to make your head spin, but you shocked me instead."
+ 1: "어질어질하게 만들 셈이였는데, 너한테는 짜릿짜릿하게 당해버렸네."
},
"defeat": {
- 1: "That was unsatisfying somehow… Will you give it your all next time?"
+ 1: "왠지 부족한 기분이야… 다음에는 최선을 다할 수 있지?"
}
},
"skyla": {
"encounter": {
- 1: `It's finally time for a showdown! That means the Pokémon battle that decides who's at the top, right?
- $I love being on the summit! 'Cause you can see forever and ever from high places!
- $So, how about you and I have some fun?`,
+ 1: `드디어 대결의 시간이야! 누가 정상에 오를지 결정짓는 포켓몬 배틀, 그치?
+ $난 정상에 있는 게 좋아! 높은 곳에서는 항상 멀리 볼 수 있으니까!
+ $그럼, 다음은 나랑 더욱 즐거운 것을 할까?`,
},
"victory": {
- 1: "Being your opponent in battle is a new source of strength to me. Thank you!"
+ 1: "배틀에서 네 상대가 되는 거, 뭔가 새로운 모티브가 되네. 고마워!"
},
"defeat": {
- 1: "Win or lose, you always gain something from a battle, right?"
+ 1: "이기든 지든, 항상 무언가를 얻게 돼, 그치?"
}
},
"brycen": {
"encounter": {
- 1: `There is also strength in being with other people and Pokémon.
- $Receiving their support makes you stronger. I'll show you this power!`,
+ 1: `다른사람이나 포켓몬과 함께 있을 때도 힘이 생긴다.
+ $그 도움을 받는 것이 너를 강하게 만들었겠지. 그 힘을 보이거라!`,
},
"victory": {
- 1: "The wonderful combination of you and your Pokémon! What a beautiful friendship!"
+ 1: "너와 포켓몬과! 멋진 콤비네이션! 아름다운 우정!"
},
"defeat": {
- 1: "Extreme conditions really test you and train you!"
+ 1: "극한에서 시험받고 단련하도록!"
}
},
"drayden": {
"encounter": {
- 1: `What I want to find is a young Trainer who can show me a bright future.
- $Let's battle with everything we have: your skill, my experience, and the love we've raised our Pokémon with!`,
+ 1: `지금 찾는 것은 밝은 미래를 보여줄 젋은 트레이너의 존재.
+ $승부에서 모든 걸 보이도록. 네 기술, 내 경험, 그리고 포켓몬을 키워온 사랑도 함께!`,
},
"victory": {
- 1: "This intense feeling that floods me after a defeat… I don't know how to describe it."
+ 1: "패배하여 끓어오르는 이 마음… 뭐라고 표현해야 좋을까."
},
"defeat": {
- 1: "Harrumph! I know your ability is greater than that!"
+ 1: "실망스럽군! 난 자네의 능력이 그보다 더 크다는 걸 알고있네!"
}
},
"grant": {
"encounter": {
- 1: `There is only one thing I wish for.
- $That by surpassing one another, we find a way to even greater heights.`,
+ 1: `제가 바라는 것은 단 하나뿐입니다.
+ $서로가 서로를 뛰어넘어, 더 높은 벽에 도달하는 것입니다.`,
},
"victory": {
- 1: "You are a wall that I am unable to surmount!"
+ 1: "내 앞에 솟아 있는 높은 벽… 그건 바로 당신입니다."
},
"defeat": {
- 1: `Do not give up.
- $That is all there really is to it.
- $The most important lessons in life are simple.`,
+ 1: `인생에서 중요한 교훈은 간단합니다.
+ $포기하지 않는 것.
+ $이것이 전부입니다.`,
}
},
"korrina": {
"encounter": {
- 1: "Time for Lady Korrina's big appearance!"
+ 1: "코르니 납시오!"
},
"victory": {
- 1: "It's your very being that allows your Pokémon to evolve!"
+ 1: "네 존재가 너의 포켓몬을 점점 진화시키고 있어!"
},
"defeat": {
- 1: "What an explosive battle!"
+ 1: "정말 멋진 배틀이었어!"
}
},
"clemont": {
"encounter": {
- 1: "Oh! I'm glad that we got to meet!"
+ 1: "아앗! 잘 부탁드립니다!"
},
"victory": {
- 1: "Your passion for battle inspires me!"
+ 1: "당신들의 승부를 향한 마음에 자극을 받았습니다!"
},
"defeat": {
- 1: "Looks like my Trainer-Grow-Stronger Machine, Mach 2 is really working!"
+ 1: "저의 슈퍼트레이닝 발명품이 효과가 있는 것 같군요!"
}
},
"valerie": {
"encounter": {
- 1: `Oh, if it isn't a young Trainer… It is lovely to get to meet you like this.
- $Then I suppose you have earned yourself the right to a battle, as a reward for your efforts.
- $The elusive Fairy may appear frail as the breeze and delicate as a bloom, but it is strong.`,
+ 1: `어라,트레이너님… 슝슝 워프해서… 이렇게 만나서 반갑네.
+ $그리고 내가 보기엔 당신은 노력했기에, 이 승부에 참가할 수 있게 된 것 같아.
+ $찾기 힘든 요정 같은 페어리 타입, 우리 포켓몬들 사뿐하고 화사하지만 강하다구.`,
},
"victory": {
- 1: "I hope that you will find things worth smiling about tomorrow…"
+ 1: "난 당신이 내일을 생각하며 웃을 수 있는 것들을 찾길 바라고 있을게…"
},
"defeat": {
- 1: "Oh goodness, what a pity…"
+ 1: "앗 이런, 가엾어라…"
}
},
"wulfric": {
"encounter": {
- 1: `You know what? We all talk big about what you learn from battling and bonds and all that…
- $But really, I just do it 'cause it's fun.
- $Who cares about the grandstanding? Let's get to battling!`,
+ 1: `그거 알아? 그거… 전투와 유대감을 통해 배운다거나 하는… 거 뭐더라, 음.
+ $여튼 말이지, 난 그냥 재밌어서 하는 거야.
+ $내 자랑은 별로 듣고 싶지 않으려나? 자, 포켓몬을 꺼내자!`,
},
"victory": {
- 1: "Outstanding! I'm tough as an iceberg, but you smashed me through and through!"
+ 1: "그거야, 바로 그거! 멋지다고. 단단한 얼음을 깨부쉈구나!"
},
"defeat": {
- 1: "Tussle with me and this is what happens!"
+ 1: "나와 싸우면 그런 일이 벌어진다니까!"
}
},
"kabu": {
"encounter": {
- 1: `Every Trainer and Pokémon trains hard in pursuit of victory.
- $But that means your opponent is also working hard to win.
- $In the end, the match is decided by which side is able to unleash their true potential.`,
+ 1: `모든 트레이너와 포켓몬은 이기기 위해 훈련을 하고 있다.
+ $하지만 싸우는 상대 역시 그만큼 노력하고 있지.
+ $ 결국 승부는 실전에서, 얼마만큼 제 실력을 발휘할 수 있느냐에 달렸다.`,
},
"victory": {
- 1: "I'm glad I could battle you today!"
+ 1: "오늘 너와 싸울 수 있어서 참 기뻤다!"
},
"defeat": {
- 1: "That's a great way for me to feel my own growth!"
+ 1: "내 성장을 체감하게 되는군!"
}
},
"bea": {
"encounter": {
- 1: `Do you have an unshakable spirit that won't be moved, no matter how you are attacked?
- $I think I'll just test that out, shall I?`,
+ 1: `당신은 과연, 어떤 공격에도 흔들리지 않는 마음을 가졌을까요?
+ $제가 시험해보겠습니다, 준비는 되셨습니까?`,
},
"victory": {
- 1: "I felt the fighting spirit of your Pokémon as you led them in battle."
+ 1: "당신이 데리고 있는 포켓몬에게서 무예의 혼을 느꼈습니다."
},
"defeat": {
- 1: "That was the best sort of match anyone could ever hope for."
+ 1: "누구나 바랄 법한 최고의 경기였습니다."
}
},
"opal": {
"encounter": {
- 1: "Let me have a look at how you and your partner Pokémon behave!"
+ 1: "그럼 너의 파트너 포켓몬 다루는 실력을 내게 보여주거라!"
},
"victory": {
- 1: "Your pink is still lacking, but you're an excellent Trainer with excellent Pokémon."
+ 1: "핑크는 부족하지만, 너희는 좋은 트레이너와 포켓몬이구나."
},
"defeat": {
- 1: "Too bad for you, I guess."
+ 1: "내가 보기엔, 불합격이란다."
}
},
"bede": {
"encounter": {
- 1: "I suppose I should prove beyond doubt just how pathetic you are and how strong I am."
+ 1: "의심할 여지 없이 증명하겠습니다. 당신이 한심한지, 그리고 내가 얼마나 강한지!"
},
"victory": {
- 1: "I see… Well, that's fine. I wasn't really trying all that hard anyway."
+ 1: "잘 봤습니다… 뭐, 꽤 괜찮네요. 전 그렇게 열심히 하지도 않았으니까요."
},
"defeat": {
- 1: "Not a bad job, I suppose."
+ 1: "이런 결과, 나쁘지 않군요."
}
},
"gordie": {
"encounter": {
- 1: "So, let's get this over with."
+ 1: "그럼, 빨리 끝내도록 하죠."
},
"victory": {
- 1: "I just want to climb into a hole… Well, I guess it'd be more like falling from here."
+ 1: "구멍이 있다면 들어가고 싶군요… 아니지, 여기선 빠지고 싶다고 해야하나?"
},
"defeat": {
- 1: "Battle like you always do, victory will follow!"
+ 1: "이런 배틀이라면, 매번 승리가 따라올 것 같네요!"
}
},
"marnie": {
"encounter": {
- 1: `The truth is, when all's said and done… I really just wanna become Champion for myself!
- $So don't take it personal when I kick your butt!`,
+ 1: `사실은, 말했던 일들이 해결 되고 나면… 결국은 나 자신이 챔피언이 되고싶다는 걸 알았으니까!
+ $그러니까 너의 팀을 기분 좋게 잠들게 해주겠어!`,
},
"victory": {
- 1: "OK, so I lost… But I got to see a lot of the good points of you and your Pokémon!"
+ 1: "응, 그래서 내가 졌구나… 그치만 너와 네 포켓몬의 좋은 점을 많이 볼 수 있었어!"
},
"defeat": {
- 1: "Hope you enjoyed our battle tactics."
+ 1: "우리의 배틀 방식을 즐겼길 바라."
}
},
"raihan": {
"encounter": {
- 1: "I'm going to defeat the Champion, win the whole tournament, and prove to the world just how strong the great Raihan really is!"
+ 1: "챔피언도 쓰러뜨리고, 토너먼트에서도 우승해서, 위대한 나 금랑님이 얼마나 강한지 세계에 증명 해보실까!"
},
"victory": {
- 1: `I look this good even when I lose.
- $It's a real curse.
- $Guess it's time for another selfie!`,
+ 1: `역시 난 진 다음에도 멋있네!
+ $조금 분하지만….
+ $기념으로 셀카라도 찍어둘까…!`,
},
"defeat": {
- 1: "Let's take a selfie to remember this."
+ 1: "자, 이 순간을 기억하기 위한 셀카를 찍자고."
}
},
"brassius": {
"encounter": {
- 1: "I assume you are ready? Let our collaborative work of art begin!"
+ 1: "준비는 됐겠지!? 그럼, 우리 둘의 예술적인 합작품을 한번 만들어 보도록 할까!"
},
"victory": {
- 1: "Ahhh…vant-garde!"
+ 1: "아… 아방가르드!!"
},
"defeat": {
- 1: "I will begin on a new piece at once!"
+ 1: "바로 신작을 만들러 가야 하니 이만 실례하겠다!"
}
},
"iono": {
"encounter": {
- 1: `How're ya feelin' about this battle?
+ 1: `자~ 오늘의 각오는~ 모야모야~?
$...
- $Let's get this show on the road! How strong is our challenger?
- $I 'unno! Let's find out together!`,
+ $그럼, 이제 시작해 볼까!
+ $도전자님의 실력은 과연 과연~!?`,
},
"victory": {
- 1: "You're as flashy and bright as a 10,000,000-volt Thunderbolt, friendo!"
+ 1: "너의 반짝임은 1000만볼트!"
},
"defeat": {
- 1: "Your eyeballs are MINE!"
+ 1: "당신의 눈길을 일렉트릭네트로 뾰로롱!"
}
},
"larry": {
"encounter": {
- 1: "When all's said and done, simplicity is strongest."
+ 1: "그렇습니다. 심플한 것이 가장 강한 것입니다!"
},
"victory": {
- 1: "A serving of defeat, huh?"
+ 1: "허, 이걸로 한 방 먹은 게 되었군요."
},
"defeat": {
- 1: "I'll call it a day."
+ 1: "오늘은 저는 이만 실례하겠습니다."
}
},
"ryme": {
"encounter": {
- 1: "Come on, baby! Rattle me down to the bone!"
+ 1: "나의 영혼 흔들어 봐 Come On!"
},
"victory": {
- 1: "You're cool, my friend—you move my SOUL!"
+ 1: "너의 Cool한 Youth 나의 Soul이 Move!"
},
"defeat": {
- 1: "Later, baby!"
+ 1: "Bye Bye Baby~!"
}
},
"grusha": {
"encounter": {
- 1: "All I need to do is make sure the power of my Pokémon chills you to the bone!"
+ 1: "내가 너를 철저하게 얼려 버리면 고민할 것도 없겠지!"
},
"victory": {
- 1: "Your burning passion… I kinda like it, to be honest."
+ 1: "너의 그 열기… 싫지 않아."
},
"defeat": {
- 1: "Things didn't heat up for you."
+ 1: "너에겐 아직 열기가 부족하구나."
}
},
"marnie_elite": {
"encounter": {
- 1: "You've made it this far, huh? Let's see if you can handle my Pokémon!",
- 2: "I'll give it my best shot, but don't think I'll go easy on you!"
+ 1: "여기까지 왔구나? 포켓몬 다루는 실력 좀 볼까!",
+ 2: "최선을 다할 거니까, 쉽게 넘어갈 수 있을 거라고 생각하지 마!"
},
"victory": {
- 1: "I can't believe I lost... But you deserved that win. Well done!",
- 2: "Looks like I've still got a lot to learn. Great battle, though!"
+ 1: "내가 지다니 믿을 수 없어… 그렇지만 네가 바란 것도 이런 승리였겠지. 잘했어!",
+ 2: "난 여전히 배울 게 많은 것 같아. 그래도, 멋진 승부였어!"
},
"defeat": {
- 1: "You put up a good fight, but I've got the edge! Better luck next time!",
- 2: "Seems like my training's paid off. Thanks for the battle!"
+ 1: "잘 싸웠지만, 내가 위야! 다음에는 더 잘해봐!",
+ 2: "트레이닝이 제값을 하는 것 같네. 승부에 응해줘서 고마워!"
}
},
"nessa_elite": {
"encounter": {
- 1: "The tides are turning in my favor. Ready to get swept away?",
- 2: "Let's make some waves with this battle! I hope you're prepared!"
+ 1: "조류가 오늘은 내 편인 것 같네. 휩쓸릴 준비 됐어?",
+ 2: "이번 승부로 파도를 일으키는 거야! 준비는 됐겠지!"
},
"victory": {
- 1: "You navigated those waters perfectly... Well done!",
- 2: "Looks like my currents were no match for you. Great job!"
+ 1: "너 그런 바다를 완벽하게 버텨냈네… 잘했어!",
+ 2: "내 쪽의 해류가 너와 맞지 않았던 거 같네. 잘했어!"
},
"defeat": {
- 1: "Water always finds a way. That was a refreshing battle!",
- 2: "You fought well, but the ocean's power is unstoppable!"
+ 1: "물은 항상 자기 길을 찾아 흐르지. 상쾌한 승부였어!",
+ 2: "잘 싸웠지만, 바다의 힘은 막을 수 없다고!"
}
},
"bea_elite": {
"encounter": {
- 1: "Prepare yourself! My fighting spirit burns bright!",
- 2: "Let's see if you can keep up with my relentless pace!"
+ 1: "준비는 되셨겠죠! 제 투지가 불타고 있습니다!",
+ 2: "가차 없는 제 속도를 따라잡으실 수 있는지 지켜보겠습니다!"
},
"victory": {
- 1: "Your strength... It's impressive. You truly deserve this win.",
- 2: "I've never felt this intensity before. Amazing job!"
+ 1: "당신의 힘… 인상적이군요. 정말로 이기실 만합니다.",
+ 2: "이런 강렬함은 처음 느껴봅니다. 대단하군요!"
},
"defeat": {
- 1: "Another victory for my intense training regimen! Well done!",
- 2: "You've got strength, but I trained harder. Great battle!"
+ 1: "치열했던 훈련으로 또 한번 승리를 거두게 뒀군요! 고생하셨습니다!",
+ 2: "당신도 힘냈겠지만, 제가 더 열심히 훈련했거든요. 좋은 배틀이었습니다!"
}
},
"allister_elite": {
"encounter": {
- 1: "Shadows fall... Are you ready to face your fears?",
- 2: "Let's see if you can handle the darkness that I command."
+ 1: "그림자가 떨어지네… 두려움에 맞설 준비는 됐어?",
+ 2: "내가 다루는 어둠을 감당할 수 있는지 지켜볼게."
},
"victory": {
- 1: "You've dispelled the shadows... For now. Well done.",
- 2: "Your light pierced through my darkness. Great job."
+ 1: "너 그림자를 쫓아내 버렸구나… 일단은. 잘했어.",
+ 2: "네 빛이 어둠을 관통해 버렸네. 훌륭해."
},
"defeat": {
- 1: "The shadows have spoken... Your strength isn't enough.",
- 2: "Darkness triumphs... Maybe next time you'll see the light."
+ 1: "그림자가 말했어… 네 힘은 아직 부족한 것 같아.",
+ 2: "어둠의 승리… 다음번에는 빛을 보게 될 거야."
}
},
"raihan_elite": {
"encounter": {
- 1: "Storm's brewing! Let's see if you can weather this fight!",
- 2: "Get ready to face the eye of the storm!"
+ 1: "폭풍이 몰아치는군! 네가 이 배틀에서도 견뎌낼 수 있는지 지켜보겠어!",
+ 2: "폭풍의 눈과 마주칠 준비는 됐겠지!"
},
"victory": {
- 1: "You've bested the storm... Incredible job!",
- 2: "You rode the winds perfectly... Great battle!"
+ 1: "폭풍을 이겨내다니… 정말 놀라운걸!",
+ 2: "너 바람에 완벽하게 올라탔구나… 대단한 승부였어!"
},
"defeat": {
- 1: "Another storm weathered, another victory claimed! Well fought!",
- 2: "You got caught in my storm! Better luck next time!"
+ 1: "폭풍을 견디고, 또 다른 승리도 잡아버렸네! 좋은 승부였어!",
+ 2: "넌 내 폭풍을 잡아냈잖아! 다음엔 더 잘해봐!"
+ }
+ },
+ "alder": {
+ "encounter": {
+ 1: "하나지방에서 가장 강한 트레이너를 상대할 준비는 됐나?"
+ },
+ "victory": {
+ 1: "장하구나! 실로 견줄 자가 천하에 없도다!"
+ },
+ "defeat": {
+ 1: `나의 마음에 상쾌한 바람이 지나갔다...
+ $정말 대단한 노력이다!`
+ }
+ },
+ "kieran": {
+ "encounter": {
+ 1: `난 노력을 통해 강해지고 또 강해지지!
+ $난 지지 않아.`
+ },
+ "victory": {
+ 1: `믿을 수 없어...
+ $정말 재밌고 가슴 뛰는 배틀이었어!`
+ },
+ "defeat": {
+ 1: `세상에 마상에! 정말 멋진 배틀이었어!
+ $네가 더 열심히 훈련할 시간이야.`
}
},
"rival": {
@@ -2436,7 +2654,7 @@ export const PGMdoubleBattleDialogue: DialogueTranslationEntries = {
},
"marnie_piers_double": {
"encounter": {
- 1: `두송: 큰서트 즐길 준비 됐어?
+ 1: `두송: 콘서트 즐길 준비 됐어?
$마리: 오빠... 얘들은 노래가 아니라 승부를 하러 왔어...`,
},
"victory": {
diff --git a/src/locales/ko/egg.ts b/src/locales/ko/egg.ts
index abb1f3ceadf..7b10b548bc4 100644
--- a/src/locales/ko/egg.ts
+++ b/src/locales/ko/egg.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const egg: SimpleTranslationEntries = {
"egg": "알",
@@ -17,5 +17,12 @@ export const egg: SimpleTranslationEntries = {
"notEnoughVouchers": "바우처가 충분하지 않습니다!",
"tooManyEggs": "알을 너무 많이 갖고 있습니다!",
"pull": "뽑기",
- "pulls": "뽑기"
+ "pulls": "뽑기",
+ "sameSpeciesEgg": "{{species}}[[가]] 이 알에서 부화할 거야!",
+ "hatchFromTheEgg": "알이 부화해서\n{{pokemonName}}[[가]] 태어났다!",
+ "eggMoveUnlock": "알 기술 {{moveName}}[[를]]\n사용할 수 있게 되었다!",
+ "rareEggMoveUnlock": "레어 알 기술 {{moveName}}[[를]]\n사용할 수 있게 되었다!",
+ "moveUPGacha": "알 기술 UP!",
+ "shinyUPGacha": "색이 다른 포켓몬\nUP!",
+ "legendaryUPGacha": "UP!",
} as const;
diff --git a/src/locales/ko/fight-ui-handler.ts b/src/locales/ko/fight-ui-handler.ts
index 7b6d8c2808c..cf840cc4495 100644
--- a/src/locales/ko/fight-ui-handler.ts
+++ b/src/locales/ko/fight-ui-handler.ts
@@ -1,7 +1,9 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const fightUiHandler: SimpleTranslationEntries = {
"pp": "PP",
"power": "위력",
"accuracy": "명중률",
+ "abilityFlyInText": " {{pokemonName}}의 {{passive}}{{abilityName}}",
+ "passive": "패시브 ", // The space at the end is important
} as const;
diff --git a/src/locales/ko/game-mode.ts b/src/locales/ko/game-mode.ts
new file mode 100644
index 00000000000..423f2adb26a
--- /dev/null
+++ b/src/locales/ko/game-mode.ts
@@ -0,0 +1,10 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const gameMode: SimpleTranslationEntries = {
+ "classic": "클래식",
+ "endless": "엔드리스",
+ "endlessSpliced": "엔드리스(융합체)",
+ "dailyRun": "데일리 런",
+ "unknown": "언노운",
+ "challenge": "챌린지",
+} as const;
diff --git a/src/locales/ko/game-stats-ui-handler.ts b/src/locales/ko/game-stats-ui-handler.ts
index c408e480b85..d21f1b2acda 100644
--- a/src/locales/ko/game-stats-ui-handler.ts
+++ b/src/locales/ko/game-stats-ui-handler.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const gameStatsUiHandler: SimpleTranslationEntries = {
"stats": "통계",
diff --git a/src/locales/ko/growth.ts b/src/locales/ko/growth.ts
index 72dbfcde934..941198fd5d4 100644
--- a/src/locales/ko/growth.ts
+++ b/src/locales/ko/growth.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const growth: SimpleTranslationEntries = {
"Erratic": "불규칙",
diff --git a/src/locales/ko/menu-ui-handler.ts b/src/locales/ko/menu-ui-handler.ts
index efca85d3e48..3bd412bc5ea 100644
--- a/src/locales/ko/menu-ui-handler.ts
+++ b/src/locales/ko/menu-ui-handler.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const menuUiHandler: SimpleTranslationEntries = {
"GAME_SETTINGS": "게임 설정",
@@ -19,5 +19,6 @@ export const menuUiHandler: SimpleTranslationEntries = {
"importData": "데이터 불러오기",
"exportData": "데이터 내보내기",
"cancel": "취소",
- "losingProgressionWarning": "전투 시작으로부터의 진행 상황을 잃게 됩니다. 계속하시겠습니까?"
+ "losingProgressionWarning": "전투 시작으로부터의 진행 상황을 잃게 됩니다. 계속하시겠습니까?",
+ "noEggs": "부화중인 알이 없습니다!"
} as const;
diff --git a/src/locales/ko/menu.ts b/src/locales/ko/menu.ts
index b91d674521e..0e12b3bd15e 100644
--- a/src/locales/ko/menu.ts
+++ b/src/locales/ko/menu.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
/**
* The menu namespace holds most miscellaneous text that isn't directly part of the game's
@@ -34,8 +34,6 @@ export const menu: SimpleTranslationEntries = {
"sessionSuccess": "세션 불러오기 성공.",
"failedToLoadSession": "세션을 불러올 수 없었습니다.\n파일이 손상되었을 수 있습니다.",
"boyOrGirl": "너는 남자니?\n아니면 여자니?",
- "boy": "남자",
- "girl": "여자",
"evolving": "…오잉!?\n{{pokemonName}}의 모습이…!",
"stoppedEvolving": "얼라리…?\n{{pokemonName}}의 변화가 멈췄다!",
"pauseEvolutionsQuestion": "{{pokemonName}}[[를]] 진화하지 않게 만드시겠습니까?\n포켓몬 화면에서 다시 활성화시킬 수 있습니다.",
@@ -44,11 +42,16 @@ export const menu: SimpleTranslationEntries = {
"dailyRankings": "일간 랭킹",
"weeklyRankings": "주간 랭킹",
"noRankings": "랭킹 정보 없음",
+ "positionIcon": "#",
+ "usernameScoreboard": "이름",
+ "score": "점수",
+ "wave": "웨이브",
"loading": "로딩 중…",
+ "loadingAsset": "Loading asset: {{assetName}}",
"playersOnline": "플레이어 온라인",
- "empty":"빈 슬롯",
"yes":"예",
"no":"아니오",
- "disclaimer": "DISCLAIMER",
- "disclaimerDescription": "This game is an unfinished product; it might have playability issues (including the potential loss of save data),\n change without notice, and may or may not be updated further or completed."
+ "disclaimer": "면책 조항",
+ "disclaimerDescription": "이 게임은 완전히 개발되지 않았습니다- (세이브 데이터 소실을 포함) 플레이에 지장을 주는 문제가 생길 수 있으며,\n공지 없이 업데이트가 진행 혹은 중지될 수 있습니다.",
+ "errorServerDown": "서버 연결 중 문제가 발생했습니다.\n\n이 창을 종료하지 않고 두면,\n게임은 자동으로 재접속됩니다.",
} as const;
diff --git a/src/locales/ko/modifier-select-ui-handler.ts b/src/locales/ko/modifier-select-ui-handler.ts
new file mode 100644
index 00000000000..c25b6d57af2
--- /dev/null
+++ b/src/locales/ko/modifier-select-ui-handler.ts
@@ -0,0 +1,14 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const modifierSelectUiHandler: SimpleTranslationEntries = {
+ "transfer": "건네주기",
+ "reroll": "갱신",
+ "lockRarities": "희귀도 고정",
+ "checkTeam": "파티 확인",
+ "transferDesc": "지닌 물건을 다른 포켓몬에게 건네줍니다.",
+ "rerollDesc": "돈을 소모하여 아이템 목록을 새로 고칩니다.",
+ "lockRaritiesDesc": "갱신되는 아이템의 희귀도가 고정됩니다(갱신 비용 증가).",
+ "checkTeamDesc": "파티를 확인하거나 폼 변경 아이템을 사용합니다.",
+ "rerollCost": "₽{{formattedMoney}}",
+ "itemCost": "₽{{formattedMoney}}"
+} as const;
diff --git a/src/locales/ko/modifier-type.ts b/src/locales/ko/modifier-type.ts
index 5d54018cc96..4df6a397fa0 100644
--- a/src/locales/ko/modifier-type.ts
+++ b/src/locales/ko/modifier-type.ts
@@ -1,4 +1,4 @@
-import { ModifierTypeTranslationEntries } from "#app/plugins/i18n";
+import { ModifierTypeTranslationEntries } from "#app/interfaces/locales";
export const modifierType: ModifierTypeTranslationEntries = {
ModifierType: {
@@ -8,7 +8,7 @@ export const modifierType: ModifierTypeTranslationEntries = {
},
"AddVoucherModifierType": {
name: "{{voucherTypeName}} {{modifierCount}}장",
- description: "{{voucherTypeName}} {{modifierCount}}장을 획득",
+ description: "{{voucherTypeName}} {{modifierCount}}장을 획득한다.",
},
"PokemonHeldItemModifierType": {
extra: {
@@ -17,63 +17,63 @@ export const modifierType: ModifierTypeTranslationEntries = {
}
},
"PokemonHpRestoreModifierType": {
- description: "포켓몬 1마리의 HP를 {{restorePoints}} 또는 {{restorePercent}}% 중\n높은 수치만큼 회복",
+ description: "포켓몬 1마리의 HP를 {{restorePoints}} 또는 {{restorePercent}}% 중\n높은 수치만큼 회복한다.",
extra: {
- "fully": "포켓몬 1마리의 HP를 모두 회복",
- "fullyWithStatus": "포켓몬 1마리의 HP와 상태 이상을 모두 회복",
+ "fully": "포켓몬 1마리의 HP를 모두 회복한다.",
+ "fullyWithStatus": "포켓몬 1마리의 HP와 상태 이상을 모두 회복한다.",
}
},
"PokemonReviveModifierType": {
- description: "기절해 버린 포켓몬 1마리의 HP를 {{restorePercent}}%까지 회복",
+ description: "기절해 버린 포켓몬 1마리의 HP를 {{restorePercent}}%까지 회복한다.",
},
"PokemonStatusHealModifierType": {
- description: "포켓몬 1마리의 상태 이상을 모두 회복",
+ description: "포켓몬 1마리의 상태 이상을 모두 회복한다.",
},
"PokemonPpRestoreModifierType": {
- description: "포켓몬이 기억하고 있는 기술 중 1개의 PP를 {{restorePoints}}만큼 회복",
+ description: "포켓몬이 기억하고 있는 기술 중 1개의 PP를 {{restorePoints}}만큼 회복한다.",
extra: {
- "fully": "포켓몬이 기억하고 있는 기술 중 1개의 PP를 모두 회복",
+ "fully": "포켓몬이 기억하고 있는 기술 중 1개의 PP를 모두 회복한다.",
}
},
"PokemonAllMovePpRestoreModifierType": {
- description: "포켓몬이 기억하고 있는 4개의 기술 PP를 {{restorePoints}}씩 회복",
+ description: "포켓몬이 기억하고 있는 4개의 기술 PP를 {{restorePoints}}씩 회복한다.",
extra: {
- "fully": "포켓몬이 기억하고 있는 4개의 기술 PP를 모두 회복",
+ "fully": "포켓몬이 기억하고 있는 4개의 기술 PP를 모두 회복한다.",
}
},
"PokemonPpUpModifierType": {
- description: "포켓몬이 기억하고 있는 기술 중 1개의 PP 최대치를 5마다 {{upPoints}}씩 상승 (최대 3)",
+ description: "포켓몬이 기억하고 있는 기술 중 1개의 PP 최대치를 5마다 {{upPoints}}씩 상승시킨다. (최대 3)",
},
"PokemonNatureChangeModifierType": {
name: "{{natureName}}민트",
description: "포켓몬의 성격을 {{natureName}}[[로]] 바꾸고 스타팅에도 등록한다.",
},
"DoubleBattleChanceBoosterModifierType": {
- description: "{{battleCount}}번의 배틀 동안 더블 배틀이 등장할 확률 두 배",
+ description: "{{battleCount}}번의 배틀 동안 더블 배틀이 등장할 확률이 두 배가 된다.",
},
"TempBattleStatBoosterModifierType": {
- description: "자신의 모든 포켓몬이 5번의 배틀 동안 {{tempBattleStatName}}[[가]] 한 단계 증가"
+ description: "자신의 모든 포켓몬이 5번의 배틀 동안 {{tempBattleStatName}}[[가]] 한 단계 증가한다."
},
"AttackTypeBoosterModifierType": {
- description: "지니게 하면 {{moveType}}타입 기술의 위력이 20% 상승",
+ description: "지니게 하면 {{moveType}}타입 기술의 위력이 20% 상승한다.",
},
"PokemonLevelIncrementModifierType": {
- description: "포켓몬 1마리의 레벨이 1만큼 상승",
+ description: "포켓몬 1마리의 레벨이 1만큼 상승한다.",
},
"AllPokemonLevelIncrementModifierType": {
- description: "자신의 모든 포켓몬의 레벨이 1씩 상승",
+ description: "자신의 모든 포켓몬의 레벨이 1씩 상승한다.",
},
"PokemonBaseStatBoosterModifierType": {
description: "지니게 하면 {{statName}} 종족값을 10% 올려준다. 개체값이 높을수록 더 많이 누적시킬 수 있다.",
},
"AllPokemonFullHpRestoreModifierType": {
- description: "자신의 포켓몬의 HP를 모두 회복",
+ description: "자신의 포켓몬의 HP를 모두 회복한다.",
},
"AllPokemonFullReviveModifierType": {
- description: "자신의 포켓몬의 HP를 기절해 버렸더라도 모두 회복",
+ description: "기절해 버린 포켓몬 전원의 HP를 완전히 회복한다.",
},
"MoneyRewardModifierType": {
- description: "{{moneyMultiplier}} 양의 돈을 획득 (₽{{moneyAmount}})",
+ description: "{{moneyMultiplier}} 양의 돈을 획득한다. (₽{{moneyAmount}})",
extra: {
"small": "적은",
"moderate": "적당한",
@@ -81,58 +81,62 @@ export const modifierType: ModifierTypeTranslationEntries = {
},
},
"ExpBoosterModifierType": {
- description: "포켓몬이 받는 경험치가 늘어나는 부적. {{boostPercent}}% 증가",
+ description: "포켓몬이 받는 경험치가 {{boostPercent}}% 증가한다.",
},
"PokemonExpBoosterModifierType": {
- description: "지니게 한 포켓몬은 받을 수 있는 경험치가 {{boostPercent}}% 증가",
+ description: "지니게 한 포켓몬은 받는 경험치가 {{boostPercent}}% 증가한다.",
},
"PokemonFriendshipBoosterModifierType": {
- description: "배틀 승리로 얻는 친밀도가 50% 증가",
+ description: "배틀 승리로 얻는 친밀도가 50% 증가한다.",
},
"PokemonMoveAccuracyBoosterModifierType": {
- description: "기술의 명중률이 {{accuracyAmount}} 증가 (최대 100)",
+ description: "기술의 명중률이 {{accuracyAmount}} 증가한다. (최대 100)",
},
"PokemonMultiHitModifierType": {
- description: "공격이 가진 갯수에 따라 60/75/82.5%의 위력으로 한번 더 명중",
+ description: "지닌 개수(최대 3개)마다 추가 공격을 하는 대신, 공격력이 60%(1개)/75%(2개)/82.5%(3개)만큼 감소합니다.",
},
"TmModifierType": {
name: "No.{{moveId}} {{moveName}}",
- description: "포켓몬에게 {{moveName}}[[를]] 가르침",
+ description: "포켓몬에게 {{moveName}}[[를]] 가르침.",
+ },
+ "TmModifierTypeWithInfo": {
+ name: "No.{{moveId}} {{moveName}}",
+ description: "포켓몬에게 {{moveName}}를(을) 가르침.\n(C 또는 Shift를 꾹 눌러 정보 확인)",
},
"EvolutionItemModifierType": {
- description: "어느 특정 포켓몬을 진화",
+ description: "어느 특정 포켓몬을 진화시킨다.",
},
"FormChangeItemModifierType": {
- description: "어느 특정 포켓몬을 폼 체인지",
+ description: "어느 특정 포켓몬을 폼 체인지시킨다.",
},
"FusePokemonModifierType": {
- description: "두 포켓몬을 결합 (특성 변환, 종족값과 타입 분배, 기술폭 공유)",
+ description: "두 포켓몬을 결합시킨다. (특성 변환, 종족값과 타입 분배, 기술폭 공유)",
},
"TerastallizeModifierType": {
name: "테라피스 {{teraType}}",
- description: "지니게 하면 10번의 배틀 동안 {{teraType}} 테라스탈타입으로 테라스탈",
+ description: "지니게 하면 10번의 배틀 동안 {{teraType}} 테라스탈타입으로 테라스탈한다.",
},
"ContactHeldItemTransferChanceModifierType": {
- description: "공격했을 때, {{chancePercent}}%의 확률로 상대의 도구를 도둑질",
+ description: "공격했을 때, {{chancePercent}}%의 확률로 상대의 도구를 도둑질한다.",
},
"TurnHeldItemTransferModifierType": {
- description: "매 턴, 지닌 포켓몬은 상대로부터 도구를 하나 획득",
+ description: "매 턴, 지닌 포켓몬은 상대로부터 도구를 하나 획득한다.",
},
"EnemyAttackStatusEffectChanceModifierType": {
- description: "공격했을 때 {{statusEffect}} 상태로 만들 확률 {{chancePercent}}% 추가",
+ description: "공격했을 때 {{statusEffect}} 상태로 만들 확률이 {{chancePercent}}% 추가된다.",
},
"EnemyEndureChanceModifierType": {
- description: "받은 공격을 버텨낼 확률 {{chancePercent}}% 추가",
+ description: "받은 공격을 버텨낼 확률이 {{chancePercent}}% 추가된다.",
},
"RARE_CANDY": { name: "이상한사탕" },
"RARER_CANDY": { name: "더이상한사탕" },
- "MEGA_BRACELET": { name: "메가링", description: "메가스톤을 사용 가능" },
- "DYNAMAX_BAND": { name: "다이맥스 밴드", description: "다이버섯을 사용 가능" },
- "TERA_ORB": { name: "테라스탈오브", description: "테라피스를 사용 가능" },
+ "MEGA_BRACELET": { name: "메가링", description: "메가스톤을 사용할 수 있게 된다." },
+ "DYNAMAX_BAND": { name: "다이맥스 밴드", description: "다이버섯을 사용할 수 있게 된다." },
+ "TERA_ORB": { name: "테라스탈오브", description: "테라피스를 사용할 수 있게 된다." },
- "MAP": { name: "지도", description: "갈림길에서 목적지 선택 가능" },
+ "MAP": { name: "지도", description: "갈림길에서 목적지를 선택할 수 있다." },
"POTION": { name: "상처약" },
"SUPER_POTION": { name: "좋은상처약" },
@@ -147,7 +151,7 @@ export const modifierType: ModifierTypeTranslationEntries = {
"SACRED_ASH": { name: "성스러운분말" },
- "REVIVER_SEED": { name: "부활의씨앗", description: "포켓몬이 쓰러지려 할 때 HP를 절반 회복" },
+ "REVIVER_SEED": { name: "부활의씨앗", description: "포켓몬이 공격을 받고 쓰러지려 할 때 HP를 절반 회복한다." },
"ETHER": { name: "PP에이드" },
"MAX_ETHER": { name: "PP회복" },
@@ -162,12 +166,12 @@ export const modifierType: ModifierTypeTranslationEntries = {
"SUPER_LURE": { name: "실버코롱" },
"MAX_LURE": { name: "골드코롱" },
- "MEMORY_MUSHROOM": { name: "기억버섯", description: "포켓몬의 잊어버린 기술을 떠올림" },
+ "MEMORY_MUSHROOM": { name: "기억버섯", description: "포켓몬이 잊어버린 기술을 떠올린다." },
- "EXP_SHARE": { name: "학습장치", description: "배틀에 참여하지 않아도 20%의 경험치를 받을 수 있는 장치" },
- "EXP_BALANCE": { name: "균형학습장치", description: "레벨이 낮은 포켓몬이 받는 경험치를 가중" },
+ "EXP_SHARE": { name: "학습장치", description: "배틀에 참여하지 않아도 20%의 경험치를 받을 수 있게 된다." },
+ "EXP_BALANCE": { name: "균형학습장치", description: "레벨이 낮은 포켓몬이 받는 경험치를 가중시킨다." },
- "OVAL_CHARM": { name: "둥근부적", description: "여러 마리의 포켓몬이 배틀에 참여할 경우, 전체 경험치의 10%씩을 추가로 획득" },
+ "OVAL_CHARM": { name: "둥근부적", description: "여러 마리의 포켓몬이 배틀에 참여할 경우, 전체 경험치의 10%씩을 추가로 획득한다." },
"EXP_CHARM": { name: "경험부적" },
"SUPER_EXP_CHARM": { name: "좋은경험부적" },
@@ -178,62 +182,70 @@ export const modifierType: ModifierTypeTranslationEntries = {
"SOOTHE_BELL": { name: "평온의방울" },
- "SOUL_DEW": { name: "마음의물방울", description: "지닌 포켓몬의 성격의 효과가 10% 증가 (합연산)" },
+ "EVIOLITE": { name: "진화의휘석", description: "진화의 이상한 덩어리. 지니게 하면 진화 전 포켓몬의 방어와 특수방어가 올라간다." },
+
+ "SOUL_DEW": { name: "마음의물방울", description: "지닌 포켓몬의 성격의 효과가 10% 증가한다. (합연산)" },
"NUGGET": { name: "금구슬" },
"BIG_NUGGET": { name: "큰금구슬" },
"RELIC_GOLD": { name: "고대의금화" },
- "AMULET_COIN": { name: "부적금화", description: "받는 돈이 20% 증가" },
- "GOLDEN_PUNCH": { name: "골든펀치", description: "주는 데미지의 50%만큼 돈을 획득" },
- "COIN_CASE": { name: "동전케이스", description: "매 열 번째 배틀마다, 가진 돈의 10%를 이자로 획득" },
+ "AMULET_COIN": { name: "부적금화", description: "받는 돈이 20% 증가한다." },
+ "GOLDEN_PUNCH": { name: "골든펀치", description: "주는 데미지의 50%만큼 돈을 획득한다." },
+ "COIN_CASE": { name: "동전케이스", description: "매 열 번째 배틀마다, 가진 돈의 10%를 이자로 획득한다." },
- "LOCK_CAPSULE": { name: "록캡슐", description: "받을 아이템을 갱신할 때 희귀도를 고정 가능" },
+ "LOCK_CAPSULE": { name: "록캡슐", description: "받을 아이템을 갱신할 때 희귀도를 고정시킬 수 있게 된다." },
"GRIP_CLAW": { name: "끈기갈고리손톱" },
"WIDE_LENS": { name: "광각렌즈" },
"MULTI_LENS": { name: "멀티렌즈" },
- "HEALING_CHARM": { name: "치유의부적", description: "HP를 회복하는 기술을 썼을 때 효율이 10% 증가 (부활 제외)" },
- "CANDY_JAR": { name: "사탕단지", description: "이상한사탕 종류의 아이템이 올려주는 레벨 1 증가" },
+ "HEALING_CHARM": { name: "치유의부적", description: "HP를 회복하는 기술이나 도구를 썼을 때 효율이 10% 증가한다. (부활 제외)" },
+ "CANDY_JAR": { name: "사탕단지", description: "이상한사탕 종류의 아이템이 올려주는 레벨이 1 증가한다." },
- "BERRY_POUCH": { name: "열매주머니", description: "사용한 나무열매가 소모되지 않을 확률 33% 추가" },
+ "BERRY_POUCH": { name: "열매주머니", description: "사용한 나무열매가 소모되지 않을 확률이 30% 추가된다." },
- "FOCUS_BAND": { name: "기합의머리띠", description: "기절할 듯한 데미지를 받아도 HP를 1 남겨서 견딜 확률 10% 추가" },
+ "FOCUS_BAND": { name: "기합의머리띠", description: "기절할 듯한 데미지를 받아도 HP를 1 남겨서 견딜 확률이 10% 추가된다." },
- "QUICK_CLAW": { name: "선제공격손톱", description: "상대보다 먼저 행동할 수 있게 될 확률 10% 추가 (우선도 처리 이후)" },
+ "QUICK_CLAW": { name: "선제공격손톱", description: "상대보다 먼저 행동할 수 있게 될 확률이 10% 추가된다. (우선도 처리 이후)" },
- "KINGS_ROCK": { name: "왕의징표석", description: "공격해서 데미지를 줄 때 상대를 풀죽일 확률 10% 추가" },
+ "KINGS_ROCK": { name: "왕의징표석", description: "공격해서 데미지를 줄 때 상대를 풀죽일 확률이 10% 추가된다." },
- "LEFTOVERS": { name: "먹다남은음식", description: "포켓몬의 HP가 매 턴 최대 체력의 1/16씩 회복" },
- "SHELL_BELL": { name: "조개껍질방울", description: "포켓몬이 준 데미지의 1/8씩 회복" },
+ "LEFTOVERS": { name: "먹다남은음식", description: "포켓몬의 HP가 매 턴 최대 체력의 1/16씩 회복된다." },
+ "SHELL_BELL": { name: "조개껍질방울", description: "포켓몬이 준 데미지의 1/8씩을 회복한다." },
"TOXIC_ORB": { name: "맹독구슬", description: "이 도구를 지닌 포켓몬은 턴이 끝나는 시점에 상태이상에 걸리지 않았다면 맹독 상태가 된다." },
"FLAME_ORB": { name: "화염구슬", description: "이 도구를 지닌 포켓몬은 턴이 끝나는 시점에 상태이상에 걸리지 않았다면 화상 상태가 된다." },
"BATON": { name: "바톤", description: "포켓몬을 교체할 때 효과를 넘겨줄 수 있으며, 함정의 영향을 받지 않게 함" },
- "SHINY_CHARM": { name: "빛나는부적", description: "야생 포켓몬이 색이 다른 포켓몬으로 등장할 확률을 급격히 증가" },
- "ABILITY_CHARM": { name: "특성부적", description: "야생 포켓몬이 숨겨진 특성을 가지고 등장할 확률을 급격히 증가" },
+ "SHINY_CHARM": { name: "빛나는부적", description: "야생 포켓몬이 색이 다른 포켓몬으로 등장할 확률을 급격히 높인다." },
+ "ABILITY_CHARM": { name: "특성부적", description: "야생 포켓몬이 숨겨진 특성을 가지고 등장할 확률을 급격히 높인다." },
- "IV_SCANNER": { name: "개체값탐지기", description: "야생 포켓몬의 개체값을 확인 가능하다. 높은 값이 먼저 표시되며 확인할 수 있는 개체값을 두 종류씩 추가" },
+ "IV_SCANNER": { name: "개체값탐지기", description: "야생 포켓몬의 개체값을 확인 가능하다. 높은 값부터, 확인할 수 있는 개체값이 두 종류씩 추가된다." },
"DNA_SPLICERS": { name: "유전자쐐기" },
"MINI_BLACK_HOLE": { name: "미니 블랙홀" },
- "GOLDEN_POKEBALL": { name: "황금몬스터볼", description: "전투 후 획득하는 아이템의 선택지를 하나 더 추가" },
+ "GOLDEN_POKEBALL": { name: "황금몬스터볼", description: "전투 후 획득하는 아이템의 선택지가 하나 더 늘어난다." },
- "ENEMY_DAMAGE_BOOSTER": { name: "데미지 토큰", description: "주는 데미지를 5% 증가" },
- "ENEMY_DAMAGE_REDUCTION": { name: "보호 토큰", description: "받는 데미지를 2.5% 감소" },
- "ENEMY_HEAL": { name: "회복 토큰", description: "매 턴 최대 체력의 2%를 회복" },
+ "ENEMY_DAMAGE_BOOSTER": { name: "데미지 토큰", description: "주는 데미지를 5% 증가시킨다." },
+ "ENEMY_DAMAGE_REDUCTION": { name: "보호 토큰", description: "받는 데미지를 2.5% 감소시킨다." },
+ "ENEMY_HEAL": { name: "회복 토큰", description: "매 턴 최대 체력의 2%를 회복한다." },
"ENEMY_ATTACK_POISON_CHANCE": { name: "독 토큰" },
"ENEMY_ATTACK_PARALYZE_CHANCE": { name: "마비 토큰" },
"ENEMY_ATTACK_BURN_CHANCE": { name: "화상 토큰" },
- "ENEMY_STATUS_EFFECT_HEAL_CHANCE": { name: "만병통치 토큰", description: "매 턴 상태이상에서 회복될 확률 2.5% 추가" },
+ "ENEMY_STATUS_EFFECT_HEAL_CHANCE": { name: "만병통치 토큰", description: "매 턴 상태이상에서 회복될 확률이 2.5% 추가된다." },
"ENEMY_ENDURE_CHANCE": { name: "버티기 토큰" },
- "ENEMY_FUSED_CHANCE": { name: "합체 토큰", description: "야생 포켓몬이 합체할 확률 1% 추가" },
+ "ENEMY_FUSED_CHANCE": { name: "합체 토큰", description: "야생 포켓몬이 합체되어 등장할 확률이 1% 추가된다." },
+ },
+ SpeciesBoosterItem: {
+ "LIGHT_BALL": { name: "전기구슬", description: "피카츄에게 지니게 하면 공격과 특수공격이 올라가는 이상한 구슬." },
+ "THICK_CLUB": { name: "굵은뼈", description: "무언가의 단단한 뼈. 탕구리 혹은 텅구리에게 지니게 하면 공격이 올라간다." },
+ "METAL_POWDER": { name: "금속파우더", description: "메타몽에게 지니게 하면 방어가 올라가는 이상한 가루. 매우 잘고 단단하다." },
+ "QUICK_POWDER": { name: "스피드파우더", description: "메타몽에게 지니게 하면 스피드가 올라가는 이상한 가루. 매우 잘고 단단하다." }
},
TempBattleStatBoosterItem: {
"x_attack": "플러스파워",
@@ -244,6 +256,19 @@ export const modifierType: ModifierTypeTranslationEntries = {
"x_accuracy": "잘-맞히기",
"dire_hit": "크리티컬커터",
},
+
+ TempBattleStatBoosterStatName: {
+ "ATK": "공격",
+ "DEF": "방어",
+ "SPATK": "특수공격",
+ "SPDEF": "특수방어",
+ "SPD": "스피드",
+ "ACC": "명중률",
+ "CRIT": "급소율",
+ "EVA": "회피율",
+ "DEFAULT": "???",
+ },
+
AttackTypeBoosterItem: {
"silk_scarf": "실크스카프",
"black_belt": "검은띠",
@@ -421,5 +446,6 @@ export const modifierType: ModifierTypeTranslationEntries = {
"DRAGON_MEMORY": "드래곤메모리",
"DARK_MEMORY": "다크메모리",
"FAIRY_MEMORY": "페어리메모리",
+ "BLANK_MEMORY": "빈메모리",
},
} as const;
diff --git a/src/locales/ko/modifier.ts b/src/locales/ko/modifier.ts
new file mode 100644
index 00000000000..c61d2b3def0
--- /dev/null
+++ b/src/locales/ko/modifier.ts
@@ -0,0 +1,12 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const modifier: SimpleTranslationEntries = {
+ "surviveDamageApply": "{{pokemonNameWithAffix}}[[는]]\n{{typeName}}[[로]] 버텼다!!",
+ "turnHealApply": "{{pokemonNameWithAffix}}[[는]]\n{{typeName}}[[로]] 인해 조금 회복했다.",
+ "hitHealApply": "{{pokemonNameWithAffix}}[[는]]\n{{typeName}}[[로]] 인해 조금 회복했다.",
+ "pokemonInstantReviveApply": "{{pokemonNameWithAffix}}[[는]] {{typeName}}[[로]]\n정신을 차려 싸울 수 있게 되었다!",
+ "moneyInterestApply": "{{typeName}}[[로]]부터\n₽{{moneyAmount}}[[를]] 받았다!",
+ "turnHeldItemTransferApply": "{{pokemonName}}의 {{typeName}}[[는]]\n{{pokemonNameWithAffix}}의 {{itemName}}[[를]] 흡수했다!",
+ "contactHeldItemTransferApply": "{{pokemonName}}의 {{typeName}}[[는]]\n{{pokemonNameWithAffix}}의 {{itemName}}[[를]] 가로챘다!",
+ "enemyTurnHealApply": "{{pokemonNameWithAffix}}의\n체력이 약간 회복되었다!",
+} as const;
diff --git a/src/locales/ko/move.ts b/src/locales/ko/move.ts
index 60a5a5eaafc..3781725bc6f 100644
--- a/src/locales/ko/move.ts
+++ b/src/locales/ko/move.ts
@@ -1,4 +1,4 @@
-import { MoveTranslationEntries } from "#app/plugins/i18n";
+import { MoveTranslationEntries } from "#app/interfaces/locales";
/**
* 본가 게임과 텍스트가 다르거나 번역문을 완전히 확인하지 못한 경우 주석으로 표시
@@ -2937,7 +2937,7 @@ export const move: MoveTranslationEntries = {
},
bouncyBubble: {
name: "생생버블",
- effect: "물덩어리를 부딪쳐서 공격한다. 물을 흡수하여 데미지의 절반만큼 HP를 회복한다."
+ effect: "물덩어리를 부딪쳐서 공격한다. 물을 흡수하여 준 데미지만큼 HP를 회복한다."
},
buzzyBuzz: {
name: "찌릿찌릿일렉",
@@ -3393,7 +3393,7 @@ export const move: MoveTranslationEntries = {
effect: "무수히 많은 불덩이로 공격한다. 화상 상태로 만들 때가 있다. 상대가 상태 이상인 경우 위력이 2배가 된다."
},
ceaselessEdge: {
- name: "비검천충파",
+ name: "비검천중파",
effect: "조개껍질 검으로 공격한다. 조개껍질 파편은 압정이 되어 상대의 발밑에 흩어진다."
},
bleakwindStorm: {
diff --git a/src/locales/ko/nature.ts b/src/locales/ko/nature.ts
index 3581f2a7c94..2d7e2ec85f4 100644
--- a/src/locales/ko/nature.ts
+++ b/src/locales/ko/nature.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const nature: SimpleTranslationEntries = {
"Hardy": "노력",
diff --git a/src/locales/ko/party-ui-handler.ts b/src/locales/ko/party-ui-handler.ts
new file mode 100644
index 00000000000..f0075809345
--- /dev/null
+++ b/src/locales/ko/party-ui-handler.ts
@@ -0,0 +1,53 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const partyUiHandler: SimpleTranslationEntries = {
+ "SEND_OUT": "교체한다",
+ "SUMMARY": "능력치를 본다",
+ "CANCEL": "그만둔다",
+ "RELEASE": "놓아준다",
+ "APPLY": "사용한다",
+ "TEACH": "가르친다",
+ "SPLICE": "융합",
+ "UNSPLICE": "융합 해제",
+ "ACTIVATE": "발동",
+ "DEACTIVATE": "해제",
+ "TRANSFER": "건넨다",
+ "ALL": "전부",
+ "PASS_BATON": "배턴터치한다",
+ "UNPAUSE_EVOLUTION": "진화 재개",
+ "REVIVE": "되살린다",
+
+ "choosePokemon": "포켓몬을 선택하세요.",
+ "doWhatWithThisPokemon": "포켓몬을 어떻게 하겠습니까?",
+ "noEnergy": "{{pokemonName}}[[는]] 싸울 수 있는\n기력이 남아 있지 않습니다!",
+ "hasEnergy": "{{pokemonName}}[[는]]\n아직도 힘이 넘친다!",
+ "cantBeUsed": "{{pokemonName}}[[는]] 이 챌린지에서는\n쓸 수 없습니다.",
+ "tooManyItems": "{{pokemonName}}[[는]] 지닌 도구의 수가\n너무 많습니다",
+ "anyEffect": "써도 효과가 없다.",
+ "unpausedEvolutions": "{{pokemonName}}의 진화가 재개되었다.",
+ "unspliceConfirmation": "{{pokemonName}}로부터 {{fusionName}}의 융합을 해제하시겠습니까?\n{{fusionName}}는 사라지게 됩니다.",
+ "wasReverted": "{{fusionName}}은 {{pokemonName}}의 모습으로 돌아갔습니다!",
+ "releaseConfirmation": "{{pokemonName}}[[를]]\n정말 놓아주겠습니까?",
+ "releaseInBattle": "전투 중인 포켓몬은\n놓아줄 수 없습니다.",
+ "selectAMove": "기술을 선택해 주십시오",
+ "changeQuantity": "건네줄 지닌 도구를 선택해 주십시오.\n< 와 > 로 수량을 변경할 수 있습니다.",
+ "selectAnotherPokemonToSplice": "융합할 포켓몬을 선택해 주십시오.",
+ "cancel": "그만둔다",
+
+ // Slot TM text
+ "able": "배운다!",
+ "notAble": "배우지 못함",
+ "learned": "알고 있다",
+
+ // Releasing messages
+ "goodbye": "잘 가, {{pokemonName}}!",
+ "byebye": "바이바이, {{pokemonName}}!",
+ "farewell": "작별이야, {{pokemonName}}!",
+ "soLong": "안녕, {{pokemonName}}!",
+ "thisIsWhereWePart": "여기서 헤어지자, {{pokemonName}}!",
+ "illMissYou": "보고 싶을거야, {{pokemonName}}!",
+ "illNeverForgetYou": "잊지 못할거야, {{pokemonName}}!",
+ "untilWeMeetAgain": "다시 만날 때까지, {{pokemonName}}!",
+ "sayonara": "사요나라, {{pokemonName}}!",
+ "smellYaLater": "또 보자, {{pokemonName}}!",
+} as const;
diff --git a/src/locales/ko/pokeball.ts b/src/locales/ko/pokeball.ts
index 123df79ea93..195ae3a3594 100644
--- a/src/locales/ko/pokeball.ts
+++ b/src/locales/ko/pokeball.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const pokeball: SimpleTranslationEntries = {
"pokeBall": "몬스터볼",
diff --git a/src/locales/ko/pokemon-info-container.ts b/src/locales/ko/pokemon-info-container.ts
index 5882561bdd8..80a0d59addd 100644
--- a/src/locales/ko/pokemon-info-container.ts
+++ b/src/locales/ko/pokemon-info-container.ts
@@ -1,11 +1,9 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const pokemonInfoContainer: SimpleTranslationEntries = {
"moveset": "기술",
"gender": "성별:",
"ability": "특성:",
"nature": "성격:",
- "epic": "에픽",
- "rare": "레어",
- "common": "커먼"
+ "form": "폼:"
} as const;
diff --git a/src/locales/ko/pokemon-info.ts b/src/locales/ko/pokemon-info.ts
index aadc3611692..89d1742f437 100644
--- a/src/locales/ko/pokemon-info.ts
+++ b/src/locales/ko/pokemon-info.ts
@@ -1,4 +1,4 @@
-import { PokemonInfoTranslationEntries } from "#app/plugins/i18n";
+import { PokemonInfoTranslationEntries } from "#app/interfaces/locales";
export const pokemonInfo: PokemonInfoTranslationEntries = {
Stat: {
@@ -13,7 +13,9 @@ export const pokemonInfo: PokemonInfoTranslationEntries = {
"SPDEF": "특수방어",
"SPDEFshortened": "특방",
"SPD": "스피드",
- "SPDshortened": "스피드"
+ "SPDshortened": "스피드",
+ "ACC": "명중률",
+ "EVA": "회피율"
},
Type: {
diff --git a/src/locales/ko/pokemon.ts b/src/locales/ko/pokemon.ts
index d0ef9c3923c..68eae6b9ca6 100644
--- a/src/locales/ko/pokemon.ts
+++ b/src/locales/ko/pokemon.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const pokemon: SimpleTranslationEntries = {
"bulbasaur": "이상해씨",
diff --git a/src/locales/ko/save-slot-select-ui-handler.ts b/src/locales/ko/save-slot-select-ui-handler.ts
new file mode 100644
index 00000000000..29f77cd325f
--- /dev/null
+++ b/src/locales/ko/save-slot-select-ui-handler.ts
@@ -0,0 +1,9 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const saveSlotSelectUiHandler: SimpleTranslationEntries = {
+ "overwriteData": "선택한 슬롯에 데이터를 덮어쓰시겠습니까?",
+ "loading": "로딩 중...",
+ "wave": "웨이브",
+ "lv": "Lv",
+ "empty": "빈 슬롯",
+} as const;
diff --git a/src/locales/ko/settings.ts b/src/locales/ko/settings.ts
new file mode 100644
index 00000000000..6514683cd94
--- /dev/null
+++ b/src/locales/ko/settings.ts
@@ -0,0 +1,99 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales.js";
+
+export const settings: SimpleTranslationEntries = {
+ "boy": "남자",
+ "girl": "여자",
+ "general": "일반",
+ "display": "디스플레이",
+ "audio": "오디오",
+ "gamepad": "게임패드",
+ "keyboard": "키보드",
+ "gameSpeed": "게임 속도",
+ "hpBarSpeed": "HP 바 속도",
+ "expGainsSpeed": "경험치 획득 속도",
+ "expPartyDisplay": "파티 경험치 표시",
+ "skipSeenDialogues": "본 대화 생략",
+ "battleStyle": "시합 룰",
+ "enableRetries": "재도전 허용",
+ "tutorials": "튜토리얼",
+ "touchControls": "터치 컨트롤",
+ "vibrations": "진동",
+ "normal": "보통",
+ "fast": "빠르게",
+ "faster": "더 빠르게",
+ "skip": "스킵",
+ "levelUpNotifications": "레벨업 알림",
+ "on": "설정",
+ "off": "해제",
+ "switch": "교체",
+ "set": "토너먼트",
+ "auto": "자동",
+ "disabled": "비활성",
+ "language": "언어",
+ "change": "변경",
+ "uiTheme": "UI 테마",
+ "default": "기본",
+ "legacy": "레거시",
+ "windowType": "윈도우 타입",
+ "moneyFormat": "소지금 표시",
+ "damageNumbers": "데미지 숫자 표시",
+ "simple": "심플",
+ "fancy": "팬시",
+ "abbreviated": "축약",
+ "moveAnimations": "배틀 애니메이션",
+ "showStatsOnLevelUp": "레벨업 능력치 표시",
+ "candyUpgradeNotification": "사탕 업그레이드 알림",
+ "passivesOnly": "패시브만",
+ "candyUpgradeDisplay": "사탕 업그레이드 표시",
+ "icon": "아이콘",
+ "animation": "애니메이션",
+ "moveInfo": "기술 정보",
+ "showMovesetFlyout": "상대 기술 보기",
+ "showArenaFlyout": "배틀 효과 보기",
+ "showTimeOfDayWidget": "시간 위젯",
+ "timeOfDayAnimation": "시간 애니메이션",
+ "bounce": "흔들림",
+ "timeOfDay_back": "고정",
+ "spriteSet": "스프라이트 표시",
+ "consistent": "기본",
+ "mixedAnimated": "믹스",
+ "fusionPaletteSwaps": "셰이더 적용",
+ "playerGender": "플레이어 성별",
+ "typeHints": "상성 힌트",
+ "masterVolume": "마스터 볼륨",
+ "bgmVolume": "BGM 볼륨",
+ "seVolume": "SE 볼륨",
+ "musicPreference": "음악 설정",
+ "mixed": "믹스",
+ "gamepadPleasePlug": "게임패드를 연결하거나 버튼을 입력하세요",
+ "delete": "삭제",
+ "keyboardPleasePress": "키보드의 키를 입력하세요",
+ "reset": "리셋",
+ "requireReload": "새로고침 필요",
+ "action": "액션",
+ "back": "고정",
+ "pressToBind": "할당을 위해 입력하세요",
+ "pressButton": "버튼을 입력하세요",
+ "buttonUp": "위",
+ "buttonDown": "아래",
+ "buttonLeft": "왼쪽",
+ "buttonRight": "오른쪽",
+ "buttonAction": "액션",
+ "buttonMenu": "메뉴",
+ "buttonSubmit": "확인",
+ "buttonCancel": "취소",
+ "buttonStats": "스탯",
+ "buttonCycleForm": "폼 변환",
+ "buttonCycleShiny": "색이 다른 변환",
+ "buttonCycleGender": "성별 변환",
+ "buttonCycleAbility": "특성 변환",
+ "buttonCycleNature": "성격 변환",
+ "buttonCycleVariant": "색상 변환",
+ "buttonSpeedUp": "속도 올리기",
+ "buttonSlowDown": "속도 내리기",
+ "alt": " (대체)",
+ "mute": "음소거",
+ "controller": "컨트롤러",
+ "gamepadSupport": "게임패드 지원",
+ "showBgmBar": "BGM 제목 보여주기",
+} as const;
diff --git a/src/locales/ko/splash-messages.ts b/src/locales/ko/splash-messages.ts
index 33006370b93..b875e7b282f 100644
--- a/src/locales/ko/splash-messages.ts
+++ b/src/locales/ko/splash-messages.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const splashMessages: SimpleTranslationEntries = {
"battlesWon": "전투에서 승리하세요!",
diff --git a/src/locales/ko/starter-select-ui-handler.ts b/src/locales/ko/starter-select-ui-handler.ts
index bb2b4369c92..d7f8ddbe3ed 100644
--- a/src/locales/ko/starter-select-ui-handler.ts
+++ b/src/locales/ko/starter-select-ui-handler.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
/**
* The menu namespace holds most miscellaneous text that isn't directly part of the game's
@@ -6,7 +6,7 @@ import { SimpleTranslationEntries } from "#app/plugins/i18n";
* account interactions, descriptive text, etc.
*/
export const starterSelectUiHandler: SimpleTranslationEntries = {
- "confirmStartTeam":"이 포켓몬들로 시작하시겠습니까?",
+ "confirmStartTeam": "이 포켓몬들로 시작하시겠습니까?",
"gen1": "1세대",
"gen2": "2세대",
"gen3": "3세대",
@@ -21,21 +21,23 @@ export const starterSelectUiHandler: SimpleTranslationEntries = {
"passive": "패시브:",
"nature": "성격:",
"eggMoves": "알 기술",
- "start": "시작",
"addToParty": "파티에 추가",
"toggleIVs": "개체값 토글",
"manageMoves": "기술 관리",
+ "manageNature": "성격 관리",
"useCandies": "사탕 사용",
+ "selectNature": "교체할 성격을 선택해주세요.",
"selectMoveSwapOut": "교체할 기술을 선택해주세요.",
"selectMoveSwapWith": "교체될 기술을 선택해주세요. 대상:",
"unlockPassive": "패시브 해금",
"reduceCost": "코스트 줄이기",
- "cycleShiny": "R: 색상 전환",
- "cycleForm": "F: 폼 체인지",
- "cycleGender": "G: 암수 전환",
- "cycleAbility": "E: 특성 전환",
- "cycleNature": "N: 성격 전환",
- "cycleVariant": "V: 형태 전환",
+ "sameSpeciesEgg": "알 구매하기",
+ "cycleShiny": ": 색이 다른",
+ "cycleForm": ": 폼",
+ "cycleGender": ": 암수",
+ "cycleAbility": ": 특성",
+ "cycleNature": ": 성격",
+ "cycleVariant": ": 색상",
"enablePassive": "패시브 활성화",
"disablePassive": "패시브 비활성화",
"locked": "잠김",
diff --git a/src/locales/ko/status-effect.ts b/src/locales/ko/status-effect.ts
new file mode 100644
index 00000000000..c4e0ab52722
--- /dev/null
+++ b/src/locales/ko/status-effect.ts
@@ -0,0 +1,67 @@
+import { StatusEffectTranslationEntries } from "#app/interfaces/locales.js";
+
+export const statusEffect: StatusEffectTranslationEntries = {
+ none: {
+ name: "없음",
+ description: "",
+ obtain: "",
+ obtainSource: "",
+ activation: "",
+ overlap: "",
+ heal: ""
+ },
+ poison: {
+ name: "독",
+ description: "독",
+ obtain: "{{pokemonNameWithAffix}}의\n몸에 독이 퍼졌다!",
+ obtainSource: "{{pokemonNameWithAffix}}[[는]]\n{{sourceText}} 때문에 몸에 독이 퍼졌다!",
+ activation: "{{pokemonNameWithAffix}}[[는]]\n독에 의한 데미지를 입었다!",
+ overlap: "{{pokemonNameWithAffix}}[[는]] 이미\n몸에 독이 퍼진 상태다.",
+ heal: "{{pokemonNameWithAffix}}의 독은\n말끔하게 해독됐다!"
+ },
+ toxic: {
+ name: "맹독",
+ description: "독",
+ obtain: "{{pokemonNameWithAffix}}의\n몸에 맹독이 퍼졌다!",
+ obtainSource: "{{pokemonNameWithAffix}}[[는]]\n{{sourceText}} 때문에 몸에 맹독이 퍼졌다!",
+ activation: "{{pokemonNameWithAffix}}[[는]]\n독에 의한 데미지를 입었다!",
+ overlap: "{{pokemonNameWithAffix}}[[는]] 이미\n몸에 독이 퍼진 상태다.",
+ heal: "{{pokemonNameWithAffix}}의 독은\n말끔하게 해독됐다!"
+ },
+ paralysis: {
+ name: "마비",
+ description: "마비",
+ obtain: "{{pokemonNameWithAffix}}[[는]] 마비되어\n기술이 나오기 어려워졌다!",
+ obtainSource: "{{pokemonNameWithAffix}}[[는]] {{sourceText}} 때문에\n마비되어 기술이 나오기 어려워졌다!",
+ activation: "{{pokemonNameWithAffix}}[[는]]\n몸이 저려서 움직일 수 없다!",
+ overlap: "{{pokemonNameWithAffix}}[[는]]\n이미 마비되어 있다!",
+ heal: "{{pokemonNameWithAffix}}의\n몸저림이 풀렸다!"
+ },
+ sleep: {
+ name: "잠듦",
+ description: "잠듦",
+ obtain: "{{pokemonNameWithAffix}}[[는]]\n잠들어 버렸다!",
+ obtainSource: "{{pokemonNameWithAffix}}[[는]]\n{{sourceText}} 때문에 잠들어 버렸다!",
+ activation: "{{pokemonNameWithAffix}}[[는]]\n쿨쿨 잠들어 있다.",
+ overlap: "{{pokemonNameWithAffix}}[[는]]\n이미 잠들어 있다.",
+ heal: "{{pokemonNameWithAffix}}[[는]]\n눈을 떴다!"
+ },
+ freeze: {
+ name: "얼음",
+ description: "얼음",
+ obtain: "{{pokemonNameWithAffix}}[[는]]\n얼어붙었다!",
+ obtainSource: "{{pokemonNameWithAffix}}[[는]]\n{{sourceText}} 때문에 얼어붙었다!",
+ activation: "{{pokemonNameWithAffix}}[[는]]\n얼어 버려서 움직일 수 없다!",
+ overlap: "{{pokemonNameWithAffix}}[[는]]\n이미 얼어 있다.",
+ heal: "{{pokemonNameWithAffix}}의\n얼음 상태가 나았다!"
+ },
+ burn: {
+ name: "화상",
+ description: "화상",
+ obtain: "{{pokemonNameWithAffix}}[[는]]\n화상을 입었다!",
+ obtainSource: "{{pokemonNameWithAffix}}[[는]]\n{{sourceText}} 때문에 화상을 입었다!",
+ activation: "{{pokemonNameWithAffix}}[[는]]\n화상 데미지를 입었다!",
+ overlap: "{{pokemonNameWithAffix}}[[는]] 이미\n화상을 입은 상태다.",
+ heal: "{{pokemonNameWithAffix}}의\n화상이 나았다!"
+ },
+} as const;
diff --git a/src/locales/ko/trainers.ts b/src/locales/ko/trainers.ts
index 62e8de560d2..429ab13b223 100644
--- a/src/locales/ko/trainers.ts
+++ b/src/locales/ko/trainers.ts
@@ -1,4 +1,4 @@
-import {SimpleTranslationEntries} from "#app/plugins/i18n";
+import {SimpleTranslationEntries} from "#app/interfaces/locales";
// Titles of special trainers like gym leaders, elite four, and the champion
export const titles: SimpleTranslationEntries = {
@@ -13,6 +13,12 @@ export const titles: SimpleTranslationEntries = {
"rival": "라이벌",
"professor": "박사",
"frontier_brain": "프런티어 브레인",
+ "rocket_boss": "로켓단 보스",
+ "magma_boss": "마그마단 보스",
+ "aqua_boss": "아쿠아단 보스",
+ "galactic_boss": "갤럭시단 보스",
+ "plasma_boss": "플라스마단 보스",
+ "flare_boss": "플레어단 보스",
// Maybe if we add the evil teams we can add "Team Rocket" and "Team Aqua" etc. here as well as "Team Rocket Boss" and "Team Aqua Admin" etc.
} as const;
@@ -48,7 +54,7 @@ export const trainerClasses: SimpleTranslationEntries = {
"depot_agent": "역무원",
"doctor": "의사",
"doctor_female": "간호사", // doctor_f.png 파일이 간호사
- "firebreather": "Firebreather",
+ "firebreather": "불놀이꾼",
"fisherman": "낚시꾼",
"fisherman_female": "낚시꾼",
"gentleman": "신사",
@@ -101,11 +107,12 @@ export const trainerClasses: SimpleTranslationEntries = {
"smasher": "테니스선수",
"snow_worker": "작업원",
"snow_worker_female": "작업원",
+ "sailor": "선원",
"striker": "축구선수",
"school_kid": "학원끝난 아이",
"school_kid_female": "학원끝난 아이",
"school_kids": "학원끝난 아이",
- "swimmer": "수연팬티 소년",
+ "swimmer": "수영팬티 소년",
"swimmer_female": "비키니 아가씨",
"swimmers": "수영팬티 소년 & 비키니 아가씨", // 확인 필요
"twins": "쌍둥이",
@@ -117,7 +124,19 @@ export const trainerClasses: SimpleTranslationEntries = {
"worker": "작업원",
"worker_female": "작업원",
"workers": "작업원",
- "youngster": "반바지 꼬마"
+ "youngster": "반바지 꼬마",
+ "rocket_grunt": "로켓단 조무래기",
+ "rocket_grunt_female": "로켓단 조무래기",
+ "magma_grunt": "마그마단 조무래기",
+ "magma_grunt_female": "마그마단 조무래기",
+ "aqua_grunt": "아쿠아단 조무래기",
+ "aqua_grunt_female": "아쿠아단 조무래기",
+ "galactic_grunt": "갤럭시단 조무래기",
+ "galactic_grunt_female": "갤럭시단 조무래기",
+ "plasma_grunt": "플라스마단 조무래기",
+ "plasma_grunt_female": "플라스마단 조무래기",
+ "flare_grunt": "플레어단 조무래기",
+ "flare_grunt_female": "플레어단 조무래기",
} as const;
// Names of special trainers like gym leaders, elite four, and the champion
@@ -246,6 +265,11 @@ export const trainerNames: SimpleTranslationEntries = {
"leon": "단델",
"rival": "핀",
"rival_female": "아이비",
+ "maxie": "마적",
+ "archie": "아강",
+ "cyrus": "태홍",
+ "ghetsis": "게치스",
+ "lysandre": "플라드리",
// Double Names
"blue_red_double": "그린 & 레드",
diff --git a/src/locales/ko/tutorial.ts b/src/locales/ko/tutorial.ts
index 70702aa1698..834f1be6345 100644
--- a/src/locales/ko/tutorial.ts
+++ b/src/locales/ko/tutorial.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const tutorial: SimpleTranslationEntries = {
intro: `포켓로그에 오신 것을 환영합니다! 로그라이트 요소가 가미된 전투 중심의 포켓몬 팬게임입니다.
@@ -23,7 +23,8 @@ export const tutorial: SimpleTranslationEntries = {
statChange: `포켓몬은 교체하지 않으면 다음 전투에서도 능력치 변화가 유지됩니다.
$대신 트레이너 배틀이나 새로운 바이옴 입장 직전에 자동으로 들여보내지게 됩니다.
$C 또는 Shift를 꾹 눌러 현재 포켓몬의 능력치 변화를 볼 수도 있습니다.
- $V를 눌러 상대방이 사용했던 기술도 확인하여 전투를 유리하게 이끌어봅시다.`,
+ $V를 눌러 상대방이 사용했던 기술도 확인할 수 있습니다.
+ $단, 이번 배틀에서 상대 포켓몬이 이미 사용한 기술만 나타납니다.`,
selectItem: `전투가 끝날때마다 무작위 아이템 3개 중 하나를 선택하여 얻습니다.
$종류는 소모품, 포켓몬의 지닌 도구, 영구적 패시브 아이템에 이르기까지 다양합니다.
diff --git a/src/locales/ko/voucher.ts b/src/locales/ko/voucher.ts
index df9e6b31728..dd63977a218 100644
--- a/src/locales/ko/voucher.ts
+++ b/src/locales/ko/voucher.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const voucher: SimpleTranslationEntries = {
"vouchers": "바우처",
diff --git a/src/locales/ko/weather.ts b/src/locales/ko/weather.ts
index 70654d247b6..c89cc335859 100644
--- a/src/locales/ko/weather.ts
+++ b/src/locales/ko/weather.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
/**
* The weather namespace holds text displayed when weather is active during a battle
@@ -15,12 +15,12 @@ export const weather: SimpleTranslationEntries = {
"sandstormStartMessage": "모래바람이 불기 시작했다!",
"sandstormLapseMessage": "모래바람이 세차게 분다",
"sandstormClearMessage": "모래바람이 가라앉았다!",
- "sandstormDamageMessage": "모래바람이\n{{pokemonPrefix}}{{pokemonName}}[[를]] 덮쳤다!",
+ "sandstormDamageMessage": "모래바람이\n{{pokemonNameWithAffix}}[[를]] 덮쳤다!",
"hailStartMessage": "싸라기눈이 내리기 시작했다!",
"hailLapseMessage": "싸라기눈이 계속 내리고 있다",
"hailClearMessage": "싸라기눈이 그쳤다!",
- "hailDamageMessage": "싸라기눈이\n{{pokemonPrefix}}{{pokemonName}}[[를]] 덮쳤다!",
+ "hailDamageMessage": "싸라기눈이\n{{pokemonNameWithAffix}}[[를]] 덮쳤다!",
"snowStartMessage": "눈이 내리기 시작했다!",
"snowLapseMessage": "눈이 계속 내리고 있다",
@@ -41,5 +41,27 @@ export const weather: SimpleTranslationEntries = {
"strongWindsStartMessage": "수수께끼의 난기류가\n비행포켓몬을 지킨다!",
"strongWindsLapseMessage": "수수께끼의 난기류가 강렬하게 불고 있다",
+ "strongWindsEffectMessage": "수수께끼의 난기류가 공격을 약하게 만들었다!",
"strongWindsClearMessage": "수수께끼의 난기류가 멈췄다!" // 임의번역
};
+
+export const terrain: SimpleTranslationEntries = {
+ "misty": "미스트필드",
+ "mistyStartMessage": "발밑이 안개로 자욱해졌다!",
+ "mistyClearMessage": "발밑의 안개가 사라졌다!",
+ "mistyBlockMessage": "{{pokemonNameWithAffix}}[[를]]\n미스트필드가 지켜주고 있다!",
+
+ "electric": "일렉트릭필드",
+ "electricStartMessage": "발밑에 전기가 흐르기 시작했다!",
+ "electricClearMessage": "발밑의 전기가 사라졌다!",
+
+ "grassy": "그래스필드",
+ "grassyStartMessage": "발밑에 풀이 무성해졌다!",
+ "grassyClearMessage": "발밑의 풀이 사라졌다!",
+
+ "psychic": "사이코필드",
+ "psychicStartMessage": "발밑에서 이상한 느낌이 든다!",
+ "psychicClearMessage": "발밑의 이상한 느낌이 사라졌다!",
+
+ "defaultBlockMessage": "{{pokemonNameWithAffix}}[[를]]\n{{terrainName}}[[가]] 지켜주고 있다!"
+};
diff --git a/src/locales/pt_BR/ability-trigger.ts b/src/locales/pt_BR/ability-trigger.ts
index 8c57fb5b98c..11cbaed182d 100644
--- a/src/locales/pt_BR/ability-trigger.ts
+++ b/src/locales/pt_BR/ability-trigger.ts
@@ -1,7 +1,13 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const abilityTriggers: SimpleTranslationEntries = {
- "blockRecoilDamage" : "{{abilityName}} de {{pokemonName}}\nprotegeu-o do dano de recuo!",
+ "blockRecoilDamage": "{{abilityName}} de {{pokemonName}}\nprotegeu-o do dano reverso!",
"badDreams": "{{pokemonName}} está tendo pesadelos!",
- "windPowerCharged": "Ser atingido por {{moveName}} carregou {{pokemonName}} com poder!"
+ "costar": "{{pokemonName}} copiou as mudanças\nde atributo de {{allyName}}!",
+ "iceFaceAvoidedDamage": "{{pokemonName}} evitou\ndanos com sua {{abilityName}}!",
+ "perishBody": "{{abilityName}} de {{pokemonName}}\nirá desmaiar ambos os Pokémon em 3 turnos!",
+ "poisonHeal": "{{abilityName}} de {{pokemonName}}\nrestaurou seus PS um pouco!",
+ "trace": "{{pokemonName}} copiou {{abilityName}}\nde {{targetName}}!",
+ "windPowerCharged": "Ser atingido por {{moveName}} carregou {{pokemonName}} com poder!",
+ "quickDraw": "{{pokemonName}} pode agir mais rápido que o normal\ngraças ao seu Quick Draw!",
} as const;
diff --git a/src/locales/pt_BR/ability.ts b/src/locales/pt_BR/ability.ts
index 48e8790b227..2dd4550aabd 100644
--- a/src/locales/pt_BR/ability.ts
+++ b/src/locales/pt_BR/ability.ts
@@ -1,4 +1,4 @@
-import { AbilityTranslationEntries } from "#app/plugins/i18n.js";
+import { AbilityTranslationEntries } from "#app/interfaces/locales.js";
export const ability: AbilityTranslationEntries = {
stench: {
@@ -331,7 +331,7 @@ export const ability: AbilityTranslationEntries = {
},
angerPoint: {
name: "Anger Point",
- description: "Quando recebe um golpe crítico se enraivece, e com isso, aumenta seu Ataque.",
+ description: "Quando recebe um acerto crítico se enraivece, e com isso, aumenta seu Ataque.",
},
unburden: {
name: "Unburden",
diff --git a/src/locales/pt_BR/achv.ts b/src/locales/pt_BR/achv.ts
index 5aaccc465ac..ea77e0c17e9 100644
--- a/src/locales/pt_BR/achv.ts
+++ b/src/locales/pt_BR/achv.ts
@@ -1,6 +1,7 @@
-import { AchievementTranslationEntries } from "#app/plugins/i18n.js";
+import { AchievementTranslationEntries } from "#app/interfaces/locales.js";
-export const achv: AchievementTranslationEntries = {
+// Achievement translations for the when the player character is male
+export const PGMachv: AchievementTranslationEntries = {
"Achievements": {
name: "Conquistas",
},
@@ -168,4 +169,367 @@ export const achv: AchievementTranslationEntries = {
name: "Invencível",
description: "Vença o jogo no modo clássico",
},
+
+ "MONO_GEN_ONE": {
+
+ name: "O Início de Tudo",
+ description: "Complete o desafio da geração um.",
+ },
+ "MONO_GEN_TWO": {
+ name: "Geração 1.5",
+ description: "Complete o desafio da geração dois.",
+ },
+ "MONO_GEN_THREE": {
+ name: "Será que tem muita água?",
+ description: "Complete o desafio da geração três.",
+ },
+ "MONO_GEN_FOUR": {
+ name: "Essa foi a mais difícil?",
+ description: "Complete o desafio da geração quatro.",
+ },
+ "MONO_GEN_FIVE": {
+ name: "Nada original",
+ description: "Complete o desafio da geração cinco.",
+ },
+ "MONO_GEN_SIX": {
+ name: "Esse croissant tem recheio?",
+ description: "Complete o desafio da geração seis.",
+ },
+ "MONO_GEN_SEVEN": {
+ name: "Z-Move ou Se vira nos 30?",
+ description: "Complete o desafio da geração sete.",
+ },
+ "MONO_GEN_EIGHT": {
+ name: "Finalmente ele ganhou!",
+ description: "Complete o desafio da geração oito.",
+ },
+ "MONO_GEN_NINE": {
+ name: "Isso aqui tá muito fácil!",
+ description: "Complete o desafio da geração nove.",
+ },
+
+ "MonoType": {
+ description: "Complete o desafio de monotipo {{type}}.",
+ },
+ "MONO_NORMAL": {
+ name: "Extra Ordinário",
+ },
+ "MONO_FIGHTING": {
+ name: "Briga de Rua",
+ },
+ "MONO_FLYING": {
+ name: "Rinha de Pidgeys",
+ },
+ "MONO_POISON": {
+ name: "Menina Veneno",
+ },
+ "MONO_GROUND": {
+ name: "Comendo Poeira",
+ },
+ "MONO_ROCK": {
+ name: "Duro Como Pedra",
+ },
+ "MONO_BUG": {
+ name: "Vida de Inseto",
+ },
+ "MONO_GHOST": {
+ name: "Fantasminha Camarada",
+ },
+ "MONO_STEEL": {
+ name: "Levantando Ferro",
+ },
+ "MONO_FIRE": {
+ name: "Tá Pegando Fogo, Bicho!",
+ },
+ "MONO_WATER": {
+ name: "Água Mole em Pedra Dura...",
+ },
+ "MONO_GRASS": {
+ name: "Jardim Botânico",
+ },
+ "MONO_ELECTRIC": {
+ name: "Choque de Realidade",
+ },
+ "MONO_PSYCHIC": {
+ name: "Preciso de Terapia",
+ },
+ "MONO_ICE": {
+ name: "Era do Gelo",
+ },
+ "MONO_DRAGON": {
+ name: "Caverna do Dragão",
+ },
+ "MONO_DARK": {
+ name: "É Só Uma Fase",
+ },
+ "MONO_FAIRY": {
+ name: "Clube das Winx",
+ },
+} as const;
+
+// Achievement translations for the when the player character is female
+export const PGFachv: AchievementTranslationEntries = {
+ "Achievements": {
+ name: "Conquistas",
+ },
+ "Locked": {
+ name: "Não conquistado",
+ },
+
+ "MoneyAchv": {
+ description: "Acumule um total de ₽{{moneyAmount}}",
+ },
+ "10K_MONEY": {
+ name: "Chuva de Dinheiro",
+ },
+ "100K_MONEY": {
+ name: "Tô Rica!",
+ },
+ "1M_MONEY": {
+ name: "Quem Quer Ser Um Milionário?",
+ },
+ "10M_MONEY": {
+ name: "Tio Patinhas",
+ },
+
+ "DamageAchv": {
+ description: "Inflija {{damageAmount}} de dano em um único golpe",
+ },
+ "250_DMG": {
+ name: "Essa Doeu!",
+ },
+ "1000_DMG": {
+ name: "Essa Doeu Mais!",
+ },
+ "2500_DMG": {
+ name: "Essa Doeu Muito!",
+ },
+ "10000_DMG": {
+ name: "Essa Doeu Pra Caramba!",
+ },
+
+ "HealAchv": {
+ description: "Cure {{healAmount}} {{HP}} de uma vez só com um movimento, habilidade ou item segurado",
+ },
+ "250_HEAL": {
+ name: "Residente",
+ },
+ "1000_HEAL": {
+ name: "Enfermeira",
+ },
+ "2500_HEAL": {
+ name: "Médica",
+ },
+ "10000_HEAL": {
+ name: "Médica de Plantão",
+ },
+
+ "LevelAchv": {
+ description: "Aumente o nível de um Pokémon para o Nv{{level}}",
+ },
+ "LV_100": {
+ name: "Calma Que Tem Mais!",
+ },
+ "LV_250": {
+ name: "Treinadora de Elite",
+ },
+ "LV_1000": {
+ name: "Ao Infinito e Além!",
+ },
+
+ "RibbonAchv": {
+ description: "Acumule um total de {{ribbonAmount}} Fitas",
+ },
+ "10_RIBBONS": {
+ name: "Fita de Bronze",
+ },
+ "25_RIBBONS": {
+ name: "Fita de Prata",
+ },
+ "50_RIBBONS": {
+ name: "Fita de Ouro",
+ },
+ "75_RIBBONS": {
+ name: "Fita de Platina",
+ },
+ "100_RIBBONS": {
+ name: "Fita de Diamante",
+ },
+
+ "TRANSFER_MAX_BATTLE_STAT": {
+ name: "Trabalho em Equipe",
+ description: "Use Baton Pass com pelo menos um atributo aumentado ao máximo",
+ },
+ "MAX_FRIENDSHIP": {
+ name: "Melhores Amigos",
+ description: "Alcance a amizade máxima com um Pokémon",
+ },
+ "MEGA_EVOLVE": {
+ name: "Megamorfose",
+ description: "Megaevolua um Pokémon",
+ },
+ "GIGANTAMAX": {
+ name: "Ficou Gigante!",
+ description: "Gigantamax um Pokémon",
+ },
+ "TERASTALLIZE": {
+ name: "Terastalização",
+ description: "Terastalize um Pokémon",
+ },
+ "STELLAR_TERASTALLIZE": {
+ name: "Estrela Cadente",
+ description: "Terastalize um Pokémon para o tipo Estelar",
+ },
+ "SPLICE": {
+ name: "Fusão!",
+ description: "Funda dois Pokémon com um Splicer de DNA",
+ },
+ "MINI_BLACK_HOLE": {
+ name: "Buraco Sem Fundo",
+ description: "Adquira um Mini Buraco Negro",
+ },
+ "CATCH_MYTHICAL": {
+ name: "Mítico",
+ description: "Capture um Pokémon Mítico",
+ },
+ "CATCH_SUB_LEGENDARY": {
+ name: "Quase Lendário",
+ description: "Capture um Pokémon Semi-Lendário",
+ },
+ "CATCH_LEGENDARY": {
+ name: "Lendário",
+ description: "Capture um Pokémon Lendário",
+ },
+ "SEE_SHINY": {
+ name: "Ué, Tá Brilhando?",
+ description: "Encontre um Pokémon Shiny selvagem",
+ },
+ "SHINY_PARTY": {
+ name: "Tá Todo Mundo Brilhando!",
+ description: "Tenha uma equipe formada por 6 Pokémon Shiny",
+ },
+ "HATCH_MYTHICAL": {
+ name: "Ovo Mítico",
+ description: "Choque um Pokémon Mítico",
+ },
+ "HATCH_SUB_LEGENDARY": {
+ name: "Ovo Semi-Lendário",
+ description: "Choque um Pokémon Semi-Lendário",
+ },
+ "HATCH_LEGENDARY": {
+ name: "Ovo Lendário",
+ description: "Choque um Pokémon Lendário",
+ },
+ "HATCH_SHINY": {
+ name: "Ovo Shiny",
+ description: "Choque um Pokémon Shiny",
+ },
+ "HIDDEN_ABILITY": {
+ name: "Potencial Oculto",
+ description: "Capture um Pokémon com uma Habilidade Oculta",
+ },
+ "PERFECT_IVS": {
+ name: "Perfeição Certificada",
+ description: "Obtenha IVs perfeitos em um Pokémon",
+ },
+ "CLASSIC_VICTORY": {
+ name: "Invencível",
+ description: "Vença o jogo no modo clássico",
+ },
+
+ "MONO_GEN_ONE": {
+
+ name: "O Início de Tudo",
+ description: "Complete o desafio da geração um.",
+ },
+ "MONO_GEN_TWO": {
+ name: "Geração 1.5",
+ description: "Complete o desafio da geração dois.",
+ },
+ "MONO_GEN_THREE": {
+ name: "Será que tem muita água?",
+ description: "Complete o desafio da geração três.",
+ },
+ "MONO_GEN_FOUR": {
+ name: "Essa foi a mais difícil?",
+ description: "Complete o desafio da geração quatro.",
+ },
+ "MONO_GEN_FIVE": {
+ name: "Nada original",
+ description: "Complete o desafio da geração cinco.",
+ },
+ "MONO_GEN_SIX": {
+ name: "Esse croissant tem recheio?",
+ description: "Complete o desafio da geração seis.",
+ },
+ "MONO_GEN_SEVEN": {
+ name: "Z-Move ou Se vira nos 30?",
+ description: "Complete o desafio da geração sete.",
+ },
+ "MONO_GEN_EIGHT": {
+ name: "Finalmente ele ganhou!",
+ description: "Complete o desafio da geração oito.",
+ },
+ "MONO_GEN_NINE": {
+ name: "Isso aqui tá muito fácil!",
+ description: "Complete o desafio da geração nove.",
+ },
+
+ "MonoType": {
+ description: "Complete o desafio de monotipo {{type}}.",
+ },
+ "MONO_NORMAL": {
+ name: "Extra Ordinário",
+ },
+ "MONO_FIGHTING": {
+ name: "Briga de Rua",
+ },
+ "MONO_FLYING": {
+ name: "Rinha de Pidgeys",
+ },
+ "MONO_POISON": {
+ name: "Menina Veneno",
+ },
+ "MONO_GROUND": {
+ name: "Comendo Poeira",
+ },
+ "MONO_ROCK": {
+ name: "Duro Como Pedra",
+ },
+ "MONO_BUG": {
+ name: "Vida de Inseto",
+ },
+ "MONO_GHOST": {
+ name: "Fantasminha Camarada",
+ },
+ "MONO_STEEL": {
+ name: "Levantando Ferro",
+ },
+ "MONO_FIRE": {
+ name: "Tá Pegando Fogo, Bicho!",
+ },
+ "MONO_WATER": {
+ name: "Água Mole em Pedra Dura...",
+ },
+ "MONO_GRASS": {
+ name: "Jardim Botânico",
+ },
+ "MONO_ELECTRIC": {
+ name: "Choque de Realidade",
+ },
+ "MONO_PSYCHIC": {
+ name: "Preciso de Terapia",
+ },
+ "MONO_ICE": {
+ name: "Era do Gelo",
+ },
+ "MONO_DRAGON": {
+ name: "Caverna do Dragão",
+ },
+ "MONO_DARK": {
+ name: "É Só Uma Fase",
+ },
+ "MONO_FAIRY": {
+ name: "Clube das Winx",
+ },
} as const;
diff --git a/src/locales/pt_BR/battle-message-ui-handler.ts b/src/locales/pt_BR/battle-message-ui-handler.ts
index b0d5d17e496..a7b0fb1f13b 100644
--- a/src/locales/pt_BR/battle-message-ui-handler.ts
+++ b/src/locales/pt_BR/battle-message-ui-handler.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const battleMessageUiHandler: SimpleTranslationEntries = {
"ivBest": "Perfeito",
diff --git a/src/locales/pt_BR/battle.ts b/src/locales/pt_BR/battle.ts
index f6f471e838a..8c97d2be6de 100644
--- a/src/locales/pt_BR/battle.ts
+++ b/src/locales/pt_BR/battle.ts
@@ -1,11 +1,11 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const battle: SimpleTranslationEntries = {
"bossAppeared": "{{bossName}} apareceu.",
"trainerAppeared": "{{trainerName}}\nquer batalhar!",
"trainerAppearedDouble": "{{trainerName}}\nquerem batalhar!",
"singleWildAppeared": "Um {{pokemonName}} selvagem apareceu!",
- "trainerSendOut": "{{trainerName}} sent out\n{{pokemonName}}!",
+ "trainerSendOut": "{{trainerName}} escolheu\n{{pokemonName}}!",
"multiWildAppeared": "Um {{pokemonName1}} e um {{pokemonName2}} selvagens\napareceram!",
"playerComeBack": "{{pokemonName}}, retorne!",
"trainerComeBack": "{{trainerName}} retirou {{pokemonName}} da batalha!",
@@ -13,18 +13,22 @@ export const battle: SimpleTranslationEntries = {
"trainerGo": "{{trainerName}} escolheu {{pokemonName}}!",
"switchQuestion": "Quer trocar\nde {{pokemonName}}?",
"trainerDefeated": "Você derrotou\n{{trainerName}}!",
- "moneyWon": "You got\n₽{{moneyAmount}} for winning!",
+ "moneyWon": "Você ganhou\n₽{{moneyAmount}} por ganhar!",
+ "moneyPickedUp": "Você pegou ₽{{moneyAmount}} do chão!",
"pokemonCaught": "{{pokemonName}} foi capturado!",
- "partyFull": "Your party is full.\nRelease a Pokémon to make room for {{pokemonName}}?",
+ "addedAsAStarter": "{{pokemonName}} foi adicionado\naos seus iniciais!",
+ "partyFull": "Sua equipe está cheia.\nSolte um Pokémon para ter espaço para {{pokemonName}}?",
"pokemon": "Pokémon",
"sendOutPokemon": "{{pokemonName}}, eu escolho você!!",
- "hitResultCriticalHit": "Um golpe crítico!",
+ "hitResultCriticalHit": "Foi um acerto crítico!",
"hitResultSuperEffective": "É supereficaz!",
"hitResultNotVeryEffective": "É pouco eficaz...",
"hitResultNoEffect": "Isso não afeta {{pokemonName}}!",
"hitResultOneHitKO": "Foi um nocaute de um golpe!",
"attackFailed": "Mas falhou!",
+ "attackMissed": "{{pokemonNameWithAffix}} desviou do ataque!",
"attackHitsCount": "Acertou {{count}} vezes.",
+ "rewardGain": "Você recebeu\n{{modifierName}}!",
"expGain": "{{pokemonName}} ganhou\n{{exp}} pontos de experiência.",
"levelUp": "{{pokemonName}} subiu para \nNv. {{level}}!",
"learnMove": "{{pokemonName}} aprendeu {{moveName}}!",
@@ -53,9 +57,82 @@ export const battle: SimpleTranslationEntries = {
"escapeVerbSwitch": "trocar",
"escapeVerbFlee": "fugir",
"notDisabled": "O movimento {{moveName}}\nnão está mais desabilitado!",
+ "turnEndHpRestore": "Os PS de {{pokemonName}} foram restaurados!",
+ "hpIsFull": "Os PS de {{pokemonName}}\njá estão cheios!",
"skipItemQuestion": "Tem certeza de que não quer escolher um item?",
"eggHatching": "Opa?",
"ivScannerUseQuestion": "Quer usar o Scanner de IVs em {{pokemonName}}?",
+ "wildPokemonWithAffix": "{{pokemonName}} selvagem",
+ "foePokemonWithAffix": "{{pokemonName}} adversário",
+ "useMove": "{{pokemonNameWithAffix}} usou {{moveName}}!",
"drainMessage": "{{pokemonName}} teve sua\nenergia drenada!",
- "regainHealth": "{{pokemonName}} recuperou\npontos de saúde!"
+ "regainHealth": "{{pokemonName}} recuperou\npontos de saúde!",
+ "stealEatBerry": "{{pokemonName}} stole and ate\n{{targetName}}'s {{berryName}}!",
+ "fainted": "{{pokemonNameWithAffix}} desmaiou!",
+ "statRose": "{{stats}} de {{pokemonNameWithAffix}} aumentou!",
+ "statSharplyRose": "{{stats}} de {{pokemonNameWithAffix}} aumentou bruscamente!",
+ "statRoseDrastically": "{{stats}} de {{pokemonNameWithAffix}} aumentou drasticamente!",
+ "statWontGoAnyHigher": "{{stats}} de {{pokemonNameWithAffix}} não vai mais aumentar!",
+ "statFell": "{{stats}} de {{pokemonNameWithAffix}} diminuiu!",
+ "statHarshlyFell": "{{stats}} de {{pokemonNameWithAffix}} diminuiu duramente!",
+ "statSeverelyFell": "{{stats}} de {{pokemonNameWithAffix}} diminuiu severamente!",
+ "statWontGoAnyLower": "{{stats}} de {{pokemonNameWithAffix}} não vai mais diminuir!",
+ "ppReduced": "O PP do movimento {{moveName}} de\n{{targetName}} foi reduzido em {{reduction}}!",
+ "battlerTagsRechargingLapse": "{{pokemonNameWithAffix}} precisa\nrecarregar!",
+ "battlerTagsTrappedOnAdd": "{{pokemonNameWithAffix}} não pode\nmais escapar!",
+ "battlerTagsTrappedOnRemove": "{{pokemonNameWithAffix}} foi liberto\nde {{moveName}}!",
+ "battlerTagsFlinchedLapse": "{{pokemonNameWithAffix}} hesitou!",
+ "battlerTagsConfusedOnAdd": "{{pokemonNameWithAffix}} ficou\nconfuso!",
+ "battlerTagsConfusedOnRemove": "{{pokemonNameWithAffix}} saiu\nde sua confusão!",
+ "battlerTagsConfusedOnOverlap": "{{pokemonNameWithAffix}} já\nestá confuso!",
+ "battlerTagsConfusedLapse": "{{pokemonNameWithAffix}} está\nconfuso!",
+ "battlerTagsConfusedLapseHurtItself": "Se machucou em sua\nconfusão!",
+ "battlerTagsDestinyBondLapseIsBoss": "{{pokemonNameWithAffix}} não é afetado\npelos efeitos de Destiny Bond.",
+ "battlerTagsDestinyBondLapse": "{{pokemonNameWithAffix}} levou\n{{pokemonNameWithAffix2}} junto com ele!",
+ "battlerTagsInfatuatedOnAdd": "{{pokemonNameWithAffix}} se apaixonou\npor {{sourcePokemonName}}!",
+ "battlerTagsInfatuatedOnOverlap": "{{pokemonNameWithAffix}} já\nestá apaixonado!",
+ "battlerTagsInfatuatedLapse": "{{pokemonNameWithAffix}} está apaixonado\npor {{sourcePokemonName}}!",
+ "battlerTagsInfatuatedLapseImmobilize": "{{pokemonNameWithAffix}} está\nimobilizado pelo amor!",
+ "battlerTagsInfatuatedOnRemove": "{{pokemonNameWithAffix}} superou\nsua paixão.",
+ "battlerTagsSeededOnAdd": "{{pokemonNameWithAffix}} foi semeado!",
+ "battlerTagsSeededLapse": "A saúde de {{pokemonNameWithAffix}}\nfoi sugada pelo Leech Seed!",
+ "battlerTagsSeededLapseShed": "O Leech Seed de{{pokemonNameWithAffix}}\nsugou todo o gotejamento!",
+ "battlerTagsNightmareOnAdd": "{{pokemonNameWithAffix}} começou\na ter um Nightmare!",
+ "battlerTagsNightmareOnOverlap": "{{pokemonNameWithAffix}} já\nestá preso em um Nightmare!",
+ "battlerTagsNightmareLapse": "{{pokemonNameWithAffix}} está preso\nem um Nightmare!",
+ "battlerTagsEncoreOnAdd": "{{pokemonNameWithAffix}} ganhou\num Encore!",
+ "battlerTagsEncoreOnRemove": "O Encore de {{pokemonNameWithAffix}}\nacabou!",
+ "battlerTagsHelpingHandOnAdd": "{{pokemonNameWithAffix}} está pronto para\najudar {{pokemonName}}!",
+ "battlerTagsIngrainLapse": "{{pokemonNameWithAffix}} absorveu\nnutrientes com suas raízes!",
+ "battlerTagsIngrainOnTrap": "{{pokemonNameWithAffix}} plantou suas raízes!",
+ "battlerTagsAquaRingOnAdd": "{{pokemonNameWithAffix}} se cercou\ncom um véu de água!",
+ "battlerTagsAquaRingLapse": "{{moveName}} restaurou\nPS de {{pokemonName}}!",
+ "battlerTagsDrowsyOnAdd": "{{pokemonNameWithAffix}} ficou com sono!",
+ "battlerTagsDamagingTrapLapse": "{{pokemonNameWithAffix}} foi ferido\npelo {{moveName}}!",
+ "battlerTagsBindOnTrap": "{{pokemonNameWithAffix}} foi espremido\npelo {{moveName}} de {{sourcePokemonName}}!",
+ "battlerTagsWrapOnTrap": "{{pokemonNameWithAffix}} foi enrolado\npor {{sourcePokemonName}}!",
+ "battlerTagsVortexOnTrap": "{{pokemonNameWithAffix}} ficou preso\nno vórtice!",
+ "battlerTagsClampOnTrap": "{{sourcePokemonNameWithAffix}} prendeu\n{{pokemonName}}!",
+ "battlerTagsSandTombOnTrap": "{{pokemonNameWithAffix}} foi preso\npor {{moveName}}!",
+ "battlerTagsMagmaStormOnTrap": "{{pokemonNameWithAffix}} foi preso\npor um redemoinho de magma!",
+ "battlerTagsSnapTrapOnTrap": "{{pokemonNameWithAffix}} foi preso\npor uma armadilha!",
+ "battlerTagsThunderCageOnTrap": "{{sourcePokemonNameWithAffix}} prendeu\n{{pokemonNameWithAffix}}!",
+ "battlerTagsInfestationOnTrap": "{{pokemonNameWithAffix}} foi ferido por \numa infestação de {{sourcePokemonNameWithAffix}}!",
+ "battlerTagsProtectedOnAdd": "{{pokemonNameWithAffix}}\nse protegeu!",
+ "battlerTagsProtectedLapse": "{{pokemonNameWithAffix}}\nse protegeu!",
+ "battlerTagsEnduringOnAdd": "{{pokemonNameWithAffix}} está\npreparado!",
+ "battlerTagsEnduringLapse": "{{pokemonNameWithAffix}} suportou\no golpe!",
+ "battlerTagsSturdyLapse": "{{pokemonNameWithAffix}} suportou\no golpe!",
+ "battlerTagsPerishSongLapse": "O tempo restante de {{pokemonNameWithAffix}} diminuiu para {{turnCount}}.",
+ "battlerTagsTruantLapse": "{{pokemonNameWithAffix}} está\nviajando na maionese!",
+ "battlerTagsSlowStartOnAdd": "{{pokemonNameWithAffix}} não\nestá preparado!",
+ "battlerTagsSlowStartOnRemove": "{{pokemonNameWithAffix}} finalmente\nconseguiu se recompor!",
+ "battlerTagsHighestStatBoostOnAdd": "O atributo de {{statName}} de\n{{pokemonNameWithAffix}} aumentou!",
+ "battlerTagsHighestStatBoostOnRemove": "Os efeitos do {{abilityName}} de\n{{pokemonNameWithAffix}} acabaram!",
+ "battlerTagsCritBoostOnAdd": "{{pokemonNameWithAffix}} está ficando\nbombado!",
+ "battlerTagsCritBoostOnRemove": "{{pokemonNameWithAffix}} relaxou.",
+ "battlerTagsSaltCuredOnAdd": "{{pokemonNameWithAffix}} está sendo curado com sal!",
+ "battlerTagsSaltCuredLapse": "{{pokemonNameWithAffix}} foi ferido pelo {{moveName}}!",
+ "battlerTagsCursedOnAdd": "{{pokemonNameWithAffix}} cortou seus PS pela metade e amaldiçoou {{pokemonName}}!",
+ "battlerTagsCursedLapse": "{{pokemonNameWithAffix}} foi ferido pelo Curse!"
} as const;
diff --git a/src/locales/pt_BR/berry.ts b/src/locales/pt_BR/berry.ts
index e36d0b0f180..d409565168f 100644
--- a/src/locales/pt_BR/berry.ts
+++ b/src/locales/pt_BR/berry.ts
@@ -1,4 +1,4 @@
-import { BerryTranslationEntries } from "#app/plugins/i18n";
+import { BerryTranslationEntries } from "#app/interfaces/locales";
export const berry: BerryTranslationEntries = {
"SITRUS": {
diff --git a/src/locales/pt_BR/bgm-name.ts b/src/locales/pt_BR/bgm-name.ts
new file mode 100644
index 00000000000..87d90dabc9d
--- /dev/null
+++ b/src/locales/pt_BR/bgm-name.ts
@@ -0,0 +1,145 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const bgmName: SimpleTranslationEntries = {
+ "music": "Music: ",
+ "missing_entries" : "{{name}}",
+ "battle_kanto_champion": "B2W2 Kanto Champion Battle",
+ "battle_johto_champion": "B2W2 Johto Champion Battle",
+ "battle_hoenn_champion": "B2W2 Hoenn Champion Battle",
+ "battle_sinnoh_champion": "B2W2 Sinnoh Champion Battle",
+ "battle_champion_alder": "BW Unova Champion Battle",
+ "battle_champion_iris": "B2W2 Unova Champion Battle",
+ "battle_kalos_champion": "XY Kalos Champion Battle",
+ "battle_alola_champion": "USUM Alola Champion Battle",
+ "battle_galar_champion": "SWSH Galar Champion Battle",
+ "battle_champion_geeta": "SV Champion Geeta Battle",
+ "battle_champion_nemona": "SV Champion Nemona Battle",
+ "battle_champion_kieran": "SV Champion Kieran Battle",
+ "battle_hoenn_elite": "ORAS Elite Four Battle",
+ "battle_unova_elite": "BW Elite Four Battle",
+ "battle_kalos_elite": "XY Elite Four Battle",
+ "battle_alola_elite": "SM Elite Four Battle",
+ "battle_galar_elite": "SWSH League Tournament Battle",
+ "battle_paldea_elite": "SV Elite Four Battle",
+ "battle_bb_elite": "SV BB League Elite Four Battle",
+ "battle_final_encounter": "PMD RTDX Rayquaza's Domain",
+ "battle_final": "BW Ghetsis Battle",
+ "battle_kanto_gym": "B2W2 Kanto Gym Battle",
+ "battle_johto_gym": "B2W2 Johto Gym Battle",
+ "battle_hoenn_gym": "B2W2 Hoenn Gym Battle",
+ "battle_sinnoh_gym": "B2W2 Sinnoh Gym Battle",
+ "battle_unova_gym": "BW Unova Gym Battle",
+ "battle_kalos_gym": "XY Kalos Gym Battle",
+ "battle_galar_gym": "SWSH Galar Gym Battle",
+ "battle_paldea_gym": "SV Paldea Gym Battle",
+ "battle_legendary_kanto": "XY Kanto Legendary Battle",
+ "battle_legendary_raikou": "HGSS Raikou Battle",
+ "battle_legendary_entei": "HGSS Entei Battle",
+ "battle_legendary_suicune": "HGSS Suicune Battle",
+ "battle_legendary_lugia": "HGSS Lugia Battle",
+ "battle_legendary_ho_oh": "HGSS Ho-oh Battle",
+ "battle_legendary_regis_g5": "B2W2 Legendary Titan Battle",
+ "battle_legendary_regis_g6": "ORAS Legendary Titan Battle",
+ "battle_legendary_gro_kyo": "ORAS Groudon & Kyogre Battle",
+ "battle_legendary_rayquaza": "ORAS Rayquaza Battle",
+ "battle_legendary_deoxys": "ORAS Deoxys Battle",
+ "battle_legendary_lake_trio": "ORAS Lake Guardians Battle",
+ "battle_legendary_sinnoh": "ORAS Sinnoh Legendary Battle",
+ "battle_legendary_dia_pal": "ORAS Dialga & Palkia Battle",
+ "battle_legendary_giratina": "ORAS Giratina Battle",
+ "battle_legendary_arceus": "HGSS Arceus Battle",
+ "battle_legendary_unova": "BW Unova Legendary Battle",
+ "battle_legendary_kyurem": "BW Kyurem Battle",
+ "battle_legendary_res_zek": "BW Reshiram & Zekrom Battle",
+ "battle_legendary_xern_yvel": "XY Xerneas & Yveltal Battle",
+ "battle_legendary_tapu": "SM Tapu Battle",
+ "battle_legendary_sol_lun": "SM Solgaleo & Lunala Battle",
+ "battle_legendary_ub": "SM Ultra Beast Battle",
+ "battle_legendary_dusk_dawn": "USUM Dusk Mane & Dawn Wings Necrozma Battle",
+ "battle_legendary_ultra_nec": "USUM Ultra Necrozma Battle",
+ "battle_legendary_zac_zam": "SWSH Zacian & Zamazenta Battle",
+ "battle_legendary_glas_spec": "SWSH Glastrier & Spectrier Battle",
+ "battle_legendary_calyrex": "SWSH Calyrex Battle",
+ "battle_legendary_birds_galar": "SWSH Galarian Legendary Birds Battle",
+ "battle_legendary_ruinous": "SV Treasures of Ruin Battle",
+ "battle_legendary_kor_mir": "SV Depths of Area Zero Battle",
+ "battle_legendary_loyal_three": "SV Loyal Three Battle",
+ "battle_legendary_ogerpon": "SV Ogerpon Battle",
+ "battle_legendary_terapagos": "SV Terapagos Battle",
+ "battle_legendary_pecharunt": "SV Pecharunt Battle",
+ "battle_rival": "BW Rival Battle",
+ "battle_rival_2": "BW N Battle",
+ "battle_rival_3": "BW Final N Battle",
+ "battle_trainer": "BW Trainer Battle",
+ "battle_wild": "BW Wild Battle",
+ "battle_wild_strong": "BW Strong Wild Battle",
+ "end_summit": "PMD RTDX Sky Tower Summit",
+ "battle_rocket_grunt": "HGSS Team Rocket Battle",
+ "battle_aqua_magma_grunt": "ORAS Team Aqua & Magma Battle",
+ "battle_galactic_grunt": "BDSP Team Galactic Battle",
+ "battle_plasma_grunt": "BW Team Plasma Battle",
+ "battle_flare_grunt": "XY Team Flare Battle",
+ "battle_rocket_boss": "USUM Giovanni Battle",
+ "battle_aqua_magma_boss": "ORAS Archie & Maxie Battle",
+ "battle_galactic_boss": "BDSP Cyrus Battle",
+ "battle_plasma_boss": "B2W2 Ghetsis Battle",
+ "battle_flare_boss": "XY Lysandre Battle",
+
+ // Biome Music
+ "abyss": "PMD EoS Dark Crater",
+ "badlands": "PMD EoS Barren Valley",
+ "beach": "PMD EoS Drenched Bluff",
+ "cave": "PMD EoS Sky Peak Cave",
+ "construction_site": "PMD EoS Boulder Quarry",
+ "desert": "PMD EoS Northern Desert",
+ "dojo": "PMD EoS Marowak Dojo",
+ "end": "PMD RTDX Sky Tower",
+ "factory": "PMD EoS Concealed Ruins",
+ "fairy_cave": "PMD EoS Star Cave",
+ "forest": "PMD EoS Dusk Forest",
+ "grass": "PMD EoS Apple Woods",
+ "graveyard": "PMD EoS Mystifying Forest",
+ "ice_cave": "PMD EoS Vast Ice Mountain",
+ "island": "PMD EoS Craggy Coast",
+ "jungle": "Lmz - Jungle", // The composer thinks about a more creative name
+ "laboratory": "Firel - Laboratory", // The composer thinks about a more creative name
+ "lake": "PMD EoS Crystal Cave",
+ "meadow": "PMD EoS Sky Peak Forest",
+ "metropolis": "Firel - Metropolis", // The composer thinks about a more creative name
+ "mountain": "PMD EoS Mt. Horn",
+ "plains": "PMD EoS Sky Peak Prairie",
+ "power_plant": "PMD EoS Far Amp Plains",
+ "ruins": "PMD EoS Deep Sealed Ruin",
+ "sea": "PMD EoS Brine Cave",
+ "seabed": "Firel - Seabed", // The composer thinks about a more creative name
+ "slum": "PMD EoS Sky Peak Coast",
+ "snowy_forest": "PMD EoS Sky Peak Snowfield",
+ "space": "Firel - Aether",
+ "swamp": "PMD EoS Surrounded Sea",
+ "tall_grass": "PMD EoS Foggy Forest",
+ "temple": "PMD EoS Aegis Cave",
+ "town": "PMD EoS Random Dungeon Theme 3",
+ "volcano": "PMD EoS Steam Cave",
+ "wasteland": "PMD EoS Hidden Highland",
+
+ // Encounter
+ "encounter_ace_trainer": "BW Trainers' Eyes Meet (Ace Trainer)",
+ "encounter_backpacker": "BW Trainers' Eyes Meet (Backpacker)",
+ "encounter_clerk": "BW Trainers' Eyes Meet (Clerk)",
+ "encounter_cyclist": "BW Trainers' Eyes Meet (Cyclist)",
+ "encounter_lass": "BW Trainers' Eyes Meet (Lass)",
+ "encounter_parasol_lady": "BW Trainers' Eyes Meet (Parasol Lady)",
+ "encounter_pokefan": "BW Trainers' Eyes Meet (Poke Fan)",
+ "encounter_psychic": "BW Trainers' Eyes Meet (Psychic)",
+ "encounter_rich": "BW Trainers' Eyes Meet (Gentleman)",
+ "encounter_rival": "BW Cheren",
+ "encounter_roughneck": "BW Trainers' Eyes Meet (Roughneck)",
+ "encounter_scientist": "BW Trainers' Eyes Meet (Scientist)",
+ "encounter_twins": "BW Trainers' Eyes Meet (Twins)",
+ "encounter_youngster": "BW Trainers' Eyes Meet (Youngster)",
+
+ // Other
+ "heal": "BW Pokémon Heal",
+ "menu": "PMD EoS Welcome to the World of Pokémon!",
+ "title": "PMD EoS Top Menu Theme",
+} as const;
diff --git a/src/locales/pt_BR/biome.ts b/src/locales/pt_BR/biome.ts
index 6ba9c7e47f1..0217836ed20 100644
--- a/src/locales/pt_BR/biome.ts
+++ b/src/locales/pt_BR/biome.ts
@@ -1,7 +1,7 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const biome: SimpleTranslationEntries = {
- "unknownLocation": "Em algum lugar do qual você não se lembra",
+ "unknownLocation": "em algum lugar do qual você não se lembra",
"TOWN": "Cidade",
"PLAINS": "Planície",
"GRASS": "Grama",
diff --git a/src/locales/pt_BR/challenges.ts b/src/locales/pt_BR/challenges.ts
new file mode 100644
index 00000000000..7c991189bc8
--- /dev/null
+++ b/src/locales/pt_BR/challenges.ts
@@ -0,0 +1,25 @@
+import { TranslationEntries } from "#app/interfaces/locales";
+
+export const challenges: TranslationEntries = {
+ "title": "Desafios",
+ "illegalEvolution": "{{pokemon}} não pode ser escolhido\nnesse desafio!",
+ "singleGeneration": {
+ "name": "Geração Única",
+ "desc": "Você só pode user Pokémon da {{gen}} geração.",
+ "desc_default": "Você só pode user Pokémon de uma única geração.",
+ "gen_1": "primeira",
+ "gen_2": "segunda",
+ "gen_3": "terceira",
+ "gen_4": "quarta",
+ "gen_5": "quinta",
+ "gen_6": "sexta",
+ "gen_7": "sétima",
+ "gen_8": "oitava",
+ "gen_9": "nona",
+ },
+ "singleType": {
+ "name": "Monotipo",
+ "desc": "Você só pode user Pokémon do tipo {{type}}.",
+ "desc_default": "Você só pode user Pokémon de um único tipo."
+ },
+} as const;
diff --git a/src/locales/pt_BR/command-ui-handler.ts b/src/locales/pt_BR/command-ui-handler.ts
index 2ad14e4ae94..cd8f7c4a378 100644
--- a/src/locales/pt_BR/command-ui-handler.ts
+++ b/src/locales/pt_BR/command-ui-handler.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const commandUiHandler: SimpleTranslationEntries = {
"fight": "Lutar",
diff --git a/src/locales/pt_BR/common.ts b/src/locales/pt_BR/common.ts
new file mode 100644
index 00000000000..7161f5c9966
--- /dev/null
+++ b/src/locales/pt_BR/common.ts
@@ -0,0 +1,10 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const common: SimpleTranslationEntries = {
+ "start": "Iniciar",
+ "luckIndicator": "Sorte:",
+ "shinyOnHover": "Shiny",
+ "commonShiny": "Comum",
+ "rareShiny": "Raro",
+ "epicShiny": "Épico",
+} as const;
diff --git a/src/locales/pt_BR/config.ts b/src/locales/pt_BR/config.ts
index 1aadb5b20b1..c02da112770 100644
--- a/src/locales/pt_BR/config.ts
+++ b/src/locales/pt_BR/config.ts
@@ -1,10 +1,12 @@
import { ability } from "./ability";
import { abilityTriggers } from "./ability-trigger";
-import { achv } from "./achv";
+import { PGFachv, PGMachv } from "./achv";
import { battle } from "./battle";
import { battleMessageUiHandler } from "./battle-message-ui-handler";
import { berry } from "./berry";
+import { bgmName } from "./bgm-name";
import { biome } from "./biome";
+import { challenges } from "./challenges";
import { commandUiHandler } from "./command-ui-handler";
import {
PGFbattleSpecDialogue,
@@ -18,10 +20,12 @@ import {
} from "./dialogue";
import { egg } from "./egg";
import { fightUiHandler } from "./fight-ui-handler";
+import { gameMode } from "./game-mode";
import { gameStatsUiHandler } from "./game-stats-ui-handler";
import { growth } from "./growth";
import { menu } from "./menu";
import { menuUiHandler } from "./menu-ui-handler";
+import { modifier } from "./modifier";
import { modifierType } from "./modifier-type";
import { move } from "./move";
import { nature } from "./nature";
@@ -29,22 +33,32 @@ import { pokeball } from "./pokeball";
import { pokemon } from "./pokemon";
import { pokemonInfo } from "./pokemon-info";
import { pokemonInfoContainer } from "./pokemon-info-container";
+import { saveSlotSelectUiHandler } from "./save-slot-select-ui-handler";
import { splashMessages } from "./splash-messages";
import { starterSelectUiHandler } from "./starter-select-ui-handler";
+import { statusEffect } from "./status-effect";
import { titles, trainerClasses, trainerNames } from "./trainers";
import { tutorial } from "./tutorial";
import { voucher } from "./voucher";
-import { weather } from "./weather";
+import { terrain, weather } from "./weather";
+import { partyUiHandler } from "./party-ui-handler";
+import { settings } from "./settings.js";
+import { common } from "./common.js";
+import { modifierSelectUiHandler } from "./modifier-select-ui-handler";
export const ptBrConfig = {
ability: ability,
abilityTriggers: abilityTriggers,
- achv: achv,
battle: battle,
battleMessageUiHandler: battleMessageUiHandler,
berry: berry,
+ bgmName: bgmName,
biome: biome,
+ challenges: challenges,
commandUiHandler: commandUiHandler,
+ common: common,
+ PGMachv: PGMachv,
+ PGFachv: PGFachv,
PGMdialogue: PGMdialogue,
PGFdialogue: PGFdialogue,
PGMbattleSpecDialogue: PGMbattleSpecDialogue,
@@ -55,10 +69,12 @@ export const ptBrConfig = {
PGFdoubleBattleDialogue: PGFdoubleBattleDialogue,
egg: egg,
fightUiHandler: fightUiHandler,
+ gameMode: gameMode,
gameStatsUiHandler: gameStatsUiHandler,
growth: growth,
menu: menu,
menuUiHandler: menuUiHandler,
+ modifier: modifier,
modifierType: modifierType,
move: move,
nature: nature,
@@ -66,6 +82,10 @@ export const ptBrConfig = {
pokemon: pokemon,
pokemonInfo: pokemonInfo,
pokemonInfoContainer: pokemonInfoContainer,
+ saveSlotSelectUiHandler: saveSlotSelectUiHandler,
+ statusEffect: statusEffect,
+ terrain: terrain,
+ settings: settings,
splashMessages: splashMessages,
starterSelectUiHandler: starterSelectUiHandler,
titles: titles,
@@ -73,5 +93,7 @@ export const ptBrConfig = {
trainerNames: trainerNames,
tutorial: tutorial,
voucher: voucher,
- weather: weather
+ weather: weather,
+ partyUiHandler: partyUiHandler,
+ modifierSelectUiHandler: modifierSelectUiHandler
};
diff --git a/src/locales/pt_BR/dialogue.ts b/src/locales/pt_BR/dialogue.ts
index cf5ff6ccf4f..3325cf81cf9 100644
--- a/src/locales/pt_BR/dialogue.ts
+++ b/src/locales/pt_BR/dialogue.ts
@@ -1,4 +1,4 @@
-import { DialogueTranslationEntries, SimpleTranslationEntries } from "#app/plugins/i18n";
+import { DialogueTranslationEntries, SimpleTranslationEntries } from "#app/interfaces/locales";
// Diálogo dos NPCs no jogo quando o personagem do jogador é masculino (ou não definido)
export const PGMdialogue: DialogueTranslationEntries = {
@@ -23,9 +23,9 @@ export const PGMdialogue: DialogueTranslationEntries = {
2: "Eu não tive chance, né?",
3: "Vou te encontrar de novo quando for mais velho e te vencer!",
4: "Ugh. Não tenho mais Pokémon.",
- 5: "Não acredito… NÃO ACREDITO! Como posso perder de novo…",
+ 5: "Não acredito… NÃO ACREDITO! Como pude perder de novo…",
6: "Não! Eu perdi!",
- 7: "Whoa! Você é incrível! Estou surpreso!",
+ 7: "Uau! Você é incrível! Estou surpreso!",
8: "Pode ser… Como… Eu e meus Pokémon somos os mais fortes, porém…",
9: "Não vou perder da próxima vez! Vamos batalhar de novo algum dia!",
10: "Aff! Não vê que sou apenas uma criança? Não foi justo você ir com tudo!",
@@ -36,7 +36,7 @@ export const PGMdialogue: DialogueTranslationEntries = {
},
"lass": {
"encounter": {
- 1: "Vamos ter uma batalha, pode ser?",
+ 1: "Vamos batalhar, pode ser?",
2: "Você parece um treinador novo. Vamos batalhar!",
3: "Não te reconheço. Que tal uma batalha?",
4: "Vamos ter uma batalha Pokémon divertida!",
@@ -44,7 +44,7 @@ export const PGMdialogue: DialogueTranslationEntries = {
6: "Uma batalha séria começa com um começo sério! Tem certeza que está pronto?",
7: "Você só é jovem uma vez. E só tem uma chance em cada batalha. Logo, você será apenas uma memória.",
8: "Vai com calma comigo, tá? Mas vou lutar sério!",
- 9: "A escola é chata. Não tenho nada para fazer. Yawn. Só estou batalhando para passar o tempo."
+ 9: "A escola é chata. Não tenho nada para fazer. Só estou batalhando para passar o tempo."
},
"victory": {
1: "Isso foi impressionante! Tenho muito a aprender.",
@@ -61,7 +61,7 @@ export const PGMdialogue: DialogueTranslationEntries = {
"breeder": {
"encounter": {
1: "Pokémon obedientes, Pokémon egoístas… Pokémon têm características únicas.",
- 2: "Embora minha criação e comportamento sejam pobres, criei meus Pokémon bem.",
+ 2: "Embora minha criação e comportamento sejam ruins, criei meus Pokémon bem.",
3: "Hmm, você disciplina seus Pokémon? Mimar demais não é bom."
},
"victory": {
@@ -94,14 +94,14 @@ export const PGMdialogue: DialogueTranslationEntries = {
},
"fisherman": {
"encounter": {
- 1: "Aack! Você me fez perder uma fisgada!\nO que vai fazer sobre isso?",
- 2: "Saia daqui! Você está assustando os Pokémon!",
+ 1: "Anem! Você me fez perder uma fisgada!\nO que vai fazer sobre isso?",
+ 2: "Sai daqui! Você está assustando os Pokémon!",
3: "Vamos ver se você consegue fisgar uma vitória!",
},
"victory": {
1: "Esqueça isso.",
2: "Da próxima vez, eu vou pescar a vitória!",
- 3: "Acho que subestimei as correntes dessa vez.",
+ 3: "Acho que subestimei a força das correntes dessa vez.",
},
},
"fisherman_female": {
@@ -146,14 +146,14 @@ export const PGMdialogue: DialogueTranslationEntries = {
"encounter": {
1: "Você parece bastante confiante.",
2: "Seus Pokémon… Mostre-os para mim…",
- 3: "Como sou um Treinador Ace, as pessoas acham que sou forte.",
- 4: "Você sabe o que é preciso para ser um Treinador Ace?"
+ 3: "Como sou um Treinador Ás, as pessoas acham que sou forte.",
+ 4: "Você sabe o que é preciso para ser um Treinador Ás?"
},
"victory": {
1: "Sim… Você tem bons Pokémon…",
2: "O quê?! Mas sou um gênio das batalhas!",
3: "Claro, você é o personagem principal!",
- 4: "OK! OK! Você poderia ser um Treinador Ace!"
+ 4: "OK! OK! Você poderia ser um Treinador Ás!"
},
"defeat": {
1: "Estou dedicando corpo e alma às batalhas de Pokémon!",
@@ -194,7 +194,7 @@ export const PGMdialogue: DialogueTranslationEntries = {
3: "Pé no pedal, vamos ver se você consegue acompanhar!"
},
"victory": {
- 1: "Os raios podem estar parados, mas a determinação continua a pedalar.",
+ 1: "As rodas podem estar paradas, mas a determinação continua a pedalar.",
2: "Fui mais rápido!",
3: "O caminho para a vitória tem muitas curvas e voltas para explorar."
},
@@ -251,11 +251,11 @@ export const PGMdialogue: DialogueTranslationEntries = {
},
"school_kid": {
"encounter": {
- 1: "…Heehee. Estou confiante nos meus cálculos e análises.",
+ 1: "Heehee. Estou confiante nos meus cálculos e análises.",
2: "Estou ganhando o máximo de experiência que posso porque quero ser um Líder de Ginásio um dia."
},
"victory": {
- 1: "Ohhhh… Cálculo e análise talvez não sejam páreo para o acaso…",
+ 1: "Aff… Cálculo e análise talvez não sejam páreo para o acaso…",
2: "Até experiências difíceis e desafiadoras têm seu propósito, eu acho."
}
},
@@ -322,7 +322,7 @@ export const PGMdialogue: DialogueTranslationEntries = {
1: "Oi! Concentre-se!",
},
"victory": {
- 1: "Eeeeek!",
+ 1: "Perdi minha concentração!",
},
},
"officer": {
@@ -371,6 +371,198 @@ export const PGMdialogue: DialogueTranslationEntries = {
3: "Ai! Queimei minha língua!"
},
},
+ "sailor": {
+ "encounter": {
+ 1: "Mano, você vai andar na prancha se perder!",
+ 2: "Vem com tudo! Sou um marinheiro com orgulho!",
+ 3: "Ahoy marujo! Tá enjoado, é?!"
+ },
+ "victory": {
+ 1: "Argh! Perdi pra uma criança!",
+ 2: "Sua vontade de ganhar me afogou!",
+ 3: "Estou achando que quem tá enjoado sou eu..."
+ },
+ },
+ "rocket_grunt": {
+ "encounter": {
+ 1: "Se prepara pra encrenca!"
+ },
+ "victory": {
+ 1: "Equipe Rocket decolando de novo!"
+ },
+ },
+ "magma_grunt": {
+ "encounter": {
+ 1: "Se você se meter com a Equipe Magma, não teremos piedade!"
+ },
+ "victory": {
+ 1: "Ahn? Eu perdi?!"
+ },
+ },
+ "aqua_grunt": {
+ "encounter": {
+ 1: "Não pegamos leve com quem se mete com a Equipe Aqua, nem mesmo crianças!"
+ },
+ "victory": {
+ 1: "Tá de brincadeira!"
+ },
+ },
+ "galactic_grunt": {
+ "encounter": {
+ 1: "Não mexe com a Equipe Galáctica!"
+ },
+ "victory": {
+ 1: "Fui amassado..."
+ },
+ },
+ "plasma_grunt": {
+ "encounter": {
+ 1: "Não toleramos pessoas que pensam diferente de nós!"
+ },
+ "victory": {
+ 1: "Plasmaaaaaaaaa!"
+ },
+ },
+ "flare_grunt": {
+ "encounter": {
+ 1: "A moda é a coisa mais importante pra gente!"
+ },
+ "victory": {
+ 1: "O futuro não parece brilhante pra mim."
+ },
+ },
+ "rocket_boss_giovanni_1": {
+ "encounter": {
+ 1: "Tenho que admitir, estou impressionado que tenha chegado até aqui!"
+ },
+ "victory": {
+ 1: "QUÊ! Isso não é possível!"
+ },
+ "defeat": {
+ 1: "Guarde minhas palavras.\nNão ser capaz de medir sua própria força mostra que você ainda é uma criança."
+ }
+ },
+ "rocket_boss_giovanni_2": {
+ "encounter": {
+ 1: "Meus antigos associados precisam de mim... Você vai ficar no meu caminho?"
+ },
+ "victory": {
+ 1: "Como isso é possível...?\nO precioso sonho da Equipe Rocket se tornou pouco mais que uma ilusão..."
+ },
+ "defeat": {
+ 1: "A Equipe Rocket renascerá, e eu dominarei o mundo!"
+ }
+ },
+ "magma_boss_maxie_1": {
+ "encounter": {
+ 1: "Eu vou te enterrar com minhas próprias mãos.\nEspero que você aprecie essa honra!"
+ },
+ "victory": {
+ 1: "Ugh! Você é... bastante capaz...\nEu fiquei para trás, mas apenas por um triz..."
+ },
+ "defeat": {
+ 1: "A Equipe Magma vai prevalecer!"
+ }
+ },
+ "magma_boss_maxie_2": {
+ "encounter": {
+ 1: "Você é o último obstáculo entre mim e meus objetivos.\nPrepare-se para meu ataque final! Fuhahaha!"
+ },
+ "victory": {
+ 1: "Isso... Isso não é... Ngh..."
+ },
+ "defeat": {
+ 1: "E agora... Eu transformarei este planeta em uma terra ideal para a humanidade."
+ }
+ },
+ "aqua_boss_archie_1": {
+ "encounter": {
+ 1: "Eu sou o líder da Equipe Aqua, então temo que esse seja o fim da linha para você."
+ },
+ "victory": {
+ 1: "Vamos nos encontrar de novo em algum lugar. Eu vou ter certeza de lembrar desse rosto."
+ },
+ "defeat": {
+ 1: "Brilhante! Nada vai parar minha equipe agora!"
+ }
+ },
+ "aqua_boss_archie_2": {
+ "encounter": {
+ 1: "Estive esperando tanto tempo por este dia.\nEste é o verdadeiro poder da minha equipe!"
+ },
+ "victory": {
+ 1: "Como eu suspeitava..."
+ },
+ "defeat": {
+ 1: "Eu vou voltar tudo neste mundo ao seu estado puro e original!!"
+ }
+ },
+ "galactic_boss_cyrus_1": {
+ "encounter": {
+ 1: "Você foi compelido a vir aqui por tal sentimentalismo vazio\nEu farei você se arrepender de ter ouvido seu coração!"
+ },
+ "victory": {
+ 1: "Interessante. E bastante curioso."
+ },
+ "defeat": {
+ 1: "Eu criarei meu novo mundo..."
+ }
+ },
+ "galactic_boss_cyrus_2": {
+ "encounter": {
+ 1: "Nos encontramos novamente. Parece que nossos destinos estão entrelaçados.\nMas aqui e agora, eu finalmente quebrarei esse vínculo!"
+ },
+ "victory": {
+ 1: "Como? Como? COMO?!"
+ },
+ "defeat": {
+ 1: "Até logo."
+ }
+ },
+ "plasma_boss_ghetsis_1": {
+ "encounter": {
+ 1: "Ninguém pode me deter! Não importa quem seja ou o que faça!"
+ },
+ "victory": {
+ 1: "Como isso é possível? Eu sou o criador da Equipe Plasma! Eu sou perfeito!"
+ },
+ "defeat": {
+ 1: "Eu sou o governante perfeito de um novo mundo perfeito! Mwa ha ha!"
+ }
+ },
+ "plasma_boss_ghetsis_2": {
+ "encounter": {
+ 1: "Vamos! Eu quero ver sua cara depois que você perder toda a esperança!"
+ },
+ "victory": {
+ 1: "Meus cálculos... Não! Meus planos cuidadosos! O mundo deveria ser meu!"
+ },
+ "defeat": {
+ 1: "Kyurem! Use Absofusion!"
+ }
+ },
+ "flare_boss_lysandre_1": {
+ "encounter": {
+ 1: "Você está aqui para me deter? Mostre-me em batalha."
+ },
+ "victory": {
+ 1: "Você está aqui para me deter. Mas eu peço que você espere."
+ },
+ "defeat": {
+ 1: "Pokémon... não devem mais existir."
+ }
+ },
+ "flare_boss_lysandre_2": {
+ "encounter": {
+ 1: "O futuro que você quer, ou o futuro que eu quero... Vamos ver qual é o mais merecedor, não é mesmo?"
+ },
+ "victory": {
+ 1: "Uau!"
+ },
+ "defeat": {
+ 1: "Tolos sem visão continuarão a poluir este belo mundo."
+ }
+ },
"brock": {
"encounter": {
1: "Minha especialidade em Pokémon do tipo Pedra vai te derrubar! Vamos lá!",
@@ -396,7 +588,7 @@ export const PGMdialogue: DialogueTranslationEntries = {
},
"victory": {
1: "Você realmente é forte… Vou admitir que você é habilidoso…",
- 2: "Grrr… Você sabe que só teve sorte, certo?!",
+ 2: "Hmm… Você sabe que só teve sorte, certo?!",
3: "Uau, você é demais! Não acredito que me venceu!"
},
"defeat": {
@@ -413,7 +605,7 @@ export const PGMdialogue: DialogueTranslationEntries = {
},
"victory": {
1: "Whoa! Seu time é de verdade, garoto!",
- 2: "Aaargh, você é forte! Até meus truques elétricos perderam para você.",
+ 2: "Uau, você é forte! Até meus truques elétricos perderam para você.",
3: "Isso foi uma derrota absolutamente chocante!"
},
"defeat": {
@@ -454,7 +646,7 @@ export const PGMdialogue: DialogueTranslationEntries = {
3: "Vou me aplicar de verdade e melhorar minhas habilidades."
},
"defeat": {
- 1: "Fufufu… o veneno drenou todas as suas forças para lutar.",
+ 1: "Hehe… o veneno drenou todas as suas forças para lutar.",
2: "Ha! Você não teve chance contra minhas habilidades superiores de ninja!",
3: "A fé do meu pai em mim não foi mal colocada."
}
@@ -501,7 +693,7 @@ export const PGMdialogue: DialogueTranslationEntries = {
},
"victory": {
1: "O QUE! Eu, perder?! Não tenho nada a dizer a você!",
- 2: "Hmph… Você nunca poderia entender o que espero alcançar.",
+ 2: "Hmm… Você nunca entenderia o que quero alcançar.",
3: "Esta derrota está apenas adiando o inevitável.\nVou ressurgir a Equipe Rocket das cinzas a tempo."
},
"defeat": {
@@ -530,11 +722,11 @@ export const PGMdialogue: DialogueTranslationEntries = {
"brawly": {
"encounter": {
1: "Oh cara, um desafiante!\nVamos ver o que você pode fazer!",
- 2: "Você parece um grande onda.\nVamos batalhar!",
+ 2: "Você parece uma grande onda.\nVamos batalhar!",
3: "Hora de criar uma tempestade!\nVamos!"
},
"victory": {
- 1: "Oh woah, você me derrotou!",
+ 1: "Uau, você me derrotou!",
2: "Você surfou minha onda e me derrubou!",
3: "Sinto-me perdido na Caverna Granito!"
},
@@ -714,7 +906,7 @@ export const PGMdialogue: DialogueTranslationEntries = {
"defeat": {
1: "A onda furiosa ataca novamente!",
2: "Hora de surfar na onda da vitória!",
- 3: "Ehehe!"
+ 3: "Hehe!"
}
},
"melony": {
@@ -753,17 +945,17 @@ export const PGMdialogue: DialogueTranslationEntries = {
},
"shauntal": {
"encounter": {
- 1: "Com licença. Você é um desafiante, certo?\nSou a usuária de Pokémon do tipo Fantasma da Elite Four, Shauntal, e serei sua oponente.",
+ 1: "Com licença. Você é um desafiante, certo?\nSou a usuária de Pokémon do tipo Fantasma da Elite dos Quatro, Shauntal, e serei sua oponente.",
2: "Adoro escrever sobre Treinadores que vêm aqui e os Pokémon que treinam.\nPosso usar você e seus Pokémon como tema?",
3: "Cada pessoa que trabalha com Pokémon tem uma história para contar.\nQue história está prestes a ser contada?"
},
"victory": {
1: "Uau. Estou sem palavras!",
2: "D-desculpe! Primeiro, preciso me desculpar com meus Pokémon...\n\nLamento muito que você tenha tido uma experiência ruim por minha causa!",
- 3: "Mesmo com isso, ainda sou uma das Elite Four!"
+ 3: "Mesmo com isso, ainda sou uma da Elite dos Quatro!"
},
"defeat": {
- 1: "Eheh.",
+ 1: "Hehe.",
2: "Isso me deu um excelente material para meu próximo romance!",
3: "E assim, outra história termina..."
}
@@ -804,14 +996,14 @@ export const PGMdialogue: DialogueTranslationEntries = {
},
"chili": {
"encounter": {
- 1: "Yeeeeooow! Hora de brincar com FOGO!! Sou o mais forte dos nossos irmãos!",
+ 1: "Ihuuu! Hora de brincar com FOGO!! Sou o mais forte dos nossos irmãos!",
2: "Ta-da! O incendiário do tipo Fogo Chili—sou eu—será seu oponente!",
3: "Vou mostrar o que eu e meus tipos de Fogo podemos fazer!"
},
"victory": {
1: "Você me pegou. Estou... queimado...",
2: "Uau! Você está pegando fogo!",
- 3: "Augh! Você me pegou!"
+ 3: "Ai! Você me pegou!"
},
"defeat": {
1: "Estou pegando fogo! Jogue comigo, e você se queimará!",
@@ -893,7 +1085,7 @@ export const PGMdialogue: DialogueTranslationEntries = {
},
"defeat": {
1: "Ei, espere um segundo. Eu acabei de vencer? Acho que acabei de vencer! Que satisfação!",
- 2: "Uooo! Isso foi incrível!"
+ 2: "Uou! Isso foi incrível!"
}
},
"amarys": {
@@ -909,13 +1101,13 @@ export const PGMdialogue: DialogueTranslationEntries = {
},
"lacey": {
"encounter": {
- 1: "Vou enfrentar você com meu time usual como membro da Elite Four."
+ 1: "Vou enfrentar você com meu time usual como membro da Elite dos Quatro."
},
"victory": {
1: "Foi uma excelente batalha. Estou ansiosa para o próximo desafio."
},
"defeat": {
- 1: "Fufufu... Nada mal.\nDesafiantes que derrotam a Elite Four são dignos de notar."
+ 1: "Fufufu... Nada mal.\nDesafiantes que derrotam a Elite dos Quatro são dignos de notar."
}
},
"drayton": {
@@ -995,7 +1187,7 @@ export const PGMdialogue: DialogueTranslationEntries = {
1: "Batalhar é um assunto profundo e complexo..."
},
"defeat": {
- 1: "Vencer um membro da Elite Four não é fácil."
+ 1: "Vencer um membro da Elite dos Quatro não é fácil."
}
},
"cress": {
@@ -1380,7 +1572,7 @@ export const PGMdialogue: DialogueTranslationEntries = {
"larry_elite": {
"encounter": {
1: `Olá… Sou eu, Larry.
- $Eu também sou membro da Elite Four, sim… Infelizmente para mim.`,
+ $Eu também sou membro da Elite dos Quatro, sim… Infelizmente para mim.`,
},
"victory": {
1: "Bem, isso tirou o vento debaixo das nossas asas…"
@@ -1396,7 +1588,7 @@ export const PGMdialogue: DialogueTranslationEntries = {
},
"victory": {
1: "Você me pegou. Você é magnífico!",
- 2: "Nunca esperei que outro treinador me derrotasse… Estou surpreso."
+ 2: "Nunca esperei que outro Treinador me derrotasse… Estou surpreso."
},
"defeat": {
1: "Isso foi por pouco. Quer tentar de novo?",
@@ -1464,7 +1656,7 @@ export const PGMdialogue: DialogueTranslationEntries = {
1: "Então, aqui está você… Por que não vemos para quem os ventos favorecem hoje, você… ou eu?"
},
"victory": {
- 1: "É frustrante para mim como membro da Elite Four, mas parece que sua força é real."
+ 1: "É frustrante para mim como membro da Elite dos Quatro, mas parece que sua força é real."
},
"defeat": {
1: "Essa foi uma jogada de mestre!"
@@ -1997,7 +2189,7 @@ export const PGMdialogue: DialogueTranslationEntries = {
1: "Vamos lá, baby! Me agite até os ossos!"
},
"victory": {
- 1: "Você é legal, meu amigo—você move minha ALMA!"
+ 1: "Você é legal, meu amigo, você move minha ALMA!"
},
"defeat": {
1: "Até mais, baby!"
@@ -2084,6 +2276,32 @@ export const PGMdialogue: DialogueTranslationEntries = {
2: "Você foi pego na minha tempestade! Melhor sorte na próxima vez!"
}
},
+ "alder": {
+ "encounter": {
+ 1: "Se prepare para uma batalha contra o Treinador mais forte de Unova!"
+ },
+ "victory": {
+ 1: "Muito bem! Você certamente é um talento incomparável."
+ },
+ "defeat": {
+ 1: `Um vento fresco sopra em meu coração...
+ $Que esforço extraordinário!`
+ }
+ },
+ "kieran": {
+ "encounter": {
+ 1: `Através do trabalho duro, eu me torno cada vez mais forte!
+ $Eu não perco.`
+ },
+ "victory": {
+ 1: `Eu não acredito...
+ $Que batalha divertida e emocionante!`
+ },
+ "defeat": {
+ 1: `Uau, que batalha!
+ $Hora de você treinar ainda mais.`
+ }
+ },
"rival": {
"encounter": {
1: `@c{smile}Eai, estava procurando você! Sabia que você estava ansioso para começar, mas esperava pelo menos um tchau…
@@ -2274,13 +2492,2320 @@ export const PGMdialogue: DialogueTranslationEntries = {
// Diálogo dos NPCs no jogo quando o personagem do jogador é feminino. Para idiomas que não possuem pronomes de gênero, isso pode ser definido como PGMdialogue.
-export const PGFdialogue: DialogueTranslationEntries = PGMdialogue;
+export const PGFdialogue: DialogueTranslationEntries = {
+ "youngster": {
+ "encounter": {
+ 1: "Eai, quer batalhar?",
+ 2: "Você também é uma treinadora nova?",
+ 3: "Eai, nunca te vi antes. Vamos batalhar!",
+ 4: "Acabei de perder, então estou tentando encontrar mais Pokémon.\nEspera! Você parece fraca! Vamos batalhar!",
+ 5: "A gente já se conheceu antes? Não lembro muito bem. Enfim, prazer te conhecer!",
+ 6: "Beleza! Vamos nessa!",
+ 7: "Beleza! Lá vou eu! Vou te mostrar meu poder!",
+ 8: "Hahaha... Vou te mostrar o quão incríveis são meus Pokémon!",
+ 9: "Sem perder tempo com cumprimentos. Vamos logo, quando estiver pronta!",
+ 10: "Não baixe a guarda, ou você pode acabar chorando quando uma criança te vencer.",
+ 11: "Eu criei meus Pokémon com muito cuidado. Você não tem permissão para machucá-los!",
+ 12: "Que bom que você chegou! Não vai ser fácil daqui pra frente.",
+ 13: "As batalhas continuam para sempre! Bem-vinda ao mundo sem fim!"
+ },
+ "victory": {
+ 1: "Uau! Você é forte!",
+ 2: "Eu não tive chance, né?",
+ 3: "Vou te encontrar de novo quando for mais velho e te vencer!",
+ 4: "Ugh. Não tenho mais Pokémon.",
+ 5: "Não acredito… NÃO ACREDITO! Como pude de novo…",
+ 6: "Não! Eu perdi!",
+ 7: "Uau! Você é incrível! Estou surpreso!",
+ 8: "Pode ser… Como… Eu e meus Pokémon somos os mais fortes, porém…",
+ 9: "Não vou perder da próxima vez! Vamos batalhar de novo algum dia!",
+ 10: "Aff! Não vê que sou apenas uma criança? Não foi justo você ir com tudo!",
+ 11: "Seus Pokémon são incríveis! Troca comigo!",
+ 12: "Me empolguei um pouco antes, mas sobre qual trabalho eu estava falando?",
+ 13: "Ahaha! É isso aí! Você já está em casa nesse mundo!"
+ }
+ },
+ "lass": {
+ "encounter": {
+ 1: "Vamos batalhar, pode ser?",
+ 2: "Você parece uma treinadora nova. Vamos batalhar!",
+ 3: "Não te reconheço. Que tal uma batalha?",
+ 4: "Vamos ter uma batalha Pokémon divertida!",
+ 5: "Vou te mostrar como realmente usar Pokémon!",
+ 6: "Uma batalha séria começa com um começo sério! Tem certeza que está pronta?",
+ 7: "Você só é jovem uma vez. E só tem uma chance em cada batalha. Logo, você será apenas uma memória.",
+ 8: "Vai com calma comigo, tá? Mas vou lutar sério!",
+ 9: "A escola é chata. Não tenho nada para fazer. Só estou batalhando para passar o tempo."
+ },
+ "victory": {
+ 1: "Isso foi impressionante! Tenho muito a aprender.",
+ 2: "Não pensei que você me venceria tão fácil…",
+ 3: "Espero que possamos ter uma revanche um dia.",
+ 4: "Isso foi incrivelmente divertido! Você me esgotou totalmente…",
+ 5: "Você realmente me ensinou uma lição! Você é incrível!",
+ 6: "Sério, eu perdi. Isso é, tipo, seriamente deprimente, mas você foi seriamente legal.",
+ 7: "Não preciso de memórias como essa. Deletando memória…",
+ 8: "Ei! Eu te disse para pegar leve comigo! Mesmo assim, você é legal quando fica séria.",
+ 9: "Estou realmente cansando de batalhar… Deve haver algo novo para fazer…"
+ }
+ },
+ "breeder": {
+ "encounter": {
+ 1: "Pokémon obedientes, Pokémon egoístas… Pokémon têm características únicas.",
+ 2: "Embora minha criação e comportamento sejam ruins, criei meus Pokémon bem.",
+ 3: "Hmm, você disciplina seus Pokémon? Mimar demais não é bom."
+ },
+ "victory": {
+ 1: "É importante nutrir e treinar as características de cada Pokémon.",
+ 2: "Ao contrário do meu lado diabólico, esses são bons Pokémon.",
+ 3: "Muito elogio pode estragar tanto Pokémon quanto pessoas."
+ },
+ "defeat": {
+ 1: "Você não deve ficar com raiva dos seus Pokémon, mesmo se perder uma batalha.",
+ 2: "Certo? Pokémon bons, né? Eu sou adequado para criar coisas.",
+ 3: "Não importa o quanto você ame seus Pokémon, ainda precisa discipliná-los quando se comportam mal."
+ }
+ },
+ "breeder_female": {
+ "encounter": {
+ 1: "Pokémon nunca te traem. Eles retribuem todo o amor que você dá a eles.",
+ 2: "Quer uma dica para treinar bons Pokémon?",
+ 3: "Eu criei esses Pokémon muito especiais usando um método especial."
+ },
+ "victory": {
+ 1: "Ugh… Não era para ser assim. Será que administrei a mistura errada?",
+ 2: "Como isso aconteceu com meus Pokémon… O que você está dando de comer aos seus Pokémon?",
+ 3: "Se eu perder, isso significa que eu estava só matando o tempo. Não machuca meu ego nem um pouco."
+ },
+ "defeat": {
+ 1: "Isso prova que meus Pokémon aceitaram meu amor.",
+ 2: "O verdadeiro truque para treinar bons Pokémon é capturar bons Pokémon.",
+ 3: "Pokémon serão fortes ou fracos dependendo de como você os cria."
+ }
+ },
+ "fisherman": {
+ "encounter": {
+ 1: "Anem! Você me fez perder uma fisgada!\nO que vai fazer sobre isso?",
+ 2: "Sai daqui! Você está assustando os Pokémon!",
+ 3: "Vamos ver se você consegue fisgar uma vitória!",
+ },
+ "victory": {
+ 1: "Esqueça isso.",
+ 2: "Da próxima vez, eu vou pescar a vitória!",
+ 3: "Acho que subestimei a força das correntes dessa vez.",
+ },
+ },
+ "fisherman_female": {
+ "encounter": {
+ 1: "Uau! Peguei um grande!",
+ 2: "Linha lançada, pronta para pescar o sucesso!",
+ 3: "Pronta para fazer ondas!"
+ },
+ "victory": {
+ 1: "Vou voltar com um anzol mais forte.",
+ 2: "Vou pescar a vitória na próxima vez.",
+ 3: "Estou só afiando meus anzóis para a revanche!"
+ },
+ },
+ "swimmer": {
+ "encounter": {
+ 1: "Hora de mergulhar!",
+ 2: "Vamos surfar nas ondas da vitória!",
+ 3: "Pronto para fazer um splash!",
+ },
+ "victory": {
+ 1: "Molhado na derrota!",
+ 2: "Uma onda de derrota!",
+ 3: "De volta à praia, eu acho.",
+ },
+ },
+ "backpacker": {
+ "encounter": {
+ 1: "Prepare-se, vamos começar!",
+ 2: "Vamos ver se você consegue acompanhar!",
+ 3: "Prepare-se, desafiante!",
+ 4: "Passei 20 anos tentando me encontrar… Mas onde estou?"
+ },
+ "victory": {
+ 1: "Dessa vez tropecei!",
+ 2: "Ah, acho que estou perdido.",
+ 3: "Caminho sem saída!",
+ 4: "Espere um segundo! Ei! Você não sabe quem eu sou?"
+ },
+ },
+ "ace_trainer": {
+ "encounter": {
+ 1: "Você parece bastante confiante.",
+ 2: "Seus Pokémon… Mostre-os para mim…",
+ 3: "Como sou um Treinador Ás, as pessoas acham que sou forte.",
+ 4: "Você sabe o que é preciso para ser um Treinador Ás?"
+ },
+ "victory": {
+ 1: "Sim… Você tem bons Pokémon…",
+ 2: "O quê?! Mas sou um gênio das batalhas!",
+ 3: "Claro, você é a personagem principal!",
+ 4: "OK! OK! Você poderia ser uma Treinador Ás!"
+ },
+ "defeat": {
+ 1: "Estou dedicando corpo e alma às batalhas de Pokémon!",
+ 2: "Tudo dentro das minhas expectativas… Nada para se surpreender…",
+ 3: "Eu achava que cresceria para ser uma pessoa frágil que parecia que quebraria se você apertasse muito.",
+ 4: "Claro que sou forte e não perco. É importante ganhar com graça."
+ }
+ },
+ "parasol_lady": {
+ "encounter": {
+ 1: "Hora de embelezar o campo de batalha com elegância e postura!",
+ },
+ "victory": {
+ 1: "Minha elegância permanece inabalável!",
+ }
+ },
+ "twins": {
+ "encounter": {
+ 1: "Prepare-se, porque quando nos unimos, é o dobro do problema!",
+ 2: "Dois corações, uma estratégia – vamos ver se você consegue acompanhar nosso poder de gêmeos!",
+ 3: "Espero que esteja pronta para o dobro do problema, porque estamos prestes a causar!"
+ },
+ "victory": {
+ 1: "Podemos ter perdido essa rodada, mas nosso vínculo permanece inquebrável!",
+ 2: "Nosso espírito de gêmeos não será apagado por muito tempo.",
+ 3: "Voltaremos mais fortes como uma dupla dinâmica!"
+ },
+ "defeat": {
+ 1: "O poder dos gêmeos reina supremo!",
+ 2: "Dois corações, um triunfo!",
+ 3: "Dobro de sorrisos, dobro da dança da vitória!"
+ }
+ },
+ "cyclist": {
+ "encounter": {
+ 1: "Prepare-se para comer poeira!",
+ 2: "Prepare-se, desafiante! Estou prestes a te deixar para trás!",
+ 3: "Pé no pedal, vamos ver se você consegue acompanhar!"
+ },
+ "victory": {
+ 1: "As rodas podem estar paradas, mas a determinação continua a pedalar.",
+ 2: "Fui mais rápido!",
+ 3: "O caminho para a vitória tem muitas curvas e voltas para explorar."
+ },
+ },
+ "black_belt": {
+ "encounter": {
+ 1: "Elogio sua coragem ao me desafiar! Pois eu sou o que tem o chute mais forte!",
+ 2: "Oh, entendo. Você gostaria de ser cortada em pedaços? Ou prefere o papel de saco de pancadas?"
+ },
+ "victory": {
+ 1: "Oh. Os Pokémon fizeram a luta. Meu chute forte não ajudou em nada.",
+ 2: "Hmmm… Se eu ia perder de qualquer maneira, esperava ficar totalmente destruído no processo."
+ },
+ },
+ "battle_girl": {
+ "encounter": {
+ 1: "Você não precisa tentar me impressionar. Você pode perder contra mim.",
+ },
+ "victory": {
+ 1: "É difícil dizer adeus, mas estamos ficando sem tempo…",
+ },
+ },
+ "hiker": {
+ "encounter": {
+ 1: "Minha barriga de meia-idade me deu tanta gravidade quanto as montanhas que eu escalo!",
+ 2: "Herdei esse corpo ossudo dos meus pais… Sou como uma cadeia de montanhas viva…",
+ },
+ "victory": {
+ 1: "Pelo menos não posso perder quando se trata de IMC!",
+ 2: "Não é suficiente… Nunca é suficiente. Meu colesterol ruim não está alto o suficiente…"
+ },
+ },
+ "ranger": {
+ "encounter": {
+ 1: "Quando estou cercado pela natureza, a maioria das outras coisas deixa de importar.",
+ 2: "Quando estou vivendo sem natureza na minha vida, às vezes sinto uma crise de ansiedade se aproximando."
+ },
+ "victory": {
+ 1: "Não importa para a vastidão da natureza se eu ganhar ou perder…",
+ 2: "Algo assim é bastante trivial comparado aos sentimentos sufocantes da vida na cidade."
+ },
+ "defeat": {
+ 1: "Ganhei a batalha. Mas a vitória não é nada comparada à vastidão da natureza…",
+ 2: "Tenho certeza de que como você se sente não é tão ruim se comparar aos meus ataques de ansiedade…"
+ }
+ },
+ "scientist": {
+ "encounter": {
+ 1: "Minha pesquisa levará este mundo à paz e alegria.",
+ },
+ "victory": {
+ 1: "Sou um gênio… Não devo perder para alguém como você…",
+ },
+ },
+ "school_kid": {
+ "encounter": {
+ 1: "Heehee. Estou confiante nos meus cálculos e análises.",
+ 2: "Estou ganhando o máximo de experiência que posso porque quero ser um Líder de Ginásio um dia."
+ },
+ "victory": {
+ 1: "Aff… Cálculo e análise talvez não sejam páreo para o acaso…",
+ 2: "Até experiências difíceis e desafiadoras têm seu propósito, eu acho."
+ }
+ },
+ "artist": {
+ "encounter": {
+ 1: "Eu costumava ser popular, mas agora estou acabado.",
+ },
+ "victory": {
+ 1: "À medida que os tempos mudam, os valores também mudam. Percebi isso tarde demais.",
+ },
+ },
+ "guitarist": {
+ "encounter": {
+ 1: "Prepare-se para sentir o ritmo da derrota enquanto eu toco minha vitória!",
+ },
+ "victory": {
+ 1: "Silenciado por agora, mas minha melodia de resiliência continuará a tocar.",
+ },
+ },
+ "worker": {
+ "encounter": {
+ 1: "Me incomoda que as pessoas sempre me entendam mal. Sou muito mais puro do que todos pensam.",
+ },
+ "victory": {
+ 1: "Eu realmente não quero que minha pele queime, então quero ficar na sombra enquanto trabalho.",
+ },
+ },
+ "worker_female": {
+ "encounter": {
+ 1: `Me incomoda que as pessoas sempre me entendam mal.
+ $Sou muito mais pura do que todos pensam.`
+ },
+ "victory": {
+ 1: "Eu realmente não quero que minha pele queime, então quero ficar na sombra enquanto trabalho."
+ },
+ "defeat": {
+ 1: "Meu corpo e mente nem sempre estão necessariamente em sincronia."
+ }
+ },
+ "worker_double": {
+ "encounter": {
+ 1: "Vou te mostrar que podemos te quebrar. Estamos treinando no campo!",
+ },
+ "victory": {
+ 1: "Que estranho… Como isso pode ser… Não deveria ter sido superado.",
+ },
+ },
+ "hex_maniac": {
+ "encounter": {
+ 1: "Normalmente, só escuto música clássica, mas se eu perder, acho que vou tentar um pouco de new age!",
+ 2: "Eu fico mais forte a cada lágrima que derramo."
+ },
+ "victory": {
+ 1: "É o início da era de Aquário?",
+ 2: "Agora posso ficar ainda mais forte. Cresço com cada rancor."
+ },
+ "defeat": {
+ 1: "New age se refere simplesmente aos compositores clássicos do século XX, certo?",
+ 2: "Não fique preso na tristeza ou frustração. Você pode usar seus rancores para se motivar."
+ }
+ },
+ "psychic": {
+ "encounter": {
+ 1: "Oi! Concentre-se!",
+ },
+ "victory": {
+ 1: "Perdi minha concentração!",
+ },
+ },
+ "officer": {
+ "encounter": {
+ 1: "Prepare-se, porque a justiça está prestes a ser servida!",
+ 2: "Pronto para defender a lei e servir a justiça no campo de batalha!"
+ },
+ "victory": {
+ 1: "O peso da justiça parece mais pesado do que nunca…",
+ 2: "As sombras da derrota pairam no distrito."
+ }
+ },
+ "beauty": {
+ "encounter": {
+ 1: "Minha última batalha… É assim que eu gostaria que víssemos esta partida…",
+ },
+ "victory": {
+ 1: "Foi divertido… Vamos ter outra última batalha algum dia…",
+ },
+ },
+ "baker": {
+ "encounter": {
+ 1: "Espero que esteja pronta para saborear a derrota!"
+ },
+ "victory": {
+ 1: "Vou assar uma revanche."
+ },
+ },
+ "biker": {
+ "encounter": {
+ 1: "Hora de acelerar e te deixar na poeira!"
+ },
+ "victory": {
+ 1: "Vou me ajustar para a próxima corrida."
+ },
+ },
+ "firebreather": {
+ "encounter": {
+ 1: "Minhas chamas irão te consumir!",
+ 2: "Minha alma está pegando fogo. Irei te mostrar como queima!",
+ 3: "Cola aqui e dá uma olhada!"
+ },
+ "victory": {
+ 1: "Fui reduzido a cinzas…",
+ 2: "Uau! Isso foi quente!",
+ 3: "Ai! Queimei minha língua!"
+ },
+ },
+ "sailor": {
+ "encounter": {
+ 1: "Mano, você vai andar na prancha se perder!",
+ 2: "Vem com tudo! Sou um marinheiro com orgulho!",
+ 3: "Ahoy marujo! Tá enjoado, é?!"
+ },
+ "victory": {
+ 1: "Argh! Perdi pra uma criança!",
+ 2: "Sua vontade de ganhar me afogou!",
+ 3: "Estou achando que quem tá enjoado sou eu..."
+ },
+ },
+ "brock": {
+ "encounter": {
+ 1: "Minha especialidade em Pokémon do tipo Pedra vai te derrubar! Vamos lá!",
+ 2: "Minha vontade firme como pedra vai te sobrecarregar!",
+ 3: "Permita-me mostrar a verdadeira força dos meus Pokémon!"
+ },
+ "victory": {
+ 1: "A força dos seus Pokémon superou minhas defesas de pedra!",
+ 2: "O mundo é enorme! Estou feliz por ter tido a chance de batalhar com você.",
+ 3: "Talvez eu deva voltar a perseguir meu sonho de ser Criador de Pokémon…"
+ },
+ "defeat": {
+ 1: "A melhor defesa é um bom ataque!\nEssa é a minha maneira de fazer as coisas!",
+ 2: "Venha estudar rochas comigo da próxima vez para aprender melhor a combatê-las!",
+ 3: "Hah, todas as minhas viagens pelas regiões estão valendo a pena!"
+ }
+ },
+ "misty": {
+ "encounter": {
+ 1: "Minha política é um ataque total com Pokémon do tipo Água!",
+ 2: "Oi, vou mostrar a força dos meus Pokémon aquáticos!",
+ 3: "Meu sonho era viajar e batalhar com treinadores poderosos…\nVocê será um desafio suficiente?"
+ },
+ "victory": {
+ 1: "Você realmente é forte… Vou admitir que você é habilidosa…",
+ 2: "Hmm… Você sabe que só teve sorte, certo?!",
+ 3: "Uau, você é demais! Não acredito que me venceu!"
+ },
+ "defeat": {
+ 1: "A poderosa Misty foi demais para você?",
+ 2: "Espero que você tenha visto as técnicas de natação elegantes dos meus Pokémon!",
+ 3: "Seus Pokémon não foram páreo para meus orgulhos e alegrias!"
+ }
+ },
+ "lt_surge": {
+ "encounter": {
+ 1: "Meus Pokémon Elétricos me salvaram durante a guerra! Vou te mostrar como!",
+ 2: "Em sentido! Vou te chocar até você se render!",
+ 3: "Vou te eletrizar como faço com todos os meus inimigos na batalha!"
+ },
+ "victory": {
+ 1: "Whoa! Seu time é de verdade, garota!",
+ 2: "Uau, você é forte! Até meus truques elétricos perderam para você.",
+ 3: "Isso foi uma derrota absolutamente chocante!"
+ },
+ "defeat": {
+ 1: "Oh sim! Quando se trata de Pokémon do tipo Elétrico, sou o número um do mundo!",
+ 2: "Hahaha! Foi uma batalha eletrizante, garota!",
+ 3: "Uma batalha de Pokémon é guerra, e eu te mostrei combate em primeira mão!"
+ }
+ },
+ "erika": {
+ "encounter": {
+ 1: "Ah, o tempo está adorável aqui…\nOh, uma batalha? Muito bem então.",
+ 2: "Minhas habilidades de batalha Pokémon rivalizam com minhas habilidades de arranjo de flores.",
+ 3: "Oh, espero que o aroma agradável dos meus Pokémon não me faça dormir de novo…",
+ 4: "Ver flores em um jardim é tão calmante."
+ },
+ "victory": {
+ 1: "Oh! Eu concedo a derrota.",
+ 2: "Aquela partida foi muito agradável.",
+ 3: "Ah, parece que perdi…",
+ 4: "Oh, meu Deus."
+ },
+ "defeat": {
+ 1: "Tinha medo de adormecer…",
+ 2: "Oh, meu Deus, parece que meus Pokémon de Grama te dominaram.",
+ 3: "Essa batalha foi uma experiência tão calmante.",
+ 4: "Oh… É só isso?"
+ }
+ },
+ "janine": {
+ "encounter": {
+ 1: "Estou dominando a arte dos ataques venenosos.\nVou lutar com você hoje!",
+ 2: "Meu pai confia que posso me defender.\nVou provar que ele está certo!",
+ 3: "Minhas técnicas de ninja só perdem para as do meu pai!\nVocê consegue acompanhar?"
+ },
+ "victory": {
+ 1: "Ainda preciso de treinamento… Entendi.",
+ 2: "Sua técnica de batalha superou a minha.",
+ 3: "Vou me aplicar de verdade e melhorar minhas habilidades."
+ },
+ "defeat": {
+ 1: "Hehe… o veneno drenou todas as suas forças para lutar.",
+ 2: "Ha! Você não teve chance contra minhas habilidades superiores de ninja!",
+ 3: "A fé do meu pai em mim não foi mal colocada."
+ }
+ },
+ "sabrina": {
+ "encounter": {
+ 1: "Através da minha habilidade psíquica, tive uma visão da sua chegada!",
+ 2: "Não gosto de lutar, mas se você quiser, vou mostrar meus poderes!",
+ 3: "Posso sentir grande ambição em você. Vou ver se não é infundada."
+ },
+ "victory": {
+ 1: "Seu poder… Ele supera o que eu previa…",
+ 2: "Não consegui prever seu poder com precisão.",
+ 3: "Mesmo com meus imensos poderes psíquicos, não consigo sentir outro tão forte quanto você."
+ },
+ "defeat": {
+ 1: "Essa vitória… É exatamente como previ nas minhas visões!",
+ 2: "Talvez fosse outra pessoa que eu sentisse um grande desejo…",
+ 3: "Aprimore suas habilidades antes de entrar em batalha precipitadamente.\nVocê nunca sabe o que o futuro pode reservar se fizer isso…"
+ }
+ },
+ "blaine": {
+ "encounter": {
+ 1: "Hah! Espero que tenha trazido uma Cura de Queimadura!",
+ 2: "Meus Pokémon de Fogo vão incinerar todos os desafiantes!",
+ 3: "Prepare-se para brincar com fogo!"
+ },
+ "victory": {
+ 1: "Queimei até não restar nada! Nem cinzas sobraram!",
+ 2: "Não acendi as chamas alto o suficiente?",
+ 3: "Estou completamente exausto… Mas isso faz minha motivação para melhorar queimar ainda mais!"
+ },
+ "defeat": {
+ 1: "Meu inferno ardente não pode ser apagado!",
+ 2: "Meus Pokémon foram fortalecidos com o calor desta vitória!",
+ 3: "Hah! Minha paixão queima mais do que a sua!"
+ }
+ },
+ "giovanni": {
+ "encounter": {
+ 1: "Eu, o líder da Equipe Rocket, vou te fazer sentir um mundo de dor!",
+ 2: "Meu treinamento aqui será vital antes de enfrentar meus antigos associados novamente.",
+ 3: "Não acho que você está preparada para o nível de fracasso que está prestes a experimentar!"
+ },
+ "victory": {
+ 1: "O QUE! Eu, perder?! Não tenho nada a dizer a você!",
+ 2: "Hmm… Você nunca entenderia o que quero alcançar.",
+ 3: "Esta derrota está apenas adiando o inevitável.\nVou ressurgir a Equipe Rocket das cinzas a tempo."
+ },
+ "defeat": {
+ 1: "Não ser capaz de medir sua própria força mostra que você ainda é apenas uma criança.",
+ 2: "Não tente interferir comigo novamente.",
+ 3: "Espero que entenda o quão tolo foi me desafiar."
+ }
+ },
+ "roxanne": {
+ "encounter": {
+ 1: "Você poderia gentilmente demonstrar como batalha?",
+ 2: "Você pode aprender muitas coisas batalhando com muitos treinadores.",
+ 3: "Oh, você me pegou estrategizando.\nGostaria de batalhar?"
+ },
+ "victory": {
+ 1: "Oh, parece que perdi.\nEu entendo.",
+ 2: "Parece que ainda tenho muito mais a aprender quando se trata de batalhas.",
+ 3: "Vou levar o que aprendi aqui hoje a sério."
+ },
+ "defeat": {
+ 1: "Aprendi muitas coisas com nossa batalha.\nEspero que você também tenha aprendido.",
+ 2: "Espero batalhar com você novamente.\nEspero que use o que aprendeu aqui.",
+ 3: "Venci devido a tudo o que aprendi."
+ }
+ },
+ "brawly": {
+ "encounter": {
+ 1: "Oh cara, uma desafiante!\nVamos ver o que você pode fazer!",
+ 2: "Você parece uma grande onda.\nVamos batalhar!",
+ 3: "Hora de criar uma tempestade!\nVamos!"
+ },
+ "victory": {
+ 1: "Uau, você me derrotou!",
+ 2: "Você surfou minha onda e me derrubou!",
+ 3: "Sinto-me perdido na Caverna Granito!"
+ },
+ "defeat": {
+ 1: "Haha, eu surfei a grande onda!\nDesafie-me novamente algum dia.",
+ 2: "Surfe comigo novamente algum dia!",
+ 3: "Assim como as marés vão e vêm, espero que você volte para me desafiar novamente."
+ }
+ },
+ "wattson": {
+ "encounter": {
+ 1: "Hora de levar um choque!\nWahahahaha!",
+ 2: "Vou fazer faíscas voarem!\nWahahahaha!",
+ 3: "Espero que tenha trazido Cura de Paralisia!\nWahahahaha!"
+ },
+ "victory": {
+ 1: "Parece que estou sem carga!\nWahahahaha!",
+ 2: "Você me aterrissou completamente!\nWahahahaha!",
+ 3: "Obrigado pela emoção!\nWahahahaha!"
+ },
+ "defeat": {
+ 1: "Você está totalmente carregado agora!\nWahahahaha!",
+ 2: "Espero ver você faíscando em batalhas futuras!\nWahahahaha!",
+ 3: "Wahahahaha! Que batalha eletrizante!"
+ }
+ },
+ "flannery": {
+ "encounter": {
+ 1: "Meus Pokémon de fogo estão prontos para queimar a concorrência!\nVamos nessa!",
+ 2: "Prepare-se para sentir o calor da minha determinação!\nNão vou segurar nada!",
+ 3: "Minhas habilidades vão incinerar você!\nPrepare-se para a batalha mais quente da sua vida!"
+ },
+ "victory": {
+ 1: "Essa derrota só faz minha determinação queimar mais!",
+ 2: "Essa perda não apagará minhas chamas!\nEstarei de volta mais forte!",
+ 3: "Vou usar essa experiência para reacender meu espírito competitivo!"
+ },
+ "defeat": {
+ 1: "Minhas chamas nunca se apagarão!\nSou muito apaixonada por isso!",
+ 2: "Você foi incrível!\nVamos fazer isso de novo algum dia!",
+ 3: "Que batalha ardente!\nMal posso esperar pela próxima!"
+ }
+ },
+ "norman": {
+ "encounter": {
+ 1: "Você está pronta para enfrentar a força pura do meu time?\nVou te mostrar o poder do equilíbrio!",
+ 2: "Minha experiência em batalha vai fazer você suar!\nPrepare-se!",
+ 3: "Treinei meu time rigorosamente.\nVamos ver se você consegue igualar!"
+ },
+ "victory": {
+ 1: "Parece que subestimei você.\nFoi uma batalha dura.",
+ 2: "Você é forte, mas ainda há muito para aprender.",
+ 3: "Essa derrota não abalará minha determinação.\nEstarei de volta mais forte!"
+ },
+ "defeat": {
+ 1: "Você lutou bravamente!\nEspero batalhar com você novamente.",
+ 2: "Sua força é incrível!\nNão posso esperar pela nossa próxima batalha.",
+ 3: "Foi uma honra batalhar com você!\nAté a próxima!"
+ }
+ },
+ "winona": {
+ "encounter": {
+ 1: "Tenho sobrevoado os céus em busca de presas...\nE você é meu alvo!",
+ 2: "Não importa como será nossa batalha, meus Pokémon Voadores e eu triunfaremos com graça. Vamos batalhar!",
+ 3: "Espero que você não tenha medo de altura.\nVamos subir!"
+ },
+ "victory": {
+ 1: "Você é a primeira Treinadora que vejo com mais graça do que eu.\nJogou excelentemente.",
+ 2: "Oh, meus Pokémon Voadores despencaram!\nMuito bem.",
+ 3: "Embora eu tenha caído, meus Pokémon continuarão a voar!"
+ },
+ "defeat": {
+ 1: "Meus Pokémon Voadores e eu sempre dançaremos com elegância!",
+ 2: "Espero que tenha gostado do nosso show.\nNossa dança graciosa terminou.",
+ 3: "Você não quer ver nossa coreografia elegante novamente?"
+ }
+ },
+ "tate": {
+ "encounter": {
+ 1: "Hehehe... Ficou surpreso de me ver sem minha irmã?",
+ 2: "Posso ver o que você está pensando...\nVocê quer batalhar!",
+ 3: "Como você pode derrotar alguém...\nQue sabe todos os seus movimentos?"
+ },
+ "victory": {
+ 1: "Não pode ser ajudado...\nSinto falta da Liza...",
+ 2: "Seu vínculo com seus Pokémon era mais forte que o meu.",
+ 3: "Se eu estivesse com Liza, teríamos vencido.\nConseguimos completar os pensamentos um do outro!"
+ },
+ "defeat": {
+ 1: "Meus Pokémon e eu somos superiores!",
+ 2: "Se você não consegue nem me derrotar, nunca será capaz de derrotar Liza também.",
+ 3: "Tudo graças ao meu treinamento rigoroso com Liza.\nPosso me tornar um com os Pokémon."
+ }
+ },
+ "liza": {
+ "encounter": {
+ 1: "Fufufu... Ficou surpreso de me ver sem meu irmão?",
+ 2: "Posso determinar o que você deseja...\nVocê quer batalhar, não quer?",
+ 3: "Como você pode derrotar alguém...\nQue é um com seus Pokémon?"
+ },
+ "victory": {
+ 1: "Não pode ser ajudado...\nSinto falta do Tate...",
+ 2: "Seu vínculo com seus Pokémon...\nÉ mais forte que o meu.",
+ 3: "Se eu estivesse com Tate, teríamos vencido.\nPodemos terminar as frases um do outro!"
+ },
+ "defeat": {
+ 1: "Meus Pokémon e eu somos vitoriosos.",
+ 2: "Se você não consegue nem me derrotar, nunca será capaz de derrotar Tate também.",
+ 3: "Tudo graças ao meu treinamento rigoroso com Tate.\nPosso me sincronizar com meus Pokémon."
+ }
+ },
+ "juan": {
+ "encounter": {
+ 1: "Agora não é hora de agir timidamente.\nVamos batalhar!",
+ 2: "Ahahaha, você será testemunha da minha arte com Pokémon de Água!",
+ 3: "Um tufão se aproxima!\nVocê será capaz de me testar?",
+ 4: "Por favor, você será testemunha da nossa arte.\nUma grande ilusão de água esculpida por meus Pokémon e por mim!"
+ },
+ "victory": {
+ 1: "Você pode ser um gênio que pode enfrentar Wallace!",
+ 2: "Eu me concentrei na elegância enquanto você treinava.\nÉ natural que você me derrotasse.",
+ 3: "Ahahaha!\nMuito bem, você venceu desta vez.",
+ 4: "De você, sinto o brilho brilhante da habilidade que superará tudo."
+ },
+ "defeat": {
+ 1: "Meus Pokémon e eu esculpimos uma ilusão de Água e saímos vitoriosos.",
+ 2: "Ahahaha, eu venci, e você perdeu.",
+ 3: "Posso emprestar meu traje? Pode te ajudar a batalhar!\nAhahaha, estou brincando!",
+ 4: "Eu sou o vencedor! O que quer dizer, você perdeu."
+ }
+ },
+ "crasher_wake": {
+ "encounter": {
+ 1: "Crash! Crash! Cuidado!\nCrasher Wake… está… aqui!",
+ 2: "Crash! Crash! Crasher Wake!",
+ 3: "Sou a onda de poder que vai te lavar!"
+ },
+ "victory": {
+ 1: "Isso coloca um sorriso no meu rosto!\nGuhahaha! Foi uma explosão!",
+ 2: "Hunwah! Acabou e terminou!\nComo vou dizer isso...\nQuero mais! Queria batalhar muito mais!",
+ 3: "O QUÊ?!"
+ },
+ "defeat": {
+ 1: "Siiiiim! Isso mesmo!",
+ 2: "Eu venci, mas quero mais! Queria batalhar muito mais!",
+ 3: "Até logo!"
+ }
+ },
+ "falkner": {
+ "encounter": {
+ 1: "Vou mostrar o verdadeiro poder dos magníficos Pokémon pássaros!",
+ 2: "Ventos, fiquem comigo!",
+ 3: "Pai! Espero que esteja vendo minha batalha de cima!"
+ },
+ "victory": {
+ 1: "Eu entendo... Vou sair graciosamente.",
+ 2: "Uma derrota é uma derrota. Você é realmente forte.",
+ 3: "...Droga! Sim, eu perdi."
+ },
+ "defeat": {
+ 1: "Pai! Venci com seus amados Pokémon pássaros...",
+ 2: "Pokémon pássaros são os melhores afinal!",
+ 3: "Sinto que estou alcançando meu pai!"
+ }
+ },
+ "nessa": {
+ "encounter": {
+ 1: "Não importa que tipo de plano sua mente refinada possa estar tramando, meu parceiro e eu vamos afundá-la.",
+ 2: "Não estou aqui para conversar. Estou aqui para vencer!",
+ 3: "Este é um pequeno presente dos meus Pokémon... Espero que você possa recebê-la!"
+ },
+ "victory": {
+ 1: "Você e seus Pokémon são demais...",
+ 2: "Como...? Como isso pode ser?!",
+ 3: "Fui totalmente arrastada!"
+ },
+ "defeat": {
+ 1: "A onda furiosa ataca novamente!",
+ 2: "Hora de surfar na onda da vitória!",
+ 3: "Hehe!"
+ }
+ },
+ "melony": {
+ "encounter": {
+ 1: "Não vou me segurar!",
+ 2: "Tudo bem, acho que devemos começar.",
+ 3: "Vou congelar você completamente!"
+ },
+ "victory": {
+ 1: "Você... Você é muito boa, hein?",
+ 2: "Se você encontrar Gordie por aí, certifique-se de dar uma boa surra nele, ok?",
+ 3: "Acho que você levou a quebra de gelo um pouco literalmente demais..."
+ },
+ "defeat": {
+ 1: "Agora você vê como as batalhas podem ser severas?",
+ 2: "Hee! Parece que ganhei de novo!",
+ 3: "Você está segurando?"
+ }
+ },
+ "marlon": {
+ "encounter": {
+ 1: "Você parece forte! Vamos começar!",
+ 2: "Sou forte como a amplitude do oceano. Você vai ser varrido, com certeza.",
+ 3: "Oh ho, então estou enfrentando você! Isso é fora do comum."
+ },
+ "victory": {
+ 1: "Você foi incrível! Está criando alguns Pokémon incríveis. Você dominou a coisa de Treinador!",
+ 2: "Você não apenas parece forte, você é forte de verdade! Eh, eu também fui varrido!",
+ 3: "Você é forte como uma onda impressionante!"
+ },
+ "defeat": {
+ 1: "Você é forte, mas não é o suficiente para mudar o mar, ok!",
+ 2: "Hee! Parece que ganhei de novo!",
+ 3: "Doce, doce vitória!"
+ }
+ },
+ "shauntal": {
+ "encounter": {
+ 1: "Com licença. Você é uma desafiante, certo?\nSou a usuária de Pokémon do tipo Fantasma da Elite dos Quatro, Shauntal, e serei sua oponente.",
+ 2: "Adoro escrever sobre Treinadores que vêm aqui e os Pokémon que treinam.\nPosso usar você e seus Pokémon como tema?",
+ 3: "Cada pessoa que trabalha com Pokémon tem uma história para contar.\nQue história está prestes a ser contada?"
+ },
+ "victory": {
+ 1: "Uau. Estou sem palavras!",
+ 2: "D-desculpe! Primeiro, preciso me desculpar com meus Pokémon...\n\nLamento muito que você tenha tido uma experiência ruim por minha causa!",
+ 3: "Mesmo com isso, ainda sou uma da Elite dos Quatro!"
+ },
+ "defeat": {
+ 1: "Hehe.",
+ 2: "Isso me deu um excelente material para meu próximo romance!",
+ 3: "E assim, outra história termina..."
+ }
+ },
+ "marshal": {
+ "encounter": {
+ 1: "Meu mentor, Alder, vê seu potencial como Treinadora e está interessado em você.\nMeu objetivo é testá-lo—levar você aos limites da sua força. Kiai!",
+ 2: "Vitória, vitória decisiva, é meu objetivo! Desafiante, aqui vou eu!",
+ 3: "Em mim mesmo, procuro desenvolver a força de um lutador e eliminar qualquer fraqueza em mim!\nPrevalecendo com a força de minhas convicções!"
+ },
+ "victory": {
+ 1: "Ufa! Bem feito!",
+ 2: "À medida que suas batalhas continuarem, mire em alturas ainda maiores!",
+ 3: "A força demonstrada por você e seus Pokémon me impressionou profundamente..."
+ },
+ "defeat": {
+ 1: "Hmm.",
+ 2: "Isso foi uma boa batalha.",
+ 3: "Haaah! Haaah! Haiyaaaah!"
+ }
+ },
+ "cheren": {
+ "encounter": {
+ 1: "Você me lembra um velho amigo. Isso me deixa animado para essa batalha Pokémon!",
+ 2: "As batalhas Pokémon não têm sentido se você não pensa por que você batalha.\nOu melhor, isso torna as batalhas junto com Pokémon sem sentido.",
+ 3: "Meu nome é Cheren! Sou um Líder de Ginásio e professor! Prazer em conhecê-la."
+ },
+ "victory": {
+ 1: "Obrigado! Vi o que estava faltando em mim.",
+ 2: "Obrigado! Sinto que vi um pouco do caminho em direção aos meus ideais.",
+ 3: "Hmm... Isso é problemático."
+ },
+ "defeat": {
+ 1: "Como Líder de Ginásio, meu objetivo é ser um obstáculo para você superar.",
+ 2: "Tudo bem!",
+ 3: "Cheguei onde estou porque os Pokémon estavam ao meu lado.\nTalvez precisemos pensar por que os Pokémon nos ajudam, não em termos de Pokémon e Treinadores, mas como uma relação entre seres vivos."
+ }
+ },
+ "chili": {
+ "encounter": {
+ 1: "Ihuuu! Hora de brincar com FOGO!! Sou o mais forte dos nossos irmãos!",
+ 2: "Ta-da! O incendiário do tipo Fogo Chili—sou eu—será seu oponente!",
+ 3: "Vou mostrar o que eu e meus tipos de Fogo podemos fazer!"
+ },
+ "victory": {
+ 1: "Você me pegou. Estou... queimado...",
+ 2: "Uau! Você está pegando fogo!",
+ 3: "Ai! Você me pegou!"
+ },
+ "defeat": {
+ 1: "Estou pegando fogo! Jogue comigo, e você se queimará!",
+ 2: "Quando você brinca com fogo, você se queima!",
+ 3: "Quero dizer, vamos lá, seu oponente era eu! Você não tinha chance!"
+ }
+ },
+ "cilan": {
+ "encounter": {
+ 1: "Nada pessoal... Sem ressentimentos... Eu e meus Pokémon do tipo Grama vamos...\nUm... Vamos batalhar, aconteça o que acontecer.",
+ 2: "Então, hum, se você está bem comigo, vou, hum, colocar tudo o que tenho em ser, er, você sabe, seu oponente.",
+ 3: "OK… Então, hum, eu sou o Cilan, gosto de Pokémon do tipo Grama."
+ },
+ "victory": {
+ 1: "Er... Acabou agora?",
+ 2: "…Que surpresa. Você é muito forte, não é?\nAcho que meus irmãos também não teriam sido capazes de te derrotar...",
+ 3: "…Huh. Parece que meu timing estava, hum, errado?"
+ },
+ "defeat": {
+ 1: "Huh? Ganhei?",
+ 2: "Acho...\nSuponho que ganhei, porque competi com meus irmãos Chili e Cress, e todos conseguimos ficar mais fortes.",
+ 3: "Foi... uma experiência bastante emocionante..."
+ }
+ },
+ "roark": {
+ "encounter": {
+ 1: "Preciso ver seu potencial como Treinadora. E, vou precisar ver a dureza dos Pokémon que batalham com você!",
+ 2: "Vamos lá! Estes são meus Pokémon de pedra, meu orgulho e alegria!",
+ 3: "Pokémon do tipo Pedra são simplesmente os melhores!",
+ 4: "Preciso ver seu potencial como Treinadora. E, vou precisar ver a dureza dos Pokémon que batalham com você!"
+ },
+ "victory": {
+ 1: "O-o que? Isso não pode ser! Meus Pokémon fortificados!",
+ 2: "...Perdemos o controle. Da próxima vez, gostaria de desafiá-la a uma corrida de escavação de fósseis no subsolo.",
+ 3: "Com habilidade como a sua, é natural que você vença.",
+ 4: "O-o que?! Não pode ser! Nem isso foi suficiente?",
+ 5: "Eu estraguei tudo."
+ },
+ "defeat": {
+ 1: "Veja? Estou orgulhoso do meu estilo de batalha rochoso!",
+ 2: "Obrigado! A batalha me deu confiança de que talvez eu consiga vencer meu pai!",
+ 3: "Sinto como se tivesse acabado de quebrar uma pedra muito teimosa!"
+ }
+ },
+ "morty": {
+ "encounter": {
+ 1: "Com um pouco mais, eu poderia ver um futuro em que encontro o Pokémon lendário.\nVocê vai me ajudar a alcançar esse nível!",
+ 2: "Dizem que um Pokémon com cores de arco-íris aparecerá diante de um Treinador verdadeiramente poderoso.\nAcreditei nessa história, então treinei secretamente aqui a vida toda. Como resultado, agora posso ver o que os outros não podem.\nVejo uma sombra da pessoa que fará o Pokémon aparecer.\nAcredito que essa pessoa sou eu! Você vai me ajudar a alcançar esse nível!",
+ 3: "Quer você escolha acreditar ou não, o poder místico existe.",
+ 4: "Você pode testemunhar os frutos do meu treinamento.",
+ 5: "Você deve fazer sua alma se tornar uma com a dos Pokémon. Você pode fazer isso?",
+ 6: "Diga, você quer fazer parte do meu treinamento?"
+ },
+ "victory": {
+ 1: "Ainda não sou bom o suficiente...",
+ 2: "Eu vejo... Sua jornada o levou a lugares distantes e você testemunhou muito mais do que eu.\nEu invejo você por isso...",
+ 3: "Como isso é possível...",
+ 4: "Não acho que nossos potenciais sejam tão diferentes.\nMas você parece ter algo mais do que isso... Que seja.",
+ 5: "Acho que preciso de mais treinamento.",
+ 6: "Isso é uma pena."
+ },
+ "defeat": {
+ 1: "Eu me movi... mais um passo adiante.",
+ 2: "Fufufu...",
+ 3: "O-o que?! Não pode ser! Nem isso foi suficiente?",
+ 4: "Sinto como se tivesse acabado de quebrar uma pedra muito teimosa!",
+ 5: "Ahahahah!",
+ 6: "Eu sabia que venceria!"
+ }
+ },
+ "crispin": {
+ "encounter": {
+ 1: "Quero vencer, então é exatamente isso que vou fazer!",
+ 2: "Eu batalho porque quero batalhar! E sabe de uma coisa? É assim que deve ser!"
+ },
+ "victory": {
+ 1: "Queria vencer... mas perdi!",
+ 2: "Eu perdi... porque não consegui vencer!"
+ },
+ "defeat": {
+ 1: "Ei, espere um segundo. Eu acabei de vencer? Acho que acabei de vencer! Que satisfação!",
+ 2: "Uou! Isso foi incrível!"
+ }
+ },
+ "amarys": {
+ "encounter": {
+ 1: "Quero ser a pessoa a ajudar alguém em particular. Sendo assim, não posso me dar ao luxo de perder.\n... Nossa batalha começa agora."
+ },
+ "victory": {
+ 1: "Eu sou... não o suficiente, eu vejo."
+ },
+ "defeat": {
+ 1: "A vitória pertence a mim. Bem lutado."
+ }
+ },
+ "lacey": {
+ "encounter": {
+ 1: "Vou enfrentar você com meu time usual como membro da Elite dos Quatro."
+ },
+ "victory": {
+ 1: "Foi uma excelente batalha. Estou ansiosa para o próximo desafio."
+ },
+ "defeat": {
+ 1: "Fufufu... Nada mal.\nDesafiantes que derrotam a Elite dos Quatro são dignos de notar."
+ }
+ },
+ "drayton": {
+ "encounter": {
+ 1: `Cara, eu amo cadeiras. Você não ama cadeiras? Que salva-vidas.
+ $Não entendo por que todo mundo não fica sentado o tempo todo. Ficar de pé é cansativo!`,
+ },
+ "victory": {
+ 1: "Acho que deveria ter esperado por isso!"
+ },
+ "defeat": {
+ 1: "Heh heh! Não ligue para mim, só pegando uma vitória aqui. Entendo se você estiver chateado, mas não vá dar uma de Kieran comigo, OK?"
+ }
+ },
+ "ramos": {
+ "encounter": {
+ 1: `Você gostou do jardim de diversão que fiz com todas essas plantas resistentes minhas?
+ $A força delas é um sinal da minha força como jardineiro e Líder de Ginásio! Você tem certeza de que está pronta para enfrentar tudo isso?`,
+ },
+ "victory": {
+ 1: "Você acredita nos seus Pokémon... E eles acreditam em você também... Foi uma boa batalha, broto."
+ },
+ "defeat": {
+ 1: "Hohoho... De fato. Pequenas lâminas frágeis de grama conseguem quebrar até mesmo concreto."
+ }
+ },
+ "viola": {
+ "encounter": {
+ 1: `Seja as lágrimas de frustração que seguem uma derrota ou o florescer da alegria que vem com a vitória…
+ $Ambos são ótimos temas para minha câmera! Fantástico! Isso vai ser simplesmente fantástico!
+ $Agora venha para cima de mim!`,
+ 2: "Minha lente está sempre focada na vitória – não vou deixar nada estragar esta foto!"
+ },
+ "victory": {
+ 1: "Você e seus Pokémon me mostraram uma nova profundidade de campo! Fantástico! Simplesmente fantástico!",
+ 2: `O mundo que você vê através de uma lente, e o mundo que você vê com um Pokémon ao seu lado…
+ $O mesmo mundo pode parecer completamente diferente dependendo do seu ponto de vista.`
+ },
+ "defeat": {
+ 1: "A foto do momento da minha vitória vai ser um verdadeiro sucesso!",
+ 2: "Sim! Tirei ótimas fotos!"
+ }
+ },
+ "candice": {
+ "encounter": {
+ 1: `Você quer desafiar a Candice? Com certeza! Eu estava esperando por alguém forte!
+ $Mas devo te avisar, sou forte porque sei como focar.`,
+ 2: `Pokémon, moda, romance… É tudo uma questão de foco!
+ $Vou te mostrar exatamente o que quero dizer. Prepare-se para perder!`
+ },
+ "victory": {
+ 1: "Devo dizer, estou aquecida para você! Posso até te admirar um pouco.",
+ 2: `Uau! Você é ótima! Ganhou meu respeito!
+ $Acho que seu foco e vontade nos derrubaram totalmente.`
+ },
+ "defeat": {
+ 1: "Eu senti sua vontade de vencer, mas eu não perco!",
+ 2: "Viu? O foco da Candice! O foco dos meus Pokémon também é ótimo!"
+ }
+ },
+ "gardenia": {
+ "encounter": {
+ 1: "Você tem uma aura vencedora. Então, de qualquer forma, isso vai ser divertido. Vamos ter nossa batalha!"
+ },
+ "victory": {
+ 1: "Incrível! Você é muito boa, não é?"
+ },
+ "defeat": {
+ 1: "Sim! Meus Pokémon e eu somos perfeitamente bons!"
+ }
+ },
+ "aaron": {
+ "encounter": {
+ 1: "Ok! Deixe-me enfrentar você!"
+ },
+ "victory": {
+ 1: "Batalhar é um assunto profundo e complexo..."
+ },
+ "defeat": {
+ 1: "Vencer um membro da Elite dos Quatro não é fácil."
+ }
+ },
+ "cress": {
+ "encounter": {
+ 1: "Isso mesmo! Serei eu e meus estimados tipos Água que você deve enfrentar na batalha!"
+ },
+ "victory": {
+ 1: "Perder? Eu? Não acredito nisso."
+ },
+ "defeat": {
+ 1: "Este é o resultado apropriado quando eu sou seu oponente."
+ }
+ },
+ "allister": {
+ "encounter": {
+ 1: "'M Allister.\nA-aqui... vou eu..."
+ },
+ "victory": {
+ 1: `Quase perdi minha máscara de tanto choque... Isso foi…
+ $Uau. Posso ver sua habilidade pelo que ela é.`,
+ },
+ "defeat": {
+ 1: "I-isso foi incrível!"
+ }
+ },
+ "clay": {
+ "encounter": {
+ 1: "Harrumph! Me deixou esperando, não foi, garota? Tudo bem, hora de ver o que você pode fazer!"
+ },
+ "victory": {
+ 1: "Cara, como é bom dar tudo de si e ainda assim ser derrotado!"
+ },
+ "defeat": {
+ 1: `O que importa é como você reage à derrota.
+ $É por isso que as pessoas que usam a derrota como combustível para melhorar são duras.`,
+ }
+ },
+ "kofu": {
+ "encounter": {
+ 1: "Vou te servir um prato completo de Pokémon do tipo Água! Mas não tente comê-los!"
+ },
+ "victory": {
+ 1: "Vaultin' Veluza! Você é animada, não é! Um pouco ANIMADO DEMAIS, se me permite dizer!"
+ },
+ "defeat": {
+ 1: "Volte para me ver novamente, ouviu?"
+ }
+ },
+ "tulip": {
+ "encounter": {
+ 1: "Permita-me usar minhas habilidades para deixar seus lindos Pokémon ainda mais bonitos!"
+ },
+ "victory": {
+ 1: "Sua força tem uma magia que não pode ser apagada."
+ },
+ "defeat": {
+ 1: "Você sabe, na minha linha de trabalho, pessoas que carecem de talento em uma área ou outra frequentemente desaparecem rapidamente - nunca mais se ouve falar delas."
+ }
+ },
+ "sidney": {
+ "encounter": {
+ 1: `Gostei desse olhar que você me deu. Acho que você vai ser um bom desafio.
+ $Isso é ótimo! Parece muito bom! Vamos nessa!
+ $Você e eu, vamos curtir uma batalha que só pode acontecer aqui!`,
+ },
+ "victory": {
+ 1: "E aí, gostou? Eu perdi! Mas foi divertido, então não importa."
+ },
+ "defeat": {
+ 1: "Sem ressentimentos, beleza?"
+ }
+ },
+ "phoebe": {
+ "encounter": {
+ 1: `Enquanto treinava, adquiri a habilidade de me comunicar com Pokémon do tipo Fantasma.
+ $Sim, o vínculo que desenvolvi com os Pokémon é extremamente forte.
+ $Então, vamos lá, tente ver se você consegue até mesmo causar dano aos meus Pokémon!`,
+ },
+ "victory": {
+ 1: "Ah, droga. Eu perdi."
+ },
+ "defeat": {
+ 1: "Estou ansiosa para batalhar com você de novo algum dia!"
+ }
+ },
+ "glacia": {
+ "encounter": {
+ 1: `Tudo o que vi foram desafios de Treinadores fracos e seus Pokémon.
+ $E você? Ficaria extremamente satisfeita se pudesse dar tudo de mim contra você!`,
+ },
+ "victory": {
+ 1: `Você e seus Pokémon… Como seus espíritos queimam!
+ $O calor consumido é esmagador.
+ $Não é surpresa que minhas habilidades geladas falharam em te machucar.`,
+ },
+ "defeat": {
+ 1: "Uma batalha intensamente apaixonada, sem dúvida."
+ }
+ },
+ "drake": {
+ "encounter": {
+ 1: `Para nós, batalhar com Pokémon como parceiros, você sabe o que é necessário? Você sabe o que precisa?
+ $Se não souber, nunca prevalecerá contra mim!`,
+ },
+ "victory": {
+ 1: "Excelente, deve-se dizer."
+ },
+ "defeat": {
+ 1: "Dei meu máximo nessa batalha!"
+ }
+ },
+ "wallace": {
+ "encounter": {
+ 1: `Há algo em você… Uma diferença na sua postura.
+ $Acho que sinto isso em você. Agora, me mostre. Mostre-me o poder que você tem com seus Pokémon.
+ $E eu, por minha vez, apresentarei uma performance de ilusões na água com meus Pokémon!`,
+ },
+ "victory": {
+ 1: `Bravo. Agora percebo sua autenticidade e magnificência como Treinadora de Pokémon.
+ $Tenho muita alegria em ter conhecido você e seus Pokémon. Você se mostrou digno.`,
+ },
+ "defeat": {
+ 1: "Uma grande ilusão!"
+ }
+ },
+ "lorelei": {
+ "encounter": {
+ 1: `Ninguém me supera quando se trata de Pokémon gelados! Movimentos congelantes são poderosos!
+ $Seus Pokémon estarão à minha mercê quando estiverem congelados! Hahaha! Está pronta?`,
+ },
+ "victory": {
+ 1: "Como ousa!"
+ },
+ "defeat": {
+ 1: "Não há nada que você possa fazer quando está congelado."
+ }
+ },
+ "will": {
+ "encounter": {
+ 1: `Treinei por todo o mundo, tornando meus Pokémon psíquicos poderosos.
+ $Eu só posso melhorar! Perder não é uma opção!`,
+ },
+ "victory": {
+ 1: "Eu… Eu não… acredito…"
+ },
+ "defeat": {
+ 1: "Isso foi por pouco. Me pergunto o que você está faltando."
+ }
+ },
+ "malva": {
+ "encounter": {
+ 1: `Sinto que meu coração pode explodir em chamas.
+ $Estou ardendo de ódio por você, pirralha!`,
+ },
+ "victory": {
+ 1: "Que novidade… Uma nova desafiadora derrotou Malva!"
+ },
+ "defeat": {
+ 1: "Estou encantada! Sim, encantada por poder esmagar você sob meu calcanhar."
+ }
+ },
+ "hala": {
+ "encounter": {
+ 1: "O velho Hala está aqui para fazer você gritar!"
+ },
+ "victory": {
+ 1: "Pude sentir o poder que você ganhou na sua jornada."
+ },
+ "defeat": {
+ 1: "Haha! Que batalha deliciosa!"
+ }
+ },
+ "molayne": {
+ "encounter": {
+ 1: `Dei a posição de capitão ao meu primo Sophocles, mas estou confiante na minha habilidade.
+ $Minha força é como a de uma supernova!`,
+ },
+ "victory": {
+ 1: "Certamente encontrei uma Treinadora interessante para enfrentar!"
+ },
+ "defeat": {
+ 1: "Ahaha. Que batalha interessante."
+ }
+ },
+ "rika": {
+ "encounter": {
+ 1: "Eu diria que vou pegar leve com você, mas… estaria mentindo! Pense rápido!"
+ },
+ "victory": {
+ 1: "Nada mal, garota."
+ },
+ "defeat": {
+ 1: "Nahahaha! Você realmente é algo mais, garota!"
+ }
+ },
+ "bruno": {
+ "encounter": {
+ 1: "Nós vamos te triturar com nosso poder superior! Hoo hah!"
+ },
+ "victory": {
+ 1: "Por quê? Como eu poderia perder?"
+ },
+ "defeat": {
+ 1: "Você pode me desafiar o quanto quiser, mas os resultados nunca vão mudar!"
+ }
+ },
+ "bugsy": {
+ "encounter": {
+ 1: "Sou Bugsy! Eu nunca perco quando se trata de Pokémon do tipo Inseto!"
+ },
+ "victory": {
+ 1: "Uau, incrível! Você é uma especialista em Pokémon!\nMinha pesquisa ainda não está completa. OK, você venceu."
+ },
+ "defeat": {
+ 1: "Obrigado! Graças à nossa batalha, eu também pude fazer progressos na minha pesquisa!"
+ }
+ },
+ "koga": {
+ "encounter": {
+ 1: "Fwahahahaha! Pokémon não são apenas sobre força bruta--você verá em breve!"
+ },
+ "victory": {
+ 1: "Ah! Você provou seu valor!"
+ },
+ "defeat": {
+ 1: "Você aprendeu a temer as técnicas do ninja?"
+ }
+ },
+ "bertha": {
+ "encounter": {
+ 1: "Bem, você mostraria a esta velha senhora o quanto aprendeu?"
+ },
+ "victory": {
+ 1: `Bem! Querida criança, devo dizer, isso foi muito impressionante.
+ $Seus Pokémon acreditaram em você e fizeram o melhor para te dar a vitória.
+ $Mesmo tendo perdido, me encontro com esse sorriso bobo!`,
+ },
+ "defeat": {
+ 1: "Hahahahah! Parece que esta velha senhora ganhou!"
+ }
+ },
+ "lenora": {
+ "encounter": {
+ 1: "Bem, desafiador, vou pesquisar como você batalha com os Pokémon que criou com tanto carinho!"
+ },
+ "victory": {
+ 1: "Minha teoria sobre você estava correta. Você é mais do que talentosa… Você é motivada! Eu te saúdo!"
+ },
+ "defeat": {
+ 1: "Ah ha ha! Se você perder, certifique-se de analisar o porquê e use esse conhecimento na próxima batalha!"
+ }
+ },
+ "siebold": {
+ "encounter": {
+ 1: "Enquanto eu estiver vivo, continuarei em busca da culinária suprema... e dos oponentes mais fortes em batalha!"
+ },
+ "victory": {
+ 1: "Guardarei minha memória de você e seus Pokémon para sempre em meu coração."
+ },
+ "defeat": {
+ 1: `Nossa batalha Pokémon foi como alimento para minha alma. Isso vai me manter em frente.
+ $É assim que vou prestar meus respeitos a você por dar tudo de si na batalha!`,
+ }
+ },
+ "roxie": {
+ "encounter": {
+ 1: "Prepare-se! Vou arrancar algum senso de você!"
+ },
+ "victory": {
+ 1: "Selvagem! Sua razão já é mais tóxica que a minha!"
+ },
+ "defeat": {
+ 1: "Ei, vamos lá! Seja séria! Você tem que dar mais de si!"
+ }
+ },
+ "olivia": {
+ "encounter": {
+ 1: "Não precisa de introdução aqui. Hora de batalhar comigo, Olivia!"
+ },
+ "victory": {
+ 1: "Realmente encantador… Tanto você quanto seus Pokémon…"
+ },
+ "defeat": {
+ 1: "Mmm-hmm."
+ }
+ },
+ "poppy": {
+ "encounter": {
+ 1: "Oooh! Você quer ter uma batalha Pokémon comigo?"
+ },
+ "victory": {
+ 1: "Uagh?! Mmmuuuggghhh…"
+ },
+ "defeat": {
+ 1: `Yaaay! Eu consegui! Eu der-ro-tei você! Você pode vir para… Para… Uma revanche?
+ $Venha para uma revanche quando quiser!`,
+ }
+ },
+ "agatha": {
+ "encounter": {
+ 1: "Pokémon são para batalhas! Vou te mostrar como um verdadeiro Treinador batalha!"
+ },
+ "victory": {
+ 1: "Oh meu! Você é algo especial, criança!"
+ },
+ "defeat": {
+ 1: "Bahaha. É assim que uma batalha adequada é feita!"
+ }
+ },
+ "flint": {
+ "encounter": {
+ 1: "Espero que você esteja aquecida, porque aqui vem o Big Bang!"
+ },
+ "victory": {
+ 1: "Incrível! Seus movimentos são tão quentes que fazem os meus parecerem mornos!"
+ },
+ "defeat": {
+ 1: "Huh? Isso é tudo? Acho que você precisa de um pouco mais de paixão."
+ }
+ },
+ "grimsley": {
+ "encounter": {
+ 1: "O vencedor leva tudo, e não sobra nada para o perdedor."
+ },
+ "victory": {
+ 1: "Quando se perde, perde-se tudo… A próxima coisa que vou procurar será a vitória, também!"
+ },
+ "defeat": {
+ 1: "Se alguém vence, a pessoa que lutou contra essa pessoa perde."
+ }
+ },
+ "caitlin": {
+ "encounter": {
+ 1: `Sou eu que apareci quando a flor se abriu. Você que estava esperando…
+ $Você parece uma Treinadora de Pokémon com força refinada e bondade profunda.
+ $O que eu procuro no meu oponente é uma força soberba…
+ $Por favor, libere seu poder ao máximo!`,
+ },
+ "victory": {
+ 1: "Meus Pokémon e eu aprendemos muito! Agradeço a você."
+ },
+ "defeat": {
+ 1: "Aspiro a reivindicar a vitória com elegância e graça."
+ }
+ },
+ "diantha": {
+ "encounter": {
+ 1: `Batalhar contra você e seus Pokémon, todos vocês cheios de esperança para o futuro…
+ $Honestamente, isso apenas me enche da energia que preciso para continuar enfrentando cada novo dia! Sim!`,
+ },
+ "victory": {
+ 1: "Testemunhar os espíritos nobres de você e seus Pokémon em batalha realmente tocou meu coração…"
+ },
+ "defeat": {
+ 1: "Oh, fantástico! O que achou? Minha equipe foi bem legal, né?"
+ }
+ },
+ "wikstrom": {
+ "encounter": {
+ 1: `Bem encontrado, jovem desafiador! Verdadeiramente sou a lâmina famosa de aço endurecido, Duque Wikstrom!
+ $Que a batalha comece! En garde!`,
+ },
+ "victory": {
+ 1: "Glorioso! A confiança que você compartilha com seu honrado Pokémon supera até mesmo a minha!"
+ },
+ "defeat": {
+ 1: `Que tipo de magia é essa? Meu coração bate incessantemente no meu peito!
+ $Vencer contra um oponente tão digno dá asas à minha alma--assim eu voo!`,
+ }
+ },
+ "acerola": {
+ "encounter": {
+ 1: "Batalhar é simplesmente divertido! Vamos lá, eu posso te derrotar!"
+ },
+ "victory": {
+ 1: "Eu… Estou sem palavras! Como você conseguiu?!"
+ },
+ "defeat": {
+ 1: "Ehaha! Que vitória incrível!"
+ }
+ },
+ "larry_elite": {
+ "encounter": {
+ 1: `Olá… Sou eu, Larry.
+ $Eu também sou membro da Elite dos Quatro, sim… Infelizmente para mim.`,
+ },
+ "victory": {
+ 1: "Bem, isso tirou o vento debaixo das nossas asas…"
+ },
+ "defeat": {
+ 1: "É hora de uma reunião com o chefe."
+ }
+ },
+ "lance": {
+ "encounter": {
+ 1: "Estive esperando por você. Permita-me testar suas habilidades.",
+ 2: "Achei que você conseguiria chegar tão longe. Vamos começar."
+ },
+ "victory": {
+ 1: "Você me pegou. Você é magnífica!",
+ 2: "Nunca esperei que outro Treinador me derrotasse… Estou surpreso."
+ },
+ "defeat": {
+ 1: "Isso foi por pouco. Quer tentar de novo?",
+ 2: "Não é que você seja fraco. Não se incomode com isso."
+ }
+ },
+ "karen": {
+ "encounter": {
+ 1: "Eu sou Karen. Você gostaria de um duelo com meus Pokémon do tipo Sombrio?",
+ 2: "Sou diferente daqueles que você já conheceu.",
+ 3: "Você montou uma equipe charmosa. Nossa batalha deve ser boa."
+ },
+ "victory": {
+ 1: "Não! Eu não posso vencer. Como você ficou tão forte?",
+ 2: "Não me desviarei do meu caminho escolhido.",
+ 3: "O Campeão está ansioso para te conhecer."
+ },
+ "defeat": {
+ 1: "Isso era o que eu esperava.",
+ 2: "Bem, isso foi relativamente divertido.",
+ 3: "Venha me visitar a qualquer momento."
+ }
+ },
+ "milo": {
+ "encounter": {
+ 1: `Parece que você entende bem os Pokémon.
+ $Isso vai ser uma batalha e tanto!
+ $Vou ter que usar a Dynamax no meu Pokémon se eu quiser vencer!`,
+ },
+ "victory": {
+ 1: "O poder da Grama murchou… Que desafiador incrível!"
+ },
+ "defeat": {
+ 1: "Isso realmente vai te deixar em choque e admiração."
+ }
+ },
+ "lucian": {
+ "encounter": {
+ 1: `Só um momento, por favor. O livro que estou lendo está quase no clímax emocionante…
+ $O herói obteve uma espada mística e está prestes a enfrentar sua prova final… Ah, tanto faz.
+ $Já que você chegou tão longe, vou deixar isso de lado e batalhar com você.
+ $Deixe-me ver se você alcançará tanta glória quanto o herói do meu livro!`,
+ },
+ "victory": {
+ 1: "Eu vejo… Parece que você me colocou em xeque-mate."
+ },
+ "defeat": {
+ 1: "Tenho uma reputação a manter."
+ }
+ },
+ "drasna": {
+ "encounter": {
+ 1: `Você deve ser uma Treinadora forte. Sim, bastante forte…
+ $Isso é uma notícia maravilhosa! Enfrentar oponentes como você e sua equipe fará meus Pokémon crescerem como ervas daninhas!`,
+ },
+ "victory": {
+ 1: "Oh, meu Deus. Isso foi uma batalha rápida… Espero que você volte novamente algum dia!"
+ },
+ "defeat": {
+ 1: "Como isso é possível?"
+ }
+ },
+ "kahili": {
+ "encounter": {
+ 1: "Então, aqui está você… Por que não vemos para quem os ventos favorecem hoje, você… ou eu?"
+ },
+ "victory": {
+ 1: "É frustrante para mim como membro da Elite dos Quatro, mas parece que sua força é real."
+ },
+ "defeat": {
+ 1: "Essa foi uma jogada de mestre!"
+ }
+ },
+ "hassel": {
+ "encounter": {
+ 1: "Prepare-se para aprender em primeira mão como é a respiração ardente de uma batalha feroz!"
+ },
+ "victory": {
+ 1: `A sorte sorriu para mim desta vez, mas…
+ $Julgando pelo andamento da luta, quem sabe se serei tão sortudo na próxima vez.`,
+ },
+ "defeat": {
+ 1: "Essa foi uma jogada de mestre!"
+ }
+ },
+ "blue": {
+ "encounter": {
+ 1: "Você deve ser muito boa para chegar tão longe."
+ },
+ "victory": {
+ 1: "Só perdi para ele e agora para você… Ele? Hee, hee…"
+ },
+ "defeat": {
+ 1: "Viu? Meu poder é o que me trouxe até aqui."
+ }
+ },
+ "piers": {
+ "encounter": {
+ 1: "Prepare-se para uma mosh pit comigo e minha galera! Spikemuth, é hora de roquear!"
+ },
+ "victory": {
+ 1: "Eu e minha equipe demos o nosso melhor. Vamos nos encontrar novamente para uma batalha algum dia…"
+ },
+ "defeat": {
+ 1: "Minha garganta está desgastada de tanto gritar… Mas essa foi uma batalha empolgante!"
+ }
+ },
+ "red": {
+ "encounter": {
+ 1: "…!"
+ },
+ "victory": {
+ 1: "…?"
+ },
+ "defeat": {
+ 1: "…!"
+ }
+ },
+ "jasmine": {
+ "encounter": {
+ 1: "Oh… Seus Pokémon são impressionantes. Acho que vou gostar disso."
+ },
+ "victory": {
+ 1: "Você é realmente forte. Vou ter que me esforçar muito mais também."
+ },
+ "defeat": {
+ 1: "Eu nunca esperei ganhar."
+ }
+ },
+ "lance_champion": {
+ "encounter": {
+ 1: "Ainda sou o Campeão. Não vou segurar nada."
+ },
+ "victory": {
+ 1: "Esta é a emergência de uma nova Campeã."
+ },
+ "defeat": {
+ 1: "Defendi com sucesso meu Campeonato."
+ }
+ },
+ "steven": {
+ "encounter": {
+ 1: `Diga-me… O que você viu na sua jornada com seus Pokémon?
+ $O que você sentiu, encontrando tantos outros Treinadores por aí?
+ $Viajar por esta terra rica… Isso despertou algo dentro de você?
+ $Quero que você venha até mim com tudo o que aprendeu.
+ $Meus Pokémon e eu responderemos com tudo o que sabemos!`,
+ },
+ "victory": {
+ 1: "Então eu, o Campeão, caio em derrota…"
+ },
+ "defeat": {
+ 1: "Esse tempo foi bem gasto! Obrigado!"
+ }
+ },
+ "cynthia": {
+ "encounter": {
+ 1: "Eu, Cynthia, aceito seu desafio! Não haverá nenhuma trégua da minha parte!"
+ },
+ "victory": {
+ 1: "Não importa o quão divertida a batalha seja, ela sempre terminará algum dia…"
+ },
+ "defeat": {
+ 1: "Mesmo que você perca, nunca perca o amor pelos Pokémon."
+ }
+ },
+ "iris": {
+ "encounter": {
+ 1: `Sabe de uma coisa? Estou realmente ansiosa para ter batalhas sérias com Treinadores fortes!
+ $Quero dizer, vamos lá! Os Treinadores que chegam aqui são Treinadores que desejam a vitória com todas as fibras do seu ser!
+ #E eles estão batalhando ao lado de Pokémon que passaram por inúmeras batalhas difíceis!
+ $Se eu batalhar com pessoas assim, não só eu ficarei mais forte, meus Pokémon também!
+ $E nós vamos nos conhecer ainda melhor! OK! Prepare-se!
+ $Sou Iris, a Campeã da Liga Pokémon, e vou te derrotar!`,
+ },
+ "victory": {
+ 1: "Aghhhh… Eu dei o meu melhor, mas nós perdemos…"
+ },
+ "defeat": {
+ 1: "Yay! Nós vencemos!"
+ }
+ },
+ "hau": {
+ "encounter": {
+ 1: `Eu me pergunto se um Treinador batalha de maneira diferente dependendo se ele é de uma região quente ou fria.
+ $Vamos testar isso!`,
+ },
+ "victory": {
+ 1: "Isso foi incrível! Acho que entendi um pouco melhor seu estilo agora!"
+ },
+ "defeat": {
+ 1: "Cara, essa foi uma batalha e tanto!"
+ }
+ },
+ "geeta": {
+ "encounter": {
+ 1: `Decidi entrar na batalha mais uma vez.
+ $Venha agora… Mostre-me os frutos do seu treinamento.`,
+ },
+ "victory": {
+ 1: "Estou ansiosa para notícias de todas as suas conquistas!"
+ },
+ "defeat": {
+ 1: "Qual o problema? Isso é tudo?"
+ }
+ },
+ "nemona": {
+ "encounter": {
+ 1: "Yesss! Estou tão empolgada! Hora de soltar tudo!"
+ },
+ "victory": {
+ 1: "Bem, isso foi ruim, mas ainda me diverti! Eu te pego na próxima!"
+ },
+ "defeat": {
+ 1: "Bem, essa foi uma ótima batalha! Frutífera, com certeza."
+ }
+ },
+ "leon": {
+ "encounter": {
+ 1: "Vamos ter um tempo absolutamente campeão!"
+ },
+ "victory": {
+ 1: `Meu tempo como Campeão acabou…
+ $Mas que tempo campeão foi!
+ $Obrigado pela melhor batalha que já tive!`,
+ },
+ "defeat": {
+ 1: "Um tempo absolutamente campeão, foi!"
+ }
+ },
+ "whitney": {
+ "encounter": {
+ 1: "Eai! Você não acha que os Pokémon são, tipo, super fofos?"
+ },
+ "victory": {
+ 1: "Waaah! Waaah! Você é tão má!"
+ },
+ "defeat": {
+ 1: "E é isso!"
+ }
+ },
+ "chuck": {
+ "encounter": {
+ 1: "Hah! Você quer me desafiar? É corajosa ou apenas ignorante?"
+ },
+ "victory": {
+ 1: "Você é forte! Por favor, me faça seu aprendiz?"
+ },
+ "defeat": {
+ 1: "Aí está. Você percebe o quanto sou mais poderoso que você?"
+ }
+ },
+ "katy": {
+ "encounter": {
+ 1: "Não baixe a guarda, a menos que queira se ver jogada no chão!"
+ },
+ "victory": {
+ 1: "Todos os meus adoráveis Pokémon caíram como moscas!"
+ },
+ "defeat": {
+ 1: "Coma, meu adorável Vivillon!"
+ }
+ },
+ "pryce": {
+ "encounter": {
+ 1: "A juventude sozinha não garante a vitória! Experiência é o que conta."
+ },
+ "victory": {
+ 1: "Excelente! Isso foi perfeito. Tente não esquecer o que sente agora."
+ },
+ "defeat": {
+ 1: "Exatamente como eu imaginei."
+ }
+ },
+ "clair": {
+ "encounter": {
+ 1: "Você sabe quem eu sou? E ainda se atreve a me desafiar?"
+ },
+ "victory": {
+ 1: "Eu me pergunto até onde você pode ir com seu nível de habilidade. Isso deve ser fascinante."
+ },
+ "defeat": {
+ 1: "E é isso."
+ }
+ },
+ "maylene": {
+ "encounter": {
+ 1: `Vim desafiá-la agora e não vou segurar nada.
+ $Por favor, prepare-se para a batalha!`,
+ },
+ "victory": {
+ 1: "Eu admito a derrota…"
+ },
+ "defeat": {
+ 1: "Isso foi incrível."
+ }
+ },
+ "fantina": {
+ "encounter": {
+ 1: `Você vai me desafiar, não é? Mas eu vou ganhar.
+ $É o que a Líder do Ginásio de Hearthome faz, não?`,
+ },
+ "victory": {
+ 1: "Você é tão incrivelmente forte. Sei porque perdi."
+ },
+ "defeat": {
+ 1: "Estou tão, tão, muito feliz!"
+ }
+ },
+ "byron": {
+ "encounter": {
+ 1: `Treinadora! Você é jovem, assim como meu filho, Roark.
+ $Com mais Treinadores jovens assumindo o comando, o futuro dos Pokémon é brilhante!
+ $Então, como uma parede para os jovens, aceitarei seu desafio!`,
+ },
+ "victory": {
+ 1: "Hmm! Meus Pokémon robustos--derrotados!"
+ },
+ "defeat": {
+ 1: "Gwahahaha! Como foram meus Pokémon robustos?!"
+ }
+ },
+ "olympia": {
+ "encounter": {
+ 1: "Um costume antigo decidindo o destino de alguém. A batalha começa!"
+ },
+ "victory": {
+ 1: "Crie seu próprio caminho. Não deixe nada te atrapalhar. Seu destino, seu futuro."
+ },
+ "defeat": {
+ 1: "Nosso caminho está claro agora."
+ }
+ },
+ "volkner": {
+ "encounter": {
+ 1: `Já que você chegou tão longe, deve ser bastante forte…
+ $Espero que você seja a Treinadora que me faça lembrar como é divertido batalhar!`,
+ },
+ "victory": {
+ 1: `Você me venceu…
+ $Seu desejo e a maneira nobre como seus Pokémon batalharam por você…
+ $Eu até me senti emocionado durante nossa luta. Foi uma batalha muito boa.`,
+ },
+ "defeat": {
+ 1: `Não foi nada chocante…
+ $Isso não é o que eu queria!`,
+ }
+ },
+ "burgh": {
+ "encounter": {
+ 1: `M'hm… Se eu ganhar esta batalha, sinto que posso desenhar um quadro diferente de qualquer outro.
+ $OK! Posso ouvir minha musa da batalha claramente. Vamos direto ao ponto!`,
+ 2: `Claro, estou realmente orgulhoso de todos os meus Pokémon!
+ $Bem agora… Vamos direto ao ponto!`
+ },
+ "victory": {
+ 1: "Acabou? Minha musa me abandonou?",
+ 2: "Hmm… Acabou! Você é incrível!"
+ },
+ "defeat": {
+ 1: "Uau… É bonito de alguma forma, não é…",
+ 2: `Às vezes ouço as pessoas dizerem que foi uma vitória feia.
+ $Acho que se você está dando o seu melhor, qualquer vitória é bonita.`
+ }
+ },
+ "elesa": {
+ "encounter": {
+ 1: `C'est fini! Quando tenho certeza disso, sinto um choque elétrico percorrer meu corpo!
+ $Quero sentir essa sensação, então agora meus amados Pokémon vão fazer sua cabeça girar!`,
+ },
+ "victory": {
+ 1: "Eu queria fazer sua cabeça girar, mas você me surpreendeu."
+ },
+ "defeat": {
+ 1: "Isso foi insatisfatório de alguma forma… Você dará tudo de si na próxima vez?"
+ }
+ },
+ "skyla": {
+ "encounter": {
+ 1: `Finalmente é hora do confronto! Isso significa a batalha Pokémon que decide quem está no topo, certo?
+ $Eu amo estar no topo! Porque você pode ver para sempre e sempre de lugares altos!
+ $Então, que tal nós nos divertirmos?`,
+ },
+ "victory": {
+ 1: "Ser seu oponente na batalha é uma nova fonte de força para mim. Obrigada!"
+ },
+ "defeat": {
+ 1: "Ganhar ou perder, você sempre ganha algo com uma batalha, certo?"
+ }
+ },
+ "brycen": {
+ "encounter": {
+ 1: `Há também força em estar com outras pessoas e Pokémon.
+ $Receber o apoio deles te fortalece. Vou te mostrar esse poder!`,
+ },
+ "victory": {
+ 1: "A maravilhosa combinação de você e seus Pokémon! Que amizade linda!"
+ },
+ "defeat": {
+ 1: "Condições extremas realmente testam e treinam você!"
+ }
+ },
+ "drayden": {
+ "encounter": {
+ 1: `O que eu quero encontrar é um jovem Treinador que possa me mostrar um futuro brilhante.
+ $Vamos batalhar com tudo o que temos: sua habilidade, minha experiência e o amor com que criamos nossos Pokémon!`,
+ },
+ "victory": {
+ 1: "Esse sentimento intenso que me invade após uma derrota… Não sei como descrevê-lo."
+ },
+ "defeat": {
+ 1: "Harrumph! Sei que sua habilidade é maior que isso!"
+ }
+ },
+ "grant": {
+ "encounter": {
+ 1: `Só há uma coisa que desejo.
+ $Que, superando um ao outro, encontremos um caminho para alturas ainda maiores.`,
+ },
+ "victory": {
+ 1: "Você é uma parede que não consigo superar!"
+ },
+ "defeat": {
+ 1: `Não desista.
+ $Isso é tudo o que realmente importa.
+ $As lições mais importantes da vida são simples.`,
+ }
+ },
+ "korrina": {
+ "encounter": {
+ 1: "Hora da grande aparição de Lady Korrina!"
+ },
+ "victory": {
+ 1: "É o seu próprio ser que permite que seus Pokémon evoluam!"
+ },
+ "defeat": {
+ 1: "Que batalha explosiva!"
+ }
+ },
+ "clemont": {
+ "encounter": {
+ 1: "Oh! Estou feliz por termos nos encontrado!"
+ },
+ "victory": {
+ 1: "Sua paixão pela batalha me inspira!"
+ },
+ "defeat": {
+ 1: "Parece que minha Máquina Treinadora-Crescer-Forte, Mach 2 está realmente funcionando!"
+ }
+ },
+ "valerie": {
+ "encounter": {
+ 1: `Oh, se não é uma jovem Treinadora… É adorável conhecê-lo assim.
+ $Então, suponho que você ganhou o direito a uma batalha, como recompensa por seus esforços.
+ $O elusivo Fada pode parecer frágil como a brisa e delicado como uma flor, mas é forte.`,
+ },
+ "victory": {
+ 1: "Espero que você encontre coisas para sorrir amanhã…"
+ },
+ "defeat": {
+ 1: "Oh meu Deus, que pena…"
+ }
+ },
+ "wulfric": {
+ "encounter": {
+ 1: `Sabe de uma coisa? Todos falamos muito sobre o que você aprende com as batalhas e os laços e tudo mais…
+ $Mas realmente, eu só faço isso porque é divertido.
+ $Quem se importa com o grandioso? Vamos batalhar!`,
+ },
+ "victory": {
+ 1: "Incrível! Sou duro como um iceberg, mas você me quebrou por completo!"
+ },
+ "defeat": {
+ 1: "Lute comigo e é isso que acontece!"
+ }
+ },
+ "kabu": {
+ "encounter": {
+ 1: `Todo Treinador e Pokémon treina duro em busca da vitória.
+ $Mas isso significa que seu oponente também está se esforçando para vencer.
+ $No final, a partida é decidida por qual lado é capaz de liberar seu verdadeiro potencial.`,
+ },
+ "victory": {
+ 1: "Estou feliz por poder lutar com você hoje!"
+ },
+ "defeat": {
+ 1: "É uma ótima maneira de sentir meu próprio crescimento!"
+ }
+ },
+ "bea": {
+ "encounter": {
+ 1: `Você tem um espírito inabalável que não será movido, não importa como você seja atacado?
+ $Acho que vou testar isso, certo?`,
+ },
+ "victory": {
+ 1: "Senti o espírito de luta de seus Pokémon enquanto você os liderava na batalha."
+ },
+ "defeat": {
+ 1: "Essa foi a melhor partida que alguém poderia esperar."
+ }
+ },
+ "opal": {
+ "encounter": {
+ 1: "Deixe-me ver como você e seu Pokémon parceiro se comportam!"
+ },
+ "victory": {
+ 1: "Seu rosa ainda está faltando, mas você é uma Treinadora excelente com Pokémon excelentes."
+ },
+ "defeat": {
+ 1: "Muito ruim para você, eu acho."
+ }
+ },
+ "bede": {
+ "encounter": {
+ 1: "Suponho que devo provar além de qualquer dúvida o quão patética você é e quão forte eu sou."
+ },
+ "victory": {
+ 1: "Eu vejo… Bem, tudo bem. Eu não estava me esforçando muito de qualquer maneira."
+ },
+ "defeat": {
+ 1: "Bom trabalho, eu suponho."
+ }
+ },
+ "gordie": {
+ "encounter": {
+ 1: "Então, vamos acabar com isso."
+ },
+ "victory": {
+ 1: "Eu só quero me enterrar em um buraco… Bem, acho que seria mais como cair daqui."
+ },
+ "defeat": {
+ 1: "Batalhe como sempre faz, a vitória seguirá!"
+ }
+ },
+ "marnie": {
+ "encounter": {
+ 1: `A verdade é que, quando tudo está dito e feito… Eu realmente só quero me tornar Campeã por mim mesma!
+ $Então, não leve para o pessoal quando eu chutar seu traseiro!`,
+ },
+ "victory": {
+ 1: "OK, então eu perdi… Mas consegui ver muitos dos pontos bons de você e seus Pokémon!"
+ },
+ "defeat": {
+ 1: "Espero que você tenha gostado das nossas táticas de batalha."
+ }
+ },
+ "raihan": {
+ "encounter": {
+ 1: "Vou derrotar o Campeão, vencer todo o torneio e provar ao mundo o quão forte o grande Raihan realmente é!"
+ },
+ "victory": {
+ 1: `Eu pareço bem mesmo quando perco.
+ $É uma verdadeira maldição.
+ $Acho que é hora de mais uma selfie!`,
+ },
+ "defeat": {
+ 1: "Vamos tirar uma selfie para lembrar disso."
+ }
+ },
+ "brassius": {
+ "encounter": {
+ 1: "Pressuponho que você está pronta? Que nossa obra de arte colaborativa comece!"
+ },
+ "victory": {
+ 1: "Ahhh…avant-garde!"
+ },
+ "defeat": {
+ 1: "Começarei uma nova peça imediatamente!"
+ }
+ },
+ "iono": {
+ "encounter": {
+ 1: `Como você está se sentindo sobre esta batalha?
+ $...
+ $Vamos começar o show! Quão forte é o nossa desafiadora?
+ $Eu não sei! Vamos descobrir juntos!`,
+ },
+ "victory": {
+ 1: "Você é tão chamativa e brilhante quanto um Raio do Trovão de 10.000.000 volts, amiga!"
+ },
+ "defeat": {
+ 1: "Seus olhos são MEUS!"
+ }
+ },
+ "larry": {
+ "encounter": {
+ 1: "Quando tudo está dito e feito, a simplicidade é mais forte."
+ },
+ "victory": {
+ 1: "Uma porção de derrota, hein?"
+ },
+ "defeat": {
+ 1: "Vou encerrar o dia."
+ }
+ },
+ "ryme": {
+ "encounter": {
+ 1: "Vamos lá, baby! Me agite até os ossos!"
+ },
+ "victory": {
+ 1: "Você é legal, minha amiga, você move minha ALMA!"
+ },
+ "defeat": {
+ 1: "Até mais, baby!"
+ }
+ },
+ "grusha": {
+ "encounter": {
+ 1: "Tudo o que preciso fazer é garantir que o poder do meu Pokémon te arrependa até os ossos!"
+ },
+ "victory": {
+ 1: "Sua paixão ardente... Eu meio que gosto, para ser honesto."
+ },
+ "defeat": {
+ 1: "As coisas não esquentaram para você."
+ }
+ },
+ "marnie_elite": {
+ "encounter": {
+ 1: "Você chegou até aqui, hein? Vamos ver se você pode lidar com meus Pokémon!",
+ 2: "Vou dar o meu melhor, mas não pense que vou pegar leve com você!"
+ },
+ "victory": {
+ 1: "Não acredito que perdi... Mas você mereceu essa vitória. Bem feito!",
+ 2: "Parece que ainda tenho muito a aprender. Grande batalha, porém!"
+ },
+ "defeat": {
+ 1: "Você lutou bem, mas eu tenho a vantagem! Melhor sorte na próxima vez!",
+ 2: "Parece que meu treinamento valeu a pena. Obrigado pela batalha!"
+ }
+ },
+ "nessa_elite": {
+ "encounter": {
+ 1: "As marés estão mudando a meu favor. Pronta para ser levada pela corrente?",
+ 2: "Vamos fazer ondas com esta batalha! Espero que esteja preparada!"
+ },
+ "victory": {
+ 1: "Você navegou nessas águas perfeitamente... Bem feito!",
+ 2: "Parece que minhas correntes não foram páreo para você. Bom trabalho!"
+ },
+ "defeat": {
+ 1: "A água sempre encontra um caminho. Essa foi uma batalha refrescante!",
+ 2: "Você lutou bem, mas o poder do oceano é imparável!"
+ }
+ },
+ "bea_elite": {
+ "encounter": {
+ 1: "Prepare-se! Meu espírito de luta brilha intensamente!",
+ 2: "Vamos ver se você consegue acompanhar meu ritmo implacável!"
+ },
+ "victory": {
+ 1: "Sua força... É impressionante. Você realmente merece essa vitória.",
+ 2: "Nunca senti essa intensidade antes. Trabalho incrível!"
+ },
+ "defeat": {
+ 1: "Outra vitória para meu rigoroso regime de treinamento! Bem feito!",
+ 2: "Você tem força, mas eu treinei mais. Grande batalha!"
+ }
+ },
+ "allister_elite": {
+ "encounter": {
+ 1: "As sombras caem... Você está pronta para enfrentar seus medos?",
+ 2: "Vamos ver se você pode lidar com a escuridão que eu comando."
+ },
+ "victory": {
+ 1: "Você dissipou as sombras... Por enquanto. Bem feito.",
+ 2: "Sua luz atravessou minha escuridão. Ótimo trabalho."
+ },
+ "defeat": {
+ 1: "As sombras falaram... Sua força não é suficiente.",
+ 2: "A escuridão triunfa... Talvez na próxima vez você veja a luz."
+ }
+ },
+ "raihan_elite": {
+ "encounter": {
+ 1: "Tempestade se formando! Vamos ver se você aguenta essa luta!",
+ 2: "Prepare-se para enfrentar o olho da tempestade!"
+ },
+ "victory": {
+ 1: "Você enfrentou a tempestade... Trabalho incrível!",
+ 2: "Você navegou nos ventos perfeitamente... Grande batalha!"
+ },
+ "defeat": {
+ 1: "Outra tempestade enfrentada, outra vitória conquistada! Bem lutado!",
+ 2: "Você foi pego na minha tempestade! Melhor sorte na próxima vez!"
+ }
+ },
+ "alder": {
+ "encounter": {
+ 1: "Se prepare para uma batalha contra o Treinador mais forte de Unova!"
+ },
+ "victory": {
+ 1: "Muito bem! Você certamente é um talento incomparável."
+ },
+ "defeat": {
+ 1: `Um vento fresco sopra em meu coração...
+ $Que esforço extraordinário!`
+ }
+ },
+ "kieran": {
+ "encounter": {
+ 1: `Através do trabalho duro, eu me torno cada vez mais forte!
+ $Eu não perco.`
+ },
+ "victory": {
+ 1: `Eu não acredito...
+ $Que batalha divertida e emocionante!`
+ },
+ "defeat": {
+ 1: `Uau, que batalha!
+ $Hora de você treinar ainda mais.`
+ }
+ },
+ "rival": {
+ "encounter": {
+ 1: `@c{smile}Eai, estava procurando você! Sabia que você estava ansiosa para começar, mas esperava pelo menos um tchau…
+ $@c{smile_eclosed}Então você está realmente perseguindo seu sonho, hein?\n Quase não consigo acreditar.
+ $@c{serious_smile_fists}Já que estamos aqui, que tal uma batalha?\nAfinal, quero ter certeza de que você está pronta.
+ $@c{serious_mopen_fists}Não se segure, quero que você dê tudo de si!`
+ },
+ "victory": {
+ 1: `@c{shock}Caramba… Você me limpou.\nVocê é mesmo uma novata?
+ $@c{smile}Talvez tenha sido um pouco de sorte, mas…\nQuem sabe você consiga chegar até o fim.
+ $Aliás, o professor me pediu para te dar esses itens. Eles parecem bem legais.
+ $@c{serious_smile_fists}Boa sorte lá fora!`
+ },
+ },
+ "rival_female": {
+ "encounter": {
+ 1: `@c{smile_wave}Aí está você! Procurei você em todo lugar!\n@c{angry_mopen}Esqueceu de se despedir da sua melhor amiga?
+ $@c{smile_ehalf}Você está indo atrás do seu sonho, né?\nEsse dia realmente chegou, não é…
+ $@c{smile}Enfim, vou te perdoar por ter me esquecido, mas com uma condição. @c{smile_wave_wink}Você tem que lutar comigo!
+ $@c{angry_mopen}Dê o seu melhor! Não quer que sua aventura acabe antes de começar, né?`
+ },
+ "victory": {
+ 1: `@c{shock}Você acabou de começar e já está tão forte?!@d{96}\n@c{angry}Você trapaceou, não foi?
+ $@c{smile_wave_wink}Brincadeirinha!@d{64} @c{smile_eclosed}Eu perdi de forma justa… Tenho a sensação de que você vai se sair muito bem lá fora.
+ $@c{smile}Aliás, o professor pediu para eu te dar alguns itens. Espero que sejam úteis!
+ $@c{smile_wave}Dê o seu melhor, como sempre! Eu acredito em você!`
+ },
+ },
+ "rival_2": {
+ "encounter": {
+ 1: `@c{smile}Eai, você também está aqui?\n@c{smile_eclosed}Ainda com um recorde perfeito, hein…?
+ $@c{serious_mopen_fists}Sei que parece que eu te segui até aqui, mas isso não é totalmente verdade.
+ $@c{serious_smile_fists}Sinceramente, tenho estado ansioso por uma revanche desde que você me venceu em casa.
+ $Tenho treinado bastante, então vou dar uma luta difícil desta vez.
+ $@c{serious_mopen_fists}Não se segure, assim como antes!\nVamos lá!`
+ },
+ "victory": {
+ 1: `@c{neutral_eclosed}Ah. Acho que fui confiante demais.
+ $@c{smile}Tudo bem, no entanto. Eu imaginei que isso poderia acontecer.\n@c{serious_mopen_fists}Isso só significa que preciso me esforçar mais para a próxima vez!\n
+ $@c{smile}Ah, não que você precise realmente de ajuda, mas eu tinha um extra desses itens e pensei que você poderia querer.
+ $@c{serious_smile_fists}Não espere outro depois deste!\nNão posso continuar dando vantagem ao meu oponente.
+ $@c{smile}Enfim, cuide-se!`
+ },
+ },
+ "rival_2_female": {
+ "encounter": {
+ 1: `@c{smile_wave}Oh, que surpresa te encontrar aqui. Parece que você ainda está invicto. @c{angry_mopen}Hum… Nada mal!
+ $@c{angry_mopen}Eu sei o que você está pensando, e não, eu não estava te espionando. @c{smile_eclosed}Acontece que eu estava na área.
+ $@c{smile_ehalf}Estou feliz por você, mas só quero te avisar que está tudo bem perder às vezes.
+ $@c{smile}Aprendemos com nossos erros, muitas vezes mais do que se continuássemos vencendo.
+ $@c{angry_mopen}De qualquer forma, tenho treinado duro para nossa revanche, então é melhor você dar o seu melhor!`
+ },
+ "victory": {
+ 1: `@c{neutral}Eu… não era para eu perder dessa vez…
+ $@c{smile}Ah bem. Isso só significa que vou ter que treinar ainda mais para a próxima vez!
+ $@c{smile_wave}Também consegui mais um desses para você!\n@c{smile_wave_wink}Não precisa me agradecer~.
+ $@c{angry_mopen}Este é o último, hein! Você não vai ganhar mais nenhum presente de mim depois desse!
+ $@c{smile_wave}Continue assim!`
+ },
+ "defeat": {
+ 1: "Está tudo bem perder às vezes…"
+ }
+ },
+ "rival_3": {
+ "encounter": {
+ 1: `@c{smile}Eai, olha quem é! Faz um tempo.\n@c{neutral}Você… ainda está invicto? Hum.
+ $@c{neutral_eclosed}As coisas têm sido meio… estranhas.\nNão é a mesma coisa em casa sem você.
+ $@c{serious}Eu sei que é egoísta, mas preciso desabafar.\n@c{neutral_eclosed}Acho que você está se metendo em algo grande demais aqui.
+ $@c{serious}Nunca perder é irrealista.\nPrecisamos perder às vezes para crescer.
+ $@c{neutral_eclosed}Você teve uma grande jornada, mas ainda há muito pela frente, e só vai ficar mais difícil. @c{neutral}Você está preparada para isso?
+ $@c{serious_mopen_fists}Se sim, prove para mim.`
+ },
+ "victory": {
+ 1: "@c{angry_mhalf}Isso é ridículo… Eu mal parei de treinar…\nComo ainda estamos tão distantes?"
+ },
+ },
+ "rival_3_female": {
+ "encounter": {
+ 1: `@c{smile_wave}Quanto tempo! Ainda não perdeu, né.\n@c{angry}Você está começando a me irritar. @c{smile_wave_wink}Brincadeirinha!
+ $@c{smile_ehalf}Mas sério, você não sente saudades de casa? Ou… de mim?\nEu… Eu quero dizer, sentimos muito a sua falta.
+ $@c{smile_eclosed}Eu apoio o seu sonho e tudo mais, mas a realidade é que você vai perder mais cedo ou mais tarde.
+ $@c{smile}E quando isso acontecer, estarei lá para você, como sempre.\n@c{angry_mopen}Agora, deixe-me mostrar o quão forte eu me tornei!`
+ },
+ "victory": {
+ 1: "@c{shock}Depois de tudo isso… não foi o suficiente…?\nVocê nunca vai voltar a esse ritmo…"
+ },
+ "defeat": {
+ 1: "Você deu o seu melhor, agora vamos para casa."
+ }
+ },
+ "rival_4": {
+ "encounter": {
+ 1: `@c{neutral}Oi.
+ $Não vou enrolar com você.\n@c{neutral_eclosed}Estou aqui para vencer, simples assim.
+ $@c{serious_mhalf_fists}Aprendi a maximizar meu potencial dedicando todo o meu tempo ao treino.
+ $@c{smile}Você ganha muito tempo extra quando corta o sono e a interação social desnecessários.
+ $@c{serious_mopen_fists}Nada disso importa mais, não até eu vencer.
+ $@c{neutral_eclosed}Cheguei ao ponto de não perder mais.\n@c{smile_eclosed}Acho que sua filosofia não estava tão errada afinal.
+ $@c{angry_mhalf}Perder é para os fracos, e eu não sou mais fraco.
+ $@c{serious_mopen_fists}Prepare-se.`
+ },
+ "victory": {
+ 1: "@c{neutral}O que…@d{64} O que você é?"
+ },
+ },
+ "rival_4_female": {
+ "encounter": {
+ 1: `@c{neutral}Sou eu! Você não esqueceu de mim de novo… esqueceu?
+ $@c{smile}Você deveria se orgulhar de até onde chegou. Parabéns!\nMas parece que é o fim da sua jornada.
+ $@c{smile_eclosed}Você despertou algo em mim que eu nunca soube que existia.\nParece que agora tudo o que faço é treinar.
+ $@c{smile_ehalf}Eu mal como ou durmo agora, só treino meus Pokémon o dia todo, ficando mais forte a cada vez.
+ $@c{neutral}Na verdade, eu… mal me reconheço.
+ $E agora, finalmente atingi o desempenho máximo.\nNão acho que alguém poderia me vencer agora.
+ $E sabe de uma coisa? É tudo por sua causa.\n@c{smile_ehalf}Eu não sei se te agradeço ou te odeio.
+ $@c{angry_mopen}Prepare-se.`
+ },
+ "victory": {
+ 1: "@c{neutral}O que…@d{64} O que você é?"
+ },
+ "defeat": {
+ 1: "$@c{smile}Você deveria se orgulhar de até onde chegou."
+ }
+ },
+ "rival_5": {
+ "encounter": {
+ 1: "@c{neutral}…"
+ },
+ "victory": {
+ 1: "@c{neutral}…"
+ },
+ },
+ "rival_5_female": {
+ "encounter": {
+ 1: "@c{neutral}…"
+ },
+ "victory": {
+ 1: "@c{neutral}…"
+ },
+ "defeat": {
+ 1: "$@c{smile_ehalf}…"
+ }
+ },
+ "rival_6": {
+ "encounter": {
+ 1: `@c{smile_eclosed}Nos encontramos de novo.
+ $@c{neutral}Tive um tempo para refletir sobre tudo isso.\nHá uma razão para tudo isso parecer tão estranho.
+ $@c{neutral_eclosed}Seu sonho, minha vontade de te vencer…\nTudo faz parte de algo maior.
+ $@c{serious}Isso não é sobre mim, nem sobre você… É sobre o mundo, @c{serious_mhalf_fists}e é meu propósito te levar ao limite.
+ $@c{neutral_eclosed}Se cumpri esse propósito, não posso dizer, mas fiz tudo ao meu alcance.
+ $@c{neutral}Este lugar em que acabamos é assustador… Mas de alguma forma me sinto indiferente, como se já tivesse estado aqui antes.
+ $@c{serious_mhalf_fists}Você sente o mesmo, não sente?
+ $@c{serious}…é como se algo aqui estivesse falando comigo.\nIsso é tudo o que o mundo conhece há muito tempo.
+ $Aqueles momentos que apreciamos juntos que parecem tão recentes não passam de uma memória distante.
+ $@c{neutral_eclosed}Quem pode dizer se eles foram realmente reais em primeiro lugar.
+ $@c{serious_mopen_fists}Você precisa continuar empurrando, porque se não o fizer, isso nunca vai acabar. Você é a única que pode fazer isso.
+ $@c{serious_smile_fists}Eu mal sei o que tudo isso significa, só sei que é verdade.
+ $@c{serious_mopen_fists}Se você não pode me derrotar aqui e agora, você não terá chance.`
+ },
+ "victory": {
+ 1: `@c{smile_eclosed}Parece que meu trabalho aqui está feito.
+ $Quero que você me prometa uma coisa.\n@c{smile}Depois que curar o mundo, por favor, volte para casa.`
+ },
+ },
+ "rival_6_female": {
+ "encounter": {
+ 1: `@c{smile_ehalf}Então somos só nós de novo.
+ $@c{smile_eclosed}Sabe, continuo pensando nisso…
+ $@c{smile_ehalf}Há algo nisso tudo, por que tudo parece tão estranho agora…
+ $@c{smile}Você tem seu sonho, e eu tenho essa ambição em mim…
+ $Não consigo evitar sentir que há um propósito maior em tudo isso, no que estamos fazendo, você e eu.
+ $@c{smile_eclosed}Acho que devo te levar ao limite.
+ $@c{smile_ehalf}Não tenho certeza se estou fazendo um bom trabalho nisso, mas tentei meu melhor até agora.
+ $Há algo neste lugar estranho e terrível… Tudo parece tão claro…
+ $Isso… é tudo o que o mundo conhece há muito tempo.
+ $@c{smile_eclosed}É como se eu mal pudesse lembrar das memórias que apreciamos juntos.
+ $@c{smile_ehalf}Elas foram reais? Elas parecem tão distantes agora…
+ $@c{angry_mopen}Você precisa continuar empurrando, porque se não o fizer, isso nunca vai acabar. Você é o único que pode fazer isso.
+ $@c{smile_ehalf}Eu… não sei o que tudo isso significa… mas sinto que é verdade.
+ $@c{neutral}Se você não pode me derrotar aqui e agora, você não terá chance.`
+ },
+ "victory": {
+ 1: `@c{smile_ehalf}Eu… acho que cumpri meu propósito…
+ $@c{smile_eclosed}Prometa-me… Depois que curar o mundo… Por favor… volte para casa.
+ $@c{smile_ehalf}…Obrigada.`
+ },
+ },
+};
// Diálogo do chefe final do jogo quando o personagem do jogador é masculino (ou não definido)
export const PGMbattleSpecDialogue: SimpleTranslationEntries = {
"encounter": `Parece que a hora finalmente chegou novamente.\nVocê sabe por que veio aqui, não sabe?
$Você foi atraído para cá, porque já esteve aqui antes.\nInúmeras vezes.
- $Embora, talvez isso possa ser contado.\nPara ser preciso, este é de fato o seu 5.643.853º ciclo.
+ $Embora talvez isso possa ser contado.\nPara ser preciso, este é de fato o seu 5.643.853º ciclo.
$A cada ciclo, sua mente retorna ao seu estado anterior.\nMesmo assim, de alguma forma, vestígios de seus antigos "eus" permanecem.
$Até agora, você ainda não conseguiu, mas sinto uma presença diferente em você desta vez.\n
$Você é o único aqui, embora pareça haver... outro.
@@ -2292,7 +4817,19 @@ export const PGMbattleSpecDialogue: SimpleTranslationEntries = {
};
// Diálogo do chefe final do jogo quando o personagem do jogador é feminino. Para idiomas que não possuem pronomes de gênero, isso pode ser definido como PGMbattleSpecDialogue.
-export const PGFbattleSpecDialogue: SimpleTranslationEntries = PGMbattleSpecDialogue;
+export const PGFbattleSpecDialogue: SimpleTranslationEntries = {
+ "encounter": `Parece que a hora finalmente chegou novamente.\nVocê sabe por que veio aqui, não sabe?
+ $Você foi atraída para cá, porque já esteve aqui antes.\nInúmeras vezes.
+ $Embora talvez isso possa ser contado.\nPara ser preciso, este é de fato o seu 5.643.853º ciclo.
+ $A cada ciclo, sua mente retorna ao seu estado anterior.\nMesmo assim, de alguma forma, vestígios de seus antigos "eus" permanecem.
+ $Até agora, você ainda não conseguiu, mas sinto uma presença diferente em você desta vez.\n
+ $Você é a única aqui, embora pareça haver... outro.
+ $Você finalmente vai se mostrar um desafio formidável para mim?\nO desafio que anseio há milênios?
+ $Vamos começar.`,
+ "firstStageWin": `Entendo. A presença que senti era realmente real.\nParece que não preciso mais me segurar.
+ $Não me decepcione.`,
+ "secondStageWin": "…Magnífico."
+};
// Diálogo que não se enquadra em nenhuma outra categoria (por exemplo, mensagens de tutorial ou o final do jogo). Para quando o personagem do jogador é masculino
export const PGMmiscDialogue: SimpleTranslationEntries = {
@@ -2312,10 +4849,31 @@ export const PGMmiscDialogue: SimpleTranslationEntries = {
$@c{smile_wave_wink}Brincadeirinha!@d{64} @c{smile}Eu nunca esqueceria.@d{32}\nSua lenda viverá em nossos corações.
$@c{smile_wave}De qualquer forma,@d{64} está ficando tarde…@d{96} Eu acho?\nÉ difícil dizer neste lugar.
$Vamos para casa. @c{smile_wave_wink}Talvez amanhã possamos ter outra batalha, pelos velhos tempos?`,
+ "ending_endless": "Parabéns por alcançar o final atual!\nMais conteúdo chegará em breve.",
+ "ending_name": "Desenvolvedores"
};
// Diálogo que não se enquadra em nenhuma outra categoria (por exemplo, mensagens de tutorial ou o final do jogo). Para quando o personagem do jogador é feminino. Para idiomas que não possuem pronomes de gênero, isso pode ser definido como PGMmiscDialogue.
-export const PGFmiscDialogue: SimpleTranslationEntries = PGMmiscDialogue;
+export const PGFmiscDialogue: SimpleTranslationEntries = {
+ "ending":
+ `@c{smile}Oh? Você venceu?@d{96} @c{smile_eclosed}Acho que eu deveria saber.\nMas, você está de volta agora.
+ $@c{smile}Acabou.@d{64} Você quebrou o ciclo.
+ $@c{serious_smile_fists}Você também realizou seu sonho, não é?\nVocê não perdeu nenhuma vez.
+ $@c{neutral}Eu sou o único que vai lembrar o que você fez.@d{96}\nAcho que está tudo bem, não é?
+ $@c{serious_smile_fists}Sua lenda sempre viverá em nossos corações.
+ $@c{smile_eclosed}Enfim, já tive o suficiente deste lugar, não é? Vamos para casa.
+ $@c{serious_smile_fists}Talvez quando voltarmos, possamos ter outra batalha?\nSe você estiver disposta.`,
+ "ending_female":
+ `@c{shock}Você está de volta?@d{32} Isso significa que…@d{96} você venceu?!\n@c{smile_ehalf}Eu deveria saber que você conseguiria.
+ $@c{smile_eclosed}Claro… Eu sempre tive essa sensação.\n@c{smile}Acabou agora, certo? Você quebrou o ciclo.
+ $@c{smile_ehalf}Você também realizou seu sonho, não foi?\nVocê não perdeu nenhuma vez.
+ $Eu serei a única a lembrar o que você fez.\n@c{angry_mopen}Eu tentarei não esquecer!
+ $@c{smile_wave_wink}Brincadeirinha!@d{64} @c{smile}Eu nunca esqueceria.@d{32}\nSua lenda viverá em nossos corações.
+ $@c{smile_wave}De qualquer forma,@d{64} está ficando tarde…@d{96} Eu acho?\nÉ difícil dizer neste lugar.
+ $Vamos para casa. @c{smile_wave_wink}Talvez amanhã possamos ter outra batalha, pelos velhos tempos?`,
+ "ending_endless": "Parabéns por alcançar o final atual!\nMais conteúdo chegará em breve.",
+ "ending_name": "Desenvolvedores"
+};
// Diálogo das batalhas duplas nomeadas no jogo. Para quando o jogador é masculino (ou não definido).
@@ -2435,4 +4993,116 @@ export const PGMdoubleBattleDialogue: DialogueTranslationEntries = {
// Dialogue of the named double battles in the game. For when the player is female. For languages that do not have gendered pronouns, this can be set to PGMdoubleBattleDialogue.
-export const PGFdoubleBattleDialogue: DialogueTranslationEntries = PGMdoubleBattleDialogue;
+export const PGFdoubleBattleDialogue: DialogueTranslationEntries = {
+ "blue_red_double": {
+ "encounter": {
+ 1: `Blue: Ei Red, vamos mostrar do que somos feitos!
+ $Red: ...
+ $Blue: Este é o poder da Cidade de Pallet!`,
+ },
+ "victory": {
+ 1: `Blue: Essa foi uma ótima batalha!
+ $Red: ...`,
+ },
+ },
+ "red_blue_double": {
+ "encounter": {
+ 1: `Red: ...!
+ $Blue: Ele nunca fala muito.
+ $Blue: Mas não se deixe enganar! Ele é um campeão, afinal!`,
+ },
+ "victory": {
+ 1: `Red: ...!
+ $Blue: Da próxima vez, vamos vencer você!`,
+ },
+ },
+ "tate_liza_double": {
+ "encounter": {
+ 1: `Tate: Está surpreso?
+ $Liza: Somos dois líderes de ginásio ao mesmo tempo!
+ $Tate: Somos gêmeos!
+ $Liza: Não precisamos falar para nos entender!
+ $Tate: Duas vezes o poder...
+ $Liza: Você consegue lidar com isso?`,
+ },
+ "victory": {
+ 1: `Tate: O quê? Nossa combinação foi perfeita!
+ $Liza: Parece que precisamos treinar mais...`,
+ },
+ },
+ "liza_tate_double": {
+ "encounter": {
+ 1: `Liza: Hihihi... Está surpreso?
+ $Tate: Sim, somos realmente dois líderes de ginásio ao mesmo tempo!
+ $Liza: Este é meu irmão gêmeo Tate!
+ $Tate: E esta é minha irmã gêmea Liza!
+ $Liza: Não acha que somos uma combinação perfeita?`
+ },
+ "victory": {
+ 1: `Liza: Nós somos...
+ $Tate: ...não tão fortes quanto pensávamos?`,
+ },
+ },
+ "wallace_steven_double": {
+ "encounter": {
+ 1: `Steven: Wallace, vamos mostrar a eles o poder dos campeões!
+ $Wallace: Vamos mostrar o poder de Hoenn!
+ $Steven: Vamos lá!`,
+ },
+ "victory": {
+ 1: `Steven: Essa foi uma ótima batalha!
+ $Wallace: Vamos vencer da próxima vez!`,
+ },
+ },
+ "steven_wallace_double": {
+ "encounter": {
+ 1: `Steven: Você tem algum Pokémon raro?
+ $Wallace: Steven... Estamos aqui para uma batalha, não para mostrar nossos Pokémon.
+ $Steven: Ah... Entendi... Vamos lá então!`,
+ },
+ "victory": {
+ 1: `Steven: Agora que terminamos a batalha, vamos mostrar nossos Pokémon!
+ $Wallace: Steven...`,
+ },
+ },
+ "alder_iris_double": {
+ "encounter": {
+ 1: `Alder: Somos os treinadores mais fortes de Unova!
+ $Iris: Lutas contra treinadores fortes são as melhores!`,
+ },
+ "victory": {
+ 1: `Alder: Uau! Você é super forte!
+ $Iris: Vamos vencer da próxima vez!`,
+ },
+ },
+ "iris_alder_double": {
+ "encounter": {
+ 1: `Iris: Bem-vinda, Desafiante! Eu sou A Campeã de Unova!
+ $Alder: Iris, você não está um pouco empolgada demais?`,
+ },
+ "victory": {
+ 1: `Iris: Uma derrota como essa não é fácil de engolir...
+ $Alder: Mas só ficaremos mais fortes a cada derrota!`,
+ },
+ },
+ "piers_marnie_double": {
+ "encounter": {
+ 1: `Marnie: Irmão, vamos mostrar a eles o poder de Spikemuth!
+ $Piers: Nós trazemos a escuridão!`,
+ },
+ "victory": {
+ 1: `Marnie: Você trouxe luz para nossa escuridão!
+ $Piers: Está muito claro...`,
+ },
+ },
+ "marnie_piers_double": {
+ "encounter": {
+ 1: `Piers: Prontos para um show?
+ $Marnie: Irmão... Eles estão aqui para lutar, não para cantar...`,
+ },
+ "victory": {
+ 1: `Piers: Agora esse foi um ótimo show!
+ $Marnie: Irmão...`,
+ },
+ },
+};
diff --git a/src/locales/pt_BR/egg.ts b/src/locales/pt_BR/egg.ts
index 996ab85d8c5..fbd13bed4e3 100644
--- a/src/locales/pt_BR/egg.ts
+++ b/src/locales/pt_BR/egg.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const egg: SimpleTranslationEntries = {
"egg": "Ovo",
@@ -17,5 +17,12 @@ export const egg: SimpleTranslationEntries = {
"notEnoughVouchers": "Você não tem vouchers suficientes!",
"tooManyEggs": "Você já tem muitos ovos!",
"pull": "Prêmio",
- "pulls": "Prêmios"
+ "pulls": "Prêmios",
+ "sameSpeciesEgg": "{{species}} vai rachar desse ovo!",
+ "hatchFromTheEgg": "{{pokemonName}} nasceu do ovo!",
+ "eggMoveUnlock": "Movimento de Ovo desbloqueado: {{moveName}}",
+ "rareEggMoveUnlock": "Movimento Raro de Ovo desbloqueado: {{moveName}}",
+ "moveUPGacha": "Movimento\nde Ovo Bônus!",
+ "shinyUPGacha": "Shiny Bônus!",
+ "legendaryUPGacha": "Bônus!",
} as const;
diff --git a/src/locales/pt_BR/fight-ui-handler.ts b/src/locales/pt_BR/fight-ui-handler.ts
index f223f72a9f1..6ce615ad5b1 100644
--- a/src/locales/pt_BR/fight-ui-handler.ts
+++ b/src/locales/pt_BR/fight-ui-handler.ts
@@ -1,7 +1,9 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const fightUiHandler: SimpleTranslationEntries = {
"pp": "PP",
"power": "Poder",
"accuracy": "Precisão",
+ "abilityFlyInText": " {{passive}}{{pokemonName}}\n{{abilityName}}",
+ "passive": "Passiva de ", // The space at the end is important
} as const;
diff --git a/src/locales/pt_BR/game-mode.ts b/src/locales/pt_BR/game-mode.ts
new file mode 100644
index 00000000000..44396635c6c
--- /dev/null
+++ b/src/locales/pt_BR/game-mode.ts
@@ -0,0 +1,10 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const gameMode: SimpleTranslationEntries = {
+ "classic": "Clássico",
+ "endless": "Infinito",
+ "endlessSpliced": "Infinito (Fusões)",
+ "dailyRun": "Desafio Diário",
+ "unknown": "Desconhecido",
+ "challenge": "Desafio",
+} as const;
diff --git a/src/locales/pt_BR/game-stats-ui-handler.ts b/src/locales/pt_BR/game-stats-ui-handler.ts
index dc03ba64cf2..863f9e773f6 100644
--- a/src/locales/pt_BR/game-stats-ui-handler.ts
+++ b/src/locales/pt_BR/game-stats-ui-handler.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const gameStatsUiHandler: SimpleTranslationEntries = {
"stats": "Estatísticas",
@@ -27,7 +27,7 @@ export const gameStatsUiHandler: SimpleTranslationEntries = {
"subLegendsHatched": "Sub-Lendários Chocados",
"legendsSeen": "Lendários Vistos",
"legendsCaught": "Lendários Capturados",
- "legendsHatched": "Legendários Chocados",
+ "legendsHatched": "Lendários Chocados",
"mythicalsSeen": "Míticos Vistos",
"mythicalsCaught": "Míticos Capturados",
"mythicalsHatched": "Míticos Chocados",
diff --git a/src/locales/pt_BR/growth.ts b/src/locales/pt_BR/growth.ts
index 50762e5ad94..7b268ae49ef 100644
--- a/src/locales/pt_BR/growth.ts
+++ b/src/locales/pt_BR/growth.ts
@@ -1,10 +1,10 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const growth: SimpleTranslationEntries = {
- "Erratic": "Instável",
+ "Erratic": "Muito Rápido",
"Fast": "Rápido",
"Medium_Fast": "Meio Rápido",
"Medium_Slow": "Meio Lento",
"Slow": "Lento",
- "Fluctuating": "Flutuante"
+ "Fluctuating": "Muito Lento",
} as const;
diff --git a/src/locales/pt_BR/menu-ui-handler.ts b/src/locales/pt_BR/menu-ui-handler.ts
index 8e6fc83eb36..75e5adcfd87 100644
--- a/src/locales/pt_BR/menu-ui-handler.ts
+++ b/src/locales/pt_BR/menu-ui-handler.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const menuUiHandler: SimpleTranslationEntries = {
"GAME_SETTINGS": "Configurações",
@@ -19,5 +19,6 @@ export const menuUiHandler: SimpleTranslationEntries = {
"importData": "Importar dados",
"exportData": "Exportar dados",
"cancel": "Cancelar",
- "losingProgressionWarning": "Você vai perder todo o progresso desde o início da batalha. Confirmar?"
+ "losingProgressionWarning": "Você vai perder todo o progresso desde o início da batalha. Confirmar?",
+ "noEggs": "Você não está chocando\nnenhum ovo no momento!"
} as const;
diff --git a/src/locales/pt_BR/menu.ts b/src/locales/pt_BR/menu.ts
index 2d1b7058301..1e097737b69 100644
--- a/src/locales/pt_BR/menu.ts
+++ b/src/locales/pt_BR/menu.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
/**
* The menu namespace holds most miscellaneous text that isn't directly part of the game's
@@ -34,8 +34,6 @@ export const menu: SimpleTranslationEntries = {
"sessionSuccess": "Sessão carregada com sucesso.",
"failedToLoadSession": "Não foi possível carregar os dados da sua sessão.\nEles podem estar corrompidos.",
"boyOrGirl": "Você é um menino ou uma menina?",
- "boy": "Menino",
- "girl": "Menina",
"evolving": "Que?\n{{pokemonName}} tá evoluindo!",
"stoppedEvolving": "{{pokemonName}} parou de evoluir.",
"pauseEvolutionsQuestion": "Gostaria de pausar evoluções para {{pokemonName}}?\nEvoluções podem ser religadas na tela de equipe.",
@@ -44,11 +42,16 @@ export const menu: SimpleTranslationEntries = {
"dailyRankings": "Classificação Diária",
"weeklyRankings": "Classificação Semanal",
"noRankings": "Sem Classificação",
+ "positionIcon": "#",
+ "usernameScoreboard": "Usuário",
+ "score": "Pontuação",
+ "wave": "Onda",
"loading": "Carregando…",
+ "loadingAsset": "Carregando recurso: {{assetName}}",
"playersOnline": "Jogadores Ativos",
- "empty": "Vazio",
"yes": "Sim",
"no": "Não",
- "disclaimer": "DISCLAIMER",
- "disclaimerDescription": "This game is an unfinished product; it might have playability issues (including the potential loss of save data),\n change without notice, and may or may not be updated further or completed."
+ "disclaimer": "AVISO",
+ "disclaimerDescription": "Este jogo é um produto inacabado; ele pode ter problemas de jogabilidade (incluindo possíveis\n perdas de dados salvos), sofrer alterações sem aviso prévio e pode ou não ser atualizado ou concluído.",
+ "errorServerDown": "Opa! Não foi possível conectar-se ao servidor.\n\nVocê pode deixar essa janela aberta,\npois o jogo irá se reconectar automaticamente.",
} as const;
diff --git a/src/locales/pt_BR/modifier-select-ui-handler.ts b/src/locales/pt_BR/modifier-select-ui-handler.ts
new file mode 100644
index 00000000000..fd9dfcf4c30
--- /dev/null
+++ b/src/locales/pt_BR/modifier-select-ui-handler.ts
@@ -0,0 +1,14 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const modifierSelectUiHandler: SimpleTranslationEntries = {
+ "transfer": "Alterar",
+ "reroll": "Atualizar",
+ "lockRarities": "Travar Raridades",
+ "checkTeam": "Checar Time",
+ "transferDesc": "Transfira um item segurado de um Pokémon para outro.",
+ "rerollDesc": "Gaste dinheiro para atualizar as suas opções de itens.",
+ "lockRaritiesDesc": "Trava a raridade dos itens na atualização (afeta o custo da atualização).",
+ "checkTeamDesc": "Cheque seu time ou use um item de mudança de forma.",
+ "rerollCost": "₽{{formattedMoney}}",
+ "itemCost": "₽{{formattedMoney}}"
+} as const;
diff --git a/src/locales/pt_BR/modifier-type.ts b/src/locales/pt_BR/modifier-type.ts
index 4865cfb64a2..408d2757f9b 100644
--- a/src/locales/pt_BR/modifier-type.ts
+++ b/src/locales/pt_BR/modifier-type.ts
@@ -1,14 +1,14 @@
-import { ModifierTypeTranslationEntries } from "#app/plugins/i18n";
+import { ModifierTypeTranslationEntries } from "#app/interfaces/locales";
export const modifierType: ModifierTypeTranslationEntries = {
ModifierType: {
"AddPokeballModifierType": {
name: "{{modifierCount}}x {{pokeballName}}",
- description: "Ganhe x{{modifierCount}} {{pokeballName}} (Mochila: {{pokeballAmount}}) \nChance de captura: {{catchRate}}",
+ description: "Ganhe {{modifierCount}}x {{pokeballName}} (Mochila: {{pokeballAmount}}) \nChance de captura: {{catchRate}}.",
},
"AddVoucherModifierType": {
name: "{{modifierCount}}x {{voucherTypeName}}",
- description: "Ganhe x{{modifierCount}} {{voucherTypeName}}",
+ description: "Ganhe {{modifierCount}}x {{voucherTypeName}}.",
},
"PokemonHeldItemModifierType": {
extra: {
@@ -17,63 +17,63 @@ export const modifierType: ModifierTypeTranslationEntries = {
}
},
"PokemonHpRestoreModifierType": {
- description: "Restaura {{restorePoints}} PS ou {{restorePercent}}% PS de um Pokémon, o que for maior",
+ description: "Restaura {{restorePoints}} PS ou {{restorePercent}}% PS de um Pokémon, o que for maior.",
extra: {
- "fully": "Restaura totalmente os PS de um Pokémon",
- "fullyWithStatus": "Restaura totalmente os PS de um Pokémon e cura qualquer mudança de estado",
+ "fully": "Restaura totalmente os PS de um Pokémon.",
+ "fullyWithStatus": "Restaura totalmente os PS de um Pokémon e cura qualquer mudança de estado.",
}
},
"PokemonReviveModifierType": {
- description: "Reanima um Pokémon e restaura {{restorePercent}}% PS",
+ description: "Reanima um Pokémon e restaura {{restorePercent}}% PS.",
},
"PokemonStatusHealModifierType": {
- description: "Cura uma mudança de estado de um Pokémon",
+ description: "Cura uma mudança de estado de um Pokémon.",
},
"PokemonPpRestoreModifierType": {
- description: "Restaura {{restorePoints}} PP para um movimento de um Pokémon",
+ description: "Restaura {{restorePoints}} PP para um movimento de um Pokémon.",
extra: {
- "fully": "Restaura todos os PP para um movimento de um Pokémon",
+ "fully": "Restaura todos os PP para um movimento de um Pokémon.",
}
},
"PokemonAllMovePpRestoreModifierType": {
- description: "Restaura {{restorePoints}} PP para todos os movimentos de um Pokémon",
+ description: "Restaura {{restorePoints}} PP para todos os movimentos de um Pokémon.",
extra: {
- "fully": "Restaura todos os PP para todos os movimentos de um Pokémon",
+ "fully": "Restaura todos os PP para todos os movimentos de um Pokémon.",
}
},
"PokemonPpUpModifierType": {
- description: "Aumenta permanentemente os PP para o movimento de um Pokémon em {{upPoints}} para cada 5 PP máximos (máximo 3)",
+ description: "Aumenta permanentemente os PP para o movimento de um Pokémon em {{upPoints}} para cada 5 PP máximos (máximo 3).",
},
"PokemonNatureChangeModifierType": {
name: "Hortelã {{natureName}}",
- description: "Muda a natureza de um Pokémon para {{natureName}} e a desbloqueia permanentemente para seu inicial",
+ description: "Muda a natureza do Pokémon para {{natureName}} e a desbloqueia permanentemente.",
},
"DoubleBattleChanceBoosterModifierType": {
- description: "Dobra as chances de encontrar uma batalha em dupla por {{battleCount}} batalhas",
+ description: "Dobra as chances de encontrar uma batalha em dupla por {{battleCount}} batalhas.",
},
"TempBattleStatBoosterModifierType": {
- description: "Aumenta o atributo de {{tempBattleStatName}} para todos os membros da equipe por 5 batalhas",
+ description: "Aumenta o atributo de {{tempBattleStatName}} para todos os membros da equipe por 5 batalhas.",
},
"AttackTypeBoosterModifierType": {
- description: "Aumenta o poder dos ataques do tipo {{moveType}} de um Pokémon em 20%",
+ description: "Aumenta o poder dos ataques do tipo {{moveType}} de um Pokémon em 20%.",
},
"PokemonLevelIncrementModifierType": {
- description: "Aumenta em 1 o nível de um Pokémon",
+ description: "Aumenta em 1 o nível de um Pokémon.",
},
"AllPokemonLevelIncrementModifierType": {
- description: "Aumenta em 1 os níveis de todos os Pokémon",
+ description: "Aumenta em 1 os níveis de todos os Pokémon.",
},
"PokemonBaseStatBoosterModifierType": {
- description: "Aumenta o atributo base de {{statName}} em 10%. Quanto maior os IVs, maior o limite de aumento",
+ description: "Aumenta o atributo base de {{statName}} em 10%. Quanto maior os IVs, maior o limite de aumento.",
},
"AllPokemonFullHpRestoreModifierType": {
- description: "Restaura totalmente os PS de todos os Pokémon",
+ description: "Restaura totalmente os PS de todos os Pokémon.",
},
"AllPokemonFullReviveModifierType": {
- description: "Reanima todos os Pokémon, restaurando totalmente seus PS",
+ description: "Reanima todos os Pokémon, restaurando totalmente seus PS.",
},
"MoneyRewardModifierType": {
- description: "Garante uma quantidade {{moneyMultiplier}} de dinheiro (₽{{moneyAmount}})",
+ description: "Garante uma quantidade {{moneyMultiplier}} de dinheiro (₽{{moneyAmount}}).",
extra: {
"small": "pequena",
"moderate": "moderada",
@@ -81,58 +81,62 @@ export const modifierType: ModifierTypeTranslationEntries = {
},
},
"ExpBoosterModifierType": {
- description: "Aumenta o ganho de pontos de experiência em {{boostPercent}}%",
+ description: "Aumenta o ganho de pontos de experiência em {{boostPercent}}%.",
},
"PokemonExpBoosterModifierType": {
- description: "Aumenta o ganho de pontos de experiência de quem segura em {{boostPercent}}%",
+ description: "Aumenta o ganho de pontos de experiência de quem segura em {{boostPercent}}%.",
},
"PokemonFriendshipBoosterModifierType": {
- description: "Aumenta o ganho de amizade por vitória em 50%",
+ description: "Aumenta o ganho de amizade por vitória em 50%.",
},
"PokemonMoveAccuracyBoosterModifierType": {
- description: "Aumenta a precisão dos movimentos em {{accuracyAmount}} (máximo 100)",
+ description: "Aumenta a precisão dos movimentos em {{accuracyAmount}} (máximo 100).",
},
"PokemonMultiHitModifierType": {
- description: "Ataques acertam uma vez adicional ao custo de uma redução de poder de 60/75/82.5% por item, respectivamente",
+ description: "Ataques acertam uma vez adicional ao custo de uma redução de poder de 60/75/82.5% por item, respectivamente.",
},
"TmModifierType": {
name: "TM{{moveId}} - {{moveName}}",
- description: "Ensina {{moveName}} a um Pokémon",
+ description: "Ensina {{moveName}} a um Pokémon.",
+ },
+ "TmModifierTypeWithInfo": {
+ name: "TM{{moveId}} - {{moveName}}",
+ description: "Ensina {{moveName}} a um Pokémon\n(Segure C ou Shift para mais informações).",
},
"EvolutionItemModifierType": {
- description: "Faz certos Pokémon evoluírem",
+ description: "Faz certos Pokémon evoluírem.",
},
"FormChangeItemModifierType": {
- description: "Faz certos Pokémon mudarem de forma",
+ description: "Faz certos Pokémon mudarem de forma.",
},
"FusePokemonModifierType": {
- description: "Combina dois Pokémon (transfere Habilidade, divide os atributos base e tipos, compartilha os movimentos)",
+ description: "Combina dois Pokémon (transfere Habilidade, divide os atributos base e tipos, compartilha os movimentos).",
},
"TerastallizeModifierType": {
- name: "{{teraType}} Fragmento Tera",
- description: "{{teraType}} Terastalize um Pokémon por até 10 batalhas",
+ name: "Fragmento Tera {{teraType}}",
+ description: "Terastalize um Pokémon para o tipo {{teraType}} por 10 ondas.",
},
"ContactHeldItemTransferChanceModifierType": {
- description: "Quando atacar, tem {{chancePercent}}% de chance de roubar um item do oponente",
+ description: "Quando atacar, tem {{chancePercent}}% de chance de roubar um item do oponente.",
},
"TurnHeldItemTransferModifierType": {
- description: "Todo turno, o Pokémon ganha um item aleatório do oponente",
+ description: "Todo turno, o Pokémon ganha um item aleatório do oponente.",
},
"EnemyAttackStatusEffectChanceModifierType": {
- description: "Ganha {{chancePercent}}% de chance de infligir {{statusEffect}} com ataques",
+ description: "Ganha {{chancePercent}}% de chance de infligir {{statusEffect}} com ataques.",
},
"EnemyEndureChanceModifierType": {
- description: "Ganha {{chancePercent}}% de chance de sobreviver a um ataque que o faria desmaiar",
+ description: "Ganha {{chancePercent}}% de chance de sobreviver a um ataque que o faria desmaiar.",
},
"RARE_CANDY": { name: "Doce Raro" },
"RARER_CANDY": { name: "Doce Raríssimo" },
- "MEGA_BRACELET": { name: "Mega Bracelete", description: "Mega Pedras ficam disponíveis" },
- "DYNAMAX_BAND": { name: "Bracelete Dynamax", description: "Cogumáximos ficam disponíveis" },
- "TERA_ORB": { name: "Orbe Tera", description: "Fragmentos Tera ficam disponíveis" },
+ "MEGA_BRACELET": { name: "Mega Bracelete", description: "Mega Pedras ficam disponíveis." },
+ "DYNAMAX_BAND": { name: "Bracelete Dynamax", description: "Cogumáximos ficam disponíveis." },
+ "TERA_ORB": { name: "Orbe Tera", description: "Fragmentos Tera ficam disponíveis." },
- "MAP": { name: "Mapa", description: "Permite escolher a próxima rota" },
+ "MAP": { name: "Mapa", description: "Permite escolher a próxima rota." },
"POTION": { name: "Poção" },
"SUPER_POTION": { name: "Super Poção" },
@@ -147,7 +151,7 @@ export const modifierType: ModifierTypeTranslationEntries = {
"SACRED_ASH": { name: "Cinza Sagrada" },
- "REVIVER_SEED": { name: "Semente Reanimadora", description: "Após desmaiar, reanima com 50% de PS" },
+ "REVIVER_SEED": { name: "Semente Reanimadora", description: "Após desmaiar por um ataque direto, reanima com 50% de PS." },
"ETHER": { name: "Éter" },
"MAX_ETHER": { name: "Éter Máximo" },
@@ -162,12 +166,12 @@ export const modifierType: ModifierTypeTranslationEntries = {
"SUPER_LURE": { name: "Super Incenso" },
"MAX_LURE": { name: "Incenso Máximo" },
- "MEMORY_MUSHROOM": { name: "Cogumemória", description: "Relembra um movimento esquecido" },
+ "MEMORY_MUSHROOM": { name: "Cogumemória", description: "Relembra um movimento esquecido." },
- "EXP_SHARE": { name: "Compart. de Exp.", description: "Distribui pontos de experiência para todos os membros da equipe" },
- "EXP_BALANCE": { name: "Balanceador de Exp.", description: "Distribui pontos de experiência principalmente para os Pokémon mais fracos" },
+ "EXP_SHARE": { name: "Compart. de Exp.", description: "Distribui pontos de experiência para todos os membros da equipe." },
+ "EXP_BALANCE": { name: "Balanceador de Exp.", description: "Distribui pontos de experiência principalmente para os Pokémon mais fracos." },
- "OVAL_CHARM": { name: "Amuleto Oval", description: "Quando vários Pokémon participam de uma batalha, cada um recebe 10% extra de pontos de experiência" },
+ "OVAL_CHARM": { name: "Amuleto Oval", description: "Quando vários Pokémon participam de uma batalha, cada um recebe 10% extra de pontos de experiência." },
"EXP_CHARM": { name: "Amuleto de Exp." },
"SUPER_EXP_CHARM": { name: "Super Amuleto de Exp." },
@@ -178,62 +182,70 @@ export const modifierType: ModifierTypeTranslationEntries = {
"SOOTHE_BELL": { name: "Guizo" },
- "SOUL_DEW": { name: "Joia da Alma", description: "Aumenta a influência da natureza de um Pokémon em seus atributos em 10% (cumulativo)" },
+ "EVIOLITE": { name: "Eviolita", description: "Esse misterioso caroço evolutivo aumenta os atributos de Defesa e Def. Esp. quando segurado por um Pokémon que ainda pode evoluir." },
+
+ "SOUL_DEW": { name: "Joia da Alma", description: "Aumenta a influência da natureza de um Pokémon em seus atributos em 10% (cumulativo)." },
"NUGGET": { name: "Pepita" },
"BIG_NUGGET": { name: "Pepita Grande" },
"RELIC_GOLD": { name: "Relíquia de Ouro" },
- "AMULET_COIN": { name: "Moeda Amuleto", description: "Aumenta a recompensa de dinheiro em 50%" },
- "GOLDEN_PUNCH": { name: "Soco Dourado", description: "Concede 50% do dano causado em dinheiro" },
- "COIN_CASE": { name: "Moedeira", description: "Após cada 10ª batalha, recebe 10% de seu dinheiro em juros" },
+ "AMULET_COIN": { name: "Moeda Amuleto", description: "Aumenta a recompensa de dinheiro em 50%." },
+ "GOLDEN_PUNCH": { name: "Soco Dourado", description: "Concede 50% do dano causado em dinheiro." },
+ "COIN_CASE": { name: "Moedeira", description: "Após cada 10ª batalha, recebe 10% de seu dinheiro em juros." },
- "LOCK_CAPSULE": { name: "Cápsula de Travamento", description: "Permite que você trave raridades de itens ao rolar novamente" },
+ "LOCK_CAPSULE": { name: "Cápsula de Travamento", description: "Permite que você trave raridades de itens ao rolar novamente." },
"GRIP_CLAW": { name: "Garra-Aperto" },
"WIDE_LENS": { name: "Lente Ampla" },
"MULTI_LENS": { name: "Multi Lentes" },
- "HEALING_CHARM": { name: "Amuleto de Cura", description: "Aumenta a eficácia dos movimentos e itens que restauram PS em 10% (exceto Reanimador)" },
- "CANDY_JAR": { name: "Pote de Doces", description: "Aumenta o número de níveis adicionados pelo Doce Raro em 1" },
+ "HEALING_CHARM": { name: "Amuleto de Cura", description: "Aumenta a eficácia dos movimentos e itens que restauram PS em 10% (exceto Reanimador)." },
+ "CANDY_JAR": { name: "Pote de Doces", description: "Aumenta o número de níveis adicionados pelo Doce Raro em 1." },
- "BERRY_POUCH": { name: "Bolsa de Berries", description: "Adiciona uma chance de 30% de que uma berry usada não seja consumida" },
+ "BERRY_POUCH": { name: "Bolsa de Berries", description: "Adiciona uma chance de 30% de que uma berry usada não seja consumida." },
- "FOCUS_BAND": { name: "Bandana", description: "Adiciona uma chance de 10% de sobreviver com 1 PS após ser danificado o suficiente para desmaiar" },
+ "FOCUS_BAND": { name: "Bandana", description: "Adiciona uma chance de 10% de sobreviver com 1 PS após ser danificado o suficiente para desmaiar." },
- "QUICK_CLAW": { name: "Garra Rápida", description: "Adiciona uma chance de 10% de atacar primeiro, ignorando sua velocidade (após prioridades)" },
+ "QUICK_CLAW": { name: "Garra Rápida", description: "Adiciona uma chance de 10% de atacar primeiro, ignorando sua velocidade (após prioridades)." },
- "KINGS_ROCK": { name: "Pedra do Rei", description: "Adiciona uma chance de 10% de movimentos fazerem o oponente hesitar" },
+ "KINGS_ROCK": { name: "Pedra do Rei", description: "Adiciona uma chance de 10% de movimentos fazerem o oponente hesitar." },
- "LEFTOVERS": { name: "Sobras", description: "Cura 1/16 dos PS máximos de um Pokémon a cada turno" },
- "SHELL_BELL": { name: "Concha-Sino", description: "Cura 1/8 do dano causado por um Pokémon" },
+ "LEFTOVERS": { name: "Sobras", description: "Cura 1/16 dos PS máximos de um Pokémon a cada turno." },
+ "SHELL_BELL": { name: "Concha-Sino", description: "Cura 1/8 do dano causado por um Pokémon." },
- "TOXIC_ORB": { name: "Esfera Tóxica", description: "Uma esfera estranha que exala toxinas quando tocada e envenena seriamente quem a segurar" },
- "FLAME_ORB": { name: "Esfera da Chama", description: "Uma esfera estranha que aquece quando tocada e queima quem a segurar" },
+ "TOXIC_ORB": { name: "Esfera Tóxica", description: "Uma esfera estranha que exala toxinas quando tocada e envenena seriamente quem a segurar." },
+ "FLAME_ORB": { name: "Esfera da Chama", description: "Uma esfera estranha que aquece quando tocada e queima quem a segurar." },
- "BATON": { name: "Bastão", description: "Permite passar mudanças de atributo ao trocar Pokémon, ignorando armadilhas" },
+ "BATON": { name: "Bastão", description: "Permite passar mudanças de atributo ao trocar Pokémon, ignorando armadilhas." },
- "SHINY_CHARM": { name: "Amuleto Brilhante", description: "Aumenta drasticamente a chance de um Pokémon selvagem ser Shiny" },
- "ABILITY_CHARM": { name: "Amuleto de Habilidade", description: "Aumenta drasticamente a chance de um Pokémon selvagem ter uma Habilidade Oculta" },
+ "SHINY_CHARM": { name: "Amuleto Brilhante", description: "Aumenta drasticamente a chance de um Pokémon selvagem ser Shiny." },
+ "ABILITY_CHARM": { name: "Amuleto de Habilidade", description: "Aumenta drasticamente a chance de um Pokémon selvagem ter uma Habilidade Oculta." },
- "IV_SCANNER": { name: "Scanner de IVs", description: "Permite escanear os IVs de Pokémon selvagens. 2 IVs são revelados por item. Os melhores IVs são mostrados primeiro" },
+ "IV_SCANNER": { name: "Scanner de IVs", description: "Permite escanear os IVs de Pokémon selvagens. 2 IVs são revelados por item. Os melhores IVs são mostrados primeiro." },
"DNA_SPLICERS": { name: "Splicer de DNA" },
"MINI_BLACK_HOLE": { name: "Mini Buraco Negro" },
- "GOLDEN_POKEBALL": { name: "Poké Bola Dourada", description: "Adiciona 1 opção de item extra ao final de cada batalha" },
+ "GOLDEN_POKEBALL": { name: "Poké Bola Dourada", description: "Adiciona 1 opção de item extra ao final de cada batalha." },
- "ENEMY_DAMAGE_BOOSTER": { name: "Token de Dano", description: "Aumenta o dano em 5%" },
- "ENEMY_DAMAGE_REDUCTION": { name: "Token de Proteção", description: "Reduz o dano recebido em 2,5%" },
- "ENEMY_HEAL": { name: "Token de Recuperação", description: "Cura 2% dos PS máximos a cada turno" },
+ "ENEMY_DAMAGE_BOOSTER": { name: "Token de Dano", description: "Aumenta o dano em 5%." },
+ "ENEMY_DAMAGE_REDUCTION": { name: "Token de Proteção", description: "Reduz o dano recebido em 2,5%." },
+ "ENEMY_HEAL": { name: "Token de Recuperação", description: "Cura 2% dos PS máximos a cada turno." },
"ENEMY_ATTACK_POISON_CHANCE": { name: "Token de Veneno" },
"ENEMY_ATTACK_PARALYZE_CHANCE": { name: "Token de Paralisia" },
"ENEMY_ATTACK_BURN_CHANCE": { name: "Token de Queimadura" },
- "ENEMY_STATUS_EFFECT_HEAL_CHANCE": { name: "Token de Cura Total", description: "Adiciona uma chance de 2.5% a cada turno de curar uma condição de status" },
+ "ENEMY_STATUS_EFFECT_HEAL_CHANCE": { name: "Token de Cura Total", description: "Adiciona uma chance de 2.5% a cada turno de curar uma condição de status." },
"ENEMY_ENDURE_CHANCE": { name: "Token de Persistência" },
- "ENEMY_FUSED_CHANCE": { name: "Token de Fusão", description: "Adiciona uma chance de 1% de que um Pokémon selvagem seja uma fusão" },
+ "ENEMY_FUSED_CHANCE": { name: "Token de Fusão", description: "Adiciona uma chance de 1% de que um Pokémon selvagem seja uma fusão." },
+ },
+ SpeciesBoosterItem: {
+ "LIGHT_BALL": { name: "Bola de Luz", description: "Orbe intrigante que aumenta os atributos de Ataque e Ataque Esp. de Pikachu." },
+ "THICK_CLUB": { name: "Osso Grosso", description: "Este duro osso de origem desconhecida aumenta o atributo de Ataque de Cubone ou Marowak." },
+ "METAL_POWDER": { name: "Pó Metálico", description: "Extremamente fino, porém duro, este pó estranho aumenta o atributo de Defesa de Ditto." },
+ "QUICK_POWDER": { name: "Pó Veloz", description: "Extremamente fino, porém duro, este pó estranho aumenta o atributo de Velocidade de Ditto." }
},
TempBattleStatBoosterItem: {
"x_attack": "Ataque X",
@@ -244,6 +256,19 @@ export const modifierType: ModifierTypeTranslationEntries = {
"x_accuracy": "Precisão X",
"dire_hit": "Direto",
},
+
+ TempBattleStatBoosterStatName: {
+ "ATK": "Ataque",
+ "DEF": "Defesa",
+ "SPATK": "Ataque Esp.",
+ "SPDEF": "Defesa Esp.",
+ "SPD": "Velocidade",
+ "ACC": "Precisão",
+ "CRIT": "Chance de Acerto Crítico",
+ "EVA": "Evasão",
+ "DEFAULT": "???",
+ },
+
AttackTypeBoosterItem: {
"silk_scarf": "Lenço de Seda",
"black_belt": "Faixa Preta",
@@ -384,5 +409,43 @@ export const modifierType: ModifierTypeTranslationEntries = {
"BURN_DRIVE": "IgneDisco",
"CHILL_DRIVE": "CrioDisco",
"DOUSE_DRIVE": "HidroDisco",
+
+ "FIST_PLATE": "Placa do Punho",
+ "SKY_PLATE": "Placa do Céu",
+ "TOXIC_PLATE": "Placa Tóxica",
+ "EARTH_PLATE": "Placa Terrestre",
+ "STONE_PLATE": "Placa de Pedra",
+ "INSECT_PLATE": "Placa de Insetos",
+ "SPOOKY_PLATE": "Placa Assustadora",
+ "IRON_PLATE": "Placa de Ferro",
+ "FLAME_PLATE": "Placa da Chama",
+ "SPLASH_PLATE": "Placa de Respingo",
+ "MEADOW_PLATE": "Placa da Planície",
+ "ZAP_PLATE": "Placa Elétrica",
+ "MIND_PLATE": "Placa Mental",
+ "ICICLE_PLATE": "Placa de Gelo",
+ "DRACO_PLATE": "Placa do Dragão",
+ "DREAD_PLATE": "Placa Sombria",
+ "PIXIE_PLATE": "Placa de Fada",
+ "BLANK_PLATE": "Placa em Branco",
+ "LEGEND_PLATE": "Placa Lendária",
+ "FIGHTING_MEMORY": "Memória de Lutador",
+ "FLYING_MEMORY": "Memória Voadora",
+ "POISON_MEMORY": "Memória Venenosa",
+ "GROUND_MEMORY": "Memória Terrestre",
+ "ROCK_MEMORY": "Memória da Rocha",
+ "BUG_MEMORY": "Memória de Insetos",
+ "GHOST_MEMORY": "Memória Fantasma",
+ "STEEL_MEMORY": "Memória de Aço",
+ "FIRE_MEMORY": "Memória de Fogo",
+ "WATER_MEMORY": "Memória da Água",
+ "GRASS_MEMORY": "Memória de Planta",
+ "ELECTRIC_MEMORY": "Memória Elétrica",
+ "PSYCHIC_MEMORY": "Memória Psíquica",
+ "ICE_MEMORY": "Memória de Gelo",
+ "DRAGON_MEMORY": "Memória do Dragão",
+ "DARK_MEMORY": "Memória Sombria",
+ "FAIRY_MEMORY": "Memória de Fada",
+ "BLANK_MEMORY": "Memória Vazia",
},
} as const;
diff --git a/src/locales/pt_BR/modifier.ts b/src/locales/pt_BR/modifier.ts
new file mode 100644
index 00000000000..7cc90df5caa
--- /dev/null
+++ b/src/locales/pt_BR/modifier.ts
@@ -0,0 +1,12 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const modifier: SimpleTranslationEntries = {
+ "surviveDamageApply": "{{pokemonNameWithAffix}} aguentou o tranco\nusando sua {{typeName}}!",
+ "turnHealApply": "{{pokemonNameWithAffix}} restaurou um pouco de PS usando\nsuas {{typeName}}!",
+ "hitHealApply": "{{pokemonNameWithAffix}} restaurou um pouco de PS usando\nsua {{typeName}}!",
+ "pokemonInstantReviveApply": "{{pokemonNameWithAffix}} foi revivido\npor sua {{typeName}}!",
+ "moneyInterestApply": "Você recebeu um juros de ₽{{moneyAmount}}\nde sua {{typeName}}!",
+ "turnHeldItemTransferApply": "{{itemName}} de {{pokemonNameWithAffix}} foi absorvido(a)\npelo {{typeName}} de {{pokemonName}}!",
+ "contactHeldItemTransferApply": "{{itemName}} de {{pokemonNameWithAffix}} foi pego(a)\npela {{typeName}} de {{pokemonName}}!",
+ "enemyTurnHealApply": "{{pokemonNameWithAffix}}\nrestaurou um pouco de seus PS!",
+} as const;
diff --git a/src/locales/pt_BR/move.ts b/src/locales/pt_BR/move.ts
index dfe7192c011..0008cc55416 100644
--- a/src/locales/pt_BR/move.ts
+++ b/src/locales/pt_BR/move.ts
@@ -1,4 +1,4 @@
-import { MoveTranslationEntries } from "#app/plugins/i18n";
+import { MoveTranslationEntries } from "#app/interfaces/locales";
export const move: MoveTranslationEntries = {
"pound": {
@@ -2095,7 +2095,7 @@ export const move: MoveTranslationEntries = {
},
"frostBreath": {
name: "Frost Breath",
- effect: "O usuário sopra sua respiração gelada no alvo. Esse ataque sempre resulta em um golpe crítico."
+ effect: "O usuário sopra sua respiração gelada no alvo. Esse ataque sempre resulta em um acerto crítico."
},
"dragonTail": {
name: "Dragon Tail",
@@ -2219,7 +2219,7 @@ export const move: MoveTranslationEntries = {
},
"snarl": {
name: "Snarl",
- effect: "O usuário grita como se ele estivesse reclamando de algo, diminuindo a Defesa Especial do Pokémon oponente."
+ effect: "O usuário grita como se ele estivesse reclamando de algo, diminuindo o Ataque Especial do Pokémon oponente."
},
"icicleCrash": {
name: "Icicle Crash",
@@ -2691,7 +2691,7 @@ export const move: MoveTranslationEntries = {
},
"laserFocus": {
name: "Laser Focus",
- effect: "O usuário se concentra intensamente. O ataque no próximo turno sempre resultará em um golpe crítico."
+ effect: "O usuário se concentra intensamente. O ataque no próximo turno sempre resultará em um acerto crítico."
},
"gearUp": {
name: "Gear Up",
@@ -2931,7 +2931,7 @@ export const move: MoveTranslationEntries = {
},
bouncyBubble: {
name: "Bouncy Bubble",
- effect: "O usuário ataca atirando bolhas de água no alvo. Em seguida, absorve água e restaura seu HP pela metade do dano causado ao alvo."
+ effect: "O usuário ataca atirando bolhas de água no alvo. Em seguida, absorve água e restaura seu HP pelo mesmo valor de dano causado ao alvo."
},
buzzyBuzz: {
name: "Buzzy Buzz",
@@ -3267,11 +3267,11 @@ export const move: MoveTranslationEntries = {
},
wickedBlow: {
name: "Wicked Blow",
- effect: "O usuário, tendo dominado o estilo Sombrio, atinge o alvo com um golpe feroz. Este ataque sempre resulta em um golpe crítico."
+ effect: "O usuário, tendo dominado o estilo Sombrio, atinge o alvo com um golpe feroz. Este ataque sempre resulta em um acerto crítico."
},
surgingStrikes: {
name: "Surging Strikes",
- effect: "O usuário, tendo dominado o estilo Água, atinge o alvo com um movimento fluido três vezes seguidas. Este ataque sempre resulta em um golpe crítico."
+ effect: "O usuário, tendo dominado o estilo Água, atinge o alvo com um movimento fluido três vezes seguidas. Estes ataques sempre resultam em acertos críticos."
},
thunderCage: {
name: "Thunder Cage",
@@ -3359,7 +3359,7 @@ export const move: MoveTranslationEntries = {
},
esperWing: {
name: "Esper Wing",
- effect: "O usuário corta o alvo com asas enriquecidas com aura. Isso também aumenta o atributo de Velocidade do usuário. Este movimento tem uma chance aumentada de causar um golpe crítico."
+ effect: "O usuário corta o alvo com asas enriquecidas com aura. Isso também aumenta o atributo de Velocidade do usuário. Este movimento tem uma chance aumentada de causar um acerto crítico."
},
bitterMalice: {
name: "Bitter Malice",
@@ -3371,7 +3371,7 @@ export const move: MoveTranslationEntries = {
},
tripleArrows: {
name: "Triple Arrows",
- effect: "O usuário chuta e depois dispara três flechas. Este movimento tem uma chance aumentada de causar um golpe crítico e também pode diminuir o atributo de Defesa do alvo ou fazê-lo hesitar."
+ effect: "O usuário chuta e depois dispara três flechas. Este movimento tem uma chance aumentada de causar um acerto crítico e também pode diminuir o atributo de Defesa do alvo ou fazê-lo hesitar."
},
infernalParade: {
name: "Infernal Parade",
@@ -3611,7 +3611,7 @@ export const move: MoveTranslationEntries = {
},
"flowerTrick": {
name: "Flower Trick",
- effect: "O usuário lança um buquê de flores armado no alvo. Este ataque nunca erra e sempre resulta em um golpe crítico."
+ effect: "O usuário lança um buquê de flores armado no alvo. Este ataque nunca erra e sempre resulta em um acerto crítico."
},
"torchSong": {
name: "Torch Song",
@@ -3711,7 +3711,7 @@ export const move: MoveTranslationEntries = {
},
"aquaCutter": {
name: "Aqua Cutter",
- effect: "O usuário expele água pressurizada para cortar o alvo como uma lâmina. Este movimento tem uma chance aumentada de resultar em um golpe crítico."
+ effect: "O usuário expele água pressurizada para cortar o alvo como uma lâmina. Este movimento tem uma chance aumentada de resultar em um acerto crítico."
},
"blazingTorque": {
name: "Blazing Torque",
@@ -3747,7 +3747,7 @@ export const move: MoveTranslationEntries = {
},
"ivyCudgel": {
name: "Ivy Cudgel",
- effect: "O usuário golpeia com um porrete envolto em hera. O tipo deste movimento muda dependendo da máscara usada pelo usuário, e tem uma chance aumentada de resultar em um golpe crítico."
+ effect: "O usuário golpeia com um porrete envolto em hera. O tipo deste movimento muda dependendo da máscara usada pelo usuário, e tem uma chance aumentada de resultar em um acerto crítico."
},
"electroShot": {
name: "Electro Shot",
diff --git a/src/locales/pt_BR/nature.ts b/src/locales/pt_BR/nature.ts
index 47f2f5f0930..fc906fde6ef 100644
--- a/src/locales/pt_BR/nature.ts
+++ b/src/locales/pt_BR/nature.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const nature: SimpleTranslationEntries = {
"Hardy": "Destemida",
@@ -10,7 +10,7 @@ export const nature: SimpleTranslationEntries = {
"Docile": "Dócil",
"Relaxed": "Relaxada",
"Impish": "Inquieta",
- "Lax": "Relaxada",
+ "Lax": "Frouxa",
"Timid": "Tímida",
"Hasty": "Apressada",
"Serious": "Séria",
diff --git a/src/locales/pt_BR/party-ui-handler.ts b/src/locales/pt_BR/party-ui-handler.ts
new file mode 100644
index 00000000000..aac9e56aefa
--- /dev/null
+++ b/src/locales/pt_BR/party-ui-handler.ts
@@ -0,0 +1,53 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const partyUiHandler: SimpleTranslationEntries = {
+ "SEND_OUT": "Trocar",
+ "SUMMARY": "Sumário",
+ "CANCEL": "Cancelar",
+ "RELEASE": "Soltar",
+ "APPLY": "Aplicar",
+ "TEACH": "Ensinar",
+ "SPLICE": "Fundir",
+ "UNSPLICE": "Separar",
+ "ACTIVATE": "Ativar",
+ "DEACTIVATE": "Desativar",
+ "TRANSFER": "Transferir",
+ "ALL": "Tudo",
+ "PASS_BATON": "Passar Bastão",
+ "UNPAUSE_EVOLUTION": "Ativar Evolução",
+ "REVIVE": "Reviver",
+
+ "choosePokemon": "Escolha um Pokémon.",
+ "doWhatWithThisPokemon": "O que você deseja fazer?",
+ "noEnergy": "{{pokemonName}} não pode\nmais batalhar!",
+ "hasEnergy": "{{pokemonName}} ainda\npode batalhar!",
+ "cantBeUsed": "{{pokemonName}} não pode\nser usado neste desafio!",
+ "tooManyItems": "{{pokemonName}} já tem\nmuitos desse item!",
+ "anyEffect": "Isso não terá nenhum efeito.",
+ "unpausedEvolutions": "Evoluções foram despausadas para {{pokemonName}}.",
+ "unspliceConfirmation": "Você realmente deseja desfazer a fusão de {{fusionName}}\ncom {{pokemonName}}? {{fusionName}} será perdido.",
+ "wasReverted": "{{fusionName}} foi revertido para {{pokemonName}}.",
+ "releaseConfirmation": "Você realmente deseja soltar {{pokemonName}}?",
+ "releaseInBattle": "Você não pode soltar um Pokémon que está em batalha!",
+ "selectAMove": "Selecione um movimento.",
+ "changeQuantity": "Selecione um item para transferir.\nUse < e > para mudar a quantidade.",
+ "selectAnotherPokemonToSplice": "Selecione outro Pokémon para fundir.",
+ "cancel": "Voltar",
+
+ // Slot TM text
+ "able": "Capaz",
+ "notAble": "Incapaz",
+ "learned": "Aprendido",
+
+ // Releasing messages
+ "goodbye": "Adeus, {{pokemonName}}!",
+ "byebye": "Tchau, {{pokemonName}}!",
+ "farewell": "Até mais, {{pokemonName}}!",
+ "soLong": "Até logo, {{pokemonName}}!",
+ "thisIsWhereWePart": "Aqui é onde nos separamos, {{pokemonName}}!",
+ "illMissYou": "Vou sentir saudades, {{pokemonName}}!",
+ "illNeverForgetYou": "Nunca vou esquecer de você, {{pokemonName}}!",
+ "untilWeMeetAgain": "Até nos encontrarmos novamente, {{pokemonName}}!",
+ "sayonara": "Sayonara, {{pokemonName}}!",
+ "smellYaLater": "Te vejo depois, {{pokemonName}}!",
+} as const;
diff --git a/src/locales/pt_BR/pokeball.ts b/src/locales/pt_BR/pokeball.ts
index d7c5656fe5c..ee29b9612e6 100644
--- a/src/locales/pt_BR/pokeball.ts
+++ b/src/locales/pt_BR/pokeball.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const pokeball: SimpleTranslationEntries = {
"pokeBall": "Poké Bola",
diff --git a/src/locales/pt_BR/pokemon-info-container.ts b/src/locales/pt_BR/pokemon-info-container.ts
index 2ee774888da..5789e60b274 100644
--- a/src/locales/pt_BR/pokemon-info-container.ts
+++ b/src/locales/pt_BR/pokemon-info-container.ts
@@ -1,11 +1,9 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const pokemonInfoContainer: SimpleTranslationEntries = {
"moveset": "Movimentos",
"gender": "Gênero:",
"ability": "Habilidade:",
"nature": "Natureza:",
- "epic": "Épico",
- "rare": "Raro",
- "common": "Comum",
+ "form": "Forma:",
} as const;
diff --git a/src/locales/pt_BR/pokemon-info.ts b/src/locales/pt_BR/pokemon-info.ts
index 70b0664f30b..a4af3f3e34a 100644
--- a/src/locales/pt_BR/pokemon-info.ts
+++ b/src/locales/pt_BR/pokemon-info.ts
@@ -1,4 +1,4 @@
-import { PokemonInfoTranslationEntries } from "#app/plugins/i18n";
+import { PokemonInfoTranslationEntries } from "#app/interfaces/locales";
export const pokemonInfo: PokemonInfoTranslationEntries = {
Stat: {
@@ -13,7 +13,9 @@ export const pokemonInfo: PokemonInfoTranslationEntries = {
"SPDEF": "Def. Esp.",
"SPDEFshortened": "DefEsp",
"SPD": "Veloc.",
- "SPDshortened": "Veloc."
+ "SPDshortened": "Veloc.",
+ "ACC": "Precisão",
+ "EVA": "Evasão",
},
Type: {
diff --git a/src/locales/pt_BR/pokemon.ts b/src/locales/pt_BR/pokemon.ts
index 663c0f2163d..b3151eabb29 100644
--- a/src/locales/pt_BR/pokemon.ts
+++ b/src/locales/pt_BR/pokemon.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const pokemon: SimpleTranslationEntries = {
"bulbasaur": "Bulbasaur",
diff --git a/src/locales/pt_BR/save-slot-select-ui-handler.ts b/src/locales/pt_BR/save-slot-select-ui-handler.ts
new file mode 100644
index 00000000000..6dee8a1a16a
--- /dev/null
+++ b/src/locales/pt_BR/save-slot-select-ui-handler.ts
@@ -0,0 +1,9 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const saveSlotSelectUiHandler: SimpleTranslationEntries = {
+ "overwriteData": "Substituir os dados desse slot?",
+ "loading": "Carregando...",
+ "wave": "Onda",
+ "lv": "Nv",
+ "empty": "Vazio",
+} as const;
diff --git a/src/locales/pt_BR/settings.ts b/src/locales/pt_BR/settings.ts
new file mode 100644
index 00000000000..9d336cf0757
--- /dev/null
+++ b/src/locales/pt_BR/settings.ts
@@ -0,0 +1,99 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales.js";
+
+export const settings: SimpleTranslationEntries = {
+ "boy": "Menino",
+ "girl": "Menina",
+ "general": "Geral",
+ "display": "Exibição",
+ "audio": "Áudio",
+ "gamepad": "Controle",
+ "keyboard": "Teclado",
+ "gameSpeed": "Velocidade do Jogo",
+ "hpBarSpeed": "Velocidade da Barra de PS",
+ "expGainsSpeed": "Velocidade do Ganho de EXP",
+ "expPartyDisplay": "Exibição de EXP da Equipe",
+ "skipSeenDialogues": "Pular Diálogos Vistos",
+ "battleStyle": "Estilo de Batalha",
+ "enableRetries": "Habilitar Novas Tentativas",
+ "tutorials": "Tutorial",
+ "touchControls": "Controles de Toque",
+ "vibrations": "Vibração",
+ "normal": "Normal",
+ "fast": "Rápido",
+ "faster": "Mais Rápido",
+ "skip": "Pular",
+ "levelUpNotifications": "Notificação",
+ "on": "Ligado",
+ "off": "Desligado",
+ "switch": "Alternar",
+ "set": "Definido",
+ "auto": "Automático",
+ "disabled": "Desativado",
+ "language": "Idioma",
+ "change": "Mudar",
+ "uiTheme": "Tema da Interface",
+ "default": "Padrão",
+ "legacy": "Legado",
+ "windowType": "Estilo da Janela",
+ "moneyFormat": "Formatação do Dinheiro",
+ "damageNumbers": "Números de Dano",
+ "simple": "Simples",
+ "fancy": "Detalhado",
+ "abbreviated": "Abreviado",
+ "moveAnimations": "Animações de Movimento",
+ "showStatsOnLevelUp": "Mostrar Atributos ao Subir de Nível",
+ "candyUpgradeNotification": "Exibir Melhorias com Doce",
+ "passivesOnly": "Passivas",
+ "candyUpgradeDisplay": "Modo Melhorias com Doce",
+ "icon": "Ícone",
+ "animation": "Animação",
+ "moveInfo": "Informações de Movimento",
+ "showMovesetFlyout": "Mostrar Flutuante de Movimentos",
+ "showArenaFlyout": "Mostrar Flutuante de Bioma",
+ "showTimeOfDayWidget": "Widget da Hora do Dia",
+ "timeOfDayAnimation": "Animação da Hora do Dia",
+ "bounce": "Saltar",
+ "timeOfDay_back": "Voltar",
+ "spriteSet": "Conjunto de Sprites",
+ "consistent": "Consistente",
+ "mixedAnimated": "Animado",
+ "fusionPaletteSwaps": "Cores da Paleta de Fusão",
+ "playerGender": "Gênero do Jogador",
+ "typeHints": "Dicas de Tipo",
+ "masterVolume": "Volume Mestre",
+ "bgmVolume": "Volume de BGM",
+ "seVolume": "Volume de SE",
+ "musicPreference": "Preferência de Música",
+ "mixed": "Misto",
+ "gamepadPleasePlug": "Conecte um controle ou pressione um botão",
+ "delete": "Deletar",
+ "keyboardPleasePress": "Pressione uma tecla",
+ "reset": "Redefinir",
+ "requireReload": "Requer Reinício",
+ "action": "Ação",
+ "back": "Voltar",
+ "pressToBind": "Pressione para Atribuir",
+ "pressButton": "Pressione um Botão...",
+ "buttonUp": "Cima",
+ "buttonDown": "Baixo",
+ "buttonLeft": "Esquerda",
+ "buttonRight": "Direita",
+ "buttonAction": "Ação",
+ "buttonMenu": "Menu",
+ "buttonSubmit": "Confirmar",
+ "buttonCancel": "Cancelar",
+ "buttonStats": "Atributos",
+ "buttonCycleForm": "Próxima Forma",
+ "buttonCycleShiny": "Próximo Shiny",
+ "buttonCycleGender": "Próximo Gênero",
+ "buttonCycleAbility": "Próxima Habilidade",
+ "buttonCycleNature": "Próxima Natureza",
+ "buttonCycleVariant": "Próxima Variante",
+ "buttonSpeedUp": "Acelerar",
+ "buttonSlowDown": "Desacelerar",
+ "alt": " (Alt)",
+ "mute": "Mudo",
+ "controller": "Controle",
+ "gamepadSupport": "Suporte para Controle",
+ "showBgmBar": "Show Music Names",
+} as const;
diff --git a/src/locales/pt_BR/splash-messages.ts b/src/locales/pt_BR/splash-messages.ts
index 498b64d1e01..d21945943a0 100644
--- a/src/locales/pt_BR/splash-messages.ts
+++ b/src/locales/pt_BR/splash-messages.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const splashMessages: SimpleTranslationEntries = {
"battlesWon": "Batalhas Ganhas!",
diff --git a/src/locales/pt_BR/starter-select-ui-handler.ts b/src/locales/pt_BR/starter-select-ui-handler.ts
index 4d4ee94505b..eb2709a0da8 100644
--- a/src/locales/pt_BR/starter-select-ui-handler.ts
+++ b/src/locales/pt_BR/starter-select-ui-handler.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
/**
* The menu namespace holds most miscellaneous text that isn't directly part of the game's
@@ -21,21 +21,23 @@ export const starterSelectUiHandler: SimpleTranslationEntries = {
"passive": "Passiva:",
"nature": "Natureza:",
"eggMoves": "Mov. de Ovo",
- "start": "Iniciar",
"addToParty": "Adicionar à equipe",
"toggleIVs": "Mostrar IVs",
"manageMoves": "Mudar Movimentos",
+ "manageNature": "Mudar Natureza",
"useCandies": "Usar Doces",
+ "selectNature": "Escolha uma natureza.",
"selectMoveSwapOut": "Escolha um movimento para substituir.",
"selectMoveSwapWith": "Escolha o movimento que substituirá",
"unlockPassive": "Aprender Passiva",
"reduceCost": "Reduzir Custo",
- "cycleShiny": "R: » Shiny",
- "cycleForm": "F: » Forma",
- "cycleGender": "G: » Gênero",
- "cycleAbility": "E: » Habilidade",
- "cycleNature": "N: » Natureza",
- "cycleVariant": "V: » Variante",
+ "sameSpeciesEgg": "Comprar Ovo",
+ "cycleShiny": ": » Shiny",
+ "cycleForm": ": » Forma",
+ "cycleGender": ": » Gênero",
+ "cycleAbility": ": » Habilidade",
+ "cycleNature": ": » Natureza",
+ "cycleVariant": ": » Variante",
"enablePassive": "Ativar Passiva",
"disablePassive": "Desativar Passiva",
"locked": "Bloqueada",
diff --git a/src/locales/pt_BR/status-effect.ts b/src/locales/pt_BR/status-effect.ts
new file mode 100644
index 00000000000..d99e2bd5ec1
--- /dev/null
+++ b/src/locales/pt_BR/status-effect.ts
@@ -0,0 +1,67 @@
+import { StatusEffectTranslationEntries } from "#app/interfaces/locales.js";
+
+export const statusEffect: StatusEffectTranslationEntries = {
+ none: {
+ name: "Nenhum",
+ description: "",
+ obtain: "",
+ obtainSource: "",
+ activation: "",
+ overlap: "",
+ heal: ""
+ },
+ poison: {
+ name: "Envenenamento",
+ description: "envenenamento",
+ obtain: "{{pokemonNameWithAffix}}\nfoi envenenado!",
+ obtainSource: "{{pokemonNameWithAffix}}\nfoi envenenado por {{sourceText}}!",
+ activation: "{{pokemonNameWithAffix}} foi ferido\ncom o veneno!",
+ overlap: "{{pokemonNameWithAffix}} já\nestá envenenado!",
+ heal: "{{pokemonNameWithAffix}} se\ncurou do envenenamento!"
+ },
+ toxic: {
+ name: "Toxic",
+ description: "envenenamento",
+ obtain: "{{pokemonNameWithAffix}}\nfoi seriamente envenenado!",
+ obtainSource: "{{pokemonNameWithAffix}} foi seriamente\nenvenenado por {{sourceText}}!",
+ activation: "{{pokemonNameWithAffix}} foi ferido\ncom o veneno!",
+ overlap: "{{pokemonNameWithAffix}} já\nestá envenenado!",
+ heal: "{{pokemonNameWithAffix}} se\ncurou do envenenamento!"
+ },
+ paralysis: {
+ name: "Paralisia",
+ description: "paralisia",
+ obtain: "{{pokemonNameWithAffix}} foi paralisado,\nTalvez ele não consiga se mover!",
+ obtainSource: "{{pokemonNameWithAffix}} foi paralisado por {{sourceText}},\nTalvez ele não consiga se mover!",
+ activation: "{{pokemonNameWithAffix}} está paralisado!\nEle não consegue se mover!",
+ overlap: "{{pokemonNameWithAffix}} já\nestá paralisado!",
+ heal: "{{pokemonNameWithAffix}} foi\ncurado da paralisia!"
+ },
+ sleep: {
+ name: "Dormindo",
+ description: "dormindo",
+ obtain: "{{pokemonNameWithAffix}}\nadormeceu!",
+ obtainSource: "{{pokemonNameWithAffix}}\ndormiu devido a {{sourceText}}!",
+ activation: "{{pokemonNameWithAffix}} está dormindo profundamente.",
+ overlap: "{{pokemonNameWithAffix}} já\nestá dormindo!",
+ heal: "{{pokemonNameWithAffix}} acordou!"
+ },
+ freeze: {
+ name: "Congelamento",
+ description: "congelando",
+ obtain: "{{pokemonNameWithAffix}}\nfoi congelado!",
+ obtainSource: "{{pokemonNameWithAffix}}\nfoi congelado por {{sourceText}}!",
+ activation: "{{pokemonNameWithAffix}} está\ncongelado!",
+ overlap: "{{pokemonNameWithAffix}} já\nestá congelado!",
+ heal: "{{pokemonNameWithAffix}} foi\ndescongelado!"
+ },
+ burn: {
+ name: "Queimadura",
+ description: "queimadura",
+ obtain: "{{pokemonNameWithAffix}}\nfoi queimado!",
+ obtainSource: "{{pokemonNameWithAffix}}\nfoi queimado por {{sourceText}}!",
+ activation: "{{pokemonNameWithAffix}} foi ferido\npor sua queimadura!",
+ overlap: "{{pokemonNameWithAffix}} já\nestá queimado!",
+ heal: "{{pokemonNameWithAffix}} foi\ncurado de sua queimadura!"
+ },
+} as const;
diff --git a/src/locales/pt_BR/trainers.ts b/src/locales/pt_BR/trainers.ts
index 5d624c60ad5..57fbe220412 100644
--- a/src/locales/pt_BR/trainers.ts
+++ b/src/locales/pt_BR/trainers.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
// Titles of special trainers like gym leaders, elite four, and the champion
export const titles: SimpleTranslationEntries = {
@@ -6,20 +6,26 @@ export const titles: SimpleTranslationEntries = {
"elite_four_female": "Elite dos Quatro",
"gym_leader": "Líder de Ginásio",
"gym_leader_female": "Líder de Ginásio",
- "gym_leader_double": "Gym Leader Duo",
+ "gym_leader_double": "Líderes de Ginásio",
"champion": "Campeão",
- "champion_female": "Champion",
- "champion_double": "Champion Duo",
+ "champion_female": "Campeã",
+ "champion_double": "Dupla Campeã",
"rival": "Rival",
"professor": "Professor",
"frontier_brain": "Cérebro da Fronteira",
+ "rocket_boss": "Chefe da Equipe Rocket",
+ "magma_boss": "Chefe da Equipe Magma",
+ "aqua_boss": "Chefe da Equipe Aqua",
+ "galactic_boss": "Chefe da Equipe Galáctica",
+ "plasma_boss": "Chefe da Equipe Plasma",
+ "flare_boss": "Chefe da Equipe Flare",
// Maybe if we add the evil teams we can add "Team Rocket" and "Team Aqua" etc. here as well as "Team Rocket Boss" and "Team Aqua Admin" etc.
} as const;
// Titles of trainers like "Youngster" or "Lass"
export const trainerClasses: SimpleTranslationEntries = {
- "ace_trainer": "Trinador Ás",
- "ace_trainer_female": "Trinadora Ás",
+ "ace_trainer": "Treinador Ás",
+ "ace_trainer_female": "Treinadora Ás",
"ace_duo": "Dupla Ás",
"artist": "Artista",
"artist_female": "Artista",
@@ -30,7 +36,7 @@ export const trainerClasses: SimpleTranslationEntries = {
"baker": "Padeira",
"battle_girl": "Lutadora",
"beauty": "Modelo",
- "beginners": "Beginners",
+ "beginners": "Iniciantes",
"biker": "Motoqueiro",
"black_belt": "Faixa Preta",
"breeder": "Criador",
@@ -95,6 +101,7 @@ export const trainerClasses: SimpleTranslationEntries = {
"rich_kid_female": "Garota Rica",
"rich_kids": "Garotos Ricos",
"roughneck": "Arruaceiro",
+ "sailor": "Marinheiro",
"scientist": "Cientista",
"scientist_female": "Cientista",
"scientists": "Cientistas",
@@ -118,6 +125,18 @@ export const trainerClasses: SimpleTranslationEntries = {
"worker_female": "Operária",
"workers": "Operários",
"youngster": "Jovem",
+ "rocket_grunt": "Recruta da Equipe Rocket",
+ "rocket_grunt_female": "Recruta da Equipe Rocket",
+ "magma_grunt": "Recruta da Equipe Magma",
+ "magma_grunt_female": "Recruta da Equipe Magma",
+ "aqua_grunt": "Recruta da Equipe Aqua",
+ "aqua_grunt_female": "Recruta da Equipe Aqua",
+ "galactic_grunt": "Recruta da Equipe Galáctica",
+ "galactic_grunt_female": "Recruta da Equipe Galáctica",
+ "plasma_grunt": "Recruta da Equipe Plasma",
+ "plasma_grunt_female": "Recruta da Equipe Plasma",
+ "flare_grunt": "Recruta da Equipe Flare",
+ "flare_grunt_female": "Recruta da Equipe Flare",
} as const;
// Names of special trainers like gym leaders, elite four, and the champion
@@ -246,6 +265,11 @@ export const trainerNames: SimpleTranslationEntries = {
"leon": "Leon",
"rival": "Finn",
"rival_female": "Ivy",
+ "maxie": "Maxie",
+ "archie": "Archie",
+ "cyrus": "Cyrus",
+ "ghetsis": "Ghetsis",
+ "lysandre": "Lysandre",
// Double Names
"blue_red_double": "Blue & Red",
diff --git a/src/locales/pt_BR/tutorial.ts b/src/locales/pt_BR/tutorial.ts
index 4d71d0b7e53..a64a7458881 100644
--- a/src/locales/pt_BR/tutorial.ts
+++ b/src/locales/pt_BR/tutorial.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const tutorial: SimpleTranslationEntries = {
"intro": `Bem-vindo ao PokéRogue! Este é um jogo Pokémon feito por fãs focado em batalhas com elementos roguelite.
@@ -9,7 +9,7 @@ export const tutorial: SimpleTranslationEntries = {
$Se o jogo estiver rodando lentamente, certifique-se de que a 'Aceleração de hardware' esteja ativada
$nas configurações do seu navegador.`,
- "accessMenu": `Para acessar o menu, aperte M ou Esc.
+ "accessMenu": `Para acessar o menu, pressione M ou Esc.
$O menu contém configurações e diversas funções.`,
"menu": `A partir deste menu, você pode acessar as configurações.
diff --git a/src/locales/pt_BR/voucher.ts b/src/locales/pt_BR/voucher.ts
index 6ffffd48735..8c115caa810 100644
--- a/src/locales/pt_BR/voucher.ts
+++ b/src/locales/pt_BR/voucher.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const voucher: SimpleTranslationEntries = {
"vouchers": "Vouchers",
diff --git a/src/locales/pt_BR/weather.ts b/src/locales/pt_BR/weather.ts
index 269ba0e3726..31e35657c7f 100644
--- a/src/locales/pt_BR/weather.ts
+++ b/src/locales/pt_BR/weather.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
/**
* The weather namespace holds text displayed when weather is active during a battle
@@ -15,12 +15,12 @@ export const weather: SimpleTranslationEntries = {
"sandstormStartMessage": "Uma tempestade de areia se formou!",
"sandstormLapseMessage": "A tempestade de areia é violenta.",
"sandstormClearMessage": "A tempestade de areia diminuiu.",
- "sandstormDamageMessage": "{{pokemonPrefix}}{{pokemonName}} é atingido\npela tempestade de areia!",
+ "sandstormDamageMessage": "{{pokemonNameWithAffix}} é atingido\npela tempestade de areia!",
"hailStartMessage": "Começou a chover granizo!",
"hailLapseMessage": "Granizo cai do céu.",
"hailClearMessage": "O granizo parou.",
- "hailDamageMessage": "{{pokemonPrefix}}{{pokemonName}} é atingido\npelo granizo!",
+ "hailDamageMessage": "{{pokemonNameWithAffix}} é atingido\npelo granizo!",
"snowStartMessage": "Começou a nevar!",
"snowLapseMessage": "A neve continua caindo.",
@@ -40,5 +40,27 @@ export const weather: SimpleTranslationEntries = {
"strongWindsStartMessage": "Ventos fortes apareceram!",
"strongWindsLapseMessage": "Os ventos fortes continuam.",
+ "strongWindsEffectMessage": "The mysterious air current weakened the attack!",
"strongWindsClearMessage": "Os ventos fortes diminuíram.",
};
+
+export const terrain: SimpleTranslationEntries = {
+ "misty": "Enevoado",
+ "mistyStartMessage": "Uma névoa se espalhou pelo campo de batalha!",
+ "mistyClearMessage": "A névou sumiu do campo de batalha.",
+ "mistyBlockMessage": "{{pokemonNameWithAffix}} se envolveu com uma névoa protetora!",
+
+ "electric": "Elétrico",
+ "electricStartMessage": "Uma corrente elétrica se espalhou pelo campo de batalha!",
+ "electricClearMessage": "A eletricidade sumiu do campo de batalha.",
+
+ "grassy": "de Plantas",
+ "grassyStartMessage": "Grama cresceu para cobrir o campo de batalha!",
+ "grassyClearMessage": "A grama sumiu do campo de batalha.",
+
+ "psychic": "Psíquico",
+ "psychicStartMessage": "O campo de batalha ficou esquisito!",
+ "psychicClearMessage": "A esquisitice sumiu do campo de batalha",
+
+ "defaultBlockMessage": "{{pokemonNameWithAffix}} está protegido pelo Terreno {{terrainName}}!"
+};
diff --git a/src/locales/zh_CN/ability-trigger.ts b/src/locales/zh_CN/ability-trigger.ts
index 643952ad352..a9d7fa5b202 100644
--- a/src/locales/zh_CN/ability-trigger.ts
+++ b/src/locales/zh_CN/ability-trigger.ts
@@ -1,7 +1,11 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const abilityTriggers: SimpleTranslationEntries = {
- "blockRecoilDamage" : "{{pokemonName}} 的 {{abilityName}}\n抵消了反作用力!",
- "badDreams": "{{pokemonName}} 被折磨着!",
- "windPowerCharged": "受 {{moveName}} 的影响, {{pokemonName}} 提升了能力!"
+ "blockRecoilDamage" : "{{pokemonName}}的{{abilityName}}\n抵消了反作用力!",
+ "badDreams": "{{pokemonName}}被折磨着!",
+ "costar": "{{pokemonName}}复制了{{allyName}}的能力变化!",
+ "iceFaceAvoidedDamage": "{{pokemonName}}因为{{abilityName}}\n避免了伤害!",
+ "trace": "{{pokemonName}}复制了{{targetName}}的\n{{abilityName}}!",
+ "windPowerCharged": "受{{moveName}}的影响,{{pokemonName}}提升了能力!",
+ "quickDraw":"因为速击效果发动,\n{{pokemonName}}比平常出招更快了!",
} as const;
diff --git a/src/locales/zh_CN/ability.ts b/src/locales/zh_CN/ability.ts
index 77034d61743..82bc403ad84 100644
--- a/src/locales/zh_CN/ability.ts
+++ b/src/locales/zh_CN/ability.ts
@@ -1,13 +1,13 @@
-import { AbilityTranslationEntries } from "#app/plugins/i18n.js";
+import { AbilityTranslationEntries } from "#app/interfaces/locales.js";
export const ability: AbilityTranslationEntries = {
stench: {
name: "恶臭",
- description: "通过释放臭臭的气味,在攻\n击的时候,有时会使对手畏\n缩。",
+ description: "通过释放臭臭的气味,在攻击的时\n候,有时会使对手畏缩。",
},
drizzle: {
name: "降雨",
- description: "出场时,会将天气变为下雨\n。",
+ description: "出场时,会将天气变为下雨。",
},
speedBoost: {
name: "加速",
@@ -15,39 +15,39 @@ export const ability: AbilityTranslationEntries = {
},
battleArmor: {
name: "战斗盔甲",
- description: "被坚硬的甲壳守护着,不会\n被对手的攻击击中要害。",
+ description: "被坚硬的甲壳守护着,不会被对手\n的攻击击中要害。",
},
sturdy: {
name: "结实",
- description: "在HP全满时,即使受到招\n式攻击,也不会被一击打倒\n。一击必杀的招式也没有效\n果。",
+ description: "在HP全满时,即使受到招式攻击\n,也不会被一击打倒。一击必杀的\n招式也没有效果。",
},
damp: {
name: "湿气",
- description: "通过把周围都弄湿,使谁都\n无法使用自爆等爆炸类的招\n式。",
+ description: "通过把周围都弄湿,使谁都无法使\n用自爆等爆炸类的招式。",
},
limber: {
name: "柔软",
- description: "因为身体柔软,不会变为麻\n痹状态。",
+ description: "因为身体柔软,不会变为麻痹状态\n。",
},
sandVeil: {
name: "沙隐",
- description: "在沙暴的时候,闪避率会提\n高。",
+ description: "在沙暴的时候,闪避率会提高。",
},
static: {
name: "静电",
- description: "身上带有静电,有时会让接\n触到的对手麻痹。",
+ description: "身上带有静电,有时会让接触到的\n对手麻痹。",
},
voltAbsorb: {
name: "蓄电",
- description: "受到电属性的招式攻击时,\n不会受到伤害,而是会回复。",
+ description: "受到电属性的招式攻击时,不会受\n到伤害,而是会回复。",
},
waterAbsorb: {
name: "储水",
- description: "受到水属性的招式攻击时,\n不会受到伤害,而是会回复。",
+ description: "受到水属性的招式攻击时,不会受\n到伤害,而是会回复。",
},
oblivious: {
name: "迟钝",
- description: "因为感觉迟钝,不会变为着\n迷和被挑衅状态。对威吓也\n毫不动摇。",
+ description: "因为感觉迟钝,不会变为着迷和被\n挑衅状态。对威吓也毫不动摇。",
},
cloudNine: {
name: "无关天气",
@@ -55,79 +55,79 @@ export const ability: AbilityTranslationEntries = {
},
compoundEyes: {
name: "复眼",
- description: "因为拥有复眼,招式的命中\n率会提高。",
+ description: "因为拥有复眼,招式的命中率会提\n高。",
},
insomnia: {
name: "不眠",
- description: "因为有着睡不着的体质,所\n以不会陷入睡眠状态。",
+ description: "因为有着睡不着的体质,所以不会\n陷入睡眠状态。",
},
colorChange: {
name: "变色",
- description: "自己的属性会变为从对手处\n所受招式的属性。",
+ description: "自己的属性会变为从对手处所受招\n式的属性。",
},
immunity: {
name: "免疫",
- description: "因为体内拥有免疫能力,不\n会变为中毒状态。",
+ description: "因为体内拥有免疫能力,不会变为\n中毒状态。",
},
flashFire: {
name: "引火",
- description: "受到火属性的招式攻击时,\n吸收火焰,自己使出的火属\n性招式会变强。",
+ description: "受到火属性的招式攻击时,吸收火\n焰,自己使出的火属性招式会变强\n。",
},
shieldDust: {
name: "鳞粉",
- description: "被鳞粉守护着,不会受到招\n式的追加效果影响。",
+ description: "被鳞粉守护着,不会受到招式的追\n加效果影响。",
},
ownTempo: {
name: "我行我素",
- description: "因为我行我素,不会变为混\n乱状态。对威吓也毫不动摇。",
+ description: "因为我行我素,不会变为混乱状态\n。对威吓也毫不动摇。",
},
suctionCups: {
name: "吸盘",
- description: "用吸盘牢牢贴在地面上,让\n替换宝可梦的招式和道具无\n效。",
+ description: "用吸盘牢牢贴在地面上,让替换宝\n可梦的招式和道具无效。",
},
intimidate: {
name: "威吓",
- description: "出场时威吓对手,让其退缩\n,降低对手的攻击。",
+ description: "出场时威吓对手,让其退缩,降低\n对手的攻击。",
},
shadowTag: {
name: "踩影",
- description: "踩住对手的影子使其无法逃\n走或替换。",
+ description: "踩住对手的影子使其无法逃走或替\n换。",
},
roughSkin: {
name: "粗糙皮肤",
- description: "受到攻击时,用粗糙的皮肤\n弄伤接触到自己的对手。",
+ description: "受到攻击时,用粗糙的皮肤弄伤接\n触到自己的对手。",
},
wonderGuard: {
name: "神奇守护",
- description: "不可思议的力量,只有效果\n绝佳的招式才能击中。",
+ description: "不可思议的力量,只有效果绝佳的\n招式才能击中。",
},
levitate: {
name: "飘浮",
- description: "从地面浮起,从而不会受到\n地面属性招式的攻击。",
+ description: "从地面浮起,从而不会受到地面属\n性招式的攻击。",
},
effectSpore: {
name: "孢子",
- description: "受到攻击时,有时会把接触\n到自己的对手变为中毒、麻\n痹或睡眠状态。",
+ description: "受到攻击时,有时会把接触到自己\n的对手变为中毒、麻痹或睡眠状态\n。",
},
synchronize: {
name: "同步",
- description: "将自己的中毒、麻痹或灼伤\n状态传染给对手。",
+ description: "将自己的中毒、麻痹或灼伤状态传\n染给对手。",
},
clearBody: {
name: "恒净之躯",
- description: "不会因为对手的招式或特性\n而被降低能力。",
+ description: "不会因为对手的招式或特性而被降\n低能力。",
},
naturalCure: {
name: "自然回复",
- description: "回到同行队伍后,异常状态\n就会被治愈。",
+ description: "回到同行队伍后,异常状态就会被\n治愈。",
},
lightningRod: {
name: "避雷针",
- description: "将电属性的招式吸引到自己\n身上,不会受到伤害,而是\n会提高特攻。",
+ description: "将电属性的招式吸引到自己身上,\n不会受到伤害,而是会提高特攻。",
},
sereneGrace: {
name: "天恩",
- description: "托天恩的福,招式的追加效\n果容易出现。",
+ description: "托天恩的福,招式的追加效果容易\n出现。",
},
swiftSwim: {
name: "悠游自如",
@@ -139,43 +139,43 @@ export const ability: AbilityTranslationEntries = {
},
illuminate: {
name: "发光",
- description: "通过让周围变亮来保持命中\n率不会被降低。",
+ description: "通过让周围变亮来保持命中率不会\n被降低。",
},
trace: {
name: "复制",
- description: "出场时,复制对手的特性,\n变为与之相同的特性。",
+ description: "出场时,复制对手的特性,变为与\n之相同的特性。",
},
hugePower: {
name: "大力士",
- description: "物理攻击的威力会变为2倍\n。",
+ description: "物理攻击的威力会变为2倍。",
},
poisonPoint: {
name: "毒刺",
- description: "有时会让接触到自己的对手\n变为中毒状态。",
+ description: "有时会让接触到自己的对手变为中\n毒状态。",
},
innerFocus: {
name: "精神力",
- description: "拥有经过锻炼的精神,而不\n会因对手的攻击而畏缩。对\n威吓也毫不动摇。",
+ description: "拥有经过锻炼的精神,而不会因对\n手的攻击而畏缩。对威吓也毫不动\n摇。",
},
magmaArmor: {
name: "熔岩铠甲",
- description: "将炽热的熔岩覆盖在身上,\n不会变为冰冻状态。",
+ description: "将炽热的熔岩覆盖在身上,不会变\n为冰冻状态。",
},
waterVeil: {
name: "水幕",
- description: "将水幕裹在身上,不会变为\n灼伤状态。",
+ description: "将水幕裹在身上,不会变为灼伤状\n态。",
},
magnetPull: {
name: "磁力",
- description: "用磁力吸住钢属性的宝可梦\n,使其无法逃走。",
+ description: "用磁力吸住钢属性的宝可梦,使其\n无法逃走。",
},
soundproof: {
name: "隔音",
- description: "通过屏蔽声音,不受到声音\n招式的影响。",
+ description: "通过屏蔽声音,不受到声音招式的\n影响。",
},
rainDish: {
name: "雨盘",
- description: "下雨天气时,会缓缓回复\nHP。",
+ description: "下雨天气时,会缓缓回复HP。",
},
sandStream: {
name: "扬沙",
@@ -183,99 +183,99 @@ export const ability: AbilityTranslationEntries = {
},
pressure: {
name: "压迫感",
- description: "给予对手压迫感,大量减少\n其使用招式的PP。",
+ description: "给予对手压迫感,大量减少其使用\n招式的PP。",
},
thickFat: {
name: "厚脂肪",
- description: "因为被厚厚的脂肪保护着,\n会让火属性和冰属性的招式\n伤害减半。",
+ description: "因为被厚厚的脂肪保护着,会让火\n属性和冰属性的招式伤害减半。",
},
earlyBird: {
name: "早起",
- description: "即使变为睡眠状态,也能以\n2倍的速度提早醒来。",
+ description: "即使变为睡眠状态,也能以2倍的\n速度提早醒来。",
},
flameBody: {
name: "火焰之躯",
- description: "有时会让接触到自己的对手\n变为灼伤状态。",
+ description: "有时会让接触到自己的对手变为灼\n伤状态。",
},
runAway: {
name: "逃跑",
- description: "一定能从野生宝可梦那儿逃\n走。",
+ description: "一定能从野生宝可梦那儿逃走。",
},
keenEye: {
name: "锐利目光",
- description: "多亏了锐利的目光,命中率\n不会被降低。",
+ description: "多亏了锐利的目光,命中率不会被\n降低。",
},
hyperCutter: {
name: "怪力钳",
- description: "因为拥有以力量自豪的钳子,\n不会被对手降低攻击。",
+ description: "因为拥有以力量自豪的钳子,不会\n被对手降低攻击。",
},
pickup: {
name: "捡拾",
- description: "有时会捡来对手用过的道具,\n冒险过程中也会捡到。",
+ description: "有时会捡来对手用过的道具,冒险\n过程中也会捡到。",
},
truant: {
name: "懒惰",
- description: "如果使出招式,下一回合就\n会休息。",
+ description: "如果使出招式,下一回合就会休息\n。",
},
hustle: {
name: "活力",
- description: "自己的攻击变高,但命中率\n会降低。",
+ description: "自己的攻击变高,但命中率会降低\n。",
},
cuteCharm: {
name: "迷人之躯",
- description: "有时会让接触到自己的对手\n着迷。",
+ description: "有时会让接触到自己的对手着迷。",
},
plus: {
name: "正电",
- description: "出场的伙伴之间如果有正电\n或负电特性的宝可梦,自己\n的特攻会提高。",
+ description: "出场的伙伴之间如果有正电或负电\n特性的宝可梦,自己的特攻会提高\n。",
},
minus: {
name: "负电",
- description: "出场的伙伴之间如果有正电\n或负电特性的宝可梦,自己\n的特攻会提高。",
+ description: "出场的伙伴之间如果有正电或负电\n特性的宝可梦,自己的特攻会提高\n。",
},
forecast: {
name: "阴晴不定",
- description: "受天气的影响,会变为水属\n性、火属性或冰属性中的某\n一个。",
+ description: "受天气的影响,会变为水属性、火\n属性或冰属性中的某一个。",
},
stickyHold: {
name: "黏着",
- description: "因为道具是粘在黏性身体上\n的,所以不会被对手夺走。",
+ description: "因为道具是粘在黏性身体上的,所\n以不会被对手夺走。",
},
shedSkin: {
name: "蜕皮",
- description: "通过蜕去身上的皮,有时会\n治愈异常状态。",
+ description: "通过蜕去身上的皮,有时会治愈异\n常状态。",
},
guts: {
name: "毅力",
- description: "如果变为异常状态,会拿出\n毅力,攻击会提高。",
+ description: "如果变为异常状态,会拿出毅力,\n攻击会提高。",
},
marvelScale: {
name: "神奇鳞片",
- description: "如果变为异常状态,神奇鳞\n片会发生反应,防御会提高。",
+ description: "如果变为异常状态,神奇鳞片会发\n生反应,防御会提高。",
},
liquidOoze: {
name: "污泥浆",
- description: "吸收了污泥浆的对手会因强\n烈的恶臭而受到伤害,减少\nHP。",
+ description: "吸收了污泥浆的对手会因强烈的恶\n臭而受到伤害,减少HP。",
},
overgrow: {
name: "茂盛",
- description: "HP减少的时候,草属性的\n招式威力会提高。",
+ description: "HP减少的时候,草属性的招式威\n力会提高。",
},
blaze: {
name: "猛火",
- description: "HP减少的时候,火属性的\n招式威力会提高。",
+ description: "HP减少的时候,火属性的招式威\n力会提高。",
},
torrent: {
name: "激流",
- description: "HP减少的时候,水属性的\n招式威力会提高。",
+ description: "HP减少的时候,水属性的招式威\n力会提高。",
},
swarm: {
name: "虫之预感",
- description: "HP减少的时候,虫属性的\n招式威力会提高。",
+ description: "HP减少的时候,虫属性的招式威\n力会提高。",
},
rockHead: {
name: "坚硬脑袋",
- description: "即使使出会受反作用力伤害\n的招式,HP也不会减少。",
+ description: "即使使出会受反作用力伤害的招式\n,HP也不会减少。",
},
drought: {
name: "日照",
@@ -287,19 +287,19 @@ export const ability: AbilityTranslationEntries = {
},
vitalSpirit: {
name: "干劲",
- description: "通过激发出干劲,不会变为\n睡眠状态。",
+ description: "通过激发出干劲,不会变为睡眠状\n态。",
},
whiteSmoke: {
name: "白色烟雾",
- description: "被白色烟雾保护着,不会被\n对手降低能力。",
+ description: "被白色烟雾保护着,不会被对手降\n低能力。",
},
purePower: {
name: "瑜伽之力",
- description: "因瑜伽的力量,物理攻击的\n威力会变为2倍。",
+ description: "因瑜伽的力量,物理攻击的威力会\n变为2倍。",
},
shellArmor: {
name: "硬壳盔甲",
- description: "被坚硬的壳保护着,对手的\n攻击不会击中要害。",
+ description: "被坚硬的壳保护着,对手的攻击不\n会击中要害。",
},
airLock: {
name: "气闸",
@@ -307,19 +307,19 @@ export const ability: AbilityTranslationEntries = {
},
tangledFeet: {
name: "蹒跚",
- description: "在混乱状态时,闪避率会提\n高。",
+ description: "在混乱状态时,闪避率会提高。",
},
motorDrive: {
name: "电气引擎",
- description: "受到电属性的招式攻击时,\n不会受到伤害,而是速度会\n提高。",
+ description: "受到电属性的招式攻击时,不会受\n到伤害,而是速度会提高。",
},
rivalry: {
name: "斗争心",
- description: "面对性别相同的对手,会燃\n起斗争心,变得更强。而面\n对性别不同的,则会变弱。",
+ description: "面对性别相同的对手,会燃起斗争\n心,变得更强。而面对性别不同的\n,则会变弱。",
},
steadfast: {
name: "不屈之心",
- description: "每次畏缩时,不屈之心就会\n燃起,速度也会提高。",
+ description: "每次畏缩时,不屈之心就会燃起,\n速度也会提高。",
},
snowCloak: {
name: "雪隐",
@@ -327,19 +327,19 @@ export const ability: AbilityTranslationEntries = {
},
gluttony: {
name: "贪吃鬼",
- description: "原本HP变得很少时才会吃\n树果,在HP还有一半时就\n会把它吃掉。",
+ description: "原本HP变得很少时才会吃树果,\n在HP还有一半时就会把它吃掉。",
},
angerPoint: {
name: "愤怒穴位",
- description: "要害被击中时,会大发雷霆\n,攻击力变为最大。",
+ description: "要害被击中时,会大发雷霆,攻击\n力变为最大。",
},
unburden: {
name: "轻装",
- description: "失去所持有的道具时,速度\n会提高。",
+ description: "失去所持有的道具时,速度会提高\n。",
},
heatproof: {
name: "耐热",
- description: "耐热的体质会让火属性的招\n式伤害减半。",
+ description: "耐热的体质会让火属性的招式伤害\n减半。",
},
simple: {
name: "单纯",
@@ -347,11 +347,11 @@ export const ability: AbilityTranslationEntries = {
},
drySkin: {
name: "干燥皮肤",
- description: "下雨天气时和受到水属性的\n招式时,HP会回复。晴朗\n天气时和受到火属性的招式\n时,HP会减少。",
+ description: "下雨天气时和受到水属性的招式时\n,HP会回复。晴朗天气时和受到\n火属性的招式时,HP会减少。",
},
download: {
name: "下载",
- description: "比较对手的防御和特防,根\n据较低的那项能力相应地提\n高自己的攻击或特攻。",
+ description: "比较对手的防御和特防,根据较低\n的那项能力相应地提高自己的攻击\n或特攻。",
},
ironFist: {
name: "铁拳",
@@ -359,35 +359,35 @@ export const ability: AbilityTranslationEntries = {
},
poisonHeal: {
name: "毒疗",
- description: "变为中毒状态时,HP不会\n减少,反而会增加起来。",
+ description: "变为中毒状态时,HP不会减少,\n反而会增加起来。",
},
adaptability: {
name: "适应力",
- description: "与自身同属性的招式威力会\n提高。",
+ description: "与自身同属性的招式威力会提高。",
},
skillLink: {
name: "连续攻击",
- description: "如果使用连续招式,总是能\n使出最高次数。",
+ description: "如果使用连续招式,总是能使出最\n高次数。",
},
hydration: {
name: "湿润之躯",
- description: "下雨天气时,异常状态会治\n愈。",
+ description: "下雨天气时,异常状态会治愈。",
},
solarPower: {
name: "太阳之力",
- description: "晴朗天气时,特攻会提高,\n而每回合HP会减少。",
+ description: "晴朗天气时,特攻会提高,而每回\n合HP会减少。",
},
quickFeet: {
name: "飞毛腿",
- description: "变为异常状态时,速度会提\n高。",
+ description: "变为异常状态时,速度会提高。",
},
normalize: {
name: "一般皮肤",
- description: "无论是什么属性的招式,全\n部会变为一般属性。威力会\n少量提高。",
+ description: "无论是什么属性的招式,全部会变\n为一般属性。威力会少量提高。",
},
sniper: {
name: "狙击手",
- description: "击中要害时,威力会变得更\n强。",
+ description: "击中要害时,威力会变得更强。",
},
magicGuard: {
name: "魔法防守",
@@ -395,19 +395,19 @@ export const ability: AbilityTranslationEntries = {
},
noGuard: {
name: "无防守",
- description: "由于无防守战术,双方使出\n的招式都必定会击中。",
+ description: "由于无防守战术,双方使出的招式\n都必定会击中。",
},
stall: {
name: "慢出",
- description: "使出招式的顺序必定会变为\n最后。",
+ description: "使出招式的顺序必定会变为最后。",
},
technician: {
name: "技术高手",
- description: "攻击时可以将低威力招式的\n威力提高。",
+ description: "攻击时可以将低威力招式的威力提\n高。",
},
leafGuard: {
name: "叶子防守",
- description: "晴朗天气时,不会变为异常\n状态。",
+ description: "晴朗天气时,不会变为异常状态。",
},
klutz: {
name: "笨拙",
@@ -415,55 +415,55 @@ export const ability: AbilityTranslationEntries = {
},
moldBreaker: {
name: "破格",
- description: "可以不受对手特性的干扰,\n向对手使出招式。",
+ description: "可以不受对手特性的干扰,向对手\n使出招式。",
},
superLuck: {
name: "超幸运",
- description: "因为拥有超幸运,攻击容易\n击中对手的要害。",
+ description: "因为拥有超幸运,攻击容易击中对\n手的要害。",
},
aftermath: {
name: "引爆",
- description: "变为濒死时,会对接触到自\n己的对手造成伤害。",
+ description: "变为濒死时,会对接触到自己的对\n手造成伤害。",
},
anticipation: {
name: "危险预知",
- description: "可以察觉到对手拥有的危险\n招式。",
+ description: "可以察觉到对手拥有的危险招式。",
},
forewarn: {
name: "预知梦",
- description: "出场时,只读取1个对手拥\n有的招式。",
+ description: "出场时,只读取1个对手拥有的招\n式。",
},
unaware: {
name: "纯朴",
- description: "可以无视对手能力的变化,\n进行攻击。",
+ description: "可以无视对手能力的变化,进行攻\n击。",
},
tintedLens: {
name: "有色眼镜",
- description: "可以将效果不好的招式以通\n常的威力使出。",
+ description: "可以将效果不好的招式以通常的威\n力使出。",
},
filter: {
name: "过滤",
- description: "受到效果绝佳的攻击时,可\n以减弱其威力。",
+ description: "受到效果绝佳的攻击时,可以减弱\n其威力。",
},
slowStart: {
name: "慢启动",
- description: "在5回合内,攻击和速度减\n半。",
+ description: "在5回合内,攻击和速度减半。",
},
scrappy: {
name: "胆量",
- description: "一般属性和格斗属性的招式\n可以击中幽灵属性的宝可梦\n。对威吓也毫不动摇。",
+ description: "一般属性和格斗属性的招式可以击\n中幽灵属性的宝可梦。对威吓也毫\n不动摇。",
},
stormDrain: {
name: "引水",
- description: "将水属性的招式引到自己身\n上,不会受到伤害,而是会\n提高特攻。",
+ description: "将水属性的招式引到自己身上,不\n会受到伤害,而是会提高特攻。",
},
iceBody: {
name: "冰冻之躯",
- description: "下雪天气时,会缓缓回复\nHP。",
+ description: "下雪天气时,会缓缓回复HP。",
},
solidRock: {
name: "坚硬岩石",
- description: "受到效果绝佳的攻击时,可\n以减弱其威力。",
+ description: "受到效果绝佳的攻击时,可以减弱\n其威力。",
},
snowWarning: {
name: "降雪",
@@ -471,7 +471,7 @@ export const ability: AbilityTranslationEntries = {
},
honeyGather: {
name: "采蜜",
- description: "The Pokémon gathers Honey after a battle. The Honey is then sold for money.",
+ description: "The Pokémon gat\nhers Honey afte\nr a battle. The\n Honey is then \nsold for money.",
},
frisk: {
name: "察觉",
@@ -479,15 +479,15 @@ export const ability: AbilityTranslationEntries = {
},
reckless: {
name: "舍身",
- description: "自己会因反作用力受伤的招\n式,其威力会提高。",
+ description: "自己会因反作用力受伤的招式,其\n威力会提高。",
},
multitype: {
name: "多属性",
- description: "自己的属性会根据持有的石\n板而改变。",
+ description: "自己的属性会根据持有的石板而改\n变。",
},
flowerGift: {
name: "花之礼",
- description: "晴朗天气时,自己与同伴的\n攻击和特防能力会提高。",
+ description: "晴朗天气时,自己与同伴的攻击和\n特防能力会提高。",
},
badDreams: {
name: "梦魇",
@@ -495,31 +495,31 @@ export const ability: AbilityTranslationEntries = {
},
pickpocket: {
name: "顺手牵羊",
- description: "盗取接触到自己的对手的道\n具。",
+ description: "盗取接触到自己的对手的道具。",
},
sheerForce: {
name: "强行",
- description: "招式的追加效果消失,但因\n此能以更高的威力使出招式\n。",
+ description: "招式的追加效果消失,但因此能以\n更高的威力使出招式。",
},
contrary: {
name: "唱反调",
- description: "能力的变化发生逆转,原本\n提高时会降低,而原本降低\n时会提高。",
+ description: "能力的变化发生逆转,原本提高时\n会降低,而原本降低时会提高。",
},
unnerve: {
name: "紧张感",
- description: "让对手紧张,使其无法食用\n树果。",
+ description: "让对手紧张,使其无法食用树果。",
},
defiant: {
name: "不服输",
- description: "被对手降低能力时,攻击会\n大幅提高。",
+ description: "被对手降低能力时,攻击会大幅提\n高。",
},
defeatist: {
name: "软弱",
- description: "HP减半时,会变得软弱,\n攻击和特攻会减半。",
+ description: "HP减半时,会变得软弱,攻击和\n特攻会减半。",
},
cursedBody: {
name: "诅咒之躯",
- description: "受到攻击时,有时会把对手\n的招式变为定身法状态。",
+ description: "受到攻击时,有时会把对手的招式\n变为定身法状态。",
},
healer: {
name: "治愈之心",
@@ -531,7 +531,7 @@ export const ability: AbilityTranslationEntries = {
},
weakArmor: {
name: "碎裂铠甲",
- description: "受到物理招式的伤害时,防\n御会降低,速度会大幅提高。",
+ description: "受到物理招式的伤害时,防御会降\n低,速度会大幅提高。",
},
heavyMetal: {
name: "重金属",
@@ -543,39 +543,39 @@ export const ability: AbilityTranslationEntries = {
},
multiscale: {
name: "多重鳞片",
- description: "HP全满时,受到的伤害会\n变少。",
+ description: "HP全满时,受到的伤害会变少。",
},
toxicBoost: {
name: "中毒激升",
- description: "变为中毒状态时,物理招式\n的威力会提高。",
+ description: "变为中毒状态时,物理招式的威力\n会提高。",
},
flareBoost: {
name: "受热激升",
- description: "变为灼伤状态时,特殊招式\n的威力会提高。",
+ description: "变为灼伤状态时,特殊招式的威力\n会提高。",
},
harvest: {
name: "收获",
- description: "可以多次制作出已被使用掉\n的树果。",
+ description: "可以多次制作出已被使用掉的树果\n。",
},
telepathy: {
name: "心灵感应",
- description: "读取我方的攻击,并闪避其\n招式伤害。",
+ description: "读取我方的攻击,并闪避其招式伤\n害。",
},
moody: {
name: "心情不定",
- description: "每一回合,能力中的某项会\n大幅提高,而某项会降低。",
+ description: "每一回合,能力中的某项会大幅提\n高,而某项会降低。",
},
overcoat: {
name: "防尘",
- description: "不会受到沙暴的伤害。也不\n会受到粉末类和孢子类招式\n的影响。",
+ description: "不会受到沙暴的伤害。也不会受到\n粉末类和孢子类招式的影响。",
},
poisonTouch: {
name: "毒手",
- description: "只通过接触就有可能让对手\n变为中毒状态。",
+ description: "只通过接触就有可能让对手变为中\n毒状态。",
},
regenerator: {
name: "再生力",
- description: "退回同行队伍后,HP会少\n量回复。",
+ description: "退回同行队伍后,HP会少量回复\n。",
},
bigPecks: {
name: "健壮胸肌",
@@ -587,15 +587,15 @@ export const ability: AbilityTranslationEntries = {
},
wonderSkin: {
name: "奇迹皮肤",
- description: "成为不易受到变化招式攻击\n的身体。",
+ description: "成为不易受到变化招式攻击的身体\n。",
},
analytic: {
name: "分析",
- description: "如果在最后使出招式,招式\n的威力会提高。",
+ description: "如果在最后使出招式,招式的威力\n会提高。",
},
illusion: {
name: "幻觉",
- description: "假扮成同行队伍中的最后一\n只宝可梦出场,迷惑对手。",
+ description: "假扮成同行队伍中的最后一只宝可\n梦出场,迷惑对手。",
},
imposter: {
name: "变身者",
@@ -603,31 +603,31 @@ export const ability: AbilityTranslationEntries = {
},
infiltrator: {
name: "穿透",
- description: "可以穿透对手的壁障或替身\n进行攻击。",
+ description: "可以穿透对手的壁障或替身进行攻\n击。",
},
mummy: {
name: "木乃伊",
- description: "被对手接触到后,会将对手\n变为木乃伊。",
+ description: "被对手接触到后,会将对手变为木\n乃伊。",
},
moxie: {
name: "自信过度",
- description: "如果打倒对手,就会充满自\n信,攻击会提高。",
+ description: "如果打倒对手,就会充满自信,攻\n击会提高。",
},
justified: {
name: "正义之心",
- description: "受到恶属性的招式攻击时,\n因为正义感,攻击会提高。",
+ description: "受到恶属性的招式攻击时,因为正\n义感,攻击会提高。",
},
rattled: {
name: "胆怯",
- description: "受到恶属性、幽灵属性和虫\n属性的攻击或威吓时,会因\n胆怯而速度提高。",
+ description: "受到恶属性、幽灵属性和虫属性的\n攻击或威吓时,会因胆怯而速度提\n高。",
},
magicBounce: {
name: "魔法镜",
- description: "可以不受到由对手使出的变\n化招式影响,并将其反弹。",
+ description: "可以不受到由对手使出的变化招式\n影响,并将其反弹。",
},
sapSipper: {
name: "食草",
- description: "受到草属性的招式攻击时,\n不会受到伤害,而是攻击会\n提高。",
+ description: "受到草属性的招式攻击时,不会受\n到伤害,而是攻击会提高。",
},
prankster: {
name: "恶作剧之心",
@@ -635,15 +635,15 @@ export const ability: AbilityTranslationEntries = {
},
sandForce: {
name: "沙之力",
- description: "沙暴天气时,岩石属性、地\n面属性和钢属性的招式威力\n会提高。",
+ description: "沙暴天气时,岩石属性、地面属性\n和钢属性的招式威力会提高。",
},
ironBarbs: {
name: "铁刺",
- description: "用铁刺给予接触到自己的对\n手伤害。",
+ description: "用铁刺给予接触到自己的对手伤害\n。",
},
zenMode: {
name: "达摩模式",
- description: "HP变为一半以下时,样子\n会改变。",
+ description: "HP变为一半以下时,样子会改变\n。",
},
victoryStar: {
name: "胜利之星",
@@ -651,67 +651,67 @@ export const ability: AbilityTranslationEntries = {
},
turboblaze: {
name: "涡轮火焰",
- description: "可以不受对手特性的干扰,\n向对手使出招式。",
+ description: "可以不受对手特性的干扰,向对手\n使出招式。",
},
teravolt: {
name: "兆级电压",
- description: "可以不受对手特性的干扰,\n向对手使出招式。",
+ description: "可以不受对手特性的干扰,向对手\n使出招式。",
},
aromaVeil: {
name: "芳香幕",
- description: "可以防住向自己和同伴发出\n的心灵攻击。",
+ description: "可以防住向自己和同伴发出的心灵\n攻击。",
},
flowerVeil: {
name: "花幕",
- description: "我方的草属性宝可梦能力不\n会降低,也不会变为异常状\n态。",
+ description: "我方的草属性宝可梦能力不会降低\n,也不会变为异常状态。",
},
cheekPouch: {
name: "颊囊",
- description: "无论是哪种树果,食用后,\nHP都会回复。",
+ description: "无论是哪种树果,食用后,HP都\n会回复。",
},
protean: {
name: "变幻自如",
- description: "变为与自己使出的招式相同\n的属性。每次出场战斗仅生\n效一次。",
+ description: "变为与自己使出的招式相同的属性\n。每次出场战斗仅生效一次。",
},
furCoat: {
name: "毛皮大衣",
- description: "对手给予的物理招式的伤害\n会减半。",
+ description: "对手给予的物理招式的伤害会减半\n。",
},
magician: {
name: "魔术师",
- description: "夺走被自己的招式击中的对\n手的道具。",
+ description: "夺走被自己的招式击中的对手的道\n具。",
},
bulletproof: {
name: "防弹",
- description: "可以防住对手的球和弹类招\n式。",
+ description: "可以防住对手的球和弹类招式。",
},
competitive: {
name: "好胜",
- description: "如果被对手降低能力,特攻\n会大幅提高。",
+ description: "如果被对手降低能力,特攻会大幅\n提高。",
},
strongJaw: {
name: "强壮之颚",
- description: "因为颚部强壮,啃咬类招式\n的威力会提高。",
+ description: "因为颚部强壮,啃咬类招式的威力\n会提高。",
},
refrigerate: {
name: "冰冻皮肤",
- description: "一般属性的招式会变为冰属\n性。威力会少量提高。",
+ description: "一般属性的招式会变为冰属性。威\n力会少量提高。",
},
sweetVeil: {
name: "甜幕",
- description: "自己和同伴的宝可梦不会变\n为睡眠状态。",
+ description: "自己和同伴的宝可梦不会变为睡眠\n状态。",
},
stanceChange: {
name: "战斗切换",
- description: "如果使出攻击招式,会变为\n刀剑形态,如果使出招式“\n王者盾牌”,会变为盾牌形\n态。",
+ description: "如果使出攻击招式,会变为刀剑形\n态,如果使出招式“王者盾牌”,\n会变为盾牌形态。",
},
galeWings: {
name: "疾风之翼",
- description: "HP全满时,飞行属性的招\n式可以率先使出。",
+ description: "HP全满时,飞行属性的招式可以\n率先使出。",
},
megaLauncher: {
name: "超级发射器",
- description: "波动和波导类招式的威力会\n提高。",
+ description: "波动和波导类招式的威力会提高。",
},
grassPelt: {
name: "草之毛皮",
@@ -719,23 +719,23 @@ export const ability: AbilityTranslationEntries = {
},
symbiosis: {
name: "共生",
- description: "同伴使用道具时,会把自己\n持有的道具传递给同伴。",
+ description: "同伴使用道具时,会把自己持有的\n道具传递给同伴。",
},
toughClaws: {
name: "硬爪",
- description: "接触到对手的招式威力会提\n高。",
+ description: "接触到对手的招式威力会提高。",
},
pixilate: {
name: "妖精皮肤",
- description: "一般属性的招式会变为妖精\n属性。威力会少量提高。",
+ description: "一般属性的招式会变为妖精属性。\n威力会少量提高。",
},
gooey: {
name: "黏滑",
- description: "对于用攻击接触到自己的对\n手,会降低其速度。",
+ description: "对于用攻击接触到自己的对手,会\n降低其速度。",
},
aerilate: {
name: "飞行皮肤",
- description: "一般属性的招式会变为飞行\n属性。威力会少量提高。",
+ description: "一般属性的招式会变为飞行属性。\n威力会少量提高。",
},
parentalBond: {
name: "亲子爱",
@@ -751,19 +751,19 @@ export const ability: AbilityTranslationEntries = {
},
auraBreak: {
name: "气场破坏",
- description: "让气场的效果发生逆转,降\n低威力。",
+ description: "让气场的效果发生逆转,降低威力\n。",
},
primordialSea: {
name: "始源之海",
- description: "变为不会受到火属性攻击的\n天气。",
+ description: "变为不会受到火属性攻击的天气。",
},
desolateLand: {
name: "终结之地",
- description: "变为不会受到水属性攻击的\n天气。",
+ description: "变为不会受到水属性攻击的天气。",
},
deltaStream: {
name: "德尔塔气流",
- description: "变为令飞行属性的弱点消失\n的天气。",
+ description: "变为令飞行属性的弱点消失的天气\n。",
},
stamina: {
name: "持久力",
@@ -771,31 +771,31 @@ export const ability: AbilityTranslationEntries = {
},
wimpOut: {
name: "跃跃欲逃",
- description: "HP变为一半时,会慌慌张\n张逃走,退回同行队伍中。",
+ description: "HP变为一半时,会慌慌张张逃走\n,退回同行队伍中。",
},
emergencyExit: {
name: "危险回避",
- description: "HP变为一半时,为了回避\n危险,会退回到同行队伍中。",
+ description: "HP变为一半时,为了回避危险,\n会退回到同行队伍中。",
},
waterCompaction: {
name: "遇水凝固",
- description: "受到水属性的招式攻击时,\n防御会大幅提高。",
+ description: "受到水属性的招式攻击时,防御会\n大幅提高。",
},
merciless: {
name: "不仁不义",
- description: "攻击中毒状态的对手时,\n必定会击中要害。",
+ description: "攻击中毒状态的对手时,必定会击\n中要害。",
},
shieldsDown: {
name: "界限盾壳",
- description: "HP变为一半时,壳会坏掉,\n变得有攻击性。",
+ description: "HP变为一半时,壳会坏掉,变得\n有攻击性。",
},
stakeout: {
name: "蹲守",
- description: "可以对替换出场的对手以2\n倍的伤害进行攻击。",
+ description: "可以对替换出场的对手以2倍的伤\n害进行攻击。",
},
waterBubble: {
name: "水泡",
- description: "降低自己受到的火属性招式\n的威力,不会灼伤。",
+ description: "降低自己受到的火属性招式的威力\n,不会灼伤。",
},
steelworker: {
name: "钢能力者",
@@ -803,7 +803,7 @@ export const ability: AbilityTranslationEntries = {
},
berserk: {
name: "怒火冲天",
- description: "因对手的攻击HP变为一半\n时,特攻会提高。",
+ description: "因对手的攻击HP变为一半时,特\n攻会提高。",
},
slushRush: {
name: "拨雪",
@@ -811,11 +811,11 @@ export const ability: AbilityTranslationEntries = {
},
longReach: {
name: "远隔",
- description: "可以不接触对手就使出所有\n的招式。",
+ description: "可以不接触对手就使出所有的招式\n。",
},
liquidVoice: {
name: "湿润之声",
- description: "所有的声音招式都变为水属\n性。",
+ description: "所有的声音招式都变为水属性。",
},
triage: {
name: "先行治疗",
@@ -823,83 +823,83 @@ export const ability: AbilityTranslationEntries = {
},
galvanize: {
name: "电气皮肤",
- description: "一般属性的招式会变为电属\n性。威力会少量提高。",
+ description: "一般属性的招式会变为电属性。威\n力会少量提高。",
},
surgeSurfer: {
name: "冲浪之尾",
- description: "电气场地时,速度会变为2\n倍。",
+ description: "电气场地时,速度会变为2倍。",
},
schooling: {
name: "鱼群",
- description: "HP多的时候会聚起来变强。\nHP剩余量变少时,群体\n会分崩离析。",
+ description: "HP多的时候会聚起来变强。HP\n剩余量变少时,群体会分崩离析。",
},
disguise: {
name: "画皮",
- description: "通过画皮覆盖住身体,可以\n防住1次攻击。",
+ description: "通过画皮覆盖住身体,可以防住1\n次攻击。",
},
battleBond: {
name: "牵绊变身",
- description: "打倒对手时,与训练家的牵\n绊会增强,自己的攻击、特\n攻、速度会提高。",
+ description: "打倒对手时,与训练家的牵绊会增\n强,自己的攻击、特攻、速度会提\n高。",
},
powerConstruct: {
name: "群聚变形",
- description: "HP变为一半时,细胞们会\n赶来支援,变为完全体形态。",
+ description: "HP变为一半时,细胞们会赶来支\n援,变为完全体形态。",
},
corrosion: {
name: "腐蚀",
- description: "可以使钢属性和毒属性的宝\n可梦也陷入中毒状态。",
+ description: "可以使钢属性和毒属性的宝可梦也\n陷入中毒状态。",
},
comatose: {
name: "绝对睡眠",
- description: "总是半梦半醒的状态,绝对\n不会醒来。可以就这么睡着\n进行攻击。",
+ description: "总是半梦半醒的状态,绝对不会醒\n来。可以就这么睡着进行攻击。",
},
queenlyMajesty: {
name: "女王的威严",
- description: "向对手施加威慑力,使其无\n法对我方使出先制招式。",
+ description: "向对手施加威慑力,使其无法对我\n方使出先制招式。",
},
innardsOut: {
name: "飞出的内在物",
- description: "被对手打倒的时候,会给予\n对手相当于HP剩余量的伤\n害。",
+ description: "被对手打倒的时候,会给予对手相\n当于HP剩余量的伤害。",
},
dancer: {
name: "舞者",
- description: "有谁使出跳舞招式时,自己\n也能就这么接着使出跳舞招\n式。",
+ description: "有谁使出跳舞招式时,自己也能就\n这么接着使出跳舞招式。",
},
battery: {
name: "蓄电池",
- description: "会提高我方的特殊招式的威\n力。",
+ description: "会提高我方的特殊招式的威力。",
},
fluffy: {
name: "毛茸茸",
- description: "会将对手所给予的接触类招\n式的伤害减半,但火属性招\n式的伤害会变为2倍。",
+ description: "会将对手所给予的接触类招式的伤\n害减半,但火属性招式的伤害会变\n为2倍。",
},
dazzling: {
name: "鲜艳之躯",
- description: "让对手吓一跳,使其无法对\n我方使出先制招式。",
+ description: "让对手吓一跳,使其无法对我方使\n出先制招式。",
},
soulHeart: {
name: "魂心",
- description: "宝可梦每次变为濒死状态时\n,特攻会提高。",
+ description: "宝可梦每次变为濒死状态时,特攻\n会提高。",
},
tanglingHair: {
name: "卷发",
- description: "对于用攻击接触到自己的对\n手,会降低其速度。",
+ description: "对于用攻击接触到自己的对手,会\n降低其速度。",
},
receiver: {
name: "接球手",
- description: "继承被打倒的同伴的特性,\n变为相同的特性。",
+ description: "继承被打倒的同伴的特性,变为相\n同的特性。",
},
powerOfAlchemy: {
name: "化学之力",
- description: "继承被打倒的同伴的特性,\n变为相同的特性。",
+ description: "继承被打倒的同伴的特性,变为相\n同的特性。",
},
beastBoost: {
name: "异兽提升",
- description: "打倒对手的时候,自己最高\n的那项能力会提高。",
+ description: "打倒对手的时候,自己最高的那项\n能力会提高。",
},
rksSystem: {
name: "AR系统",
- description: "根据持有的存储碟,自己的\n属性会改变。",
+ description: "根据持有的存储碟,自己的属性会\n改变。",
},
electricSurge: {
name: "电气制造者",
@@ -919,19 +919,19 @@ export const ability: AbilityTranslationEntries = {
},
fullMetalBody: {
name: "金属防护",
- description: "不会因为对手的招式或特性\n而被降低能力。",
+ description: "不会因为对手的招式或特性而被降\n低能力。",
},
shadowShield: {
name: "幻影防守",
- description: "HP全满时,受到的伤害会\n变少。",
+ description: "HP全满时,受到的伤害会变少。",
},
prismArmor: {
name: "棱镜装甲",
- description: "受到效果绝佳的攻击时,可\n以减弱其威力。",
+ description: "受到效果绝佳的攻击时,可以减弱\n其威力。",
},
neuroforce: {
name: "脑核之力",
- description: "效果绝佳的攻击,威力会变\n得更强。",
+ description: "效果绝佳的攻击,威力会变得更强\n。",
},
intrepidSword: {
name: "不挠之剑",
@@ -943,39 +943,39 @@ export const ability: AbilityTranslationEntries = {
},
libero: {
name: "自由者",
- description: "变为与自己使出的招式相同\n的属性。每次出场战斗仅生\n效一次。",
+ description: "变为与自己使出的招式相同的属性\n。每次出场战斗仅生效一次。",
},
ballFetch: {
name: "捡球",
- description: "没有携带道具时,会拾取第\n1个投出后捕捉失败的精灵\n球。",
+ description: "没有携带道具时,会拾取第1个投\n出后捕捉失败的精灵球。",
},
cottonDown: {
name: "棉絮",
- description: "受到攻击后撒下棉絮,降低\n除自己以外的所有宝可梦的\n速度。",
+ description: "受到攻击后撒下棉絮,降低除自己\n以外的所有宝可梦的速度。",
},
propellerTail: {
name: "螺旋尾鳍",
- description: "能无视具有吸引对手招式效\n果的特性或招式的影响。",
+ description: "能无视具有吸引对手招式效果的特\n性或招式的影响。",
},
mirrorArmor: {
name: "镜甲",
- description: "只反弹自己受到的能力降低\n效果。",
+ description: "只反弹自己受到的能力降低效果。",
},
gulpMissile: {
name: "一口导弹",
- description: "冲浪或潜水时会叼来猎物。\n受到伤害时,会吐出猎物进\n行攻击。",
+ description: "冲浪或潜水时会叼来猎物。受到伤\n害时,会吐出猎物进行攻击。",
},
stalwart: {
name: "坚毅",
- description: "能无视具有吸引对手招式效\n果的特性或招式的影响。",
+ description: "能无视具有吸引对手招式效果的特\n性或招式的影响。",
},
steamEngine: {
name: "蒸汽机",
- description: "受到水属性或火属性的招式\n攻击时,速度会巨幅提高。",
+ description: "受到水属性或火属性的招式攻击时\n,速度会巨幅提高。",
},
punkRock: {
name: "庞克摇滚",
- description: "声音招式的威力会提高。受\n到的声音招式伤害会减半。",
+ description: "声音招式的威力会提高。受到的声\n音招式伤害会减半。",
},
sandSpit: {
name: "吐沙",
@@ -983,7 +983,7 @@ export const ability: AbilityTranslationEntries = {
},
iceScales: {
name: "冰鳞粉",
- description: "由于有冰鳞粉的守护,受到\n的特殊攻击伤害会减半。",
+ description: "由于有冰鳞粉的守护,受到的特殊\n攻击伤害会减半。",
},
ripen: {
name: "熟成",
@@ -991,47 +991,47 @@ export const ability: AbilityTranslationEntries = {
},
iceFace: {
name: "结冻头",
- description: "头部的冰会代替自己承受物\n理攻击,但是样子会改变。\n下雪时,冰会恢复原状。",
+ description: "头部的冰会代替自己承受物理攻击\n,但是样子会改变。下雪时,冰会\n恢复原状。",
},
powerSpot: {
name: "能量点",
- description: "只要处在相邻位置,招式的\n威力就会提高。",
+ description: "只要处在相邻位置,招式的威力就\n会提高。",
},
mimicry: {
name: "拟态",
- description: "宝可梦的属性会根据场地的\n状态而变化。",
+ description: "宝可梦的属性会根据场地的状态而\n变化。",
},
screenCleaner: {
name: "除障",
- description: "出场时,敌方和我方的光墙\n、反射壁和极光幕的效果会\n消失。",
+ description: "出场时,敌方和我方的光墙、反射\n壁和极光幕的效果会消失。",
},
steelySpirit: {
name: "钢之意志",
- description: "我方的钢属性攻击威力会提\n高。",
+ description: "我方的钢属性攻击威力会提高。",
},
perishBody: {
name: "灭亡之躯",
- description: "受到接触类招式攻击时,双\n方都会在3回合后变为濒死\n状态。替换后效果消失。",
+ description: "受到接触类招式攻击时,双方都会\n在3回合后变为濒死状态。替换后\n效果消失。",
},
wanderingSpirit: {
name: "游魂",
- description: "与使用接触类招式攻击自己\n的宝可梦互换特性。",
+ description: "与使用接触类招式攻击自己的宝可\n梦互换特性。",
},
gorillaTactics: {
name: "一猩一意",
- description: "虽然攻击会提高,但是只能\n使出一开始所选的招式。",
+ description: "虽然攻击会提高,但是只能使出一\n开始所选的招式。",
},
neutralizingGas: {
name: "化学变化气体",
- description: "特性为化学变化气体的宝可\n梦在场时,场上所有宝可梦\n的特性效果都会消失或者无\n法生效。",
+ description: "特性为化学变化气体的宝可梦在场\n时,场上所有宝可梦的特性效果都\n会消失或者无法生效。",
},
pastelVeil: {
name: "粉彩护幕",
- description: "自己和同伴都不会陷入中毒\n的异常状态。",
+ description: "自己和同伴都不会陷入中毒的异常\n状态。",
},
hungerSwitch: {
name: "饱了又饿",
- description: "每回合结束时会在满腹花纹\n与空腹花纹之间交替改变样\n子。",
+ description: "每回合结束时会在满腹花纹与空腹\n花纹之间交替改变样子。",
},
quickDraw: {
name: "速击",
@@ -1039,11 +1039,11 @@ export const ability: AbilityTranslationEntries = {
},
unseenFist: {
name: "无形拳",
- description: "如果使出的是接触到对手的\n招式,就可以无视守护效果\n进行攻击。",
+ description: "如果使出的是接触到对手的招式,\n就可以无视守护效果进行攻击。",
},
curiousMedicine: {
name: "怪药",
- description: "出场时会从贝壳撒药,将我\n方的能力变化复原。",
+ description: "出场时会从贝壳撒药,将我方的能\n力变化复原。",
},
transistor: {
name: "电晶体",
@@ -1055,51 +1055,51 @@ export const ability: AbilityTranslationEntries = {
},
chillingNeigh: {
name: "苍白嘶鸣",
- description: "打倒对手时会用冰冷的声音\n嘶鸣并提高攻击。",
+ description: "打倒对手时会用冰冷的声音嘶鸣并\n提高攻击。",
},
grimNeigh: {
name: "漆黑嘶鸣",
- description: "打倒对手时会用恐怖的声音\n嘶鸣并提高特攻。",
+ description: "打倒对手时会用恐怖的声音嘶鸣并\n提高特攻。",
},
asOneGlastrier: {
name: "人马一体",
- description: "兼备蕾冠王的紧张感和雪暴\n马的苍白嘶鸣这两种特性。",
+ description: "兼备蕾冠王的紧张感和雪暴马的苍\n白嘶鸣这两种特性。",
},
asOneSpectrier: {
name: "人马一体",
- description: "兼备蕾冠王的紧张感和灵幽\n马的漆黑嘶鸣这两种特性。",
+ description: "兼备蕾冠王的紧张感和灵幽马的漆\n黑嘶鸣这两种特性。",
},
lingeringAroma: {
name: "甩不掉的气味",
- description: "被对手接触到后,甩不掉的\n气味会沾上对手。",
+ description: "被对手接触到后,甩不掉的气味会\n沾上对手。",
},
seedSower: {
name: "掉出种子",
- description: "受到攻击时,会将脚下变成\n青草场地。",
+ description: "受到攻击时,会将脚下变成青草场\n地。",
},
thermalExchange: {
name: "热交换",
- description: "受到火属性的招式攻击时,\n攻击会提高,且不会陷入灼\n伤状态。",
+ description: "受到火属性的招式攻击时,攻击会\n提高,且不会陷入灼伤状态。",
},
angerShell: {
name: "愤怒甲壳",
- description: "因被对手攻击而HP变为一\n半时,会因愤怒降低防御和\n特防。但攻击、特攻、速度\n会提高。",
+ description: "因被对手攻击而HP变为一半时,\n会因愤怒降低防御和特防。但攻击\n、特攻、速度会提高。",
},
purifyingSalt: {
name: "洁净之盐",
- description: "因洁净的盐而不会陷入异常\n状态。会让幽灵属性的招式\n伤害减半。",
+ description: "因洁净的盐而不会陷入异常状态。\n会让幽灵属性的招式伤害减半。",
},
wellBakedBody: {
name: "焦香之躯",
- description: "受到火属性的招式攻击时,\n不会受到伤害,而是会大幅\n提高防御。",
+ description: "受到火属性的招式攻击时,不会受\n到伤害,而是会大幅提高防御。",
},
windRider: {
name: "乘风",
- description: "吹起了顺风或受到风的招式\n攻击时,不会受到伤害,而\n是会提高攻击。",
+ description: "吹起了顺风或受到风的招式攻击时\n,不会受到伤害,而是会提高攻击\n。",
},
guardDog: {
name: "看门犬",
- description: "受到威吓时,攻击会提高。\n让替换宝可梦的招式和道具\n无效。",
+ description: "受到威吓时,攻击会提高。让替换\n宝可梦的招式和道具无效。",
},
rockyPayload: {
name: "搬岩",
@@ -1107,63 +1107,63 @@ export const ability: AbilityTranslationEntries = {
},
windPower: {
name: "风力发电",
- description: "受到风的招式攻击时,会变\n为充电状态。",
+ description: "受到风的招式攻击时,会变为充电\n状态。",
},
zeroToHero: {
name: "全能变身",
- description: "回到同行队伍后,会变为全\n能形态。",
+ description: "回到同行队伍后,会变为全能形态\n。",
},
commander: {
name: "发号施令",
- description: "出场时,若我方当中有吃吼\n霸,就会进入其口中,并从\n其口中发出指令。",
+ description: "出场时,若我方当中有吃吼霸,就\n会进入其口中,并从其口中发出指\n令。",
},
electromorphosis: {
name: "电力转换",
- description: "受到伤害时,会变为充电状\n态。",
+ description: "受到伤害时,会变为充电状态。",
},
protosynthesis: {
name: "古代活性",
- description: "携带着驱劲能量或天气为晴\n朗时,数值最高的能力会提\n高。",
+ description: "携带着驱劲能量或天气为晴朗时,\n数值最高的能力会提高。",
},
quarkDrive: {
name: "夸克充能",
- description: "携带着驱劲能量或在电气场\n地上时,数值最高的能力会\n提高。",
+ description: "携带着驱劲能量或在电气场地上时\n,数值最高的能力会提高。",
},
goodAsGold: {
name: "黄金之躯",
- description: "不会氧化的坚固黄金身躯不\n会受到对手的变化招式的影\n响。",
+ description: "不会氧化的坚固黄金身躯不会受到\n对手的变化招式的影响。",
},
vesselOfRuin: {
name: "灾祸之鼎",
- description: "以能呼唤灾厄的鼎的力量降\n低除自己以外的宝可梦的特\n攻。",
+ description: "以能呼唤灾厄的鼎的力量降低除自\n己以外的宝可梦的特攻。",
},
swordOfRuin: {
name: "灾祸之剑",
- description: "以能呼唤灾厄的剑的力量降\n低除自己以外的宝可梦的防\n御。",
+ description: "以能呼唤灾厄的剑的力量降低除自\n己以外的宝可梦的防御。",
},
tabletsOfRuin: {
name: "灾祸之简",
- description: "以能呼唤灾厄的简的力量降\n低除自己以外的宝可梦的攻\n击。",
+ description: "以能呼唤灾厄的简的力量降低除自\n己以外的宝可梦的攻击。",
},
beadsOfRuin: {
name: "灾祸之玉",
- description: "以能呼唤灾厄的勾玉的力量\n降低除自己以外的宝可梦的\n特防。",
+ description: "以能呼唤灾厄的勾玉的力量降低除\n自己以外的宝可梦的特防。",
},
orichalcumPulse: {
name: "绯红脉动",
- description: "出场时,会将天气变为晴朗\n。日照强烈时,会通过古代\n的脉动升高攻击。",
+ description: "出场时,会将天气变为晴朗。日照\n强烈时,会通过古代的脉动升高攻\n击。",
},
hadronEngine: {
name: "强子引擎",
- description: "出场时,会布下电气场地。\n处于电气场地时,会通过未\n来的机关升高特攻。",
+ description: "出场时,会布下电气场地。处于电\n气场地时,会通过未来的机关升高\n特攻。",
},
opportunist: {
name: "跟风",
- description: "对手的能力提高时,自己也\n会趁机同样地提高能力。",
+ description: "对手的能力提高时,自己也会趁机\n同样地提高能力。",
},
cudChew: {
name: "反刍",
- description: "吃了树果后,会在下一回合\n结束时从胃反刍出来再吃1\n次。",
+ description: "吃了树果后,会在下一回合结束时\n从胃反刍出来再吃1次。",
},
sharpness: {
name: "锋锐",
@@ -1171,74 +1171,74 @@ export const ability: AbilityTranslationEntries = {
},
supremeOverlord: {
name: "大将",
- description: "出场时,攻击和特攻会按照\n目前被打倒的同伴数量逐渐\n提升,被打倒越多,提升越\n多。",
+ description: "出场时,攻击和特攻会按照目前被\n打倒的同伴数量逐渐提升,被打倒\n越多,提升越多。",
},
costar: {
name: "同台共演",
- description: "出场时,复制同伴的能力变\n化。",
+ description: "出场时,复制同伴的能力变化。",
},
toxicDebris: {
name: "毒满地",
- description: "受到物理招式的伤害时,会\n在对手脚下散布毒菱。",
+ description: "受到物理招式的伤害时,会在对手\n脚下散布毒菱。",
},
armorTail: {
name: "尾甲",
- description: "包裹头部的神秘尾巴使对手\n无法对我方使出先制招式。",
+ description: "包裹头部的神秘尾巴使对手无法对\n我方使出先制招式。",
},
earthEater: {
name: "食土",
- description: "受到地面属性的招式攻击时\n,不会受到伤害,而是会得\n到回复。",
+ description: "受到地面属性的招式攻击时,不会\n受到伤害,而是会得到回复。",
},
myceliumMight: {
name: "菌丝之力",
- description: "使出变化招式时,虽然行动\n必定会变慢,但能不受对手\n的特性妨碍。",
+ description: "使出变化招式时,虽然行动必定会\n变慢,但能不受对手的特性妨碍。",
},
mindsEye: {
name: "心眼",
- description: "一般属性和格斗属性的招式\n可以击中幽灵属性的宝可梦。\n无视对手的闪避率的变化,\n且命中率不会被降低。",
+ description: "一般属性和格斗属性的招式可以击\n中幽灵属性的宝可梦。无视对手的\n闪避率的变化,且命中率不会被降\n低。",
},
supersweetSyrup: {
name: "甘露之蜜",
- description: "首次出场时,会散发出甜腻\n的蜜的香味来降低对手的闪\n避率。",
+ description: "首次出场时,会散发出甜腻的蜜的\n香味来降低对手的闪避率。",
},
hospitality: {
name: "款待",
- description: "出场时款待同伴,回复其少\n量HP。",
+ description: "出场时款待同伴,回复其少量HP\n。",
},
toxicChain: {
name: "毒锁链",
- description: "凭借含有毒素的锁链的力量,\n有时能让被招式击中的对\n手陷入剧毒状态。",
+ description: "凭借含有毒素的锁链的力量,有时\n能让被招式击中的对手陷入剧毒状\n态。",
},
embodyAspectTeal: {
name: "面影辉映",
- description: "将回忆映于心中,让碧草面\n具发出光辉,提高自己的速\n度。",
+ description: "将回忆映于心中,让碧草面具发出\n光辉,提高自己的速度。",
},
embodyAspectWellspring: {
name: "面影辉映",
- description: "将回忆映于心中,让水井面\n具发出光辉,提高自己的特\n防。",
+ description: "将回忆映于心中,让水井面具发出\n光辉,提高自己的特防。",
},
embodyAspectHearthflame: {
name: "面影辉映",
- description: "将回忆映于心中,让火灶面\n具发出光辉,提高自己的攻\n击。",
+ description: "将回忆映于心中,让火灶面具发出\n光辉,提高自己的攻击。",
},
embodyAspectCornerstone: {
name: "面影辉映",
- description: "将回忆映于心中,让础石面\n具发出光辉,提高自己的防\n御。",
+ description: "将回忆映于心中,让础石面具发出\n光辉,提高自己的防御。",
},
teraShift: {
name: "太晶变形",
- description: "出场时,会吸收周围的能量\n,变为太晶形态。",
+ description: "出场时,会吸收周围的能量,变为\n太晶形态。",
},
teraShell: {
name: "太晶甲壳",
- description: "甲壳蕴藏着全部属性的力量\n,会将自己HP全满时受到\n的伤害全都变为效果不好。",
+ description: "甲壳蕴藏着全部属性的力量,会将\n自己HP全满时受到的伤害全都变\n为效果不好。",
},
teraformZero: {
name: "归零化境",
- description: "太乐巴戈斯变为星晶形态时\n,蕴藏在它身上的力量会将\n天气和场地的影响全部归零。",
+ description: "太乐巴戈斯变为星晶形态时,蕴藏\n在它身上的力量会将天气和场地的\n影响全部归零。",
},
poisonPuppeteer: {
name: "毒傀儡",
- description: "因桃歹郎的招式而陷入中毒\n状态的对手同时也会陷入混\n乱状态。",
+ description: "因桃歹郎的招式而陷入中毒状态的\n对手同时也会陷入混乱状态。",
},
} as const;
diff --git a/src/locales/zh_CN/achv.ts b/src/locales/zh_CN/achv.ts
index 42b1995bcde..486ff3cc02b 100644
--- a/src/locales/zh_CN/achv.ts
+++ b/src/locales/zh_CN/achv.ts
@@ -1,171 +1,270 @@
-import { AchievementTranslationEntries } from "#app/plugins/i18n.js";
+import { AchievementTranslationEntries } from "#app/interfaces/locales.js";
-export const achv: AchievementTranslationEntries = {
+// Achievement translations for the when the player character is male
+export const PGMachv: AchievementTranslationEntries = {
"Achievements": {
- name: "Achievements",
+ name: "成就",
},
"Locked": {
- name: "Locked",
+ name: "未解锁",
},
"MoneyAchv": {
- description: "Accumulate a total of ₽{{moneyAmount}}",
+ description: "累计获得 ₽{{moneyAmount}}",
},
"10K_MONEY": {
- name: "Money Haver",
+ name: "小有积蓄",
},
"100K_MONEY": {
- name: "Rich",
+ name: "大户人家",
},
"1M_MONEY": {
- name: "Millionaire",
+ name: "百万富翁",
},
"10M_MONEY": {
- name: "One Percenter",
+ name: "暴发户",
},
"DamageAchv": {
- description: "Inflict {{damageAmount}} damage in one hit",
+ description: "在单次攻击中造成 {{damageAmount}} 点伤害",
},
"250_DMG": {
- name: "Hard Hitter",
+ name: "重拳出击",
},
"1000_DMG": {
- name: "Harder Hitter",
+ name: "神拳猛击",
},
"2500_DMG": {
- name: "That's a Lotta Damage!",
+ name: "夺少?",
},
"10000_DMG": {
- name: "One Punch Man",
+ name: "一拳超人",
},
"HealAchv": {
- description: "Heal {{healAmount}} {{HP}} at once with a move, ability, or held item",
+ description: "通过技能、能力或携带的道具一次性治疗 {{healAmount}} {{HP}}点",
},
"250_HEAL": {
- name: "Novice Healer",
+ name: "新手奶妈",
},
"1000_HEAL": {
- name: "Big Healer",
+ name: "治疗担当",
},
"2500_HEAL": {
- name: "Cleric",
+ name: "牧师",
},
"10000_HEAL": {
- name: "Recovery Master",
+ name: "泉水",
},
"LevelAchv": {
- description: "Level up a Pokémon to Lv{{level}}",
+ description: "将一只宝可梦提升到 Lv{{level}}",
},
"LV_100": {
- name: "But Wait, There's More!",
+ name: "别急,后面还有",
},
"LV_250": {
- name: "Elite",
+ name: "精英",
},
"LV_1000": {
- name: "To Go Even Further Beyond",
+ name: "天外有天",
},
"RibbonAchv": {
- description: "Accumulate a total of {{ribbonAmount}} Ribbons",
+ description: "累计获得 {{ribbonAmount}} 个勋章",
},
"10_RIBBONS": {
- name: "Pokémon League Champion",
+ name: "宝可梦联盟冠军",
},
"25_RIBBONS": {
- name: "Great League Champion",
+ name: "超级球联盟冠军",
},
"50_RIBBONS": {
- name: "Ultra League Champion",
+ name: "高级球联盟冠军",
},
"75_RIBBONS": {
- name: "Rogue League Champion",
+ name: "肉鸽球联盟冠军",
},
"100_RIBBONS": {
- name: "Master League Champion",
+ name: "大师球联盟冠军",
},
"TRANSFER_MAX_BATTLE_STAT": {
- name: "Teamwork",
- description: "Baton pass to another party member with at least one stat maxed out",
+ name: "团队协作",
+ description: "在一项属性强化至最大时用接力棒传递给其他宝可梦",
},
"MAX_FRIENDSHIP": {
- name: "Friendmaxxing",
- description: "Reach max friendship on a Pokémon",
+ name: "亲密无间",
+ description: "使一只宝可梦的亲密度达到最大值",
},
"MEGA_EVOLVE": {
- name: "Megamorph",
- description: "Mega evolve a Pokémon",
+ name: "大变身",
+ description: "超级进化一只宝可梦",
},
"GIGANTAMAX": {
- name: "Absolute Unit",
- description: "Gigantamax a Pokémon",
+ name: "这位更是重量级",
+ description: "极巨化一只宝可梦",
},
"TERASTALLIZE": {
- name: "STAB Enthusiast",
- description: "Terastallize a Pokémon",
+ name: "本系爱好者",
+ description: "太晶化一只宝可梦",
},
"STELLAR_TERASTALLIZE": {
- name: "The Hidden Type",
- description: "Stellar Terastallize a Pokémon",
+ name: "隐藏属性",
+ description: "星晶化一只宝可梦",
},
"SPLICE": {
- name: "Infinite Fusion",
- description: "Splice two Pokémon together with DNA Splicers",
+ name: "无限融合",
+ description: "使用基因之楔将两只宝可梦融合在一起",
},
"MINI_BLACK_HOLE": {
- name: "A Hole Lot of Items",
- description: "Acquire a Mini Black Hole",
+ name: "一大洞的道具",
+ description: "获得一个迷你黑洞",
},
"CATCH_MYTHICAL": {
- name: "Mythical",
- description: "Catch a mythical Pokémon",
+ name: "神秘礼物",
+ description: "捕捉一只幻之宝可梦",
},
"CATCH_SUB_LEGENDARY": {
- name: "(Sub-)Legendary",
- description: "Catch a sub-legendary Pokémon",
+ name: "二级传说",
+ description: "捕捉一只二级传说宝可梦",
},
"CATCH_LEGENDARY": {
- name: "Legendary",
- description: "Catch a legendary Pokémon",
+ name: "传说",
+ description: "捕捉一只传说宝可梦",
},
"SEE_SHINY": {
- name: "Shiny",
- description: "Find a shiny Pokémon in the wild",
+ name: "闪耀夺目",
+ description: "在野外找到一只闪光宝可梦",
},
"SHINY_PARTY": {
- name: "That's Dedication",
- description: "Have a full party of shiny Pokémon",
+ name: "呕心沥血",
+ description: "拥有一支由闪光宝可梦组成的满员队伍",
},
"HATCH_MYTHICAL": {
- name: "Mythical Egg",
- description: "Hatch a mythical Pokémon from an egg",
+ name: "幻兽蛋",
+ description: "从蛋中孵化出一只幻之宝可梦",
},
"HATCH_SUB_LEGENDARY": {
- name: "Sub-Legendary Egg",
- description: "Hatch a sub-legendary Pokémon from an egg",
+ name: "二级传说蛋",
+ description: "从蛋中孵化出一只二级传说宝可梦",
},
"HATCH_LEGENDARY": {
- name: "Legendary Egg",
- description: "Hatch a legendary Pokémon from an egg",
+ name: "传说蛋",
+ description: "从蛋中孵化出一只传说宝可梦",
},
"HATCH_SHINY": {
- name: "Shiny Egg",
- description: "Hatch a shiny Pokémon from an egg",
+ name: "金色传说!",
+ description: "从蛋中孵化出一只闪光宝可梦",
},
"HIDDEN_ABILITY": {
- name: "Hidden Potential",
- description: "Catch a Pokémon with a hidden ability",
+ name: "隐藏实力",
+ description: "捕捉一只拥有隐藏特性的宝可梦",
},
"PERFECT_IVS": {
- name: "Certificate of Authenticity",
- description: "Get perfect IVs on a Pokémon",
+ name: "合格证",
+ description: "获得一只拥有完美个体值的宝可梦",
},
"CLASSIC_VICTORY": {
- name: "Undefeated",
- description: "Beat the game in classic mode",
+ name: "战无不胜",
+ description: "在经典模式中通关游戏",
+ },
+
+ "MONO_GEN_ONE": {
+ name: "最初的劲敌",
+ description: "完成仅限第一世代的挑战.",
+ },
+ "MONO_GEN_TWO": {
+ name: "1.5世代",
+ description: "完成仅限第二世代的挑战.",
+ },
+ "MONO_GEN_THREE": {
+ name: "“水太多了”",
+ description: "完成仅限第三世代的挑战.",
+ },
+ "MONO_GEN_FOUR": {
+ name: "她真是最强冠军吗?",
+ description: "完成仅限第四世代的挑战.",
+ },
+ "MONO_GEN_FIVE": {
+ name: "完全原创",
+ description: "完成仅限第五世代的挑战.",
+ },
+ "MONO_GEN_SIX": {
+ name: "女大公",
+ description: "完成仅限第六世代的挑战.",
+ },
+ "MONO_GEN_SEVEN": {
+ name: "首届冠军",
+ description: "完成仅限第七世代的挑战.",
+ },
+ "MONO_GEN_EIGHT": {
+ name: "冠军时刻!",
+ description: "完成仅限第八世代的挑战.",
+ },
+ "MONO_GEN_NINE": {
+ name: "她又放水了",
+ description: "完成仅限第九世代的挑战.",
+ },
+
+ "MonoType": {
+ description: "完成 {{type}} 单属性挑战.",
+ },
+ "MONO_NORMAL": {
+ name: "异乎寻常的寻常",
+ },
+ "MONO_FIGHTING": {
+ name: "我有真功夫",
+ },
+ "MONO_FLYING": {
+ name: "愤怒的小鸟",
+ },
+ "MONO_POISON": {
+ name: "关都地区特色",
+ },
+ "MONO_GROUND": {
+ name: "地震预报",
+ },
+ "MONO_ROCK": {
+ name: "坚如磐石",
+ },
+ "MONO_BUG": {
+ name: "音箱蟀侠",
+ },
+ "MONO_GHOST": {
+ name: "捉鬼敢死队",
+ },
+ "MONO_STEEL": {
+ name: "铁巨人",
+ },
+ "MONO_FIRE": {
+ name: "搓火球解决一切",
+ },
+ "MONO_WATER": {
+ name: "当雨来临,倾盆而下",
+ },
+ "MONO_GRASS": {
+ name: "别踏这个青",
+ },
+ "MONO_ELECTRIC": {
+ name: "瞄准大岩蛇的角!",
+ },
+ "MONO_PSYCHIC": {
+ name: "脑洞大开",
+ },
+ "MONO_ICE": {
+ name: "如履薄冰",
+ },
+ "MONO_DRAGON": {
+ name: "准神俱乐部",
+ },
+ "MONO_DARK": {
+ name: "总有叛逆期",
+ },
+ "MONO_FAIRY": {
+ name: "林克,醒醒!",
},
} as const;
+
+// Achievement translations for the when the player character is female (it for now uses the same translations as the male version)
+export const PGFachv: AchievementTranslationEntries = PGMachv;
diff --git a/src/locales/zh_CN/battle-message-ui-handler.ts b/src/locales/zh_CN/battle-message-ui-handler.ts
index 89be345c32f..fb6e74cf66b 100644
--- a/src/locales/zh_CN/battle-message-ui-handler.ts
+++ b/src/locales/zh_CN/battle-message-ui-handler.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const battleMessageUiHandler: SimpleTranslationEntries = {
"ivBest": "最棒",
@@ -7,4 +7,4 @@ export const battleMessageUiHandler: SimpleTranslationEntries = {
"ivPrettyGood": "相当好",
"ivDecent": "一般般",
"ivNoGood": "也许不行",
-} as const;
+} as const;
diff --git a/src/locales/zh_CN/battle.ts b/src/locales/zh_CN/battle.ts
index cd6357608ac..ff2e90a2c59 100644
--- a/src/locales/zh_CN/battle.ts
+++ b/src/locales/zh_CN/battle.ts
@@ -1,61 +1,138 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const battle: SimpleTranslationEntries = {
"bossAppeared": "{{bossName}} 出现了。",
"trainerAppeared": "{{trainerName}}\n想要和你对战!",
"trainerAppearedDouble": "{{trainerName}}\n想要和你对战!",
- "trainerSendOut": "{{trainerName}} 派出了\n{{pokemonName}}!",
- "singleWildAppeared": "一只野生 {{pokemonName}} 出现了!",
- "multiWildAppeared": "野生的 {{pokemonName1}}\n和 {{pokemonName2}} 出现了!",
- "playerComeBack": "回来吧, {{pokemonName}}!",
- "trainerComeBack": "{{trainerName}} 收回了 {{pokemonName}}!",
- "playerGo": "去吧! {{pokemonName}}!",
- "trainerGo": "{{trainerName}} 派出了\n{{pokemonName}}!",
+ "trainerSendOut": "{{trainerName}}派出了\n{{pokemonName}}!",
+ "singleWildAppeared": "一只野生的{{pokemonName}}出现了!",
+ "multiWildAppeared": "野生的{{pokemonName1}}\n和{{pokemonName2}}出现了!",
+ "playerComeBack": "回来吧,{{pokemonName}}!",
+ "trainerComeBack": "{{trainerName}}收回了{{pokemonName}}!",
+ "playerGo": "去吧!{{pokemonName}}!",
+ "trainerGo": "{{trainerName}}派出了\n{{pokemonName}}!",
"switchQuestion": "要更换\n{{pokemonName}}吗?",
"trainerDefeated": "你击败了\n{{trainerName}}!",
"moneyWon": "你赢得了\n₽{{moneyAmount}}!",
- "pokemonCaught": "{{pokemonName}} 被抓住了!",
- "partyFull": "你的队伍已满员.是否放生其他宝可梦\n为 {{pokemonName}} 腾出空间?",
+ "moneyPickedUp": "捡到了 ₽{{moneyAmount}}!",
+ "pokemonCaught": "{{pokemonName}}被抓住了!",
+ "addedAsAStarter": "增加了{{pokemonName}}作为\n一个新的基础宝可梦!",
+ "partyFull": "你的队伍已满员。是否放生其他宝可梦\n为{{pokemonName}}腾出空间?",
"pokemon": "宝可梦",
"sendOutPokemon": "上吧!\n{{pokemonName}}!",
"hitResultCriticalHit": "击中了要害!",
"hitResultSuperEffective": "效果拔群!",
"hitResultNotVeryEffective": "收效甚微…",
- "hitResultNoEffect": "对 {{pokemonName}} 没有效果!!",
+ "hitResultNoEffect": "对{{pokemonName}}没有效果!!",
"hitResultOneHitKO": "一击必杀!",
"attackFailed": "但是失败了!",
- "attackHitsCount": "击中 {{count}} 次!",
- "expGain": "{{pokemonName}} 获得了 {{exp}} 经验值!",
- "levelUp": "{{pokemonName}} 升级到 Lv.{{level}}!",
+ "attackMissed": "没有命中{{pokemonNameWithAffix}}!",
+ "attackHitsCount": "击中{{count}}次!",
+ "rewardGain": "你获得了\n{{modifierName}}!",
+ "expGain": "{{pokemonName}}获得了 {{exp}} 点经验值!",
+ "levelUp": "{{pokemonName}}升级到 Lv.{{level}}!",
"learnMove": "{{pokemonName}} 学会了 {{moveName}}!",
- "learnMovePrompt": "{{pokemonName}} 想要学习 {{moveName}}。",
- "learnMoveLimitReached": "但是,{{pokemonName}} 已经学会了\n四个技能",
- "learnMoveReplaceQuestion": "要忘记一个技能并学习 {{moveName}} 吗?",
- "learnMoveStopTeaching": "不再尝试学习 {{moveName}}?",
- "learnMoveNotLearned": "{{pokemonName}} 没有学会 {{moveName}}。",
+ "learnMovePrompt": "{{pokemonName}}想要学习{{moveName}}。",
+ "learnMoveLimitReached": "但是,{{pokemonName}}已经学会了\n四个技能",
+ "learnMoveReplaceQuestion": "要忘记一个技能并学习{{moveName}}吗?",
+ "learnMoveStopTeaching": "不再尝试学习{{moveName}}?",
+ "learnMoveNotLearned": "{{pokemonName}}没有学会{{moveName}}。",
"learnMoveForgetQuestion": "要忘记哪个技能?",
- "learnMoveForgetSuccess": "{{pokemonName}} 忘记了\n如何使用 {{moveName}}。",
+ "learnMoveForgetSuccess": "{{pokemonName}}忘记了\n如何使用{{moveName}}。",
"countdownPoof": "@d{32}1, @d{15}2 @d{15}… @d{15}… @d{15}@s{pb_bounce_1}空!",
- "learnMoveAnd": "然后...",
- "levelCapUp": "等级上限提升到 {{levelCap}}!",
- "moveNotImplemented": "{{moveName}} 尚未实装,无法选择。",
- "moveNoPP": "这个技能的 PP 用完了",
- "moveDisabled": "{{moveName}} 被禁用!",
+ "learnMoveAnd": "然后……",
+ "levelCapUp": "等级上限提升到{{levelCap}}!",
+ "moveNotImplemented": "{{moveName}}尚未实装,无法选择。",
+ "moveNoPP": "这个技能的PP用完了",
+ "moveDisabled": "{{moveName}}被禁用!",
"noPokeballForce": "一股无形的力量阻止了你使用精灵球。",
"noPokeballTrainer": "你不能捕捉其他训练家的宝可梦!",
"noPokeballMulti": "只能在剩下一只宝可梦时才能扔出精灵球!",
- "noPokeballStrong": "目标宝可梦太强了,无法捕捉!你需要先\n削弱它!",
+ "noPokeballStrong": "目标宝可梦太强了,无法捕捉!\n你需要先削弱它!",
"noEscapeForce": "一股无形的力量阻止你逃跑。",
- "noEscapeTrainer": "你不能从训练家战斗中逃跑!",
- "noEscapePokemon": "{{pokemonName}} 的 {{moveName}} 阻止了你 {{escapeVerb}}!",
- "runAwaySuccess": "你成功逃脱了!",
- "runAwayCannotEscape": "你无法逃脱!",
+ "noEscapeTrainer": "你不能从与训练家的战斗中逃跑!",
+ "noEscapePokemon": "{{pokemonName}}的{{moveName}}\n阻止了你{{escapeVerb}}!",
+ "runAwaySuccess": "成功逃走了!",
+ "runAwayCannotEscape": "无法逃走!",
"escapeVerbSwitch": "切换",
"escapeVerbFlee": "逃跑",
- "notDisabled": "{{moveName}} 不再被禁用!",
+ "notDisabled": "{{moveName}}不再被禁用!",
+ "turnEndHpRestore": "{{pokemonName}}的体力恢复了。",
+ "hpIsFull": "{{pokemonName}}的体力已满!",
"skipItemQuestion": "你确定要跳过拾取道具吗?",
"eggHatching": "咦?",
- "ivScannerUseQuestion": "对 {{pokemonName}} 使用个体值扫描仪?",
- "drainMessage": "{{pokemonName}} had its\nenergy drained!",
- "regainHealth": "{{pokemonName}} regained\nhealth!"
+ "stealEatBerry": "{{pokemonName}} stole and ate\n{{targetName}}'s {{berryName}}!",
+ "ivScannerUseQuestion": "对{{pokemonName}}使用个体值扫描仪?",
+ "wildPokemonWithAffix": "野生的{{pokemonName}}",
+ "foePokemonWithAffix": "对手 {{pokemonName}}",
+ "useMove": "{{pokemonNameWithAffix}}使用了\n{{moveName}}!",
+ "drainMessage": "{{pokemonName}}\n吸取了体力!",
+ "regainHealth": "{{pokemonName}}\n回复了体力!",
+ "fainted": "{{pokemonNameWithAffix}}\n倒下了!",
+ "statRose": "{{pokemonNameWithAffix}}\n的{{stats}}提高了!",
+ "statSharplyRose": "{{pokemonNameWithAffix}}\n的{{stats}}大幅提高了!",
+ "statRoseDrastically": "{{pokemonNameWithAffix}}\n的{{stats}}极大幅提高了!",
+ "statWontGoAnyHigher": "{{pokemonNameWithAffix}}\n的{{stats}}已经无法再提高了!",
+ "statFell": "{{pokemonNameWithAffix}}\n的{{stats}}降低了!",
+ "statHarshlyFell": "{{pokemonNameWithAffix}}\n的{{stats}}大幅降低了!",
+ "statSeverelyFell": "{{pokemonNameWithAffix}}\n的{{stats}}极大幅降低了!",
+ "statWontGoAnyLower": "{{pokemonNameWithAffix}}\n的{{stats}}已经无法再降低了!",
+ "ppReduced": "降低了{{targetName}}的\n{{moveName}}的PP{{reduction}}点!",
+ "battlerTagsRechargingLapse": "{{pokemonNameWithAffix}}\n因攻击的反作用力而无法动弹!",
+ "battlerTagsTrappedOnAdd": "{{pokemonNameWithAffix}}不能逃跑!",
+ "battlerTagsTrappedOnRemove": "{{pokemonNameWithAffix}}\n摆脱了{{moveName}}!",
+ "battlerTagsFlinchedLapse": "{{pokemonNameWithAffix}}\n畏缩了,无法使出招式!",
+ "battlerTagsConfusedOnAdd": "{{pokemonNameWithAffix}}\n混乱了!",
+ "battlerTagsConfusedOnRemove": "{{pokemonNameWithAffix}}\n的混乱解除了!",
+ "battlerTagsConfusedOnOverlap": "{{pokemonNameWithAffix}}\n已经混乱了。",
+ "battlerTagsConfusedLapse": "{{pokemonNameWithAffix}}\n正在混乱中!",
+ "battlerTagsConfusedLapseHurtItself": "不知所以地攻击了自己!",
+ "battlerTagsDestinyBondLapseIsBoss": "{{pokemonNameWithAffix}}\n不再受到同命的影响",
+ "battlerTagsDestinyBondLapse": "{{pokemonNameWithAffix}}\n和{{pokemonNameWithAffix2}}同归于尽了!",
+ "battlerTagsInfatuatedOnAdd": "{{pokemonNameWithAffix}}\n对{{sourcePokemonName}}着迷了!",
+ "battlerTagsInfatuatedOnOverlap": "{{pokemonNameWithAffix}}\n已经着迷了!",
+ "battlerTagsInfatuatedLapse": "{{pokemonNameWithAffix}}\n对{{sourcePokemonName}}着迷中!",
+ "battlerTagsInfatuatedLapseImmobilize": "{{pokemonNameWithAffix}}\n不会着迷!",
+ "battlerTagsInfatuatedOnRemove": "{{pokemonNameWithAffix}}\n治愈了着迷状态!",
+ "battlerTagsSeededOnAdd": "将种子种植在了\n{{pokemonNameWithAffix}}的身上!",
+ "battlerTagsSeededLapse": "{{pokemonNameWithAffix}}\n被寄生种子吸取了体力!",
+ "battlerTagsSeededLapseShed": "{{pokemonNameWithAffix}}\n吸到了污泥浆!",
+ "battlerTagsNightmareOnAdd": "{{pokemonNameWithAffix}}\n开始做恶梦了!",
+ "battlerTagsNightmareOnOverlap": "{{pokemonNameWithAffix}}\n已经被恶梦缠身!",
+ "battlerTagsNightmareLapse": "{{pokemonNameWithAffix}}\n正被恶梦缠身!",
+ "battlerTagsEncoreOnAdd": "{{pokemonNameWithAffix}}\n接受了再来一次!",
+ "battlerTagsEncoreOnRemove": "{{pokemonNameWithAffix}}\n的再来一次状态解除了!",
+ "battlerTagsHelpingHandOnAdd": "{{pokemonNameWithAffix}}\n摆出了帮助{{pokemonName}}的架势!",
+ "battlerTagsIngrainLapse": "{{pokemonNameWithAffix}}\n用扎根回复了体力!",
+ "battlerTagsIngrainOnTrap": "{{pokemonNameWithAffix}}\n扎根了!",
+ "battlerTagsAquaRingOnAdd": "{{pokemonNameWithAffix}}\n用水流环包裹了自己!",
+ "battlerTagsAquaRingLapse": "{{moveName}}回复了\n{{pokemonName}}的体力!",
+ "battlerTagsDrowsyOnAdd": "{{pokemonNameWithAffix}}\n产生睡意了!",
+ "battlerTagsDamagingTrapLapse": "{{pokemonNameWithAffix}}受到了\n{{moveName}}的伤害!",
+ "battlerTagsBindOnTrap": "{{pokemonNameWithAffix}}被\n{{sourcePokemonName}}的{{moveName}}紧紧束缚住了!",
+ "battlerTagsWrapOnTrap": "{{pokemonNameWithAffix}}被\n{{sourcePokemonName}}绑紧了!",
+ "battlerTagsVortexOnTrap": "{{pokemonNameWithAffix}}\n被困在了旋涡之中!",
+ "battlerTagsClampOnTrap": "{{sourcePokemonNameWithAffix}}用贝壳\n夹住了{{pokemonName}}!",
+ "battlerTagsSandTombOnTrap": "{{pokemonNameWithAffix}}\n被{{moveName}}困住了!",
+ "battlerTagsMagmaStormOnTrap": "{{pokemonNameWithAffix}}\n被困在了熔岩风暴之中!",
+ "battlerTagsSnapTrapOnTrap": "{{pokemonNameWithAffix}}\n被捕兽夹困住了!",
+ "battlerTagsThunderCageOnTrap": "{{sourcePokemonNameWithAffix}}困住了\n{{pokemonNameWithAffix}}!",
+ "battlerTagsInfestationOnTrap": "{{pokemonNameWithAffix}}受到了\n{{sourcePokemonNameWithAffix}}的死缠烂打!",
+ "battlerTagsProtectedOnAdd": "{{pokemonNameWithAffix}}\n摆出了防守的架势!",
+ "battlerTagsProtectedLapse": "{{pokemonNameWithAffix}}\n在攻击中保护了自己!",
+ "battlerTagsEnduringOnAdd": "{{pokemonNameWithAffix}}\n摆出了挺住攻击的架势!",
+ "battlerTagsEnduringLapse": "{{pokemonNameWithAffix}}\n挺住了攻击!",
+ "battlerTagsSturdyLapse": "{{pokemonNameWithAffix}}\n挺住了攻击!",
+ "battlerTagsPerishSongLapse": "{{pokemonNameWithAffix}}\n的灭亡计时变成{{turnCount}}了!",
+ "battlerTagsTruantLapse": "{{pokemonNameWithAffix}}\n正在偷懒!",
+ "battlerTagsSlowStartOnAdd": "{{pokemonNameWithAffix}}\n无法拿出平时的水平!",
+ "battlerTagsSlowStartOnRemove": "{{pokemonNameWithAffix}}\n恢复了平时的水平!",
+ "battlerTagsHighestStatBoostOnAdd": "{{pokemonNameWithAffix}}的\n{{statName}}提高了!",
+ "battlerTagsHighestStatBoostOnRemove": "{{pokemonNameWithAffix}}的\n{{abilityName}}效果解除了!",
+ "battlerTagsCritBoostOnAdd": "{{pokemonNameWithAffix}}\n现在干劲十足!",
+ "battlerTagsCritBoostOnRemove": "{{pokemonNameWithAffix}}\n如释重负似地放松了下来。",
+ "battlerTagsSaltCuredOnAdd": "{{pokemonNameWithAffix}}\n陷入了盐腌状态!",
+ "battlerTagsSaltCuredLapse": "{{pokemonNameWithAffix}}\n受到了{{moveName}}的伤害!",
+ "battlerTagsCursedOnAdd": "{{pokemonNameWithAffix}}削减了自己的体力,\n并诅咒了{{pokemonName}}!",
+ "battlerTagsCursedLapse": "{{pokemonNameWithAffix}}\n正受到诅咒!"
} as const;
diff --git a/src/locales/zh_CN/berry.ts b/src/locales/zh_CN/berry.ts
index 750a8bb2a2d..c13393f23a3 100644
--- a/src/locales/zh_CN/berry.ts
+++ b/src/locales/zh_CN/berry.ts
@@ -1,4 +1,4 @@
-import { BerryTranslationEntries } from "#app/plugins/i18n";
+import { BerryTranslationEntries } from "#app/interfaces/locales";
export const berry: BerryTranslationEntries = {
"SITRUS": {
@@ -45,4 +45,4 @@ export const berry: BerryTranslationEntries = {
name: "苹野果",
effect: "有招式的PP降到0时,恢复该招式10PP",
},
-} as const;
+} as const;
diff --git a/src/locales/zh_CN/bgm-name.ts b/src/locales/zh_CN/bgm-name.ts
new file mode 100644
index 00000000000..b582bc6a2d0
--- /dev/null
+++ b/src/locales/zh_CN/bgm-name.ts
@@ -0,0 +1,145 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const bgmName: SimpleTranslationEntries = {
+ "music": "BGM: ",
+ "missing_entries" : "{{name}}",
+ "battle_kanto_champion": "黑2白2「决战!关都冠军」",
+ "battle_johto_champion": "黑2白2「决战!城都冠军」",
+ "battle_hoenn_champion": "黑2白2「决战!丰缘冠军」",
+ "battle_sinnoh_champion": "黑2白2「决战!神奥冠军」",
+ "battle_champion_alder": "黑白「决战!合众冠军」",
+ "battle_champion_iris": "黑2白2「决战!合众冠军」",
+ "battle_kalos_champion": "XY「决战!卡洛斯冠军」",
+ "battle_alola_champion": "究极日月「顶上决战!」",
+ "battle_galar_champion": "剑盾「决战!伽勒尔冠军」",
+ "battle_champion_geeta": "朱紫「决战!帕底亚首席也慈」",
+ "battle_champion_nemona": "朱紫「决战!帕底亚冠军妮莫」",
+ "battle_champion_kieran": "朱紫「决战!蓝莓学园冠军乌栗」",
+ "battle_hoenn_elite": "Ω红宝石α蓝宝石 「战斗!丰缘四天王」",
+ "battle_unova_elite": "黑白 「战斗!合众四天王」",
+ "battle_kalos_elite": "XY「战斗!卡洛斯四天王」",
+ "battle_alola_elite": "日月「战斗!阿罗拉四天王」",
+ "battle_galar_elite": "剑盾「联盟锦标赛」",
+ "battle_paldea_elite": "朱紫「战斗!帕底亚四天王」",
+ "battle_bb_elite": "朱紫「战斗!蓝之圆盘四天王」",
+ "battle_final_encounter": "探险队DX 「裂空座的领域」",
+ "battle_final": "黑白「战斗!魁奇思」",
+ "battle_kanto_gym": "黑2白2「战斗!关都道馆主」",
+ "battle_johto_gym": "黑2白2「战斗!城都道馆主」",
+ "battle_hoenn_gym": "黑2白2「战斗!合众道馆主」",
+ "battle_sinnoh_gym": "黑2白2「战斗!神奥道馆主」",
+ "battle_unova_gym": "黑白「战斗!合众道馆主」",
+ "battle_kalos_gym": "XY「战斗!卡洛斯道馆主」",
+ "battle_galar_gym": "剑盾「战斗!伽勒尔道馆主」",
+ "battle_paldea_gym": "朱紫「战斗!帕底亚道馆主」",
+ "battle_legendary_kanto": "XY「战斗!传说宝可梦(关都)」",
+ "battle_legendary_raikou": "心金魂银「战斗!雷公」",
+ "battle_legendary_entei": "心金魂银「战斗!炎帝」",
+ "battle_legendary_suicune": "心金魂银「战斗!水君」",
+ "battle_legendary_lugia": "心金魂银「战斗!洛奇亚」",
+ "battle_legendary_ho_oh": "心金魂银「战斗!凤王」",
+ "battle_legendary_regis_g5": "黑2白2「战斗!传说中的巨人」",
+ "battle_legendary_regis_g6": "Ω红宝石α蓝宝石「战斗!传说中的巨人」",
+ "battle_legendary_gro_kyo": "Ω红宝石α蓝宝石「战斗!原始回归」",
+ "battle_legendary_rayquaza": "Ω红宝石α蓝宝石「战斗!超古代宝可梦」",
+ "battle_legendary_deoxys": "Ω红宝石α蓝宝石「战斗!代欧奇希斯」",
+ "battle_legendary_lake_trio": "Ω红宝石α蓝宝石「战斗!由克希・艾姆利多・亚克诺姆」",
+ "battle_legendary_sinnoh": "Ω红宝石α蓝宝石「战斗!传说的宝可梦」",
+ "battle_legendary_dia_pal": "Ω红宝石α蓝宝石「战斗!帝牙卢卡・帕路奇亚」",
+ "battle_legendary_giratina": "Ω红宝石α蓝宝石「战斗!骑拉帝纳」",
+ "battle_legendary_arceus": "心金魂银「阿尔宙斯」",
+ "battle_legendary_unova": "黑白「战斗!传说的宝可梦」",
+ "battle_legendary_kyurem": "黑白「战斗!酋雷姆」",
+ "battle_legendary_res_zek": "黑白「战斗!莱希拉姆・捷克罗姆」",
+ "battle_legendary_xern_yvel": "XY「战斗!哲尔尼亚斯・伊裴尔塔尔」",
+ "battle_legendary_tapu": "日月「战斗!卡璞」",
+ "battle_legendary_sol_lun": "日月「战斗!露奈雅拉・索尔迦雷欧」",
+ "battle_legendary_ub": "日月「战斗!究极异兽」",
+ "battle_legendary_dusk_dawn": "究极日月「战斗!日食・月食 奈克洛兹玛」",
+ "battle_legendary_ultra_nec": "究极日月「战斗!究极奈克洛兹玛」",
+ "battle_legendary_zac_zam": "剑盾「战斗!苍响・藏玛然特」",
+ "battle_legendary_glas_spec": "剑盾「战斗! 雪暴马・灵幽马」",
+ "battle_legendary_calyrex": "剑盾「战斗!蕾冠王」",
+ "battle_legendary_birds_galar": "剑盾「战斗!传说的鸟宝可梦」",
+ "battle_legendary_ruinous": "朱紫「战斗!灾厄宝可梦」",
+ "battle_legendary_kor_mir": "朱紫「战斗!第零区的宝可梦2」",
+ "battle_legendary_loyal_three": "朱紫「战斗!宝伴」",
+ "battle_legendary_ogerpon": "朱紫「战斗!厄鬼椪」",
+ "battle_legendary_terapagos": "朱紫「战斗!太乐巴戈斯」",
+ "battle_legendary_pecharunt": "朱紫「战斗!桃歹郎」",
+ "battle_rival": "黑白「战斗!黑连・贝尔」",
+ "battle_rival_2": "黑白「战斗!N」",
+ "battle_rival_3": "黑白「决战!N」",
+ "battle_trainer": "黑白「战斗!训练师」",
+ "battle_wild": "黑白「战斗!野生宝可梦」",
+ "battle_wild_strong": "黑白「战斗!强大野生宝可梦」",
+ "end_summit": "探险队DX 「天空之柱 顶层」",
+ "battle_rocket_grunt": "心金魂银「战斗!火箭队」",
+ "battle_aqua_magma_grunt": "Ω红宝石α蓝宝石「战斗!熔岩队・海洋队」",
+ "battle_galactic_grunt": "晶灿钻石·明亮珍珠「战斗!银河队」",
+ "battle_plasma_grunt": "黑白「战斗!等离子团」",
+ "battle_flare_grunt": "XY「战斗!闪焰队」",
+ "battle_rocket_boss": "究极日月「战斗!坂木」",
+ "battle_aqua_magma_boss": "Ω红宝石α蓝宝石「战斗!水梧桐・赤焰松」",
+ "battle_galactic_boss": "晶灿钻石·明亮珍珠「战斗!赤日」",
+ "battle_plasma_boss": "黑2白2「战斗!魁奇思」",
+ "battle_flare_boss": "XY「战斗!弗拉达利」",
+
+ // Biome Music
+ "abyss": "空之探险队「黑暗小丘」",
+ "badlands": "空之探险队「枯竭之谷」",
+ "beach": "空之探险队「潮湿岩地」",
+ "cave": "空之探险队「天空顶端(洞窟)」",
+ "construction_site": "空之探险队「幻影石室」",
+ "desert": "空之探险队「北方沙漠」",
+ "dojo": "空之探险队「嘎啦嘎啦道场」",
+ "end": "探险队DX「天空之柱」",
+ "factory": "空之探险队「隐藏遗迹」",
+ "fairy_cave": "空之探险队「星之洞窟」",
+ "forest": "空之探险队「黑暗森林」",
+ "grass": "空之探险队「苹果森林」",
+ "graveyard": "空之探险队「神秘森林」",
+ "ice_cave": "空之探险队「大冰山」",
+ "island": "空之探险队「沿岸岩地」",
+ "jungle": "Lmz - 丛林", // The composer thinks about a more creative name
+ "laboratory": "Firel - 研究所", // The composer thinks about a more creative name
+ "lake": "空之探险队「水晶洞窟」",
+ "meadow": "空之探险队「天空顶端(森林)」",
+ "metropolis": "Firel - 城市", // The composer thinks about a more creative name
+ "mountain": "空之探险队「角山」",
+ "plains": "空之探险队「天空顶端(草原)」",
+ "power_plant": "空之探险队「电气平原 深处」",
+ "ruins": "空之探险队「封印岩地 深处」",
+ "sea": "空之探险队「石滩洞窟」",
+ "seabed": "Firel - 海底", // The composer thinks about a more creative name
+ "slum": "空之探险队「天空顶端(岩场)」",
+ "snowy_forest": "空之探险队「天空顶端(雪山)」",
+ "space": "Firel - 太空",
+ "swamp": "空之探险队「封闭之海」",
+ "tall_grass": "空之探险队「浓雾森林」",
+ "temple": "空之探险队「守护洞穴」",
+ "town": "空之探险队「随机迷宫3」",
+ "volcano": "空之探险队「热水洞窟」",
+ "wasteland": "空之探险队「梦幻高原」",
+
+ // Encounter
+ "encounter_ace_trainer": "黑白 「视线!精英训练师」",
+ "encounter_backpacker": "黑白 「视线!背包客」",
+ "encounter_clerk": "黑白 「视线!上班族」",
+ "encounter_cyclist": "黑白 「视线!自行车手」",
+ "encounter_lass": "黑白 「视线!迷你裙」",
+ "encounter_parasol_lady": "黑白 「视线!阳伞姐姐」",
+ "encounter_pokefan": "黑白 「视线!宝可梦爱好者」",
+ "encounter_psychic": "黑白 「视线!超能力者」",
+ "encounter_rich": "黑白 「视线!绅士」",
+ "encounter_rival": "黑白「黑连」",
+ "encounter_roughneck": "黑白 「视线!光头」",
+ "encounter_scientist": "黑白 「视线!科学家」",
+ "encounter_twins": "黑白 「视线!双胞胎」",
+ "encounter_youngster": "黑白 「视线!短裤小子」",
+
+ // Other
+ "heal": "黑白「宝可梦回复」",
+ "menu": "空之探险队「欢迎来到宝可梦的世界」",
+ "title": "空之探险队「主题曲」",
+} as const;
diff --git a/src/locales/zh_CN/biome.ts b/src/locales/zh_CN/biome.ts
index 3a72931e021..9026dc7fbee 100644
--- a/src/locales/zh_CN/biome.ts
+++ b/src/locales/zh_CN/biome.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const biome: SimpleTranslationEntries = {
"unknownLocation": "未知领域",
diff --git a/src/locales/zh_CN/challenges.ts b/src/locales/zh_CN/challenges.ts
new file mode 100644
index 00000000000..4c1b523ef16
--- /dev/null
+++ b/src/locales/zh_CN/challenges.ts
@@ -0,0 +1,25 @@
+import { TranslationEntries } from "#app/interfaces/locales";
+
+export const challenges: TranslationEntries = {
+ "title": "适用挑战条件",
+ "illegalEvolution": "{{pokemon}}变成了\n不符合此挑战条件的宝可梦!",
+ "singleGeneration": {
+ "name": "单一世代",
+ "desc": "你只能使用第{{gen}}\n世代的宝可梦",
+ "desc_default": "你只能使用所选\n世代的宝可梦",
+ "gen_1": "一",
+ "gen_2": "二",
+ "gen_3": "三",
+ "gen_4": "四",
+ "gen_5": "五",
+ "gen_6": "六",
+ "gen_7": "七",
+ "gen_8": "八",
+ "gen_9": "九",
+ },
+ "singleType": {
+ "name": "单属性",
+ "desc": "你只能使用{{type}}\n属性的宝可梦",
+ "desc_default": "你只能使用所选\n属性的宝可梦"
+ },
+} as const;
diff --git a/src/locales/zh_CN/command-ui-handler.ts b/src/locales/zh_CN/command-ui-handler.ts
index 3ab08355aaf..57397a930df 100644
--- a/src/locales/zh_CN/command-ui-handler.ts
+++ b/src/locales/zh_CN/command-ui-handler.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const commandUiHandler: SimpleTranslationEntries = {
"fight": "战斗",
diff --git a/src/locales/zh_CN/common.ts b/src/locales/zh_CN/common.ts
new file mode 100644
index 00000000000..7c2c73eb3c0
--- /dev/null
+++ b/src/locales/zh_CN/common.ts
@@ -0,0 +1,10 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const common: SimpleTranslationEntries = {
+ "start": "开始",
+ "luckIndicator": "幸运:",
+ "shinyOnHover": "闪光",
+ "commonShiny": "常见",
+ "rareShiny": "稀有",
+ "epicShiny": "史诗",
+} as const;
diff --git a/src/locales/zh_CN/config.ts b/src/locales/zh_CN/config.ts
index 7a8ab5595f7..eaf7ba4cc09 100644
--- a/src/locales/zh_CN/config.ts
+++ b/src/locales/zh_CN/config.ts
@@ -1,10 +1,12 @@
import { ability } from "./ability";
import { abilityTriggers } from "./ability-trigger";
-import { achv } from "./achv";
+import { PGFachv, PGMachv } from "./achv";
import { battle } from "./battle";
import { battleMessageUiHandler } from "./battle-message-ui-handler";
import { berry } from "./berry";
+import { bgmName } from "./bgm-name";
import { biome } from "./biome";
+import { challenges } from "./challenges";
import { commandUiHandler } from "./command-ui-handler";
import {
PGFbattleSpecDialogue,
@@ -18,10 +20,12 @@ import {
} from "./dialogue";
import { egg } from "./egg";
import { fightUiHandler } from "./fight-ui-handler";
+import { gameMode } from "./game-mode";
import { gameStatsUiHandler } from "./game-stats-ui-handler";
import { growth } from "./growth";
import { menu } from "./menu";
import { menuUiHandler } from "./menu-ui-handler";
+import { modifier } from "./modifier";
import { modifierType } from "./modifier-type";
import { move } from "./move";
import { nature } from "./nature";
@@ -29,22 +33,32 @@ import { pokeball } from "./pokeball";
import { pokemon } from "./pokemon";
import { pokemonInfo } from "./pokemon-info";
import { pokemonInfoContainer } from "./pokemon-info-container";
+import { saveSlotSelectUiHandler } from "./save-slot-select-ui-handler";
import { splashMessages } from "./splash-messages";
import { starterSelectUiHandler } from "./starter-select-ui-handler";
+import { statusEffect } from "./status-effect";
import { titles, trainerClasses, trainerNames } from "./trainers";
import { tutorial } from "./tutorial";
import { voucher } from "./voucher";
-import { weather } from "./weather";
+import { terrain, weather } from "./weather";
+import { partyUiHandler } from "./party-ui-handler";
+import { settings } from "./settings.js";
+import { common } from "./common.js";
+import { modifierSelectUiHandler } from "./modifier-select-ui-handler";
export const zhCnConfig = {
ability: ability,
abilityTriggers: abilityTriggers,
- achv: achv,
battle: battle,
battleMessageUiHandler: battleMessageUiHandler,
berry: berry,
+ bgmName: bgmName,
biome: biome,
+ challenges: challenges,
commandUiHandler: commandUiHandler,
+ common: common,
+ PGMachv: PGMachv,
+ PGFachv: PGFachv,
PGMdialogue: PGMdialogue,
PGFdialogue: PGFdialogue,
PGMbattleSpecDialogue: PGMbattleSpecDialogue,
@@ -55,10 +69,12 @@ export const zhCnConfig = {
PGFdoubleBattleDialogue: PGFdoubleBattleDialogue,
egg: egg,
fightUiHandler: fightUiHandler,
+ gameMode: gameMode,
gameStatsUiHandler: gameStatsUiHandler,
growth: growth,
menu: menu,
menuUiHandler: menuUiHandler,
+ modifier: modifier,
modifierType: modifierType,
move: move,
nature: nature,
@@ -66,12 +82,18 @@ export const zhCnConfig = {
pokemon: pokemon,
pokemonInfo: pokemonInfo,
pokemonInfoContainer: pokemonInfoContainer,
+ saveSlotSelectUiHandler: saveSlotSelectUiHandler,
+ settings: settings,
splashMessages: splashMessages,
starterSelectUiHandler: starterSelectUiHandler,
+ statusEffect: statusEffect,
+ terrain: terrain,
titles: titles,
trainerClasses: trainerClasses,
trainerNames: trainerNames,
tutorial: tutorial,
voucher: voucher,
- weather: weather
+ weather: weather,
+ partyUiHandler: partyUiHandler,
+ modifierSelectUiHandler: modifierSelectUiHandler
};
diff --git a/src/locales/zh_CN/dialogue.ts b/src/locales/zh_CN/dialogue.ts
index faabab3077d..6afbcd71064 100644
--- a/src/locales/zh_CN/dialogue.ts
+++ b/src/locales/zh_CN/dialogue.ts
@@ -1,2223 +1,2289 @@
-import {DialogueTranslationEntries, SimpleTranslationEntries} from "#app/plugins/i18n";
+import {DialogueTranslationEntries, SimpleTranslationEntries} from "#app/interfaces/locales";
// Dialogue of the NPCs in the game when the player character is male (or unset)
export const PGMdialogue: DialogueTranslationEntries = {
"youngster": {
"encounter": {
- 1: "Hey, wanna battle?",
- 2: "Are you a new trainer too?",
- 3: "Hey, I haven't seen you before. Let's battle!",
- 4: "I just lost, so I'm trying to find more Pokémon.\nWait! You look weak! Come on, let's battle!",
- 5: "Have we met or not? I don't really remember. Well, I guess it's nice to meet you anyway!",
- 6: "All right! Let's go!",
- 7: "All right! Here I come! I'll show you my power!",
- 8: "Haw haw haw... I'll show you how hawesome my Pokémon are!",
- 9: "No need to waste time saying hello. Bring it on whenever you're ready!",
- 10: "Don't let your guard down, or you may be crying when a kid beats you.",
- 11: "I've raised my Pokémon with great care. You're not allowed to hurt them!",
- 12: "Glad you made it! It won't be an easy job from here.",
- 13: "The battles continue forever! Welcome to the world with no end!"
+ 1: "嘿,想来对战吗?",
+ 2: "你也是新人训练师吗?",
+ 3: "嘿,我之前没见过你。我们来对战吧!",
+ 4: "我刚输了,所以我正在寻找更多的宝可梦。$等等!你看起来很弱!\n来吧,我们对战吧!",
+ 5: "我们见过面吗?我记不太清了。$嗯,不管怎样,很高兴见到你!",
+ 6: "好的!我们上吧!",
+ 7: "好的!我来啦!我会向你展示我的实力!",
+ 8: "嚯嚯嚯...我会向你展示我的宝可梦有多厉害!",
+ 9: "不要浪费时间打招呼。你准备好了就放马过来!",
+ 10: "别掉以轻心,$否则你可能会被小朋友打到哭鼻子哦。",
+ 11: "我精心培养了我的宝可梦。不许你伤害它们!",
+ 12: "恭喜你成功了!从这以后可不轻松哦。",
+ 13: "战斗永无止境!欢迎来到没有尽头的世界!",
},
"victory": {
- 1: "Wow! You're strong!",
- 2: "I didn't stand a chance, huh?",
- 3: "I'll find you again when I'm older and beat you!",
- 4: "Ugh. I don't have any more Pokémon.",
- 5: "No way… NO WAY! How could I lose again…",
- 6: "No! I lost!",
- 7: "Whoa! You are incredible! I'm amazed and surprised!",
- 8: "Could it be… How… My Pokémon and I are the strongest, though…",
- 9: "I won't lose next time! Let's battle again sometime!",
- 10: "Sheesh! Can't you see that I'm just a kid! It wasn't fair of you to go all out like that!",
- 11: "Your Pokémon are more amazing! Trade with me!",
- 12: "I got a little carried away earlier, but what job was I talking about?",
- 13: "Ahaha! There it is! That's right! You're already right at home in this world!"
+ 1: "哇!你很强!",
+ 2: "我根本没机会赢,对吧?",
+ 3: "我会等长大了再来打败你!",
+ 4: "呃。我没有更多宝可梦了。",
+ 5: "不可能…不可能!我怎么可能又输了…",
+ 6: "不!我输了!",
+ 7: "哇!你真是太不可思议了!我既惊讶又钦佩!",
+ 8: "这怎么…怎么可能…$明明我和我的宝可梦是最强大的…",
+ 9: "下次我不会输了!我们找时间再对战吧!",
+ 10: "天哪!你看不出我还只是个小孩子吗!$你那样全力以赴太赖了!",
+ 11: "你的宝可梦更棒啊!和我交换吧!",
+ 12: "我之前有点上头,我说了什么来着?",
+ 13: "啊哈哈!就是这样!$对!你已经熟悉这个世界了!",
}
},
"lass": {
"encounter": {
- 1: "Let's have a battle, shall we?",
- 2: "You look like a new trainer. Let's have a battle!",
- 3: "I don't recognize you. How about a battle?",
- 4: "Let's have a fun Pokémon battle!",
- 5: "I'll show you the ropes of how to really use Pokémon!",
- 6: "A serious battle starts from a serious beginning! Are you sure you're ready?",
- 7: "You're only young once. And you only get one shot at a given battle. Soon, you'll be nothing but a memory.",
- 8: "You'd better go easy on me, OK? Though I'll be seriously fighting!",
- 9: "School is boring. I've got nothing to do. Yawn. I'm only battling to kill the time."
+ 1: "我们来对战吧,好吗?",
+ 2: "你看起来像是个新人训练师。我们来战斗吧!",
+ 3: "我不认识你。来对战怎么样?",
+ 4: "让我们来进行一场有趣的宝可梦对战吧!",
+ 5: "我会向你展示如何真正使用宝可梦!",
+ 6: "一场认真的对战从始于认真的开场白!$你确定你准备好了吗?",
+ 7: "花无重开日,人无再少年。$你在对战中只有一次机会。$很快,你就只能活在回忆中了。",
+ 8: "你最好对我手下留情,好吗?$当然我会认真对战的!",
+ 9: "学校很无聊,我无事可做。$*哈欠*…我只是来对战打发时间。",
},
"victory": {
- 1: "That was impressive! I've got a lot to learn.",
- 2: "I didn't think you'd beat me that bad…",
- 3: "I hope we get to have a rematch some day.",
- 4: "That was pretty amazingly fun! You've totally exhausted me…",
- 5: "You actually taught me a lesson! You're pretty amazing!",
- 6: "Seriously, I lost. That is, like, seriously depressing, but you were seriously cool.",
- 7: "I don't need memories like this. Deleting memory…",
- 8: "Hey! I told you to go easy on me! Still, you're pretty cool when you're serious.",
- 9: "I'm actually getting tired of battling… There's gotta be something new to do…"
+ 1: "那真是令人印象深刻!我还有很多要学习。",
+ 2: "我没想到你会这么轻易地打败我…",
+ 3: "我希望有一天,我们能再进行一场对战。",
+ 4: "那真是场非常有趣的对战!$你让我精疲力尽了…",
+ 5: "你给我上了一课!你真是太棒了!",
+ 6: "说真的,我输了。$这,怎么说,真的好难过,但你也真的很厉害。",
+ 7: "我不需要像这样的记忆。删除记忆中…",
+ 8: "嘿!我告诉过你要对我手下留情!$不过,当你认真的时候,你真的很酷。",
+ 9: "实际上,我开始厌倦对战了…$一定有新的事情可以做…",
}
},
"breeder": {
"encounter": {
- 1: "Obedient Pokémon, selfish Pokémon… Pokémon have unique characteristics.",
- 2: "Even though my upbringing and behavior are poor, I've raised my Pokémon well.",
- 3: "Hmm, do you discipline your Pokémon? Pampering them too much is no good.",
+ 1: "听话的宝可梦,自私的宝可梦…$宝可梦有独特的性格呢。",
+ 2: "尽管我出生贫寒,但我的宝可梦培养的很好。",
+ 3: "嗯,你有没有管教你的宝可梦?$过度溺爱是不好的。",
},
"victory": {
- 1: "It is important to nurture and train each Pokémon's characteristics.",
- 2: "Unlike my diabolical self, these are some good Pokémon.",
- 3: "Too much praise can spoil both Pokémon and people.",
+ 1: "对每个宝可梦因材施教是很重要的。",
+ 2: "不像一无是处的我…这些宝可梦都很优秀。",
+ 3: "过度的赞美会宠坏宝可梦和人。",
},
"defeat": {
- 1: "You should not get angry at your Pokémon, even if you lose a battle.",
- 2: "Right? Pretty good Pokémon, huh? I'm suited to raising things.",
- 3: "No matter how much you love your Pokémon, you still have to discipline them when they misbehave."
+ 1: "即使输了,也不应该对你的宝可梦发火。",
+ 2: "相当好的宝可梦,对吧?我很会养东西。",
+ 3: "无论你多么爱你的宝可梦,$你仍要在它没做好时管教它们。",
}
},
"breeder_female": {
"encounter": {
- 1: "Pokémon never betray you. They return all the love you give them.",
- 2: "Shall I give you a tip for training good Pokémon?",
- 3: "I have raised these very special Pokémon using a special method."
+ 1: "宝可梦永远不会背叛你。$它们会回报你对它们的爱。",
+ 2: "要我教教你训练优秀宝可梦的技巧吗?",
+ 3: "特别的宝可梦有特别的培育技巧。",
},
"victory": {
- 1: "Ugh… It wasn't supposed to be like this. Did I administer the wrong blend?",
- 2: "How could that happen to my Pokémon… What are you feeding your Pokémon?",
- 3: "If I lose, that tells you I was just killing time. It doesn't damage my ego at all."
+ 1: "呃…事情不应该是这样的。$我是不是用错了能量方块?",
+ 2: "这怎么会发生在我的宝可梦身上…$你给你的宝可梦喂了什么?",
+ 3: "如果我输了,我告诉你我只是在消磨时间。$你根本不会伤害到我的自尊心。",
},
"defeat": {
- 1: "This proves my Pokémon have accepted my love.",
- 2: "The real trick behind training good Pokémon is catching good Pokémon.",
- 3: "Pokémon will be strong or weak depending on how you raise them."
+ 1: "这证明了我的宝可梦已经接受了我的爱。",
+ 2: "训出好宝可梦的真正技巧是捉到好的宝可梦。",
+ 3: "宝可梦的强弱取决于你的饲养方式。",
}
},
"fisherman": {
"encounter": {
- 1: "Aack! You made me lose a bite!\nWhat are you going to do about it?",
- 2: "Go away! You're scaring the Pokémon!",
- 3: "Let's see if you can reel in a victory!",
+ 1: "啊!你让我错过了一次咬钩!$你打算怎么办?",
+ 2: "走开!你吓跑了宝可梦!",
+ 3: "让我看看你能否赢得胜利!",
},
"victory": {
- 1: "Just forget about it.",
- 2: "Next time, I'll be reelin' in the triumph!",
- 3: "Guess I underestimated the currents this time.",
+ 1: "算了吧。",
+ 2: "下一次,我将卷土重来,凯旋而归!",
+ 3: "我想这次我低估了海流。",
},
},
"fisherman_female": {
"encounter": {
- 1: "Woah! I've hooked a big one!",
- 2: "Line's in, ready to reel in success!",
- 3: "Ready to make waves!"
+ 1: "哇!我钓到了一条大鱼!",
+ 2: "线已收好,准备提竿!",
+ 3: "准备制造波浪!",
},
"victory": {
- 1: "I'll be back with a stronger hook.",
- 2: "I'll reel in victory next time.",
- 3: "I'm just sharpening my hooks for the comeback!"
+ 1: "我会带着更强大的鱼钩回来。",
+ 2: "下次我会赢得胜利。",
+ 3: "我只是在为回归磨利我的鱼钩!",
},
},
"swimmer": {
"encounter": {
- 1: "Time to dive in!",
- 2: "Let's ride the waves of victory!",
- 3: "Ready to make a splash!",
+ 1: "是时候潜水了!",
+ 2: "让我们一起乘风破浪,赢得胜利!",
+ 3: "该一鸣惊人了!",
},
"victory": {
- 1: "Drenched in defeat!",
- 2: "A wave of defeat!",
- 3: "Back to shore, I guess.",
+ 1: "沉浸在失败中!",
+ 2: "失败的波浪!",
+ 3: "后浪死在沙滩上,我猜。",
},
},
"backpacker": {
"encounter": {
- 1: "Pack up, game on!",
- 2: "Let's see if you can keep pace!",
- 3: "Gear up, challenger!",
- 4: "I've spent 20 years trying to find myself… But where am I?"
+ 1: "收拾行李,开始游戏!",
+ 2: "让我看看你是否能跟上!",
+ 3: "全副武装,挑战者!",
+ 4: "我花了20年时间试图找到自己……但我在哪里?",
},
"victory": {
- 1: "Tripped up this time!",
- 2: "Oh, I think I'm lost.",
- 3: "Dead end!",
- 4: "Wait up a second! Hey! Don't you know who I am?"
+ 1: "这次绊倒了!",
+ 2: "哦,我觉得我迷路了。",
+ 3: "死路!",
+ 4: "等一下!嘿!你不知道我是谁吗?",
},
},
"ace_trainer": {
"encounter": {
- 1: "You seem quite confident.",
- 2: "Your Pokémon… Show them to me…",
- 3: "Because I'm an Ace Trainer, people think I'm strong.",
- 4: "Are you aware of what it takes to be an Ace Trainer?"
+ 1: "你看起来挺自信的。",
+ 2: "你的宝可梦…… 让我看看……",
+ 3: "因为我是王牌训练师,人们认为我很强。",
+ 4: "你知道成为王牌训练师需要什么吗?",
},
"victory": {
- 1: "Yes… You have good Pokémon…",
- 2: "What?! But I'm a battling genius!",
- 3: "Of course, you are the main character!",
- 4: "OK! OK! You could be an Ace Trainer!"
+ 1: "是的…… 你的宝可梦很棒……",
+ 2: "什么?!我是战斗天才啊!",
+ 3: "理所应当,你才是主角!",
+ 4: "好好好!你可以成为王牌训练师!",
},
"defeat": {
- 1: "I am devoting my body and soul to Pokémon battles!",
- 2: "All within my expectations… Nothing to be surprised about…",
- 3: "I thought I'd grow up to be a frail person who looked like they would break if you squeezed them too hard.",
- 4: "Of course I'm strong and don't lose. It's important that I win gracefully."
+ 1: "我将把我的身体和灵魂全都奉献给宝可梦对战!",
+ 2: "一切都在我的预料之中… \n没有什么好惊讶的…",
+ 3: "我觉得我长大后有点玻璃心,$你太压力我我会跨的……",
+ 4: "我当然很强大,不会输。$而且重要的是我要优雅地赢。",
}
},
"parasol_lady": {
"encounter": {
- 1: "Time to grace the battlefield with elegance and poise!",
+ 1: "是时候用优雅和从容来为战斗添彩了!",
},
"victory": {
- 1: "My elegance remains unbroken!",
+ 1: "我的优雅依然完好无损!",
}
},
"twins": {
"encounter": {
- 1: "Get ready, because when we team up, it's double the trouble!",
- 2: "Two hearts, one strategy – let's see if you can keep up with our twin power!",
- 3: "Hope you're ready for double trouble, because we're about to bring the heat!"
+ 1: "准备好咯,因为我们联手,\n麻烦双倍!",
+ 2: "两颗心,一条绳$让我们看看你能否跟上我们双胞胎的力量!",
+ 3: "希望你准备好了面对双倍的麻烦,$因为我们即将燃起来啦!",
},
"victory": {
- 1: "We may have lost this round, but our bond remains unbreakable!",
- 2: "Our twin spirit won't be dimmed for long.",
- 3: "We'll come back stronger as a dynamic duo!"
+ 1: "虽然我们在这一轮输了,$但我们的羁绊依然坚不可摧!",
+ 2: "我们的双胞胎精神,才不会就此熄灭。",
+ 3: "我们会作为充满活力的二人组,$卷土重来,变得更强!",
},
"defeat": {
- 1: "Twin power reigns supreme!",
- 2: "Two hearts, one triumph!",
- 3: "Double the smiles, double the victory dance!"
+ 1: "双胞胎的力量至高无上!",
+ 2: "两颗心,一起赢!",
+ 3: "笑容成双,共舞成双!",
}
},
"cyclist": {
"encounter": {
- 1: "Get ready to eat my dust!",
- 2: "Gear up, challenger! I'm about to leave you in the dust!",
- 3: "Pedal to the metal, let's see if you can keep pace!"
+ 1: "准备好在我后面吃土吧!",
+ 2: "挑战者,准备好!我要把你打的落花流水!",
+ 3: "全速前进,让我看看你能不能跟的上!",
},
"victory": {
- 1: "Spokes may be still, but determination pedals on.",
- 2: "Outpaced!",
- 3: "The road to victory has many twists and turns yet to explore."
+ 1: "轮子可能不转了,但我的决心没有停下。",
+ 2: "被超越了!",
+ 3: "通往胜利的道路还有许多曲折等待探索。",
},
},
"black_belt": {
"encounter": {
- 1: "I praise your courage in challenging me! For I am the one with the strongest kick!",
- 2: "Oh, I see. Would you like to be cut to pieces? Or do you prefer the role of punching bag?"
+ 1: "我赞扬你挑战我的勇气!$因为我是踢力最强的人!",
+ 2: "哦,我明白了。你想被切成碎片吗?$或者你更喜欢当个沙袋?",
},
"victory": {
- 1: "Oh. The Pokémon did the fighting. My strong kick didn't help a bit.",
- 2: "Hmmm… If I was going to lose anyway, I was hoping to get totally messed up in the process."
+ 1: "哦。是宝可梦在战斗。$我强大的踢击一点忙都没帮上。",
+ 2: "嗯…如果我无论如何都会输,我希望能被彻底打败。",
},
},
"battle_girl": {
"encounter": {
- 1: "You don't have to try to impress me. You can lose against me.",
+ 1: "你不必试图勾引我。你可以输给我。",
},
"victory": {
- 1: "It's hard to say good-bye, but we are running out of time…",
+ 1: "很难说再见,但我们快没时间了……",
},
},
"hiker": {
"encounter": {
- 1: "My middle-age spread has given me as much gravitas as the mountains I hike!",
- 2: "I inherited this big-boned body from my parents… I'm like a living mountain range…",
+ 1: "人到中年后,我的身体和我爬过的山一样强壮!",
+ 2: "我从父母那里遗传了这副魁梧的身材…$就像一座活生生的山脉…",
},
"victory": {
- 1: "At least I cannot lose when it comes to BMI!",
- 2: "It's not enough… It's never enough. My bad cholesterol isn't high enough…"
+ 1: "至少在BMI方面我不能输!",
+ 2: "这还不够……永远不够。$我的坏胆固醇还不够高……",
},
},
"ranger": {
"encounter": {
- 1: "When I am surrounded by nature, most other things cease to matter.",
- 2: "When I'm living without nature in my life, sometimes I'll suddenly feel an anxiety attack coming on."
+ 1: "当我身处大自然中,其他事情都不重要了。",
+ 2: "如果我生活中没有大自然,有时就会突然感到焦虑。",
},
"victory": {
- 1: "It doesn't matter to the vastness of nature whether I win or lose…",
- 2: "Something like this is pretty trivial compared to the stifling feelings of city life."
+ 1: "无论我是赢是输,\n对广阔的大自然来说并不重要……",
+ 2: "与城市生活的窒息感相比,\n这种事情微不足道。",
},
"defeat": {
- 1: "I won the battle. But victory is nothing compared to the vastness of nature…",
- 2: "I'm sure how you feel is not so bad if you compare it to my anxiety attacks…"
+ 1: "我赢了。但与浩瀚的大自然相比,\n胜利算不了什么…",
+ 2: "与我的焦虑症相比,我觉得你也不会怎样…",
}
},
"scientist": {
"encounter": {
- 1: "My research will lead this world to peace and joy.",
+ 1: "我的研究将引导这个世界走向和平与欢乐。",
},
"victory": {
- 1: "I am a genius… I am not supposed to lose against someone like you…",
+ 1: "我是个天才…我不应该输给你这样的人…",
},
},
"school_kid": {
"encounter": {
- 1: "…Heehee. I'm confident in my calculations and analysis.",
- 2: "I'm gaining as much experience as I can because I want to be a Gym Leader someday."
+ 1: "……嘿嘿。我对计算和分析很有信心。",
+ 2: "我正在尽可能地积累经验,$因为我希望有一天能成为道馆馆主。",
},
"victory": {
- 1: "Ohhhh… Calculation and analysis are perhaps no match for chance…",
- 2: "Even difficult, trying experiences have their purpose, I suppose."
+ 1: "哦…计算和分析也许和个例不太匹配呀…",
+ 2: "我想,即使是艰难困苦的经历,也有存在的意义。",
}
},
"artist": {
"encounter": {
- 1: "I used to be popular, but now I am all washed up.",
+ 1: "我以前很受欢迎,但现在已经彻底过气了。",
},
"victory": {
- 1: "As times change, values also change. I realized that too late.",
+ 1: "随着时代的变迁,价值观也在变化。$我意识到这一点已经太晚了。",
},
},
"guitarist": {
"encounter": {
- 1: "Get ready to feel the rhythm of defeat as I strum my way to victory!",
+ 1: "当我弹奏着走向胜利的旋律时,$准备好感受失败的节奏吧!",
},
"victory": {
- 1: "Silenced for now, but my melody of resilience will play on.",
+ 1: "暂时沉默了,但我不屈的旋律将继续演奏。",
},
},
"worker": {
"encounter": {
- 1: "It bothers me that people always misunderstand me. I'm a lot more pure than everyone thinks.",
+ 1: "人们总误解我,这让我很烦。$我比大家想象的要干净得多。",
},
"victory": {
- 1: "I really don't want my skin to burn, so I want to stay in the shade while I work.",
+ 1: "我真的不想晒伤皮肤,所以我想在阴凉处工作。",
},
},
"worker_female": {
"encounter": {
- 1: `It bothers me that people always misunderstand me.
- $I'm a lot more pure than everyone thinks.`
+ 1: "人们总是误解我,这让我很烦。 $我比大家想象的要干净得多。",
},
"victory": {
- 1: "I really don't want my skin to burn, so I want to stay in the shade while I work."
+ 1: "我真的不想晒伤皮肤,\n所以我想在阴凉处工作。",
},
"defeat": {
- 1: "My body and mind aren't necessarily always in sync."
- }
+ 1: "我的身体和心灵并不总同步。",
+ },
},
"worker_double": {
"encounter": {
- 1: "I'll show you we can break you. We've been training in the field!",
+ 1: "你会知道我们怎么击败你的。我们在工地训练过!",
},
"victory": {
- 1: "How strange… How could this be… I shouldn't have been outmuscled.",
+ 1: "真奇怪…怎么会这样…我不应该被打败的。",
},
},
"hex_maniac": {
"encounter": {
- 1: "I normally only ever listen to classical music, but if I lose, I think I shall try a bit of new age!",
- 2: "I grow stronger with each tear I cry."
+ 1: "我通常只听古典音乐,但如果我输了,$我想我应该试试新时代的音乐!",
+ 2: "我的每一滴眼泪都让我变得更加坚强。",
},
"victory": {
- 1: "Is this the dawning of the age of Aquarius?",
- 2: "Now I can get even stronger. I grow with every grudge."
+ 1: "乐坛新时代的曙光就此出现了吗?",
+ 2: "现在我变得更强了。我随着他人怨恨而成长。",
},
"defeat": {
- 1: "New age simply refers to twentieth century classical composers, right?",
- 2: "Don't get hung up on sadness or frustration. You can use your grudges to motivate yourself."
+ 1: "“新时代”指的是二十世纪的古典作曲家,对吧?",
+ 2: "不要纠结于悲伤或沮丧。$你可以用悲愤来激励自己。",
}
},
"psychic": {
"encounter": {
- 1: "Hi! Focus!",
+ 1: "嘿!集中!",
},
"victory": {
- 1: "Eeeeek!",
+ 1: "呃呃呃!",
},
},
"officer": {
"encounter": {
- 1: "Brace yourself, because justice is about to be served!",
- 2: "Ready to uphold the law and serve justice on the battlefield!"
+ 1: "准备好,因为正义即将得到伸张!",
+ 2: "准备好维护法律,在战场上伸张正义!",
},
"victory": {
- 1: "The weight of justice feels heavier than ever…",
- 2: "The shadows of defeat linger in the precinct."
+ 1: "正义的分量比以往还要沉重……",
+ 2: "失败的阴影,在警局中徘徊。",
}
},
"beauty": {
"encounter": {
- 1: "My last ever battle… That's the way I'd like us to view this match…",
+ 1: "我最后的战斗…我就是这么看待这场对战的…",
},
"victory": {
- 1: "It's been fun… Let's have another last battle again someday…",
+ 1: "很有趣…有时间再来一场最后的战斗…",
},
},
"baker": {
"encounter": {
- 1: "Hope you're ready to taste defeat!"
+ 1: "希望你准备好品尝失败的滋味!",
},
"victory": {
- 1: "I'll bake a comeback."
+ 1: "我会卷土重来的。",
},
},
"biker": {
"encounter": {
- 1: "Time to rev up and leave you in the dust!"
+ 1: "是时候加速,把你甩在后面了!",
},
"victory": {
- 1: "I'll tune up for the next race."
+ 1: "我会为下一场比赛调整状态。",
},
},
"firebreather": {
"encounter": {
- 1: "My flames shall devour you!",
- 2: "My soul is on fire. I'll show you how hot it burns!",
- 3: "Step right up and take a look!"
+ 1: "我的火焰会吞噬你!",
+ 2: "我的灵魂在燃烧,我要让你看看它有多滚烫!",
+ 3: "快来看看吧!"
},
"victory": {
- 1: "I burned down to ashes...",
- 2: "Yow! That's hot!",
- 3: "Ow! I scorched the tip of my nose!"
+ 1: "我燃成灰了…",
+ 2: "哟! 好烫!",
+ 3: "嗷! 我的鼻尖烧焦了!"
},
},
+ "sailor": {
+ "encounter": {
+ 1: "伙计,如果你输了,你就得挨板子!",
+ 2: "来吧!这关系到我作为水手的尊严!",
+ 3: "你好啊!你晕船么?"
+ },
+ "victory": {
+ 1: "啊,被孩子打败了。",
+ 2: "你的精神让我沉沦!",
+ 3: "好像是我晕船了…"
+ },
+ },
+ "rocket_grunt": {
+ "encounter": {
+ 1: "你要有麻烦了!"
+ },
+ "victory": {
+ 1: "好讨厌的感觉啊!"
+ },
+ },
+ "magma_grunt": {
+ "encounter": {
+ 1: "如果你挡在熔岩队路上,那就别指望我们手下留情!"
+ },
+ "victory": {
+ 1: "哈?我输了?!"
+ },
+ },
+ "aqua_grunt": {
+ "encounter": {
+ 1: "即使是小孩,如果要和海洋队作对,也别指望我们手下留情!"
+ },
+ "victory": {
+ 1: "你在开玩笑吧?"
+ },
+ },
+ "galactic_grunt": {
+ "encounter": {
+ 1: "别惹银河队!"
+ },
+ "victory": {
+ 1: "停机了…"
+ },
+ },
+ "plasma_grunt": {
+ "encounter": {
+ 1: "异端不共戴天!"
+ },
+ "victory": {
+ 1: "等离子子子子子子!"
+ },
+ },
+ "flare_grunt": {
+ "encounter": {
+ 1: "时尚最重要!"
+ },
+ "victory": {
+ 1: "未来一片黑暗啊…"
+ },
+ },
+ "rocket_boss_giovanni_1": {
+ "encounter": {
+ 1: "我不得不说,能来到这里,你的确很不简单!"
+ },
+ "victory": {
+ 1: "什么!这不可能!"
+ },
+ "defeat": {
+ 1: "记住我的话。无法衡量自己的力量,说明你还是个孩子。"
+ }
+ },
+ "rocket_boss_giovanni_2": {
+ "encounter": {
+ 1: "我的老伙计还需要我…你要挡我的路吗?"
+ },
+ "victory": {
+ 1: "这怎么可能…?\n火箭队的梦想…就这么成为泡影了…"
+ },
+ "defeat": {
+ 1: "火箭队会重生,而我会统治世界!"
+ }
+ },
+ "magma_boss_maxie_1": {
+ "encounter": {
+ 1: "我会亲手埋葬你,希望你能喜欢!"
+ },
+ "victory": {
+ 1: "啊!你…很厉害…我落后了…一点…"
+ },
+ "defeat": {
+ 1: "熔岩队必胜!"
+ }
+ },
+ "magma_boss_maxie_2": {
+ "encounter": {
+ 1: "你是我实现目标最后的障碍。\n准备好迎接我最强的一击吧!哈哈哈哈!"
+ },
+ "victory": {
+ 1: "这…这不…呃"
+ },
+ "defeat": {
+ 1: "现在…我要把这个星球变成人类的理想国度!"
+ }
+ },
+ "aqua_boss_archie_1": {
+ "encounter": {
+ 1: "我是海洋队的老大,所以,你的路大概走到头了。"
+ },
+ "victory": {
+ 1: "下次再见吧。我会记住你的脸的。"
+ },
+ "defeat": {
+ 1: "天才!我的队伍不会再退缩了!"
+ }
+ },
+ "aqua_boss_archie_2": {
+ "encounter": {
+ 1: "我等这一天很久了。\n这就是我的真实力量!"
+ },
+ "victory": {
+ 1: "果然很强……啊!"
+ },
+ "defeat": {
+ 1: "我会让这世界上的一切回归到最初的纯净状态!!"
+ }
+ },
+ "galactic_boss_cyrus_1": {
+ "encounter": {
+ 1: "但在这之前,让我见识见识你那敢向银河队叫板的实力吧。"
+ },
+ "victory": {
+ 1: "有意思,简直太有意思了。"
+ },
+ "defeat": {
+ 1: "我要创造我的新世界…"
+ }
+ },
+ "galactic_boss_cyrus_2": {
+ "encounter": {
+ 1: "是啊,我和你还真是有缘呢。\n不过,这段孽缘…就让我在此斩断吧!"
+ },
+ "victory": {
+ 1: "怎么可能!怎么可能!怎么可能!"
+ },
+ "defeat": {
+ 1: "永别了。"
+ }
+ },
+ "plasma_boss_ghetsis_1": {
+ "encounter": {
+ 1: "无论是谁做了什么!都无法阻止我!"
+ },
+ "victory": {
+ 1: "怎么回事?我可是建立了等离子队的完美的人啊!\n是要改变世界的完美的统治者!"
+ },
+ "defeat": {
+ 1: "我是坐拥世界的完美统治者!哇哈哈哈!"
+ }
+ },
+ "plasma_boss_ghetsis_2": {
+ "encounter": {
+ 1: "来吧!让我看看你彻底绝望时的那张脸!"
+ },
+ "victory": {
+ 1: "不!我的伟大目标!我要完全支配世界啊!"
+ },
+ "defeat": {
+ 1: "酋雷姆!融合吧!"
+ }
+ },
+ "flare_boss_lysandre_1": {
+ "encounter": {
+ 1: "你想要阻止我?在对战中展示给我看吧!"
+ },
+ "victory": {
+ 1: "看来你的确是想要阻止我。但是,先等一下。"
+ },
+ "defeat": {
+ 1: "宝可梦…不该存在。"
+ }
+ },
+ "flare_boss_lysandre_2": {
+ "encounter": {
+ 1: "你我的未来…究竟哪个才正确,\n就让我们来问问各自的宝可梦吧!"
+ },
+ "victory": {
+ 1: "哇啊啊啊!"
+ },
+ "defeat": {
+ 1: "没有远见的蠢货会继续玷污这个美丽的世界。"
+ }
+ },
"brock": {
"encounter": {
- 1: "My expertise on Rock-type Pokémon will take you down! Come on!",
- 2: "My rock-hard willpower will overwhelm you!",
- 3: "Allow me to show you the true strength of my Pokémon!"
+ 1: "我对岩石属性宝可梦的专精会击败你!来吧!",
+ 2: "我磐石般的意志将压倒你!",
+ 3: "让我展示给你看看,我宝可梦真正的力量!",
},
"victory": {
- 1: "Your Pokémon's strength have overcome my rock-hard defenses!",
- 2: "The world is huge! I'm glad to have had a chance to battle you.",
- 3: "Perhaps I should go back to pursuing my dream as a Pokémon Breeder…"
+ 1: "你宝可梦的力量战胜了我坚如磐石的防御!",
+ 2: "世界很大!很高兴有机会和你战斗。",
+ 3: "也许我应该回去追寻我成为宝可梦饲养员的梦想……",
},
"defeat": {
- 1: "The best offense is a good defense!\nThat's my way of doing things!",
- 2: "Come study rocks with me next time to better learn how to fight them!",
- 3: "Hah, all my traveling around the regions is paying off!"
- }
+ 1: "最好的进攻就是坚固的防守!$那是我做事的方式!",
+ 2: "下次来和我一起研究岩石属性,$更好地了解如何与它们对战!",
+ 3: "哈哈,我在各地的旅行有所回报了!",
+ },
},
"misty": {
"encounter": {
- 1: "My policy is an all out offensive with Water-type Pokémon!",
- 2: "Hiya, I'll show you the strength of my aquatic Pokémon!",
- 3: "My dream was to go on a journey and battle powerful trainers…\nWill you be a sufficient challenge?"
+ 1: "我的战策就是使用水属性宝可梦全面进攻!",
+ 2: "嗨,我会让你见识我的水属性宝可梦的力量!",
+ 3: "我的梦想是踏上旅程,与强大的训练师战斗……$你能满足我吗?",
},
"victory": {
- 1: "You really are strong… I'll admit that you are skilled…",
- 2: "Grrr… You know you just got lucky, right?!",
- 3: "Wow, you're too much! I can't believe you beat me!"
+ 1: "你真的很强……我承认,你有技术的……",
+ 2: "哼……你知道你只是运气好,对吧?!",
+ 3: "哇,你太过分了!不敢相信你打败我了!",
},
"defeat": {
- 1: "Was the mighty Misty too much for you?",
- 2: "I hope you saw my Pokémon's elegant swimming techniques!",
- 3: "Your Pokémon were no match for my pride and joys!"
- }
+ 1: "强大的小霞对你来说,太过分了吗?",
+ 2: "我希望你看到了我宝可梦优雅的游泳技巧!",
+ 3: "你的宝可梦无法匹敌我的心腹和骄傲!",
+ },
},
"lt_surge": {
"encounter": {
- 1: "My Electric Pokémon saved me during the war! I'll show you how!",
- 2: "Ten-hut! I'll shock you into surrender!",
- 3: "I'll zap you just like I do to all my enemies in battle!"
+ 1: "我的电属性宝可梦在战争中救了我!$我来给你展示一下!",
+ 2: "立正!我要电到你投降!",
+ 3: "我会像对待敌军一样,狠狠电你!",
},
"victory": {
- 1: "Whoa! Your team's the real deal, kid!",
- 2: "Aaargh, you're strong! Even my electric tricks lost against you.",
- 3: "That was an absolutely shocking loss!"
+ 1: "哇!你的队伍有真家伙,小子!",
+ 2: "啊啊,你很强!连我的电击技巧都输给了你。",
+ 3: "这失败真是把我给电麻了!",
},
"defeat": {
- 1: "Oh yeah! When it comes to Electric-type Pokémon, I'm number one in the world!",
- 2: "Hahaha! That was an electrifying battle, kid!",
- 3: "A Pokémon battle is war, and I have showed you first-hand combat!"
- }
+ 1: "哦耶!我的电属性宝可梦是世界第一!",
+ 2: "哈哈哈!真是一场电动人心的战斗,小子!",
+ 3: "宝可梦对战等于战争,$我向你展示了军队中的格斗技巧!",
+ },
},
"erika": {
"encounter": {
- 1: "Ah, the weather is lovely here…\nOh, a battle? Very well then.",
- 2: "My Pokémon battling skills rival that of my flower arranging skills.",
- 3: "Oh, I hope the pleasant aroma of my Pokémon doesn't put me to sleep again…",
- 4: "Seeing flowers in a garden is so soothing."
+ 1: "啊,这里天气真好…$哦,对战?那好吧。",
+ 2: "我在宝可梦对战上的造诣,$可以与我的插花技巧相媲美。",
+ 3: "哦,希望我宝可梦的宜人香气\n不会再让我睡着…",
+ 4: "看看花园里的花朵,如此令人心旷神怡。",
},
"victory": {
- 1: "Oh! I concede defeat.",
- 2: "That match was most delightful.",
- 3: "Ah, it appears it is my loss…",
- 4: "Oh, my goodness."
+ 1: "哦!我认输啦~",
+ 2: "这场比赛非常愉快。",
+ 3: "啊,看来我输了…",
+ 4: "哦,我的天哪。",
},
"defeat": {
- 1: "I was afraid I would doze off…",
- 2: "Oh my, it seems my Grass Pokémon overwhelmed you.",
- 3: "That battle was such a soothing experience.",
- 4: "Oh… Is that all?"
- }
+ 1: "我怕我会打瞌睡…",
+ 2: "哦,我天。看来我的草属性宝可梦击败了你。",
+ 3: "那场战斗是如此令人心旷神怡。",
+ 4: "哦…这就完啦?",
+ },
},
"janine": {
"encounter": {
- 1: "I am mastering the art of poisonous attacks.\nI shall spar with you today!",
- 2: "Father trusts that I can hold my own.\nI will prove him right!",
- 3: "My ninja techniques are only second to my Father's!\nCan you keep up?"
+ 1: "我正在掌握毒属性攻击的艺术。$今天我来和你过过招!",
+ 2: "父亲相信我能独当一面。$我来证明他说的对!",
+ 3: "我的忍术,仅次于我的父亲!$你能跟的上吗?",
},
"victory": {
- 1: "Even now, I still need training… I understand.",
- 2: "Your battle technique has outmatched mine.",
- 3: "I'm going to really apply myself and improve my skills."
+ 1: "就算现在,我仍然需要继续训练…我明白了。",
+ 2: "你的战斗技巧,超过了我。",
+ 3: "我要好好努力提高我的技术。",
},
"defeat": {
- 1: "Fufufu… the poison has sapped all your strength to battle.",
- 2: "Ha! You didn't stand a chance against my superior ninja skills!",
- 3: "Father's faith in me has proven to not be misplaced."
- }
+ 1: "呵呵…毒液耗尽了你所有的力量。",
+ 2: "哈!你根本无法抵挡我卓越的忍技!",
+ 3: "我没有辜负父亲对我的信任。",
+ },
},
"sabrina": {
"encounter": {
- 1: "Through my psychic ability, I had a vision of your arrival!",
- 2: "I dislike fighting, but if you wish, I will show you my powers!",
- 3: "I can sense great ambition in you. I shall see if it not unfounded."
+ 1: "我的超能力预见了你的到来!",
+ 2: "我不喜欢战斗,但如果你想,$我会展示我的实力!",
+ 3: "我能感觉到你的雄心壮志。$我倒要看看你是不是虚有其表。",
},
"victory": {
- 1: "Your power… It far exceeds what I foresaw…",
- 2: "I failed to accurately predict your power.",
- 3: "Even with my immense psychic powers, I cannot sense another as strong as you."
+ 1: "你的力量……远远超出了我的预知……",
+ 2: "我没有准确预测到你的实力。",
+ 3: "即使我强大的超能力也无法感知到你这样强大的人。",
},
"defeat": {
- 1: "This victory… It is exactly as I foresaw in my visions!",
- 2: "Perhaps it was another I sensed a great desire in…",
- 3: "Hone your abilities before recklessly charging into battle.\nYou never know what the future may hold if you do…"
- }
+ 1: "这场胜利……和我看到的未来一样啊!",
+ 2: "也许我预感到有强大实力的人,是另一个……",
+ 3: "在你奋不顾身投入战斗之前,\n磨练你的能力。$如果你这样做,你才未来可期……",
+ },
},
"blaine": {
"encounter": {
- 1: "Hah! Hope you brought a Burn Heal!",
- 2: "My fiery Pokémon will incinerate all challengers!",
- 3: "Get ready to play with fire!"
+ 1: "哈!希望你带了烧伤治疗药!",
+ 2: "我火热的宝可梦将所有挑战者都焚烧殆尽!",
+ 3: "准备好玩火吧!",
},
"victory": {
- 1: "I have burned down to nothing! Not even ashes remain!",
- 2: "Didn't I stoke the flames high enough?",
- 3: "I'm all burned out… But this makes my motivation to improve burn even hotter!"
+ 1: "我已经焚烧殆尽了!甚至连灰烬都没有留下!",
+ 2: "我没有把火焰煽得足够高吗?",
+ 3: "我燃尽了……但这让我进步的动力燃烧得更旺了!",
},
"defeat": {
- 1: "My raging inferno cannot be quelled!",
- 2: "My Pokémon have been powered up with the heat from this victory!",
- 3: "Hah! My passion burns brighter than yours!"
- }
+ 1: "我的熊熊烈火无法被扑灭!",
+ 2: "我的宝可梦因这次胜利而变得更加强大!",
+ 3: "哈!我的激情燃得比你的更热烈!",
+ },
},
"giovanni": {
"encounter": {
- 1: "I, the leader of Team Rocket, will make you feel a world of pain!",
- 2: "My training here will be vital before I am to face my old associates again.",
- 3: "I do not think you are prepared for the level of failure you are about to experience!"
+ 1: "我,火箭队的领袖,\n会让你的世界感受到痛苦!",
+ 2: "我在这里的训练在我再次面对老朋友之前至关重要。",
+ 3: "我认为你还没有准备好迎接你即将经历的失败!",
},
"victory": {
- 1: "WHAT! Me, lose?! There is nothing I wish to say to you!",
- 2: "Hmph… You could never understand what I hope to achieve.",
- 3: "This defeat is merely delaying the inevitable.\nI will rise Team Rocket from the ashes in due time."
+ 1: "什么!我输了?! 我没什么可和你说的!",
+ 2: "哼……你永远无法理解我希望实现的目标。",
+ 3: "这次失败只是暂时的。$我将找准时机,让火箭队浴火重生。",
},
"defeat": {
- 1: "Not being able to measure your own strength shows that you are still but a child.",
- 2: "Do not try to interfere with me again.",
- 3: "I hope you understand how foolish challenging me was."
- }
+ 1: "不知自己几斤几两,\n说明你仍然只是一个孩子。",
+ 2: "不要再试图干涉我。",
+ 3: "我希望你明白挑战我是多么愚蠢。",
+ },
},
"roxanne": {
"encounter": {
- 1: "Would you kindly demonstrate how you battle?",
- 2: "You can learn many things by battling many trainers.",
- 3: "Oh, you caught me strategizing.\nWould you like to battle?"
+ 1: "您能否展示一下您是如何战斗的么?",
+ 2: "你可以和更多训练师战斗来学到很多东西。",
+ 3: "哦,被你抓到我正在用功了~$你想战斗吗?",
},
"victory": {
- 1: "Oh, I appear to have lost.\nI understand.",
- 2: "It seems that I still have so much more to learn when it comes to battle.",
- 3: "I'll take what I learned here today to heart."
+ 1: "哦,看来我输了。$我明白了。",
+ 2: "看来我在战斗方面还有更多东西要学。",
+ 3: "我会把今天在这里学到的东西铭记于心。",
},
"defeat": {
- 1: "I have learned many things from our battle.\nI hope you have too.",
- 2: "I look forward to battling you again.\nI hope you'll use what you've learned here.",
- 3: "I won due to everything I have learned."
- }
+ 1: "从我们的对战中,我学到了很多。$希望你也是。",
+ 2: "我期待再次与你战斗。$希望你能运用在此学到的东西。",
+ 3: "我凭借我所学到的一切赢得了胜利。",
+ },
},
"brawly": {
"encounter": {
- 1: "Oh man, a challenger!\nLet's see what you can do!",
- 2: "You seem like a big splash.\nLet's battle!",
- 3: "Time to create a storm!\nLet's go!"
+ 1: "哦,伙计,挑战者!$让我看看你的能耐!",
+ 2: "你看起来很厉害嘛。$来对战吧!",
+ 3: "是时候掀起风暴了!$我们上吧!",
},
"victory": {
- 1: "Oh woah, you've washed me out!",
- 2: "You surfed my wave and crashed me down!",
- 3: "I feel like I'm lost in Granite Cave!"
+ 1: "哦哇,你把我冲走了!",
+ 2: "你驾驭了我的海浪,把我打败了!",
+ 3: "我觉得我就像是在武斗洞窟里迷路了!",
},
"defeat": {
- 1: "Haha, I surfed the big wave!\nChallenge me again sometime.",
- 2: "Surf with me again some time!",
- 3: "Just like the tides come in and out, I hope you return to challenge me again."
- }
+ 1: "哈哈,我驾驭了大浪!$有时间再挑战我吧。",
+ 2: "再和我一起冲浪吧!",
+ 3: "就像潮水的涨落,\n我希望你也能再来挑战我。",
+ },
},
"wattson": {
"encounter": {
- 1: "Time to get shocked!\nWahahahaha!",
- 2: "I'll make sparks fly!\nWahahahaha!",
- 3: "I hope you brought Paralyz Heal!\nWahahahaha!"
+ 1: "是时候被电击了!$哈哈哈!",
+ 2: "我要让火星子飞蹦!$哈哈哈!",
+ 3: "我希望你带了麻痹药!$哇哈哈哈!",
},
"victory": {
- 1: "Seems like I'm out of charge!\nWahahahaha!",
- 2: "You've completely grounded me!\nWahahahaha!",
- 3: "Thanks for the thrill!\nWahahahaha!"
+ 1: "看来我的电量用完了!$哇哈哈哈!",
+ 2: "你完全接地了是吧!$哇哈哈哈!",
+ 3: "谢谢你给我电了一下!$哇哈哈哈!",
},
"defeat": {
- 1: "Recharge your batteries and challenge me again sometime!\nWahahahaha!",
- 2: "I hope you found our battle electrifying!\nWahahahaha!",
- 3: "Aren't you shocked I won?\nWahahahaha!"
- }
+ 1: "电充充满,有时间再挑战我吧!$哇哈哈哈!",
+ 2: "我希望你觉得我们的战斗激情似电!$哇哈哈哈!",
+ 3: "你没想到我赢了吧?$哇哈哈哈!",
+ },
},
"flannery": {
"encounter": {
- 1: "Nice to meet you! Wait, no…\nI will crush you!",
- 2: "I've only been a leader for a little while, but I'll smoke you!",
- 3: "It's time to demonstrate the moves my grandfather has taught me! Let's battle!"
+ 1: "很高兴见到你!等等,不对……$我要粉碎你!",
+ 2: "我才当道馆主没多久,\n但我会让你灰飞烟灭!",
+ 3: "是时候展示爷爷教给我的招式了!来对战吧!",
},
"victory": {
- 1: "You remind me of my grandfather…\nNo wonder I lost.",
- 2: "Am I trying too hard?\nI should relax, can't get too heated.",
- 3: "Losing isn't going to smother me out.\nTime to reignite training!"
+ 1: "你让我想起了我的爷爷……$难怪我输了。",
+ 2: "我是不是太努力了?$我应该放松,不能太上头了。",
+ 3: "失败才不会呛到我。$是时候重新点燃训练了!",
},
"defeat": {
- 1: "I hope I've made my grandfather proud…\nLet's battle again some time.",
- 2: "I…I can't believe I won!\nDoing things my way worked!",
- 3: "Let's exchange burning hot moves again soon!"
- }
+ 1: "我希望我让祖父感到骄傲了……$有时间我们再战斗吧。",
+ 2: "我……我简直不敢相信我赢了!$按照自己的方式做事奏效了!",
+ 3: "早点用炽热的招式再来交手吧!",
+ },
},
"norman": {
"encounter": {
- 1: "I'm surprised you managed to get here.\nLet's battle.",
- 2: "I'll do everything in my power as a Gym Leader to win.\nLet's go!",
- 3: "You better give this your all.\nIt's time to battle!"
+ 1: "我没想到你能一路来到这里。$我们来对战吧。",
+ 2: "作为道馆主,我会尽一切努力赢得胜利。$我们开始吧!",
+ 3: "你最好全力以赴。$对战的时候到了!",
},
"victory": {
- 1: "I lost to you…?\nRules are rules, though.",
- 2: "Was moving from Olivine a mistake…?",
- 3: "I can't believe it.\nThat was a great match."
+ 1: "我输给了你……?$但规则就是规则。",
+ 2: "难道我不该从城都搬家吗……?",
+ 3: "我不敢相信。$这是一场好对战。",
},
"defeat": {
- 1: "We both tried our best.\nI hope we can battle again soon.",
- 2: "You should try challenging my kid instead.\nYou might learn something!",
- 3: "Thank you for the excellent battle.\nBetter luck next time."
- }
+ 1: "我们都尽力了。$希望我们不久之后能再对战。",
+ 2: "你应该尝试挑战我的孩子。$可能会有一些收获!",
+ 3: "谢谢你精彩的战斗。$下次好运。",
+ },
},
"winona": {
"encounter": {
- 1: "I've been soaring the skies looking for prey…\nAnd you're my target!",
- 2: "No matter how our battle is, my Flying Pokémon and I will triumph with grace. Let's battle!",
- 3: "I hope you aren't scared of heights.\nLet's ascend!"
+ 1: "我一直在天空中翱翔寻找猎物…$而你就是我的目标!",
+ 2: "不管战况如何,我都会和我的飞行宝可梦$以优雅的姿态获胜。来战斗吧!",
+ 3: "我希望你不怕高。$我们一起升上高空吧!",
},
"victory": {
- 1: "You're the first Trainer I've seen with more grace than I.\nExcellently played.",
- 2: "Oh, my Flying Pokémon have plummeted!\nVery well.",
- 3: "Though I may have fallen, my Pokémon will continue to fly!"
+ 1: "你是我见过的第一位比我更有风度的训练师。$打的非常出色。",
+ 2: "哦,我的飞行系宝可梦都已经坠落了!$好吧。",
+ 3: "尽管我倒下了,我的宝可梦将继续翱翔!",
},
"defeat": {
- 1: "My Flying Pokémon and I will forever dance elegantly!",
- 2: "I hope you enjoyed our show.\nOur graceful dance is finished.",
- 3: "Won't you come see our elegant choreography again?"
+ 1: "我与我的飞行系宝可梦,\n将永远优雅地起舞!",
+ 2: "我希望你喜欢我们的演出。$我们优雅的舞蹈已经落幕。",
+ 3: "你愿意再来观看我们优雅的编舞吗?",
}
},
"tate": {
"encounter": {
- 1: "Hehehe…\nWere you surprised to see me without my sister?",
- 2: "I can see what you're thinking…\nYou want to battle!",
- 3: "How can you defeat someone…\nWho knows your every move?"
+ 1: "嘿嘿嘿…$看到我没和妹妹在一起,很惊讶么?",
+ 2: "我可以读懂你在想什么…$你想要战斗!",
+ 3: "你如何击败一个…$读懂你一举一动的人?",
},
"victory": {
- 1: "It can't be helped…\nI miss Liza…",
- 2: "Your bond with your Pokémon was stronger than mine.",
- 3: "If I were with Liza, we would have won.\nWe can finish each other's thoughts!"
+ 1: "赢不了啊…$我想小南了…",
+ 2: "你和宝可梦之间的联系比我们更强。",
+ 3: "如果我和小南联手,我们会赢的。$我们可以了解彼此的想法!",
},
"defeat": {
- 1: "My Pokémon and I are superior!",
- 2: "If you can't even defeat me, you'll never be able to defeat Liza either.",
- 3: "It's all thanks to my strict training with Liza.\nI can make myself one with Pokémon."
- }
+ 1: "我和我的宝可梦无与伦比!",
+ 2: "如果你连我都打不过,\n你肯定也打不过小南。",
+ 3: "这多亏了我和小南的严格训练。$我可以与宝可梦一心同体。",
+ },
},
"liza": {
"encounter": {
- 1: "Fufufu…\nWere you surprised to see me without my brother?",
- 2: "I can determine what you desire…\nYou want to battle, don't you?",
- 3: "How can you defeat someone…\nWho's one with their Pokémon?"
+ 1: "呵呵呵…$看到我没和哥哥一起,很惊讶吗?",
+ 2: "我可以读懂你渴望什么…$你想战斗,不是吗?",
+ 3: "你如何击败一个…$与宝可梦们一心同体的人?",
},
"victory": {
- 1: "It can't be helped…\nI miss Tate…",
- 2: "Your bond with your Pokémon…\nIt's stronger than mine.",
- 3: "If I were with Tate, we would have won.\nWe can finish each other's sentences!"
+ 1: "赢不了啊…$我想小枫了…",
+ 2: "你和宝可梦之间的联系…$比我强。",
+ 3: "如果我和小枫在一起,我们会赢的。$我们甚至可以接上彼此的话!",
},
"defeat": {
- 1: "My Pokémon and I are victorious.",
- 2: "If you can't even defeat me, you'll never be able to defeat Tate either.",
- 3: "It's all thanks to my strict training with Tate.\nI can synchronize myself with my Pokémon."
- }
+ 1: "我和我的宝可梦势不可挡。",
+ 2: "如果你连我都打不过,\n你肯定也打不过小枫。",
+ 3: "这多亏了我和小枫的严格训练。$我可以与我的宝可梦一心同体。",
+ },
},
"juan": {
"encounter": {
- 1: "Now's not the time to act coy.\nLet's battle!",
- 2: "Ahahaha, You'll be witness to my artistry with Water Pokémon!",
- 3: "A typhoon approaches!\nWill you be able to test me?",
- 4: "Please, you shall bear witness to our artistry.\nA grand illusion of water sculpted by my Pokémon and myself!"
+ 1: "别害羞啊。$我们来战斗吧!",
+ 2: "啊哈哈哈,敬请期待\n我和水属性宝可梦的盛大演出!",
+ 3: "我就是正在逼近的风暴!$你能经受住考验吗?",
+ 4: "请你见证我们的表演。$由我和宝可梦共同创造的宏伟水之幻境!",
},
"victory": {
- 1: "You may be a genius who can take on Wallace!",
- 2: "I focused on elegance while you trained.\nIt's only natural that you defeated me.",
- 3: "Ahahaha!\nVery well, You have won this time.",
- 4: "From you, I sense the brilliant shine of skill that will overcome all."
+ 1: "你可能是一个能挑战米可利的天才!",
+ 2: "我专注于优雅,而你刻苦锻炼。$你能击败我是很正常的。",
+ 3: "啊哈哈哈!$好吧,这次你赢了。",
+ 4: "从你身上,我感受到了技巧的光辉,\n它将战胜一切。",
},
"defeat": {
- 1: "My Pokémon and I have sculpted an illusion of Water and come out victorious.",
- 2: "Ahahaha, I have won, and you have lost.",
- 3: "Shall I loan you my outfit? It may help you battle!\nAhahaha, I jest!",
- 4: "I'm the winner! Which is to say, you lost."
- }
+ 1: "宝可梦和我创造的水之幻境,让我取得了胜利。",
+ 2: "啊哈哈哈,我赢了,你输了。",
+ 3: "要我把我的服装借给你吗?\n可能能帮到你对战啊!$啊哈哈哈,我开玩笑的!",
+ 4: "我是赢家!也就是说,你输了。",
+ },
},
"crasher_wake": {
"encounter": {
- 1: "Crash! Crash! Watch out!\nCrasher Wake…is…heeere!",
- 2: "Crash! Crash! Crasher Wake!",
- 3: "I'm the tidal wave of power to wash you away!"
+ 1: "极限! 极限! 看好了!$极限假面…就此…登场!",
+ 2: "极限! 极限! 极限假面!",
+ 3: "我是滔滔巨浪,将你冲走!",
},
"victory": {
- 1: "That puts a grin on my face!\nGuhahaha! That was a blast!",
- 2: "Hunwah! It's gone and ended!\nHow will I say this…\nI want more! I wanted to battle a lot more!",
- 3: "WHAAAAT!?"
+ 1: "我真是笑得合不拢嘴啊!$哈哈哈!那真是太有趣了!",
+ 2: "呼哇!结束收尾了!$我该怎么说呢……$我还想再对战!我还想再继续战斗!",
+ 3: "啊啊啊啊啊!?",
},
"defeat": {
- 1: "Yeeeeah! That's right!",
- 2: "I won, but I want more! I wanted to battle a lot more!",
- 3: "So long!"
- }
+ 1: "耶!就是这样!",
+ 2: "我赢了,但我还想要更多!\n我还想再更多地战斗!",
+ 3: "再见!",
+ },
},
"falkner": {
"encounter": {
- 1: "I'll show you the real power of the magnificent bird Pokémon!",
- 2: "Winds, stay with me!",
- 3: "Dad! I hope you're watching me battle from above!"
+ 1: "我将向你展示华丽的飞行宝可梦真正的力量!",
+ 2: "风啊,伴我同行!",
+ 3: "爸爸!我希望你能在空中注视着我的战斗!",
},
"victory": {
- 1: "I understand… I'll bow out gracefully.",
- 2: "A defeat is a defeat. You are strong indeed.",
- 3: "…Shoot! Yeah, I lost."
+ 1: "明白了……我会礼貌地退场。",
+ 2: "输了就是输了。你确实很强大。",
+ 3: "…行吧! 嗯, 我输了。",
},
"defeat": {
- 1: "Dad! I won with your cherished bird Pokémon…",
- 2: "Bird Pokémon are the best after all!",
- 3: "Feels like I'm catching up to my dad!"
- }
+ 1: "爸爸!我用你珍爱的飞行宝可梦赢了……",
+ 2: "飞行系宝可梦才是最强的!",
+ 3: "感觉我正在追赶上我的父亲!",
+ },
},
"nessa": {
"encounter": {
- 1: "No matter what kind of plan your refined mind may be plotting, my partner and I will be sure to sink it.",
- 2: "I'm not here to chat. I'm here to win!",
- 3: "This is a little gift from my Pokémon… I hope you can take it!"
+ 1: "无论你的小脑瓜子在搞什么阴谋诡计,$我和我的搭档都会确保它石沉大海。",
+ 2: "我来这里可不是为了闲聊,\n而是为了赢!",
+ 3: "这是我的宝可梦给你的一点小礼物……\n我希望你能接受!",
},
"victory": {
- 1: "You and your Pokémon are just too much…",
- 2: "How…? How can this be?!",
- 3: "I was totally washed away!"
+ 1: "你和你的宝可梦太过分了……",
+ 2: "怎么……?这怎么可能?!",
+ 3: "我完全被冲走了!",
},
"defeat": {
- 1: "The raging wave crashes again!",
- 2: "Time to ride the wave of victory!",
- 3: "Ehehe!"
- }
+ 1: "汹涌的海浪再次袭来!",
+ 2: "是时候乘风破浪,取得胜利了!",
+ 3: "诶嘿嘿!",
+ },
},
"melony": {
"encounter": {
- 1: "I'm not going to hold back!",
- 2: "All righty, I suppose we should get started.",
- 3: "I'll freeze you solid!"
+ 1: "我不会手下留情!",
+ 2: "好吧,我想我们应该开始了。",
+ 3: "我会把你冻得结结实实的!",
},
"victory": {
- 1: "You… You're pretty good, huh?",
- 2: "If you find Gordie around, be sure to give him a right trashing, would you?",
- 3: "I think you took breaking the ice a little too literally…"
+ 1: "你……你可厉害了,是不是?",
+ 2: "如果你找到玛瓜,一定要好好教训他,好吗?",
+ 3: "你的破冰方式有点过于直接了呢……",
},
"defeat": {
- 1: "Now do you see how severe battles can be?",
- 2: "Hee! Looks like I went and won again!",
- 3: "Are you holding back?"
- }
+ 1: "现在你知道战斗有多残酷了吧?",
+ 2: "嘿!看来我又赢了!",
+ 3: "你是在保留实力吗?",
+ },
},
"marlon": {
"encounter": {
- 1: "You look strong! Shoots! Let's start!",
- 2: "I'm strong like the ocean's wide. You're gonna get swept away, fo' sho'.",
- 3: "Oh ho, so I'm facing you! That's off the wall."
+ 1: "你看起来很强!来吧!让我们开始吧!",
+ 2: "我的强大像大海一样无边无际。$你会被我冲走,绝对的。",
+ 3: "哦豁,由我来面对你!这可不得了咯!",
},
"victory": {
- 1: "You totally rocked that! You're raising some wicked Pokémon. You got this Trainer thing down!",
- 2: "You don't just look strong, you're strong fo' reals! Eh, I was swept away, too!",
- 3: "You're strong as a gnarly wave!"
+ 1: "你太厉害了!\n你培养了一些非常强大的宝可梦啊,$你已经掌握了训练师的精髓!",
+ 2: "你不仅仅是看起来,\n你是真的强,真的!$呃,我也被冲走了!",
+ 3: "你像凶猛的波浪一样强壮!",
},
"defeat": {
- 1: "You're tough, but it's not enough to sway the sea, 'K!",
- 2: "Hee! Looks like I went and won again!",
- 3: "Sweet, sweet victory!"
- }
+ 1: "你很强,但这还不足以动摇大海,懂?",
+ 2: "嘻!看来我又赢了!",
+ 3: "甜蜜的胜利!",
+ },
},
"shauntal": {
"encounter": {
- 1: "Excuse me. You're a challenger, right?\nI'm the Elite Four's Ghost-type Pokémon user, Shauntal, and I shall be your opponent.",
- 2: "I absolutely love writing about Trainers who come here and the Pokémon they train.\nCould I use you and your Pokémon as a subject?",
- 3: "Every person who works with Pokémon has a story to tell.\nWhat story is about to be told?"
+ 1: "打扰了。你是挑战者,对吗?$我是四天王的幽灵系宝可梦使用者,$婉龙,我将是你的对手。",
+ 2: "我非常喜欢描写来到这里的训练师,\n以及他们训练的宝可梦。$我可以用你和你的宝可梦作为主题吗?",
+ 3: "每个与宝可梦相处的人都有故事要讲。$接下来要讲的故事是怎样的呢?",
},
"victory": {
- 1: "Wow. I'm dumbstruck!",
- 2: "S-sorry! First, I must apologize to my Pokémon…\n\nI'm really sorry you had a bad experience because of me!",
- 3: "Even in light of that, I'm still one of the Elite Four!"
+ 1: "哇。我惊呆了!",
+ 2: "对…对不起!我必须先向我的宝可梦道歉……$都是因为我让你们有了不好的经历,真的很抱歉!",
+ 3: "你要知道,我仍然是四天王之一!",
},
"defeat": {
- 1: "Eheh.",
- 2: "That gave me excellent material for my next novel!",
- 3: "And so, another tale ends…"
- }
+ 1: "额呵呵。",
+ 2: "给了我下一部小说的绝佳素材!",
+ 3: "就这样,又一篇故事来到尾声……",
+ },
},
"marshal": {
"encounter": {
- 1: "My mentor, Alder, sees your potential as a Trainer and is taking an interest in you.\nIt is my intention to test you--to take you to the limits of your strength. Kiai!",
- 2: "Victory, decisive victory, is my intention! Challenger, here I come!",
- 3: "In myself, I seek to develop the strength of a fighter and shatter any weakness in myself!\nPrevailing with the force of my convictions!"
+ 1: "我的师傅,阿戴克,\n看到了你作为训练师的潜力,$对你很有兴趣。$我要来考验你——挖掘你力量的极限。\n丹田发力!",
+ 2: "胜利,决定性的胜利,\n正是我所求!挑战者,我来了!",
+ 3: "在我的心中,我寻求着成为战士的力量,\n克服自身的所有弱点!$以我的信念,取胜!",
},
"victory": {
- 1: "Whew! Well done!",
- 2: "As your battles continue, aim for even greater heights!",
- 3: "The strength shown by you and your Pokémon has deeply impressed me…"
+ 1: "呼!干得好!",
+ 2: "不要停止战斗,追求更高的目标!",
+ 3: "你和你宝可梦展现的力量\n给我留下了深刻的印象……",
},
"defeat": {
- 1: "Hmm.",
- 2: "That was good battle.",
- 3: "Haaah! Haaah! Haiyaaaah!"
+ 1: "嗯…",
+ 2: "这真是场好战斗。",
+ 3: "哈啊!哈啊!嗨呀啊!",
}
},
"cheren": {
"encounter": {
- 1: "You remind me of an old friend. That makes me excited about this Pokémon battle!",
- 2: `Pokémon battles have no meaning if you don't think why you battle.
- $Or better said, it makes battling together with Pokémon meaningless.`,
- 3: "My name's Cheren! I'm a Gym Leader and a teacher! Pleasure to meet you."
+ 1: "你让我想起了一位老朋友。$这让我对这场宝可梦战斗感到兴奋!",
+ 2: "不考虑清楚这一点,\n宝可梦对战就没有了意义。$这就是失去了和宝可梦一同战斗的意义。",
+ 3: "我的名字是黑连!我是道馆馆主,\n也是老师!$很高兴认识你。",
},
"victory": {
- 1: "Thank you! I saw what was missing in me.",
- 2: "Thank you! I feel like I saw a little of the way toward my ideals.",
- 3: "Hmm… This is problematic."
+ 1: "谢谢……我又能发现自己的不足了。",
+ 2: "谢谢…接近理想的道路…我好像隐约看到了。",
+ 3: "嗯……这值得思考。",
},
"defeat": {
- 1: "As a Gym Leader, I aim to be a wall for you to overcome.",
- 2: "All right!",
- 3: "I made it where I am because Pokémon were by my side.\nPerhaps we need to think about why Pokémon help us not in terms of Pokémon and Trainers but as a relationship between living beings."
+ 1: "作为道馆馆主,我要成为你要跨越的壁垒!",
+ 2: "好吧!",
+ 3: "正因为有宝可梦,我们才能走到这里。$为什么宝可梦会帮助我们,\n这个恐怕不仅是宝可梦与训练家…$而是生命与生命之间的问题。",
}
},
"chili": {
"encounter": {
- 1: "Yeeeeooow! Time to play with FIRE!! I'm the strongest of us brothers!",
- 2: "Ta-da! The Fire-type scorcher Chili--that's me--will be your opponent!",
- 3: "I'm going to show you what me and my blazing Fire types can do!"
+ 1: "咿呀!是时候玩火了!!我是三兄弟中最强的!",
+ 2: "嗒哒!如火似焰的伯特——就是我\n——你接下来的对手!",
+ 3: "我将向你展示,\n我和我炽热的火系宝可梦的能耐!",
},
"victory": {
- 1: "You got me. I am… burned… out…",
- 2: "Whoa ho! You're on fire!",
- 3: "Augh! You got me!"
+ 1: "被你干掉了。我……燃尽了……",
+ 2: "哇吼!你燃起来了!",
+ 3: "啊!被你干碎了!",
},
"defeat": {
- 1: "I'm on fire! Play with me, and you'll get burned!",
- 2: "When you play with fire, you get burned!",
- 3: "I mean, c'mon, your opponent was me! You didn't have a chance!"
+ 1: "我燃起来啦!和我玩儿,你就会被烫伤!",
+ 2: "你要是玩儿火,就会被烫伤!",
+ 3: "我说,拜托,\n你的对手是我,没机会赢的!",
}
},
"cilan": {
"encounter": {
- 1: `Nothing personal... No hard feelings... Me and my Grass-type Pokémon will...
- $Um... We're gonna battle come what may.`,
- 2: "So, um, if you're OK with me, I'll, um, put everything I've got into being, er, you know, your opponent.",
- 3: "OK… So, um, I'm Cilan, I like Grass-type Pokémon."
+ 1: "无关个人情感…也不会有艰难的感受…$我和我的草属性宝可梦会…$呃…不管什么样的对手我们都会应战的。",
+ 2: "所以,呃,如果你愿意的话,我会,\n呃,尽我所能做好,呃,你知道的,你的对手。",
+ 3: "好吧……所以,我是天桐,\n我喜欢草属性宝可梦。",
},
"victory": {
- 1: "Er… Is it over now?",
- 2: `…What a surprise. You are very strong, aren't you?
- $I guess my brothers wouldn't have been able to defeat you either…`,
- 3: "…Huh. Looks like my timing was, um, off?"
+ 1: "呃……已经结束了吗?",
+ 2: "…真是太意外了。你真…强。$看起来就算是伯特或寇恩都赢不了你…",
+ 3: "…嗯。看起来我来的…不是时候?",
},
"defeat": {
- 1: "Huh? Did I win?",
- 2: `I guess…
- $I suppose I won, because I've been competing with my brothers Chili and Cress, and we all were able to get tougher.`,
- 3: "It…it was quite a thrilling experience…"
+ 1: "哈?我赢了?",
+ 2: "我想…$我想我赢了,因为我一直在和我的兄弟伯特和寇恩竞争,\n我们都变得更强了。",
+ 3: "…这…这是一次非常吓人的经历呢…",
}
},
"roark": {
"encounter": {
- 1: "I need to see your potential as a Trainer. And, I'll need to see the toughness of the Pokémon that battle with you!",
- 2: "Here goes! These are my rocking Pokémon, my pride and joy!",
- 3: "Rock-type Pokémon are simply the best!",
- 4: "I need to see your potential as a Trainer. And, I'll need to see the toughness of the Pokémon that battle with you!"
+ 1: "我需要看看你作为训练师的潜力。$还有,我要看看与你并肩作战的宝可梦的坚韧!",
+ 2: "来吧!这些是我的岩石系宝可梦,我的骄傲!",
+ 3: "岩石属性宝可梦就是最强的!",
+ 4: "我要看看你作为训练师的潜力。$还要看看与你并肩作战的宝可梦的坚韧!",
},
"victory": {
- 1: "W-what? That can't be! My buffed-up Pokémon!",
- 2: "…We lost control there. Next time I'd like to challenge you to a Fossil-digging race underground.",
- 3: "With skill like yours, it's natural for you to win.",
- 4: "Wh-what?! It can't be! Even that wasn't enough?",
- 5: "I blew it."
+ 1: "什么?不可能!我强化的宝可梦们!",
+ 2: "……我大脑过载了。$下次邀请你参加地下的化石挖掘比赛。",
+ 3: "有你这种技术,赢得胜利是很正常的。",
+ 4: "什么?!连这也不够?",
+ 5: "我搞砸了。",
},
"defeat": {
- 1: "See? I'm proud of my rocking battle style!",
- 2: "Thanks! The battle gave me confidence that I may be able to beat my dad!",
- 3: "I feel like I just smashed through a really stubborn boulder!"
+ 1: "看?我为我的摇滚战斗风格感到骄傲!",
+ 2: "谢谢!这场战斗给了我自信,$我感觉能够打败我父亲了!",
+ 3: "我感觉就像我砸穿了一块顽石!",
}
},
"morty": {
"encounter": {
- 1: `With a little more, I could see a future in which I meet the legendary Pokémon.
- $You're going to help me reach that level!`,
- 2: `It's said that a rainbow-hued Pokémon will come down to appear before a truly powerful Trainer.
- $I believed that tale, so I have secretly trained here all my life. As a result, I can now see what others cannot.
- $I see a shadow of the person who will make the Pokémon appear.
- $I believe that person is me! You're going to help me reach that level!`,
- 3: "Whether you choose to believe or not, mystic power does exist.",
- 4: "You can bear witness to the fruits of my training.",
- 5: "You must make your soul one with that of Pokémon. Can you do this?",
- 6: "Say, do you want to be part of my training?"
+ 1: "只要我再多努力一点,我就能看到我遇到传说中的宝可梦的未来!$你会帮助我达到那个水平!",
+ 2: "据说,彩虹色的宝可梦会\n出现在真正强大的训练师面前。 $我一直相信着这个美丽的传说,\n所以,从出生开始,\n就在这里进行着秘密的修行。$因为这样,其他人看不到的东西\n我也能够看得到…$我看到的,是那个将传说中的宝可梦\n召唤到这片大地上的人的影子。$我一直相信,那就是我自己!\n希望你也能助我一臂之力!",
+ 3: "无论你相信还是不相信,神秘的力量确实存在。",
+ 4: "你可以见证我训练的成果。",
+ 5: "你必须让你与宝可梦的灵魂合二为一。你能做到吗?",
+ 6: "嘿,你想成为我训练的一部分吗?",
},
"victory": {
- 1: "I'm not good enough yet…",
- 2: `I see… Your journey has taken you to far-away places and you have witnessed much more than I.
- $I envy you for that…`,
- 3: "How is this possible…",
- 4: `I don't think our potentials are so different.
- $But you seem to have something more than that… So be it.`,
- 5: "Guess I need more training.",
- 6: "That's a shame."
+ 1: "我还不够好……",
+ 2: "我明白了…你的旅程…去了遥远的地方,你见过的比我多得多。$我羡慕你…",
+ 3: "这怎么可能……",
+ 4: "我认为我们的潜力没什么不同。$但是,我觉得你并不简单,似乎还有什么……",
+ 5: "我想我需要更多的训练。",
+ 6: "那太遗憾了",
},
"defeat": {
- 1: "I moved… one step ahead again.",
- 2: "Fufufu…",
- 3: "Wh-what?! It can't be! Even that wasn't enough?",
- 4: "I feel like I just smashed through a really stubborn boulder!",
- 5: "Ahahahah!",
- 6: "I knew I would win!"
+ 1: "我又向前迈进了一步。",
+ 2: "呵呵呵……",
+ 3: "什…么?!那还不够?",
+ 4: "我感觉就像我砸穿了一块顽石!",
+ 5: "哈哈哈啊!",
+ 6: "我知道我会赢!",
}
},
"crispin": {
"encounter": {
- 1: "I wanna win, so that's exactly what I'll do!",
- 2: "I battle because I wanna battle! And you know what? That's how it should be!"
+ 1: "我想赢,所以接下来我正要赢!",
+ 2: "我想对战就对战!懂吗!就应该这样!",
},
"victory": {
- 1: "I wanted to win…but I lost!",
- 2: "I lost…'cause I couldn't win!"
+ 1: "我想赢……但我还是输了!",
+ 2: "我输了……因为我赢不了!",
},
"defeat": {
- 1: "Hey, wait a sec. Did I just win? I think I just won! Talk about satisfying!",
- 2: "Wooo! That was amazing!"
+ 1: "嘿,等一下。我是不是赢了?$我觉得我赢了!太满足了!",
+ 2: "哇哦!那太棒了!",
}
},
"amarys": {
"encounter": {
- 1: `I want to be the one to help a certain person. That being the case, I cannot afford to lose.
- $… Our battle starts now.`,
+ 1: "我想帮助某个人。因此,我不能输。$…我们的战斗现在开始。",
},
"victory": {
- 1: "I am… not enough, I see."
+ 1: "我还不够,我明白了。",
},
"defeat": {
- 1: "Victory belongs to me. Well fought."
+ 1: "胜利属于我。打得好。",
}
},
"lacey": {
"encounter": {
- 1: "I'll be facing you with my usual party as a member of the Elite Four."
+ 1: "我将用我平时的队伍\n作为四天王的一员面对你。",
},
"victory": {
- 1: "That was a great battle!"
+ 1: "打得真好呀~",
},
"defeat": {
- 1: "Let's give your Pokémon a nice round of applause for their efforts!"
+ 1: "让我们为你宝可梦的努力给予热烈的掌声!",
}
},
"drayton": {
"encounter": {
- 1: `Man, I love chairs. Don't you love chairs? What lifesavers.
- $I don't get why everyone doesn't just sit all the time. Standing up's tiring work!`,
+ 1: "哥们,我喜欢椅子。\n你喜欢椅子吗?简直是救星。$我不明白为什么大家不一直坐着。\n站着多累人!",
},
"victory": {
- 1: "Guess I should've expected that!"
+ 1: "我早该想到的!",
},
"defeat": {
- 1: "Heh heh! Don't mind me, just scooping up a W over here. I get it if you're upset, but don't go full Kieran on me, OK?"
+ 1: "嘿嘿嘿!别介意我,\n我只是在这里小赢一下。$如果你不开心,我懂,\n但别因为我对乌栗发火,OK?",
}
},
"ramos": {
"encounter": {
- 1: `Did yeh enjoy the garden playground I made with all these sturdy plants o' mine?
- $Their strength is a sign o' my strength as a gardener and a Gym Leader! Yeh sure yer up to facing all that?`,
+ 1: "我用那些强壮的植物\n盖出来的游乐场精彩吗?$它们的力量象征着我这个园丁兼道馆馆主的实力,\n你真的确定能够与之抗衡吗?",
},
"victory": {
- 1: "Yeh believe in yer Pokémon… And they believe in yeh, too… It was a fine battle, sprout."
+ 1: "你信任你的宝可梦,\n它们也信任你…不错的战斗,小豆芽。",
},
"defeat": {
- 1: "Hohoho… Indeed. Frail little blades o' grass'll break through even concrete."
+ 1: "呵呵呵…确实,\n脆弱的小草甚至能穿透混凝土。",
}
},
"viola": {
"encounter": {
- 1: `Whether it's the tears of frustration that follow a loss or the blossoming of joy that comes with victory…
- $They're both great subjects for my camera! Fantastic! This'll be just fantastic!
- $Now come at me!`,
- 2: "My lens is always focused on victory--I won't let anything ruin this shot!"
+ 1: "败阵时的后悔,胜利的瞬间…$都是最棒的影象!很好呀,很好呀!$那么来吧!",
+ 2: "我的镜头总会聚焦在胜利上,\n我不会让任何事情破坏这个画面!",
},
"victory": {
- 1: "You and your Pokémon have shown me a whole new depth of field! Fantastic! Just fantastic!",
- 2: `The world you see through a lens, and the world you see with a Pokémon by your side…
- $The same world can look entirely different depending on your view.`
+ 1: "你和你的宝可梦向我展示了一个全新的镜头机位!\n很好呀,很好呀!",
+ 2: "你通过镜头看到的世界,\n和你与宝可梦并肩作战时看到的世界…$视角不同,即使是同一个世界看起来也完全不同。",
},
"defeat": {
- 1: "The photo from the moment of my victory will be a real winner, all right!",
- 2: "Yes! I took some great photos!"
- }
+ 1: "我胜利那一刻的照片,\n将是一个真正的赢家,对吧!",
+ 2: "是的!我拍了些很棒的照片!",
+ },
},
"candice": {
"encounter": {
- 1: `You want to challenge Candice? Sure thing! I was waiting for someone tough!
- $But I should tell you, I'm tough because I know how to focus.`,
- 2: `Pokémon, fashion, romance… It's all about focus!
- $I'll show you just what I mean. Get ready to lose!`
+ 1: "向小菘我挑战吗?好啊!\n我就是在等待强者$但是我也气势高昂,很强哦?",
+ 2: "宝可梦也好,时尚也好,恋爱也好,\n无论做什么都气势高昂!$就说到这儿吧,让你见识一下我的气势,\n要做好觉悟哦!",
},
"victory": {
- 1: "I must say, I'm warmed up to you! I might even admire you a little.",
- 2: `Wow! You're great! You've earned my respect!
- $I think your focus and will bowled us over totally. `
+ 1: "好厉害!我有点尊敬你了。",
+ 2: "好厉害!我有点尊敬你了!$嗯,感觉是被你的气势给压倒了。",
},
"defeat": {
- 1: "I sensed your will to win, but I don't lose!",
- 2: "See? Candice's focus! My Pokémon's focus is great, too!"
+ 1: "你的气势我看到了,但我还是不会输的!",
+ 2: "怎么样?小菘我的气势!\n宝可梦们的气势满满哦!",
}
},
"gardenia": {
"encounter": {
- 1: "You have a winning aura about you. So, anyway, this will be fun. Let's have our battle!"
+ 1: "你身上有一种胜利的气息。\n那么不管怎样,$这应该会是场有趣的战斗。\n让我们对战吧!",
},
"victory": {
- 1: "Amazing! You're very good, aren't you?"
+ 1: "太棒了!你可擅长对战了,不是吗?",
},
"defeat": {
- 1: "Yes! My Pokémon and I are perfectly good!"
- }
+ 1: "太好了!我的宝可梦和我都很棒!",
+ },
},
"aaron": {
"encounter": {
- 1: "Ok! Let me take you on!"
+ 1: "好的!让我来接受你的挑战!",
},
"victory": {
- 1: "Battling is a deep and complex affair…"
+ 1: "战斗是一件深刻而复杂的事情……",
},
"defeat": {
- 1: "Victory over an Elite Four member doesn't come easily."
- }
+ 1: "战胜一位四天王并不容易。",
+ },
},
"cress": {
"encounter": {
- 1: "That is correct! It shall be I and my esteemed Water types that you must face in battle!"
+ 1: "没!错!你必须面对\n与我和我高贵的水属性的战斗!",
},
"victory": {
- 1: "Lose? Me? I don't believe this."
+ 1: "输了?我?我不敢相信。",
},
"defeat": {
- 1: "This is the appropriate result when I'm your opponent."
+ 1: "当你的对手是我时,这是必然的结果。",
}
},
"allister": {
"encounter": {
- 1: "'M Allister.\nH-here… I go…"
+ 1: "我是欧尼奥。$我…我来了……",
},
"victory": {
- 1: `I nearly lost my mask from the shock… That was…
- $Wow. I can see your skill for what it is.`,
+ 1: "我差点被吓得丢了面具…那真是…$哇。我可以看清你真正的实力。",
},
"defeat": {
- 1: "Th-that was ace!"
+ 1: "这真是太棒了!",
}
},
"clay": {
"encounter": {
- 1: "Harrumph! Kept me waitin', didn't ya, kid? All right, time to see what ya can do!"
+ 1: "咳咳! 让我好等,不是吗,孩子?$好吧,是时候看看你能做到什么了!",
},
"victory": {
- 1: "Man oh man… It feels good to go all out and still be defeated!"
+ 1: "真是的……我先说好,\n我可没有手下留情。",
},
"defeat": {
- 1: `What's important is how ya react to losin'.
- $That's why folks who use losin' as fuel to get better are tough.`,
+ 1: "最重要的是输掉的时候该怎么办。$只要你能在失败中找到教训,\n就能够不断地成长!",
}
},
"kofu": {
"encounter": {
- 1: "I'mma serve you a full course o' Water-type Pokémon! Don't try to eat 'em, though!"
+ 1: "我会给你上一整道水系宝可梦大餐!\n但别真吃了它们!",
},
"victory": {
- 1: "Vaultin' Veluza! Yer a lively one, aren't ya! A little TOO lively, if I do say so myself!"
+ 1: "吃了吗!你真是活力又新鲜啊,\n不是吗!$就是有点太鲜活了!",
},
"defeat": {
- 1: "You come back to see me again now, ya hear?"
+ 1: "你要再来找我,听见了吗?",
}
},
"tulip": {
"encounter": {
- 1: "Allow me to put my skills to use to make your cute little Pokémon even more beautiful!"
+ 1: "请让我运用我的化妆技巧,$让你可爱的小宝可梦变得更美丽!",
},
"victory": {
- 1: "Your strength has a magic to it that cannot be washed away."
+ 1: "你妆点的力量宛如魔法加固,\n完全冲洗不掉啊。",
},
"defeat": {
- 1: "You know, in my line of work, people who lack talent in one area or the other often fade away quickly—never to be heard of again."
+ 1: "你知道吗,在我这行,\n那些没天赋的人往往会很快消失,$再也不会被提起。",
}
},
"sidney": {
"encounter": {
- 1: `I like that look you're giving me. I guess you'll give me a good match.
- $That's good! Looking real good! All right!
- $You and me, let's enjoy a battle that can only be staged here!`,
+ 1: "你给我的印象不错,\n我猜这会是一场精彩的对战。$很棒!看起来真的很棒!$你和我,让我们享受一场\n只能在这里上演的战斗吧!",
},
"victory": {
- 1: "Well, how do you like that? I lost! Eh, it was fun, so it doesn't matter."
+ 1: "嗯,你觉得怎样?我输了!\n嗯,不过这很有趣,所以无所谓啊。",
},
"defeat": {
- 1: "No hard feelings, alright?"
+ 1: "别介意,OK?",
}
},
"phoebe": {
"encounter": {
- 1: `While I trained, I gained the ability to commune with Ghost-type Pokémon.
- $Yes, the bond I developed with Pokémon is extremely tight.
- $So, come on, just try and see if you can even inflict damage on my Pokémon!`,
+ 1: "过去我在修行时得到了\n能与幽灵宝可梦亲密交流的能力。$没错,我和宝可梦之间\n有著强烈的羁绊。$那么,来试试看你有没有能力\n伤到我的宝可梦吧!",
},
"victory": {
- 1: "Oh, darn. I've gone and lost."
+ 1: "哦,天呀。我输了。",
},
"defeat": {
- 1: "I look forward to battling you again sometime!"
- }
+ 1: "我期待着下次再和你战斗!",
+ },
},
"glacia": {
"encounter": {
- 1: `All I have seen are challenges by weak Trainers and their Pokémon.
- $What about you? It would please me to no end if I could go all out against you!`,
+ 1: "我在这儿见到的尽是些\n弱不禁风的训练家和宝可梦。$你又如何呢?如果你能让我不得不用\n上全力的话就再好不过了!",
},
"victory": {
- 1: `You and your Pokémon… How hot your spirits burn!
- $The all-consuming heat overwhelms.
- $It's no surprise that my icy skills failed to harm you.`,
+ 1: "你和你的宝可梦…\n你们的灵魂燃烧得多么热烈啊!$这股激烈的热能仿佛能征服一切。\n$难怪我的冰属性技巧也奈何不了你了。",
},
"defeat": {
- 1: "A fiercely passionate battle, indeed."
- }
+ 1: "一场充满激情的战斗,确实。",
+ },
},
"drake": {
"encounter": {
- 1: `For us to battle with Pokémon as partners, do you know what it takes? Do you know what is needed?
- $If you don't, then you will never prevail over me!`,
+ 1: "对于我们这些将宝可梦视为\n同伴一同战斗的训练家来说,$你知道怎样才能赢得胜利吗?\n你知道获得胜利的条件吗?$如果你不知道,\n那么你永远也无法战胜我!",
},
"victory": {
- 1: "Superb, it should be said."
+ 1: "干得漂亮,就是这样。",
},
"defeat": {
- 1: "I gave my all for that battle!"
- }
+ 1: "我在这场战斗中全力以赴了!",
+ },
},
"wallace": {
"encounter": {
- 1: `There's something about you… A difference in your demeanor.
- $I think I sense that in you. Now, show me. Show me the power you wield with your Pokémon.
- $And I, in turn, shall present you with a performance of illusions in water by me and my Pokémon!`,
+ 1: "你的气质变了,\n我能感觉到这一点。$现在,把你和你的宝可梦\n的力量展现给我看吧。$作为回礼,就由我和我的宝可梦\n演出一场水之幻影吧!",
},
"victory": {
- 1: `Bravo. I realize now your authenticity and magnificence as a Pokémon Trainer.
- $I find much joy in having met you and your Pokémon. You have proven yourself worthy.`,
+ 1: "精彩。此刻,我能从你身上感觉到\n身为宝可梦训练家的可靠与高贵。$我真荣幸能遇到你和你的宝可梦。",
},
"defeat": {
- 1: "A grand illusion!"
- }
+ 1: "伟大的幻影!",
+ },
},
"lorelei": {
"encounter": {
- 1: `No one can best me when it comes to icy Pokémon! Freezing moves are powerful!
- $Your Pokémon will be at my mercy when they are frozen solid! Hahaha! Are you ready?`,
+ 1: "只要能让我用冰属性宝可梦,\n就绝对没人能赢得过我!\n能冻住对方可是很厉害的哦!$因为如果被冻住,你的宝可梦就无法动弹了!\n啊哈哈!你做好觉悟了吧!",
},
"victory": {
- 1: "How dare you!"
+ 1: "你怎么敢!",
},
"defeat": {
- 1: "There's nothing you can do once you're frozen."
- }
+ 1: "一旦你被冻结,你就什么都做不了。",
+ },
},
"will": {
"encounter": {
- 1: `I have trained all around the world, making my psychic Pokémon powerful.
- $I can only keep getting better! Losing is not an option!`,
+ 1: "我曾经环游世界,\n日以继夜地做着超能力宝可梦的修行之旅。$我会不断变强!没理由会在这里输掉!",
},
"victory": {
- 1: "I… I can't… believe it…"
+ 1: "……不会吧……",
},
"defeat": {
- 1: "That was close. I wonder what it is that you lack."
- }
+ 1: "就差一点。\n我想知道你缺少了什么。",
+ },
},
"malva": {
"encounter": {
- 1: `I feel like my heart might just burst into flames.
- $I'm burning up with my hatred for you, runt!`,
+ 1: "我的内心可是一直燃烧着呢。$燃烧着对你的怒火!",
},
"victory": {
- 1: "What news… So a new challenger has defeated Malva!"
+ 1: "挑战者出色地击败了四天王之一,帕琦拉。",
},
"defeat": {
- 1: "I am delighted! Yes, delighted that I could squash you beneath my heel."
- }
+ 1: "真开心啊,能将你彻底粉碎!",
+ },
},
"hala": {
"encounter": {
- 1: "Old Hala is here to make you holler!"
+ 1: "老哈拉让你放开嗓子!",
},
"victory": {
- 1: "I could feel the power you gained on your journey."
+ 1: "我能感受到你在旅途中获得的力量。",
},
"defeat": {
- 1: "Haha! What a delightful battle!"
- }
- },
- "molayne": {
- "encounter": {
- 1: `I gave the captain position to my cousin Sophocles, but I'm confident in my ability.
- $My strength is like that of a supernova!`,
+ 1: "啊哈哈。多么有趣的战斗。",
},
- "victory": {
- 1: "I certainly found an interesting Trainer to face!"
- },
- "defeat": {
- 1: "Ahaha. What an interesting battle."
- }
},
"rika": {
"encounter": {
- 1: "I'd say I'll go easy on you, but… I'd be lying! Think fast!"
+ 1: "我要对你手下留情,但……骗你的啦!$好好动脑!",
},
"victory": {
- 1: "Not bad, kiddo."
+ 1: "不错,小子。",
},
"defeat": {
- 1: "Nahahaha! You really are something else, kiddo!"
+ 1: "啊哈哈哈哈!你真的很特别,小子!",
+ },
+ },
+ "molayne": {
+ "encounter": {
+ 1: "我将队长的位置让给了我的表弟马玛内,\n但我对自己的能力很有信心。 $我的力量就像超新星一样!",
+ },
+ "victory": {
+ 1: "我发现了一个有趣的训练师对手!",
+ },
+ "defeat": {
+ 1: "啊哈哈。多么有趣的战斗。",
}
},
"bruno": {
"encounter": {
- 1: "We will grind you down with our superior power! Hoo hah!"
+ 1: "我们将用势不可挡的力量磨灭你!呼哈!",
},
"victory": {
- 1: "Why? How could I lose?"
+ 1: "为什么?我怎么会输?",
},
"defeat": {
- 1: "You can challenge me all you like, but the results will never change!"
+ 1: "你可以随意挑战我,\n但结果永远不会改变!",
}
},
"bugsy": {
"encounter": {
- 1: "I'm Bugsy! I never lose when it comes to bug Pokémon!"
+ 1: "我是阿笔!\n对虫系宝可梦的熟悉不会输给任何人的!",
},
"victory": {
- 1: "Whoa, amazing! You're an expert on Pokémon!\nMy research isn't complete yet. OK, you win."
+ 1: "哇,太棒了!\n你是个宝可梦专家!$我的研究还没有完成。\n好吧,你赢了。",
},
"defeat": {
- 1: "Thanks! Thanks to our battle, I was also able to make progress in my research!"
+ 1: "谢谢!多亏了我们的战斗,\n我的研究也取得了进展!",
}
},
"koga": {
"encounter": {
- 1: "Fwahahahaha! Pokémon are not merely about brute force--you shall see soon enough!"
+ 1: "哇哈哈哈哈!$宝可梦不仅仅是关于蛮力,拭目以待吧!",
},
"victory": {
- 1: "Ah! You've proven your worth!"
+ 1: "啊!你证明了自己!",
},
"defeat": {
- 1: "Have you learned to fear the techniques of the ninja?"
+ 1: "懂不懂要对忍者的技巧心神畏惧?",
}
},
"bertha": {
"encounter": {
- 1: "Well, would you show this old lady how much you've learned?"
+ 1: "啊,让老婆婆看看你学到了什么?",
},
"victory": {
- 1: `Well! Dear child, I must say, that was most impressive.
- $Your Pokémon believed in you and did their best to earn you the win.
- $Even though I've lost, I find myself with this silly grin!`,
+ 1: "好吧,亲爱的孩子,\n不得不说,那令人印象深刻。$你的宝可梦相信你并尽最大努力为你赢得胜利。$尽管我输了,\n我也止不住笑呢!",
},
"defeat": {
- 1: "Hahahahah! Looks like this old lady won!"
+ 1: "哈哈哈!看来老婆婆我赢了!",
}
},
"lenora": {
"encounter": {
- 1: "Well then, challenger, I'm going to research how you battle with the Pokémon you've so lovingly raised!"
+ 1: "那么,挑战者,让我来研究$你与你精心养育的宝可梦要如何战斗!",
},
"victory": {
- 1: "My theory about you was correct. You're more than just talented… You're motivated! I salute you!"
+ 1: "我关于你的理论是正确的。$你不仅仅是有天赋……你很努力!\n我向你致敬!",
},
"defeat": {
- 1: "Ah ha ha! If you lose, make sure to analyze why, and use that knowledge in your next battle!"
+ 1: "啊哈哈!如果你输了,\n一定要分析原因,$并在下一场战斗中运用那些知识!",
}
},
"siebold": {
"encounter": {
- 1: "As long as I am alive, I shall strive onward to seek the ultimate cuisine... and the strongest opponents in battle!"
+ 1: "只要我活着,我将不断努力寻求终极美食…$以及和最强的对手战斗!",
},
"victory": {
- 1: "I shall store my memory of you and your Pokémon forever away within my heart."
+ 1: "您的事迹,我志米铭记在心。",
},
"defeat": {
- 1: `Our Pokémon battle was like food for my soul. It shall keep me going.
- $That is how I will pay my respects to you for giving your all in battle!`,
+ 1: "我们的宝可梦战斗就像我灵魂的养料。\n它将让我继续前进。$这就是我将向你表示敬意的方式,\n感谢你在战斗中全力以赴!",
}
},
"roxie": {
"encounter": {
- 1: "Get ready! I'm gonna knock some sense outta ya!"
+ 1: "准备好了吗!我要给你上一课!",
},
"victory": {
- 1: "Wild! Your reason's already more toxic than mine!"
+ 1: "够野的!你的想法比我的还要毒!",
},
"defeat": {
- 1: "Hey, c'mon! Get serious! You gotta put more out there!"
+ 1: "嘿,拜托!认真点!\n你要加把劲啊!",
}
},
"olivia": {
"encounter": {
- 1: "No introduction needed here. Time to battle me, Olivia!"
+ 1: "没什么开场白。\n是时候和我丽姿,战斗了!",
},
"victory": {
- 1: "Really lovely… Both you and your Pokémon…"
+ 1: "真的很可爱……你和你的宝可梦……",
},
"defeat": {
- 1: "Mmm-hmm."
+ 1: "嗯哼。",
}
},
"poppy": {
"encounter": {
- 1: "Oooh! Do you wanna have a Pokémon battle with me?"
+ 1: "哦!你想和我进行宝可梦对战么?",
},
"victory": {
- 1: "Uagh?! Mmmuuuggghhh…"
+ 1: "呜哇?!嘛……",
},
"defeat": {
- 1: `Yaaay! I did it! I de-feet-ed you! You can come for… For… An avenge match?
- $Come for an avenge match anytime you want!`,
+ 1: "耶!我做到了!我击~败~了~你!\n你可以来…打…复仇之战?$只要你想,随时来打复仇之战吧!",
}
},
"agatha": {
"encounter": {
- 1: "Pokémon are for battling! I'll show you how a real Trainer battles!"
+ 1: "宝可梦是为战斗而生的! \n让我来告诉你什么是真正的战斗吧!"
},
"victory": {
- 1: "Oh my! You're something special, child!"
+ 1: "呵呵!你可真是了不起!"
},
"defeat": {
- 1: "Bahaha. That's how a proper battle's done!"
+ 1: "额哈哈哈,真正的战斗就是该这样。"
}
},
"flint": {
"encounter": {
- 1: "Hope you're warmed up, cause here comes the Big Bang!"
+ 1: "希望你已经热身完毕,\n因为这里即将大爆炸!",
},
"victory": {
- 1: "Incredible! Your moves are so hot, they make mine look lukewarm!"
+ 1: "不可思议!$你的动作如此火热,让我看起来温吞吞的!",
},
"defeat": {
- 1: "Huh? Is that it? I think you need a bit more passion."
- }
+ 1: "嗯?就这吗?\n我觉得你得再激情点。",
+ },
},
"grimsley": {
"encounter": {
- 1: "The winner takes everything, and there's nothing left for the loser."
+ 1: "一无所有,\n或者,赢下所有!",
},
"victory": {
- 1: "When one loses, they lose everything… The next thing I'll look for will be victory, too!"
+ 1: "一旦失败,\n就意味着失去一切……$下一次我要追寻胜利!",
},
"defeat": {
- 1: "If somebody wins, the person who fought against that person will lose."
+ 1: "如果有人赢了,\n和他对战的人就会输。",
}
},
"caitlin": {
"encounter": {
- 1: `It's me who appeared when the flower opened up. You who have been waiting…
- $You look like a Pokémon Trainer with refined strength and deepened kindness.
- $What I look for in my opponent is superb strength…
- $Please unleash your power to the fullest!`,
+ 1: "当花儿绽开时、我便出现。\n成为你在等待的人…$你似乎同时具备实力和善意$我所寻找的是拥有卓越力量的对手…$请用出你的全力吧!",
},
"victory": {
- 1: "My Pokémon and I learned so much! I offer you my thanks."
+ 1: "我和我的宝可梦学到了很多!非常感谢。",
},
"defeat": {
- 1: "I aspire to claim victory with elegance and grace."
- }
+ 1: "我渴望以优雅的姿态取得胜利。",
+ },
},
"diantha": {
"encounter": {
- 1: `Battling against you and your Pokémon, all of you brimming with hope for the future…
- $Honestly, it just fills me up with energy I need to keep facing each new day! It does!`,
+ 1: "与你的宝可梦对战\n让你充满了未来的希望…$说真的,这让我更有活力地面对新的一天,确实如此!",
},
"victory": {
- 1: "Witnessing the noble spirits of you and your Pokémon in battle has really touched my heart…"
+ 1: "拥有高尚灵魂的训练家和宝可梦的身姿,\n让我的心激烈地震颤…",
},
"defeat": {
- 1: "Oh, fantastic! What did you think? My team was pretty cool, right?"
- }
+ 1: "哦,太棒了!你觉得怎么样?\n我的队伍很酷吧~对吧?",
+ },
},
"wikstrom": {
"encounter": {
- 1: `Well met, young challenger! Verily am I the famed blade of hardened steel, Duke Wikstrom!
- $Let the battle begin! En garde!`,
+ 1: "年轻的挑战者,幸会!\n我乃是著名的钢铁之刃,公爵雁铠! $让我们开始战斗吧!预备!",
},
"victory": {
- 1: "Glorious! The trust that you share with your honorable Pokémon surpasses even mine!"
+ 1: "辉煌!你与你尊贵的\n宝可梦之间的信任居然胜过了我!",
},
"defeat": {
- 1: `What manner of magic is this? My heart, it doth hammer ceaselessly in my breast!
- $Winning against such a worthy opponent doth give my soul wings--thus do I soar!`,
+ 1: "哦哦哦!这是怎么回事,\n我的心止不住地在震颤! $与如此有价值的对手的胜利\n让我的灵魂飞翔——我心翱翔!",
}
},
"acerola": {
"encounter": {
- 1: "Battling is just plain fun! Come on, I can take you!"
+ 1: "对战只是找个乐子!来吧,我来会会你!",
},
"victory": {
- 1: "I'm… I'm speechless! How did you do it?!"
+ 1: "我……我说不出话!你是怎么做到的?!",
},
"defeat": {
- 1: "Ehaha! What an amazing victory!"
+ 1: "哈哈!真是吓人倒怪的胜利呀!",
}
},
"larry_elite": {
"encounter": {
- 1: `Hello there… It's me, Larry.
- $I serve as a member of the Elite Four too, yes… Unfortunately for me.`,
+ 1: "……你好,我是青木。$麻烦的是我还要兼任四天王。",
},
"victory": {
- 1: "Well, that took the wind from under our wings…"
+ 1: "好吧,我们翅膀下的疾风止于你这了啊…",
},
"defeat": {
- 1: "It's time for a meeting with the boss."
+ 1: "是时候和老板开会了。",
}
},
"lance": {
"encounter": {
- 1: "I've been waiting for you. Allow me to test your skill.",
- 2: "I thought that you would be able to get this far. Let's get this started."
+ 1: "我一直在等你。让我来试试你有几斤几两。",
+ 2: "我知道你能走这么远。让我们开始吧。",
},
"victory": {
- 1: "You got me. You are magnificent!",
- 2: "I never expected another trainer to beat me… I'm surprised."
+ 1: "被你拿下了啊。你太出色了!",
+ 2: "我从没想到会有另一个训练师打败我……$我很惊讶。",
},
"defeat": {
- 1: "That was close. Want to try again?",
- 2: "It's not that you are weak. Don't let it bother you."
+ 1: "就差一点。想再试一次吗?",
+ 2: "我没觉得你弱,别因此困扰。",
}
},
"karen": {
"encounter": {
- 1: "I am Karen. Would you care for a showdown with my Dark-type Pokémon?",
- 2: "I am unlike those you've already met.",
- 3: "You've assembled a charming team. Our battle should be a good one."
+ 1: "我是梨花,你想和我的恶属性宝可梦$来一场对决吗?",
+ 2: "我和你见过的那些人不一样。",
+ 3: "你组建了一支迷人的队伍。$我们的战斗应该会是场精彩的比赛。",
},
"victory": {
- 1: "No! I can't win. How did you become so strong?",
- 2: "I will not stray from my chosen path.",
- 3: "The Champion is looking forward to meeting you."
+ 1: "不!我赢不了。你是怎么做到变得这么强的?",
+ 2: "我不会偏离我所选择的道路。",
+ 3: "冠军正期待与你见面。",
},
"defeat": {
- 1: "That's about what I expected.",
- 2: "Well, that was relatively entertaining.",
- 3: "Come visit me anytime."
+ 1: "意料之中。",
+ 2: "嗯,还算有点意思。",
+ 3: "随时欢迎你来找我。",
}
},
"milo": {
"encounter": {
- 1: `Sure seems like you understand Pokémon real well.
- $This is gonna be a doozy of a battle!
- $I'll have to Dynamax my Pokémon if I want to win!`,
+ 1: "看起来你显然很了解宝可梦。$这会是一场激烈的战斗!$如果我想赢,我得让我的宝可梦极巨化!",
},
"victory": {
- 1: "The power of Grass has wilted… What an incredible Challenger!"
+ 1: "草的力量凋谢了…多么不可思议的挑战者!",
},
"defeat": {
- 1: "This'll really leave you in shock and awe."
+ 1: "这必将让你大吃一惊。",
}
},
"lucian": {
"encounter": {
- 1: `Just a moment, please. The book I'm reading has nearly reached its thrilling climax…
- $The hero has obtained a mystic sword and is about to face their final trial… Ah, never mind.
- $Since you've made it this far, I'll put that aside and battle you.
- $Let me see if you'll achieve as much glory as the hero of my book!,`
+ 1: "请稍等,我正在读的书\n正要进入最精彩的部分…$英雄获得了一把神秘之剑,\n即将面临最后的考验…啊,算了。$既然你能走到这一步,\n我就不说这些了,和你战斗吧。$让我看看你是否\n能像我书中的主角一样荣耀!",
},
"victory": {
- 1: "I see… It appears you've put me in checkmate."
+ 1: "我明白了…看来你把我逼入了绝境。",
},
"defeat": {
- 1: "I have a reputation to uphold."
+ 1: "我得维护我的名誉。",
}
},
"drasna": {
"encounter": {
- 1: `You must be a strong Trainer. Yes, quite strong indeed…
- $That's just wonderful news! Facing opponents like you and your team will make my Pokémon grow like weeds!`
+ 1: "你很厉害吧,\n而且相当相当地厉害呢。$我很高兴,能和这样的对手交手,\n就能更好地培养宝可梦们了。",
},
"victory": {
- 1: "Oh, dear me. That sure was a quick battle… I do hope you'll come back again sometime!"
+ 1: "哎呀,就这么结束了,\n不好意思,可以的话欢迎再来。",
},
"defeat": {
- 1: "How can this be?"
+ 1: "怎么会这样?",
}
},
"kahili": {
"encounter": {
- 1: "So, here you are… Why don't we see who the winds favor today, you… Or me?"
+ 1: "那么,既然来了……\n要不来看看今天的风更青睐谁?$是你……还是我?",
},
"victory": {
- 1: "It's frustrating to me as a member of the Elite Four, but it seems your strength is the real deal."
+ 1: "让我这个四天王都感到沮丧,$看来你的力量货真价实。",
},
"defeat": {
- 1: "That was an ace!"
+ 1: "那真是一记好球!",
}
},
"hassel": {
"encounter": {
- 1: "Prepare to learn firsthand how the fiery breath of ferocious battle feels!"
+ 1: "让你亲身感受一下什么叫做猛烈的对战气息吧!",
},
"victory": {
- 1: `Fortune smiled on me this time, but…
- $Judging from how the match went, who knows if I will be so lucky next time.`,
+ 1: "这次幸运之神对你微笑了,但是……$谁知道你下次还会不会这么幸运。",
},
"defeat": {
- 1: "That was an ace!"
+ 1: "那挺厉害的吧!",
}
},
"blue": {
"encounter": {
- 1: "You must be pretty good to get this far."
+ 1: "能走到这里,你一定非常优秀。",
},
"victory": {
- 1: "I've only lost to him and now to you… Him? Hee, hee…"
+ 1: "我只输给过他,现在又是你……?$你问他是谁?哈哈哈……",
},
"defeat": {
- 1: "See? My power is what got me here."
+ 1: "看吧?我的实力就是我来到这里的原因。",
}
},
"piers": {
"encounter": {
- 1: "Get ready for a mosh pit with me and my party! Spikemuth, it's time to rock!"
+ 1: "准备好和我的队伍来个大狂欢吧!$尖钉镇,是时候嗨起来了!",
},
"victory": {
- 1: "Me an' my team gave it our best. Let's meet up again for a battle some time…"
+ 1: "我和我的队伍已经尽力了。$找个时间再来对战吧……",
},
"defeat": {
- 1: "My throat's ragged from shoutin'… But 'at was an excitin' battle!"
- }
+ 1: "我的喉咙因为呼喊而变得沙哑……$但这是一场激动人心的战斗!",
+ },
},
"red": {
"encounter": {
- 1: "…!"
+ 1: "…!",
},
"victory": {
- 1: "…?"
+ 1: "…?",
},
"defeat": {
- 1: "…!"
- }
+ 1: "…!",
+ },
},
"jasmine": {
"encounter": {
- 1: "Oh… Your Pokémon are impressive. I think I will enjoy this."
+ 1: "哦……你的宝可梦给人印象深刻。$我想我会享受这场战斗的。",
},
"victory": {
- 1: "You are truly strong. I'll have to try much harder, too."
+ 1: "你真的很强。我也得加把劲了。",
},
"defeat": {
- 1: "I never expected to win."
- }
+ 1: "我从没想到会赢。",
+ },
},
"lance_champion": {
"encounter": {
- 1: "I am still the Champion. I won't hold anything back."
+ 1: "我依旧是冠军,所以我不会留情的。",
},
"victory": {
- 1: "This is the emergence of a new Champion."
+ 1: "这就是新冠军的崛起。",
},
"defeat": {
- 1: "I successfully defended my Championship."
+ 1: "我成功捍卫了冠军的头衔。",
}
},
"steven": {
"encounter": {
- 1: `Tell me… What have you seen on your journey with your Pokémon?
- $What have you felt, meeting so many other Trainers out there?
- $Traveling this rich land… Has it awoken something inside you?
- $I want you to come at me with all that you've learned.
- $My Pokémon and I will respond in turn with all that we know!`,
+ 1: "告诉我…你在和宝可梦的旅途过程中看到了什么?$邂逅了那么多的训练师,\n你都会有什么样的感受呢?$在这丰饶的大地上旅行…\n有没有唤醒你内在的某种东西?$你不如就用一场对战来告诉我你心中的答案吧。$我也会和我的宝可梦用这种方式\n将我们所知道的告诉你的!",
},
"victory": {
- 1: "So I, the Champion, fall in defeat…"
+ 1: "没想到连我这个联盟冠军\n都败在你的手上了呢…",
},
"defeat": {
- 1: "That was time well spent! Thank you!"
+ 1: "正如我所期待的。谢谢!",
}
},
"cynthia": {
"encounter": {
- 1: "I, Cynthia, accept your challenge! There won't be any letup from me!"
+ 1: "我,竹兰,接受你的挑战!\n我是不会手软的!",
},
"victory": {
- 1: "No matter how fun the battle is, it will always end sometime…"
+ 1: "无论对战多么有趣,\n它总会有结束的时候……",
},
"defeat": {
- 1: "Even if you lose, never lose your love of Pokémon."
+ 1: "即使你输了,\n也永远不要失去你对宝可梦的热爱。",
}
},
"iris": {
"encounter": {
- 1: `Know what? I really look forward to having serious battles with strong Trainers!
- $I mean, come on! The Trainers who make it here are Trainers who desire victory with every fiber of their being!
- #And they are battling alongside Pokémon that have been through countless difficult battles!
- $If I battle with people like that, not only will I get stronger, my Pokémon will, too!
- $And we'll get to know each other even better! OK! Brace yourself!
- $I'm Iris, the Pokémon League Champion, and I'm going to defeat you!`,
+ 1: "你知道吗?\n我真的很期待和强大的训练师进行认真的战斗!$我的意思是,来吧!\n到达这里的是那些渴望胜利的训练师,$他们与经历过无数艰难\n战斗的宝可梦一起战斗!$如果我和那样的人战斗,\n不仅我会变得更强,我的宝可梦也会!$我们也会更好地了解彼此!\n好!做好准备吧!$我是艾莉丝,宝可梦联盟冠军,\n我,将打败你!",
},
"victory": {
- 1: "Aghhhh… I did my best, but we lost…"
+ 1: "啊……我尽力了,但我们输了……",
},
"defeat": {
- 1: "Yay! We won!"
+ 1: "耶!我们赢了!",
}
},
"hau": {
"encounter": {
- 1: `I wonder if a Trainer battles differently depending on whether they're from a warm region or a cold region.
- $Let's test it out!`,
+ 1: "我想知道,训练师是否会根据他们是\n来自温暖地区还是寒冷地区而以不同的方式战斗。$让我们来测试一下!",
},
"victory": {
- 1: "That was awesome! I think I kinda understand your vibe a little better now!"
+ 1: "那太棒了!我觉得我现在有点了解你的感觉了!",
},
"defeat": {
- 1: "Ma-an, that was some kinda battle!"
- }
+ 1: "老铁,这才叫战斗!",
+ },
},
"geeta": {
"encounter": {
- 1: `I decided to throw my hat in the ring once more.
- $Come now… Show me the fruits of your training.`,
+ 1: "我决定再试一次。$来吧…让我看看你的训练成果。",
},
"victory": {
- 1: "I eagerly await news of all your achievements!"
+ 1: "我期待着你的成就!",
},
"defeat": {
- 1: "What's the matter? This isn't all, is it?"
+ 1: "怎么,这就结束了?",
}
},
"nemona": {
"encounter": {
- 1: "Yesss! I'm so psyched! Time for us to let loose!"
+ 1: "耶!我太兴奋了!让我们稍微放轻松!",
},
"victory": {
- 1: "Well, that stinks, but I still had fun! I'll getcha next time!"
+ 1: "好吧,太糟了,但我还是玩得很开心!$下次我一定会赢你!",
},
"defeat": {
- 1: "Well, that was a great battle! Fruitful for sure."
+ 1: "好吧,那是一场很棒的战斗!$肯定是会有收获的啦。",
}
},
"leon": {
"encounter": {
- 1: "We're gonna have an absolutely champion time!"
+ 1: "来享受一段冠军时刻吧!",
},
"victory": {
- 1: `My time as Champion is over…
- $But what a champion time it's been!
- $Thank you for the greatest battle I've ever had!`,
+ 1: "我的冠军生涯结束了……$但这是多么美好的冠军时刻啊!$谢谢你给了我最精彩的一战!",
},
"defeat": {
- 1: "An absolute champion time, that was!"
+ 1: "名副其实的冠军时刻!",
}
},
"whitney": {
"encounter": {
- 1: "Hey! Don't you think Pokémon are, like, super cute?"
+ 1: "嘿!你不认为宝可梦超级可爱吗?",
},
"victory": {
- 1: "Waaah! Waaah! You're so mean!"
+ 1: "哇啊!哇啊!你太坏了!",
},
"defeat": {
- 1: "And that's that!"
+ 1: "就是这样!",
}
},
"chuck": {
"encounter": {
- 1: "Hah! You want to challenge me? Are you brave or just ignorant?"
+ 1: "哈!你想挑战我?你是勇敢还是无知?",
},
"victory": {
- 1: "You're strong! Would you please make me your apprentice?"
+ 1: "你很强!能不能收我为徒?",
},
"defeat": {
- 1: "There. Do you realize how much more powerful I am than you?"
- }
+ 1: "搞定。你明白我比你强得多了吗?",
+ },
},
"katy": {
"encounter": {
- 1: "Don't let your guard down unless you would like to find yourself knocked off your feet!"
+ 1: "不要放松警惕,除非你想被虫丝绊倒哦!",
},
"victory": {
- 1: "All of my sweet little Pokémon dropped like flies!"
+ 1: "我可爱的宝可梦们都像苍蝇一样坠落了!",
},
"defeat": {
- 1: "Eat up, my cute little Vivillon!"
- }
+ 1: "开饭啦,我可爱的彩粉蝶!",
+ },
},
"pryce": {
"encounter": {
- 1: "Youth alone does not ensure victory! Experience is what counts."
+ 1: "年轻不代表能获得胜利!经验才是关键。",
},
"victory": {
- 1: "Outstanding! That was perfect. Try not to forget what you feel now."
+ 1: "无与伦比!赢得完美,试着不要忘记你现在的感受。",
},
"defeat": {
- 1: "Just as I envisioned."
- }
+ 1: "正如我所料。",
+ },
},
"clair": {
"encounter": {
- 1: "Do you know who I am? And you still dare to challenge me?"
+ 1: "你知道我是谁吗?知道还敢挑战我?",
},
"victory": {
- 1: "I wonder how far you can get with your skill level. This should be fascinating."
+ 1: "我想知道以你现在的水平能走多远,有趣。",
},
"defeat": {
- 1: "That's that."
+ 1: "就是这样。",
}
},
"maylene": {
"encounter": {
- 1: `I've come to challenge you now, and I won't hold anything back.
- $Please prepare yourself for battle!`,
+ 1: "我现在要挑战你,我不会保留任何实力。$请准备好战斗!",
},
"victory": {
- 1: "I admit defeat…"
+ 1: "是我输了…",
},
"defeat": {
- 1: "That was awesome."
- }
+ 1: "太棒了。",
+ },
},
"fantina": {
"encounter": {
- 1: `You shall challenge me, yes? But I shall win.
- $That is what the Gym Leader of Hearthome does, non?`,
+ 1: "你来挑战吧。我会胜利。$这就是家缘市的道馆馆主。",
},
"victory": {
- 1: "You are so fantastically strong. I know why I have lost."
+ 1: "你是最强的,我认输了。",
},
"defeat": {
- 1: "I am so, so, very happy!"
- }
+ 1: "我非常,非常高兴!",
+ },
},
"byron": {
"encounter": {
- 1: `Trainer! You're young, just like my son, Roark.
- $With more young Trainers taking charge, the future of Pokémon is bright!
- $So, as a wall for young people, I'll take your challenge!`,
+ 1: "和我儿子瓢太一样的年轻人啊!$我相信培养年轻人\n关系到宝可梦光明的未来!$为此就让我来成为\n年轻人必须跨越的堡垒吧!",
},
"victory": {
- 1: "Hmm! My sturdy Pokémon--defeated!"
+ 1: "唔!我千锤百炼的宝可梦!",
},
"defeat": {
- 1: "Gwahahaha! How were my sturdy Pokémon?!"
+ 1: "哈哈哈哈!怎么样!我千锤百炼的宝可梦!",
}
},
"olympia": {
"encounter": {
- 1: "An ancient custom deciding one's destiny. The battle begins!"
+ 1: "战斗是决定命运的古老传统。让我们开始吧!",
},
"victory": {
- 1: "Create your own path. Let nothing get in your way. Your fate, your future."
+ 1: "创造你自己的道路。$不要让任何东西阻挡你的路、你的命运、你的未来。",
},
"defeat": {
- 1: "Our path is clear now."
+ 1: "我们的道路现在已经清晰了。",
}
},
"volkner": {
"encounter": {
- 1: `Since you've come this far, you must be quite strong…
- $I hope you're the Trainer who'll make me remember how fun it is to battle!`,
+ 1: "能留到最后的训练家想必肯定是很强的…$希望你会是能让我回忆起\n宝可梦对战乐趣的训练家!",
},
"victory": {
- 1: `You've got me beat…
- $Your desire and the noble way your Pokémon battled for you…
- $I even felt thrilled during our match. That was a very good battle.`,
+ 1: "我输了…$你的心意,宝可梦的不顾一切。$战斗的时候就让我热血沸腾。",
},
"defeat": {
- 1: `It was not shocking at all…
- $That is not what I wanted!`,
- }
+ 1: "完全没感觉…$和我希望的完全不一样!",
+ },
},
"burgh": {
"encounter": {
- 1: `M'hm… If I win this battle, I feel like I can draw a picture unlike any before it.
- $OK! I can hear my battle muse loud and clear. Let's get straight to it!`,
- 2: `Of course, I'm really proud of all of my Pokémon!
- $Well now… Let's get right to it!`
+ 1: "唔…我有预感,\n只要赢了这场战斗就能画出更好的画来…$嗯!战斗充满了幻象!那么,马上开始吧。",
+ 2: "当然,我对我所有的宝可梦都相当骄傲! $现在…让我们马上开始吧!",
},
"victory": {
- 1: "Is it over? Has my muse abandoned me?",
- 2: "Hmm… It's over! You're incredible!"
+ 1: "结束了吗?我的女神抛弃我了吗?",
+ 2: "啊唔,输了……你还真是很强啊。",
},
"defeat": {
- 1: "Wow… It's beautiful somehow, isn't it…",
- 2: `Sometimes I hear people say something was an ugly win.
- $I think if you're trying your best, any win is beautiful.`
- }
+ 1: "唔啊……好……好美啊!",
+ 2: "偶尔也有一些不是很好看的胜利,$但只要努力了,\n不管怎么样的战斗,都是很美丽的。",
+ },
},
"elesa": {
"encounter": {
- 1: `C'est fini! When I'm certain of that, I feel an electric jolt run through my body!
- $I want to feel the sensation, so now my beloved Pokémon are going to make your head spin!`,
+ 1: "最后一击!\n在确信这一点的时候全身会流淌过电流!$为追求这个快感,\n我要用可爱的宝可梦们让你头晕眼花。",
},
"victory": {
- 1: "I meant to make your head spin, but you shocked me instead."
+ 1: "本想让你头晕的,\n结果我倒反被你电到了。",
},
"defeat": {
- 1: "That was unsatisfying somehow… Will you give it your all next time?"
- }
+ 1: "感觉还不够啊……下次能使出全力来吗?",
+ },
},
"skyla": {
"encounter": {
- 1: `It's finally time for a showdown! That means the Pokémon battle that decides who's at the top, right?
- $I love being on the summit! 'Cause you can see forever and ever from high places!
- $So, how about you and I have some fun?`,
+ 1: "终于到决战了!\n这是决定顶点的宝可梦对战吧?$我最喜欢顶点了!\n在高的地方能看到很远很远!$好了!就让我和你好好地玩一场吧!",
},
"victory": {
- 1: "Being your opponent in battle is a new source of strength to me. Thank you!"
+ 1: "和你的战斗让我更强了……谢谢。",
},
"defeat": {
- 1: "Win or lose, you always gain something from a battle, right?"
- }
+ 1: "不管是赢了还是输了,战斗都能得到一些东西。",
+ },
},
"brycen": {
"encounter": {
- 1: `There is also strength in being with other people and Pokémon.
- $Receiving their support makes you stronger. I'll show you this power!`,
+ 1: "有其他的人和宝可梦在一起,$这份支持会让自己更强…\n让我来给你展示一下这样的强大吧!",
},
"victory": {
- 1: "The wonderful combination of you and your Pokémon! What a beautiful friendship!"
+ 1: "你和你的宝可梦!配合得天衣无缝!\n华丽的友情!",
},
"defeat": {
- 1: "Extreme conditions really test you and train you!"
- }
+ 1: "尝试极限!锻炼!",
+ },
},
"drayden": {
"encounter": {
- 1: `What I want to find is a young Trainer who can show me a bright future.
- $Let's battle with everything we have: your skill, my experience, and the love we've raised our Pokémon with!`,
+ 1: "现在我寻求的是\n能让我看到光明未来的年轻训练家。$你有多少实力,就让我用我的经验,\n我对宝可梦倾注的爱来验证吧!",
},
"victory": {
- 1: "This intense feeling that floods me after a defeat… I don't know how to describe it."
+ 1: "失败后涌现的这灼热的意志…\n该怎么说呢…",
},
"defeat": {
- 1: "Harrumph! I know your ability is greater than that!"
- }
+ 1: "啊啊啊!你的实力就这种程度吗!",
+ },
},
"grant": {
"encounter": {
- 1: `There is only one thing I wish for.
- $That by surpassing one another, we find a way to even greater heights.`,
+ 1: "我只期待一件事。. $通过超越彼此,\n我们找到通往更高境界的道路。",
},
"victory": {
- 1: "You are a wall that I am unable to surmount!"
+ 1: "你是一堵我无法逾越的墙!",
},
"defeat": {
- 1: `Do not give up.
- $That is all there really is to it.
- $The most important lessons in life are simple.`,
+ 1: "不要放弃。\n这就是人生的真谛。$大道至简。",
}
},
"korrina": {
"encounter": {
- 1: "Time for Lady Korrina's big appearance!"
+ 1: "小女子科尔尼来大显身手啦!",
},
"victory": {
- 1: "It's your very being that allows your Pokémon to evolve!"
+ 1: "正因为有你,\n才能让你的宝可梦进化!",
},
"defeat": {
- 1: "What an explosive battle!"
- }
+ 1: "好劲爆的战斗呀!",
+ },
},
"clemont": {
"encounter": {
- 1: "Oh! I'm glad that we got to meet!"
+ 1: "哦!我很高兴我们能见面!",
},
"victory": {
- 1: "Your passion for battle inspires me!"
+ 1: "你对战斗的热情激励了我!",
},
"defeat": {
- 1: "Looks like my Trainer-Grow-Stronger Machine, Mach 2 is really working!"
+ 1: "看来我的训练师成长强化机-马克2号,\n真的起作用了!",
}
},
"valerie": {
"encounter": {
- 1: `Oh, if it isn't a young Trainer… It is lovely to get to meet you like this.
- $Then I suppose you have earned yourself the right to a battle, as a reward for your efforts.
- $The elusive Fairy may appear frail as the breeze and delicate as a bloom, but it is strong.`,
+ 1: "哦,这不是一个年轻的训练师吗……\n能这样遇见你真是太好了。 $我想你已经获得了这场战斗的资格,\n作为对你努力的奖励。 $难以捉摸的妖精可能看起来像微风一样脆弱,\n像花朵一样精致,但很坚强。",
},
"victory": {
- 1: "I hope that you will find things worth smiling about tomorrow…"
+ 1: "我希望明天你也能找到一些值得会心微笑的事物……",
},
"defeat": {
- 1: "Oh goodness, what a pity…"
- }
+ 1: "哦,天哪,这太遗憾了……",
+ },
},
"wulfric": {
"encounter": {
- 1: `You know what? We all talk big about what you learn from battling and bonds and all that…
- $But really, I just do it 'cause it's fun.
- $Who cares about the grandstanding? Let's get to battling!`,
+ 1: "你知道吗?\n我们都说战斗能学到东西,羁绊之类的,$但实际上,我这么做只是因为有趣。 $谁在乎那些华而不实的东西?\n我们来战斗吧!",
},
"victory": {
- 1: "Outstanding! I'm tough as an iceberg, but you smashed me through and through!"
+ 1: "杰出!我像冰山一样坚硬,但你彻底击溃了我!",
},
"defeat": {
- 1: "Tussle with me and this is what happens!"
- }
+ 1: "和我干的结果就是这样!",
+ },
},
"kabu": {
"encounter": {
- 1: `Every Trainer and Pokémon trains hard in pursuit of victory.
- $But that means your opponent is also working hard to win.
- $In the end, the match is decided by which side is able to unleash their true potential.`,
+ 1: "每个训练师和宝可梦都在努力追求胜利。$但这意味着你的对手也在努力赢得胜利。$最终,比赛是由哪一方\n能够发挥出他们真正的潜力来决定的。",
},
"victory": {
- 1: "I'm glad I could battle you today!"
+ 1: "我很高兴今天能和你战斗!",
},
"defeat": {
- 1: "That's a great way for me to feel my own growth!"
- }
+ 1: "这是我感觉自己的成长的好方式!",
+ },
},
"bea": {
"encounter": {
- 1: `Do you have an unshakable spirit that won't be moved, no matter how you are attacked?
- $I think I'll just test that out, shall I?`,
+ 1: "你有没有一种不可动摇的精神,\n受到什么攻击都安如磐石? $就让我来试试吧?",
},
"victory": {
- 1: "I felt the fighting spirit of your Pokémon as you led them in battle."
+ 1: "我感受到了你的宝可梦\n在战斗中被你指挥时的战斗之魂。",
},
"defeat": {
- 1: "That was the best sort of match anyone could ever hope for."
+ 1: "每个人都希望能有一场这样的好比赛。",
}
},
"opal": {
"encounter": {
- 1: "Let me have a look at how you and your partner Pokémon behave!"
+ 1: "让我看看你和你的宝可梦的表现如何!",
},
"victory": {
- 1: "Your pink is still lacking, but you're an excellent Trainer with excellent Pokémon."
+ 1: "你不够粉嫩呀,\n但你是一个优秀的训练师,$还拥有着优秀的宝可梦。",
},
"defeat": {
- 1: "Too bad for you, I guess."
- }
+ 1: "对你来说太惨了,我觉得。",
+ },
},
"bede": {
"encounter": {
- 1: "I suppose I should prove beyond doubt just how pathetic you are and how strong I am."
+ 1: "就让我来证明你有多可怜,我有多强大。",
},
"victory": {
- 1: "I see… Well, that's fine. I wasn't really trying all that hard anyway."
+ 1: "我懂了……好吧。其实我还没拿出全力呢。",
},
"defeat": {
- 1: "Not a bad job, I suppose."
- }
+ 1: "我觉得我打的不错。",
+ },
},
"gordie": {
"encounter": {
- 1: "So, let's get this over with."
+ 1: "好了,我们来做个了结吧!",
},
"victory": {
- 1: "I just want to climb into a hole… Well, I guess it'd be more like falling from here."
+ 1: "我只想要挖一个洞爬进去……$好吧,现在更像是掉了进去。",
},
"defeat": {
- 1: "Battle like you always do, victory will follow!"
+ 1: "像往常一样战斗,胜利就会随之而来!",
}
},
"marnie": {
"encounter": {
- 1: `The truth is, when all's said and done… I really just wanna become Champion for myself!
- $So don't take it personal when I kick your butt!`,
+ 1: "事实上,言而总之… \n人家自己也想当冠军呀! $所以别认为我在针对你!",
},
"victory": {
- 1: "OK, so I lost… But I got to see a lot of the good points of you and your Pokémon!"
+ 1: "好吧,我还是输了……\n但是我看到了很多你和你宝可梦的优点哦",
},
"defeat": {
- 1: "Hope you enjoyed our battle tactics."
- }
+ 1: "希望你喜欢我们的战斗策略。",
+ },
},
"raihan": {
"encounter": {
- 1: "I'm going to defeat the Champion, win the whole tournament, and prove to the world just how strong the great Raihan really is!"
+ 1: "我打算击败冠军,赢得锦标赛,\n并向世界证明奇巴纳大人有多强!",
},
"victory": {
- 1: `I look this good even when I lose.
- $It's a real curse.
- $Guess it's time for another selfie!`,
+ 1: "就算输了我也好帅。$真是罪孽深重啊。$看来得再来张自拍了!",
},
"defeat": {
- 1: "Let's take a selfie to remember this."
+ 1: "为了纪念此刻,来张自拍吧!",
}
},
"brassius": {
"encounter": {
- 1: "I assume you are ready? Let our collaborative work of art begin!"
+ 1: "你应该准备好了吧,\一起完成这美丽的艺术作品吧!",
},
"victory": {
- 1: "Ahhh…vant-garde!"
+ 1: "啊……前卫!",
},
"defeat": {
- 1: "I will begin on a new piece at once!"
+ 1: "我将立即开始新的创作!",
}
},
"iono": {
"encounter": {
- 1: `How're ya feelin' about this battle?
- $...
- $Let's get this show on the road! How strong is our challenger?
- $I 'unno! Let's find out together!`,
+ 1: "谁在奇述!是我奇树!\n做好准备了吗!$...$直播开始!\n今天的小挑战者有多强?$奇树不知道哦~\n让我们一起来看看吧!",
},
"victory": {
- 1: "You're as flashy and bright as a 10,000,000-volt Thunderbolt, friendo!"
+ 1: "你的闪耀如1000万伏特!朋友!",
},
"defeat": {
- 1: "Your eyeballs are MINE!"
+ 1: "奇树奇树捕获你的眼球!",
}
},
"larry": {
"encounter": {
- 1: "When all's said and done, simplicity is strongest."
+ 1: "归根结底,普普通通就是最强。",
},
"victory": {
- 1: "A serving of defeat, huh?"
+ 1: "哼,给我上了一道“战败”。",
},
"defeat": {
- 1: "I'll call it a day."
- }
+ 1: "下班打卡,走了",
+ },
},
"ryme": {
"encounter": {
- 1: "Come on, baby! Rattle me down to the bone!"
+ 1: "宝贝, 一起! \n摇滚摇到骨子里!",
},
"victory": {
- 1: "You're cool, my friend—you move my SOUL!"
+ 1: "你好酷!我佩服!\n我的灵魂为你哭!",
},
"defeat": {
- 1: "Later, baby!"
- }
+ 1: "再会, 宝贝!",
+ },
},
"grusha": {
"encounter": {
- 1: "All I need to do is make sure the power of my Pokémon chills you to the bone!"
+ 1: "我保证我宝可梦的力量\n会让你感到寒冷彻骨!",
},
"victory": {
- 1: "Your burning passion… I kinda like it, to be honest."
+ 1: "你燃烧的热情……老实说,我有点喜欢。",
},
"defeat": {
- 1: "Things didn't heat up for you."
- }
+ 1: "你没有升温。",
+ },
},
"marnie_elite": {
"encounter": {
- 1: "You've made it this far, huh? Let's see if you can handle my Pokémon!",
- 2: "I'll give it my best shot, but don't think I'll go easy on you!"
+ 1: "你已经走到这一步了?$哼~ 看看你能不能对付我的宝可梦!",
+ 2: "我将全力以赴, 别觉得我会手下留情哦~",
},
"victory": {
- 1: "I can't believe I lost... But you deserved that win. Well done!",
- 2: "Looks like I've still got a lot to learn. Great battle, though!"
+ 1: "不敢相信…我输掉了… $但是你确实赢得好,干得漂亮捏~",
+ 2: "看来我还要多多学习呀,\n不过你打的很不错哦~",
},
"defeat": {
- 1: "You put up a good fight, but I've got the edge! Better luck next time!",
- 2: "Seems like my training's paid off. Thanks for the battle!"
- }
+ 1: "你打得不错,但是我更胜一筹!$祝你下次好运啦~",
+ 2: "看来我的练习有所回报了。\n感谢一战!",
+ },
},
"nessa_elite": {
"encounter": {
- 1: "The tides are turning in my favor. Ready to get swept away?",
- 2: "Let's make some waves with this battle! I hope you're prepared!"
+ 1: "海流正在朝着对我有利的方向转变。$准备好被卷走了吗?",
+ 2: "让我们在这场战斗中掀起波澜!$我希望你做好准备!",
},
"victory": {
- 1: "You navigated those waters perfectly... Well done!",
- 2: "Looks like my currents were no match for you. Great job!"
+ 1: "你完美地渡过了这片水域......干得好!",
+ 2: "看来我现在无法与你匹敌。干得好!",
},
"defeat": {
- 1: "Water always finds a way. That was a refreshing battle!",
- 2: "You fought well, but the ocean's power is unstoppable!"
- }
+ 1: "水总能找到出路。\n真是爽快的一战!",
+ 2: "你打得很好,\n但海洋的力量是不可阻挡的!",
+ },
},
"bea_elite": {
"encounter": {
- 1: "Prepare yourself! My fighting spirit burns bright!",
- 2: "Let's see if you can keep up with my relentless pace!"
+ 1: "做好准备!我的斗志熊熊燃烧!",
+ 2: "让我们看看你是否能跟上我永不停歇的节奏!",
},
"victory": {
- 1: "Your strength... It's impressive. You truly deserve this win.",
- 2: "I've never felt this intensity before. Amazing job!"
+ 1: "你的实力......令人印象深刻。\n你真的值得这场胜利。",
+ 2: "我以前从未感受过这种强度。\n太棒了!",
},
"defeat": {
- 1: "Another victory for my intense training regimen! Well done!",
- 2: "You've got strength, but I trained harder. Great battle!"
- }
+ 1: "我的高强度训练又带来胜利了!\n干得好!",
+ 2: "你有实力,但我的训练更努力。\n精彩的战斗!",
+ },
},
"allister_elite": {
"encounter": {
- 1: "Shadows fall... Are you ready to face your fears?",
- 2: "Let's see if you can handle the darkness that I command."
+ 1: "黑暗降临...你准备好面对你的恐惧了吗?",
+ 2: "让我们看看你能否应对我所操控的黑暗。",
},
"victory": {
- 1: "You've dispelled the shadows... For now. Well done.",
- 2: "Your light pierced through my darkness. Great job."
+ 1: "你已经驱散了阴影......\n暂时。干得很好。",
+ 2: "你的光芒刺穿了我的黑暗。干得好。",
},
"defeat": {
- 1: "The shadows have spoken... Your strength isn't enough.",
- 2: "Darkness triumphs... Maybe next time you'll see the light."
- }
+ 1: "黑影在轻语...\n你的力量还不够。",
+ 2: "黑暗获胜了......\n也许下次你会看到光明。",
+ },
},
"raihan_elite": {
"encounter": {
- 1: "Storm's brewing! Let's see if you can weather this fight!",
- 2: "Get ready to face the eye of the storm!"
+ 1: "虽然没法打败丹帝夺冠,\n让我觉得很遗憾……$但是有你这家伙当对手,\b倒是也还不赖啊!",
+ 2: "准备好面对龙之风暴!",
},
"victory": {
- 1: "You've bested the storm... Incredible job!",
- 2: "You rode the winds perfectly... Great battle!"
+ 1: "你的气势就像暴风一样,\n连我都甘拜下风了!",
+ 2: "你完美地驾驭了我的风暴……打得好!",
},
"defeat": {
- 1: "Another storm weathered, another victory claimed! Well fought!",
- 2: "You got caught in my storm! Better luck next time!"
+ 1: "又一场龙之风暴袭来,又一场胜利!打得好!",
+ 2: "你被我的龙之风暴卷入了!祝你下次好运!",
+ }
+ },
+ "alder": {
+ "encounter": {
+ 1: "准备好和合众最强的训练家交手吧!"
+ },
+ "victory": {
+ 1: "精彩!简直就是天下无双!"
+ },
+ "defeat": {
+ 1: `战斗结束后,我的心像是吹过了温和的风……
+ $真是厉害!`
+ }
+ },
+ "kieran": {
+ "encounter": {
+ 1: `我的努力让我越来越强!
+ $所以我不会输。`
+ },
+ "victory": {
+ 1: `不可能……
+ $真是一场有趣又激动人心的战斗啊!`
+ },
+ "defeat": {
+ 1: `哇塞,好一场战斗!
+ $你得多练练了。`
}
},
"rival": {
"encounter": {
- 1: `@c{smile}Hey, I was looking for you! I knew you were eager to get going but I expected at least a goodbye…
- $@c{smile_eclosed}So you're really pursuing your dream after all?\n I almost can't believe it.
- $@c{serious_smile_fists}Since we're here, how about a battle?\nAfter all, I want to make sure you're ready.
- $@c{serious_mopen_fists}Don't hold back, I want you to give me everything you've got!`
+ 1: "@c{smile}嘿,我在找你呢!我知道你急着上路,\n但至少说个再见吧…$@c{smile_eclosed}所以你终于要开始追逐梦想了?\n我几乎不敢相信。$@c{serious_smile_fists}来都来了,来一场对战怎么样?\n毕竟,我想看看你是不是准备周全了。$@c{serious_mopen_fists}不要手下留情,我想让你全力以赴!",
},
"victory": {
- 1: `@c{shock}Wow… You cleaned me out.\nAre you actually a beginner?
- $@c{smile}Maybe it was a bit of luck but…\nWho knows you might just be able to go all the way.
- $By the way, the professor asked me to give you these items. They look pretty cool.
- $@c{serious_smile_fists}Good luck out there!`
+ 1: "@c{shock}哇…你彻底击败了我。\n你是真初学者吗?$@c{smile}也许是靠点运气,但是…\n谁知道,你可能真的能一路走下去。$顺便说一下,博士让我给你这些东西。它们看起来可牛了。$@c{serious_smile_fists}祝你好运!",
},
},
"rival_female": {
"encounter": {
- 1: `@c{smile_wave}There you are! I've been looking everywhere for you!\n@c{angry_mopen}Did you forget to say goodbye to your best friend?
- $@c{smile_ehalf}You're going after your dream, huh?\nThat day is really today isn't it…
- $@c{smile}Anyway, I'll forgive you for forgetting me, but on one condition. @c{smile_wave_wink}You have to battle me!
- $@c{angry_mopen}Give it your all! Wouldn't want your adventure to be over before it started, right?`
+ 1: "@c{smile_wave}你在这儿啊!我到处找你呢!$@c{angry_mopen}你忘了和你最好的朋友说再见了吗?$@c{smile_ehalf}你要去追逐梦想了,对吧?\n从今天开始,是不是…$@c{smile}不管怎样,忘了我的事就原谅你吧,\n但有个条件。@c{smile_wave_wink}你必须和我对战!$@c{angry_mopen}全力以赴!\n你也不想让你的冒险在开始之前就结束了,对吧?",
},
"victory": {
- 1: `@c{shock}You just started and you're already this strong?!@d{96}\n@c{angry}You totally cheated, didn't you?
- $@c{smile_wave_wink}Just kidding!@d{64} @c{smile_eclosed}I lost fair and square… I have a feeling you're going to do really well out there.
- $@c{smile}By the way, the professor wanted me to give you some items. Hopefully they're helpful!
- $@c{smile_wave}Do your best like always! I believe in you!`
+ 1: "@c{shock}你刚开始就已经这么强了?!@d{96}$@c{angry}你是不是开了?$@c{smile_wave_wink}只是开个玩笑啦!@d{64} @c{smile_eclosed}我输地心服口服了…\n我感觉你出去挺有天赋的。$@c{smile}顺便说一下,博士想让我给你一些东西。\n希望它们能帮上忙!$@c{smile_wave}像往常一样尽力而为!\n我相信你!",
},
},
"rival_2": {
"encounter": {
- 1: `@c{smile}Hey, you're here too?\n@c{smile_eclosed}Still a perfect record, huh…?
- $@c{serious_mopen_fists}I know it kind of looks like I followed you here, but that's mostly not true.
- $@c{serious_smile_fists}Honestly though, I've been itching for a rematch since you beat me back at home.
- $I've been doing a lot of my own training so I'll definitely put up a fight this time.
- $@c{serious_mopen_fists}Don't hold back, just like before!\nLet's go!`
+ 1: "@c{smile}嘿,你也在这里吗?$@c{smile_eclosed}一路过关斩将,是吧?$@c{serious_mopen_fists}我知道看起来好像我尾随着你来到这里,\n怎么可能啦。$@c{serious_smile_fists}说真的,自从你在老家打败我后,\n我就一直很渴望再比一场。$我自己也进行了很多训练,\n所以这次我肯定会好好打一场。$@c{serious_mopen_fists}不要手下留情,就像以前一样!$让我们开始吧!",
},
"victory": {
- 1: `@c{neutral_eclosed}Oh. I guess I was overconfident.
- $@c{smile}That's alright, though. I figured this might happen.\n@c{serious_mopen_fists}It just means I need to try harder for next time!\n
- $@c{smile}Oh, not that you really need the help, but I had an extra one of these lying around and figured you might want it.\n
- $@c{serious_smile_fists}Don't expect another one after this, though!\nI can't keep giving my opponent an advantage after all.
- $@c{smile}Anyway, take care!`
+ 1: "@c{neutral_eclosed}哦。我过于自信了。$@c{smile}不过没关系。我猜到可能会这样。$@c{serious_mopen_fists}这只意味着我下次需要更努力!$$@c{smile}呃,不是特意帮你,我正好有多余的这个,\n我觉得你可能想要。$$@c{serious_smile_fists}不过这次之后别指望再有了!$我不能一直给我的对手优势。$@c{smile}反正,保重!",
},
},
"rival_2_female": {
"encounter": {
- 1: `@c{smile_wave}Oh, fancy meeting you here. Looks like you're still undefeated. @c{angry_mopen}Huh… Not bad!
- $@c{angry_mopen}I know what you're thinking, and no, I wasn't creeping on you. @c{smile_eclosed}I just happened to be in the area.
- $@c{smile_ehalf}I'm happy for you but I just want to let you know that it's OK to lose sometimes.
- $@c{smile}We learn from our mistakes, often more than we would if we kept succeeding.
- $@c{angry_mopen}In any case, I've been training hard for our rematch, so you'd better give it your all!`
+ 1: "@c{smile_wave}哦,真巧,在这里遇见你。\n看来你还没输过嘛。@c{angry_mopen}哈……好家伙!$@c{angry_mopen}我知道你在想什么,\n不,我才不会跟踪你什么呢。 @c{smile_eclosed}我只是碰巧在附近。$@c{smile_ehalf}我为你感到高兴,但我只想让你知道\n有时输了是可以接受的。$@c{smile}我们从错误中学到的东西\n往往比我们一直成功时学到的还要多。$@c{angry_mopen}无论如何,我为了我们的复赛已经努力训练了\n所以你最好全力以赴!",
},
"victory": {
- 1: `@c{neutral}I… wasn't supposed to lose that time…
- $@c{smile}Aw well. That just means I'll have to train even harder for next time!
- $@c{smile_wave}I also got you another one of these!\n@c{smile_wave_wink}No need to thank me~.
- $@c{angry_mopen}This is the last one, though! You won't be getting anymore freebies from me after this!
- $@c{smile_wave}Keep at it!`
+ 1: "@c{neutral}我……没打算会输来着……$@c{smile}嗷……好吧。看来我要再更加努力训练了!$@c{smile_wave}我还给你带了个这个$@c{smile_wave_wink}不用谢我哦~.$@c{angry_mopen}不过,这是最后一个啦!\n你可别想再从我这赚小便宜了~$@c{smile_wave}要保重哦!",
},
"defeat": {
- 1: "It's OK to lose sometimes…"
+ 1: "输了有时候也不要紧的…",
}
},
"rival_3": {
"encounter": {
- 1: `@c{smile}Hey, look who it is! It's been a while.\n@c{neutral}You're… still undefeated? Huh.
- $@c{neutral_eclosed}Things have been kind of… strange.\nIt's not the same back home without you.
- $@c{serious}I know it's selfish, but I need to get this off my chest.\n@c{neutral_eclosed}I think you're in over your head here.
- $@c{serious}Never losing once is just unrealistic.\nWe need to lose sometimes in order to grow.
- $@c{neutral_eclosed}You've had a great run but there's still so much ahead, and it only gets harder. @c{neutral}Are you prepared for that?
- $@c{serious_mopen_fists}If so, prove it to me.`
+ 1: "@c{smile}嘿,看看这是谁!好久不见啊。$@c{neutral}你……还是没输过?哈…$@c{neutral_eclosed}这有点……不太对劲。$没有你一起,回家的感觉有很不一样。$@c{serious}虽然我知道这挺别扭的,但我就直说了。$@c{neutral_eclosed}我觉得你有点儿难以理喻。$@c{serious}没有人能够战无不胜。$失败乃成功之母。$@c{neutral_eclosed}你已经赢得了够好的成绩,\n但前面道阻且长,只会愈发艰难。 @c{neutral}你做好准备了没?$@c{serious_mopen_fists}如果做好了,证明给我看吧。",
},
"victory": {
- 1: "@c{angry_mhalf}This is ridiculous… I've hardly stopped training…\nHow are we still so far apart?"
+ 1: "@c{angry_mhalf}这太离谱了……我几乎从没停下训练……$我们之间的差距怎么还是这么大?",
},
},
"rival_3_female": {
"encounter": {
- 1: `@c{smile_wave}Long time no see! Still haven't lost, huh.\n@c{angry}You're starting to get on my nerves. @c{smile_wave_wink}Just kidding!
- $@c{smile_ehalf}But really, don't you miss home by now? Or… me?\nI… I mean, we've really missed you.
- $@c{smile_eclosed}I support you in your dream and everything, but the reality is you're going to lose sooner or later.
- $@c{smile}And when you do, I'll be there for you like always.\n@c{angry_mopen}Now, let me show you how strong I've become!`
+ 1: "@c{smile_wave}好久不见!还没输过,对吧。$@c{angry}我觉得你点烦了。@c{smile_wave_wink}开玩笑啦!$@c{smile_ehalf}但说真的,你现在不想家吗?\n不想…我吗?$我……我的意思是,我们真的很想你。$@c{smile_eclosed}我支持你的一切,包括你的梦想。\n但现实就是你早晚会经历失败。$@c{smile}当你失败的时候,我想像往常一样陪在你身边。$@c{angry_mopen}现在,给你看看我变得多强了吧!",
},
"victory": {
- 1: "@c{shock}After all that… it wasn't enough…?\nYou'll never come back at this rate…"
-
+ 1: "@c{shock}都这样了……还是不够吗?$这样下去,你就永远不会回来了……",
},
"defeat": {
- 1: "You gave it your best, now let's go home."
- }
+ 1: "你尽力了,现在让我们回家吧。",
+ },
},
"rival_4": {
"encounter": {
- 1: `@c{neutral}Hey.
- $I won't mince words or pleasantries with you.\n@c{neutral_eclosed}I'm here to win, plain and simple.
- $@c{serious_mhalf_fists}I've learned to maximize my potential by putting all my time into training.
- $@c{smile}You get a lot of extra time when you cut out the unnecessary sleep and social interaction.
- $@c{serious_mopen_fists}None of that matters anymore, not until I win.
- $@c{neutral_eclosed}I've even reached the point where I don't lose anymore.\n@c{smile_eclosed}I suppose your philosophy wasn't so wrong after all.
- $@c{angry_mhalf}Losing is for the weak, and I'm not weak anymore.
- $@c{serious_mopen_fists}Prepare yourself.`
+ 1: "@c{neutral}嘿。$我不会对你说什么拐弯抹角的客套话。$@c{neutral_eclosed}我来,就是为了赢,简单明了。$@c{serious_mhalf_fists}我将所有时间都投入到训练中,\n掌握了如何发挥我的潜力。$@c{smile}当你削减掉不必要的睡眠和社交后,\n你会得到很多额外的时间。$@c{serious_mopen_fists}但在我获胜之前,这些都不重要了。$@c{neutral_eclosed}我甚至已经到达了战无不败的境地。$@c{smile_eclosed}我觉得你的思路倒是也没毛病。$@c{angry_mhalf}失败是属于弱者的,\n我已经不再软弱了。$@c{serious_mopen_fists}准备好吧。",
},
"victory": {
- 1: "@c{neutral}What…@d{64} What are you?"
+ 1: "@c{neutral}你…@d{64} 你是人吗?",
},
},
"rival_4_female": {
"encounter": {
- 1: `@c{neutral}It's me! You didn't forget about me again… did you?
- $@c{smile}You should be proud of how far you made it. Congrats!\nBut it looks like it's the end of your journey.
- $@c{smile_eclosed}You've awoken something in me I never knew was there.\nIt seems like all I do now is train.
- $@c{smile_ehalf}I hardly even eat or sleep now, I just train my Pokémon all day, getting stronger every time.
- $@c{neutral}In fact, I… hardly recognize myself.
- $And now, I've finally reached peak performance.\nI don't think anyone could beat me now.
- $And you know what? It's all because of you.\n@c{smile_ehalf}I don't know whether to thank you or hate you.
- $@c{angry_mopen}Prepare yourself.`
+ 1: "@c{neutral}是我哦!没又把我忘了吧……是吗?$@c{smile}你应该为自己走了这么远感到骄傲。恭喜你!$但看来你的旅程到此为止了。$@c{smile_eclosed}你唤醒了我体内一些我从未有过的东西。\n就像我现在满脑子除了训练还是训练。$@c{smile_ehalf}我几乎已经没空吃饭睡觉了,\n我没日没夜训练我的宝可梦,每次都能变得更强。$@c{neutral}事实上,我……几乎不认识自己了。$现在,我终于达到了巅峰。\n我感觉我已经战无不胜了。$而且你知道吗?这一切都是因为你。$@c{smile_ehalf}我不知道到底是该感谢你还是恨你。$@c{angry_mopen}做好准备…",
},
"victory": {
- 1: "@c{neutral}What…@d{64} What are you?"
-
+ 1: "@c{neutral}你…@d{64} 你是人吗?",
},
"defeat": {
- 1: "$@c{smile}You should be proud of how far you made it."
+ 1: "@c{smile}你应该为自己走了这么远感到骄傲。",
}
},
"rival_5": {
@@ -2242,46 +2308,18 @@ export const PGMdialogue: DialogueTranslationEntries = {
},
"rival_6": {
"encounter": {
- 1: `@c{smile_eclosed}We meet again.
- $@c{neutral}I've had some time to reflect on all this.\nThere's a reason this all seems so strange.
- $@c{neutral_eclosed}Your dream, my drive to beat you…\nIt's all a part of something greater.
- $@c{serious}This isn't about me, or about you… This is about the world, @c{serious_mhalf_fists}and it's my purpose to push you to your limits.
- $@c{neutral_eclosed}Whether I've fulfilled that purpose I can't say, but I've done everything in my power.
- $@c{neutral}This place we ended up in is terrifying… Yet somehow I feel unphased, like I've been here before.
- $@c{serious_mhalf_fists}You feel the same, don't you?
- $@c{serious}…and it's like something here is speaking to me.\nThis is all the world's known for a long time now.
- $Those times we cherished together that seem so recent are nothing but a distant memory.
- $@c{neutral_eclosed}Who can say whether they were ever even real in the first place.
- $@c{serious_mopen_fists}You need to keep pushing, because if you don't, it will never end. You're the only one who can do this.
- $@c{serious_smile_fists}I hardly know what any of this means, I just know that it's true.
- $@c{serious_mopen_fists}If you can't defeat me here and now, you won't stand a chance.`
+ 1: "@c{smile_eclosed}又见面了。$@c{neutral}我花了点时间思考反思\n有理由说明为什么这一切都显得如此奇妙。$@c{neutral_eclosed}你所追逐的梦想,我想击败你的决心…$这都是某种庞大使命的一部分。$@c{serious}这不仅仅是关于我和你… 而是关于这个世界, @c{serious_mhalf_fists}我的使命就是将你推向极限。$@c{neutral_eclosed}我是否达成了那个使命,我说不上来,但我已尽我所能。$@c{neutral}我们最终到达的这个地方看起来很可怕\n 然而不知何故,我心中毫无畏惧,好像我早就来过这里。$@c{serious_mhalf_fists}你也有同样的感觉,对吧?$@c{serious}……这里好像有什么东西在呼唤我。\n这是世界早已记录的一切。$那些我们经历过的时光,那些记忆犹新的过去,\n其实只是遥远的回忆。$@c{neutral_eclosed}谁能保证它们是否真的发生过。$@c{serious_mopen_fists}你必须继续前进,不然的话,这一切将永无止境。\n这件事而只有你能办成。$@c{serious_smile_fists}我不清楚这一切意味着什么,但我知道……$@c{serious_mopen_fists}如果现在你不能就此击败我,\n你将毫无机会可言。",
},
"victory": {
- 1: `@c{smile_eclosed}It looks like my work is done here.
- $I want you to promise me one thing.\n@c{smile}After you heal the world, please come home.`
+ 1: "@c{smile_eclosed}看来我的使命在这里已经完成了。\n我想让你答应我一件事。$@c{smile}在你拯救世界之后,要回家。",
},
},
"rival_6_female": {
"encounter": {
- 1: `@c{smile_ehalf}So it's just us again.
- $@c{smile_eclosed}You know, I keep going around and around in my head…
- $@c{smile_ehalf}There's something to all this, why everything seems so strange now…
- $@c{smile}You have your dream, and I have this ambition in me…
- $I just can't help but feel there's a greater purpose to all this, to what we're doing, you and I.
- $@c{smile_eclosed}I think I'm supposed to push you… to your limits.
- $@c{smile_ehalf}I'm not sure if I've been doing a good job at that, but I've tried my best up to now.
- $It's something about this strange and dreadful place… Everything seems so clear…
- $This… is all the world's known for a long time now.
- $@c{smile_eclosed}It's like I can barely remember the memories we cherished together.
- $@c{smile_ehalf}Were they even real? They seem so far away now…
- $@c{angry_mopen}You need to keep pushing, because if you don't, it will never end. You're the only one who can do this.
- $@c{smile_ehalf}I… don't know what all this means… but I feel it's true.
- $@c{neutral}If you can't defeat me here and now, you won't stand a chance.`
+ 1: "@c{smile_ehalf}又只有我们两个人了。$@c{smile_eclosed}你知道吗,我在心里想啊想,\n想了好久……$@c{smile_ehalf}这一切背后是有什么原因吗,\n为什么一切现在看起来都这么奇怪……$@c{smile}你有你的梦想,而我内心有这个抱负……$我不禁感觉这一切背后有一个更庞大的力量,$掌控者我们所做的一切,你和我之间。$@c{smile_eclosed}我想我注定要推动你……到你的极限。$@c{smile_ehalf}我不清楚我是否一直做得很好,\n但到现在为止,我已经尽力了。$这个奇怪而可怕的地方……\n一切看起来都那么清晰……$这是世界早已记录的一切。$@c{smile_eclosed}我好像记不清我们一起度过的日子了。$@c{smile_ehalf}那些回忆到底是真的吗?\n怎么感觉这么久远……$@c{angry_mopen}你得继续前进,不然的话,这一切将永无止境。\n你是唯一能做到这件事的。$@c{smile_ehalf}我……不知道这一切意味着什么……\n但我明白$@c{neutral}如果你现在不能就此击败我,\n你将毫无机会可言。",
},
"victory": {
- 1: `@c{smile_ehalf}I… I think I fulfilled my purpose…
- $@c{smile_eclosed}Promise me… After you heal the world… Please… come home safe.
- $@c{smile_ehalf}…Thank you.`
+ 1: "@c{smile_ehalf}我……\n我想我完成了我的使命……$@c{smile_eclosed}答应我……在你拯救世界之后\n……要……平安到家。$@c{smile_ehalf}……谢谢你。",
},
},
@@ -2293,17 +2331,17 @@ export const PGFdialogue: DialogueTranslationEntries = PGMdialogue;
// Dialogue of the endboss of the game when the player character is male (Or unset)
export const PGMbattleSpecDialogue: SimpleTranslationEntries = {
- "encounter": `It appears the time has finally come once again.\nYou know why you have come here, do you not?
- $You were drawn here, because you have been here before.\nCountless times.
- $Though, perhaps it can be counted.\nTo be precise, this is in fact your 5,643,853rd cycle.
- $Each cycle your mind reverts to its former state.\nEven so, somehow, remnants of your former selves remain.
- $Until now you have yet to succeed, but I sense a different presence in you this time.\n
- $You are the only one here, though it is as if there is… another.
- $Will you finally prove a formidable challenge to me?\nThe challenge I have longed for for millennia?
- $We begin.`,
- "firstStageWin": `I see. The presence I felt was indeed real.\nIt appears I no longer need to hold back.
- $Do not disappoint me.`,
- "secondStageWin": "…Magnificent."
+ "encounter": `看来终于又到了那个时候。\n你知道自己为何会来到这里,不是吗?
+ $你被吸引到这里,因为你以前就来过这里。\n无数次。
+ $尽管,或许可以数一数。\n准确地说,这实际上是你的第5,643,853次循环。
+ $每一次循环,你的思想都会恢复到之前的状态。\n即便如此,不知何故,你之前自我的残留仍然存在。
+ $直到现在,你仍未成功,\n但我感觉这次你身上有一种异样的气息。
+ $你是这里唯一的人,尽管感觉上还有……另一个人。
+ $你最终会成为对我来的一个硬茬吗?\n我渴望了数千年的挑战?
+ $我们,开始。`,
+ "firstStageWin": `我明白了。我所感觉到的气息确实是真实的。\n看来我不再需要保留实力了。
+ $别让我失望。`,
+ "secondStageWin": "…漂亮。"
};
// Dialogue of the endboss of the game when the player character is female. For languages that do not have gendered pronouns, this can be set to PGMbattleSpecDialogue.
@@ -2312,21 +2350,21 @@ export const PGFbattleSpecDialogue: SimpleTranslationEntries = PGMbattleSpecDial
// Dialogue that does not fit into any other category (e.g. tutorial messages, or the end of the game). For when the player character is male
export const PGMmiscDialogue: SimpleTranslationEntries = {
"ending":
- `@c{smile}Oh? You won?@d{96} @c{smile_eclosed}I guess I should've known.\nBut, you're back now.
- $@c{smile}It's over.@d{64} You ended the loop.
- $@c{serious_smile_fists}You fulfilled your dream too, didn't you?\nYou didn't lose even once.
- $@c{neutral}I'm the only one who'll remember what you did.@d{96}\nI guess that's okay, isn't it?
- $@c{serious_smile_fists}Your legend will always live on in our hearts.
- $@c{smile_eclosed}Anyway, I've had about enough of this place, haven't you? Let's head home.
- $@c{serious_smile_fists}Maybe when we get back, we can have another battle?\nIf you're up to it.`,
+ `@c{smile}哦?你赢了?@d{96} @c{smile_eclosed}我应该早猜到了\n你回来了。
+ $@c{smile}结束了。@d{64} 你终结了这个循环。
+ $@c{serious_smile_fists}你也完成了自己的梦想,不是吗?\n你甚至一次都没失败。
+ $@c{neutral}我是唯一能够记得你所作所为的人@d{96}\n我觉得这应该也还行吧?
+ $@c{serious_smile_fists}你的传奇将永远留存于我们心中。
+ $@c{smile_eclosed}不管了,我真是受够这个地方了,你也一样吗?我们回家吧。
+ $@c{serious_smile_fists}可能等我们回家以后,再打一场?\n要是你想的话`,
"ending_female":
- `@c{shock}You're back?@d{32} Does that mean…@d{96} you won?!\n@c{smile_ehalf}I should have known you had it in you.
- $@c{smile_eclosed}Of course… I always had that feeling.\n@c{smile}It's over now, right? You ended the loop.
- $@c{smile_ehalf}You fulfilled your dream too, didn't you?\nYou didn't lose even once.
- $I'll be the only one to remember what you did.\n@c{angry_mopen}I'll try not to forget!
- $@c{smile_wave_wink}Just kidding!@d{64} @c{smile}I'd never forget.@d{32}\nYour legend will live on in our hearts.
- $@c{smile_wave}Anyway,@d{64} it's getting late…@d{96} I think?\nIt's hard to tell in this place.
- $Let's go home. @c{smile_wave_wink}Maybe tomorrow, we can have another battle, for old time's sake?`,
+ `@c{shock}你回来了?@d{32} 也就是说…@d{96} 你赢了呀!?\n@c{smile_ehalf}我应该早料到了。
+ $@c{smile_eclosed}当然…我一直有这种感觉\n@c{smile}一切都结束了,对么? 你打破了循环。
+ $@c{smile_ehalf}你也完成了自己的梦想,不是吗?\n你甚至一次都没失败。
+ $我是唯一能够记得你所作所为的人\n@c{angry_mopen}我会努力不忘掉哒!
+ $@c{smile_wave_wink}开玩笑啦,@d{64} @c{smile}我才不会忘呢。@d{32}\n你的传奇将永远留存于我们心中。
+ $@c{smile_wave}不管了,@d{64} 时候不早了@d{96} ,应该吧?\n在这地方还真搞不清楚。
+ $一起回家吧。 @c{smile_wave_wink}可能明天,我们再来打一场,为了重温回忆嘛~`,
};
// Dialogue that does not fit into any other category (e.g. tutorial messages, or the end of the game). For when the player character is female. For languages that do not have gendered pronouns, this can be set to PGMmiscDialogue.
export const PGFmiscDialogue: SimpleTranslationEntries = PGMmiscDialogue;
@@ -2336,113 +2374,82 @@ export const PGFmiscDialogue: SimpleTranslationEntries = PGMmiscDialogue;
export const PGMdoubleBattleDialogue: DialogueTranslationEntries = {
"blue_red_double": {
"encounter": {
- 1: `Blue: Hey Red, let's show them what we're made of!
- $Red: ...
- $Blue: This is Pallet Town Power!`,
+ 1: "青绿:嘿,赤红,\n让这家伙看看我们是什么来头!$赤红: ...$青绿: 见识下真新镇的实力!",
},
"victory": {
- 1: `Blue: That was a great battle!
- $Red: ...`,
+ 1: "青绿:打得真不错$赤红: ...",
},
},
"red_blue_double": {
"encounter": {
- 1: `Red: ...!
- $Blue: He never talks much.
- $Blue: But dont let that fool you! He is a champ after all!`,
+ 1: "赤红: ...!$青绿: 他人狠话不多。$青绿: 但别被他耍了,\n毕竟他可是个冠军!",
},
"victory": {
- 1: `Red: ...!
- $Blue: Next time we will beat you!`,
+ 1: "赤红: ...!$青绿: 下次我们一定会赢你!",
},
},
"tate_liza_double": {
"encounter": {
- 1: `Tate: Are you suprised?
- $Liza: We are two gym leaders at once!
- $Tate: We are twins!
- $Liza: We dont need to talk to understand each other!
- $Tate: Twice the power...
- $Liza: Can you handle it?`,
+ 1: "小枫:嘿嘿嘿……你惊讶吗?$小南: 这里有两个道馆馆主?$小枫: 我们是双胞胎!$小南: 我们无需交谈,因为……$我们可以通晓彼此的想法$小枫: 我们的组合……$小南: 你能打败吗?",
},
"victory": {
- 1: `Tate: What? Our combination was perfect!
- $Liza: Looks like we need to train more...`,
+ 1: "小枫:什么?我们的组合……$小南:被瓦解了!",
},
},
"liza_tate_double": {
"encounter": {
- 1: `Liza: Hihihi... Are you suprised?
- $Tate: Yes, we are really two gym leaders at once!
- $Liza: This is my twin brother Tate!
- $Tate: And this is my twin sister Liza!
- $Liza: Don't you think we are a perfect combination?`
+ 1: "小南:呵呵呵……你惊讶吧?$小枫:这里有两个道馆馆主?$小南:我们可以通晓……$小枫:彼此的想法……$小南:全在我们脑中!$小枫:我们的组合……$小南:你能打败吗?",
},
"victory": {
- 1: `Liza: Are we...
- $Tate: ...not as strong as we thought?`,
+ 1: "小枫:你和你的宝可梦……$小南:简直像亲兄弟姐妹!",
},
},
"wallace_steven_double": {
"encounter": {
- 1: `Steven: Wallace, let's show them the power of the champions!
- $Wallace: We will show you the power of Hoenn!
- $Steven: Let's go!`,
+ 1: "大吾:米可利, 展现冠军的实力吧!$米可利:我们将展示丰缘的实力!$大吾:要上了!",
},
"victory": {
- 1: `Steven: That was a great battle!
- $Wallace: We will win next time!`,
+ 1: "大吾:打得真不错!$米可利:我们下次会赢的!",
},
},
"steven_wallace_double": {
"encounter": {
- 1: `Steven: Do you have any rare pokémon?
- $Wallace: Steven... We are here for a battle, not to show off our pokémon.
- $Steven: Oh... I see... Let's go then!`,
+ 1: "大吾:你有什么稀有的宝可梦吗?$米可利:大吾……我们是来对战的,\n不是来炫耀宝可梦的。$大吾:哦……知道了… 那么要上了!",
},
"victory": {
- 1: `Steven: Now that we are done with the battle, let's show off our pokémon!
- $Wallace: Steven...`,
+ 1: "大吾:战斗结束了,\n来看看我的稀有宝可梦!$米可利:大吾……",
},
},
"alder_iris_double": {
"encounter": {
- 1: `Alder: We are the strongest trainers in Unova!
- $Iris: Fights against strong trainers are the best!`,
+ 1: "阿戴克:我们俩是合众最强的训练家!$艾莉丝:与最强来一场最激烈的战斗吧!",
},
"victory": {
- 1: `Alder: Wow! You are super strong!
- $Iris: We will win next time!`,
+ 1: "阿戴克:哇哦!你真是超级厉害!$艾莉丝:我们下次会赢的啦!",
},
},
"iris_alder_double": {
"encounter": {
- 1: `Iris: Welcome Challenger! I am THE Unova Champion!
- $Alder: Iris, aren't you a bit too excited?`,
+ 1: "艾莉丝:欢迎!挑战者,\n合众地区最强的冠军大驾光临!$阿戴克:艾莉丝,你是不是有点太兴奋了…",
},
"victory": {
- 1: `Iris: A loss like this is not easy to take...
- $Alder: But we will only get stronger with every loss!`,
+ 1: "艾莉丝:这样的失败可不好受啊…$阿戴克:但是只有失败才能让我们变强!",
},
},
"piers_marnie_double": {
"encounter": {
- 1: `Marnie: Brother, let's show them the power of Spikemuth!
- $Piers: We bring darkness!`,
+ 1: "玛俐:哥哥,给他们展现尖钉镇的实力!$聂梓:我们带来黑暗!",
},
"victory": {
- 1: `Marnie: You brought light to our darkness!
- $Piers: Its too bright...`,
+ 1: "玛俐:你的强光亮瞎我们的黑暗了啦……$聂梓:实在太亮了…",
},
},
"marnie_piers_double": {
"encounter": {
- 1: `Piers: Ready for a concert?
- $Marnie: Brother... They are here to fight, not to sing...`,
+ 1: "聂梓: 台下准备好了吗!$玛俐: 哥哥,我们是来对战的,\n不是来唱歌的……",
},
"victory": {
- 1: `Piers: Now that was a great concert!
- $Marnie: Brother...`,
+ 1: "聂梓:这首歌献给大家!$玛俐:哥哥……",
},
},
};
diff --git a/src/locales/zh_CN/egg.ts b/src/locales/zh_CN/egg.ts
index 99916ab0778..454cdb0af52 100644
--- a/src/locales/zh_CN/egg.ts
+++ b/src/locales/zh_CN/egg.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const egg: SimpleTranslationEntries = {
"egg": "蛋",
@@ -17,5 +17,12 @@ export const egg: SimpleTranslationEntries = {
"notEnoughVouchers": "你没有足够的兑换券!",
"tooManyEggs": "你的蛋太多啦!",
"pull": "次",
- "pulls": "次"
+ "pulls": "次",
+ "sameSpeciesEgg": "{{species}}将会从蛋中孵化!",
+ "hatchFromTheEgg": "{{pokemonName}} 从蛋中孵化了!",
+ "eggMoveUnlock": "蛋招式已解锁: {{moveName}}",
+ "rareEggMoveUnlock": "稀有蛋招式已解锁: {{moveName}}",
+ "moveUPGacha": "蛋招式UP!",
+ "shinyUPGacha": "闪光UP!",
+ "legendaryUPGacha": "UP!",
} as const;
diff --git a/src/locales/zh_CN/fight-ui-handler.ts b/src/locales/zh_CN/fight-ui-handler.ts
index baa933f7ec0..07865250d9f 100644
--- a/src/locales/zh_CN/fight-ui-handler.ts
+++ b/src/locales/zh_CN/fight-ui-handler.ts
@@ -1,7 +1,9 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const fightUiHandler: SimpleTranslationEntries = {
"pp": "PP",
"power": "威力",
"accuracy": "命中",
-} as const;
+ "abilityFlyInText": " {{pokemonName}} 的 {{passive}}{{abilityName}}",
+ "passive": "被动 ", // The space at the end is important
+} as const;
diff --git a/src/locales/zh_CN/game-mode.ts b/src/locales/zh_CN/game-mode.ts
new file mode 100644
index 00000000000..ed96ac4c78e
--- /dev/null
+++ b/src/locales/zh_CN/game-mode.ts
@@ -0,0 +1,10 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const gameMode: SimpleTranslationEntries = {
+ "classic": "经典模式",
+ "endless": "无尽模式",
+ "endlessSpliced": "融合无尽模式",
+ "dailyRun": "每日挑战",
+ "unknown": "未知",
+ "challenge": "挑战模式",
+} as const;
diff --git a/src/locales/zh_CN/game-stats-ui-handler.ts b/src/locales/zh_CN/game-stats-ui-handler.ts
index f44e1d8b9e9..9fb3b9f5af8 100644
--- a/src/locales/zh_CN/game-stats-ui-handler.ts
+++ b/src/locales/zh_CN/game-stats-ui-handler.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const gameStatsUiHandler: SimpleTranslationEntries = {
"stats": "统计",
diff --git a/src/locales/zh_CN/growth.ts b/src/locales/zh_CN/growth.ts
index 33a1dec8bb8..9362810c4f8 100644
--- a/src/locales/zh_CN/growth.ts
+++ b/src/locales/zh_CN/growth.ts
@@ -1,10 +1,10 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const growth: SimpleTranslationEntries = {
- "Erratic": "最快",
- "Fast": "较快",
- "Medium_Fast": "快",
- "Medium_Slow": "慢",
- "Slow": "较慢",
- "Fluctuating": "最慢"
-} as const;
+ "Erratic": "非常快",
+ "Fast": "快",
+ "Medium_Fast": "较快",
+ "Medium_Slow": "较慢",
+ "Slow": "慢",
+ "Fluctuating": "非常慢"
+} as const;
diff --git a/src/locales/zh_CN/menu-ui-handler.ts b/src/locales/zh_CN/menu-ui-handler.ts
index e3d0d158e33..71d79472a45 100644
--- a/src/locales/zh_CN/menu-ui-handler.ts
+++ b/src/locales/zh_CN/menu-ui-handler.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const menuUiHandler: SimpleTranslationEntries = {
"GAME_SETTINGS": "游戏设置",
@@ -19,5 +19,6 @@ export const menuUiHandler: SimpleTranslationEntries = {
"importData": "导入数据",
"exportData": "导出数据",
"cancel": "取消",
- "losingProgressionWarning": "你将失去自战斗开始以来的所有进度。是否\n继续?"
+ "losingProgressionWarning": "你将失去自战斗开始以来的所有进度。\n是否继续?",
+ "noEggs": "当前没有任何蛋\n正在孵化中!"
} as const;
diff --git a/src/locales/zh_CN/menu.ts b/src/locales/zh_CN/menu.ts
index d8cad6b05af..92a9d1bfbf4 100644
--- a/src/locales/zh_CN/menu.ts
+++ b/src/locales/zh_CN/menu.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
/**
* The menu namespace holds most miscellaneous text that isn't directly part of the game's
@@ -34,8 +34,6 @@ export const menu: SimpleTranslationEntries = {
"sessionSuccess": "会话加载成功。",
"failedToLoadSession": "无法加载您的会话数据。它可能已损坏。",
"boyOrGirl": "你是男孩还是女孩?",
- "boy": "男孩",
- "girl": "女孩",
"evolving": "咦?\n{{pokemonName}} 开始进化了!",
"stoppedEvolving": "{{pokemonName}} 停止了进化。",
"pauseEvolutionsQuestion": "你确定要停止 {{pokemonName}} 的进化吗?\n你可以在队伍界面中重新进化。",
@@ -44,11 +42,16 @@ export const menu: SimpleTranslationEntries = {
"dailyRankings": "每日排名",
"weeklyRankings": "每周排名",
"noRankings": "无排名",
+ "positionIcon": "#",
+ "usernameScoreboard": "用户名",
+ "score": "分数",
+ "wave": "层数",
"loading": "加载中...",
+ "loadingAsset": "加载资源: {{assetName}}",
"playersOnline": "在线玩家",
- "empty": "空",
"yes": "是",
"no": "否",
- "disclaimer": "DISCLAIMER",
- "disclaimerDescription": "This game is an unfinished product; it might have playability issues (including the potential loss of save data),\n change without notice, and may or may not be updated further or completed."
+ "disclaimer": "免责声明",
+ "disclaimerDescription": "这个游戏尚未完成; 可能存在游戏性问题(包括潜在的丢档风险)、\n 不经通知的调整、 未来可能会更新或完成更多内容",
+ "errorServerDown": "糟糕!访问服务器时发生了错误。\n\n你可以保持页面开启,\n游戏会自动重新连接。",
} as const;
diff --git a/src/locales/zh_CN/modifier-select-ui-handler.ts b/src/locales/zh_CN/modifier-select-ui-handler.ts
new file mode 100644
index 00000000000..a836f07e910
--- /dev/null
+++ b/src/locales/zh_CN/modifier-select-ui-handler.ts
@@ -0,0 +1,14 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const modifierSelectUiHandler: SimpleTranslationEntries = {
+ "transfer": "交换道具",
+ "reroll": "刷新商店",
+ "lockRarities": "锁定稀有度",
+ "checkTeam": "查看队伍",
+ "transferDesc": "将宝可梦携带的道具交换给其他宝可梦",
+ "rerollDesc": "花钱刷新道具",
+ "lockRaritiesDesc": "在刷新时锁定道具稀有度(影响刷新费用)",
+ "checkTeamDesc": "检查队伍或使用形态改变道具",
+ "rerollCost": "₽{{formattedMoney}}",
+ "itemCost": "₽{{formattedMoney}}"
+} as const;
diff --git a/src/locales/zh_CN/modifier-type.ts b/src/locales/zh_CN/modifier-type.ts
index 7230f21e330..539062875f1 100644
--- a/src/locales/zh_CN/modifier-type.ts
+++ b/src/locales/zh_CN/modifier-type.ts
@@ -1,14 +1,14 @@
-import { ModifierTypeTranslationEntries } from "#app/plugins/i18n";
+import { ModifierTypeTranslationEntries } from "#app/interfaces/locales";
export const modifierType: ModifierTypeTranslationEntries = {
ModifierType: {
"AddPokeballModifierType": {
name: "{{modifierCount}}x {{pokeballName}}",
- description: "获得 {{pokeballName}} x{{modifierCount}} (已有:{{pokeballAmount}}) \n捕捉倍率:{{catchRate}}",
+ description: "获得 {{pokeballName}} x{{modifierCount}} (已有:{{pokeballAmount}}) \n捕捉倍率:{{catchRate}}。",
},
"AddVoucherModifierType": {
name: "{{modifierCount}}x {{voucherTypeName}}",
- description: "获得 {{voucherTypeName}} x{{modifierCount}}",
+ description: "获得 {{voucherTypeName}} x{{modifierCount}}。",
},
"PokemonHeldItemModifierType": {
extra: {
@@ -17,63 +17,63 @@ export const modifierType: ModifierTypeTranslationEntries = {
}
},
"PokemonHpRestoreModifierType": {
- description: "为一只宝可梦回复 {{restorePoints}} HP 或 {{restorePercent}}% HP,取较大值",
+ description: "为一只宝可梦回复{{restorePoints}}HP或{{restorePercent}}%HP,取较大值。",
extra: {
- "fully": "为一只宝可梦回复全部HP",
- "fullyWithStatus": "为一只宝可梦回复全部HP并消除所有负面\n状态",
+ "fully": "为一只宝可梦回复全部HP。",
+ "fullyWithStatus": "为一只宝可梦回复全部HP并消除所有负面\n状态。",
}
},
"PokemonReviveModifierType": {
- description: "复活一只宝可梦并回复 {{restorePercent}}% HP",
+ description: "复活一只宝可梦并回复 {{restorePercent}}% HP。",
},
"PokemonStatusHealModifierType": {
- description: "为一只宝可梦消除所有负面状态",
+ description: "为一只宝可梦消除所有负面状态。",
},
"PokemonPpRestoreModifierType": {
- description: "为一只宝可梦的一个招式回复 {{restorePoints}} PP",
+ description: "为一只宝可梦的一个招式回复 {{restorePoints}} PP。",
extra: {
- "fully": "完全回复一只宝可梦一个招式的PP",
+ "fully": "完全回复一只宝可梦一个招式的PP。",
}
},
"PokemonAllMovePpRestoreModifierType": {
- description: "为一只宝可梦的所有招式回复 {{restorePoints}} PP",
+ description: "为一只宝可梦的所有招式回复 {{restorePoints}} PP。",
extra: {
- "fully": "为一只宝可梦的所有招式回复所有PP",
+ "fully": "为一只宝可梦的所有招式回复所有PP。",
}
},
"PokemonPpUpModifierType": {
- description: "为一只宝可梦的一个招式永久增加{{upPoints}}点\nPP每5点当前最大PP (最多3点)",
+ description: "选择一只宝可梦的一个招式使用\n使其PP最大值提升基础的20% (最多3次)。",
},
"PokemonNatureChangeModifierType": {
name: "{{natureName}}薄荷",
- description: "将一只宝可梦的性格改为{{natureName}}并为该宝可\n梦永久解锁该性格.",
+ description: "将一只宝可梦的性格改为{{natureName}}并为\n该宝可梦永久解锁该性格。",
},
"DoubleBattleChanceBoosterModifierType": {
- description: "接下来的{{battleCount}}场战斗是双打的概率翻倍",
+ description: "接下来的{{battleCount}}场战斗是双打的概率翻倍。",
},
"TempBattleStatBoosterModifierType": {
- description: "为所有成员宝可梦提升一级{{tempBattleStatName}},持续5场战斗",
+ description: "为所有成员宝可梦提升一级{{tempBattleStatName}},持续5场战斗。",
},
"AttackTypeBoosterModifierType": {
- description: "一只宝可梦的{{moveType}}系招式威力提升20%",
+ description: "一只宝可梦的{{moveType}}系招式威力提升20%。",
},
"PokemonLevelIncrementModifierType": {
- description: "一只宝可梦等级提升1级",
+ description: "一只宝可梦等级提升1级。",
},
"AllPokemonLevelIncrementModifierType": {
- description: "所有成员宝可梦等级提升1级",
+ description: "所有成员宝可梦等级提升1级。",
},
"PokemonBaseStatBoosterModifierType": {
- description: "增加持有者的{{statName}}10%,个体值越高堆叠\n上限越高.",
+ description: "增加10%持有者的{{statName}},\n个体值越高堆叠上限越高。",
},
"AllPokemonFullHpRestoreModifierType": {
- description: "所有宝可梦完全回复HP",
+ description: "所有宝可梦完全回复HP。",
},
"AllPokemonFullReviveModifierType": {
- description: "复活所有濒死宝可梦,完全回复HP",
+ description: "复活所有濒死的宝可梦,\n并完全回复HP。",
},
"MoneyRewardModifierType": {
- description: "获得{{moneyMultiplier}}金钱 (₽{{moneyAmount}})",
+ description: "获得{{moneyMultiplier}}金钱(₽{{moneyAmount}})。",
extra: {
"small": "少量",
"moderate": "中等",
@@ -81,58 +81,62 @@ export const modifierType: ModifierTypeTranslationEntries = {
},
},
"ExpBoosterModifierType": {
- description: "经验值获取量增加{{boostPercent}}%",
+ description: "经验值获取量增加{{boostPercent}}%。",
},
"PokemonExpBoosterModifierType": {
- description: "持有者经验值获取量增加{{boostPercent}}%",
+ description: "持有者经验值获取量增加{{boostPercent}}%。",
},
"PokemonFriendshipBoosterModifierType": {
- description: "每场战斗获得的好感度提升50%",
+ description: "每场战斗获得的好感度提升50%。",
},
"PokemonMoveAccuracyBoosterModifierType": {
- description: "招式命中率增加{{accuracyAmount}} (最大100)",
+ description: "招式命中率增加{{accuracyAmount}}(最大100)。",
},
"PokemonMultiHitModifierType": {
- description: "攻击造成一次额外伤害,每次堆叠额外伤害\n分别衰减60/75/82.5%",
+ description: "攻击以40/25/12.5%的伤害造成2/3/4次伤害",
},
"TmModifierType": {
- name: "招式学习器 {{moveId}} - {{moveName}}",
- description: "教会一只宝可梦{{moveName}}",
+ name: "招式学习器\n{{moveId}} - {{moveName}}",
+ description: "教会一只宝可梦{{moveName}}。",
+ },
+ "TmModifierTypeWithInfo": {
+ name: "招式学习器\n{{moveId}} - {{moveName}}",
+ description: "教会一只宝可梦{{moveName}}\n(按住C或者Shift查看更多信息)。",
},
"EvolutionItemModifierType": {
- description: "使某些宝可梦进化",
+ description: "使某些宝可梦进化。",
},
"FormChangeItemModifierType": {
- description: "使某些宝可梦更改形态",
+ description: "使某些宝可梦更改形态。",
},
"FusePokemonModifierType": {
- description: "融合两只宝可梦 (改变特性, 平分基础点数\n和属性, 共享招式池)",
+ description: "融合两只宝可梦 (改变特性, 平分基础点数\n和属性, 共享招式池)。",
},
"TerastallizeModifierType": {
name: "{{teraType}}太晶碎块",
- description: "持有者获得{{teraType}}太晶化10场战斗",
+ description: "持有者获得{{teraType}}太晶化,\n持续10场战斗。",
},
"ContactHeldItemTransferChanceModifierType": {
- description: "攻击时{{chancePercent}}%概率偷取对手物品",
+ description: "攻击时{{chancePercent}}%概率\n偷取对手物品。",
},
"TurnHeldItemTransferModifierType": {
- description: "持有者每回合从对手那里获得一个持有的物品",
+ description: "持有者每回合从对手那里\n获得一个持有的物品。",
},
"EnemyAttackStatusEffectChanceModifierType": {
- description: "攻击时{{chancePercent}}%概率造成{{statusEffect}}",
+ description: "攻击时{{chancePercent}}%概率造成{{statusEffect}}。",
},
"EnemyEndureChanceModifierType": {
- description: "增加{{chancePercent}}%遭受攻击的概率",
+ description: "敌方增加{{chancePercent}}%的概率\n在本回合不会倒下。",
},
"RARE_CANDY": { name: "神奇糖果" },
"RARER_CANDY": { name: "超神奇糖果" },
- "MEGA_BRACELET": { name: "超级手镯", description: "能让携带着超级石战斗的宝可梦进行\n超级进化" },
- "DYNAMAX_BAND": { name: "极巨腕带", description: "能让携带着极巨菇菇战斗的宝可梦进行\n极巨化" },
- "TERA_ORB": { name: "太晶珠", description: "能让携带着太晶碎块战斗的宝可梦进行\n太晶化" },
+ "MEGA_BRACELET": { name: "MEGA手镯", description: "能让携带着MEGA石战斗的宝可梦\n进行MEGA进化。" },
+ "DYNAMAX_BAND": { name: "极巨腕带", description: "能让携带着极巨菇菇战斗的宝可梦\n进行超极巨化。" },
+ "TERA_ORB": { name: "太晶珠", description: "能让携带着太晶碎块战斗的宝可梦\n进行太晶化。" },
- "MAP": { name: "地图", description: "允许你在切换宝可梦群落时选择目的地"},
+ "MAP": { name: "地图", description: "有概率允许你在切换地区时\n选择目的地。"},
"POTION": { name: "伤药" },
"SUPER_POTION": { name: "好伤药" },
@@ -147,7 +151,7 @@ export const modifierType: ModifierTypeTranslationEntries = {
"SACRED_ASH": { name: "圣灰" },
- "REVIVER_SEED": { name: "复活种子", description: "恢复1只濒死宝可梦的HP至1/2" },
+ "REVIVER_SEED": { name: "复活种子", description: "受到技能攻击伤害濒死时,\n恢复该宝可梦的HP至1/2。" },
"ETHER": { name: "PP单项小补剂" },
"MAX_ETHER": { name: "PP单项全补剂" },
@@ -162,12 +166,12 @@ export const modifierType: ModifierTypeTranslationEntries = {
"SUPER_LURE": { name: "白银香水" },
"MAX_LURE": { name: "黄金香水" },
- "MEMORY_MUSHROOM": { name: "回忆蘑菇", description: "回忆一个宝可梦已经遗忘的招式" },
+ "MEMORY_MUSHROOM": { name: "回忆蘑菇", description: "回忆一个宝可梦已经遗忘的招式。" },
- "EXP_SHARE": { name: "学习装置", description: "未参加对战的宝可梦获得20%的经验值" },
- "EXP_BALANCE": { name: "均衡型学习装置", description: "队伍中的低级宝可梦获得更多经验值" },
+ "EXP_SHARE": { name: "学习装置", description: "未参加对战的宝可梦获得20%的经验值。" },
+ "EXP_BALANCE": { name: "均衡型学习装置", description: "经验值会更多分给队伍中等级最低的宝可梦。" },
- "OVAL_CHARM": { name: "圆形护符", description: "当多只宝可梦参与战斗,分别获得总经验值\n10%的额外经验值" },
+ "OVAL_CHARM": { name: "圆形护符", description: "当多只宝可梦参与战斗,分别获得总经验值\n10%的额外经验值。" },
"EXP_CHARM": { name: "经验护符" },
"SUPER_EXP_CHARM": { name: "超级经验护符" },
@@ -178,62 +182,70 @@ export const modifierType: ModifierTypeTranslationEntries = {
"SOOTHE_BELL": { name: "安抚之铃" },
- "SOUL_DEW": { name: "心之水滴", description: "增加宝可梦性格影响10% (加算)" },
+ "EVIOLITE": { name: "进化奇石", description: "携带后,还能进化的宝可梦的\n防御和特防就会提高。" },
+
+ "SOUL_DEW": { name: "心之水滴", description: "增加10%宝可梦性格对数值的影响 (加算)。" },
"NUGGET": { name: "金珠" },
"BIG_NUGGET": { name: "巨大金珠" },
"RELIC_GOLD": { name: "古代金币" },
- "AMULET_COIN": { name: "护符金币", description: "金钱奖励增加20%" },
- "GOLDEN_PUNCH": { name: "黄金拳头", description: "将50%造成的伤害转换为金钱" },
- "COIN_CASE": { name: "代币盒", description: "每十场战斗, 获得自己金钱10%的利息" },
+ "AMULET_COIN": { name: "护符金币", description: "获得的金钱增加20%。" },
+ "GOLDEN_PUNCH": { name: "黄金拳头", description: "将50%造成的伤害转换为金钱。" },
+ "COIN_CASE": { name: "代币盒", description: "每10场战斗, 获得自己金钱10%的利息。" },
- "LOCK_CAPSULE": { name: "上锁的容器", description: "允许在刷新物品时锁定物品稀有度" },
+ "LOCK_CAPSULE": { name: "上锁的容器", description: "允许在商店中刷新物品时,\n锁定物品的稀有度。" },
"GRIP_CLAW": { name: "紧缠钩爪" },
"WIDE_LENS": { name: "广角镜" },
"MULTI_LENS": { name: "多重镜" },
- "HEALING_CHARM": { name: "治愈护符", description: "HP回复量增加10% (含复活)" },
- "CANDY_JAR": { name: "糖果罐", description: "神奇糖果提供的升级额外增加1级" },
+ "HEALING_CHARM": { name: "治愈护符", description: "HP回复量增加10% (不含复活)。" },
+ "CANDY_JAR": { name: "糖果罐", description: "神奇糖果提供的升级额外增加1级。" },
- "BERRY_POUCH": { name: "树果袋", description: "使用树果时有30%的几率不会消耗树果" },
+ "BERRY_POUCH": { name: "树果袋", description: "使用树果时有30%的几率不会消耗树果。" },
- "FOCUS_BAND": { name: "气势头带", description: "携带该道具的宝可梦有10%几率在受到\n攻击而将陷入濒死状态时,保留1点HP不陷入濒死状态" },
+ "FOCUS_BAND": { name: "气势头带", description: "携带该道具的宝可梦有10%几率在受到攻击\n而将陷入濒死状态时,保留1点HP不陷入濒死状态。" },
- "QUICK_CLAW": { name: "先制之爪", description: "有10%的几率无视速度优先使出招式\n(先制技能优先)" },
+ "QUICK_CLAW": { name: "先制之爪", description: "有10%的几率无视速度优先使出招式\n(先制技能优先)。" },
- "KINGS_ROCK": { name: "王者之证", description: "携带该道具的宝可梦使用任意原本不会造成\n畏缩状态的攻击招式并造成伤害时,有\n10%几率使目标陷入畏缩状态" },
+ "KINGS_ROCK": { name: "王者之证", description: "使用任意原本不会造成畏缩状态的攻击,\n有10%几率使目标陷入畏缩状态。" },
- "LEFTOVERS": { name: "吃剩的东西", description: "携带该道具的宝可梦在每个回合结束时恢复\n最大HP的1/16" },
- "SHELL_BELL": { name: "贝壳之铃", description: "携带该道具的宝可梦在攻击对方成功造成伤\n害时,携带者的HP会恢复其所造成伤害\n的1/8" },
+ "LEFTOVERS": { name: "吃剩的东西", description: "携带后,在每个回合结束时恢复\n最大HP的1/16。" },
+ "SHELL_BELL": { name: "贝壳之铃", description: "携带后,在攻击对方成功造成伤害时,\n携带者的HP会恢复其所造成伤害的1/8。" },
- "TOXIC_ORB": { name: "Toxic Orb", description: "It's a bizarre orb that exudes toxins when touched and will badly poison the holder during battle" },
- "FLAME_ORB": { name: "Flame Orb", description: "It's a bizarre orb that gives off heat when touched and will affect the holder with a burn during battle" },
+ "TOXIC_ORB": { name: "剧毒宝珠", description: "触碰后会放出毒的神奇宝珠。携带后,在战斗时会变成剧毒状态。" },
+ "FLAME_ORB": { name: "火焰宝珠", description: "触碰后会放出热量的神奇宝珠。携带后,在战斗时会变成灼伤状态。" },
- "BATON": { name: "接力棒", description: "允许在切换宝可梦时保留能力变化, 对陷阱\n同样生效" },
+ "BATON": { name: "接力棒", description: "允许在切换宝可梦时保留能力变化, 对陷阱\n同样生效。" },
- "SHINY_CHARM": { name: "闪耀护符", description: "显著增加野生宝可梦的闪光概率" },
- "ABILITY_CHARM": { name: "特性护符", description: "显著增加野生宝可梦有隐藏特性的概率" },
+ "SHINY_CHARM": { name: "闪耀护符", description: "显著增加野生宝可梦的闪光概率。" },
+ "ABILITY_CHARM": { name: "特性护符", description: "显著增加野生宝可梦有隐藏特性的概率。" },
- "IV_SCANNER": { name: "个体值探测器", description: "允许扫描野生宝可梦的个体值。可叠加,每多拥有一个多显示\n2项个体值. 最好的个体值优先显示" },
+ "IV_SCANNER": { name: "个体值探测器", description: "允许扫描野生宝可梦的个体值。每多拥有一个\n多显示两项个体值,优先显示最高项。" },
"DNA_SPLICERS": { name: "基因之楔" },
"MINI_BLACK_HOLE": { name: "迷你黑洞" },
- "GOLDEN_POKEBALL": { name: "黄金精灵球", description: "在每场战斗结束后增加一个额外物品选项" },
+ "GOLDEN_POKEBALL": { name: "黄金精灵球", description: "在每场战斗结束后,增加一个额外物品选项。" },
- "ENEMY_DAMAGE_BOOSTER": { name: "伤害硬币", description: "增加5%造成伤害" },
- "ENEMY_DAMAGE_REDUCTION": { name: "防御硬币", description: "减少2.5%承受伤害" },
- "ENEMY_HEAL": { name: "回复硬币", description: "每回合回复2%最大HP" },
+ "ENEMY_DAMAGE_BOOSTER": { name: "伤害硬币", description: "造成5%额外伤害(乘算)。" },
+ "ENEMY_DAMAGE_REDUCTION": { name: "防御硬币", description: "受到2.5%更少伤害(乘算)。" },
+ "ENEMY_HEAL": { name: "回复硬币", description: "每回合回复2%最大HP。" },
"ENEMY_ATTACK_POISON_CHANCE": { name: "剧毒硬币" },
"ENEMY_ATTACK_PARALYZE_CHANCE": { name: "麻痹硬币" },
"ENEMY_ATTACK_BURN_CHANCE": { name: "灼烧硬币" },
- "ENEMY_STATUS_EFFECT_HEAL_CHANCE": { name: "万灵药硬币", description: "增加2.5%每回合治愈异常状态的概率" },
+ "ENEMY_STATUS_EFFECT_HEAL_CHANCE": { name: "万灵药硬币", description: "增加2.5%每回合治愈异常状态的概率。" },
"ENEMY_ENDURE_CHANCE": { name: "忍受硬币" },
- "ENEMY_FUSED_CHANCE": { name: "融合硬币", description: "增加1%野生融合宝可梦出现概率" },
+ "ENEMY_FUSED_CHANCE": { name: "融合硬币", description: "增加1%野生融合宝可梦出现概率。" },
+ },
+ SpeciesBoosterItem: {
+ "LIGHT_BALL": { name: "电气球", description: "让皮卡丘携带后,攻击和特攻就会提高的神奇之球。" },
+ "THICK_CLUB": { name: "粗骨头", description: "某种坚硬的骨头。让卡拉卡拉或嘎啦嘎啦携带后,攻击就会提高。" },
+ "METAL_POWDER": { name: "金属粉", description: "让百变怪携带后,防御就会提高的神奇粉末。非常细腻坚硬。" },
+ "QUICK_POWDER": { name: "速度粉", description: "让百变怪携带后,速度就会提高的神奇粉末。非常细腻坚硬。" }
},
TempBattleStatBoosterItem: {
"x_attack": "力量强化",
@@ -244,6 +256,19 @@ export const modifierType: ModifierTypeTranslationEntries = {
"x_accuracy": "命中强化",
"dire_hit": "要害攻击",
},
+
+ TempBattleStatBoosterStatName: {
+ "ATK": "攻击",
+ "DEF": "防御",
+ "SPATK": "特攻",
+ "SPDEF": "特防",
+ "SPD": "速度",
+ "ACC": "命中",
+ "CRIT": "会心",
+ "EVA": "闪避",
+ "DEFAULT": "???",
+ },
+
AttackTypeBoosterItem: {
"silk_scarf": "丝绸围巾",
"black_belt": "黑带",
@@ -273,7 +298,7 @@ export const modifierType: ModifierTypeTranslationEntries = {
"carbos": "速度增强剂",
},
EvolutionItem: {
- "NONE": "None",
+ "NONE": "无",
"LINKING_CORD": "联系绳",
"SUN_STONE": "日之石",
@@ -306,7 +331,7 @@ export const modifierType: ModifierTypeTranslationEntries = {
"SYRUPY_APPLE": "蜜汁苹果",
},
FormChangeItem: {
- "NONE": "None",
+ "NONE": "无",
"ABOMASITE": "暴雪王进化石",
"ABSOLITE": "阿勃梭鲁进化石",
@@ -384,5 +409,43 @@ export const modifierType: ModifierTypeTranslationEntries = {
"BURN_DRIVE": "火焰卡带",
"CHILL_DRIVE": "冰冻卡带",
"DOUSE_DRIVE": "水流卡带",
+
+ "FIST_PLATE": "拳头石板",
+ "SKY_PLATE": "蓝天石板",
+ "TOXIC_PLATE": "剧毒石板",
+ "EARTH_PLATE": "大地石板",
+ "STONE_PLATE": "岩石石板",
+ "INSECT_PLATE": "玉虫石板",
+ "SPOOKY_PLATE": "妖怪石板",
+ "IRON_PLATE": "钢铁石板",
+ "FLAME_PLATE": "火球石板",
+ "SPLASH_PLATE": "水滴石板",
+ "MEADOW_PLATE": "碧绿石板",
+ "ZAP_PLATE": "雷电石板",
+ "MIND_PLATE": "神奇石板",
+ "ICICLE_PLATE": "冰柱石板",
+ "DRACO_PLATE": "龙之石板",
+ "DREAD_PLATE": "恶颜石板",
+ "PIXIE_PLATE": "妖精石板",
+ "BLANK_PLATE": "净空石板",
+ "LEGEND_PLATE": "传说石板",
+ "FIGHTING_MEMORY": "战斗存储碟",
+ "FLYING_MEMORY": "飞翔存储碟",
+ "POISON_MEMORY": "毒存储碟",
+ "GROUND_MEMORY": "大地存储碟",
+ "ROCK_MEMORY": "岩石存储碟",
+ "BUG_MEMORY": "虫子存储碟",
+ "GHOST_MEMORY": "幽灵存储碟",
+ "STEEL_MEMORY": "钢铁存储碟",
+ "FIRE_MEMORY": "火焰存储碟",
+ "WATER_MEMORY": "清水存储碟",
+ "GRASS_MEMORY": "青草存储碟",
+ "ELECTRIC_MEMORY": "电子存储碟",
+ "PSYCHIC_MEMORY": "精神存储碟",
+ "ICE_MEMORY": "冰雪存储碟",
+ "DRAGON_MEMORY": "龙存储碟",
+ "DARK_MEMORY": "黑暗存储碟",
+ "FAIRY_MEMORY": "妖精存储碟",
+ "BLANK_MEMORY": "空白存储碟",
},
} as const;
diff --git a/src/locales/zh_CN/modifier.ts b/src/locales/zh_CN/modifier.ts
new file mode 100644
index 00000000000..fabd17465b2
--- /dev/null
+++ b/src/locales/zh_CN/modifier.ts
@@ -0,0 +1,12 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const modifier: SimpleTranslationEntries = {
+ "surviveDamageApply": "{{pokemonNameWithAffix}}用{{typeName}}\n撑住了!",
+ "turnHealApply": "{{pokemonNameWithAffix}}用{{typeName}}\n回复了体力!",
+ "hitHealApply": "{{pokemonNameWithAffix}}用{{typeName}}\n回复了体力!",
+ "pokemonInstantReviveApply": "{{pokemonNameWithAffix}}用{{typeName}}\n恢复了活力!",
+ "moneyInterestApply": "用{{typeName}}\n获得了 ₽{{moneyAmount}} 利息!",
+ "turnHeldItemTransferApply": "{{pokemonNameWithAffix}}的{{itemName}}被\n{{pokemonName}}的{{typeName}}吸收了!",
+ "contactHeldItemTransferApply": "{{pokemonNameWithAffix}}的{{itemName}}被\n{{pokemonName}}的{{typeName}}夺取了!",
+ "enemyTurnHealApply": "{{pokemonNameWithAffix}}\n回复了一些体力!",
+} as const;
diff --git a/src/locales/zh_CN/move.ts b/src/locales/zh_CN/move.ts
index e8d4b847d99..a444a59a3ff 100644
--- a/src/locales/zh_CN/move.ts
+++ b/src/locales/zh_CN/move.ts
@@ -1,21 +1,21 @@
-import { MoveTranslationEntries } from "#app/plugins/i18n";
+import { MoveTranslationEntries } from "#app/interfaces/locales";
export const move: MoveTranslationEntries = {
"pound": {
name: "拍击",
- effect: "使用长长的尾巴或手等拍打\n对手进行攻击",
+ effect: "使用长长的尾巴或手等拍打对手进行攻击",
},
"karateChop": {
name: "空手劈",
- effect: "用锋利的手刀劈向对手进行\n攻击。容易击中要害",
+ effect: "用锋利的手刀劈向对手进行攻击。\n容易击中要害",
},
"doubleSlap": {
name: "连环巴掌",
- effect: "用连环巴掌拍打对手进行攻\n击。连续攻击2~5次",
+ effect: "用连环巴掌拍打对手进行攻击。\n连续攻击2~5次",
},
"cometPunch": {
name: "连续拳",
- effect: "用拳头怒涛般的殴打对手进\n行攻击。连续攻击2~5次",
+ effect: "用拳头怒涛般的殴打对手进行攻击。\n连续攻击2~5次",
},
"megaPunch": {
name: "百万吨重拳",
@@ -23,35 +23,35 @@ export const move: MoveTranslationEntries = {
},
"payDay": {
name: "聚宝功",
- effect: "向对手的身体投掷小金币进\n行攻击。战斗后可以拿到钱",
+ effect: "向对手的身体投掷小金币进行攻击。\n战斗后可以拿到钱",
},
"firePunch": {
name: "火焰拳",
- effect: "用充满火焰的拳头攻击对手。\n有时会让对手陷入灼伤状\n态",
+ effect: "用充满火焰的拳头攻击对手。\n有时会让对手陷入灼伤状态",
},
"icePunch": {
name: "冰冻拳",
- effect: "用充满寒气的拳头攻击对手。\n有时会让对手陷入冰冻状\n态",
+ effect: "用充满寒气的拳头攻击对手。\n有时会让对手陷入冰冻状态",
},
"thunderPunch": {
name: "雷电拳",
- effect: "用充满电流的拳头攻击对手。\n有时会让对手陷入麻痹状\n态",
+ effect: "用充满电流的拳头攻击对手。\n有时会让对手陷入麻痹状态",
},
"scratch": {
name: "抓",
- effect: "用坚硬且无比锋利的爪子抓\n对手进行攻击",
+ effect: "用坚硬且无比锋利的爪子抓对手进行攻击",
},
"viseGrip": {
name: "夹住",
- effect: "将对手从两侧夹住,给予伤\n害",
+ effect: "将对手从两侧夹住,给予伤害",
},
"guillotine": {
name: "极落钳",
- effect: "用大钳子或剪刀等夹断对手\n进行攻击。只要命中就会一\n击昏厥",
+ effect: "用大钳子或剪刀等夹断对手进行攻击。\n只要命中就会一击昏厥",
},
"razorWind": {
name: "旋风刀",
- effect: "制造风之刃,于第2回合攻\n击对手。容易击中要害",
+ effect: "制造风之刃,于第2回合攻击对手。\n容易击中要害",
},
"swordsDance": {
name: "剑舞",
@@ -59,35 +59,35 @@ export const move: MoveTranslationEntries = {
},
"cut": {
name: "居合劈",
- effect: "用镰刀或爪子等切斩对手进\n行攻击",
+ effect: "用镰刀或爪子等切斩对手进行攻击",
},
"gust": {
name: "起风",
- effect: "用翅膀将刮起的狂风袭向对\n手进行攻击",
+ effect: "用翅膀将刮起的狂风袭向对手进行攻击",
},
"wingAttack": {
name: "翅膀攻击",
- effect: "大大地展开美丽的翅膀,将\n其撞向对手进行攻击",
+ effect: "大大地展开美丽的翅膀,\n将其撞向对手进行攻击",
},
"whirlwind": {
name: "吹飞",
- effect: "吹飞对手,强制拉后备宝可\n梦上场。如果对手为野生宝\n可梦,战斗将直接结束",
+ effect: "吹飞对手,强制拉后备宝可梦上场。\n如果对手为野生宝可梦,\n战斗将直接结束",
},
"fly": {
name: "飞翔",
- effect: "第1回合飞上天空,第2回\n合攻击对手",
+ effect: "第1回合飞上天空,第2回合攻击对手",
},
"bind": {
name: "绑紧",
- effect: "使用长长的身体或藤蔓等,\n在4~5回合内绑紧对手进\n行攻击",
+ effect: "使用长长的身体或藤蔓等,\n在4~5回合内绑紧对手进行攻击",
},
"slam": {
name: "摔打",
- effect: "使用长长的尾巴或藤蔓等摔\n打对手进行攻击",
+ effect: "使用长长的尾巴或藤蔓等摔打对手\n进行攻击",
},
"vineWhip": {
name: "藤鞭",
- effect: "用如同鞭子般弯曲而细长的\n藤蔓摔打对手进行攻击",
+ effect: "用如同鞭子般弯曲而细长的藤蔓摔\n打对手进行攻击",
},
"stomp": {
name: "踩踏",
@@ -99,23 +99,23 @@ export const move: MoveTranslationEntries = {
},
"megaKick": {
name: "百万吨重踢",
- effect: "使出力大无穷的重踢踢飞对\n手进行攻击",
+ effect: "使出力大无穷的重踢踢飞对手进行攻击",
},
"jumpKick": {
name: "飞踢",
- effect: "使出高高的腾空踢攻击对手。\n如果踢偏则自己会受到伤\n害",
+ effect: "使出高高的腾空踢攻击对手。\n如果踢偏则自己会受到伤害",
},
"rollingKick": {
name: "回旋踢",
- effect: "一边使身体快速旋转,一边\n踢飞对手进行攻击。有时会\n使对手畏缩",
+ effect: "一边使身体快速旋转,\n一边踢飞对手进行攻击。有时会使对手畏缩",
},
"sandAttack": {
name: "泼沙",
- effect: "向对手脸上泼沙子,从而降\n低命中率",
+ effect: "向对手脸上泼沙子,从而降低命中率",
},
"headbutt": {
name: "头锤",
- effect: "将头伸出,笔直地扑向对手\n进行攻击。有时会使对手畏\n缩",
+ effect: "将头伸出,笔直地扑向对手进行攻击。\n有时会使对手畏缩",
},
"hornAttack": {
name: "角撞",
@@ -127,27 +127,27 @@ export const move: MoveTranslationEntries = {
},
"hornDrill": {
name: "角钻",
- effect: "用旋转的角刺入对手进行攻\n击。只要命中就会一击昏厥",
+ effect: "用旋转的角刺入对手进行攻击。\n只要命中就会一击昏厥",
},
"tackle": {
name: "撞击",
- effect: "用整个身体撞向对手进行攻\n击",
+ effect: "用整个身体撞向对手进行攻击",
},
"bodySlam": {
name: "泰山压顶",
- effect: "用整个身体压住对手进行攻\n击。有时会让对手陷入麻痹\n状态",
+ effect: "用整个身体压住对手进行攻击。\n有时会让对手陷入麻痹状态",
},
"wrap": {
name: "紧束",
- effect: "使用长长的身体或藤蔓等,\n在4~5回合内紧束对手进\n行攻击",
+ effect: "使用长长的身体或藤蔓等,\n在4~5回合内紧束对手进行攻击",
},
"takeDown": {
name: "猛撞",
- effect: "以惊人的气势撞向对手进行\n攻击。自己也会受到少许伤\n害",
+ effect: "以惊人的气势撞向对手进行攻击。\n自己也会受到少许伤害",
},
"thrash": {
name: "大闹一番",
- effect: "在2~3回合内,乱打一气\n地攻击对手。大闹一番后自\n己会陷入混乱",
+ effect: "在2~3回合内,乱打一气地攻击对手。\n大闹一番后自己会陷入混乱",
},
"doubleEdge": {
name: "舍身冲撞",
@@ -155,15 +155,15 @@ export const move: MoveTranslationEntries = {
},
"tailWhip": {
name: "摇尾巴",
- effect: "可爱地左右摇晃尾巴,诱使\n对手疏忽大意。会降低对手\n的防御",
+ effect: "可爱地左右摇晃尾巴,\n诱使对手疏忽大意。会降低对手的防御",
},
"poisonSting": {
name: "毒针",
- effect: "将有毒的针刺入对手进行攻\n击。有时会让对手陷入中毒\n状态",
+ effect: "将有毒的针刺入对手进行攻击。\n有时会让对手陷入中毒状态",
},
"twineedle": {
name: "双针",
- effect: "将2根针刺入对手,连续2\n次给予伤害。有时会让对手\n陷入中毒状态",
+ effect: "将2根针刺入对手,连续2次给予伤害。\n有时会让对手陷入中毒状态",
},
"pinMissile": {
name: "飞弹针",
@@ -171,19 +171,19 @@ export const move: MoveTranslationEntries = {
},
"leer": {
name: "瞪眼",
- effect: "用犀利的眼神使其害怕,从\n而降低对手的防御",
+ effect: "用犀利的眼神使其害怕,\n从而降低对手的防御",
},
"bite": {
name: "咬住",
- effect: "用尖锐的牙咬住对手进行攻\n击。有时会使对手畏缩",
+ effect: "用尖锐的牙咬住对手进行攻击。\n有时会使对手畏缩",
},
"growl": {
name: "叫声",
- effect: "让对手听可爱的叫声,引开\n注意力使其疏忽,从而降低\n对手的攻击",
+ effect: "让对手听可爱的叫声,\n引开注意力使其疏忽,从而降低对手的攻击",
},
"roar": {
name: "吼叫",
- effect: "放走对手,强制拉后备宝可\n梦上场。如果对手为野生宝\n可梦,战斗将直接结束",
+ effect: "放走对手,强制拉后备宝可梦上场。\n如果对手为野生宝可梦,\n战斗将直接结束",
},
"sing": {
name: "唱歌",
@@ -191,7 +191,7 @@ export const move: MoveTranslationEntries = {
},
"supersonic": {
name: "超音波",
- effect: "从身体发出特殊的音波,从\n而使对手混乱",
+ effect: "从身体发出特殊的音波,\n从而使对手混乱",
},
"sonicBoom": {
name: "音爆",
@@ -199,7 +199,7 @@ export const move: MoveTranslationEntries = {
},
"disable": {
name: "定身法",
- effect: "阻碍对手行动,之前使出的\n招式将在4回合内无法使用",
+ effect: "阻碍对手行动,之前使出的招式将\n在4回合内无法使用",
},
"acid": {
name: "溶解液",
@@ -207,7 +207,7 @@ export const move: MoveTranslationEntries = {
},
"ember": {
name: "火花",
- effect: "向对手发射小型火焰进行攻\n击。有时会让对手陷入灼伤\n状态",
+ effect: "向对手发射小型火焰进行攻击。\n有时会让对手陷入灼伤状态",
},
"flamethrower": {
name: "喷射火焰",
@@ -215,91 +215,91 @@ export const move: MoveTranslationEntries = {
},
"mist": {
name: "白雾",
- effect: "用白雾覆盖身体。在5回合\n内不会让对手降低自己的能\n力",
+ effect: "用白雾覆盖身体。在5回合内不会\n让对手降低自己的能力",
},
"waterGun": {
name: "水枪",
- effect: "向对手猛烈地喷射水流进行\n攻击",
+ effect: "向对手猛烈地喷射水流进行攻击",
},
"hydroPump": {
name: "水炮",
- effect: "向对手猛烈地喷射大量水流\n进行攻击",
+ effect: "向对手猛烈地喷射大量水流进行攻击",
},
"surf": {
name: "冲浪",
- effect: "利用大浪攻击自己周围所有\n的宝可梦",
+ effect: "利用大浪攻击自己周围所有的宝可梦",
},
"iceBeam": {
name: "冰冻光束",
- effect: "向对手发射冰冻光束进行攻\n击。有时会让对手陷入冰冻\n状态",
+ effect: "向对手发射冰冻光束进行攻击。\n有时会让对手陷入冰冻状态",
},
"blizzard": {
name: "暴风雪",
- effect: "将猛烈的暴风雪刮向对手进\n行攻击。有时会让对手陷入\n冰冻状态",
+ effect: "将猛烈的暴风雪刮向对手进行攻击。\n有时会让对手陷入冰冻状态",
},
"psybeam": {
name: "幻象光线",
- effect: "向对手发射神奇的光线进行\n攻击。有时会使对手混乱",
+ effect: "向对手发射神奇的光线进行攻击。\n有时会使对手混乱",
},
"bubbleBeam": {
name: "泡沫光线",
- effect: "向对手猛烈地喷射泡沫进行\n攻击。有时会降低对手的速\n度",
+ effect: "向对手猛烈地喷射泡沫进行攻击。\n有时会降低对手的速度",
},
"auroraBeam": {
name: "极光束",
- effect: "向对手发射虹色光束进行攻\n击。有时会降低对手的攻击",
+ effect: "向对手发射虹色光束进行攻击。\n有时会降低对手的攻击",
},
"hyperBeam": {
name: "破坏光线",
- effect: "向对手发射强烈的光线进行\n攻击。下一回合自己将无法\n动弹",
+ effect: "向对手发射强烈的光线进行攻击。\n下一回合自己将无法动弹",
},
"peck": {
name: "啄",
- effect: "用尖锐的喙或角刺向对手进\n行攻击",
+ effect: "用尖锐的喙或角刺向对手进行攻击",
},
"drillPeck": {
name: "啄钻",
- effect: "一边旋转,一边将尖喙刺入\n对手进行攻击",
+ effect: "一边旋转,一边将尖喙刺入对手进行攻击",
},
"submission": {
name: "深渊翻滚",
- effect: "将对手连同自己一起摔向地\n面进行攻击。自己也会受到\n少许伤害",
+ effect: "将对手连同自己一起摔向地面进行攻击。\n自己也会受到少许伤害",
},
"lowKick": {
name: "踢倒",
- effect: "用力踢对手的脚,使其摔倒\n进行攻击。对手越重,威力\n越大",
+ effect: "用力踢对手的脚,使其摔倒进行攻击。\n对手越重,威力越大",
},
"counter": {
name: "双倍奉还",
- effect: "从对手那里受到物理攻击的\n伤害将以2倍返还给同一个\n对手",
+ effect: "从对手那里受到物理攻击的伤害将\n以2倍返还给同一个对手",
},
"seismicToss": {
name: "地球上投",
- effect: "利用引力将对手甩飞出去。\n给予对手和自己等级相同的\n伤害",
+ effect: "利用引力将对手甩飞出去。\n给予对手和自己等级相同的伤害",
},
"strength": {
name: "怪力",
- effect: "使出浑身力气殴打对手进行\n攻击",
+ effect: "使出浑身力气殴打对手进行攻击",
},
"absorb": {
name: "吸取",
- effect: "吸取对手的养分进行攻击。\n可以回复给予对手伤害的一\n半HP",
+ effect: "吸取对手的养分进行攻击。\n可以回复给予对手伤害的一半HP",
},
"megaDrain": {
name: "超级吸取",
- effect: "吸取对手的养分进行攻击。\n可以回复给予对手伤害的一\n半HP",
+ effect: "吸取对手的养分进行攻击。\n可以回复给予对手伤害的一半HP",
},
"leechSeed": {
name: "寄生种子",
- effect: "植入寄生种子后,将在每回\n合一点一点吸取对手的HP,\n从而用来回复自己的HP",
+ effect: "植入寄生种子后,将在每回合一点\n一点吸取对手的HP,\n从而用来回复自己的HP",
},
"growth": {
name: "生长",
- effect: "让身体一下子长大,从而提\n高攻击和特攻",
+ effect: "让身体一下子长大,从而提高攻击和特攻",
},
"razorLeaf": {
name: "飞叶快刀",
- effect: "飞出叶片,切斩对手进行攻\n击。容易击中要害",
+ effect: "飞出叶片,切斩对手进行攻击。\n容易击中要害",
},
"solarBeam": {
name: "日光束",
@@ -307,19 +307,19 @@ export const move: MoveTranslationEntries = {
},
"poisonPowder": {
name: "毒粉",
- effect: "撒出毒粉,从而让对手陷入\n中毒状态",
+ effect: "撒出毒粉,从而让对手陷入中毒状态",
},
"stunSpore": {
name: "麻痹粉",
- effect: "撒出麻痹粉,从而让对手陷\n入麻痹状态",
+ effect: "撒出麻痹粉,从而让对手陷入麻痹状态",
},
"sleepPowder": {
name: "催眠粉",
- effect: "撒出催眠粉,从而让对手陷\n入睡眠状态",
+ effect: "撒出催眠粉,从而让对手陷入睡眠状态",
},
"petalDance": {
name: "花瓣舞",
- effect: "在2~3回合内,散落花瓣\n攻击对手。之后自己会陷入\n混乱",
+ effect: "在2~3回合内,散落花瓣攻击对手。\n之后自己会陷入混乱",
},
"stringShot": {
name: "吐丝",
@@ -327,23 +327,23 @@ export const move: MoveTranslationEntries = {
},
"dragonRage": {
name: "龙之怒",
- effect: "将愤怒的冲击波撞向对手进\n行攻击。必定会给予40的\n伤害",
+ effect: "将愤怒的冲击波撞向对手进行攻击。\n必定会给予40的伤害",
},
"fireSpin": {
name: "火焰旋涡",
- effect: "将对手困在激烈的火焰旋涡\n中,在4~5回合内进行攻\n击",
+ effect: "将对手困在激烈的火焰旋涡中,\n在4~5回合内进行攻击",
},
"thunderShock": {
name: "电击",
- effect: "发出电流刺激对手进行攻击。\n有时会让对手陷入麻痹状\n态",
+ effect: "发出电流刺激对手进行攻击。\n有时会让对手陷入麻痹状态",
},
"thunderbolt": {
name: "十万伏特",
- effect: "向对手发出强力电击进行攻\n击。有时会让对手陷入麻痹\n状态",
+ effect: "向对手发出强力电击进行攻击。\n有时会让对手陷入麻痹状态",
},
"thunderWave": {
name: "电磁波",
- effect: "向对手发出微弱的电击,从\n而让对手陷入麻痹状态",
+ effect: "向对手发出微弱的电击,\n从而让对手陷入麻痹状态",
},
"thunder": {
name: "打雷",
@@ -351,35 +351,35 @@ export const move: MoveTranslationEntries = {
},
"rockThrow": {
name: "落石",
- effect: "拿起小岩石,投掷对手进行\n攻击",
+ effect: "拿起小岩石,投掷对手进行攻击",
},
"earthquake": {
name: "地震",
- effect: "利用地震的冲击,攻击自己\n周围所有的宝可梦",
+ effect: "利用地震的冲击,攻击自己周围所\n有的宝可梦",
},
"fissure": {
name: "地裂",
- effect: "让对手掉落于地裂的裂缝中\n进行攻击。只要命中就会一\n击昏厥",
+ effect: "让对手掉落于地裂的裂缝中进行攻击。\n只要命中就会一击昏厥",
},
"dig": {
name: "挖洞",
- effect: "第1回合钻入地底,第2回\n合攻击对手",
+ effect: "第1回合钻入地底,第2回合攻击对手",
},
"toxic": {
name: "剧毒",
- effect: "让对手陷入剧毒状态。随着\n回合的推进,中毒伤害会增\n加",
+ effect: "让对手陷入剧毒状态。\n随着回合的推进,中毒伤害会增加",
},
"confusion": {
name: "念力",
- effect: "向对手发送微弱的念力进行\n攻击。有时会使对手混乱",
+ effect: "向对手发送微弱的念力进行攻击。\n有时会使对手混乱",
},
"psychic": {
name: "精神强念",
- effect: "向对手发送强大的念力进行\n攻击。有时会降低对手的特\n防",
+ effect: "向对手发送强大的念力进行攻击。\n有时会降低对手的特防",
},
"hypnosis": {
name: "催眠术",
- effect: "施以诱导睡意的暗示,让对\n手陷入睡眠状态",
+ effect: "施以诱导睡意的暗示,\n让对手陷入睡眠状态",
},
"meditate": {
name: "瑜伽姿势",
@@ -387,23 +387,23 @@ export const move: MoveTranslationEntries = {
},
"agility": {
name: "高速移动",
- effect: "让身体放松变得轻盈,以便\n高速移动。大幅提高自己的\n速度",
+ effect: "让身体放松变得轻盈,\n以便高速移动。大幅提高自己的速度",
},
"quickAttack": {
name: "电光一闪",
- effect: "以迅雷不及掩耳之势扑向对\n手。必定能够先制攻击",
+ effect: "以迅雷不及掩耳之势扑向对手。\n必定能够先制攻击",
},
"rage": {
name: "愤怒",
- effect: "如果在使出招式后受到攻击\n的话,会因愤怒的力量而提\n高攻击",
+ effect: "如果在使出招式后受到攻击的话,\n会因愤怒的力量而提高攻击",
},
"teleport": {
name: "瞬间移动",
- effect: "当有后备宝可梦时使用,就\n可以进行替换。野生的宝可\n梦使用则会逃走",
+ effect: "当有后备宝可梦时使用,\n就可以进行替换。野生的宝可梦使用则会逃走",
},
"nightShade": {
name: "黑夜魔影",
- effect: "显示恐怖幻影,只给予对手\n和自己等级相同的伤害",
+ effect: "显示恐怖幻影,只给予对手和自己\n等级相同的伤害",
},
"mimic": {
name: "模仿",
@@ -411,7 +411,7 @@ export const move: MoveTranslationEntries = {
},
"screech": {
name: "刺耳声",
- effect: "发出不由自主想要捂起耳朵\n的刺耳声,从而大幅降低对\n手的防御",
+ effect: "发出不由自主想要捂起耳朵的刺耳声,\n从而大幅降低对手的防御",
},
"doubleTeam": {
name: "影子分身",
@@ -419,19 +419,19 @@ export const move: MoveTranslationEntries = {
},
"recover": {
name: "自我再生",
- effect: "让细胞再生,从而回复自己\n最大HP的一半",
+ effect: "让细胞再生,从而回复自己最大H\nP的一半",
},
"harden": {
name: "变硬",
- effect: "全身使劲,让身体变硬,从\n而提高自己的防御",
+ effect: "全身使劲,让身体变硬,\n从而提高自己的防御",
},
"minimize": {
name: "变小",
- effect: "蜷缩身体显得很小,从而大\n幅提高自己的闪避率",
+ effect: "蜷缩身体显得很小,从而大幅提高\n自己的闪避率",
},
"smokescreen": {
name: "烟幕",
- effect: "向对手喷出烟或墨汁等,从\n而降低对手的命中率",
+ effect: "向对手喷出烟或墨汁等,\n从而降低对手的命中率",
},
"confuseRay": {
name: "奇异之光",
@@ -439,59 +439,59 @@ export const move: MoveTranslationEntries = {
},
"withdraw": {
name: "缩入壳中",
- effect: "缩入壳里保护身体,从而提\n高自己的防御",
+ effect: "缩入壳里保护身体,从而提高自己的防御",
},
"defenseCurl": {
name: "变圆",
- effect: "将身体蜷曲变圆,从而提高\n自己的防御",
+ effect: "将身体蜷曲变圆,从而提高自己的防御",
},
"barrier": {
name: "屏障",
- effect: "制造坚固的壁障,从而大幅\n提高自己的防御",
+ effect: "制造坚固的壁障,从而大幅提高自\n己的防御",
},
"lightScreen": {
name: "光墙",
- effect: "利用神奇的墙壁,在5回合\n内减弱从对手那里受到的特\n殊攻击的伤害",
+ effect: "利用神奇的墙壁,在5回合内减弱\n从对手那里受到的特殊攻击的伤害",
},
"haze": {
name: "黑雾",
- effect: "升起黑雾,将正在场上战斗\n的全体宝可梦的能力变回原\n点",
+ effect: "升起黑雾,将正在场上战斗的全体\n宝可梦的能力变回原点",
},
"reflect": {
name: "反射壁",
- effect: "利用神奇的墙壁,在5回合\n内减弱从对手那里受到的物\n理攻击的伤害",
+ effect: "利用神奇的墙壁,在5回合内减弱\n从对手那里受到的物理攻击的伤害",
},
"focusEnergy": {
name: "聚气",
- effect: "深深地吸口气,集中精神。\n自己的攻击会变得容易击中\n要害",
+ effect: "深深地吸口气,集中精神。\n自己的攻击会变得容易击中要害",
},
"bide": {
name: "忍耐",
- effect: "在2回合内忍受攻击,受到\n的伤害会2倍返还给对手",
+ effect: "在2回合内忍受攻击,\n受到的伤害会2倍返还给对手",
},
"metronome": {
name: "挥指",
- effect: "挥动手指刺激自己的大脑,\n从许多的招式中随机使出1\n个",
+ effect: "挥动手指刺激自己的大脑,\n从许多的招式中随机使出1个",
},
"mirrorMove": {
name: "鹦鹉学舌",
- effect: "模仿对手使用的招式,自己\n也使用相同招式",
+ effect: "模仿对手使用的招式,\n自己也使用相同招式",
},
"selfDestruct": {
name: "玉石俱碎",
- effect: "引发爆炸,攻击自己周围所\n有的宝可梦。使用后陷入昏\n厥",
+ effect: "引发爆炸,攻击自己周围所有的宝可梦。\n使用后陷入昏厥",
},
"eggBomb": {
name: "炸蛋",
- effect: "向对手用力投掷大大的蛋进\n行攻击",
+ effect: "向对手用力投掷大大的蛋进行攻击",
},
"lick": {
name: "舌舔",
- effect: "用长长的舌头,舔遍对手进\n行攻击。有时会让对手陷入\n麻痹状态",
+ effect: "用长长的舌头,舔遍对手进行攻击。\n有时会让对手陷入麻痹状态",
},
"smog": {
name: "浊雾",
- effect: "将肮脏的浓雾吹向对手进行\n攻击。有时会让对手陷入中\n毒状态",
+ effect: "将肮脏的浓雾吹向对手进行攻击。\n有时会让对手陷入中毒状态",
},
"sludge": {
name: "污泥攻击",
@@ -499,27 +499,27 @@ export const move: MoveTranslationEntries = {
},
"boneClub": {
name: "骨棒",
- effect: "用手中的骨头殴打对手进行\n攻击。有时会使对手畏缩",
+ effect: "用手中的骨头殴打对手进行攻击。\n有时会使对手畏缩",
},
"fireBlast": {
name: "大字爆炎",
- effect: "用大字形状的火焰烧尽对手。\n有时会让对手陷入灼伤状\n态",
+ effect: "用大字形状的火焰烧尽对手。\n有时会让对手陷入灼伤状态",
},
"waterfall": {
name: "攀瀑",
- effect: "以惊人的气势扑向对手。有\n时会使对手畏缩",
+ effect: "以惊人的气势扑向对手。\n有时会使对手畏缩",
},
"clamp": {
name: "贝壳夹击",
- effect: "用非常坚固且厚实的贝壳,\n在4~5回合内夹住对手进\n行攻击",
+ effect: "用非常坚固且厚实的贝壳,\n在4~5回合内夹住对手进行攻击",
},
"swift": {
name: "高速星星",
- effect: "发射星形的光攻击对手。攻\n击必定会命中",
+ effect: "发射星形的光攻击对手。\n攻击必定会命中",
},
"skullBash": {
name: "火箭头锤",
- effect: "第1回合把头缩进去,从而\n提高防御。第2回合攻击对\n手",
+ effect: "第1回合把头缩进去,\n从而提高防御。第2回合攻击对手",
},
"spikeCannon": {
name: "尖刺加农炮",
@@ -527,7 +527,7 @@ export const move: MoveTranslationEntries = {
},
"constrict": {
name: "缠绕",
- effect: "用触手或青藤等缠绕进行攻\n击。有时会降低对手的速度",
+ effect: "用触手或青藤等缠绕进行攻击。\n有时会降低对手的速度",
},
"amnesia": {
name: "瞬间失忆",
@@ -535,7 +535,7 @@ export const move: MoveTranslationEntries = {
},
"kinesis": {
name: "折弯汤匙",
- effect: "折弯汤匙引开注意,从而降\n低对手的命中率",
+ effect: "折弯汤匙引开注意,从而降低对手\n的命中率",
},
"softBoiled": {
name: "生蛋",
@@ -543,7 +543,7 @@ export const move: MoveTranslationEntries = {
},
"highJumpKick": {
name: "飞膝踢",
- effect: "跳起后用膝盖撞对手进行攻\n击。如果撞偏则自己会受到\n伤害",
+ effect: "跳起后用膝盖撞对手进行攻击。\n如果撞偏则自己会受到伤害",
},
"glare": {
name: "大蛇瞪眼",
@@ -551,7 +551,7 @@ export const move: MoveTranslationEntries = {
},
"dreamEater": {
name: "食梦",
- effect: "吃掉正在睡觉的对手的梦进\n行攻击。回复对手所受到伤\n害的一半HP",
+ effect: "吃掉正在睡觉的对手的梦进行攻击。\n回复对手所受到伤害的一半HP",
},
"poisonGas": {
name: "毒瓦斯",
@@ -559,43 +559,43 @@ export const move: MoveTranslationEntries = {
},
"barrage": {
name: "投球",
- effect: "向对手投掷圆形物体进行攻\n击。连续攻击2~5次",
+ effect: "向对手投掷圆形物体进行攻击。\n连续攻击2~5次",
},
"leechLife": {
name: "吸血",
- effect: "吸取血液攻击对手。可以回\n复给予对手伤害的一半HP",
+ effect: "吸取血液攻击对手。可以回复给予\n对手伤害的一半HP",
},
"lovelyKiss": {
name: "恶魔之吻",
- effect: "用恐怖的脸强吻对手。让对\n手陷入睡眠状态",
+ effect: "用恐怖的脸强吻对手。\n让对手陷入睡眠状态",
},
"skyAttack": {
name: "神鸟猛击",
- effect: "第2回合攻击对手。偶尔使\n对手畏缩。也容易击中要害",
+ effect: "第2回合攻击对手。偶尔使对手畏缩。\n也容易击中要害",
},
"transform": {
name: "变身",
- effect: "变身成对手宝可梦的样子,\n能够使用和对手完全相同的\n招式",
+ effect: "变身成对手宝可梦的样子,\n能够使用和对手完全相同的招式",
},
"bubble": {
name: "泡沫",
- effect: "向对手用力吹起无数泡泡进\n行攻击。有时会降低对手的\n速度",
+ effect: "向对手用力吹起无数泡泡进行攻击。\n有时会降低对手的速度",
},
"dizzyPunch": {
name: "迷昏拳",
- effect: "有节奏地出拳攻击对手。有\n时会使对手混乱",
+ effect: "有节奏地出拳攻击对手。\n有时会使对手混乱",
},
"spore": {
name: "蘑菇孢子",
- effect: "沙沙沙地撒满具有催眠效果\n的孢子,从而让对手陷入睡\n眠状态",
+ effect: "沙沙沙地撒满具有催眠效果的孢子,\n从而让对手陷入睡眠状态",
},
"flash": {
name: "闪光",
- effect: "使出光芒,从而降低对手的\n命中率。也可在阴暗的洞窟\n里照亮四周",
+ effect: "使出光芒,从而降低对手的命中率。\n也可在阴暗的洞窟里照亮四周",
},
"psywave": {
name: "精神波",
- effect: "向对手发射神奇的念波进行\n攻击。每次使用,伤害都会\n改变",
+ effect: "向对手发射神奇的念波进行攻击。\n每次使用,伤害都会改变",
},
"splash": {
name: "跃起",
@@ -611,59 +611,59 @@ export const move: MoveTranslationEntries = {
},
"explosion": {
name: "大爆炸",
- effect: "引发大爆炸,攻击自己周围\n所有的宝可梦。使用后自己\n会陷入昏厥",
+ effect: "引发大爆炸,攻击自己周围所有的宝可梦。\n使用后自己会陷入昏厥",
},
"furySwipes": {
name: "乱抓",
- effect: "用爪子或镰刀等抓对手进行\n攻击。连续攻击2~5次",
+ effect: "用爪子或镰刀等抓对手进行攻击。\n连续攻击2~5次",
},
"bonemerang": {
name: "骨头回力镖",
- effect: "用手中的骨头投掷对手,来\n回连续2次给予伤害",
+ effect: "用手中的骨头投掷对手,\n来回连续2次给予伤害",
},
"rest": {
name: "睡觉",
- effect: "连续睡上2回合。回复自己\n的全部HP以及治愈所有异\n常状态",
+ effect: "连续睡上2回合。回复自己的全部\nHP以及治愈所有异常状态",
},
"rockSlide": {
name: "岩崩",
- effect: "将大岩石猛烈地撞向对手进\n行攻击。有时会使对手畏缩",
+ effect: "将大岩石猛烈地撞向对手进行攻击。\n有时会使对手畏缩",
},
"hyperFang": {
name: "终结门牙",
- effect: "用锋利的门牙牢牢地咬住对\n手进行攻击。有时会使对手\n畏缩",
+ effect: "用锋利的门牙牢牢地咬住对手进行攻击。\n有时会使对手畏缩",
},
"sharpen": {
name: "棱角化",
- effect: "增加身体的角,变得棱棱角\n角,从而提高自己的攻击",
+ effect: "增加身体的角,变得棱棱角角,\n从而提高自己的攻击",
},
"conversion": {
name: "纹理",
- effect: "将自己的属性转换成和已学\n会的招式中第一个招式相同\n的属性",
+ effect: "将自己的属性转换成和已学会的招\n式中第一个招式相同的属性",
},
"triAttack": {
name: "三重攻击",
- effect: "用3种光线进行攻击。有时\n会让对手陷入麻痹、灼伤或\n冰冻的状态",
+ effect: "用3种光线进行攻击。\n有时会让对手陷入麻痹、灼伤或冰冻的状态",
},
"superFang": {
name: "愤怒门牙",
- effect: "用锋利的门牙猛烈地咬住对\n手进行攻击。对手的HP减\n半",
+ effect: "用锋利的门牙猛烈地咬住对手进行攻击。\n对手的HP减半",
},
"slash": {
name: "劈开",
- effect: "用爪子或镰刀等劈开对手进\n行攻击。容易击中要害",
+ effect: "用爪子或镰刀等劈开对手进行攻击。\n容易击中要害",
},
"substitute": {
name: "替身",
- effect: "削减少许自己的HP,制造\n分身。分身将成为自己的替\n身",
+ effect: "削减少许自己的HP,\n制造分身。分身将成为自己的替身",
},
"struggle": {
name: "挣扎",
- effect: "当自己的PP耗尽时,努力\n挣扎攻击对手。自己也会受\n到少许伤害",
+ effect: "当自己的PP耗尽时,\n努力挣扎攻击对手。自己也会受到少许伤害",
},
"sketch": {
name: "写生",
- effect: "将对手使用的招式变成自己\n的招式。使用1次后写生消\n失",
+ effect: "将对手使用的招式变成自己的招式。\n使用1次后写生消失",
},
"tripleKick": {
name: "三连踢",
@@ -671,63 +671,63 @@ export const move: MoveTranslationEntries = {
},
"thief": {
name: "小偷",
- effect: "攻击的同时盗取道具。当自\n己携带道具时,不会去盗取",
+ effect: "攻击的同时盗取对手的道具。",
},
"spiderWeb": {
name: "蛛网",
- effect: "将黏糊糊的细丝一层一层缠\n住对手,使其不能从战斗中\n逃走",
+ effect: "将黏糊糊的细丝一层一层缠住对手,\n使其不能从战斗中逃走",
},
"mindReader": {
name: "心之眼",
- effect: "用心感受对手的行动,下次\n攻击必定会击中对手",
+ effect: "用心感受对手的行动,\n下次攻击必定会击中对手",
},
"nightmare": {
name: "恶梦",
- effect: "让在睡眠状态下的对手做恶\n梦,每回合会缓缓减少HP",
+ effect: "让在睡眠状态下的对手做恶梦,\n每回合会缓缓减少HP",
},
"flameWheel": {
name: "火焰轮",
- effect: "让火焰覆盖全身,猛撞向对\n手进行攻击。有时会让对手\n陷入灼伤状态",
+ effect: "让火焰覆盖全身,猛撞向对手进行攻击。\n有时会让对手陷入灼伤状态",
},
"snore": {
name: "打鼾",
- effect: "在自己睡觉时,发出噪音进\n行攻击。有时会使对手畏缩",
+ effect: "在自己睡觉时,发出噪音进行攻击。\n有时会使对手畏缩",
},
"curse": {
name: "诅咒",
- effect: "使用该招式的宝可梦,其属\n性是幽灵属性或其他属性时,\n效果会不一样",
+ effect: "使用该招式的宝可梦,\n其属性是幽灵属性或其他属性时,\n效果会不一样",
},
"flail": {
name: "抓狂",
- effect: "抓狂般乱打进行攻击。自己\n的HP越少,招式的威力越\n大",
+ effect: "抓狂般乱打进行攻击。\n自己的HP越少,招式的威力越大",
},
"conversion2": {
name: "纹理2",
- effect: "为了可以抵抗对手最后使用\n的招式,从而使自己的属性\n发生变化",
+ effect: "为了可以抵抗对手最后使用的招式,\n从而使自己的属性发生变化",
},
"aeroblast": {
name: "气旋攻击",
- effect: "发射空气旋涡进行攻击。容\n易击中要害",
+ effect: "发射空气旋涡进行攻击。\n容易击中要害",
},
"cottonSpore": {
name: "棉孢子",
- effect: "将棉花般柔软的孢子紧贴对\n手,从而大幅降低对手的速\n度",
+ effect: "将棉花般柔软的孢子紧贴对手,\n从而大幅降低对手的速度",
},
"reversal": {
name: "绝处逢生",
- effect: "竭尽全力进行攻击。自己的\nHP越少,招式的威力越大",
+ effect: "竭尽全力进行攻击。自己的HP越少,\n招式的威力越大",
},
"spite": {
name: "怨恨",
- effect: "对对手最后使用的招式怀有\n怨恨,减少4PP该招式",
+ effect: "对对手最后使用的招式怀有怨恨,\n减少4PP该招式",
},
"powderSnow": {
name: "细雪",
- effect: "将冰冷的细雪吹向对手进行\n攻击。有时会让对手陷入冰\n冻状态",
+ effect: "将冰冷的细雪吹向对手进行攻击。\n有时会让对手陷入冰冻状态",
},
"protect": {
name: "守住",
- effect: "完全抵挡对手的攻击。连续\n使出则容易失败",
+ effect: "完全抵挡对手的攻击。\n连续使出则容易失败",
},
"machPunch": {
name: "音速拳",
@@ -735,11 +735,11 @@ export const move: MoveTranslationEntries = {
},
"scaryFace": {
name: "可怕面孔",
- effect: "用恐怖的表情瞪着对手,使\n其害怕,从而大幅降低对手\n的速度",
+ effect: "用恐怖的表情瞪着对手,\n使其害怕,从而大幅降低对手的速度",
},
"feintAttack": {
name: "出奇一击",
- effect: "悄悄地靠近对手,趁其不备\n进行殴打。攻击必定会命中",
+ effect: "悄悄地靠近对手,趁其不备进行殴打。\n攻击必定会命中",
},
"sweetKiss": {
name: "天使之吻",
@@ -747,7 +747,7 @@ export const move: MoveTranslationEntries = {
},
"bellyDrum": {
name: "腹鼓",
- effect: "将自己的HP减少到最大\nHP的一半,从而最大限度提\n高自己的攻击",
+ effect: "将自己的HP减少到最大HP的一半,\n从而最大限度提高自己的攻击",
},
"sludgeBomb": {
name: "污泥炸弹",
@@ -755,79 +755,79 @@ export const move: MoveTranslationEntries = {
},
"mudSlap": {
name: "掷泥",
- effect: "向对手的脸等投掷泥块进行\n攻击。会降低对手的命中率",
+ effect: "向对手的脸等投掷泥块进行攻击。\n会降低对手的命中率",
},
"octazooka": {
name: "章鱼桶炮",
- effect: "向对手的脸等喷出墨汁进行\n攻击。有时会降低对手的命\n中率",
+ effect: "向对手的脸等喷出墨汁进行攻击。\n有时会降低对手的命中率",
},
"spikes": {
name: "撒菱",
- effect: "在对手的脚下扔撒菱。对替\n换出场的对手的宝可梦给予\n伤害",
+ effect: "在对手的脚下扔撒菱。\n对替换出场的对手的宝可梦给予伤害",
},
"zapCannon": {
name: "电磁炮",
- effect: "发射大炮一样的电流进行攻\n击。让对手陷入麻痹状态",
+ effect: "发射大炮一样的电流进行攻击。\n让对手陷入麻痹状态",
},
"foresight": {
name: "识破",
- effect: "使出后对幽灵属性宝可梦没\n有效果的招式以及闪避率高\n的对手,变得能够打中",
+ effect: "使出后对幽灵属性宝可梦没有效果\n的招式以及闪避率高的对手,\n变得能够打中",
},
"destinyBond": {
name: "同命",
- effect: "使出招式后,当受到对手攻\n击陷入昏厥时,对手也会一\n同昏厥。连续使出则会失败",
+ effect: "使出招式后,当受到对手攻击陷入昏厥时,\n对手也会一同昏厥。\n连续使出则会失败",
},
"perishSong": {
name: "终焉之歌",
- effect: "倾听歌声的宝可梦经过3回\n合陷入昏厥。替换后效果消\n失",
+ effect: "倾听歌声的宝可梦经过3回合陷入昏厥。\n替换后效果消失",
},
"icyWind": {
name: "冰冻之风",
- effect: "将结冰的冷气吹向对手进行\n攻击。会降低对手的速度",
+ effect: "将结冰的冷气吹向对手进行攻击。\n会降低对手的速度",
},
"detect": {
name: "看穿",
- effect: "完全抵挡对手的攻击。连续\n使出则容易失败",
+ effect: "完全抵挡对手的攻击。\n连续使出则容易失败",
},
"boneRush": {
name: "骨棒乱打",
- effect: "用坚硬的骨头殴打对手进行\n攻击。连续攻击2~5次",
+ effect: "用坚硬的骨头殴打对手进行攻击。\n连续攻击2~5次",
},
"lockOn": {
name: "锁定",
- effect: "紧紧瞄准对手,下次攻击必\n定会打中",
+ effect: "紧紧瞄准对手,下次攻击必定会打中",
},
"outrage": {
name: "逆鳞",
- effect: "在2~3回合内,乱打一气\n地进行攻击。大闹一番后自\n己会陷入混乱",
+ effect: "在2~3回合内,乱打一气地进行攻击。\n大闹一番后自己会陷入混乱",
},
"sandstorm": {
name: "沙暴",
- effect: "在5回合内扬起沙暴,除岩\n石、地面和钢属性以外的宝\n可梦,都会受到伤害。岩石\n属性的特防还会提高",
+ effect: "在5回合内扬起沙暴,\n除岩石、地面和钢属性以外的宝可梦,\n都会受到伤害。岩石属性的特防还会提高",
},
"gigaDrain": {
name: "终极吸取",
- effect: "吸取对手的养分进行攻击。\n可以回复给予对手伤害的一\n半HP",
+ effect: "吸取对手的养分进行攻击。\n可以回复给予对手伤害的一半HP",
},
"endure": {
name: "挺住",
- effect: "即使受到攻击,也至少会留\n下1HP。连续使出则容易\n失败",
+ effect: "即使受到攻击,也至少会留下1HP。\n连续使出则容易失败",
},
"charm": {
name: "撒娇",
- effect: "可爱地凝视,诱使对手疏忽\n大意,从而大幅降低对手的\n攻击",
+ effect: "可爱地凝视,诱使对手疏忽大意,\n从而大幅降低对手的攻击",
},
"rollout": {
name: "滚动",
- effect: "在5回合内连续滚动攻击对\n手。招式每次击中,威力就\n会提高",
+ effect: "在5回合内连续滚动攻击对手。\n招式每次击中,威力就会提高",
},
"falseSwipe": {
name: "点到为止",
- effect: "对手的HP至少会留下1\nHP,如此般手下留情地攻击",
+ effect: "对手的HP至少会留下1HP,\n如此般手下留情地攻击",
},
"swagger": {
name: "虚张声势",
- effect: "激怒对手,使其混乱。因为\n愤怒,对手的攻击会大幅提\n高",
+ effect: "激怒对手,使其混乱。\n因为愤怒,对手的攻击会大幅提高",
},
"milkDrink": {
name: "喝牛奶",
@@ -835,31 +835,31 @@ export const move: MoveTranslationEntries = {
},
"spark": {
name: "电光",
- effect: "让电流覆盖全身,猛撞向对\n手进行攻击。有时会让对手\n陷入麻痹状态",
+ effect: "让电流覆盖全身,猛撞向对手进行攻击。\n有时会让对手陷入麻痹状态",
},
"furyCutter": {
name: "连斩",
- effect: "用镰刀或爪子等切斩对手进\n行攻击。连续击中,威力就\n会提高",
+ effect: "用镰刀或爪子等切斩对手进行攻击。\n连续击中,威力就会提高",
},
"steelWing": {
name: "钢翼",
- effect: "用坚硬的翅膀敲打对手进行\n攻击。有时会提高自己的防\n御",
+ effect: "用坚硬的翅膀敲打对手进行攻击。\n有时会提高自己的防御",
},
"meanLook": {
name: "黑色目光",
- effect: "用好似要勾人心魂的黑色目\n光一动不动地凝视对手,使\n其不能从战斗中逃走",
+ effect: "用好似要勾人心魂的黑色目光一动\n不动地凝视对手,使其不能从战斗中逃走",
},
"attract": {
name: "迷人",
- effect: "♂诱惑♀或♀诱惑♂,让对\n手着迷。对手将很难使出招\n式",
+ effect: "♂诱惑♀或♀诱惑♂,让对手着迷。\n对手将很难使出招式",
},
"sleepTalk": {
name: "梦话",
- effect: "从自己已学会的招式中任意\n使出1个。只能在自己睡觉\n时使用",
+ effect: "从自己已学会的招式中任意使出1个。\n只能在自己睡觉时使用",
},
"healBell": {
name: "治愈铃声",
- effect: "让同伴听舒适的铃音,从而\n治愈我方全员的异常状态",
+ effect: "让同伴听舒适的铃音,\n从而治愈我方全员的异常状态",
},
"return": {
name: "报恩",
@@ -867,27 +867,27 @@ export const move: MoveTranslationEntries = {
},
"present": {
name: "礼物",
- effect: "递给对手设有圈套的盒子进\n行攻击。也有可能回复对手\nHP",
+ effect: "递给对手设有圈套的盒子进行攻击。\n也有可能回复对手HP",
},
"frustration": {
name: "迁怒",
- effect: "为了发泄不满而全力攻击对\n手。亲密度越低,威力越大",
+ effect: "为了发泄不满而全力攻击对手。\n亲密度越低,威力越大",
},
"safeguard": {
name: "神秘守护",
- effect: "在5回合内被神奇的力量守\n护,从而不会陷入异常状态",
+ effect: "在5回合内被神奇的力量守护,\n从而不会陷入异常状态",
},
"painSplit": {
name: "分担痛楚",
- effect: "将自己的HP和对手的HP\n相加,然后自己和对手友好\n地平分",
+ effect: "将自己的HP和对手的HP相加,\n然后自己和对手友好地平分",
},
"sacredFire": {
name: "神圣之火",
- effect: "用神秘的火焰烧尽对手进行\n攻击。有时会让对手陷入灼\n伤状态",
+ effect: "用神秘的火焰烧尽对手进行攻击。\n有时会让对手陷入灼伤状态",
},
"magnitude": {
name: "震级",
- effect: "晃动地面,攻击自己周围所\n有的宝可梦。招式的威力会\n有各种变化",
+ effect: "晃动地面,攻击自己周围所有的宝可梦。\n招式的威力会有各种变化",
},
"dynamicPunch": {
name: "爆裂拳",
@@ -895,75 +895,75 @@ export const move: MoveTranslationEntries = {
},
"megahorn": {
name: "超级角击",
- effect: "用坚硬且华丽的角狠狠地刺\n入对手进行攻击",
+ effect: "用坚硬且华丽的角狠狠地刺入对手\n进行攻击",
},
"dragonBreath": {
name: "龙息",
- effect: "将强烈的气息吹向对手进行\n攻击。有时会让对手陷入麻\n痹状态",
+ effect: "将强烈的气息吹向对手进行攻击。\n有时会让对手陷入麻痹状态",
},
"batonPass": {
name: "接棒",
- effect: "和后备宝可梦进行替换。换\n上的宝可梦能直接继承其能\n力的变化",
+ effect: "和后备宝可梦进行替换。\n换上的宝可梦能直接继承其能力的变化",
},
"encore": {
name: "再来一次",
- effect: "让对手接受再来一次,连续\n3次使出最后使用的招式",
+ effect: "让对手接受再来一次,\n连续3次使出最后使用的招式",
},
"pursuit": {
name: "追打",
- effect: "当对手替换宝可梦上场时使\n出此招式的话,能够以2倍\n的威力进行攻击",
+ effect: "当对手替换宝可梦上场时使出此招式的话,\n能够以2倍的威力进行攻击",
},
"rapidSpin": {
name: "高速旋转",
- effect: "通过旋转来攻击对手。可以\n摆脱绑紧、紧束、寄生种子\n等招式。还能提高自己的速\n度",
+ effect: "通过旋转来攻击对手。\n可以摆脱绑紧、紧束、寄生种子等招式。\n还能提高自己的速度",
},
"sweetScent": {
name: "甜甜香气",
- effect: "用香气大幅降低对手的闪避\n率",
+ effect: "用香气大幅降低对手的闪避率",
},
"ironTail": {
name: "铁尾",
- effect: "使用坚硬的尾巴摔打对手进\n行攻击。有时会降低对手的\n防御",
+ effect: "使用坚硬的尾巴摔打对手进行攻击。\n有时会降低对手的防御",
},
"metalClaw": {
name: "金属爪",
- effect: "用钢铁之爪劈开对手进行攻\n击。有时会提高自己的攻击",
+ effect: "用钢铁之爪劈开对手进行攻击。\n有时会提高自己的攻击",
},
"vitalThrow": {
name: "借力摔",
- effect: "会在对手之后进行攻击。但\n是自己的攻击必定会命中",
+ effect: "会在对手之后进行攻击。\n但是自己的攻击必定会命中",
},
"morningSun": {
name: "晨光",
- effect: "回复自己的HP。根据天气\n的不同,回复量也会有所变\n化",
+ effect: "回复自己的HP。根据天气的不同,\n回复量也会有所变化",
},
"synthesis": {
name: "光合作用",
- effect: "回复自己的HP。根据天气\n的不同,回复量也会有所变\n化",
+ effect: "回复自己的HP。根据天气的不同,\n回复量也会有所变化",
},
"moonlight": {
name: "月光",
- effect: "回复自己的HP。根据天气\n的不同,回复量也会有所变\n化",
+ effect: "回复自己的HP。根据天气的不同,\n回复量也会有所变化",
},
"hiddenPower": {
name: "觉醒力量",
- effect: "招式的属性会随着使用此招\n式的宝可梦而改变",
+ effect: "招式的属性会随着使用此招式的宝\n可梦而改变",
},
"crossChop": {
name: "十字劈",
- effect: "用两手呈十字劈打对手进行\n攻击。容易击中要害",
+ effect: "用两手呈十字劈打对手进行攻击。\n容易击中要害",
},
"twister": {
name: "龙卷风",
- effect: "兴起龙卷风,将对手卷入进\n行攻击。有时会使对手畏缩",
+ effect: "兴起龙卷风,将对手卷入进行攻击。\n有时会使对手畏缩",
},
"rainDance": {
name: "求雨",
- effect: "在5回合内一直降雨,从而\n提高水属性的招式威力。火\n属性的招式威力则降低",
+ effect: "在5回合内一直降雨,\n从而提高水属性的招式威力。火属性的招式威\n力则降低",
},
"sunnyDay": {
name: "大晴天",
- effect: "在5回合内让日照变得强烈,\n从而提高火属性的招式威\n力。水属性的招式威力则降\n低",
+ effect: "在5回合内让日照变得强烈,\n从而提高火属性的招式威力。\n水属性的招式威力则降低",
},
"crunch": {
name: "咬碎",
@@ -971,111 +971,111 @@ export const move: MoveTranslationEntries = {
},
"mirrorCoat": {
name: "镜面反射",
- effect: "从对手那里受到特殊攻击的\n伤害将以2倍返还给同一个\n对手",
+ effect: "从对手那里受到特殊攻击的伤害将\n以2倍返还给同一个对手",
},
"psychUp": {
name: "自我暗示",
- effect: "向自己施以自我暗示,将能\n力变化的状态变得和对手一\n样",
+ effect: "向自己施以自我暗示,\n将能力变化的状态变得和对手一样",
},
"extremeSpeed": {
name: "神速",
- effect: "以迅雷不及掩耳之势猛撞向\n对手进行攻击。必定能够先\n制攻击",
+ effect: "以迅雷不及掩耳之势猛撞向对手进行攻击。\n必定能够先制攻击",
},
"ancientPower": {
name: "原始之力",
- effect: "用原始之力进行攻击。有时\n会提高自己所有的能力",
+ effect: "用原始之力进行攻击。\n有时会提高自己所有的能力",
},
"shadowBall": {
name: "暗影球",
- effect: "投掷一团黑影进行攻击。有\n时会降低对手的特防",
+ effect: "投掷一团黑影进行攻击。\n有时会降低对手的特防",
},
"futureSight": {
name: "预知未来",
- effect: "在使用招式2回合后,向对\n手发送一团念力进行攻击",
+ effect: "在使用招式2回合后,\n向对手发送一团念力进行攻击",
},
"rockSmash": {
name: "碎岩",
- effect: "用拳头进行攻击。有时会降\n低对手的防御",
+ effect: "用拳头进行攻击。有时会降低对手的防御",
},
"whirlpool": {
name: "潮旋",
- effect: "将对手困在激烈的水流旋涡\n中,在4~5回合内进行攻\n击",
+ effect: "将对手困在激烈的水流旋涡中,\n在4~5回合内进行攻击",
},
"beatUp": {
name: "围攻",
- effect: "我方全员进行攻击。同行的\n宝可梦越多,招式的攻击次\n数越多",
+ effect: "我方全员进行攻击。同行的宝可梦越多,\n招式的攻击次数越多",
},
"fakeOut": {
name: "击掌奇袭",
- effect: "进行先制攻击,使对手畏缩。\n要在出场后立刻使出才能\n成功",
+ effect: "进行先制攻击,使对手畏缩。\n要在出场后立刻使出才能成功",
},
"uproar": {
name: "吵闹",
- effect: "在3回合内大吵大闹攻击对\n手。在此期间谁都不能入眠",
+ effect: "在3回合内大吵大闹攻击对手。\n在此期间谁都不能入眠",
},
"stockpile": {
name: "蓄力",
- effect: "积蓄力量,提高自己的防御\n和特防。最多积蓄3次",
+ effect: "积蓄力量,提高自己的防御和特防。\n最多积蓄3次",
},
"spitUp": {
name: "喷出",
- effect: "将积蓄的力量撞向对手进行\n攻击。积蓄得越多,威力越\n大",
+ effect: "将积蓄的力量撞向对手进行攻击。\n积蓄得越多,威力越大",
},
"swallow": {
name: "吞下",
- effect: "将积蓄的力量吞下,从而回\n复自己的HP。积蓄得越多,\n回复越大",
+ effect: "将积蓄的力量吞下,从而回复自己的HP。\n积蓄得越多,回复越大",
},
"heatWave": {
name: "热风",
- effect: "将炎热的气息吹向对手进行\n攻击。有时会让对手陷入灼\n伤状态",
+ effect: "将炎热的气息吹向对手进行攻击。\n有时会让对手陷入灼伤状态",
},
"hail": {
name: "冰雹",
- effect: "在5回合内一直降冰雹,除\n冰属性的宝可梦以外,给予\n全体宝可梦伤害",
+ effect: "在5回合内一直降冰雹,\n除冰属性的宝可梦以外,给予全体宝可梦伤害",
},
"torment": {
name: "无理取闹",
- effect: "向对手无理取闹,令其不能\n连续2次使出相同招式",
+ effect: "向对手无理取闹,令其不能连续2\n次使出相同招式",
},
"flatter": {
name: "吹捧",
- effect: "吹捧对手,使其混乱。同时\n还会提高对手的特攻",
+ effect: "吹捧对手,使其混乱。\n同时还会提高对手的特攻",
},
"willOWisp": {
name: "磷火",
- effect: "放出怪异的火焰,从而让对\n手陷入灼伤状态",
+ effect: "放出怪异的火焰,从而让对手陷入\n灼伤状态",
},
"memento": {
name: "临别礼物",
- effect: "虽然会使自己陷入昏厥,但\n是能够大幅降低对手的攻击\n和特攻",
+ effect: "虽然会使自己陷入昏厥,\n但是能够大幅降低对手的攻击和特攻",
},
"facade": {
name: "硬撑",
- effect: "当自己处于中毒、麻痹、灼\n伤状态时,向对手使出此招\n式的话,威力会变成2倍",
+ effect: "当自己处于中毒、麻痹、灼伤状态时,\n向对手使出此招式的话,\n威力会变成2倍",
},
"focusPunch": {
name: "真气拳",
- effect: "集中精神出拳。在招式使出\n前若受到攻击则会失败",
+ effect: "集中精神出拳。在招式使出前若受\n到攻击则会失败",
},
"smellingSalts": {
name: "清醒",
- effect: "对于麻痹状态下的对手,威\n力会变成2倍。但相反对手\n的麻痹也会被治愈",
+ effect: "对于麻痹状态下的对手,\n威力会变成2倍。但相反对手的麻痹也会被治愈",
},
"followMe": {
name: "看我嘛",
- effect: "引起对手的注意,将对手的\n攻击全部转移到自己身上",
+ effect: "引起对手的注意,将对手的攻击全\n部转移到自己身上",
},
"naturePower": {
name: "自然之力",
- effect: "用自然之力进行攻击。根据\n所使用场所的不同,使出的\n招式也会有所变化",
+ effect: "用自然之力进行攻击。\n根据所使用场所的不同,使出的招式也会有所变化",
},
"charge": {
name: "充电",
- effect: "变为充电状态,提高下次使\n出的电属性的招式威力。自\n己的特防也会提高",
+ effect: "变为充电状态,提高下次使出的电\n属性的招式威力。自己的特防也会提高",
},
"taunt": {
name: "挑衅",
- effect: "使对手愤怒。在3回合内让\n对手只能使出给予伤害的招\n式",
+ effect: "使对手愤怒。在3回合内让对手只\n能使出给予伤害的招式",
},
"helpingHand": {
name: "帮助",
@@ -1083,23 +1083,23 @@ export const move: MoveTranslationEntries = {
},
"trick": {
name: "戏法",
- effect: "抓住对手的空隙,交换自己\n和对手的持有物",
+ effect: "抓住对手的空隙,交换自己和对手\n的持有物",
},
"rolePlay": {
name: "扮演",
- effect: "扮演对手,让自己的特性变\n得和对手相同",
+ effect: "扮演对手,让自己的特性变得和对手相同",
},
"wish": {
name: "祈愿",
- effect: "在下一回合回复自己或是替\n换出场的宝可梦最大HP的\n一半",
+ effect: "在下一回合回复自己或是替换出场\n的宝可梦最大HP的一半",
},
"assist": {
name: "借助",
- effect: "向同伴紧急求助,从我方宝\n可梦已学会的招式中随机使\n用1个",
+ effect: "向同伴紧急求助,从我方宝可梦已\n学会的招式中随机使用1个",
},
"ingrain": {
name: "扎根",
- effect: "在大地上扎根,每回合回复\n自己的HP。因为扎根了,\n所以不能替换宝可梦",
+ effect: "在大地上扎根,每回合回复自己的HP。\n因为扎根了,所以不能替换宝可梦",
},
"superpower": {
name: "蛮力",
@@ -1107,11 +1107,11 @@ export const move: MoveTranslationEntries = {
},
"magicCoat": {
name: "魔法反射",
- effect: "当对手使出会变成异常状态\n的招式或寄生种子等时,会\n将对手的招式反射回去",
+ effect: "当对手使出会变成异常状态的招式\n或寄生种子等时,会将对手的招式\n反射回去",
},
"recycle": {
name: "回收利用",
- effect: "使战斗中已经消耗掉的自己\n的持有物再生,并可以再次\n使用",
+ effect: "使战斗中已经消耗掉的自己的持有物再生,\n并可以再次使用",
},
"revenge": {
name: "报复",
@@ -1119,63 +1119,63 @@ export const move: MoveTranslationEntries = {
},
"brickBreak": {
name: "劈瓦",
- effect: "将手刀猛烈地挥下攻击对手。\n还可以破坏光墙和反射壁\n等",
+ effect: "将手刀猛烈地挥下攻击对手。\n还可以破坏光墙和反射壁等",
},
"yawn": {
name: "哈欠",
- effect: "打个大哈欠引起睡意。在下\n一回合让对手陷入睡眠状态",
+ effect: "打个大哈欠引起睡意。\n在下一回合让对手陷入睡眠状态",
},
"knockOff": {
name: "拍落",
- effect: "拍落对手的持有物,直到战\n斗结束都不能使用。对手携\n带道具时会增加伤害",
+ effect: "拍落对手的持有物,直到战斗结束\n都不能使用。对手携带道具时会增加伤害",
},
"endeavor": {
name: "蛮干",
- effect: "给予伤害,使对手的HP变\n得和自己的HP一样",
+ effect: "给予伤害,使对手的HP变得和自\n己的HP一样",
},
"eruption": {
name: "喷火",
- effect: "爆发怒火攻击对手。自己的\nHP越少,招式的威力越小",
+ effect: "爆发怒火攻击对手。自己的HP越少,\n招式的威力越小",
},
"skillSwap": {
name: "特性互换",
- effect: "利用超能力互换自己和对手\n的特性",
+ effect: "利用超能力互换自己和对手的特性",
},
"imprison": {
name: "封印",
- effect: "如果对手有和自己相同的招\n式,那么只有对手无法使用\n该招式",
+ effect: "如果对手有和自己相同的招式,\n那么只有对手无法使用该招式",
},
"refresh": {
name: "焕然一新",
- effect: "让身体休息,治愈自己身上\n所中的毒、麻痹、灼伤的异\n常状态",
+ effect: "让身体休息,治愈自己身上所中的\n毒、麻痹、灼伤的异常状态",
},
"grudge": {
name: "怨念",
- effect: "因对手的招式而陷入昏厥时\n给对手施加怨念,让该招式\n的PP变成0",
+ effect: "因对手的招式而陷入昏厥时给对手\n施加怨念,让该招式的PP变成0",
},
"snatch": {
name: "抢夺",
- effect: "将对手打算使用的回复招式\n或能力变化招式夺为己用",
+ effect: "将对手打算使用的回复招式或能力\n变化招式夺为己用",
},
"secretPower": {
name: "秘密之力",
- effect: "根据使用场所不同,该招式\n的追加效果也会有所变化",
+ effect: "根据使用场所不同,该招式的追加\n效果也会有所变化",
},
"dive": {
name: "潜水",
- effect: "第1回合潜入水中,第2回\n合浮上来进行攻击",
+ effect: "第1回合潜入水中,第2回合浮上\n来进行攻击",
},
"armThrust": {
name: "猛推",
- effect: "用张开着的双手猛推对手进\n行攻击。连续攻击2~5次",
+ effect: "用张开着的双手猛推对手进行攻击。\n连续攻击2~5次",
},
"camouflage": {
name: "保护色",
- effect: "根据所在场所不同,如水边\n、草丛和洞窟等,可以改变\n自己的属性",
+ effect: "根据所在场所不同,如水边、草丛\n和洞窟等,可以改变自己的属性",
},
"tailGlow": {
name: "萤火",
- effect: "凝视闪烁的光芒,集中自己\n的精神,从而巨幅提高特攻",
+ effect: "凝视闪烁的光芒,集中自己的精神,\n从而巨幅提高特攻",
},
"lusterPurge": {
name: "洁净光芒",
@@ -1183,51 +1183,51 @@ export const move: MoveTranslationEntries = {
},
"mistBall": {
name: "薄雾球",
- effect: "用围绕着雾状羽毛的球进行\n攻击。有时会降低对手的特\n攻",
+ effect: "用围绕着雾状羽毛的球进行攻击。\n有时会降低对手的特攻",
},
"featherDance": {
name: "羽毛舞",
- effect: "撒出羽毛,笼罩在对手的周\n围。大幅降低对手的攻击",
+ effect: "撒出羽毛,笼罩在对手的周围。\n大幅降低对手的攻击",
},
"teeterDance": {
name: "摇晃舞",
- effect: "摇摇晃晃地跳起舞蹈,让自\n己周围的宝可梦陷入混乱状\n态",
+ effect: "摇摇晃晃地跳起舞蹈,\n让自己周围的宝可梦陷入混乱状态",
},
"blazeKick": {
name: "火焰踢",
- effect: "攻击对手后,有时会使其陷\n入灼伤状态。也容易击中要\n害",
+ effect: "攻击对手后,有时会使其陷入灼伤状态。\n也容易击中要害",
},
"mudSport": {
name: "玩泥巴",
- effect: "一旦使用此招式,周围就会\n弄得到处是泥。在5回合内\n减弱电属性的招式",
+ effect: "一旦使用此招式,周围就会弄得到处是泥。\n在5回合内减弱电属性的招式",
},
"iceBall": {
name: "冰球",
- effect: "在5回合内攻击对手。招式\n每次击中,威力就会提高",
+ effect: "在5回合内攻击对手。\n招式每次击中,威力就会提高",
},
"needleArm": {
name: "尖刺臂",
- effect: "用带刺的手臂猛烈地挥舞进\n行攻击。有时会使对手畏缩",
+ effect: "用带刺的手臂猛烈地挥舞进行攻击。\n有时会使对手畏缩",
},
"slackOff": {
name: "偷懒",
- effect: "偷懒休息。回复自己最大\nHP的一半",
+ effect: "偷懒休息。回复自己最大HP的一半",
},
"hyperVoice": {
name: "巨声",
- effect: "给予对手又吵又响的巨大震\n动进行攻击",
+ effect: "给予对手又吵又响的巨大震动进行攻击",
},
"poisonFang": {
name: "剧毒牙",
- effect: "用有毒的牙齿咬住对手进行\n攻击。有时会使对手中剧毒",
+ effect: "用有毒的牙齿咬住对手进行攻击。\n有时会使对手中剧毒",
},
"crushClaw": {
name: "撕裂爪",
- effect: "用坚硬的锐爪劈开对手进行\n攻击。有时会降低对手的防\n御",
+ effect: "用坚硬的锐爪劈开对手进行攻击。\n有时会降低对手的防御",
},
"blastBurn": {
name: "爆炸烈焰",
- effect: "用爆炸的火焰烧尽对手进行\n攻击。下一回合自己将无法\n动弹",
+ effect: "用爆炸的火焰烧尽对手进行攻击。\n下一回合自己将无法动弹",
},
"hydroCannon": {
name: "加农水炮",
@@ -1239,15 +1239,15 @@ export const move: MoveTranslationEntries = {
},
"astonish": {
name: "惊吓",
- effect: "用尖叫声等突然惊吓对手进\n行攻击。有时会使对手畏缩",
+ effect: "用尖叫声等突然惊吓对手进行攻击。\n有时会使对手畏缩",
},
"weatherBall": {
name: "气象球",
- effect: "根据使用时的天气,招式属\n性和威力会改变",
+ effect: "根据使用时的天气,招式属性和威\n力会改变",
},
"aromatherapy": {
name: "芳香治疗",
- effect: "让同伴闻沁人心脾的香气,\n从而治愈我方全员的异常状\n态",
+ effect: "让同伴闻沁人心脾的香气,\n从而治愈我方全员的异常状态",
},
"fakeTears": {
name: "假哭",
@@ -1255,19 +1255,19 @@ export const move: MoveTranslationEntries = {
},
"airCutter": {
name: "空气利刃",
- effect: "用锐利的风切斩对手进行攻\n击。容易击中要害",
+ effect: "用锐利的风切斩对手进行攻击。\n容易击中要害",
},
"overheat": {
name: "过热",
- effect: "使出全部力量攻击对手。使\n用之后会因为反作用力,自\n己的特攻大幅降低",
+ effect: "使出全部力量攻击对手。\n使用之后会因为反作用力,自己的特攻大幅降低",
},
"odorSleuth": {
name: "气味侦测",
- effect: "使出后对幽灵属性宝可梦没\n有效果的招式以及闪避率高\n的对手,变得能够打中",
+ effect: "使出后对幽灵属性宝可梦没有效果\n的招式以及闪避率高的对手,\n变得能够打中",
},
"rockTomb": {
name: "岩石封锁",
- effect: "投掷岩石进行攻击。封住对\n手的行动,从而降低速度",
+ effect: "投掷岩石进行攻击。封住对手的行动,\n从而降低速度",
},
"silverWind": {
name: "银色旋风",
@@ -1275,23 +1275,23 @@ export const move: MoveTranslationEntries = {
},
"metalSound": {
name: "金属音",
- effect: "让对手听摩擦金属般讨厌的\n声音。大幅降低对手的特防",
+ effect: "让对手听摩擦金属般讨厌的声音。\n大幅降低对手的特防",
},
"grassWhistle": {
name: "草笛",
- effect: "让对手听舒适的笛声,从而\n陷入睡眠状态",
+ effect: "让对手听舒适的笛声,\n从而陷入睡眠状态",
},
"tickle": {
name: "挠痒",
- effect: "给对手挠痒,使其发笑,从\n而降低对手的攻击和防御",
+ effect: "给对手挠痒,使其发笑,\n从而降低对手的攻击和防御",
},
"cosmicPower": {
name: "宇宙力量",
- effect: "汲取宇宙中神秘的力量,从\n而提高自己的防御和特防",
+ effect: "汲取宇宙中神秘的力量,\n从而提高自己的防御和特防",
},
"waterSpout": {
name: "喷水",
- effect: "掀起潮水进行攻击。自己的\nHP越少,招式的威力越小",
+ effect: "掀起潮水进行攻击。自己的HP越少,\n招式的威力越小",
},
"signalBeam": {
name: "信号光束",
@@ -1299,55 +1299,55 @@ export const move: MoveTranslationEntries = {
},
"shadowPunch": {
name: "暗影拳",
- effect: "使出混影之拳。攻击必定会\n命中",
+ effect: "使出混影之拳。攻击必定会命中",
},
"extrasensory": {
name: "神通力",
- effect: "发出看不见的神奇力量进行\n攻击。有时会使对手畏缩",
+ effect: "发出看不见的神奇力量进行攻击。\n有时会使对手畏缩",
},
"skyUppercut": {
name: "冲天拳",
- effect: "用冲向天空般高高的上勾拳\n顶起对手进行攻击",
+ effect: "用冲向天空般高高的上勾拳顶起对\n手进行攻击",
},
"sandTomb": {
name: "流沙深渊",
- effect: "将对手困在铺天盖地的沙暴\n中,在4~5回合内进行攻\n击",
+ effect: "将对手困在铺天盖地的沙暴中,\n在4~5回合内进行攻击",
},
"sheerCold": {
name: "绝对零度",
- effect: "给对手一击昏厥。如果是冰\n属性以外的宝可梦使用,就\n会难以打中",
+ effect: "给对手一击昏厥。如果是冰属性以\n外的宝可梦使用,就会难以打中",
},
"muddyWater": {
name: "浊流",
- effect: "向对手喷射浑浊的水进行攻\n击。有时会降低对手的命中\n率",
+ effect: "向对手喷射浑浊的水进行攻击。\n有时会降低对手的命中率",
},
"bulletSeed": {
name: "种子机关枪",
- effect: "向对手猛烈地发射种子进行\n攻击。连续攻击2~5次",
+ effect: "向对手猛烈地发射种子进行攻击。\n连续攻击2~5次",
},
"aerialAce": {
name: "燕返",
- effect: "以敏捷的动作戏弄对手后进\n行切斩。攻击必定会命中",
+ effect: "以敏捷的动作戏弄对手后进行切斩。\n攻击必定会命中",
},
"icicleSpear": {
name: "冰锥",
- effect: "向对手发射锋利的冰柱进行\n攻击。连续攻击2~5次",
+ effect: "向对手发射锋利的冰柱进行攻击。\n连续攻击2~5次",
},
"ironDefense": {
name: "铁壁",
- effect: "将皮肤变得坚硬如铁,从而\n大幅提高自己的防御",
+ effect: "将皮肤变得坚硬如铁,\n从而大幅提高自己的防御",
},
"block": {
name: "挡路",
- effect: "张开双手进行阻挡,封住对\n手的退路,使其不能逃走",
+ effect: "张开双手进行阻挡,封住对手的退路,\n使其不能逃走",
},
"howl": {
name: "长嚎",
- effect: "大声吼叫提高气势,从而提\n高自己和同伴的攻击",
+ effect: "大声吼叫提高气势,从而提高自己\n和同伴的攻击",
},
"dragonClaw": {
name: "龙爪",
- effect: "用尖锐的巨爪劈开对手进行\n攻击",
+ effect: "用尖锐的巨爪劈开对手进行攻击",
},
"frenzyPlant": {
name: "疯狂植物",
@@ -1355,11 +1355,11 @@ export const move: MoveTranslationEntries = {
},
"bulkUp": {
name: "健美",
- effect: "使出全身力气绷紧肌肉,从\n而提高自己的攻击和防御",
+ effect: "使出全身力气绷紧肌肉,\n从而提高自己的攻击和防御",
},
"bounce": {
name: "弹跳",
- effect: "弹跳到高高的空中,第2回\n合攻击对手。有时会让对手\n陷入麻痹状态",
+ effect: "弹跳到高高的空中,第2回合攻击对手。\n有时会让对手陷入麻痹状态",
},
"mudShot": {
name: "泥巴射击",
@@ -1367,103 +1367,103 @@ export const move: MoveTranslationEntries = {
},
"poisonTail": {
name: "毒尾",
- effect: "用尾巴拍打。有时会让对手\n陷入中毒状态,也容易击中\n要害",
+ effect: "用尾巴拍打。有时会让对手陷入中毒状态,\n也容易击中要害",
},
"covet": {
name: "渴望",
- effect: "一边可爱地撒娇,一边靠近\n对手进行攻击,还能夺取对\n手携带的道具",
+ effect: "一边可爱地撒娇,一边靠近对手进行攻击,\n还能夺取对手携带的道具",
},
"voltTackle": {
name: "伏特攻击",
- effect: "让电流覆盖全身猛撞向对手。\n自己也会受到不小的伤害。\n有时会让对手陷入麻痹状\n态",
+ effect: "让电流覆盖全身猛撞向对手。\n自己也会受到不小的伤害。\n有时会让对手陷入麻痹状态",
},
"magicalLeaf": {
name: "魔法叶",
- effect: "散落可以追踪对手的神奇叶\n片。攻击必定会命中",
+ effect: "散落可以追踪对手的神奇叶片。\n攻击必定会命中",
},
"waterSport": {
name: "玩水",
- effect: "用水湿透周围。在5回合内\n减弱火属性的招式",
+ effect: "用水湿透周围。在5回合内减弱火\n属性的招式",
},
"calmMind": {
name: "冥想",
- effect: "静心凝神,从而提高自己的\n特攻和特防",
+ effect: "静心凝神,从而提高自己的特攻和特防",
},
"leafBlade": {
name: "叶刃",
- effect: "像用剑一般操纵叶片切斩对\n手进行攻击。容易击中要害",
+ effect: "像用剑一般操纵叶片切斩对手进行攻击。\n容易击中要害",
},
"dragonDance": {
name: "龙之舞",
- effect: "激烈地跳起神秘且强有力的\n舞蹈。从而提高自己的攻击\n和速度",
+ effect: "激烈地跳起神秘且强有力的舞蹈。\n从而提高自己的攻击和速度",
},
"rockBlast": {
name: "岩石爆击",
- effect: "向对手发射坚硬的岩石进行\n攻击。连续攻击2~5次",
+ effect: "向对手发射坚硬的岩石进行攻击。\n连续攻击2~5次",
},
"shockWave": {
name: "电击波",
- effect: "向对手快速发出电击。攻击\n必定会命中",
+ effect: "向对手快速发出电击。\n攻击必定会命中",
},
"waterPulse": {
name: "水之波动",
- effect: "用水的震动攻击对手。有时\n会使对手混乱",
+ effect: "用水的震动攻击对手。\n有时会使对手混乱",
},
"doomDesire": {
name: "破灭之愿",
- effect: "使用招式2回合后,会用无\n数道光束攻击对手",
+ effect: "使用招式2回合后,会用无数道光\n束攻击对手",
},
"psychoBoost": {
name: "精神突进",
- effect: "使出全部力量攻击对手。使\n用之后会因为反作用力,自\n己的特攻大幅降低",
+ effect: "使出全部力量攻击对手。\n使用之后会因为反作用力,自己的特攻大幅降低",
},
"roost": {
name: "羽栖",
- effect: "降到地面,使身体休息。回\n复自己最大HP的一半",
+ effect: "降到地面,使身体休息。\n回复自己最大HP的一半",
},
"gravity": {
name: "重力",
- effect: "在5回合内,飘浮特性和飞\n行属性的宝可梦会被地面属\n性的招式击中。飞向空中的\n招式也将无法使用",
+ effect: "在5回合内,飘浮特性和飞行属性\n的宝可梦会被地面属性的招式击中。\n飞向空中的招式也将无法使用",
},
"miracleEye": {
name: "奇迹之眼",
- effect: "使出后对恶属性宝可梦没有\n效果的招式以及闪避率高的\n对手,变得能够打中",
+ effect: "使出后对恶属性宝可梦没有效果的\n招式以及闪避率高的对手,\n变得能够打中",
},
"wakeUpSlap": {
name: "唤醒巴掌",
- effect: "给予睡眠状态下的对手较大\n的伤害。但相反对手会从睡\n眠中醒过来",
+ effect: "给予睡眠状态下的对手较大的伤害。\n但相反对手会从睡眠中醒过来",
},
"hammerArm": {
name: "臂锤",
- effect: "挥舞强力而沉重的拳头,给\n予对手伤害。自己的速度会\n降低",
+ effect: "挥舞强力而沉重的拳头,\n给予对手伤害。自己的速度会降低",
},
"gyroBall": {
name: "陀螺球",
- effect: "让身体高速旋转并撞击对手。\n速度比对手越慢,威力越\n大",
+ effect: "让身体高速旋转并撞击对手。\n速度比对手越慢,威力越大",
},
"healingWish": {
name: "治愈之愿",
- effect: "虽然自己陷入昏厥,但可以\n治愈后备上场的宝可梦的异\n常状态以及回复HP",
+ effect: "虽然自己陷入昏厥,但可以治愈后\n备上场的宝可梦的异常状态以及回复HP",
},
"brine": {
name: "盐水",
- effect: "当对手的HP负伤到一半左\n右时,招式威力会变成2倍",
+ effect: "当对手的HP负伤到一半左右时,\n招式威力会变成2倍",
},
"naturalGift": {
name: "自然之恩",
- effect: "从树果上获得力量进行攻击。\n根据携带的树果,招式属\n性和威力会改变",
+ effect: "从树果上获得力量进行攻击。\n根据携带的树果,招式属性和威力会改变",
},
"feint": {
name: "佯攻",
- effect: "能够攻击正在使用守住或看\n穿等招式的对手。解除其守\n护效果",
+ effect: "能够攻击正在使用守住或看穿等招\n式的对手。解除其守护效果",
},
"pluck": {
name: "啄食",
- effect: "用喙进行攻击。当对手携带\n树果时,可以食用并获得其\n效果",
+ effect: "用喙进行攻击。当对手携带树果时,\n可以食用并获得其效果",
},
"tailwind": {
name: "顺风",
- effect: "刮起猛烈的旋风,在4回合\n内提高我方全员的速度",
+ effect: "刮起猛烈的旋风,在4回合内提高\n我方全员的速度",
},
"acupressure": {
name: "点穴",
@@ -1471,35 +1471,35 @@ export const move: MoveTranslationEntries = {
},
"metalBurst": {
name: "金属爆炸",
- effect: "使出招式前,将最后受到的\n招式的伤害大力返还给对手",
+ effect: "使出招式前,将最后受到的招式的\n伤害大力返还给对手",
},
"uTurn": {
name: "急速折返",
- effect: "在攻击之后急速返回,和后\n备宝可梦进行替换",
+ effect: "在攻击之后急速返回,\n和后备宝可梦进行替换",
},
"closeCombat": {
name: "近身战",
- effect: "放弃守护,向对手的怀里突\n击。自己的防御和特防会降\n低",
+ effect: "放弃守护,向对手的怀里突击。\n自己的防御和特防会降低",
},
"payback": {
name: "以牙还牙",
- effect: "蓄力攻击。如果能在对手之\n后攻击,招式的威力会变成\n2倍",
+ effect: "蓄力攻击。如果能在对手之后攻击,\n招式的威力会变成2倍",
},
"assurance": {
name: "恶意追击",
- effect: "如果此回合内对手已经受到\n伤害的话,招式威力会变成\n2倍",
+ effect: "如果此回合内对手已经受到伤害的话,\n招式威力会变成2倍",
},
"embargo": {
name: "查封",
- effect: "让对手在5回合内不能使用\n宝可梦携带的道具。训练家\n也不能给那只宝可梦使用道\n具",
+ effect: "让对手在5回合内不能使用宝可梦\n携带的道具。训练家也不能给那只\n宝可梦使用道具",
},
"fling": {
name: "投掷",
- effect: "快速投掷携带的道具进行攻\n击。根据道具不同,威力和\n效果会改变",
+ effect: "快速投掷携带的道具进行攻击。\n根据道具不同,威力和效果会改变",
},
"psychoShift": {
name: "精神转移",
- effect: "利用超能力施以暗示,从而\n将自己受到的异常状态转移\n给对手",
+ effect: "利用超能力施以暗示,\n从而将自己受到的异常状态转移给对手",
},
"trumpCard": {
name: "王牌",
@@ -1507,95 +1507,95 @@ export const move: MoveTranslationEntries = {
},
"healBlock": {
name: "回复封锁",
- effect: "在5回合内无法通过招式、\n特性或携带的道具来回复H\nP",
+ effect: "在5回合内无法通过招式、特性或\n携带的道具来回复HP",
},
"wringOut": {
name: "绞紧",
- effect: "用力勒紧对手进行攻击。对\n手的HP越多,威力越大",
+ effect: "用力勒紧对手进行攻击。\n对手的HP越多,威力越大",
},
"powerTrick": {
name: "力量戏法",
- effect: "利用超能力交换自己的攻击\n和防御的力量",
+ effect: "利用超能力交换自己的攻击和防御的力量",
},
"gastroAcid": {
name: "胃液",
- effect: "将胃液吐向对手的身体。沾\n上的胃液会消除对手的特性\n效果",
+ effect: "将胃液吐向对手的身体。\n沾上的胃液会消除对手的特性效果",
},
"luckyChant": {
name: "幸运咒语",
- effect: "向天许愿,从而在5回合内\n不会被对手的攻击打中要害",
+ effect: "向天许愿,从而在5回合内不会被\n对手的攻击打中要害",
},
"meFirst": {
name: "抢先一步",
- effect: "提高威力,抢先使出对手想\n要使出的招式。如果不先使\n出则会失败",
+ effect: "提高威力,抢先使出对手想要使出的招式。\n如果不先使出则会失败",
},
"copycat": {
name: "仿效",
- effect: "模仿对手刚才使出的招式,\n并使出相同招式。如果对手\n还没出招则会失败",
+ effect: "模仿对手刚才使出的招式,\n并使出相同招式。如果对手还没出招则会失败",
},
"powerSwap": {
name: "力量互换",
- effect: "利用超能力互换自己和对手\n的攻击以及特攻的能力变化",
+ effect: "利用超能力互换自己和对手的攻击\n以及特攻的能力变化",
},
"guardSwap": {
name: "防守互换",
- effect: "利用超能力互换自己和对手\n的防御以及特防的能力变化",
+ effect: "利用超能力互换自己和对手的防御\n以及特防的能力变化",
},
"punishment": {
name: "惩罚",
- effect: "根据能力变化,对手提高的\n力量越大,招式的威力越大",
+ effect: "根据能力变化,对手提高的力量越大,\n招式的威力越大",
},
"lastResort": {
name: "珍藏",
- effect: "当战斗中已学会的招式全部\n使用过后,才能开始使出珍\n藏的招式",
+ effect: "当战斗中已学会的招式全部使用过后,\n才能开始使出珍藏的招式",
},
"worrySeed": {
name: "烦恼种子",
- effect: "种植心神不宁的种子。使对\n手不能入眠,并将特性变成\n不眠",
+ effect: "种植心神不宁的种子。\n使对手不能入眠,并将特性变成不眠",
},
"suckerPunch": {
name: "突袭",
- effect: "可以比对手先攻击。对手使\n出的招式如果不是攻击招式\n则会失败",
+ effect: "可以比对手先攻击。对手使出的招\n式如果不是攻击招式则会失败",
},
"toxicSpikes": {
name: "毒菱",
- effect: "在对手的脚下撒毒菱。使对\n手替换出场的宝可梦中毒",
+ effect: "在对手的脚下撒毒菱。\n使对手替换出场的宝可梦中毒",
},
"heartSwap": {
name: "心灵互换",
- effect: "利用超能力互换自己和对手\n之间的能力变化",
+ effect: "利用超能力互换自己和对手之间的\n能力变化",
},
"aquaRing": {
name: "水流环",
- effect: "在自己身体的周围覆盖用水\n制造的幕。每回合回复HP",
+ effect: "在自己身体的周围覆盖用水制造的幕。\n每回合回复HP",
},
"magnetRise": {
name: "电磁飘浮",
- effect: "利用电气产生的磁力浮在空\n中。在5回合内可以飘浮",
+ effect: "利用电气产生的磁力浮在空中。\n在5回合内可以飘浮",
},
"flareBlitz": {
name: "闪焰冲锋",
- effect: "让火焰覆盖全身猛撞向对手。\n自己也会受到不小的伤害。\n有时会让对手陷入灼伤状\n态",
+ effect: "让火焰覆盖全身猛撞向对手。\n自己也会受到不小的伤害。\n有时会让对手陷入灼伤状态",
},
"forcePalm": {
name: "发劲",
- effect: "向对手的身体发出冲击波进\n行攻击。有时会让对手陷入\n麻痹状态",
+ effect: "向对手的身体发出冲击波进行攻击。\n有时会让对手陷入麻痹状态",
},
"auraSphere": {
name: "波导弹",
- effect: "从体内产生出波导之力,然\n后向对手发出。攻击必定会\n命中",
+ effect: "从体内产生出波导之力,\n然后向对手发出。攻击必定会命中",
},
"rockPolish": {
name: "岩石打磨",
- effect: "打磨自己的身体,减少空气\n阻力。可以大幅提高自己的\n速度",
+ effect: "打磨自己的身体,减少空气阻力。\n可以大幅提高自己的速度",
},
"poisonJab": {
name: "毒击",
- effect: "用带毒的触手或手臂刺入对\n手。有时会让对手陷入中毒\n状态",
+ effect: "用带毒的触手或手臂刺入对手。\n有时会让对手陷入中毒状态",
},
"darkPulse": {
name: "恶之波动",
- effect: "从体内发出充满恶意的恐怖\n气场。有时会使对手畏缩",
+ effect: "从体内发出充满恶意的恐怖气场。\n有时会使对手畏缩",
},
"nightSlash": {
name: "暗袭要害",
@@ -1603,19 +1603,19 @@ export const move: MoveTranslationEntries = {
},
"aquaTail": {
name: "水流尾",
- effect: "如惊涛骇浪般挥动大尾巴攻\n击对手",
+ effect: "如惊涛骇浪般挥动大尾巴攻击对手",
},
"seedBomb": {
name: "种子炸弹",
- effect: "将外壳坚硬的大种子,从上\n方砸下攻击对手",
+ effect: "将外壳坚硬的大种子,\n从上方砸下攻击对手",
},
"airSlash": {
name: "空气之刃",
- effect: "用连天空也能劈开的空气之\n刃进行攻击。有时会使对手\n畏缩",
+ effect: "用连天空也能劈开的空气之刃进行攻击。\n有时会使对手畏缩",
},
"xScissor": {
name: "十字剪",
- effect: "将镰刀或爪子像剪刀般地交\n叉,顺势劈开对手",
+ effect: "将镰刀或爪子像剪刀般地交叉,\n顺势劈开对手",
},
"bugBuzz": {
name: "虫鸣",
@@ -1623,23 +1623,23 @@ export const move: MoveTranslationEntries = {
},
"dragonPulse": {
name: "龙之波动",
- effect: "从大大的口中掀起冲击波攻\n击对手",
+ effect: "从大大的口中掀起冲击波攻击对手",
},
"dragonRush": {
name: "龙之俯冲",
- effect: "释放出骇人的杀气,一边威\n慑一边撞击对手。有时会使\n对手畏缩",
+ effect: "释放出骇人的杀气,一边威慑一边\n撞击对手。有时会使对手畏缩",
},
"powerGem": {
name: "力量宝石",
- effect: "发射如宝石般闪耀的光芒攻\n击对手",
+ effect: "发射如宝石般闪耀的光芒攻击对手",
},
"drainPunch": {
name: "吸取拳",
- effect: "用拳头吸取对手的力量。可\n以回复给予对手伤害的一半\nHP",
+ effect: "用拳头吸取对手的力量。\n可以回复给予对手伤害的一半HP",
},
"vacuumWave": {
name: "真空波",
- effect: "挥动拳头,掀起真空波。必\n定能够先制攻击",
+ effect: "挥动拳头,掀起真空波。\n必定能够先制攻击",
},
"focusBlast": {
name: "真气弹",
@@ -1651,7 +1651,7 @@ export const move: MoveTranslationEntries = {
},
"braveBird": {
name: "勇鸟猛攻",
- effect: "收拢翅膀,通过低空飞行突\n击对手。自己也会受到不小\n的伤害",
+ effect: "收拢翅膀,通过低空飞行突击对手。\n自己也会受到不小的伤害",
},
"earthPower": {
name: "大地之力",
@@ -1659,7 +1659,7 @@ export const move: MoveTranslationEntries = {
},
"switcheroo": {
name: "掉包",
- effect: "用一闪而过的速度交换自己\n和对手的持有物",
+ effect: "用一闪而过的速度交换自己和对手\n的持有物",
},
"gigaImpact": {
name: "终极冲击",
@@ -1667,107 +1667,107 @@ export const move: MoveTranslationEntries = {
},
"nastyPlot": {
name: "诡计",
- effect: "谋划诡计,激活头脑。大幅\n提高自己的特攻",
+ effect: "谋划诡计,激活头脑。\n大幅提高自己的特攻",
},
"bulletPunch": {
name: "子弹拳",
- effect: "向对手使出如子弹般快速而\n坚硬的拳头。必定能够先制\n攻击",
+ effect: "向对手使出如子弹般快速而坚硬的拳头。\n必定能够先制攻击",
},
"avalanche": {
name: "雪崩",
- effect: "如果受到对手的招式攻击,\n就能给予该对手2倍威力的\n攻击",
+ effect: "如果受到对手的招式攻击,\n就能给予该对手2倍威力的攻击",
},
"iceShard": {
name: "冰砾",
- effect: "瞬间制作冰块,快速地扔向\n对手。必定能够先制攻击",
+ effect: "瞬间制作冰块,快速地扔向对手。\n必定能够先制攻击",
},
"shadowClaw": {
name: "暗影爪",
- effect: "以影子做成的锐爪,劈开对\n手。容易击中要害",
+ effect: "以影子做成的锐爪,劈开对手。\n容易击中要害",
},
"thunderFang": {
name: "雷电牙",
- effect: "用蓄满电流的牙齿咬住对手。\n有时会使对手畏缩或陷入\n麻痹状态",
+ effect: "用蓄满电流的牙齿咬住对手。\n有时会使对手畏缩或陷入麻痹状态",
},
"iceFang": {
name: "冰冻牙",
- effect: "用藏有冷气的牙齿咬住对手。\n有时会使对手畏缩或陷入\n冰冻状态",
+ effect: "用藏有冷气的牙齿咬住对手。\n有时会使对手畏缩或陷入冰冻状态",
},
"fireFang": {
name: "火焰牙",
- effect: "用覆盖着火焰的牙齿咬住对\n手。有时会使对手畏缩或陷\n入灼伤状态",
+ effect: "用覆盖着火焰的牙齿咬住对手。\n有时会使对手畏缩或陷入灼伤状态",
},
"shadowSneak": {
name: "影子偷袭",
- effect: "伸长影子,从对手的背后进\n行攻击。必定能够先制攻击",
+ effect: "伸长影子,从对手的背后进行攻击。\n必定能够先制攻击",
},
"mudBomb": {
name: "泥巴炸弹",
- effect: "向对手发射坚硬的泥弹进行\n攻击。有时会降低对手的命\n中率",
+ effect: "向对手发射坚硬的泥弹进行攻击。\n有时会降低对手的命中率",
},
"psychoCut": {
name: "精神利刃",
- effect: "用实体化的心之利刃劈开对\n手。容易击中要害",
+ effect: "用实体化的心之利刃劈开对手。\n容易击中要害",
},
"zenHeadbutt": {
name: "意念头锤",
- effect: "将思念的力量集中在前额进\n行攻击。有时会使对手畏缩",
+ effect: "将思念的力量集中在前额进行攻击。\n有时会使对手畏缩",
},
"mirrorShot": {
name: "镜光射击",
- effect: "抛光自己的身体,向对手释\n放出闪光之力。有时会降低\n对手的命中率",
+ effect: "抛光自己的身体,向对手释放出闪光之力。\n有时会降低对手的命中率",
},
"flashCannon": {
name: "加农光炮",
- effect: "将身体的光芒聚集在一点释\n放出去。有时会降低对手的\n特防",
+ effect: "将身体的光芒聚集在一点释放出去。\n有时会降低对手的特防",
},
"rockClimb": {
name: "攀岩",
- effect: "发动猛撞攻击,有时会使对\n手混乱。是宝可表的秘传招\n式之一",
+ effect: "发动猛撞攻击,有时会使对手混乱。\n是宝可表的秘传招式之一",
},
"defog": {
name: "清除浓雾",
- effect: "用强风吹开对手的反射壁或\n光墙等。也会降低对手的闪\n避率",
+ effect: "用强风吹开对手的反射壁或光墙等。\n也会降低对手的闪避率",
},
"trickRoom": {
name: "戏法空间",
- effect: "制造出离奇的空间。在5回\n合内速度慢的宝可梦可以先\n行动",
+ effect: "制造出离奇的空间。在5回合内速\n度慢的宝可梦可以先行动",
},
"dracoMeteor": {
name: "流星群",
- effect: "从天空中向对手落下陨石。\n使用之后因为反作用力,自\n己的特攻会大幅降低",
+ effect: "从天空中向对手落下陨石。\n使用之后因为反作用力,自己的特攻会大幅降低",
},
"discharge": {
name: "放电",
- effect: "用耀眼的电击攻击自己周围\n所有的宝可梦。有时会陷入\n麻痹状态",
+ effect: "用耀眼的电击攻击自己周围所有的宝可梦。\n有时会陷入麻痹状态",
},
"lavaPlume": {
name: "喷烟",
- effect: "用熊熊烈火攻击自己周围所\n有的宝可梦。有时会陷入灼\n伤状态",
+ effect: "用熊熊烈火攻击自己周围所有的宝可梦。\n有时会陷入灼伤状态",
},
"leafStorm": {
name: "飞叶风暴",
- effect: "用尖尖的叶片向对手卷起风\n暴。使用之后因为反作用力\n自己的特攻会大幅降低",
+ effect: "用尖尖的叶片向对手卷起风暴。\n使用之后因为反作用力自己的特攻会\n大幅降低",
},
"powerWhip": {
name: "强力鞭打",
- effect: "激烈地挥舞青藤或触手摔打\n对手进行攻击",
+ effect: "激烈地挥舞青藤或触手摔打对手进行攻击",
},
"rockWrecker": {
name: "岩石炮",
- effect: "向对手发射巨大的岩石进行\n攻击。下一回合自己将无法\n动弹",
+ effect: "向对手发射巨大的岩石进行攻击。\n下一回合自己将无法动弹",
},
"crossPoison": {
name: "十字毒刃",
- effect: "用毒刃劈开对手。有时会让\n对手陷入中毒状态,也容易\n击中要害",
+ effect: "用毒刃劈开对手。有时会让对手陷\n入中毒状态,也容易击中要害",
},
"gunkShot": {
name: "垃圾射击",
- effect: "用肮脏的垃圾撞向对手进行\n攻击。有时会让对手陷入中\n毒状态",
+ effect: "用肮脏的垃圾撞向对手进行攻击。\n有时会让对手陷入中毒状态",
},
"ironHead": {
name: "铁头",
- effect: "用钢铁般坚硬的头部进行攻\n击。有时会使对手畏缩",
+ effect: "用钢铁般坚硬的头部进行攻击。\n有时会使对手畏缩",
},
"magnetBomb": {
name: "磁铁炸弹",
@@ -1775,83 +1775,83 @@ export const move: MoveTranslationEntries = {
},
"stoneEdge": {
name: "尖石攻击",
- effect: "用尖尖的岩石刺入对手进行\n攻击。容易击中要害",
+ effect: "用尖尖的岩石刺入对手进行攻击。\n容易击中要害",
},
"captivate": {
name: "诱惑",
- effect: "♂诱惑♀或♀诱惑♂,从而\n大幅降低对手的特攻",
+ effect: "♂诱惑♀或♀诱惑♂,\n从而大幅降低对手的特攻",
},
"stealthRock": {
name: "隐形岩",
- effect: "将无数岩石悬浮在对手的周\n围,从而对替换出场的对手\n的宝可梦给予伤害",
+ effect: "将无数岩石悬浮在对手的周围,\n从而对替换出场的对手的宝可梦给予伤害",
},
"grassKnot": {
name: "打草结",
- effect: "用草缠住并绊倒对手。对手\n越重,威力越大",
+ effect: "用草缠住并绊倒对手。\n对手越重,威力越大",
},
"chatter": {
name: "喋喋不休",
- effect: "用非常烦人的,喋喋不休的\n音波攻击对手。使对手混乱",
+ effect: "用非常烦人的,喋喋不休的音波攻击对手。\n使对手混乱",
},
"judgment": {
name: "制裁光砾",
- effect: "向对手放出无数的光弹。属\n性会根据自己携带的石板不\n同而改变",
+ effect: "向对手放出无数的光弹。\n属性会根据自己携带的石板不同而改变",
},
"bugBite": {
name: "虫咬",
- effect: "咬住进行攻击。当对手携带\n树果时,可以食用并获得其\n效果",
+ effect: "咬住进行攻击。当对手携带树果时,\n可以食用并获得其效果",
},
"chargeBeam": {
name: "充电光束",
- effect: "向对手发射电击光束。由于\n蓄满电流,有时会提高自己\n的特攻",
+ effect: "向对手发射电击光束。\n由于蓄满电流,有时会提高自己的特攻",
},
"woodHammer": {
name: "木槌",
- effect: "用坚硬的躯体撞击对手进行\n攻击。自己也会受到不小的\n伤害",
+ effect: "用坚硬的躯体撞击对手进行攻击。\n自己也会受到不小的伤害",
},
"aquaJet": {
name: "水流喷射",
- effect: "以迅雷不及掩耳之势扑向对\n手。必定能够先制攻击",
+ effect: "以迅雷不及掩耳之势扑向对手。\n必定能够先制攻击",
},
"attackOrder": {
name: "攻击指令",
- effect: "召唤手下,让其朝对手发起\n攻击。容易击中要害",
+ effect: "召唤手下,让其朝对手发起攻击。\n容易击中要害",
},
"defendOrder": {
name: "防御指令",
- effect: "召唤手下,让其附在自己的\n身体上。可以提高自己的防\n御和特防",
+ effect: "召唤手下,让其附在自己的身体上。\n可以提高自己的防御和特防",
},
"healOrder": {
name: "回复指令",
- effect: "召唤手下疗伤。回复自己最\n大HP的一半",
+ effect: "召唤手下疗伤。回复自己最大HP的一半",
},
"headSmash": {
name: "双刃头锤",
- effect: "拼命使出浑身力气,向对手\n进行头锤攻击。自己也会受\n到非常大的伤害",
+ effect: "拼命使出浑身力气,向对手进行头锤攻击。\n自己也会受到非常大的伤害",
},
"doubleHit": {
name: "二连击",
- effect: "使用尾巴等拍打对手进行攻\n击。连续2次给予伤害",
+ effect: "使用尾巴等拍打对手进行攻击。\n连续2次给予伤害",
},
"roarOfTime": {
name: "时光咆哮",
- effect: "释放出扭曲时间般的强大力\n量攻击对手。下一回合自己\n将无法动弹",
+ effect: "释放出扭曲时间般的强大力量攻击对手。\n下一回合自己将无法动弹",
},
"spacialRend": {
name: "亚空裂斩",
- effect: "将对手连同周围的空间一起\n撕裂并给予伤害。容易击中\n要害",
+ effect: "将对手连同周围的空间一起撕裂并\n给予伤害。容易击中要害",
},
"lunarDance": {
name: "新月舞",
- effect: "虽然自己陷入昏厥,但可以\n治愈后备上场的宝可梦的全\n部状态",
+ effect: "虽然自己陷入昏厥,但可以治愈后\n备上场的宝可梦的全部状态",
},
"crushGrip": {
name: "捏碎",
- effect: "用骇人的力量捏碎对手。对\n手剩余的HP越多,威力越\n大",
+ effect: "用骇人的力量捏碎对手。\n对手剩余的HP越多,威力越大",
},
"magmaStorm": {
name: "熔岩风暴",
- effect: "将对手困在熊熊燃烧的火焰\n中,在4~5回合内进行攻\n击",
+ effect: "将对手困在熊熊燃烧的火焰中,\n在4~5回合内进行攻击",
},
"darkVoid": {
name: "暗黑洞",
@@ -1859,211 +1859,211 @@ export const move: MoveTranslationEntries = {
},
"seedFlare": {
name: "种子闪光",
- effect: "从身体里产生冲击波。有时\n会大幅降低对手的特防",
+ effect: "从身体里产生冲击波。\n有时会大幅降低对手的特防",
},
"ominousWind": {
name: "奇异之风",
- effect: "突然刮起毛骨悚然的暴风攻\n击对手。有时会提高自己的\n全部能力",
+ effect: "突然刮起毛骨悚然的暴风攻击对手。\n有时会提高自己的全部能力",
},
"shadowForce": {
name: "暗影潜袭",
- effect: "第1回合消失踪影,第2回\n合攻击对手。即使对手正受\n保护,也能击中",
+ effect: "第1回合消失踪影,第2回合攻击对手。\n即使对手正受保护,\n也能击中",
},
"honeClaws": {
name: "磨爪",
- effect: "将爪子磨得更加锋利。提高\n自己的攻击和命中率",
+ effect: "将爪子磨得更加锋利。\n提高自己的攻击和命中率",
},
"wideGuard": {
name: "广域防守",
- effect: "在1回合内防住击打我方全\n员的攻击",
+ effect: "在1回合内防住击打我方全员的攻击",
},
"guardSplit": {
name: "防守平分",
- effect: "利用超能力将自己和对手的\n防御和特防相加,再进行平\n分",
+ effect: "利用超能力将自己和对手的防御和\n特防相加,再进行平分",
},
"powerSplit": {
name: "力量平分",
- effect: "利用超能力将自己和对手的\n攻击和特攻相加,再进行平\n分",
+ effect: "利用超能力将自己和对手的攻击和\n特攻相加,再进行平分",
},
"wonderRoom": {
name: "奇妙空间",
- effect: "制造出离奇的空间。在5回\n合内互换所有宝可梦的防御\n和特防",
+ effect: "制造出离奇的空间。在5回合内互\n换所有宝可梦的防御和特防",
},
"psyshock": {
name: "精神冲击",
- effect: "将神奇的念波实体化攻击对\n手。给予物理伤害",
+ effect: "将神奇的念波实体化攻击对手。\n给予物理伤害",
},
"venoshock": {
name: "毒液冲击",
- effect: "将特殊的毒液泼向对手。对\n处于中毒状态的对手,威力\n会变成2倍",
+ effect: "将特殊的毒液泼向对手。\n对处于中毒状态的对手,威力会变成2倍",
},
"autotomize": {
name: "身体轻量化",
- effect: "削掉身体上没用的部分。大\n幅提高自己的速度,同时体\n重也会变轻",
+ effect: "削掉身体上没用的部分。\n大幅提高自己的速度,同时体重也会变轻",
},
"ragePowder": {
name: "愤怒粉",
- effect: "将令人烦躁的粉末撒在自己\n身上,用以吸引对手的注意。\n使对手的攻击全部指向自\n己",
+ effect: "将令人烦躁的粉末撒在自己身上,\n用以吸引对手的注意。\n使对手的攻击全部指向自己",
},
"telekinesis": {
name: "意念移物",
- effect: "利用超能力使对手浮起来。\n在3回合内攻击会变得容易\n打中对手",
+ effect: "利用超能力使对手浮起来。\n在3回合内攻击会变得容易打中对手",
},
"magicRoom": {
name: "魔法空间",
- effect: "制造出离奇的空间。在5回\n合内所有宝可梦携带道具的\n效果都会消失",
+ effect: "制造出离奇的空间。在5回合内所\n有宝可梦携带道具的效果都会消失",
},
"smackDown": {
name: "击落",
- effect: "扔石头或炮弹,攻击飞行的\n对手。对手会被击落,掉到\n地面",
+ effect: "扔石头或炮弹,攻击飞行的对手。\n对手会被击落,掉到地面",
},
"stormThrow": {
name: "山岚摔",
- effect: "向对手使出强烈的一击。攻\n击必定会击中要害",
+ effect: "向对手使出强烈的一击。\n攻击必定会击中要害",
},
"flameBurst": {
name: "烈焰溅射",
- effect: "如果击中,爆裂的火焰会攻\n击到对手。爆裂出的火焰还\n会飞溅到旁边的对手",
+ effect: "如果击中,爆裂的火焰会攻击到对手。\n爆裂出的火焰还会飞溅到旁边的对手",
},
"sludgeWave": {
name: "污泥波",
- effect: "用污泥波攻击自己周围所有\n的宝可梦。有时会陷入中毒\n状态",
+ effect: "用污泥波攻击自己周围所有的宝可梦。\n有时会陷入中毒状态",
},
"quiverDance": {
name: "蝶舞",
- effect: "轻巧地跳起神秘而又美丽的\n舞蹈。提高自己的特攻、特\n防和速度",
+ effect: "轻巧地跳起神秘而又美丽的舞蹈。\n提高自己的特攻、特防和速度",
},
"heavySlam": {
name: "重磅冲撞",
- effect: "用沉重的身体撞向对手进行\n攻击。自己比对手越重,威\n力越大",
+ effect: "用沉重的身体撞向对手进行攻击。\n自己比对手越重,威力越大",
},
"synchronoise": {
name: "同步干扰",
- effect: "用神奇电波对周围所有和自\n己属性相同的宝可梦给予伤\n害",
+ effect: "用神奇电波对周围所有和自己属性\n相同的宝可梦给予伤害",
},
"electroBall": {
name: "电球",
- effect: "用电气团撞向对手。自己比\n对手速度越快,威力越大",
+ effect: "用电气团撞向对手。自己比对手速度越快,\n威力越大",
},
"soak": {
name: "浸水",
- effect: "将大量的水泼向对手,从而\n使其变成水属性",
+ effect: "将大量的水泼向对手,\n从而使其变成水属性",
},
"flameCharge": {
name: "蓄能焰袭",
- effect: "让火焰覆盖全身,攻击对手。\n积蓄力量来提高自己的速\n度",
+ effect: "让火焰覆盖全身,攻击对手。\n积蓄力量来提高自己的速度",
},
"coil": {
name: "盘蜷",
- effect: "盘蜷着集中精神。提高自己\n的攻击、防御和命中率",
+ effect: "盘蜷着集中精神。提高自己的攻击\n、防御和命中率",
},
"lowSweep": {
name: "下盘踢",
- effect: "以敏捷的动作瞄准对手的脚\n进行攻击。会降低对手的速\n度",
+ effect: "以敏捷的动作瞄准对手的脚进行攻击。\n会降低对手的速度",
},
"acidSpray": {
name: "酸液炸弹",
- effect: "喷出能溶化对手的液体进行\n攻击。会大幅降低对手的特\n防",
+ effect: "喷出能溶化对手的液体进行攻击。\n会大幅降低对手的特防",
},
"foulPlay": {
name: "欺诈",
- effect: "利用对手的力量进行攻击。\n正和自己战斗的对手,其攻\n击越高,伤害越大",
+ effect: "利用对手的力量进行攻击。\n正和自己战斗的对手,其攻击越高,\n伤害越大",
},
"simpleBeam": {
name: "单纯光束",
- effect: "向对手发送谜之念波。接收\n到念波的对手,其特性会变\n为单纯",
+ effect: "向对手发送谜之念波。\n接收到念波的对手,其特性会变为单纯",
},
"entrainment": {
name: "找伙伴",
- effect: "用神奇的节奏跳舞。使对手\n模仿自己的动作,从而将特\n性变成一样",
+ effect: "用神奇的节奏跳舞。使对手模仿自\n己的动作,从而将特性变成一样",
},
"afterYou": {
name: "您先请",
- effect: "支援我方或对手的行动,使\n其紧接着此招式之后行动",
+ effect: "支援我方或对手的行动,\n使其紧接着此招式之后行动",
},
"round": {
name: "轮唱",
- effect: "用歌声攻击对手。大家一起\n轮唱便可以接连使出,威力\n也会提高",
+ effect: "用歌声攻击对手。大家一起轮唱便\n可以接连使出,威力也会提高",
},
"echoedVoice": {
name: "回声",
- effect: "用回声攻击对手。如果每回\n合都有宝可梦接着使用该招\n式,威力就会提高",
+ effect: "用回声攻击对手。如果每回合都有\n宝可梦接着使用该招式,\n威力就会提高",
},
"chipAway": {
name: "逐步击破",
- effect: "看准机会稳步攻击。无视对\n手的能力变化,直接给予伤\n害",
+ effect: "看准机会稳步攻击。无视对手的能力变化,\n直接给予伤害",
},
"clearSmog": {
name: "清除之烟",
- effect: "向对手投掷特殊的泥块进行\n攻击。使其能力变回原点",
+ effect: "向对手投掷特殊的泥块进行攻击。\n使其能力变回原点",
},
"storedPower": {
name: "辅助力量",
- effect: "用蓄积起来的力量攻击对手。\n自己的能力提高得越多,\n威力就越大",
+ effect: "用蓄积起来的力量攻击对手。\n自己的能力提高得越多,威力就越大",
},
"quickGuard": {
name: "快速防守",
- effect: "守护自己和同伴,以防对手\n的先制攻击",
+ effect: "守护自己和同伴,以防对手的先制攻击",
},
"allySwitch": {
name: "交换场地",
- effect: "用神奇的力量瞬间移动,互\n换自己和同伴所在的位置。\n连续使出则容易失败",
+ effect: "用神奇的力量瞬间移动,\n互换自己和同伴所在的位置。连续使出则容易失败",
},
"scald": {
name: "热水",
- effect: "向对手喷射煮得翻滚的开水\n进行攻击。有时会让对手陷\n入灼伤状态",
+ effect: "向对手喷射煮得翻滚的开水进行攻击。\n有时会让对手陷入灼伤状态",
},
"shellSmash": {
name: "破壳",
- effect: "打破外壳,降低自己的防御\n和特防,但大幅提高攻击、\n特攻和速度",
+ effect: "打破外壳,降低自己的防御和特防,\n但大幅提高攻击、特攻和速度",
},
"healPulse": {
name: "治愈波动",
- effect: "放出治愈波动,从而回复对\n手最大HP的一半",
+ effect: "放出治愈波动,从而回复对手最大\nHP的一半",
},
"hex": {
name: "祸不单行",
- effect: "接二连三地进行攻击。对处\n于异常状态的对手给予较大\n的伤害",
+ effect: "接二连三地进行攻击。\n对处于异常状态的对手给予较大的伤害",
},
"skyDrop": {
name: "自由落体",
- effect: "第1回合将对手带到空中,\n第2回合将其摔下进行攻击。\n被带到空中的对手不能动\n弹",
+ effect: "第1回合将对手带到空中,\n第2回合将其摔下进行攻击。\n被带到空中的对手不能动弹",
},
"shiftGear": {
name: "换档",
- effect: "转动齿轮,不仅提高自己的\n攻击,还会大幅提高速度",
+ effect: "转动齿轮,不仅提高自己的攻击,\n还会大幅提高速度",
},
"circleThrow": {
name: "巴投",
- effect: "扔飞对手,强制拉后备宝可\n梦上场。如果对手为野生宝\n可梦,战斗将直接结束",
+ effect: "扔飞对手,强制拉后备宝可梦上场。\n如果对手为野生宝可梦,\n战斗将直接结束",
},
"incinerate": {
name: "烧净",
- effect: "用火焰攻击对手。对手携带\n树果等时,会烧掉,使其不\n能使用",
+ effect: "用火焰攻击对手。对手携带树果等时,\n会烧掉,使其不能使用",
},
"quash": {
name: "延后",
- effect: "压制对手,从而将其行动顺\n序放到最后",
+ effect: "压制对手,从而将其行动顺序放到最后",
},
"acrobatics": {
name: "杂技",
- effect: "轻巧地攻击对手。自己没有\n携带道具时,会给予较大的\n伤害",
+ effect: "轻巧地攻击对手。自己没有携带道具时,\n会给予较大的伤害",
},
"reflectType": {
name: "镜面属性",
- effect: "反射对手的属性,让自己也\n变成一样的属性",
+ effect: "反射对手的属性,让自己也变成一\n样的属性",
},
"retaliate": {
name: "报仇",
- effect: "为倒下的同伴报仇。如果上\n一回合有同伴倒下,威力就\n会提高",
+ effect: "为倒下的同伴报仇。如果上一回合\n有同伴倒下,威力就会提高",
},
"finalGambit": {
name: "搏命",
- effect: "拼命攻击对手。虽然自己陷\n入昏厥,但会给予对手和自\n己目前HP等量的伤害",
+ effect: "拼命攻击对手。虽然自己陷入昏厥,\n但会给予对手和自己目前HP等\n量的伤害",
},
"bestow": {
name: "传递礼物",
- effect: "当对手未携带道具时,能够\n将自己携带的道具交给对手",
+ effect: "当对手未携带道具时,\n能够将自己携带的道具交给对手",
},
"inferno": {
name: "烈火深渊",
@@ -2071,39 +2071,39 @@ export const move: MoveTranslationEntries = {
},
"waterPledge": {
name: "水之誓约",
- effect: "用水柱进行攻击。如果和火\n组合,威力就会提高,天空\n中会挂上彩虹",
+ effect: "用水柱进行攻击。如果和火组合,\n威力就会提高,天空中会挂上彩虹",
},
"firePledge": {
name: "火之誓约",
- effect: "用火柱进行攻击。如果和草\n组合,威力就会提高,周围\n会变成火海",
+ effect: "用火柱进行攻击。如果和草组合,\n威力就会提高,周围会变成火海",
},
"grassPledge": {
name: "草之誓约",
- effect: "用草柱进行攻击。如果和水\n组合,威力就会提高,周围\n会变成湿地",
+ effect: "用草柱进行攻击。如果和水组合,\n威力就会提高,周围会变成湿地",
},
"voltSwitch": {
name: "伏特替换",
- effect: "在攻击之后急速返回,和后\n备宝可梦进行替换",
+ effect: "在攻击之后急速返回,\n和后备宝可梦进行替换",
},
"struggleBug": {
name: "虫之抵抗",
- effect: "抵抗并攻击对手。会降低对\n手的特攻",
+ effect: "抵抗并攻击对手。会降低对手的特攻",
},
"bulldoze": {
name: "重踏",
- effect: "用力踩踏地面并攻击自己周\n围所有的宝可梦。会降低对\n方的速度",
+ effect: "用力踩踏地面并攻击自己周围所有\n的宝可梦。会降低对方的速度",
},
"frostBreath": {
name: "冰息",
- effect: "将冰冷的气息吹向对手进行\n攻击。必定会击中要害",
+ effect: "将冰冷的气息吹向对手进行攻击。\n必定会击中要害",
},
"dragonTail": {
name: "龙尾",
- effect: "弹飞对手,强制拉后备宝可\n梦上场。如果对手为野生宝\n可梦,战斗将直接结束",
+ effect: "弹飞对手,强制拉后备宝可梦上场。\n如果对手为野生宝可梦,\n战斗将直接结束",
},
"workUp": {
name: "自我激励",
- effect: "激励自己,从而提高攻击和\n特攻",
+ effect: "激励自己,从而提高攻击和特攻",
},
"electroweb": {
name: "电网",
@@ -2111,39 +2111,39 @@ export const move: MoveTranslationEntries = {
},
"wildCharge": {
name: "疯狂伏特",
- effect: "让电流覆盖全身,撞向对手\n进行攻击。自己也会受到少\n许伤害",
+ effect: "让电流覆盖全身,撞向对手进行攻击。\n自己也会受到少许伤害",
},
"drillRun": {
name: "直冲钻",
- effect: "像钢钻一样,一边旋转身体\n一边撞击对手。容易击中要\n害",
+ effect: "像钢钻一样,一边旋转身体一边撞击对手。\n容易击中要害",
},
"dualChop": {
name: "二连劈",
- effect: "用身体坚硬的部分拍打对手\n进行攻击。连续2次给予伤\n害",
+ effect: "用身体坚硬的部分拍打对手进行攻击。\n连续2次给予伤害",
},
"heartStamp": {
name: "爱心印章",
- effect: "以可爱的动作使对手疏忽,\n乘机给出强烈的一击。有时\n会使对手畏缩",
+ effect: "以可爱的动作使对手疏忽,\n乘机给出强烈的一击。有时会使对手畏缩",
},
"hornLeech": {
name: "木角",
- effect: "将角刺入,吸取对手的养分。\n可以回复给予对手伤害的\n一半HP",
+ effect: "将角刺入,吸取对手的养分。\n可以回复给予对手伤害的一半HP",
},
"sacredSword": {
name: "圣剑",
- effect: "用剑切斩对手进行攻击。无\n视对手的能力变化,直接给\n予伤害",
+ effect: "用剑切斩对手进行攻击。\n无视对手的能力变化,直接给予伤害",
},
"razorShell": {
name: "贝壳刃",
- effect: "用锋利的贝壳切斩对手进行\n攻击。有时会降低对手的防\n御",
+ effect: "用锋利的贝壳切斩对手进行攻击。\n有时会降低对手的防御",
},
"heatCrash": {
name: "高温重压",
- effect: "用燃烧的身体撞向对手进行\n攻击。自己比对手越重,威\n力越大",
+ effect: "用燃烧的身体撞向对手进行攻击。\n自己比对手越重,威力越大",
},
"leafTornado": {
name: "青草搅拌器",
- effect: "用锋利的叶片包裹住对手进\n行攻击。有时会降低对手的\n命中率",
+ effect: "用锋利的叶片包裹住对手进行攻击。\n有时会降低对手的命中率",
},
"steamroller": {
name: "疯狂滚压",
@@ -2151,7 +2151,7 @@ export const move: MoveTranslationEntries = {
},
"cottonGuard": {
name: "棉花防守",
- effect: "用软绵绵的绒毛包裹住自己\n的身体进行守护。巨幅提高\n自己的防御",
+ effect: "用软绵绵的绒毛包裹住自己的身体\n进行守护。巨幅提高自己的防御",
},
"nightDaze": {
name: "暗黑爆破",
@@ -2159,91 +2159,91 @@ export const move: MoveTranslationEntries = {
},
"psystrike": {
name: "精神击破",
- effect: "将神奇的念波实体化攻击对\n手。给予物理伤害",
+ effect: "将神奇的念波实体化攻击对手。\n给予物理伤害",
},
"tailSlap": {
name: "扫尾拍打",
- effect: "用坚硬的尾巴拍打对手进行\n攻击。连续攻击2~5次",
+ effect: "用坚硬的尾巴拍打对手进行攻击。\n连续攻击2~5次",
},
"hurricane": {
name: "暴风",
- effect: "用强烈的风席卷对手进行攻\n击。有时会使对手混乱",
+ effect: "用强烈的风席卷对手进行攻击。\n有时会使对手混乱",
},
"headCharge": {
name: "爆炸头突击",
- effect: "用厉害的爆炸头猛撞向对手\n进行攻击。自己也会受到少\n许伤害",
+ effect: "用厉害的爆炸头猛撞向对手进行攻击。\n自己也会受到少许伤害",
},
"gearGrind": {
name: "齿轮飞盘",
- effect: "向对手投掷钢铁齿轮进行攻\n击。连续2次给予伤害",
+ effect: "向对手投掷钢铁齿轮进行攻击。\n连续2次给予伤害",
},
"searingShot": {
name: "火焰弹",
- effect: "用熊熊烈火攻击自己周围所\n有的宝可梦。有时会陷入灼\n伤状态",
+ effect: "用熊熊烈火攻击自己周围所有的宝可梦。\n有时会陷入灼伤状态",
},
"technoBlast": {
name: "高科技光炮",
- effect: "向对手放出光弹。属性会根\n据自己携带的卡带不同而改\n变",
+ effect: "向对手放出光弹。属性会根据自己\n携带的卡带不同而改变",
},
"relicSong": {
name: "古老之歌",
- effect: "让对手听古老之歌,打动对\n手的内心进行攻击。有时会\n让对手陷入睡眠状态",
+ effect: "让对手听古老之歌,打动对手的内\n心进行攻击。有时会让对手陷入睡眠状态",
},
"secretSword": {
name: "神秘之剑",
- effect: "用长角切斩对手进行攻击。\n角上拥有的神奇力量将给予\n物理伤害",
+ effect: "用长角切斩对手进行攻击。\n角上拥有的神奇力量将给予物理伤害",
},
"glaciate": {
name: "冰封世界",
- effect: "将冰冻的冷气吹向对手进行\n攻击。会降低对手的速度",
+ effect: "将冰冻的冷气吹向对手进行攻击。\n会降低对手的速度",
},
"boltStrike": {
name: "雷击",
- effect: "让强大的电流覆盖全身,猛\n撞向对手进行攻击。有时会\n让对手陷入麻痹状态",
+ effect: "让强大的电流覆盖全身,\n猛撞向对手进行攻击。有时会让对手陷入麻痹状态",
},
"blueFlare": {
name: "青焰",
- effect: "用美丽而激烈的青焰包裹住\n对手进行攻击。有时会让对\n手陷入灼伤状态",
+ effect: "用美丽而激烈的青焰包裹住对手进行攻击。\n有时会让对手陷入灼伤状态",
},
"fieryDance": {
name: "火之舞",
- effect: "让火焰覆盖全身,振翅攻击\n对手。有时会提高自己的特\n攻",
+ effect: "让火焰覆盖全身,振翅攻击对手。\n有时会提高自己的特攻",
},
"freezeShock": {
name: "冰冻伏特",
- effect: "用覆盖着电流的冰块,在第\n2回合撞向对手。有时会让\n对手陷入麻痹状态",
+ effect: "用覆盖着电流的冰块,\n在第2回合撞向对手。有时会让对手陷入麻痹状态",
},
"iceBurn": {
name: "极寒冷焰",
- effect: "用能够冻结一切的强烈冷气,\n在第2回合包裹住对手。\n有时会让对手陷入灼伤状态",
+ effect: "用能够冻结一切的强烈冷气,\n在第2回合包裹住对手。有时会让对手\n陷入灼伤状态",
},
"snarl": {
name: "大声咆哮",
- effect: "没完没了地大声斥责,从而\n降低对手的特攻",
+ effect: "没完没了地大声斥责,\n从而降低对手的特攻",
},
"icicleCrash": {
name: "冰柱坠击",
- effect: "用大冰柱激烈地撞向对手进\n行攻击。有时会使对手畏缩",
+ effect: "用大冰柱激烈地撞向对手进行攻击。\n有时会使对手畏缩",
},
"vCreate": {
name: "V热焰",
- effect: "从前额产生灼热的火焰,舍\n身撞击对手。防御、特防和\n速度会降低",
+ effect: "从前额产生灼热的火焰,\n舍身撞击对手。防御、特防和速度会降低",
},
"fusionFlare": {
name: "交错火焰",
- effect: "释放出巨大的火焰。受到巨\n大的闪电影响时,招式威力\n会提高",
+ effect: "释放出巨大的火焰。受到巨大的闪\n电影响时,招式威力会提高",
},
"fusionBolt": {
name: "交错闪电",
- effect: "释放出巨大的闪电。受到巨\n大的火焰影响时,招式威力\n会提高",
+ effect: "释放出巨大的闪电。受到巨大的火\n焰影响时,招式威力会提高",
},
"flyingPress": {
name: "飞身重压",
- effect: "从空中俯冲向对手。此招式\n同时带有格斗属性和飞行属\n性",
+ effect: "从空中俯冲向对手。此招式同时带\n有格斗属性和飞行属性",
},
"matBlock": {
name: "掀榻榻米",
- effect: "将掀起来的榻榻米当作盾牌,\n防住自己和同伴免受招式\n伤害。变化招式无法防住",
+ effect: "将掀起来的榻榻米当作盾牌,\n防住自己和同伴免受招式伤害。\n变化招式无法防住",
},
"belch": {
name: "打嗝",
@@ -2251,7 +2251,7 @@ export const move: MoveTranslationEntries = {
},
"rototiller": {
name: "耕地",
- effect: "翻耕土地,使草木更容易成\n长。会提高草属性宝可梦的\n攻击和特攻",
+ effect: "翻耕土地,使草木更容易成长。\n会提高草属性宝可梦的攻击和特攻",
},
"stickyWeb": {
name: "黏黏网",
@@ -2263,79 +2263,79 @@ export const move: MoveTranslationEntries = {
},
"phantomForce": {
name: "潜灵奇袭",
- effect: "第1回合消失在某处,第2\n回合攻击对手。可以无视守\n护进行攻击",
+ effect: "第1回合消失在某处,\n第2回合攻击对手。可以无视守护进行攻击",
},
"trickOrTreat": {
name: "万圣夜",
- effect: "邀请对手参加万圣夜。使对\n手被追加幽灵属性",
+ effect: "邀请对手参加万圣夜。\n使对手被追加幽灵属性",
},
"nobleRoar": {
name: "战吼",
- effect: "发出战吼威吓对手,从而降\n低对手的攻击和特攻",
+ effect: "发出战吼威吓对手,从而降低对手\n的攻击和特攻",
},
"ionDeluge": {
name: "等离子浴",
- effect: "将带电粒子扩散开来,使一\n般属性的招式变成电属性",
+ effect: "将带电粒子扩散开来,\n使一般属性的招式变成电属性",
},
"parabolicCharge": {
name: "抛物面充电",
- effect: "给周围全体宝可梦造成伤害。\n可以回复给予伤害的一半\nHP",
+ effect: "给周围全体宝可梦造成伤害。\n可以回复给予伤害的一半HP",
},
"forestsCurse": {
name: "森林咒术",
- effect: "向对手施加森林咒术。中了\n咒术的对手会被追加草属性",
+ effect: "向对手施加森林咒术。\n中了咒术的对手会被追加草属性",
},
"petalBlizzard": {
name: "落英缤纷",
- effect: "猛烈地刮起飞雪般的落花,\n攻击周围所有的宝可梦,并\n给予伤害",
+ effect: "猛烈地刮起飞雪般的落花,\n攻击周围所有的宝可梦,并给予伤害",
},
"freezeDry": {
name: "冷冻干燥",
- effect: "急剧冷冻对手,有时会让对\n手陷入冰冻状态。对于水属\n性宝可梦也是效果绝佳",
+ effect: "急剧冷冻对手,有时会让对手陷入\n冰冻状态。对于水属性宝可梦也是\n效果绝佳",
},
"disarmingVoice": {
name: "魅惑之声",
- effect: "发出魅惑的叫声,给予对手\n精神上的伤害。攻击必定会\n命中",
+ effect: "发出魅惑的叫声,给予对手精神上的伤害。\n攻击必定会命中",
},
"partingShot": {
name: "抛下狠话",
- effect: "抛下狠话威吓对手,降低攻\n击和特攻后,和后备宝可梦\n进行替换",
+ effect: "抛下狠话威吓对手,降低攻击和特攻后,\n和后备宝可梦进行替换",
},
"topsyTurvy": {
name: "颠倒",
- effect: "颠倒对手身上的所有能力变\n化,变成和原来相反的状态",
+ effect: "颠倒对手身上的所有能力变化,\n变成和原来相反的状态",
},
"drainingKiss": {
name: "吸取之吻",
- effect: "用一个吻吸取对手的HP。\n回复给予对手伤害的一半以\n上的HP",
+ effect: "用一个吻吸取对手的HP。\n回复给予对手伤害的一半以上的HP",
},
"craftyShield": {
name: "戏法防守",
- effect: "使用神奇的力量防住攻击我\n方的变化招式。但无法防住\n伤害招式的攻击",
+ effect: "使用神奇的力量防住攻击我方的变化招式。\n但无法防住伤害招式的攻击",
},
"flowerShield": {
name: "鲜花防守",
- effect: "使用神奇的力量提高在场的\n所有草属性宝可梦的防御",
+ effect: "使用神奇的力量提高在场的所有草\n属性宝可梦的防御",
},
"grassyTerrain": {
name: "青草场地",
- effect: "在5回合内变成青草场地。\n地面上的宝可梦每回合都能\n回复。草属性的招式威力还\n会提高",
+ effect: "在5回合内变成青草场地。\n地面上的宝可梦每回合都能回复。\n草属性的招式威力还会提高",
},
"mistyTerrain": {
name: "薄雾场地",
- effect: "在5回合内,地面上的宝可\n梦不会陷入异常状态。龙属\n性招式的伤害也会减半",
+ effect: "在5回合内,地面上的宝可梦不会\n陷入异常状态。龙属性招式的伤害\n也会减半",
},
"electrify": {
name: "输电",
- effect: "对手使出招式前,如果输电,\n则该回合对手的招式变成\n电属性",
+ effect: "对手使出招式前,如果输电,\n则该回合对手的招式变成电属性",
},
"playRough": {
name: "嬉闹",
- effect: "与对手嬉闹并攻击。有时会\n降低对手的攻击",
+ effect: "与对手嬉闹并攻击。有时会降低对\n手的攻击",
},
"fairyWind": {
name: "妖精之风",
- effect: "刮起妖精之风,吹向对手进\n行攻击",
+ effect: "刮起妖精之风,吹向对手进行攻击",
},
"moonblast": {
name: "月亮之力",
@@ -2343,83 +2343,83 @@ export const move: MoveTranslationEntries = {
},
"boomburst": {
name: "爆音波",
- effect: "通过震耳欲聋的爆炸声产生\n的破坏力,攻击自己周围所\n有的宝可梦",
+ effect: "通过震耳欲聋的爆炸声产生的破坏力,\n攻击自己周围所有的宝可梦",
},
"fairyLock": {
name: "妖精之锁",
- effect: "通过封锁,下一回合所有的\n宝可梦都无法逃走",
+ effect: "通过封锁,下一回合所有的宝可梦\n都无法逃走",
},
"kingsShield": {
name: "王者盾牌",
- effect: "防住对手攻击的同时,自己\n变为防御姿态。能够降低所\n接触到的对手的攻击",
+ effect: "防住对手攻击的同时,\n自己变为防御姿态。能够降低所接触到的对手的攻击",
},
"playNice": {
name: "和睦相处",
- effect: "和对手和睦相处,使其失去\n战斗的气力,从而降低对手\n的攻击",
+ effect: "和对手和睦相处,使其失去战斗的气力,\n从而降低对手的攻击",
},
"confide": {
name: "密语",
- effect: "和对手进行密语,使其失去\n集中力,从而降低对手的特\n攻",
+ effect: "和对手进行密语,使其失去集中力,\n从而降低对手的特攻",
},
"diamondStorm": {
name: "钻石风暴",
- effect: "掀起钻石风暴给予伤害。有\n时会大幅提高自己的防御",
+ effect: "掀起钻石风暴给予伤害。\n有时会大幅提高自己的防御",
},
"steamEruption": {
name: "蒸汽爆炸",
- effect: "将滚烫的蒸汽喷向对手。有\n时会让对手灼伤",
+ effect: "将滚烫的蒸汽喷向对手。\n有时会让对手灼伤",
},
"hyperspaceHole": {
name: "异次元洞",
- effect: "通过异次元洞,突然出现在\n对手的侧面进行攻击。还可\n以无视守住和看穿等招式",
+ effect: "通过异次元洞,突然出现在对手的\n侧面进行攻击。还可以无视守住和\n看穿等招式",
},
"waterShuriken": {
name: "飞水手里剑",
- effect: "用粘液制成的手里剑,连续\n攻击2~5次。必定能够先\n制攻击",
+ effect: "用粘液制成的手里剑,\n连续攻击2~5次。必定能够先制攻击",
},
"mysticalFire": {
name: "魔法火焰",
- effect: "从口中喷出特别灼热的火焰\n进行攻击。降低对手的特攻",
+ effect: "从口中喷出特别灼热的火焰进行攻击。\n降低对手的特攻",
},
"spikyShield": {
name: "尖刺防守",
- effect: "防住对手攻击的同时,削减\n接触到自己的对手的体力",
+ effect: "防住对手攻击的同时,\n削减接触到自己的对手的体力",
},
"aromaticMist": {
name: "芳香薄雾",
- effect: "通过神奇的芳香,提高我方\n宝可梦的特防",
+ effect: "通过神奇的芳香,提高我方宝可梦的特防",
},
"eerieImpulse": {
name: "怪异电波",
- effect: "从身体放射出怪异电波,让\n对手沐浴其中,从而大幅降\n低其特攻",
+ effect: "从身体放射出怪异电波,\n让对手沐浴其中,从而大幅降低其特攻",
},
"venomDrench": {
name: "毒液陷阱",
- effect: "将特殊的毒液泼向对手。对\n处于中毒状态的对手,其攻\n击、特攻和速度都会降低",
+ effect: "将特殊的毒液泼向对手。\n对处于中毒状态的对手,其攻击、特攻和速\n度都会降低",
},
"powder": {
name: "粉尘",
- effect: "如果被撒到粉尘的对手使用\n火招式,则会爆炸并给予伤\n害",
+ effect: "如果被撒到粉尘的对手使用火招式,\n则会爆炸并给予伤害",
},
"geomancy": {
name: "大地掌控",
- effect: "第1回合吸收能量,第2回\n合大幅提高特攻、特防和速\n度",
+ effect: "第1回合吸收能量,第2回合大幅\n提高特攻、特防和速度",
},
"magneticFlux": {
name: "磁场操控",
- effect: "通过操控磁场,会提高特性\n为正电和负电的宝可梦的防\n御和特防",
+ effect: "通过操控磁场,会提高特性为正电\n和负电的宝可梦的防御和特防",
},
"happyHour": {
name: "欢乐时光",
- effect: "如果使用欢乐时光,战斗后\n得到的钱会翻倍",
+ effect: "如果使用欢乐时光,战斗后得到的\n钱会翻倍",
},
"electricTerrain": {
name: "电气场地",
- effect: "在5回合内变成电气场地。\n地面上的宝可梦将无法入眠。\n电属性的招式威力还会提\n高",
+ effect: "在5回合内变成电气场地。\n地面上的宝可梦将无法入眠。\n电属性的招式威力还会提高",
},
"dazzlingGleam": {
name: "魔法闪耀",
- effect: "向对手发射强光,并给予伤\n害",
+ effect: "向对手发射强光,并给予伤害",
},
"celebrate": {
name: "庆祝",
@@ -2427,55 +2427,55 @@ export const move: MoveTranslationEntries = {
},
"holdHands": {
name: "牵手",
- effect: "我方宝可梦之间牵手。能带\n来非常幸福的心情",
+ effect: "我方宝可梦之间牵手。\n能带来非常幸福的心情",
},
"babyDollEyes": {
name: "圆瞳",
- effect: "用圆瞳凝视对手,从而降低\n其攻击。必定能够先制攻击",
+ effect: "用圆瞳凝视对手,从而降低其攻击。\n必定能够先制攻击",
},
"nuzzle": {
name: "蹭蹭脸颊",
- effect: "将带电的脸颊蹭蹭对手进行\n攻击。让对手陷入麻痹状态",
+ effect: "将带电的脸颊蹭蹭对手进行攻击。\n让对手陷入麻痹状态",
},
"holdBack": {
name: "手下留情",
- effect: "在攻击的时候手下留情,从\n而使对手的HP至少会留下\n1HP",
+ effect: "在攻击的时候手下留情,\n从而使对手的HP至少会留下1HP",
},
"infestation": {
name: "纠缠不休",
- effect: "在4~5回合内死缠烂打地\n进行攻击。在此期间对手将\n无法逃走",
+ effect: "在4~5回合内死缠烂打地进行攻击。\n在此期间对手将无法逃走",
},
"powerUpPunch": {
name: "增强拳",
- effect: "通过反复击打对手,使自己\n的拳头慢慢变硬。打中对手\n攻击就会提高",
+ effect: "通过反复击打对手,使自己的拳头\n慢慢变硬。打中对手攻击就会提高",
},
"oblivionWing": {
name: "归天之翼",
- effect: "从锁定的对手身上吸取HP。\n回复给予对手伤害的一半\n以上的HP",
+ effect: "从锁定的对手身上吸取HP。\n回复给予对手伤害的一半以上的HP",
},
"thousandArrows": {
name: "千箭齐发",
- effect: "可以击中浮在空中的宝可梦。\n空中的对手被击落后,会\n掉到地面",
+ effect: "可以击中浮在空中的宝可梦。\n空中的对手被击落后,会掉到地面",
},
"thousandWaves": {
name: "千波激荡",
- effect: "从地面掀起波浪进行攻击。\n被掀入波浪中的对手,将无\n法从战斗中逃走",
+ effect: "从地面掀起波浪进行攻击。\n被掀入波浪中的对手,将无法从战斗中逃走",
},
"landsWrath": {
name: "大地神力",
- effect: "聚集大地的力量,将此力量\n集中攻击对手,并给予伤害",
+ effect: "聚集大地的力量,将此力量集中攻击对手,\n并给予伤害",
},
"lightOfRuin": {
name: "破灭之光",
- effect: "借用永恒之花的力量,发射\n出强力光线。自己也会受到\n非常大的伤害",
+ effect: "借用永恒之花的力量,\n发射出强力光线。自己也会受到非常大的伤害",
},
"originPulse": {
name: "根源波动",
- effect: "用无数青白色且闪耀的光线\n攻击对手",
+ effect: "用无数青白色且闪耀的光线攻击对手",
},
"precipiceBlades": {
name: "断崖之剑",
- effect: "将大地的力量变化为利刃攻\n击对手",
+ effect: "将大地的力量变化为利刃攻击对手",
},
"dragonAscent": {
name: "画龙点睛",
@@ -2483,155 +2483,155 @@ export const move: MoveTranslationEntries = {
},
"hyperspaceFury": {
name: "异次元猛攻",
- effect: "用许多手臂,无视对手的守\n住或看穿等招式进行连续攻\n击,自己的防御会降低",
+ effect: "用许多手臂,无视对手的守住或看\n穿等招式进行连续攻击,\n自己的防御会降低",
},
"breakneckBlitzPhysical": {
name: "一般Z究极无敌大冲撞",
- effect: "通过Z力量气势猛烈地全力\n撞上对手。威力会根据原来\n的招式而改变",
+ effect: "通过Z力量气势猛烈地全力撞上对手。\n威力会根据原来的招式而改变",
},
"breakneckBlitzSpecial": {
name: "一般Z究极无敌大冲撞",
- effect: "通过Z力量气势猛烈地全力\n撞上对手。威力会根据原来\n的招式而改变",
+ effect: "通过Z力量气势猛烈地全力撞上对手。\n威力会根据原来的招式而改变",
},
"allOutPummelingPhysical": {
name: "格斗Z全力无双激烈拳",
- effect: "通过Z力量制造出能量弹,\n全力撞向对手。威力会根据\n原来的招式而改变",
+ effect: "通过Z力量制造出能量弹,\n全力撞向对手。威力会根据原来的招式而改变",
},
"allOutPummelingSpecial": {
name: "格斗Z全力无双激烈拳",
- effect: "通过Z力量制造出能量弹,\n全力撞向对手。威力会根据\n原来的招式而改变",
+ effect: "通过Z力量制造出能量弹,\n全力撞向对手。威力会根据原来的招式而改变",
},
"supersonicSkystrikePhysical": {
name: "飞行Z极速俯冲轰烈撞",
- effect: "通过Z力量猛烈地飞向天空,\n朝对手全力落下。威力会\n根据原来的招式而改变",
+ effect: "通过Z力量猛烈地飞向天空,\n朝对手全力落下。威力会根据原来的招\n式而改变",
},
"supersonicSkystrikeSpecial": {
name: "飞行Z极速俯冲轰烈撞",
- effect: "通过Z力量猛烈地飞向天空,\n朝对手全力落下。威力会\n根据原来的招式而改变",
+ effect: "通过Z力量猛烈地飞向天空,\n朝对手全力落下。威力会根据原来的招\n式而改变",
},
"acidDownpourPhysical": {
name: "毒Z强酸剧毒灭绝雨",
- effect: "通过Z力量使毒沼涌起,全\n力让对手沉下去。威力会根\n据原来的招式而改变",
+ effect: "通过Z力量使毒沼涌起,\n全力让对手沉下去。威力会根据原来的招式而改变",
},
"acidDownpourSpecial": {
name: "毒Z强酸剧毒灭绝雨",
- effect: "通过Z力量使毒沼涌起,全\n力让对手沉下去。威力会根\n据原来的招式而改变",
+ effect: "通过Z力量使毒沼涌起,\n全力让对手沉下去。威力会根据原来的招式而改变",
},
"tectonicRagePhysical": {
name: "地面Z地隆啸天大终结",
- effect: "通过Z力量潜入地里最深处,\n全力撞上对手。威力会根\n据原来的招式而改变",
+ effect: "通过Z力量潜入地里最深处,\n全力撞上对手。威力会根据原来的招式而改变",
},
"tectonicRageSpecial": {
name: "地面Z地隆啸天大终结",
- effect: "通过Z力量潜入地里最深处,\n全力撞上对手。威力会根\n据原来的招式而改变",
+ effect: "通过Z力量潜入地里最深处,\n全力撞上对手。威力会根据原来的招式而改变",
},
"continentalCrushPhysical": {
name: "岩石Z毁天灭地巨岩坠",
- effect: "通过Z力量召唤大大的岩山,\n全力撞向对手。威力会根\n据原来的招式而改变",
+ effect: "通过Z力量召唤大大的岩山,\n全力撞向对手。威力会根据原来的招式而改变",
},
"continentalCrushSpecial": {
name: "岩石Z毁天灭地巨岩坠",
- effect: "通过Z力量召唤大大的岩山,\n全力撞向对手。威力会根\n据原来的招式而改变",
+ effect: "通过Z力量召唤大大的岩山,\n全力撞向对手。威力会根据原来的招式而改变",
},
"savageSpinOutPhysical": {
name: "虫Z绝对捕食回旋斩",
- effect: "通过Z力量将吐出的丝线全\n力束缚对手。威力会根据原\n来的招式而改变",
+ effect: "通过Z力量将吐出的丝线全力束缚对手。\n威力会根据原来的招式而改变",
},
"savageSpinOutSpecial": {
name: "虫Z绝对捕食回旋斩",
- effect: "通过Z力量将吐出的丝线全\n力束缚对手。威力会根据原\n来的招式而改变",
+ effect: "通过Z力量将吐出的丝线全力束缚对手。\n威力会根据原来的招式而改变",
},
"neverEndingNightmarePhysical": {
name: "幽灵Z无尽暗夜之诱惑",
- effect: "通过Z力量召唤强烈的怨念,\n全力降临到对手身上。威\n力会根据原来的招式而改变",
+ effect: "通过Z力量召唤强烈的怨念,\n全力降临到对手身上。威力会根据原来\n的招式而改变",
},
"neverEndingNightmareSpecial": {
name: "幽灵Z无尽暗夜之诱惑",
- effect: "通过Z力量召唤强烈的怨念,\n全力降临到对手身上。威\n力会根据原来的招式而改变",
+ effect: "通过Z力量召唤强烈的怨念,\n全力降临到对手身上。威力会根据原来\n的招式而改变",
},
"corkscrewCrashPhysical": {
name: "钢Z超绝螺旋连击",
- effect: "通过Z力量进行高速旋转,\n全力撞上对手。威力会根据\n原来的招式而改变",
+ effect: "通过Z力量进行高速旋转,\n全力撞上对手。威力会根据原来的招式而改变",
},
"corkscrewCrashSpecial": {
name: "钢Z超绝螺旋连击",
- effect: "通过Z力量进行高速旋转,\n全力撞上对手。威力会根据\n原来的招式而改变",
+ effect: "通过Z力量进行高速旋转,\n全力撞上对手。威力会根据原来的招式而改变",
},
"infernoOverdrivePhysical": {
name: "火Z超强极限爆焰弹",
- effect: "通过Z力量喷出熊熊烈火,\n全力撞向对手。威力会根据\n原来的招式而改变",
+ effect: "通过Z力量喷出熊熊烈火,\n全力撞向对手。威力会根据原来的招式而改变",
},
"infernoOverdriveSpecial": {
name: "火Z超强极限爆焰弹",
- effect: "通过Z力量喷出熊熊烈火,\n全力撞向对手。威力会根据\n原来的招式而改变",
+ effect: "通过Z力量喷出熊熊烈火,\n全力撞向对手。威力会根据原来的招式而改变",
},
"hydroVortexPhysical": {
name: "水Z超级水流大漩涡",
- effect: "通过Z力量制造大大的潮旋,\n全力吞没对手。威力会根\n据原来的招式而改变",
+ effect: "通过Z力量制造大大的潮旋,\n全力吞没对手。威力会根据原来的招式而改变",
},
"hydroVortexSpecial": {
name: "水Z超级水流大漩涡",
- effect: "通过Z力量制造大大的潮旋,\n全力吞没对手。威力会根\n据原来的招式而改变",
+ effect: "通过Z力量制造大大的潮旋,\n全力吞没对手。威力会根据原来的招式而改变",
},
"bloomDoomPhysical": {
name: "草Z绚烂缤纷花怒放",
- effect: "通过Z力量借助花草的能量,\n全力攻击对手。威力会根\n据原来的招式而改变",
+ effect: "通过Z力量借助花草的能量,\n全力攻击对手。威力会根据原来的招式而改变",
},
"bloomDoomSpecial": {
name: "草Z绚烂缤纷花怒放",
- effect: "通过Z力量借助花草的能量,\n全力攻击对手。威力会根\n据原来的招式而改变",
+ effect: "通过Z力量借助花草的能量,\n全力攻击对手。威力会根据原来的招式而改变",
},
"gigavoltHavocPhysical": {
name: "电Z终极伏特狂雷闪",
- effect: "通过Z力量将蓄积的强大电\n流全力撞向对手。威力会根\n据原来的招式而改变",
+ effect: "通过Z力量将蓄积的强大电流全力\n撞向对手。威力会根据原来的招式而改变",
},
"gigavoltHavocSpecial": {
name: "电Z终极伏特狂雷闪",
- effect: "通过Z力量将蓄积的强大电\n流全力撞向对手。威力会根\n据原来的招式而改变",
+ effect: "通过Z力量将蓄积的强大电流全力\n撞向对手。威力会根据原来的招式而改变",
},
"shatteredPsychePhysical": {
name: "超能力Z至高精神破坏波",
- effect: "通过Z力量操纵对手,全力\n使其感受到痛苦。威力会根\n据原来的招式而改变",
+ effect: "通过Z力量操纵对手,\n全力使其感受到痛苦。威力会根据原来的招式而改变",
},
"shatteredPsycheSpecial": {
name: "超能力Z至高精神破坏波",
- effect: "通过Z力量操纵对手,全力\n使其感受到痛苦。威力会根\n据原来的招式而改变",
+ effect: "通过Z力量操纵对手,\n全力使其感受到痛苦。威力会根据原来的招式而改变",
},
"subzeroSlammerPhysical": {
name: "冰Z激狂大地万里冰",
- effect: "通过Z力量急剧降低气温,\n全力冰冻对手。威力会根据\n原来的招式而改变",
+ effect: "通过Z力量急剧降低气温,\n全力冰冻对手。威力会根据原来的招式而改变",
},
"subzeroSlammerSpecial": {
name: "冰Z激狂大地万里冰",
- effect: "通过Z力量急剧降低气温,\n全力冰冻对手。威力会根据\n原来的招式而改变",
+ effect: "通过Z力量急剧降低气温,\n全力冰冻对手。威力会根据原来的招式而改变",
},
"devastatingDrakePhysical": {
name: "龙Z究极巨龙震天地",
- effect: "通过Z力量将气场实体化,\n向对手全力发动袭击。威力\n会根据原来的招式而改变",
+ effect: "通过Z力量将气场实体化,\n向对手全力发动袭击。威力会根据原来的\n招式而改变",
},
"devastatingDrakeSpecial": {
name: "龙Z究极巨龙震天地",
- effect: "通过Z力量将气场实体化,\n向对手全力发动袭击。威力\n会根据原来的招式而改变",
+ effect: "通过Z力量将气场实体化,\n向对手全力发动袭击。威力会根据原来的\n招式而改变",
},
"blackHoleEclipsePhysical": {
name: "恶Z黑洞吞噬万物灭",
- effect: "通过Z力量收集恶能量,全\n力将对手吸入。威力会根据\n原来的招式而改变",
+ effect: "通过Z力量收集恶能量,\n全力将对手吸入。威力会根据原来的招式而改变",
},
"blackHoleEclipseSpecial": {
name: "恶Z黑洞吞噬万物灭",
- effect: "通过Z力量收集恶能量,全\n力将对手吸入。威力会根据\n原来的招式而改变",
+ effect: "通过Z力量收集恶能量,\n全力将对手吸入。威力会根据原来的招式而改变",
},
"twinkleTacklePhysical": {
name: "妖精Z可爱星星飞天撞",
- effect: "通过Z力量制造魅惑空间,\n全力捉弄对手。威力会根据\n原来的招式而改变",
+ effect: "通过Z力量制造魅惑空间,\n全力捉弄对手。威力会根据原来的招式而改变",
},
"twinkleTackleSpecial": {
name: "妖精Z可爱星星飞天撞",
- effect: "通过Z力量制造魅惑空间,\n全力捉弄对手。威力会根据\n原来的招式而改变",
+ effect: "通过Z力量制造魅惑空间,\n全力捉弄对手。威力会根据原来的招式而改变",
},
"catastropika": {
name: "皮卡丘Z皮卡皮卡必杀击",
- effect: "通过Z力量,皮卡丘全身覆\n盖最强电力,全力猛扑对手",
+ effect: "通过Z力量,皮卡丘全身覆盖最强电力,\n全力猛扑对手",
},
"shoreUp": {
name: "集沙",
@@ -2639,27 +2639,27 @@ export const move: MoveTranslationEntries = {
},
"firstImpression": {
name: "迎头一击",
- effect: "威力很高的招式,但只有在\n出场战斗时,立刻使出才能\n成功",
+ effect: "威力很高的招式,但只有在出场战斗时,\n立刻使出才能成功",
},
"banefulBunker": {
name: "碉堡",
- effect: "防住对手攻击的同时,让接\n触到自己的对手中毒",
+ effect: "防住对手攻击的同时,\n让接触到自己的对手中毒",
},
"spiritShackle": {
name: "缝影",
- effect: "攻击的同时,缝住对手的影\n子,使其无法逃走",
+ effect: "攻击的同时,缝住对手的影子,\n使其无法逃走",
},
"darkestLariat": {
name: "DD金勾臂",
- effect: "旋转双臂打向对手。无视对\n手的能力变化,直接给予伤\n害",
+ effect: "旋转双臂打向对手。无视对手的能力变化,\n直接给予伤害",
},
"sparklingAria": {
name: "泡影的咏叹调",
- effect: "随着唱歌会放出很多气球。\n受到此招式攻击时,灼伤会\n被治愈",
+ effect: "随着唱歌会放出很多气球。\n受到此招式攻击时,灼伤会被治愈",
},
"iceHammer": {
name: "冰锤",
- effect: "挥舞强力而沉重的拳头,给\n予对手伤害。自己的速度会\n降低",
+ effect: "挥舞强力而沉重的拳头,\n给予对手伤害。自己的速度会降低",
},
"floralHealing": {
name: "花疗",
@@ -2671,11 +2671,11 @@ export const move: MoveTranslationEntries = {
},
"strengthSap": {
name: "吸取力量",
- effect: "给自己回复和对手攻击力相\n同数值的HP,然后降低对\n手的攻击",
+ effect: "给自己回复和对手攻击力相同数值的HP,\n然后降低对手的攻击",
},
"solarBlade": {
name: "日光刃",
- effect: "第1回合收集满满的日光,\n第2回合将此力量集中在剑\n上进行攻击",
+ effect: "第1回合收集满满的日光,\n第2回合将此力量集中在剑上进行攻击",
},
"leafage": {
name: "树叶",
@@ -2683,79 +2683,79 @@ export const move: MoveTranslationEntries = {
},
"spotlight": {
name: "聚光灯",
- effect: "给宝可梦打上聚光灯,该回\n合只能瞄准该宝可梦",
+ effect: "给宝可梦打上聚光灯,\n该回合只能瞄准该宝可梦",
},
"toxicThread": {
name: "毒丝",
- effect: "将混有毒的丝吐向对手。使\n其中毒,从而降低对手的速\n度",
+ effect: "将混有毒的丝吐向对手。\n使其中毒,从而降低对手的速度",
},
"laserFocus": {
name: "磨砺",
- effect: "集中精神,下次攻击必定会\n击中要害",
+ effect: "集中精神,下次攻击必定会击中要害",
},
"gearUp": {
name: "辅助齿轮",
- effect: "启动齿轮,提高特性为正电\n和负电的宝可梦的攻击和特\n攻",
+ effect: "启动齿轮,提高特性为正电和负电\n的宝可梦的攻击和特攻",
},
"throatChop": {
name: "深渊突刺",
- effect: "受到此招式攻击的对手,会\n因为地狱般的痛苦,在2回\n合内,变得无法使出声音类\n招式",
+ effect: "受到此招式攻击的对手,\n会因为地狱般的痛苦,在2回合内,\n变得无法使出声音类招式",
},
"pollenPuff": {
name: "花粉团",
- effect: "对敌人使用是会爆炸的团子。\n对我方使用则是给予回复\n的团子",
+ effect: "对敌人使用是会爆炸的团子。\n对我方使用则是给予回复的团子",
},
"anchorShot": {
name: "掷锚",
- effect: "将锚缠住对手进行攻击。使\n对手无法逃走",
+ effect: "将锚缠住对手进行攻击。\n使对手无法逃走",
},
"psychicTerrain": {
name: "精神场地",
- effect: "在5回合内,地面上的宝可\n梦不会受到先制招式的攻击。\n超能力属性的招式威力会\n提高",
+ effect: "在5回合内,地面上的宝可梦不会\n受到先制招式的攻击。\n超能力属性的招式威力会提高",
},
"lunge": {
name: "猛扑",
- effect: "全力猛扑对手进行攻击。从\n而降低对手的攻击",
+ effect: "全力猛扑对手进行攻击。\n从而降低对手的攻击",
},
"fireLash": {
name: "火焰鞭",
- effect: "用燃烧的鞭子抽打对手。受\n到攻击的对手防御会降低",
+ effect: "用燃烧的鞭子抽打对手。\n受到攻击的对手防御会降低",
},
"powerTrip": {
name: "嚣张",
- effect: "耀武扬威地攻击对手,自己\n的能力提高得越多,威力就\n越大",
+ effect: "耀武扬威地攻击对手,\n自己的能力提高得越多,威力就越大",
},
"burnUp": {
name: "燃尽",
- effect: "将自己全身燃烧起火焰来,\n给予对手大大的伤害。自己\n的火属性将会消失",
+ effect: "将自己全身燃烧起火焰来,\n给予对手大大的伤害。自己的火属性将会消失",
},
"speedSwap": {
name: "速度互换",
- effect: "将对手和自己的速度进行互\n换",
+ effect: "将对手和自己的速度进行互换",
},
"smartStrike": {
name: "修长之角",
- effect: "用尖尖的角刺入对手进行攻\n击。攻击必定会命中",
+ effect: "用尖尖的角刺入对手进行攻击。\n攻击必定会命中",
},
"purify": {
name: "净化",
- effect: "治愈对手的异常状态。治愈\n后可以回复自己的HP",
+ effect: "治愈对手的异常状态。\n治愈后可以回复自己的HP",
},
"revelationDance": {
name: "觉醒之舞",
- effect: "全力跳舞进行攻击。此招式\n的属性将变得和自己的属性\n相同",
+ effect: "全力跳舞进行攻击。此招式的属性\n将变得和自己的属性相同",
},
"coreEnforcer": {
name: "核心惩罚者",
- effect: "如果给予过伤害的对手已经\n结束行动,其特性就会被消\n除",
+ effect: "如果给予过伤害的对手已经结束行动,\n其特性就会被消除",
},
"tropKick": {
name: "热带踢",
- effect: "向对手使出来自南国的火热\n脚踢。从而降低对手的攻击",
+ effect: "向对手使出来自南国的火热脚踢。\n从而降低对手的攻击",
},
"instruct": {
name: "号令",
- effect: "向对手下达指示,让其再次\n使出刚才的招式",
+ effect: "向对手下达指示,让其再次使出刚\n才的招式",
},
"beakBlast": {
name: "鸟嘴加农炮",
@@ -2763,83 +2763,83 @@ export const move: MoveTranslationEntries = {
},
"clangingScales": {
name: "鳞片噪音",
- effect: "摩擦全身鳞片,发出响亮的\n声音进行攻击。攻击后自己\n的防御会降低",
+ effect: "摩擦全身鳞片,发出响亮的声音进行攻击。\n攻击后自己的防御会降低",
},
"dragonHammer": {
name: "龙锤",
- effect: "将身体当作锤子,向对手发\n动袭击,给予伤害",
+ effect: "将身体当作锤子,向对手发动袭击,\n给予伤害",
},
"brutalSwing": {
name: "狂舞挥打",
- effect: "用自己的身体狂舞挥打,给\n予对手伤害",
+ effect: "用自己的身体狂舞挥打,\n给予对手伤害",
},
"auroraVeil": {
name: "极光幕",
- effect: "在5回合内减弱物理和特殊\n的伤害。只有下雪时才能使\n出",
+ effect: "在5回合内减弱物理和特殊的伤害。\n只有下雪时才能使出",
},
"sinisterArrowRaid": {
name: "狙射树枭Z遮天蔽日暗影箭",
- effect: "通过Z力量制造出无数箭的\n狙射树枭将全力射穿对手进\n行攻击",
+ effect: "通过Z力量制造出无数箭的狙射树\n枭将全力射穿对手进行攻击",
},
"maliciousMoonsault": {
name: "炽焰咆哮虎Z极恶飞跃粉碎击",
- effect: "通过Z力量得到强壮肉体的\n炽焰咆哮虎将全力撞向对手\n进行攻击",
+ effect: "通过Z力量得到强壮肉体的炽焰咆\n哮虎将全力撞向对手进行攻击",
},
"oceanicOperetta": {
name: "西狮海壬Z海神庄严交响乐",
- effect: "通过Z力量召唤大量水的西\n狮海壬将全力攻击对手",
+ effect: "通过Z力量召唤大量水的西狮海壬\n将全力攻击对手",
},
"guardianOfAlola": {
name: "卡璞Z巨人卫士・阿罗拉",
- effect: "通过Z力量得到阿罗拉之力\n的土地神宝可梦将全力进行\n攻击。对手的剩余HP会减\n少很多",
+ effect: "通过Z力量得到阿罗拉之力的土地\n神宝可梦将全力进行攻击。\n对手的剩余HP会减少很多",
},
"soulStealing7StarStrike": {
name: "玛夏多Z七星夺魂腿",
- effect: "得到Z力量的玛夏多将全力\n使出拳头和脚踢的连续招式\n叩打对手",
+ effect: "得到Z力量的玛夏多将全力使出拳\n头和脚踢的连续招式叩打对手",
},
"stokedSparksurfer": {
name: "阿罗雷Z驾雷驭电戏冲浪",
- effect: "得到Z力量的阿罗拉地区的\n雷丘将全力进行攻击。从而\n让对手陷入麻痹状态",
+ effect: "得到Z力量的阿罗拉地区的雷丘将\n全力进行攻击。从而让对手陷入麻痹状态",
},
"pulverizingPancake": {
name: "卡比兽Z认真起来大爆击",
- effect: "通过Z力量使得认真起来的\n卡比兽跃动巨大身躯,全力\n向对手发动袭击",
+ effect: "通过Z力量使得认真起来的卡比兽\n跃动巨大身躯,全力向对手发动袭击",
},
"extremeEvoboost": {
name: "伊布Z九彩昇华齐聚顶",
- effect: "得到Z力量的伊布将借助进\n化后伙伴们的力量,大幅提\n高能力",
+ effect: "得到Z力量的伊布将借助进化后伙\n伴们的力量,大幅提高能力",
},
"genesisSupernova": {
name: "梦幻Z起源超新星大爆炸",
- effect: "得到Z力量的梦幻将全力攻\n击对手。脚下会变成精神场\n地",
+ effect: "得到Z力量的梦幻将全力攻击对手。\n脚下会变成精神场地",
},
"shellTrap": {
name: "陷阱甲壳",
- effect: "设下甲壳陷阱。如果对手使\n出物理招式,陷阱就会爆炸\n并给予对手伤害",
+ effect: "设下甲壳陷阱。如果对手使出物理招式,\n陷阱就会爆炸并给予对手伤害",
},
"fleurCannon": {
name: "花朵加农炮",
- effect: "放出强力光束后,自己的特\n攻会大幅降低",
+ effect: "放出强力光束后,自己的特攻会大幅降低",
},
"psychicFangs": {
name: "精神之牙",
- effect: "利用精神力量咬住对手进行\n攻击。还可以破坏光墙和反\n射壁等",
+ effect: "利用精神力量咬住对手进行攻击。\n还可以破坏光墙和反射壁等",
},
"stompingTantrum": {
name: "跺脚",
- effect: "化悔恨为力量进行攻击。如\n果上一回合招式没有打中,\n威力就会翻倍",
+ effect: "化悔恨为力量进行攻击。\n如果上一回合招式没有打中,威力就会翻倍",
},
"shadowBone": {
name: "暗影之骨",
- effect: "用附有灵魂的骨头殴打对手\n进行攻击。有时会降低对手\n的防御",
+ effect: "用附有灵魂的骨头殴打对手进行攻击。\n有时会降低对手的防御",
},
"accelerock": {
name: "冲岩",
- effect: "迅速撞向对手进行攻击。必\n定能够先制攻击",
+ effect: "迅速撞向对手进行攻击。\n必定能够先制攻击",
},
"liquidation": {
name: "水流裂破",
- effect: "用水之力量撞向对手进行攻\n击。有时会降低对手的防御",
+ effect: "用水之力量撞向对手进行攻击。\n有时会降低对手的防御",
},
"prismaticLaser": {
name: "棱镜镭射",
@@ -2851,275 +2851,275 @@ export const move: MoveTranslationEntries = {
},
"sunsteelStrike": {
name: "流星闪冲",
- effect: "以流星般的气势猛撞对手。\n可以无视对手的特性进行攻\n击",
+ effect: "以流星般的气势猛撞对手。\n可以无视对手的特性进行攻击",
},
"moongeistBeam": {
name: "暗影之光",
- effect: "放出奇怪的光线攻击对手。\n可以无视对手的特性进行攻\n击",
+ effect: "放出奇怪的光线攻击对手。\n可以无视对手的特性进行攻击",
},
"tearfulLook": {
name: "泪眼汪汪",
- effect: "变得泪眼汪汪,让对手丧失\n斗志。从而降低对手的攻击\n和特攻",
+ effect: "变得泪眼汪汪,让对手丧失斗志。\n从而降低对手的攻击和特攻",
},
"zingZap": {
name: "麻麻刺刺",
- effect: "撞向对手,并发出强电,使\n其感到麻麻刺刺的。有时会\n使对手畏缩",
+ effect: "撞向对手,并发出强电,\n使其感到麻麻刺刺的。有时会使对手畏缩",
},
"naturesMadness": {
name: "自然之怒",
- effect: "向对手释放自然之怒。对手\n的HP会减半",
+ effect: "向对手释放自然之怒。\n对手的HP会减半",
},
"multiAttack": {
name: "多属性攻击",
- effect: "一边覆盖高能量,一边撞向\n对手进行攻击。根据存储碟\n不同,属性会改变",
+ effect: "一边覆盖高能量,一边撞向对手进行攻击。\n根据存储碟不同,\n属性会改变",
},
"tenMillionVoltThunderbolt": {
name: "智皮卡Z千万伏特",
- effect: "戴着帽子的皮卡丘将通过Z\n力量增强的电击全力释放给\n对手。容易击中要害",
+ effect: "戴着帽子的皮卡丘将通过Z力量增\n强的电击全力释放给对手。\n容易击中要害",
},
"mindBlown": {
name: "惊爆大头",
- effect: "让自己的头爆炸,来攻击周\n围的一切。自己也会受到伤\n害",
+ effect: "让自己的头爆炸,来攻击周围的一切。\n自己也会受到伤害",
},
"plasmaFists": {
name: "等离子闪电拳",
- effect: "用覆盖着电流的拳头进行攻\n击。使一般属性的招式变成\n电属性",
+ effect: "用覆盖着电流的拳头进行攻击。\n使一般属性的招式变成电属性",
},
"photonGeyser": {
name: "光子喷涌",
- effect: "用光柱来进行攻击。比较自\n己的攻击和特攻,用数值相\n对较高的一项给予对方伤害",
+ effect: "用光柱来进行攻击。比较自己的攻\n击和特攻,用数值相对较高的一项\n给予对方伤害",
},
"lightThatBurnsTheSky": {
name: "究极奈克洛Z焚天灭世炽光爆",
- effect: "奈克洛兹玛会无视对手的特\n性效果,在攻击和特攻之间,\n用数值相对较高的一项给\n予对方伤害",
+ effect: "奈克洛兹玛会无视对手的特性效果,\n在攻击和特攻之间,\n用数值相对较高的一项给予对方伤害",
},
"searingSunrazeSmash": {
name: "索尔迦雷欧Z日光回旋下苍穹",
- effect: "得到Z力量的索尔迦雷欧将\n全力进行攻击。可以无视对\n手的特性效果",
+ effect: "得到Z力量的索尔迦雷欧将全力进行攻击。\n可以无视对手的特性效果",
},
"menacingMoonrazeMaelstrom": {
name: "露奈雅拉Z月华飞溅落灵霄",
- effect: "得到Z力量的露奈雅拉将全\n力进行攻击。可以无视对手\n的特性效果",
+ effect: "得到Z力量的露奈雅拉将全力进行攻击。\n可以无视对手的特性效果",
},
"letsSnuggleForever": {
name: "谜拟丘Z亲密无间大乱揍",
- effect: "得到Z力量的谜拟Q将全力\n进行乱揍攻击",
+ effect: "得到Z力量的谜拟Q将全力进行乱揍攻击",
},
"splinteredStormshards": {
name: "鬃岩狼人Z狼啸石牙飓风暴",
- effect: "得到Z力量的鬃岩狼人将全\n力进行攻击。而且会消除场\n地状态",
+ effect: "得到Z力量的鬃岩狼人将全力进行攻击。\n而且会消除场地状态",
},
"clangorousSoulblaze": {
name: "杖尾鳞甲龙Z炽魂热舞烈音爆",
- effect: "得到Z力量的杖尾鳞甲龙将\n全力攻击对手。并且自己的\n能力会提高",
+ effect: "得到Z力量的杖尾鳞甲龙将全力攻击对手。\n并且自己的能力会提高",
},
"zippyZap": {
name: "电电加速",
- effect: "迅猛无比的电击。必定能够\n先制攻击,并且提高自己的\n闪避率。",
+ effect: "迅猛无比的电击。必定能够先制攻击,\n并且提高自己的闪避率。",
},
"splishySplash": {
name: "滔滔冲浪",
- effect: "往巨浪中注入电能后冲撞对\n手进行攻击。有时会让对手\n陷入麻痹状态",
+ effect: "往巨浪中注入电能后冲撞对手进行攻击。\n有时会让对手陷入麻痹状态",
},
"floatyFall": {
name: "飘飘坠落",
- effect: "轻飘飘地浮起来后,再猛地\n俯冲下去进行攻击。有时会\n使对手畏缩",
+ effect: "轻飘飘地浮起来后,再猛地俯冲下\n去进行攻击。有时会使对手畏缩",
},
"pikaPapow": {
name: "闪闪雷光",
- effect: "皮卡丘越喜欢训练家,电击\n的威力就越强。攻击必定会\n命中",
+ effect: "皮卡丘越喜欢训练家,\n电击的威力就越强。攻击必定会命中",
},
"bouncyBubble": {
name: "活活气泡",
- effect: "投掷水球进行攻击。吸水后\n能回复等同于造成的伤害一\n半的HP",
+ effect: "投掷水球进行攻击。吸水后能回复\n等同于造成的伤害的HP",
},
"buzzyBuzz": {
name: "麻麻电击",
- effect: "放出电击攻击对手。让对手\n陷入麻痹状态",
+ effect: "放出电击攻击对手。让对手陷入麻痹状态",
},
"sizzlySlide": {
name: "熊熊火爆",
- effect: "用燃起大火的身体猛烈地冲\n撞对手。让对手陷入灼伤状\n态",
+ effect: "用燃起大火的身体猛烈地冲撞对手。\n让对手陷入灼伤状态",
},
"glitzyGlow": {
name: "哗哗气场",
- effect: "利用念力强攻,粉碎对方信\n心。制造一道能减弱对手特\n殊攻击的神奇墙壁",
+ effect: "利用念力强攻,粉碎对方信心。\n制造一道能减弱对手特殊攻击的神奇墙壁",
},
"baddyBad": {
name: "坏坏领域",
- effect: "恶行恶相地进行攻击。制造\n一道能减弱对手物理攻击的\n神奇墙壁",
+ effect: "恶行恶相地进行攻击。\n制造一道能减弱对手物理攻击的神奇墙壁",
},
"sappySeed": {
name: "茁茁炸弹",
- effect: "长出巨大的藤蔓,播撒种子\n进行攻击。种子每回合都会\n吸取对手的HP",
+ effect: "长出巨大的藤蔓,播撒种子进行攻击。\n种子每回合都会吸取对手的HP",
},
"freezyFrost": {
name: "冰冰霜冻",
- effect: "利用冰冷的黑雾结晶进行攻\n击。使全体宝可梦的能力变\n回原点",
+ effect: "利用冰冷的黑雾结晶进行攻击。\n使全体宝可梦的能力变回原点",
},
"sparklySwirl": {
name: "亮亮风暴",
- effect: "利用芬芳刺鼻的龙卷风吞噬\n对方。能治愈我方宝可梦的\n异常状态",
+ effect: "利用芬芳刺鼻的龙卷风吞噬对方。\n能治愈我方宝可梦的异常状态",
},
"veeveeVolley": {
name: "砰砰击破",
- effect: "伊布越喜欢训练家,冲撞的\n威力就越强。攻击必定会命\n中",
+ effect: "伊布越喜欢训练家,冲撞的威力就越强。\n攻击必定会命中",
},
"doubleIronBash": {
name: "钢拳双击",
- effect: "以胸口的螺帽为中心旋转,\n并连续2次挥动手臂打击对\n手。有时会使对手畏缩",
+ effect: "以胸口的螺帽为中心旋转,\n并连续2次挥动手臂打击对手。\n有时会使对手畏缩",
},
"maxGuard": {
name: "极巨防壁",
- effect: "完全抵挡对手的攻击。连续\n使出则容易失败",
+ effect: "完全抵挡对手的攻击。\n连续使出则容易失败",
},
"dynamaxCannon": {
name: "极巨炮",
- effect: "将凝缩在体内的能量从核心\n放出进行攻击",
+ effect: "将凝缩在体内的能量从核心放出进行攻击",
},
"snipeShot": {
name: "狙击",
- effect: "能无视具有吸引对手招式效\n果的特性或招式的影响。可\n以向选定的对手进行攻击",
+ effect: "能无视具有吸引对手招式效果的特\n性或招式的影响。可以向选定的对\n手进行攻击",
},
"jawLock": {
name: "紧咬不放",
- effect: "使双方直到一方昏厥为止无\n法替换宝可梦。其中一方退\n场则可以解除效果",
+ effect: "使双方直到一方昏厥为止无法替换宝可梦。\n其中一方退场则可以解除效果",
},
"stuffCheeks": {
name: "大快朵颐",
- effect: "吃掉携带的树果,大幅提高\n防御",
+ effect: "吃掉携带的树果,大幅提高防御",
},
"noRetreat": {
name: "背水一战",
- effect: "提高自己的所有能力,但无\n法替换或逃走",
+ effect: "提高自己的所有能力,\n但无法替换或逃走",
},
"tarShot": {
name: "沥青射击",
- effect: "泼洒黏糊糊的沥青,降低对\n手的速度。火属性会变成对\n手的弱点",
+ effect: "泼洒黏糊糊的沥青,降低对手的速度。\n火属性会变成对手的弱点",
},
"magicPowder": {
name: "魔法粉",
- effect: "向对手喷洒魔法粉,使对手\n变为超能力属性",
+ effect: "向对手喷洒魔法粉,使对手变为超\n能力属性",
},
"dragonDarts": {
name: "龙箭",
- effect: "让多龙梅西亚进行2次攻击。\n如果对手有2只宝可梦,\n则对它们各进行1次攻击",
+ effect: "让多龙梅西亚进行2次攻击。\n如果对手有2只宝可梦,则对它们各进\n行1次攻击",
},
"teatime": {
name: "茶会",
- effect: "举办一场茶会,场上的所有\n宝可梦都会吃掉自己携带的\n树果",
+ effect: "举办一场茶会,场上的所有宝可梦\n都会吃掉自己携带的树果",
},
"octolock": {
name: "蛸固",
- effect: "让对手无法逃走。对手被固\n定后,每回合都会降低防御\n和特防",
+ effect: "让对手无法逃走。对手被固定后,\n每回合都会降低防御和特防",
},
"boltBeak": {
name: "电喙",
- effect: "用带电的喙啄刺对手。如果\n比对手先出手攻击,招式的\n威力会变成2倍",
+ effect: "用带电的喙啄刺对手。\n如果比对手先出手攻击,招式的威力会变成2倍",
},
"fishiousRend": {
name: "鳃咬",
- effect: "用坚硬的腮咬住对手。如果\n比对手先出手攻击,招式的\n威力会变成2倍",
+ effect: "用坚硬的腮咬住对手。\n如果比对手先出手攻击,招式的威力会变成2倍",
},
"courtChange": {
name: "换场",
- effect: "用神奇的力量交换双方的场\n地效果",
+ effect: "用神奇的力量交换双方的场地效果",
},
"maxFlare": {
name: "极巨火爆",
- effect: "极巨化宝可梦使出的火属性\n攻击。可在5回合内让日照\n变得强烈",
+ effect: "极巨化宝可梦使出的火属性攻击。\n可在5回合内让日照变得强烈",
},
"maxFlutterby": {
name: "极巨虫蛊",
- effect: "极巨化宝可梦使出的虫属性\n攻击。会降低对手的特攻",
+ effect: "极巨化宝可梦使出的虫属性攻击。\n会降低对手的特攻",
},
"maxLightning": {
name: "极巨闪电",
- effect: "极巨化宝可梦使出的电属性\n攻击。可在5回合内将脚下\n变成电气场地",
+ effect: "极巨化宝可梦使出的电属性攻击。\n可在5回合内将脚下变成电气场地",
},
"maxStrike": {
name: "极巨攻击",
- effect: "极巨化宝可梦使出的一般属\n性攻击。会降低对手的速度",
+ effect: "极巨化宝可梦使出的一般属性攻击。\n会降低对手的速度",
},
"maxKnuckle": {
name: "极巨拳斗",
- effect: "极巨化宝可梦使出的格斗属\n性攻击。会提高我方的攻击",
+ effect: "极巨化宝可梦使出的格斗属性攻击。\n会提高我方的攻击",
},
"maxPhantasm": {
name: "极巨幽魂",
- effect: "极巨化宝可梦使出的幽灵属\n性攻击。会降低对手的防御",
+ effect: "极巨化宝可梦使出的幽灵属性攻击。\n会降低对手的防御",
},
"maxHailstorm": {
name: "极巨寒冰",
- effect: "极巨化宝可梦使出的冰属性\n攻击。在5回合内会下雪",
+ effect: "极巨化宝可梦使出的冰属性攻击。\n在5回合内会下雪",
},
"maxOoze": {
name: "极巨酸毒",
- effect: "极巨化宝可梦使出的毒属性\n攻击。会提高我方的特攻",
+ effect: "极巨化宝可梦使出的毒属性攻击。\n会提高我方的特攻",
},
"maxGeyser": {
name: "极巨水流",
- effect: "极巨化宝可梦使出的水属性\n攻击。可在5回合内降下大\n雨",
+ effect: "极巨化宝可梦使出的水属性攻击。\n可在5回合内降下大雨",
},
"maxAirstream": {
name: "极巨飞冲",
- effect: "极巨化宝可梦使出的飞行属\n性攻击。会提高我方的速度",
+ effect: "极巨化宝可梦使出的飞行属性攻击。\n会提高我方的速度",
},
"maxStarfall": {
name: "极巨妖精",
- effect: "极巨化宝可梦使出的妖精属\n性攻击。可在5回合内将脚\n下变成薄雾场地",
+ effect: "极巨化宝可梦使出的妖精属性攻击。\n可在5回合内将脚下变成薄雾场地",
},
"maxWyrmwind": {
name: "极巨龙骑",
- effect: "极巨化宝可梦使出的龙属性\n攻击。会降低对手的攻击",
+ effect: "极巨化宝可梦使出的龙属性攻击。\n会降低对手的攻击",
},
"maxMindstorm": {
name: "极巨超能",
- effect: "极巨化宝可梦使出的超能力\n属性攻击。可在5回合内将\n脚下变成精神场地",
+ effect: "极巨化宝可梦使出的超能力属性攻击。\n可在5回合内将脚下变成精神场地",
},
"maxRockfall": {
name: "极巨岩石",
- effect: "极巨化宝可梦使出的岩石属\n性攻击。可在5回合内卷起\n沙暴",
+ effect: "极巨化宝可梦使出的岩石属性攻击。\n可在5回合内卷起沙暴",
},
"maxQuake": {
name: "极巨大地",
- effect: "极巨化宝可梦使出的地面属\n性攻击。会提高我方的特防",
+ effect: "极巨化宝可梦使出的地面属性攻击。\n会提高我方的特防",
},
"maxDarkness": {
name: "极巨恶霸",
- effect: "极巨化宝可梦使出的恶属性\n攻击。会降低对手的特防",
+ effect: "极巨化宝可梦使出的恶属性攻击。\n会降低对手的特防",
},
"maxOvergrowth": {
name: "极巨草原",
- effect: "极巨化宝可梦使出的草属性\n攻击。可在5回合内将脚下\n变成青草场地",
+ effect: "极巨化宝可梦使出的草属性攻击。\n可在5回合内将脚下变成青草场地",
},
"maxSteelspike": {
name: "极巨钢铁",
- effect: "极巨化宝可梦使出的钢属性\n攻击。会提高我方的防御",
+ effect: "极巨化宝可梦使出的钢属性攻击。\n会提高我方的防御",
},
"clangorousSoul": {
name: "魂舞烈音爆",
- effect: "削减少许自己的HP,使所\n有能力都提高",
+ effect: "削减少许自己的HP,\n使所有能力都提高",
},
"bodyPress": {
name: "扑击",
- effect: "用身体撞向对手进行攻击。\n防御越高,给予的伤害就越\n高",
+ effect: "用身体撞向对手进行攻击。\n防御越高,给予的伤害就越高",
},
"decorate": {
name: "装饰",
- effect: "通过装饰,大幅提高对方的\n攻击和特攻",
+ effect: "通过装饰,大幅提高对方的攻击和特攻",
},
"drumBeating": {
name: "鼓击",
- effect: "用鼓点来控制鼓的根部进行\n攻击,从而降低对手的速度",
+ effect: "用鼓点来控制鼓的根部进行攻击,\n从而降低对手的速度",
},
"snapTrap": {
name: "捕兽夹",
- effect: "使用捕兽夹,在4~5回合\n内,夹住对手进行攻击",
+ effect: "使用捕兽夹,在4~5回合内,\n夹住对手进行攻击",
},
"pyroBall": {
name: "火焰球",
- effect: "点燃小石子,形成火球攻击\n对手。有时会使对手陷入灼\n伤状态",
+ effect: "点燃小石子,形成火球攻击对手。\n有时会使对手陷入灼伤状态",
},
"behemothBlade": {
name: "巨兽斩",
@@ -3127,99 +3127,99 @@ export const move: MoveTranslationEntries = {
},
"behemothBash": {
name: "巨兽弹",
- effect: "将全身变化为坚固的盾,猛\n烈地撞向对手进行攻击",
+ effect: "将全身变化为坚固的盾,\n猛烈地撞向对手进行攻击",
},
"auraWheel": {
name: "气场轮",
- effect: "用储存在颊囊里的能量进行\n攻击,并提高自己的速度。\n其属性会随着莫鲁贝可的样\n子而改变",
+ effect: "用储存在颊囊里的能量进行攻击,\n并提高自己的速度。其属性会随着\n莫鲁贝可的样子而改变",
},
"breakingSwipe": {
name: "广域破坏",
- effect: "用坚韧的尾巴猛扫对手进行\n攻击,从而降低对手的攻击",
+ effect: "用坚韧的尾巴猛扫对手进行攻击,\n从而降低对手的攻击",
},
"branchPoke": {
name: "木枝突刺",
- effect: "使用尖锐的树枝刺向对手进\n行攻击",
+ effect: "使用尖锐的树枝刺向对手进行攻击",
},
"overdrive": {
name: "破音",
- effect: "奏响吉他和贝斯,释放出发\n出巨响的剧烈震动攻击对手",
+ effect: "奏响吉他和贝斯,释放出发出巨响\n的剧烈震动攻击对手",
},
"appleAcid": {
name: "苹果酸",
- effect: "使用从酸苹果中提取出来的\n酸性液体进行攻击。降低对\n手的特防",
+ effect: "使用从酸苹果中提取出来的酸性液\n体进行攻击。降低对手的特防",
},
"gravApple": {
name: "万有引力",
- effect: "从高处落下苹果,给予对手\n伤害。可降低对手的防御",
+ effect: "从高处落下苹果,给予对手伤害。\n可降低对手的防御",
},
"spiritBreak": {
name: "灵魂冲击",
- effect: "用足以让对手一蹶不振的气\n势进行攻击。会降低对手的\n特攻",
+ effect: "用足以让对手一蹶不振的气势进行攻击。\n会降低对手的特攻",
},
"strangeSteam": {
name: "神奇蒸汽",
- effect: "喷出烟雾攻击对手。有时会\n使对手混乱",
+ effect: "喷出烟雾攻击对手。有时会使对手混乱",
},
"lifeDew": {
name: "生命水滴",
- effect: "喷洒出神奇的水,回复自己\n和场上同伴的HP",
+ effect: "喷洒出神奇的水,回复自己和场上\n同伴的HP",
},
"obstruct": {
name: "拦堵",
- effect: "完全抵挡对手的攻击。连续\n使出则容易失败。一旦触碰,\n防御就会大幅降低",
+ effect: "完全抵挡对手的攻击。\n连续使出则容易失败。一旦触碰,\n防御就会大幅降低",
},
"falseSurrender": {
name: "假跪真撞",
- effect: "装作低头认错的样子,用凌\n乱的头发进行突刺。攻击必\n定会命中",
+ effect: "装作低头认错的样子,\n用凌乱的头发进行突刺。攻击必定会命中",
},
"meteorAssault": {
name: "流星突击",
- effect: "大力挥舞粗壮的茎进行攻击。\n但同时自己也会被晃晕,\n下一回合自己将无法动弹",
+ effect: "大力挥舞粗壮的茎进行攻击。\n但同时自己也会被晃晕,下一回合自己\n将无法动弹",
},
"eternabeam": {
name: "无极光束",
- effect: "无极汰那变回原来的样子后,\n发动的最强攻击。下一回\n合自己将无法动弹",
+ effect: "无极汰那变回原来的样子后,\n发动的最强攻击。下一回合自己将无法动弹",
},
"steelBeam": {
name: "铁蹄光线",
- effect: "将从全身聚集的钢铁化为光\n束,激烈地发射出去。自己\n也会受到伤害",
+ effect: "将从全身聚集的钢铁化为光束,\n激烈地发射出去。自己也会受到伤害",
},
"expandingForce": {
name: "广域战力",
- effect: "利用精神力量攻击对手。在\n精神场地上威力会有所提高,\n能对所有对手造成伤害",
+ effect: "利用精神力量攻击对手。\n在精神场地上威力会有所提高,\n能对所有对手造成伤害",
},
"steelRoller": {
name: "铁滚轮",
- effect: "在破坏场地的同时攻击对手。\n如果脚下没有任何场地状\n态存在,使出此招式时便会\n失败",
+ effect: "在破坏场地的同时攻击对手。\n如果脚下没有任何场地状态存在,\n使出此招式时便会失败",
},
"scaleShot": {
name: "鳞射",
- effect: "发射鳞片进行攻击。连续攻\n击2~5次。速度会提高但\n防御会降低",
+ effect: "发射鳞片进行攻击。连续攻击2~5次。\n速度会提高但防御会降低",
},
"meteorBeam": {
name: "流星光束",
- effect: "第1回合聚集宇宙之力提高\n特攻,第2回合攻击对手",
+ effect: "第1回合聚集宇宙之力提高特攻,\n第2回合攻击对手",
},
"shellSideArm": {
name: "臂贝武器",
- effect: "从物理攻击和特殊攻击中选\n择可造成较多伤害的方式进\n行攻击。有时会让对手陷入\n中毒状态",
+ effect: "从物理攻击和特殊攻击中选择可造\n成较多伤害的方式进行攻击。\n有时会让对手陷入中毒状态",
},
"mistyExplosion": {
name: "薄雾炸裂",
- effect: "对自己周围的所有宝可梦进\n行攻击,但使出后,自己会\n陷入昏厥。在薄雾场地上,\n招式威力会提高",
+ effect: "对自己周围的所有宝可梦进行攻击,\n但使出后,自己会陷入昏厥。\n在薄雾场地上,招式威力会提高",
},
"grassyGlide": {
name: "青草滑梯",
- effect: "仿佛在地面上滑行般地攻击\n对手。在青草场地上,必定\n能够先制攻击",
+ effect: "仿佛在地面上滑行般地攻击对手。\n在青草场地上,必定能够先制攻击",
},
"risingVoltage": {
name: "电力上升",
- effect: "用从地面升腾而起的电击进\n行攻击。当对手处于电气场\n地上时,招式威力会变成2\n倍",
+ effect: "用从地面升腾而起的电击进行攻击。\n当对手处于电气场地上时,\n招式威力会变成2倍",
},
"terrainPulse": {
name: "大地波动",
- effect: "借助场地的力量进行攻击。\n视使出招式时场地状态不同,\n招式的属性和威力会有所\n变化",
+ effect: "借助场地的力量进行攻击。\n视使出招式时场地状态不同,\n招式的属性和威力会有所变化",
},
"skitterSmack": {
name: "爬击",
@@ -3227,19 +3227,19 @@ export const move: MoveTranslationEntries = {
},
"burningJealousy": {
name: "妒火",
- effect: "用嫉妒的能量攻击对手。会\n让在该回合内能力有所提高\n的宝可梦陷入灼伤状态",
+ effect: "用嫉妒的能量攻击对手。\n会让在该回合内能力有所提高的宝可梦陷入\n灼伤状态",
},
"lashOut": {
name: "泄愤",
- effect: "攻击对手以发泄对其感到的\n恼怒情绪。如果在该回合内\n自身能力遭到降低,招式的\n威力会变成2倍",
+ effect: "攻击对手以发泄对其感到的恼怒情绪。\n如果在该回合内自身能力遭到降低,\n招式的威力会变成2倍",
},
"poltergeist": {
name: "灵骚",
- effect: "操纵对手的持有物进行攻击。\n当对手没有携带道具时,\n使出此招式时便会失败",
+ effect: "操纵对手的持有物进行攻击。\n当对手没有携带道具时,使出此招式时\n便会失败",
},
"corrosiveGas": {
name: "腐蚀气体",
- effect: "用具有强酸性的气体包裹住\n自己周围所有的宝可梦,并\n融化其所携带的道具",
+ effect: "用具有强酸性的气体包裹住自己周\n围所有的宝可梦,并融化其所携带的道具",
},
"coaching": {
name: "指导",
@@ -3247,7 +3247,7 @@ export const move: MoveTranslationEntries = {
},
"flipTurn": {
name: "快速折返",
- effect: "在攻击之后急速返回,和后\n备宝可梦进行替换",
+ effect: "在攻击之后急速返回,\n和后备宝可梦进行替换",
},
"tripleAxel": {
name: "三旋击",
@@ -3259,71 +3259,71 @@ export const move: MoveTranslationEntries = {
},
"scorchingSands": {
name: "热沙大地",
- effect: "将滚烫的沙子砸向对手进行\n攻击。有时会让对手陷入灼\n伤状态",
+ effect: "将滚烫的沙子砸向对手进行攻击。\n有时会让对手陷入灼伤状态",
},
"jungleHealing": {
name: "丛林治疗",
- effect: "与丛林融为一体,回复自己\n和场上同伴的HP和状态",
+ effect: "与丛林融为一体,回复自己和场上\n同伴的HP和状态",
},
"wickedBlow": {
name: "暗冥强击",
- effect: "将恶之流派修炼至大成的猛\n烈一击。必定会击中要害",
+ effect: "将恶之流派修炼至大成的猛烈一击。\n必定会击中要害",
},
"surgingStrikes": {
name: "水流连打",
- effect: "将水之流派修炼至大成的仿\n若行云流水般的3次连击。\n必定会击中要害",
+ effect: "将水之流派修炼至大成的仿若行云\n流水般的3次连击。必定会击中要害",
},
"thunderCage": {
name: "雷电囚笼",
- effect: "将对手困在电流四溅的囚笼\n中,在4~5回合内进行攻\n击",
+ effect: "将对手困在电流四溅的囚笼中,\n在4~5回合内进行攻击",
},
"dragonEnergy": {
name: "巨龙威能",
- effect: "把生命力转换为力量攻击对\n手。自己的HP越少,招式\n的威力越小",
+ effect: "把生命力转换为力量攻击对手。\n自己的HP越少,招式的威力越小",
},
"freezingGlare": {
name: "冰冷视线",
- effect: "从双眼发射精神力量进行攻\n击。有时会让对手陷入冰冻\n状态",
+ effect: "从双眼发射精神力量进行攻击。\n有时会让对手陷入冰冻状态",
},
"fieryWrath": {
name: "怒火中烧",
- effect: "将愤怒转化为火焰般的气场\n进行攻击。有时会使对手畏\n缩",
+ effect: "将愤怒转化为火焰般的气场进行攻击。\n有时会使对手畏缩",
},
"thunderousKick": {
name: "雷鸣蹴击",
- effect: "以雷电般的动作戏耍对手的\n同时使出脚踢。可降低对手\n的防御",
+ effect: "以雷电般的动作戏耍对手的同时使出脚踢。\n可降低对手的防御",
},
"glacialLance": {
name: "雪矛",
- effect: "向对手投掷掀起暴风雪的冰\n矛进行攻击",
+ effect: "向对手投掷掀起暴风雪的冰矛进行攻击",
},
"astralBarrage": {
name: "星碎",
- effect: "用大量的小灵体向对手发起\n攻击",
+ effect: "用大量的小灵体向对手发起攻击",
},
"eerieSpell": {
name: "诡异咒语",
- effect: "用强大的精神力量攻击。让\n对手最后使用的招式减少3\nPP",
+ effect: "用强大的精神力量攻击。\n让对手最后使用的招式减少3PP",
},
"direClaw": {
name: "克命爪",
- effect: "以破灭之爪进行攻击。有时\n还会让对手陷入中毒、麻痹\n、睡眠之中的一种状态",
+ effect: "以破灭之爪进行攻击。\n有时还会让对手陷入中毒、麻痹、睡眠之中的\n一种状态",
},
"psyshieldBash": {
name: "屏障猛攻",
- effect: "让意念的能量覆盖全身,撞\n向对手进行攻击。会提高自\n己的防御",
+ effect: "让意念的能量覆盖全身,\n撞向对手进行攻击。会提高自己的防御",
},
"powerShift": {
name: "力量转换",
- effect: "将自己的攻击与防御互相交\n换",
+ effect: "将自己的攻击与防御互相交换",
},
"stoneAxe": {
name: "岩斧",
- effect: "用岩石之斧进行攻击。散落\n的岩石碎片会飘浮在对手周\n围",
+ effect: "用岩石之斧进行攻击。\n散落的岩石碎片会飘浮在对手周围",
},
"springtideStorm": {
name: "阳春风暴",
- effect: "用交织着爱与恨的烈风席卷\n对手进行攻击。有时会降低\n对手的攻击",
+ effect: "用交织着爱与恨的烈风席卷对手进行攻击。\n有时会降低对手的攻击",
},
"mysticalPower": {
name: "神秘之力",
@@ -3331,7 +3331,7 @@ export const move: MoveTranslationEntries = {
},
"ragingFury": {
name: "大愤慨",
- effect: "在2~3回合内,一边放出\n火焰,一边疯狂乱打。大闹\n一番后自己会陷入混乱",
+ effect: "在2~3回合内,一边放出火焰,\n一边疯狂乱打。大闹一番后自己会\n陷入混乱",
},
"waveCrash": {
name: "波动冲",
@@ -3339,474 +3339,474 @@ export const move: MoveTranslationEntries = {
},
"chloroblast": {
name: "叶绿爆震",
- effect: "将自己的叶绿素凝聚起来后\n放出去进行攻击。自己也会\n受到伤害",
+ effect: "将自己的叶绿素凝聚起来后放出去\n进行攻击。自己也会受到伤害",
},
"mountainGale": {
name: "冰山风",
- effect: "将冰山般巨大的冰块砸向对\n手进行攻击。有时会使对手\n畏缩",
+ effect: "将冰山般巨大的冰块砸向对手进行攻击。\n有时会使对手畏缩",
},
"victoryDance": {
name: "胜利之舞",
- effect: "激烈地跳起唤来胜利的舞蹈,\n提高自己的攻击、防御和\n速度",
+ effect: "激烈地跳起唤来胜利的舞蹈,\n提高自己的攻击、防御和速度",
},
"headlongRush": {
name: "突飞猛扑",
- effect: "向对手使出灌注了全心全力\n的撞击。自己的防御和特防\n会降低",
+ effect: "向对手使出灌注了全心全力的撞击。\n自己的防御和特防会降低",
},
"barbBarrage": {
name: "毒千针",
- effect: "用无数的毒针进行攻击。有\n时还会让对手陷入中毒状态。\n攻击处于中毒状态的对手\n时,威力会变成2倍",
+ effect: "用无数的毒针进行攻击。\n有时还会让对手陷入中毒状态。\n攻击处于中毒状态的对手时,威力会变成2倍",
},
"esperWing": {
name: "气场之翼",
- effect: "用经过气场强化的翅膀撕裂\n对手。容易击中要害。会提\n高自己的速度",
+ effect: "用经过气场强化的翅膀撕裂对手。\n容易击中要害。会提高自己的速度",
},
"bitterMalice": {
name: "冤冤相报",
- effect: "用令人毛骨悚然的怨念进行\n攻击。会降低对手的攻击",
+ effect: "用令人毛骨悚然的怨念进行攻击。\n会降低对手的攻击",
},
"shelter": {
name: "闭关",
- effect: "将皮肤变得坚硬如铁盾,从\n而大幅提高自己的防御",
+ effect: "将皮肤变得坚硬如铁盾,\n从而大幅提高自己的防御",
},
"tripleArrows": {
name: "三连箭",
- effect: "使出一记腿技后同时发射3\n箭。有时会降低对手的防御\n或使对手畏缩。容易击中要\n害",
+ effect: "使出一记腿技后同时发射3箭。\n有时会降低对手的防御或使对手畏缩。\n容易击中要害",
},
"infernalParade": {
name: "群魔乱舞",
- effect: "用无数的火球进行攻击。有\n时会让对手陷入灼伤状态。\n攻击处于异常状态的对手时,\n威力会变成2倍",
+ effect: "用无数的火球进行攻击。\n有时会让对手陷入灼伤状态。攻击处于异常\n状态的对手时,威力会变成2倍",
},
"ceaselessEdge": {
name: "秘剑・千重涛",
- effect: "用贝壳之剑进行攻击。散落\n的贝壳碎片会散落在对手脚\n下成为撒菱",
+ effect: "用贝壳之剑进行攻击。\n散落的贝壳碎片会散落在对手脚下成为撒菱",
},
"bleakwindStorm": {
name: "枯叶风暴",
- effect: "用足以让身心都止不住颤抖\n的冰冷狂风进行攻击。有时\n会降低对手的速度",
+ effect: "用足以让身心都止不住颤抖的冰冷\n狂风进行攻击。有时会降低对手的速度",
},
"wildboltStorm": {
name: "鸣雷风暴",
- effect: "呼唤雷云引起风暴,用雷与\n风进行激烈的攻击。有时会\n让对手陷入麻痹状态",
+ effect: "呼唤雷云引起风暴,用雷与风进行\n激烈的攻击。有时会让对手陷入麻痹状态",
},
"sandsearStorm": {
name: "热沙风暴",
- effect: "用灼热的沙子和强烈的风席\n卷对手进行攻击。有时会让\n对手陷入灼伤状态",
+ effect: "用灼热的沙子和强烈的风席卷对手\n进行攻击。有时会让对手陷入灼伤状态",
},
"lunarBlessing": {
name: "新月祈祷",
- effect: "向新月献上祈祷,回复自己\n和场上同伴的HP和状态",
+ effect: "向新月献上祈祷,回复自己和场上\n同伴的HP和状态",
},
"takeHeart": {
name: "勇气填充",
- effect: "鼓起冲劲,治愈自己的异常\n状态,同时提高自己的特攻\n和特防",
+ effect: "鼓起冲劲,治愈自己的异常状态,\n同时提高自己的特攻和特防",
},
"gMaxWildfire": {
name: "超极巨深渊灭焰",
- effect: "超极巨化的喷火龙使出的火\n属性攻击。可在4回合内给\n予对手伤害",
+ effect: "超极巨化的喷火龙使出的火属性攻击。\n可在4回合内给予对手伤害",
},
"gMaxBefuddle": {
name: "超极巨蝶影蛊惑",
- effect: "超极巨化的巴大蝶使出的虫\n属性攻击。会让对手陷入中\n毒、麻痹或睡眠状态",
+ effect: "超极巨化的巴大蝶使出的虫属性攻击。\n会让对手陷入中毒、麻痹或睡眠状态",
},
"gMaxVoltCrash": {
name: "超极巨万雷轰顶",
- effect: "超极巨化的皮卡丘使出的电\n属性攻击。会让对手陷入麻\n痹状态",
+ effect: "超极巨化的皮卡丘使出的电属性攻击。\n会让对手陷入麻痹状态",
},
"gMaxGoldRush": {
name: "超极巨特大金币",
- effect: "超极巨化的喵喵使出的一般\n属性攻击。会让对手陷入混\n乱状态,并可获得金钱",
+ effect: "超极巨化的喵喵使出的一般属性攻击。\n会让对手陷入混乱状态,\n并可获得金钱",
},
"gMaxChiStrike": {
name: "超极巨会心一击",
- effect: "超极巨化的怪力使出的格斗\n属性攻击。会变得容易击中\n要害",
+ effect: "超极巨化的怪力使出的格斗属性攻击。\n会变得容易击中要害",
},
"gMaxTerror": {
name: "超极巨幻影幽魂",
- effect: "超极巨化的耿鬼使出的幽灵\n属性攻击。会踩住对手的影\n子,让其无法被替换",
+ effect: "超极巨化的耿鬼使出的幽灵属性攻击。\n会踩住对手的影子,\n让其无法被替换",
},
"gMaxResonance": {
name: "超极巨极光旋律",
- effect: "超极巨化的拉普拉斯使出的\n冰属性攻击。可在5回合内\n减弱受到的伤害",
+ effect: "超极巨化的拉普拉斯使出的冰属性攻击。\n可在5回合内减弱受到的伤害",
},
"gMaxCuddle": {
name: "超极巨热情拥抱",
- effect: "超极巨化的伊布使出的一般\n属性攻击。会让对手陷入着\n迷状态",
+ effect: "超极巨化的伊布使出的一般属性攻击。\n会让对手陷入着迷状态",
},
"gMaxReplenish": {
name: "超极巨资源再生",
- effect: "超极巨化的卡比兽使出的一\n般属性攻击。会让吃掉的树\n果再生",
+ effect: "超极巨化的卡比兽使出的一般属性攻击。\n会让吃掉的树果再生",
},
"gMaxMalodor": {
name: "超极巨臭气冲天",
- effect: "超极巨化的灰尘山使出的毒\n属性攻击。会让对手陷入中\n毒状态",
+ effect: "超极巨化的灰尘山使出的毒属性攻击。\n会让对手陷入中毒状态",
},
"gMaxStonesurge": {
name: "超极巨岩阵以待",
- effect: "超极巨化的暴噬龟使出的水\n属性攻击。会发射无数锐利\n的岩石",
+ effect: "超极巨化的暴噬龟使出的水属性攻击。\n会发射无数锐利的岩石",
},
"gMaxWindRage": {
name: "超极巨旋风袭卷",
- effect: "超极巨化的钢铠鸦使出的飞\n行属性攻击。可消除反射壁\n和光墙",
+ effect: "超极巨化的钢铠鸦使出的飞行属性攻击。\n可消除反射壁和光墙",
},
"gMaxStunShock": {
name: "超极巨异毒电场",
- effect: "超极巨化的颤弦蝾螈使出的\n电属性攻击。会让对手陷入\n中毒或麻痹状态",
+ effect: "超极巨化的颤弦蝾螈使出的电属性攻击。\n会让对手陷入中毒或麻痹状态",
},
"gMaxFinale": {
name: "超极巨幸福圆满",
- effect: "超极巨化的霜奶仙使出的妖\n精属性攻击。可回复我方的\nHP",
+ effect: "超极巨化的霜奶仙使出的妖精属性攻击。\n可回复我方的HP",
},
"gMaxDepletion": {
name: "超极巨劣化衰变",
- effect: "超极巨化的铝钢龙使出的龙\n属性攻击。可减少对手最后\n使用的招式的PP",
+ effect: "超极巨化的铝钢龙使出的龙属性攻击。\n可减少对手最后使用的招式的PP",
},
"gMaxGravitas": {
name: "超极巨天道七星",
- effect: "超极巨化的以欧路普使出的\n超能力属性攻击。在5回合\n内重力会产生变化",
+ effect: "超极巨化的以欧路普使出的超能力\n属性攻击。在5回合内重力会产生变化",
},
"gMaxVolcalith": {
name: "超极巨炎石喷发",
- effect: "超极巨化的巨炭山使出的岩\n石属性攻击。可在4回合内\n给予对手伤害",
+ effect: "超极巨化的巨炭山使出的岩石属性攻击。\n可在4回合内给予对手伤害",
},
"gMaxSandblast": {
name: "超极巨沙尘漫天",
- effect: "超极巨化的沙螺蟒使出的地\n面属性攻击。在4~5回合\n内会狂刮沙暴",
+ effect: "超极巨化的沙螺蟒使出的地面属性攻击。\n在4~5回合内会狂刮沙暴",
},
"gMaxSnooze": {
name: "超极巨睡魔降临",
- effect: "超极巨化的长毛巨魔使出的\n恶属性攻击。会通过打大哈\n欠让对手产生睡意",
+ effect: "超极巨化的长毛巨魔使出的恶属性攻击。\n会通过打大哈欠让对手产生睡意",
},
"gMaxTartness": {
name: "超极巨酸不溜丢",
- effect: "超极巨化的苹裹龙使出的草\n属性攻击。会降低对手的闪\n避率",
+ effect: "超极巨化的苹裹龙使出的草属性攻击。\n会降低对手的闪避率",
},
"gMaxSweetness": {
name: "超极巨琼浆玉液",
- effect: "超极巨化的丰蜜龙使出的草\n属性攻击。会治愈我方的异\n常状态",
+ effect: "超极巨化的丰蜜龙使出的草属性攻击。\n会治愈我方的异常状态",
},
"gMaxSmite": {
name: "超极巨天谴雷诛",
- effect: "超极巨化的布莉姆温使出的\n妖精属性攻击。会让对手陷\n入混乱状态",
+ effect: "超极巨化的布莉姆温使出的妖精属性攻击。\n会让对手陷入混乱状态",
},
"gMaxSteelsurge": {
name: "超极巨钢铁阵法",
- effect: "超极巨化的大王铜象使出的\n钢属性攻击。会发射无数锐\n利的刺",
+ effect: "超极巨化的大王铜象使出的钢属性攻击。\n会发射无数锐利的刺",
},
"gMaxMeltdown": {
name: "超极巨液金熔击",
- effect: "超极巨化的美录梅塔使出的\n钢属性攻击。会让对手无法\n连续使出相同的招式",
+ effect: "超极巨化的美录梅塔使出的钢属性攻击。\n会让对手无法连续使出相同的招式",
},
"gMaxFoamBurst": {
name: "超极巨激漩泡涡",
- effect: "超极巨化的巨钳蟹使出的水\n属性攻击。会大幅降低对手\n的速度",
+ effect: "超极巨化的巨钳蟹使出的水属性攻击。\n会大幅降低对手的速度",
},
"gMaxCentiferno": {
name: "超极巨百火焚野",
- effect: "超极巨化的焚焰蚣使出的火\n属性攻击。可在4~5回合\n内将对手困在火焰中",
+ effect: "超极巨化的焚焰蚣使出的火属性攻击。\n可在4~5回合内将对手困在火焰中",
},
"gMaxVineLash": {
name: "超极巨灰飞鞭灭",
- effect: "超极巨化的妙蛙花使出的草\n属性攻击。可在4回合内给\n予对手伤害",
+ effect: "超极巨化的妙蛙花使出的草属性攻击。\n可在4回合内给予对手伤害",
},
"gMaxCannonade": {
name: "超极巨水炮轰灭",
- effect: "超极巨化的水箭龟使出的水\n属性攻击。可在4回合内给\n予对手伤害",
+ effect: "超极巨化的水箭龟使出的水属性攻击。\n可在4回合内给予对手伤害",
},
"gMaxDrumSolo": {
name: "超极巨狂擂乱打",
- effect: "超极巨化的轰擂金刚猩使出\n的草属性攻击。不会受到对\n手特性的干扰",
+ effect: "超极巨化的轰擂金刚猩使出的草属性攻击。\n不会受到对手特性的干扰",
},
"gMaxFireball": {
name: "超极巨破阵火球",
- effect: "超极巨化的闪焰王牌使出的\n火属性攻击。不会受到对手\n特性的干扰",
+ effect: "超极巨化的闪焰王牌使出的火属性攻击。\n不会受到对手特性的干扰",
},
"gMaxHydrosnipe": {
name: "超极巨狙击神射",
- effect: "超极巨化的千面避役使出的\n水属性攻击。不会受到对手\n特性的干扰",
+ effect: "超极巨化的千面避役使出的水属性攻击。\n不会受到对手特性的干扰",
},
"gMaxOneBlow": {
name: "超极巨夺命一击",
- effect: "超极巨化的武道熊师使出的\n恶属性攻击。是可以无视极\n巨防壁的一击",
+ effect: "超极巨化的武道熊师使出的恶属性攻击。\n是可以无视极巨防壁的一击",
},
"gMaxRapidFlow": {
name: "超极巨流水连击",
- effect: "超极巨化的武道熊师使出的\n水属性攻击。是可以无视极\n巨防壁的连击",
+ effect: "超极巨化的武道熊师使出的水属性攻击。\n是可以无视极巨防壁的连击",
},
"teraBlast": {
name: "太晶爆发",
- effect: "太晶化时,会放出太晶属性\n的能量攻击。比较自己的攻\n击和特攻,用数值相对较高\n的一项给予对方伤害。(其\n他属性)/用攻击和特攻数\n值较高的一项给予伤害。对\n正处于太晶化的对手效果绝\n佳。自己的攻击和特攻会降\n低。(星晶",
+ effect: "太晶化时,会放出太晶属性的能量攻击。\n比较自己的攻击和特攻,\n用数值相对较高的一项给予对方伤害。\n(其他属性)/用攻击和特攻数\n值较高的一项给予伤害。\n对正处于太晶化的对手效果绝佳。\n自己的攻击和特攻会降低。(星晶",
},
"silkTrap": {
name: "线阱",
- effect: "用丝设置陷阱。防住对方攻\n击的同时,能够降低所接触\n到的对手的速度",
+ effect: "用丝设置陷阱。防住对方攻击的同时,\n能够降低所接触到的对手的速度",
},
"axeKick": {
name: "下压踢",
- effect: "将踢起的脚跟往下劈向对手\n进行攻击。有时会使对手混\n乱。如果劈偏则自己会受到\n伤害",
+ effect: "将踢起的脚跟往下劈向对手进行攻击。\n有时会使对手混乱。\n如果劈偏则自己会受到伤害",
},
"lastRespects": {
name: "扫墓",
- effect: "为了化解伙伴的悔恨而进行\n攻击。被打倒的我方宝可梦\n越多,招式的威力越高",
+ effect: "为了化解伙伴的悔恨而进行攻击。\n被打倒的我方宝可梦越多,\n招式的威力越高",
},
"luminaCrash": {
name: "琉光冲激",
- effect: "放出连精神都能影响到的奇\n妙怪光进行攻击。会大幅降\n低对方的特防",
+ effect: "放出连精神都能影响到的奇妙怪光\n进行攻击。会大幅降低对方的特防",
},
"orderUp": {
name: "上菜",
- effect: "以潇洒的身手进行攻击。若\n口中有米立龙,会按其样子\n提高能力",
+ effect: "以潇洒的身手进行攻击。\n若口中有米立龙,会按其样子提高能力",
},
"jetPunch": {
name: "喷射拳",
- effect: "将激流覆盖于拳头,以肉眼\n无法辨识的速度打出拳击。\n必定能够先制攻击",
+ effect: "将激流覆盖于拳头,以肉眼无法辨\n识的速度打出拳击。必定能够先制攻击",
},
"spicyExtract": {
name: "辣椒精华",
- effect: "放出极为辛辣的精华。对手\n的攻击会大幅提高,防御会\n大幅降低",
+ effect: "放出极为辛辣的精华。\n对手的攻击会大幅提高,防御会大幅降低",
},
"spinOut": {
name: "疾速转轮",
- effect: "通过往腿上增加负荷,以激\n烈的旋转给予对手伤害。自\n己的速度会大幅降低",
+ effect: "通过往腿上增加负荷,\n以激烈的旋转给予对手伤害。自己的速度会大幅降低",
},
"populationBomb": {
name: "鼠数儿",
- effect: "伙伴们会纷纷赶来集合,以\n群体行动给予对手攻击。连\n续命中1~10次",
+ effect: "伙伴们会纷纷赶来集合,\n以群体行动给予对手攻击。连续命中1~10次",
},
"iceSpinner": {
name: "冰旋",
- effect: "脚上覆盖薄冰,旋转着撞击\n对手。通过旋转的动作破坏\n场地",
+ effect: "脚上覆盖薄冰,旋转着撞击对手。\n通过旋转的动作破坏场地",
},
"glaiveRush": {
name: "巨剑突击",
- effect: "有勇无谋的舍身突击。使出\n招式后,对手的攻击必定会\n命中,且伤害会变成2倍",
+ effect: "有勇无谋的舍身突击。使出招式后,\n对手的攻击必定会命中,\n且伤害会变成2倍",
},
"revivalBlessing": {
name: "复生祈祷",
- effect: "通过以慈爱之心祈祷,让陷\n入昏厥的后备宝可梦以回复\n一半HP的状态复活",
+ effect: "通过以慈爱之心祈祷,\n让陷入昏厥的后备宝可梦以回复一半HP的状态复活",
},
"saltCure": {
name: "盐腌",
- effect: "使对手陷入盐腌状态,每回\n合给予对手伤害。对手为钢\n或水属性时会更痛苦",
+ effect: "使对手陷入盐腌状态,\n每回合给予对手伤害。对手为钢或水属性时会更痛苦",
},
"tripleDive": {
name: "三连钻",
- effect: "以默契的跳跃溅起水花击向\n对手。连续3次给予伤害",
+ effect: "以默契的跳跃溅起水花击向对手。\n连续3次给予伤害",
},
"mortalSpin": {
name: "晶光转转",
- effect: "通过旋转来攻击对手。可以\n摆脱绑紧、紧束、寄生种子\n等招式。还能让对手陷入中\n毒状态",
+ effect: "通过旋转来攻击对手。\n可以摆脱绑紧、紧束、寄生种子等招式。\n还能让对手陷入中毒状态",
},
"doodle": {
name: "描绘",
- effect: "把握并映射出对手的本质,\n让自己和同伴宝可梦的特性\n变得和对手相同",
+ effect: "把握并映射出对手的本质,\n让自己和同伴宝可梦的特性变得和对手相同",
},
"filletAway": {
name: "甩肉",
- effect: "削减自己的HP,大幅提高\n攻击和特攻以及速度",
+ effect: "削减自己的HP,大幅提高攻击和\n特攻以及速度",
},
"kowtowCleave": {
name: "仆刀",
- effect: "下跪让对手大意后发起袭击\n劈向对手。攻击必定会命中",
+ effect: "下跪让对手大意后发起袭击劈向对手。\n攻击必定会命中",
},
"flowerTrick": {
name: "千变万花",
- effect: "将做了手脚的花束扔向对手\n进行攻击。必定会命中,且\n会击中要害",
+ effect: "将做了手脚的花束扔向对手进行攻击。\n必定会命中,且会击中要害",
},
"torchSong": {
name: "闪焰高歌",
- effect: "如唱歌一样喷出熊熊燃烧的\n火焰烧焦对手。会提高自己\n的特攻",
+ effect: "如唱歌一样喷出熊熊燃烧的火焰烧焦对手。\n会提高自己的特攻",
},
"aquaStep": {
name: "流水旋舞",
- effect: "以盈盈欲滴的轻快步伐戏耍\n对手并给予其伤害。会提高\n自己的速度",
+ effect: "以盈盈欲滴的轻快步伐戏耍对手并\n给予其伤害。会提高自己的速度",
},
"ragingBull": {
name: "怒牛",
- effect: "狂怒暴牛的猛烈冲撞。招式\n的属性随形态改变,光墙和\n反射壁等招式也能破坏",
+ effect: "狂怒暴牛的猛烈冲撞。\n招式的属性随形态改变,光墙和反射壁等招式\n也能破坏",
},
"makeItRain": {
name: "淘金潮",
- effect: "扔出大量硬币攻击。自己的\n特攻会降低,战斗后还可以\n拿到钱",
+ effect: "扔出大量硬币攻击。自己的特攻会降低,\n战斗后还可以拿到钱",
},
"psyblade": {
name: "精神剑",
- effect: "用无形的利刃劈开对手。处\n于电气场地时,招式威力会\n变成1.5倍",
+ effect: "用无形的利刃劈开对手。\n处于电气场地时,招式威力会变成1.5倍",
},
"hydroSteam": {
name: "水蒸气",
- effect: "将煮得翻滚的开水猛烈地喷\n向对手。日照强烈时,招式\n威力不但不会降低,还会变\n成1.5倍",
+ effect: "将煮得翻滚的开水猛烈地喷向对手。\n日照强烈时,招式威力不但不会降低,\n还会变成1.5倍",
},
"ruination": {
name: "大灾难",
- effect: "引发毁灭性的灾厄,使对手\n的HP减半",
+ effect: "引发毁灭性的灾厄,使对手的HP减半",
},
"collisionCourse": {
name: "全开猛撞",
- effect: "边变形边凶暴地落下,并引\n发起古老的大爆炸。若针对\n到弱点,威力会进一步",
+ effect: "边变形边凶暴地落下,\n并引发起古老的大爆炸。若针对到弱点,\n威力会进一步",
},
"electroDrift": {
name: "闪电猛冲",
- effect: "边变形边高速奔走,并以未\n知的电击贯穿对手。若针对\n到弱点,威力会进一步",
+ effect: "边变形边高速奔走,并以未知的电\n击贯穿对手。若针对到弱点,\n威力会进一步",
},
"shedTail": {
name: "断尾",
- effect: "削减自己的HP,制造分身\n后会返回,并和后备宝可梦\n进行替换",
+ effect: "削减自己的HP,制造分身后会返回,\n并和后备宝可梦进行替换",
},
"chillyReception": {
name: "冷笑话",
- effect: "留下冷场的冷笑话后,和后\n备宝可梦进行替换。在5回\n合内会下雪",
+ effect: "留下冷场的冷笑话后,\n和后备宝可梦进行替换。在5回合内会下雪",
},
"tidyUp": {
name: "大扫除",
- effect: "将撒菱、隐形岩、黏黏网、\n毒菱、替身全部扫除掉。自\n己的攻击和速度会提高",
+ effect: "将撒菱、隐形岩、黏黏网、毒菱、\n替身全部扫除掉。自己的攻击和速\n度会提高",
},
"snowscape": {
name: "雪景",
- effect: "在5回合内会下雪。冰属性\n的防御会提高",
+ effect: "在5回合内会下雪。冰属性的防御会提高",
},
"pounce": {
name: "虫扑",
- effect: "飞扑向对手攻击。会降低对\n手的速度",
+ effect: "飞扑向对手攻击。会降低对手的速度",
},
"trailblaze": {
name: "起草",
- effect: "跳出草丛进行攻击。通过轻\n快的步伐会提高自己的速度",
+ effect: "跳出草丛进行攻击。通过轻快的步\n伐会提高自己的速度",
},
"chillingWater": {
name: "泼冷水",
- effect: "泼洒冰冷得足以让对手失去\n活力的水进行攻击。会降低\n对手的攻击",
+ effect: "泼洒冰冷得足以让对手失去活力的\n水进行攻击。会降低对手的攻击",
},
"hyperDrill": {
name: "强力钻",
- effect: "急速旋转尖锐的身体部位贯\n穿对手。可以无视守住和看\n穿等招式",
+ effect: "急速旋转尖锐的身体部位贯穿对手。\n可以无视守住和看穿等招式",
},
"twinBeam": {
name: "双光束",
- effect: "从两眼发射出神奇的光线攻\n击。连续2次给予伤害",
+ effect: "从两眼发射出神奇的光线攻击。\n连续2次给予伤害",
},
"rageFist": {
name: "愤怒之拳",
- effect: "将愤怒化为力量攻击。受到\n攻击的次数越多,招式的威\n力越高",
+ effect: "将愤怒化为力量攻击。\n受到攻击的次数越多,招式的威力越高",
},
"armorCannon": {
name: "铠农炮",
- effect: "熊熊燃烧自己的铠甲,将其\n做成炮弹射出攻击。自己的\n防御和特防会降低",
+ effect: "熊熊燃烧自己的铠甲,\n将其做成炮弹射出攻击。自己的防御和特防会降低",
},
"bitterBlade": {
name: "悔念剑",
- effect: "将对世间的留恋聚集于剑尖,\n并斩击对手。可以回复给\n予对手伤害的一半HP",
+ effect: "将对世间的留恋聚集于剑尖,\n并斩击对手。可以回复给予对手伤害的\n一半HP",
},
"doubleShock": {
name: "电光双击",
- effect: "将全身所有的电力放出,给\n予对手大大的伤害。自己的\n电属性将会消失",
+ effect: "将全身所有的电力放出,\n给予对手大大的伤害。自己的电属性将会消失",
},
"gigatonHammer": {
name: "巨力锤",
- effect: "连同身体转起巨大的锤子进\n行攻击。这个招式无法连续\n使出2次",
+ effect: "连同身体转起巨大的锤子进行攻击。\n这个招式无法连续使出2次",
},
"comeuppance": {
name: "复仇",
- effect: "使出招式前,将最后受到的\n招式的伤害大力返还给对手",
+ effect: "使出招式前,将最后受到的招式的\n伤害大力返还给对手",
},
"aquaCutter": {
name: "水波刀",
- effect: "如刀刃般喷射出加压的水切\n开对手。容易击中要害",
+ effect: "如刀刃般喷射出加压的水切开对手。\n容易击中要害",
},
"blazingTorque": {
name: "灼热暴冲",
- effect: "攻击目标造成伤害,\n有30%的几率使目标陷入\n灼伤状态。",
+ effect: "攻击目标造成伤害,有30%的几\n率使目标陷入灼伤状态。",
},
"wickedTorque": {
name: "黑暗暴冲",
- effect: "攻击目标造成伤害,\n有30%的几率使目标陷入\n睡眠状态。",
+ effect: "攻击目标造成伤害,有30%的几\n率使目标陷入睡眠状态。",
},
"noxiousTorque": {
name: "剧毒暴冲",
- effect: "攻击目标造成伤害,\n有30%的几率使目标陷入\n中毒状态。",
+ effect: "攻击目标造成伤害,有30%的几\n率使目标陷入中毒状态。",
},
"combatTorque": {
name: "格斗暴冲",
- effect: "攻击目标造成伤害,\n有30%的几率使目标陷入\n麻痹状态。此招式可以命中\n幽灵属性的宝可梦。",
+ effect: "攻击目标造成伤害,有30%的几\n率使目标陷入麻痹状态。\n此招式可以命中幽灵属性的宝可梦。",
},
"magicalTorque": {
name: "魔法暴冲",
- effect: "攻击目标造成伤害,\n有30%的几率使目标陷入\n混乱状态。",
+ effect: "攻击目标造成伤害,有30%的几\n率使目标陷入混乱状态。",
},
"bloodMoon": {
name: "血月",
- effect: "从赤红如血的满月发射出全\n部的气势。这个招式无法连\n续使出2次",
+ effect: "从赤红如血的满月发射出全部的气势。\n这个招式无法连续使出2次",
},
"matchaGotcha": {
name: "刷刷茶炮",
- effect: "发射经搅拌的茶的大炮,可\n以回复给予对手伤害的一半\nHP,有时会让对手陷入灼\n伤状态",
+ effect: "发射经搅拌的茶的大炮,\n可以回复给予对手伤害的一半HP,\n有时会让对手陷入灼伤状态",
},
"syrupBomb": {
name: "糖浆炸弹",
- effect: "使粘稠的麦芽糖浆爆炸,让\n对手陷入满身糖状态,在3\n回合内持续降低其速度",
+ effect: "使粘稠的麦芽糖浆爆炸,\n让对手陷入满身糖状态,在3回合内持续降\n低其速度",
},
"ivyCudgel": {
name: "棘藤棒",
- effect: "用缠有藤蔓的棍棒殴打。属\n性会随所戴的面具而改变。\n容易击中要害",
+ effect: "用缠有藤蔓的棍棒殴打。\n属性会随所戴的面具而改变。容易击中要害",
},
"electroShot": {
name: "电光束",
- effect: "第1回合收集电力提高特攻,\n第2回合将高压的电力发\n射出去。下雨天气时能立刻\n发射",
+ effect: "第1回合收集电力提高特攻,\n第2回合将高压的电力发射出去。\n下雨天气时能立刻发射",
},
"teraStarstorm": {
name: "晶光星群",
- effect: "照射出结晶的力量来驱逐敌\n人。太乐巴戈斯在星晶形态\n下使出时,能对所有对手造\n成伤害",
+ effect: "照射出结晶的力量来驱逐敌人。\n太乐巴戈斯在星晶形态下使出时,\n能对所有对手造成伤害",
},
"fickleBeam": {
name: "随机光",
- effect: "发射光线进行攻击。有时其\n他的头也会合力发射镭射,\n让招式威力变成2倍",
+ effect: "发射光线进行攻击。有时其他的头\n也会合力发射镭射,让招式威力变成2倍",
},
"burningBulwark": {
name: "火焰守护",
- effect: "用超高温的体毛防住对手攻\n击的同时,让接触到自己的\n对手灼伤",
+ effect: "用超高温的体毛防住对手攻击的同时,\n让接触到自己的对手灼伤",
},
"thunderclap": {
name: "迅雷",
- effect: "可以比对手先使出电击进行\n攻击。对手使出的招式如果\n不是攻击招式则会失败",
+ effect: "可以比对手先使出电击进行攻击。\n对手使出的招式如果不是攻击招式\n则会失败",
},
"mightyCleave": {
name: "强刃攻击",
- effect: "用积蓄在头部的光来斩切对\n手。可以无视守护进行攻击",
+ effect: "用积蓄在头部的光来斩切对手。\n可以无视守护进行攻击",
},
"tachyonCutter": {
name: "迅子利刃",
- effect: "接连发射出粒子的利刃,连\n续2次给予伤害。攻击必定\n会命中",
+ effect: "接连发射出粒子的利刃,\n连续2次给予伤害。攻击必定会命中",
},
"hardPress": {
name: "硬压",
- effect: "用手臂或钳子压迫对手。对\n手剩余的HP越多,威力越\n大",
+ effect: "用手臂或钳子压迫对手。\n对手剩余的HP越多,威力越大",
},
"dragonCheer": {
name: "龙声鼓舞",
- effect: "以龙之鼓舞提高士气,让我\n方的招式变得容易击中要害。\n对龙属性的鼓舞效果会更\n强",
+ effect: "以龙之鼓舞提高士气,\n让我方的招式变得容易击中要害。\n对龙属性的鼓舞效果会更强",
},
"alluringVoice": {
name: "魅诱之声",
- effect: "用天使般的歌声攻击对手。\n会让此回合内能力有提高的\n宝可梦陷入混乱状态",
+ effect: "用天使般的歌声攻击对手。\n会让此回合内能力有提高的宝可梦陷入混乱状态",
},
"temperFlare": {
name: "豁出去",
- effect: "以自暴自弃的气势进行攻击。\n如果上一回合招式没有命\n中,威力就会翻倍",
+ effect: "以自暴自弃的气势进行攻击。\n如果上一回合招式没有命中,\n威力就会翻倍",
},
"supercellSlam": {
name: "闪电强袭",
- effect: "让身体带电后压向对手。如\n果没有命中则自己会受到伤\n害",
+ effect: "让身体带电后压向对手。\n如果没有命中则自己会受到伤害",
},
"psychicNoise": {
name: "精神噪音",
- effect: "用令对手不舒服的音波进行\n攻击。让对手在2回合内无\n法通过招式、特性或携带的\n道具回复HP",
+ effect: "用令对手不舒服的音波进行攻击。\n让对手在2回合内无法通过招式、\n特性或携带的道具回复HP",
},
"upperHand": {
name: "快手还击",
- effect: "察觉到对手的动作后用掌根\n攻击,让对手畏缩。如果对\n手使出的招式不是先制攻击,\n则会失败",
+ effect: "察觉到对手的动作后用掌根攻击,\n让对手畏缩。如果对手使出的招式\n不是先制攻击,则会失败",
},
"malignantChain": {
name: "邪毒锁链",
- effect: "用由毒形成的锁链缠住对手\n注入毒素加以侵蚀。有时会\n让对手陷入剧毒状态",
+ effect: "用由毒形成的锁链缠住对手注入毒\n素加以侵蚀。有时会让对手陷入剧毒状态",
}
} as const;
diff --git a/src/locales/zh_CN/nature.ts b/src/locales/zh_CN/nature.ts
index 80fd8d89869..d4447e8b03d 100644
--- a/src/locales/zh_CN/nature.ts
+++ b/src/locales/zh_CN/nature.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const nature: SimpleTranslationEntries = {
"Hardy": "勤奋",
diff --git a/src/locales/zh_CN/party-ui-handler.ts b/src/locales/zh_CN/party-ui-handler.ts
new file mode 100644
index 00000000000..4cb2f816b2e
--- /dev/null
+++ b/src/locales/zh_CN/party-ui-handler.ts
@@ -0,0 +1,53 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const partyUiHandler: SimpleTranslationEntries = {
+ "SEND_OUT": "上场",
+ "SUMMARY": "概要",
+ "CANCEL": "取消",
+ "RELEASE": "放生",
+ "APPLY": "应用",
+ "TEACH": "教授",
+ "SPLICE": "融合",
+ "UNSPLICE": "分离",
+ "ACTIVATE": "激活",
+ "DEACTIVATE": "解除",
+ "TRANSFER": "交换",
+ "ALL": "全部道具",
+ "PASS_BATON": "接棒",
+ "UNPAUSE_EVOLUTION": "解除进化暂停",
+ "REVIVE": "复活",
+
+ "choosePokemon": "选择一只宝可梦。",
+ "doWhatWithThisPokemon": "要对宝可梦做什么?",
+ "noEnergy": "{{pokemonName}}没有力气战斗了!",
+ "hasEnergy": "{{pokemonName}}仍然精神十足!",
+ "cantBeUsed": "{{pokemonName}}无法在此挑战中使用!",
+ "tooManyItems": "{{pokemonName}}拥有\n太多这个道具了!",
+ "anyEffect": "即便使用也无效果哦。",
+ "unpausedEvolutions": "{{pokemonName}}的进化停止了。",
+ "unspliceConfirmation": "真的要把{{fusionName}}\n从{{pokemonName}}身上分离吗? {{fusionName}}会就此消失。",
+ "wasReverted": "{{fusionName}}恢复成了{{pokemonName}}。",
+ "releaseConfirmation": "你真要放生{{pokemonName}}吗?",
+ "releaseInBattle": "你无法放生正在战斗中的宝可梦!",
+ "selectAMove": "选择一个招式。",
+ "changeQuantity": "选择一件道具来交换。\n使用 ← 和 → 来指定数量。",
+ "selectAnotherPokemonToSplice": "选择另一只宝可梦来融合。",
+ "cancel": "取消",
+
+ // Slot TM text
+ "able": "能学会!",
+ "notAble": "无法学习",
+ "learned": "已习得",
+
+ // Releasing messages
+ "goodbye": "再见,{{pokemonName}}!",
+ "byebye": "拜拜,{{pokemonName}}!",
+ "farewell": "再会了,{{pokemonName}}!",
+ "soLong": "告辞了,{{pokemonName}}!",
+ "thisIsWhereWePart": "就此分别吧,{{pokemonName}}!",
+ "illMissYou": "我会想你的,{{pokemonName}}!",
+ "illNeverForgetYou": "我不会忘记你的,{{pokemonName}}!",
+ "untilWeMeetAgain": "下次再见了,{{pokemonName}}!",
+ "sayonara": "撒由那拉,{{pokemonName}}!",
+ "smellYaLater": "拜拜了您嘞,{{pokemonName}}!",
+} as const;
diff --git a/src/locales/zh_CN/pokeball.ts b/src/locales/zh_CN/pokeball.ts
index 6bf20f7e276..b8df88983bb 100644
--- a/src/locales/zh_CN/pokeball.ts
+++ b/src/locales/zh_CN/pokeball.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const pokeball: SimpleTranslationEntries = {
"pokeBall": "精灵球",
diff --git a/src/locales/zh_CN/pokemon-info-container.ts b/src/locales/zh_CN/pokemon-info-container.ts
index fae75e773b9..eca518c3806 100644
--- a/src/locales/zh_CN/pokemon-info-container.ts
+++ b/src/locales/zh_CN/pokemon-info-container.ts
@@ -1,11 +1,8 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const pokemonInfoContainer: SimpleTranslationEntries = {
"moveset": "招式",
"gender": "性别:",
"ability": "特性:",
"nature": "性格:",
- "epic": "史诗",
- "rare": "稀有",
- "common": "常见"
} as const;
diff --git a/src/locales/zh_CN/pokemon-info.ts b/src/locales/zh_CN/pokemon-info.ts
index 4c12acc3e67..f7aaf3a33cb 100644
--- a/src/locales/zh_CN/pokemon-info.ts
+++ b/src/locales/zh_CN/pokemon-info.ts
@@ -1,4 +1,4 @@
-import { PokemonInfoTranslationEntries } from "#app/plugins/i18n";
+import { PokemonInfoTranslationEntries } from "#app/interfaces/locales";
export const pokemonInfo: PokemonInfoTranslationEntries = {
Stat: {
@@ -13,7 +13,9 @@ export const pokemonInfo: PokemonInfoTranslationEntries = {
"SPDEF": "特防",
"SPDEFshortened": "特防",
"SPD": "速度",
- "SPDshortened": "速度"
+ "SPDshortened": "速度",
+ "ACC": "命中率",
+ "EVA": "回避率"
},
Type: {
@@ -38,4 +40,4 @@ export const pokemonInfo: PokemonInfoTranslationEntries = {
"FAIRY": "妖精",
"STELLAR": "星晶",
},
-} as const;
+} as const;
diff --git a/src/locales/zh_CN/pokemon.ts b/src/locales/zh_CN/pokemon.ts
index 6d6e372046e..5ff670637f4 100644
--- a/src/locales/zh_CN/pokemon.ts
+++ b/src/locales/zh_CN/pokemon.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const pokemon: SimpleTranslationEntries = {
"bulbasaur": "妙蛙种子",
diff --git a/src/locales/zh_CN/save-slot-select-ui-handler.ts b/src/locales/zh_CN/save-slot-select-ui-handler.ts
new file mode 100644
index 00000000000..001ecbe2d00
--- /dev/null
+++ b/src/locales/zh_CN/save-slot-select-ui-handler.ts
@@ -0,0 +1,9 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const saveSlotSelectUiHandler: SimpleTranslationEntries = {
+ "overwriteData": "要覆盖该槽位的存档吗?",
+ "loading": "正在加载中...",
+ "wave": "层数",
+ "lv": "Lv",
+ "empty": "空",
+} as const;
diff --git a/src/locales/zh_CN/settings.ts b/src/locales/zh_CN/settings.ts
new file mode 100644
index 00000000000..3ca6cb435c6
--- /dev/null
+++ b/src/locales/zh_CN/settings.ts
@@ -0,0 +1,99 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales.js";
+
+export const settings: SimpleTranslationEntries = {
+ "boy": "男孩",
+ "girl": "女孩",
+ "general": "常规",
+ "display": "显示",
+ "audio": "音频",
+ "gamepad": "手柄",
+ "keyboard": "键盘",
+ "gameSpeed": "游戏速度",
+ "hpBarSpeed": "血条速度",
+ "expGainsSpeed": "经验值获取动画速度",
+ "expPartyDisplay": "显示队伍经验",
+ "skipSeenDialogues": "跳过已读对话",
+ "battleStyle": "对战模式",
+ "enableRetries": "允许重试",
+ "tutorials": "教程",
+ "touchControls": "触摸操作",
+ "vibrations": "手柄震动",
+ "normal": "普通",
+ "fast": "快",
+ "faster": "更快",
+ "skip": "跳过",
+ "levelUpNotifications": "升级提示",
+ "on": "启用",
+ "off": "禁用",
+ "switch": "切换",
+ "set": "固定",
+ "auto": "自动",
+ "disabled": "禁用",
+ "language": "语言",
+ "change": "选择",
+ "uiTheme": "界面风格",
+ "default": "默认",
+ "legacy": "经典",
+ "windowType": "窗口类型",
+ "moneyFormat": "金钱格式",
+ "damageNumbers": "伤害数字",
+ "simple": "简单",
+ "fancy": "华丽",
+ "abbreviated": "缩略",
+ "moveAnimations": "招式动画",
+ "showStatsOnLevelUp": "升级时显示能力值",
+ "candyUpgradeNotification": "糖果升级提示",
+ "passivesOnly": "仅被动",
+ "candyUpgradeDisplay": "糖果升级显示",
+ "icon": "图标",
+ "animation": "动画",
+ "moveInfo": "招式信息",
+ "showMovesetFlyout": "显示招式池弹窗",
+ "showArenaFlyout": "显示战场弹窗",
+ "showTimeOfDayWidget": "显示时间指示器",
+ "timeOfDayAnimation": "时间指示器动画",
+ "bounce": "弹跳",
+ "timeOfDay_back": "不弹",
+ "spriteSet": "宝可梦动画",
+ "consistent": "默认",
+ "mixedAnimated": "全部动画",
+ "fusionPaletteSwaps": "融合色调切换",
+ "playerGender": "玩家性别",
+ "typeHints": "属性提示",
+ "masterVolume": "主音量",
+ "bgmVolume": "音乐",
+ "seVolume": "音效",
+ "musicPreference": "音乐偏好",
+ "mixed": "全曲混合",
+ "gamepadPleasePlug": "请链接手柄或按任意键",
+ "delete": "删除",
+ "keyboardPleasePress": "请点击键盘上的对应按键",
+ "reset": "重置",
+ "requireReload": "需要重新加载",
+ "action": "操作",
+ "back": "返回",
+ "pressToBind": "按下以绑定",
+ "pressButton": "请按键……",
+ "buttonUp": "上",
+ "buttonDown": "下",
+ "buttonLeft": "左",
+ "buttonRight": "右",
+ "buttonAction": "确认",
+ "buttonMenu": "菜单",
+ "buttonSubmit": "提交",
+ "buttonCancel": "取消",
+ "buttonStats": "状态",
+ "buttonCycleForm": "切换形态",
+ "buttonCycleShiny": "切换闪光",
+ "buttonCycleGender": "切换性别",
+ "buttonCycleAbility": "切换特性",
+ "buttonCycleNature": "切换性格",
+ "buttonCycleVariant": "切换变种",
+ "buttonSpeedUp": "加速",
+ "buttonSlowDown": "减速",
+ "alt": " (备用)",
+ "mute": "静音",
+ "controller": "控制器",
+ "gamepadSupport": "手柄支持",
+ "showBgmBar": "显示音乐名称",
+} as const;
diff --git a/src/locales/zh_CN/splash-messages.ts b/src/locales/zh_CN/splash-messages.ts
index 1d5cf09fc16..35551cf1163 100644
--- a/src/locales/zh_CN/splash-messages.ts
+++ b/src/locales/zh_CN/splash-messages.ts
@@ -1,37 +1,37 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const splashMessages: SimpleTranslationEntries = {
- "battlesWon": "Battles Won!",
- "joinTheDiscord": "Join the Discord!",
- "infiniteLevels": "Infinite Levels!",
- "everythingStacks": "Everything Stacks!",
- "optionalSaveScumming": "Optional Save Scumming!",
- "biomes": "35 Biomes!",
- "openSource": "Open Source!",
- "playWithSpeed": "Play with 5x Speed!",
- "liveBugTesting": "Live Bug Testing!",
- "heavyInfluence": "Heavy RoR2 Influence!",
- "pokemonRiskAndPokemonRain": "Pokémon Risk and Pokémon Rain!",
- "nowWithMoreSalt": "Now with 33% More Salt!",
- "infiniteFusionAtHome": "Infinite Fusion at Home!",
- "brokenEggMoves": "Broken Egg Moves!",
- "magnificent": "Magnificent!",
- "mubstitute": "Mubstitute!",
- "thatsCrazy": "That\'s Crazy!",
- "oranceJuice": "Orance Juice!",
- "questionableBalancing": "Questionable Balancing!",
- "coolShaders": "Cool Shaders!",
- "aiFree": "AI-Free!",
- "suddenDifficultySpikes": "Sudden Difficulty Spikes!",
- "basedOnAnUnfinishedFlashGame": "Based on an Unfinished Flash Game!",
- "moreAddictiveThanIntended": "More Addictive than Intended!",
- "mostlyConsistentSeeds": "Mostly Consistent Seeds!",
- "achievementPointsDontDoAnything": "Achievement Points Don\'t Do Anything!",
- "youDoNotStartAtLevel": "You Do Not Start at Level 2000!",
- "dontTalkAboutTheManaphyEggIncident": "Don\'t Talk About the Manaphy Egg Incident!",
- "alsoTryPokengine": "Also Try Pokéngine!",
- "alsoTryEmeraldRogue": "Also Try Emerald Rogue!",
- "alsoTryRadicalRed": "Also Try Radical Red!",
- "eeveeExpo": "Eevee Expo!",
- "ynoproject": "YNOproject!",
+ "battlesWon": "场胜利!",
+ "joinTheDiscord": "加入Discord!",
+ "infiniteLevels": "等级无限!",
+ "everythingStacks": "道具全部叠加!",
+ "optionalSaveScumming": "可用SL大法!",
+ "biomes": "35种地区!",
+ "openSource": "开源!",
+ "playWithSpeed": "请五倍速游玩!",
+ "liveBugTesting": "随时修复BUG!",
+ "heavyInfluence": "深受雨中冒险2影响!",
+ "pokemonRiskAndPokemonRain": "雨中宝可梦冒险!",
+ "nowWithMoreSalt": "增加33%的盐!",
+ "infiniteFusionAtHome": "无限融合家庭版!",
+ "brokenEggMoves": "超模的蛋招式!",
+ "magnificent": "华丽!",
+ "mubstitute": "替身!",
+ "thatsCrazy": "疯狂!",
+ "oranceJuice": "橙汁!",
+ "questionableBalancing": "游戏平衡性存疑!",
+ "coolShaders": "炫酷的配色!",
+ "aiFree": "不含AI!",
+ "suddenDifficultySpikes": "难度会突然飙升!",
+ "basedOnAnUnfinishedFlashGame": "基于未完成的Flash游戏!",
+ "moreAddictiveThanIntended": "比你想象的更上瘾!",
+ "mostlyConsistentSeeds": "随机数种子基本固定!",
+ "achievementPointsDontDoAnything": "成就点数没有任何用处!",
+ "youDoNotStartAtLevel": "你不能第一关就改个2000级!",
+ "dontTalkAboutTheManaphyEggIncident": "别再提玛纳霏蛋事件了!",
+ "alsoTryPokengine": "也玩玩看Pokéngine!",
+ "alsoTryEmeraldRogue": "也玩玩看绿宝石肉鸽!",
+ "alsoTryRadicalRed": "也玩玩看激进红!",
+ "eeveeExpo": "伊布博览会!",
+ "ynoproject": "Yume Nikki 页游项目!",
} as const;
diff --git a/src/locales/zh_CN/starter-select-ui-handler.ts b/src/locales/zh_CN/starter-select-ui-handler.ts
index 9491438bb13..059358078f4 100644
--- a/src/locales/zh_CN/starter-select-ui-handler.ts
+++ b/src/locales/zh_CN/starter-select-ui-handler.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
/**
* The menu namespace holds most miscellaneous text that isn't directly part of the game's
@@ -21,21 +21,23 @@ export const starterSelectUiHandler: SimpleTranslationEntries = {
"passive": "被动:",
"nature": "性格:",
"eggMoves": "蛋招式",
- "start": "开始",
"addToParty": "加入队伍",
- "toggleIVs": "切换个体值",
+ "toggleIVs": "显示个体",
"manageMoves": "管理招式",
+ "manageNature": "管理性格",
"useCandies": "使用糖果",
+ "selectNature": "选择性格",
"selectMoveSwapOut": "选择要替换的招式。",
"selectMoveSwapWith": "选择要替换成的招式",
"unlockPassive": "解锁被动",
"reduceCost": "降低花费",
- "cycleShiny": "R: 切换闪光",
- "cycleForm": "F: 切换形态",
- "cycleGender": "G: 切换性别",
- "cycleAbility": "E: 切换特性",
- "cycleNature": "N: 切换性格",
- "cycleVariant": "V: 切换变种",
+ "sameSpeciesEgg": "兑换一颗蛋",
+ "cycleShiny": ": 闪光",
+ "cycleForm": ": 形态",
+ "cycleGender": ": 性别",
+ "cycleAbility": ": 特性",
+ "cycleNature": ": 性格",
+ "cycleVariant": ": 变种",
"enablePassive": "启用被动",
"disablePassive": "禁用被动",
"locked": "未解锁",
diff --git a/src/locales/zh_CN/status-effect.ts b/src/locales/zh_CN/status-effect.ts
new file mode 100644
index 00000000000..b9df1733bc1
--- /dev/null
+++ b/src/locales/zh_CN/status-effect.ts
@@ -0,0 +1,67 @@
+import { StatusEffectTranslationEntries } from "#app/interfaces/locales.js";
+
+export const statusEffect: StatusEffectTranslationEntries = {
+ none: {
+ name: "无",
+ description: "",
+ obtain: "",
+ obtainSource: "",
+ activation: "",
+ overlap: "",
+ heal: ""
+ },
+ poison: {
+ name: "中毒",
+ description: "中毒",
+ obtain: "{{pokemonNameWithAffix}}中毒了!",
+ obtainSource: "{{pokemonNameWithAffix}}因{{sourceText}}中毒了!",
+ activation: "{{pokemonNameWithAffix}}受到了毒的伤害!",
+ overlap: "{{pokemonNameWithAffix}}已经中毒了!",
+ heal: "{{pokemonNameWithAffix}}中的毒彻底清除了!"
+ },
+ toxic: {
+ name: "剧毒",
+ description: "中毒",
+ obtain: "{{pokemonNameWithAffix}}中了剧毒!",
+ obtainSource: "{{pokemonNameWithAffix}}因{{sourceText}}中了剧毒!",
+ activation: "{{pokemonNameWithAffix}}受到了毒的伤害!",
+ overlap: "{{pokemonNameWithAffix}}已经中毒了!",
+ heal: "{{pokemonNameWithAffix}}中的毒彻底清除了!"
+ },
+ paralysis: {
+ name: "麻痹",
+ description: "麻痹",
+ obtain: "{{pokemonNameWithAffix}}麻痹了,很难使出招式!",
+ obtainSource: "{{pokemonNameWithAffix}}被{{sourceText}}麻痹了,很难使出招式!",
+ activation: "{{pokemonNameWithAffix}}因身体麻痹而无法行动!",
+ overlap: "{{pokemonNameWithAffix}}已经麻痹了!",
+ heal: "{{pokemonNameWithAffix}}的麻痹治愈了!"
+ },
+ sleep: {
+ name: "睡眠",
+ description: "睡眠",
+ obtain: "{{pokemonNameWithAffix}}睡着了!",
+ obtainSource: "{{pokemonNameWithAffix}}因{{sourceText}}睡着了!",
+ activation: "{{pokemonNameWithAffix}}正在呼呼大睡。",
+ overlap: "{{pokemonNameWithAffix}}已经睡着了!",
+ heal: "{{pokemonNameWithAffix}}醒了!"
+ },
+ freeze: {
+ name: "冰冻",
+ description: "冰冻",
+ obtain: "{{pokemonNameWithAffix}}冻住了!",
+ obtainSource: "{{pokemonNameWithAffix}}因{{sourceText}}冻住了!",
+ activation: "{{pokemonNameWithAffix}}因冻住了而无法行动!",
+ overlap: "{{pokemonNameWithAffix}}已经冻住了!",
+ heal: "{{pokemonNameWithAffix}}治愈了冰冻状态!"
+ },
+ burn: {
+ name: "灼伤",
+ description: "灼伤",
+ obtain: "{{pokemonNameWithAffix}}被灼伤了!",
+ obtainSource: "{{pokemonNameWithAffix}}因{{sourceText}}被灼伤了!",
+ activation: "{{pokemonNameWithAffix}}受到了灼伤的伤害!",
+ overlap: "{{pokemonNameWithAffix}}已经被灼伤了!",
+ heal: "{{pokemonNameWithAffix}}的灼伤治愈了!"
+ },
+} as const;
diff --git a/src/locales/zh_CN/trainers.ts b/src/locales/zh_CN/trainers.ts
index ae0680a3c75..534685d05d1 100644
--- a/src/locales/zh_CN/trainers.ts
+++ b/src/locales/zh_CN/trainers.ts
@@ -1,4 +1,4 @@
-import {SimpleTranslationEntries} from "#app/plugins/i18n";
+import {SimpleTranslationEntries} from "#app/interfaces/locales";
// Titles of special trainers like gym leaders, elite four, and the champion
export const titles: SimpleTranslationEntries = {
@@ -13,6 +13,12 @@ export const titles: SimpleTranslationEntries = {
"rival": "劲敌",
"professor": "博士",
"frontier_brain": "开拓头脑",
+ "rocket_boss": "火箭队老大",
+ "magma_boss": "熔岩队老大",
+ "aqua_boss": "海洋队老大",
+ "galactic_boss": "银河队老大",
+ "plasma_boss": "等离子队老大",
+ "flare_boss": "闪焰队老大",
// Maybe if we add the evil teams we can add "Team Rocket" and "Team Aqua" etc. here as well as "Team Rocket Boss" and "Team Aqua Admin" etc.
} as const;
@@ -48,7 +54,7 @@ export const trainerClasses: SimpleTranslationEntries = {
"depot_agent": "铁路员工",
"doctor": "医生",
"doctor_female": "医生",
- "firebreather": "Firebreather",
+ "firebreather": "吹火人",
"fisherman": "垂钓者",
"fisherman_female": "垂钓者",
"gentleman": "绅士",
@@ -87,14 +93,15 @@ export const trainerClasses: SimpleTranslationEntries = {
"pokémon_rangers": "宝可梦巡护员组合",
"ranger": "巡护员",
"restaurant_staff": "服务生组合",
- "rich": "Rich",
- "rich_female": "Rich",
+ "rich": "富豪",
+ "rich_female": "富豪太太",
"rich_boy": "富家少爷",
"rich_couple": "富豪夫妇",
- "rich_kid": "Rich Kid",
- "rich_kid_female": "Rich Kid",
- "rich_kids": "富二代组合",
+ "rich_kid": "富家小孩",
+ "rich_kid_female": "富家小孩",
+ "rich_kids": "富家小孩组合",
"roughneck": "光头男",
+ "sailor": "水手",
"scientist": "研究员",
"scientist_female": "研究员",
"scientists": "研究员组合",
@@ -117,7 +124,19 @@ export const trainerClasses: SimpleTranslationEntries = {
"worker": "工人",
"worker_female": "工人",
"workers": "工人组合",
- "youngster": "短裤小子"
+ "youngster": "短裤小子",
+ "rocket_grunt": "火箭队手下",
+ "rocket_grunt_female": "火箭队手下",
+ "magma_grunt": "熔岩队手下",
+ "magma_grunt_female": "熔岩队手下",
+ "aqua_grunt": "海洋队手下",
+ "aqua_grunt_female": "海洋队手下",
+ "galactic_grunt": "银河队手下",
+ "galactic_grunt_female": "银河队手下",
+ "plasma_grunt": "等离子队手下",
+ "plasma_grunt_female": "等离子队手下",
+ "flare_grunt": "闪焰队手下",
+ "flare_grunt_female": "闪焰队手下",
} as const;
// Names of special trainers like gym leaders, elite four, and the champion
@@ -303,6 +322,13 @@ export const trainerNames: SimpleTranslationEntries = {
"rival": "芬恩",
"rival_female": "艾薇",
+ // ---- 组织老大 Bosses ----
+ "maxie": "赤焰松",
+ "archie": "水梧桐",
+ "cyrus": "赤日",
+ "ghetsis": "魁奇思",
+ "lysandre": "弗拉达利",
+
// Double Names
"blue_red_double": "青绿 & 赤红",
diff --git a/src/locales/zh_CN/tutorial.ts b/src/locales/zh_CN/tutorial.ts
index fc737798489..e9c428aac9f 100644
--- a/src/locales/zh_CN/tutorial.ts
+++ b/src/locales/zh_CN/tutorial.ts
@@ -1,7 +1,7 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const tutorial: SimpleTranslationEntries = {
- "intro": `欢迎来到PokéRogue!这是一款以战斗为核心的融合了roguelite元素的宝可梦同人游戏。
+ "intro": `欢迎来到PokéRogue!这是一款以战斗为核心的\n融合了roguelite元素的宝可梦同人游戏。
$本游戏未进行商业化,我们没有\nPokémon或Pokémon使用的版
$权资产的所有权。
$游戏仍在开发中,但已可完整游玩。如需报\n告错误,请通过 Discord 社区。
diff --git a/src/locales/zh_CN/voucher.ts b/src/locales/zh_CN/voucher.ts
index f7ef39b1df3..613c96c6da8 100644
--- a/src/locales/zh_CN/voucher.ts
+++ b/src/locales/zh_CN/voucher.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const voucher: SimpleTranslationEntries = {
"vouchers": "兑换券",
@@ -8,4 +8,4 @@ export const voucher: SimpleTranslationEntries = {
"eggVoucherGold": "黄金扭蛋券",
"locked": "锁定",
"defeatTrainer": "你打败了{{trainerName}}"
-} as const;
+} as const;
diff --git a/src/locales/zh_CN/weather.ts b/src/locales/zh_CN/weather.ts
index 2049b8a429c..ea4deffbd55 100644
--- a/src/locales/zh_CN/weather.ts
+++ b/src/locales/zh_CN/weather.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
/**
* The weather namespace holds text displayed when weather is active during a battle
@@ -15,12 +15,12 @@ export const weather: SimpleTranslationEntries = {
"sandstormStartMessage": "开始刮沙暴了!",
"sandstormLapseMessage": "沙暴肆虐。",
"sandstormClearMessage": "沙暴停止了!",
- "sandstormDamageMessage": "沙暴袭击了{{pokemonPrefix}}{{pokemonName}}!",
+ "sandstormDamageMessage": "沙暴袭击了{{pokemonNameWithAffix}}!",
"hailStartMessage": "开始下冰雹了!",
"hailLapseMessage": "冰雹继续肆虐。",
"hailClearMessage": "冰雹不再下了。",
- "hailDamageMessage": "冰雹袭击了{{pokemonPrefix}}{{pokemonName}}!",
+ "hailDamageMessage": "冰雹袭击了{{pokemonNameWithAffix}}!",
"snowStartMessage": "开始下雪了!",
"snowLapseMessage": "雪继续下。",
@@ -40,5 +40,27 @@ export const weather: SimpleTranslationEntries = {
"strongWindsStartMessage": "吹起了神秘的乱流!",
"strongWindsLapseMessage": "神秘的乱流势头不减。",
+ "strongWindsEffectMessage": "The mysterious air current weakened the attack!",
"strongWindsClearMessage": "神秘的乱流停止了。"
};
+
+export const terrain: SimpleTranslationEntries = {
+ "misty": "薄雾",
+ "mistyStartMessage": "脚下雾气缭绕!",
+ "mistyClearMessage": "脚下的雾气消失不见了!",
+ "mistyBlockMessage": "{{pokemonNameWithAffix}}正受到薄雾场地的保护!",
+
+ "electric": "电气",
+ "electricStartMessage": "脚下电光飞闪!",
+ "electricClearMessage": "脚下的电光消失不见了!",
+
+ "grassy": "青草",
+ "grassyStartMessage": "脚下青草如茵!",
+ "grassyClearMessage": "脚下的青草消失不见了!",
+
+ "psychic": "精神",
+ "psychicStartMessage": "脚下传来了奇妙的感觉!",
+ "psychicClearMessage": "脚下的奇妙感觉消失了!",
+
+ "defaultBlockMessage": "{{pokemonNameWithAffix}}正受到{{terrainName}}的的保护!"
+};
diff --git a/src/locales/zh_TW/ability-trigger.ts b/src/locales/zh_TW/ability-trigger.ts
index 1d9a3446785..c436e5021f7 100644
--- a/src/locales/zh_TW/ability-trigger.ts
+++ b/src/locales/zh_TW/ability-trigger.ts
@@ -1,7 +1,11 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const abilityTriggers: SimpleTranslationEntries = {
- "blockRecoilDamage" : "{{pokemonName}} 的 {{abilityName}}\n抵消了反作用力!",
- "badDreams": "{{pokemonName}} 被折磨着!",
- "windPowerCharged": "Being hit by {{moveName}} charged {{pokemonName}} with power!"
+ "blockRecoilDamage" : "{{pokemonName}} 的 {{abilityName}}\n抵消了反作用力!",
+ "badDreams": "{{pokemonName}} 被折磨着!",
+ "costar": "{{pokemonName}} 複製了 {{allyName}} 的\n能力變化!",
+ "iceFaceAvoidedDamage": "{{pokemonName}} 因爲 {{abilityName}}\n避免了傷害!",
+ "trace": "{{pokemonName}} 複製了 {{targetName}} 的\n{{abilityName}}!",
+ "windPowerCharged": "受 {{moveName}} 的影響, {{pokemonName}} 提升了能力!",
+ "quickDraw":"{{pokemonName}} can act faster than normal, thanks to its Quick Draw!",
} as const;
diff --git a/src/locales/zh_TW/ability.ts b/src/locales/zh_TW/ability.ts
index f760a9614f6..9fa520a81ff 100644
--- a/src/locales/zh_TW/ability.ts
+++ b/src/locales/zh_TW/ability.ts
@@ -1,60 +1,61 @@
-import { AbilityTranslationEntries } from "#app/plugins/i18n.js";
+import { AbilityTranslationEntries } from "#app/interfaces/locales.js";
export const ability: AbilityTranslationEntries = {
stench: {
name: "惡臭",
- description: "通過釋放臭臭的氣味,在攻\n擊的時候,有時會使對手畏\n縮。",
+ description: "發出臭氣,在攻擊的時候,\n有時會使對手畏縮。",
},
- drizzle: { name: "降雨", description: "出場時,會將天氣變爲下雨\n。" },
+ drizzle: { name: "降雨", description: "出場時,會將天氣變為下雨\n。" },
speedBoost: { name: "加速", description: "每一回合速度會變快。" },
battleArmor: {
name: "戰鬥盔甲",
- description: "被堅硬的甲殼守護着,不會\n被對手的攻擊擊中要害。",
+ description: "被堅硬的甲殼守護著,不會\n被對手的攻擊擊中要害。",
},
sturdy: {
name: "結實",
description:
- "在HP全滿時,即使受到招\n式攻擊,也不會被一擊打倒\n。一擊必殺的招式也沒有效\n果。",
+ "在HP全滿時受到招式攻擊\n不會被一擊打倒。一擊必殺\n的招式也沒有效果。",
+
},
damp: {
- name: "溼氣",
- description: "通過把周圍都弄溼,使誰都\n無法使用自爆等爆炸類的招\n式。",
+ name: "濕氣",
+ description: "透過把周圍都弄溼,使誰都\n無法使用自爆等爆炸類的招\n式。",
},
- limber: { name: "柔軟", description: "因爲身體柔軟,不會變爲麻\n痹狀態。" },
- sandVeil: { name: "沙隱", description: "在沙暴的時候,閃避率會提\n高。" },
+ limber: { name: "柔軟", description: "因為身體柔軟,不會變為麻\n痹狀態。" },
+ sandVeil: { name: "沙隱", description: "在沙暴中閃避率會提高。" },
static: {
name: "靜電",
- description: "身上帶有靜電,有時會讓接\n觸到的對手麻痹。",
+ description: "身上帶有靜電,有時會令接\n觸到的對手麻痹。",
},
voltAbsorb: {
name: "蓄電",
- description: "受到電屬性的招式攻擊時,\n不會受到傷害,而是會回覆。",
+ description: "受到電屬性的招式攻擊時,\n不會受到傷害,而是會回復。",
},
waterAbsorb: {
name: "儲水",
- description: "受到水屬性的招式攻擊時,\n不會受到傷害,而是會回覆。",
+ description: "受到水屬性的招式攻擊時,\n不會受到傷害,而是會回復。",
},
oblivious: {
name: "遲鈍",
description:
- "因爲感覺遲鈍,不會變爲着\n迷和被挑釁狀態。對威嚇也\n毫不動搖。",
+ "感覺遲鈍,不會陷入著迷和\n被挑釁狀態。面對威嚇也不\n會動搖。",
},
cloudNine: { name: "無關天氣", description: "任何天氣的影響都會消失。" },
compoundEyes: {
name: "複眼",
- description: "因爲擁有複眼,招式的命中\n率會提高。",
+ description: "因為擁有複眼,會提高招式\n的命中率。",
},
insomnia: {
name: "不眠",
- description: "因爲有着睡不着的體質,所\n以不會陷入睡眠狀態。",
+ description: "因為有著睡不著的體質,所\n以不會陷入睡眠狀態。",
},
colorChange: {
name: "變色",
- description: "自己的屬性會變爲從對手處\n所受招式的屬性。",
+ description: "自己的屬性會變為擊中自己\n的對手招式的屬性。",
},
immunity: {
name: "免疫",
- description: "因爲體內擁有免疫能力,不\n會變爲中毒狀態。",
+ description: "因為體內擁有免疫能力,不\n會變為中毒狀態。",
},
flashFire: {
name: "引火",
@@ -63,19 +64,19 @@ export const ability: AbilityTranslationEntries = {
},
shieldDust: {
name: "鱗粉",
- description: "被鱗粉守護着,不會受到招\n式的追加效果影響。",
+ description: "被鱗粉守護著,不會受到招\n式的追加效果影響。",
},
ownTempo: {
name: "我行我素",
- description: "因爲我行我素,不會變爲混\n亂狀態。對威嚇也毫不動搖。",
+ description: "因為我行我素,不會陷入混\n亂狀態。面對威嚇也不會動\n搖。",
},
suctionCups: {
name: "吸盤",
- description: "用吸盤牢牢貼在地面上,讓\n替換寶可夢的招式和道具無\n效。",
+ description: "用吸盤將自己牢牢吸附在地\n面上,讓替換寶可夢的招式\n和道具失效。",
},
intimidate: {
name: "威嚇",
- description: "出場時威嚇對手,讓其退縮\n,降低對手的攻擊。",
+ description: "出場時威嚇對手,使其退縮\n,從而降低對手的攻擊。",
},
shadowTag: {
name: "踩影",
@@ -96,7 +97,7 @@ export const ability: AbilityTranslationEntries = {
effectSpore: {
name: "孢子",
description:
- "受到攻擊時,有時會把接觸\n到自己的對手變爲中毒、麻\n痹或睡眠狀態。",
+ "受到攻擊時,有時會把接觸\n到自己的對手變為中毒、麻\n痹或睡眠狀態。",
},
synchronize: {
name: "同步",
@@ -104,48 +105,48 @@ export const ability: AbilityTranslationEntries = {
},
clearBody: {
name: "恆淨之軀",
- description: "不會因爲對手的招式或特性\n而被降低能力。",
+ description: "不會因對手的招式或特性而\n被降低能力。",
},
naturalCure: {
- name: "自然回覆",
- description: "回到同行隊伍後,異常狀態\n就會被治癒。",
+ name: "自然回復",
+ description: "異常狀態會在離場後治癒。",
},
lightningRod: {
name: "避雷針",
description:
- "將電屬性的招式吸引到自己\n身上,不會受到傷害,而是\n會提高特攻。",
+ "將電屬性的招式吸引到自己\n身上,不但不會受到傷害,\n反而會提高特攻。",
},
sereneGrace: {
name: "天恩",
- description: "託天恩的福,招式的追加效\n果容易出現。",
+ description: "受到上天保佑,容易出現招式的追加效果。",
},
- swiftSwim: { name: "悠遊自如", description: "下雨天氣時,速度會提高。" },
- chlorophyll: { name: "葉綠素", description: "晴朗天氣時,速度會提高。" },
+ swiftSwim: { name: "悠遊自如", description: "天氣為下雨時,速度會提高。" },
+ chlorophyll: { name: "葉綠素", description: "天氣為晴朗時,速度會提高。" },
illuminate: {
name: "發光",
- description: "通過讓周圍變亮來保持命中\n率不會被降低。",
+ description: "透過讓周圍變亮,命中率不\n會被降低。",
},
trace: {
name: "複製",
- description: "出場時,複製對手的特性,\n變爲與之相同的特性。",
+ description: "出場時,複製對手的特性,\n變為與之相同的特性。",
},
- hugePower: { name: "大力士", description: "物理攻擊的威力會變爲2倍\n。" },
+ hugePower: { name: "大力士", description: "物理攻擊的威力會變為2倍\n。" },
poisonPoint: {
name: "毒刺",
- description: "有時會讓接觸到自己的對手\n變爲中毒狀態。",
+ description: "有時會讓接觸到自己的對手\n變為中毒狀態。",
},
innerFocus: {
name: "精神力",
description:
- "擁有經過鍛鍊的精神,而不\n會因對手的攻擊而畏縮。對\n威嚇也毫不動搖。",
+ "靠著經過鍛鍊的精神,不會\n因對手的攻擊而畏縮。面對\n威嚇也不會動搖。",
},
magmaArmor: {
name: "熔岩鎧甲",
- description: "將熾熱的熔岩覆蓋在身上,\n不會變爲冰凍狀態。",
+ description: "將熾熱的熔岩覆蓋在身上,\n不會陷入冰凍狀態。",
},
waterVeil: {
name: "水幕",
- description: "將水幕裹在身上,不會變爲\n灼傷狀態。",
+ description: "將水幕裹在身上,不會陷入\n灼傷狀態。",
},
magnetPull: {
name: "磁力",
@@ -153,10 +154,10 @@ export const ability: AbilityTranslationEntries = {
},
soundproof: {
name: "隔音",
- description: "通過屏蔽聲音,不受到聲音\n招式的影響。",
+ description: "透過遮蔽聲音,不受到聲音\n招式的影響。",
},
- rainDish: { name: "雨盤", description: "下雨天氣時,會緩緩回覆\nHP。" },
- sandStream: { name: "揚沙", description: "出場時,會把天氣變爲沙暴。" },
+ rainDish: { name: "雨盤", description: "天氣為下雨時,會緩緩回復\nHP。" },
+ sandStream: { name: "揚沙", description: "出場時,會把天氣變為沙暴。" },
pressure: {
name: "壓迫感",
description: "給予對手壓迫感,大量減少\n其使用招式的PP。",
@@ -164,70 +165,70 @@ export const ability: AbilityTranslationEntries = {
thickFat: {
name: "厚脂肪",
description:
- "因爲被厚厚的脂肪保護着,\n會讓火屬性和冰屬性的招式\n傷害減半。",
+ "被厚厚的脂肪保護著,能夠\n讓火屬性和冰屬性招式的傷\n害減半。",
},
earlyBird: {
name: "早起",
- description: "即使變爲睡眠狀態,也能以\n2倍的速度提早醒來。",
+ description: "即使陷入睡眠狀態,也能以\n2倍的速度提早醒來。",
},
flameBody: {
name: "火焰之軀",
- description: "有時會讓接觸到自己的對手\n變爲灼傷狀態。",
+ description: "有時會讓接觸到自己的對手\n變為灼傷狀態。",
},
- runAway: { name: "逃跑", description: "一定能從野生寶可夢那兒逃\n走。" },
+ runAway: { name: "逃跑", description: "一定能從野生寶可夢那裡逃\n走。" },
keenEye: {
name: "銳利目光",
- description: "多虧了銳利的目光,命中率\n不會被降低。",
+ description: "靠著銳利的目光,命中率不\n會被降低。",
},
hyperCutter: {
name: "怪力鉗",
- description: "因爲擁有以力量自豪的鉗子,\n不會被對手降低攻擊。",
+ description: "因為擁有以力量自豪的鉗子,\n不會被對手降低攻擊。",
},
pickup: {
name: "撿拾",
description: "有時會撿來對手用過的道具,\n冒險過程中也會撿到。",
},
- truant: { name: "懶惰", description: "如果使出招式,下一回合就\n會休息。" },
- hustle: { name: "活力", description: "自己的攻擊變高,但命中率\n會降低。" },
+ truant: { name: "懶惰", description: "如果使出招式,下一回合就\n需要休息。" },
+ hustle: { name: "活力", description: "自己的攻擊雖會變高,但命\n中率會降低。" },
cuteCharm: {
name: "迷人之軀",
- description: "有時會讓接觸到自己的對手\n着迷。",
+ description: "有時會讓接觸到自己的對手陷\n入著迷狀態。",
},
plus: {
name: "正電",
description:
- "出場的夥伴之間如果有正電\n或負電特性的寶可夢,自己\n的特攻會提高。",
+ "場上的夥伴之中,如果有正\n電或負電特性的寶可夢,自\n己的特攻會提高。",
},
minus: {
name: "負電",
description:
- "出場的夥伴之間如果有正電\n或負電特性的寶可夢,自己\n的特攻會提高。",
+ "場上的夥伴之中,如果有正\n電或負電特性的寶可夢,自\n己的特攻會提高。",
},
forecast: {
name: "陰晴不定",
description:
- "受天氣的影響,會變爲水屬\n性、火屬性或冰屬性中的某\n一個。",
+ "在天氣的影響下,會變成水\n屬性、火屬性或冰屬性之中\n的一種。",
},
stickyHold: {
- name: "黏着",
- description: "因爲道具是粘在黏性身體上\n的,所以不會被對手奪走。",
+ name: "黏著",
+ description: "道具會黏在具有黏性的身體\n上,不會被對手奪走。",
},
shedSkin: {
name: "蛻皮",
- description: "通過蛻去身上的皮,有時會\n治癒異常狀態。",
+ description: "透過蛻去身上的皮,有時會\n治癒異常狀態。",
},
guts: {
name: "毅力",
- description: "如果變爲異常狀態,會拿出\n毅力,攻擊會提高。",
+ description: "陷入異常狀態時,會拿出毅\n力,攻擊會提高。",
},
marvelScale: {
name: "神奇鱗片",
- description: "如果變爲異常狀態,神奇鱗\n片會發生反應,防禦會提高。",
+ description: "陷入異常狀態時,神奇鱗片\n會發生反應,防禦會提高。",
},
liquidOoze: {
name: "污泥漿",
description:
- "吸收了污泥漿的對手會因強\n烈的惡臭而受到傷害,減少\nHP。",
+ "吸收了污泥漿的對手會因為\n強烈的惡臭而使得HP減少。",
},
overgrow: {
name: "茂盛",
@@ -249,52 +250,52 @@ export const ability: AbilityTranslationEntries = {
name: "堅硬腦袋",
description: "即使使出會受反作用力傷害\n的招式,HP也不會減少。",
},
- drought: { name: "日照", description: "出場時,會將天氣變爲晴朗。" },
+ drought: { name: "日照", description: "出場時,會將天氣變為晴朗。" },
arenaTrap: { name: "沙穴", description: "在戰鬥中讓對手無法逃走。" },
vitalSpirit: {
name: "幹勁",
- description: "通過激發出幹勁,不會變爲\n睡眠狀態。",
+ description: "透過激發出幹勁,不會變為\n睡眠狀態。",
},
whiteSmoke: {
name: "白色煙霧",
- description: "被白色煙霧保護着,不會被\n對手降低能力。",
+ description: "被白色煙霧保護著,不會被\n對手降低能力。",
},
purePower: {
name: "瑜伽之力",
- description: "因瑜伽的力量,物理攻擊的\n威力會變爲2倍。",
+ description: "因瑜伽的力量,物理攻擊的\n威力會變為2倍。",
},
shellArmor: {
name: "硬殼盔甲",
- description: "被堅硬的殼保護着,對手的\n攻擊不會擊中要害。",
+ description: "被堅硬的殼保護著,對手的\n攻擊不會擊中要害。",
},
airLock: { name: "氣閘", description: "所有天氣的影響都會消失。" },
tangledFeet: {
name: "蹣跚",
- description: "在混亂狀態時,閃避率會提\n高。",
+ description: "陷入混亂狀態時,閃避率會\n提高。",
},
motorDrive: {
name: "電氣引擎",
description:
- "受到電屬性的招式攻擊時,\n不會受到傷害,而是速度會\n提高。",
+ "受到電屬性的招式攻擊時,\n不但不會受到傷害,反而速\n度會提高。",
},
rivalry: {
name: "鬥爭心",
description:
- "面對性別相同的對手,會燃\n起鬥爭心,變得更強。而面\n對性別不同的,則會變弱。",
+ "面對性別相同的對手,會燃\n起鬥爭心,變得更強。面對\n性別不同的對手時則會變弱。",
},
steadfast: {
name: "不屈之心",
description: "每次畏縮時,不屈之心就會\n燃起,速度也會提高。",
},
- snowCloak: { name: "雪隱", description: "下雪天氣時,閃避率會提高。" },
+ snowCloak: { name: "雪隱", description: "天氣為下雪時,閃避率會提\n高。" },
gluttony: {
- name: "貪喫鬼",
+ name: "貪吃鬼",
description:
- "原本HP變得很少時纔會喫\n樹果,在HP還有一半時就\n會把它喫掉。",
+ "原本HP變得很少時才會吃\n樹果,在HP還有一半時就\n會把它吃掉。",
},
angerPoint: {
name: "憤怒穴位",
- description: "要害被擊中時,會大發雷霆\n,攻擊力變爲最大。",
+ description: "要害被擊中時會大發雷霆。\n攻擊力會提高到最大。",
},
unburden: {
name: "輕裝",
@@ -302,23 +303,23 @@ export const ability: AbilityTranslationEntries = {
},
heatproof: {
name: "耐熱",
- description: "耐熱的體質會讓火屬性的招\n式傷害減半。",
+ description: "靠著耐熱的體質,讓火屬性\n的招式傷害減半。",
},
- simple: { name: "單純", description: "能力變化會變爲平時的2倍。" },
+ simple: { name: "單純", description: "能力變化會變為平時的2倍。" },
drySkin: {
name: "乾燥皮膚",
description:
- "下雨天氣時和受到水屬性的\n招式時,HP會回覆。晴朗\n天氣時和受到火屬性的招式\n時,HP會減少。",
+ "下雨天氣時和受到水屬性的\n招式時,HP會回復。晴朗\n天氣時和受到火屬性的招式\n時,HP會減少。",
},
download: {
name: "下載",
description:
"比較對手的防禦和特防,根\n據較低的那項能力相應地提\n高自己的攻擊或特攻。",
},
- ironFist: { name: "鐵拳", description: "使用拳類招式的威力會提高。" },
+ ironFist: { name: "鐵拳", description: "使用到拳頭的招式威力會\n提高。" },
poisonHeal: {
name: "毒療",
- description: "變爲中毒狀態時,HP不會\n減少,反而會增加起來。",
+ description: "陷入中毒狀態時,HP不會\n減少,反而會漸漸增加。",
},
adaptability: {
name: "適應力",
@@ -326,133 +327,133 @@ export const ability: AbilityTranslationEntries = {
},
skillLink: {
name: "連續攻擊",
- description: "如果使用連續招式,總是能\n使出最高次數。",
+ description: "使用連續招式時,每回都能\n以最多次數進行攻擊。",
},
hydration: {
- name: "溼潤之軀",
- description: "下雨天氣時,異常狀態會治\n愈。",
+ name: "濕潤之軀",
+ description: "天氣為下雨時,會治癒異常\n狀態。",
},
solarPower: {
name: "太陽之力",
- description: "晴朗天氣時,特攻會提高,\n而每回合HP會減少。",
+ description: "天氣為晴朗時特攻會提高,\n但每回合HP會減少。",
},
quickFeet: {
name: "飛毛腿",
- description: "變爲異常狀態時,速度會提\n高。",
+ description: "陷入異常狀態時,速度會提\n高。",
},
normalize: {
name: "一般皮膚",
description:
- "無論是什麼屬性的招式,全\n部會變爲一般屬性。威力會\n少量提高。",
+ "無論是什麼屬性的招式,全\n部都會變為一般屬性。威力\n會少量提高。",
},
- sniper: { name: "狙擊手", description: "擊中要害時,威力會變得更\n強。" },
+ sniper: { name: "狙擊手", description: "擊中要害時,威力會進一步\n提高。" },
magicGuard: { name: "魔法防守", description: "不會受到攻擊以外的傷害。" },
noGuard: {
name: "無防守",
description: "由於無防守戰術,雙方使出\n的招式都必定會擊中。",
},
- stall: { name: "慢出", description: "使出招式的順序必定會變爲\n最後。" },
+ stall: { name: "慢出", description: "使出招式的順序必定會變為\n最後。" },
technician: {
name: "技術高手",
- description: "攻擊時可以將低威力招式的\n威力提高。",
+ description: "可讓威力低的招式提高威力\n來進行攻擊。",
},
leafGuard: {
name: "葉子防守",
- description: "晴朗天氣時,不會變爲異常\n狀態。",
+ description: "天氣為晴朗時,不會陷入異\n常狀態。",
},
klutz: { name: "笨拙", description: "無法使用持有的道具。" },
moldBreaker: {
name: "破格",
- description: "可以不受對手特性的干擾,\n向對手使出招式。",
+ description: "可不受特性影響,向對手使\n出招式。",
},
superLuck: {
name: "超幸運",
- description: "因爲擁有超幸運,攻擊容易\n擊中對手的要害。",
+ description: "因為非常幸運,容易擊中對\n手的要害。",
},
aftermath: {
name: "引爆",
- description: "變爲瀕死時,會對接觸到自\n己的對手造成傷害。",
+ description: "瀕死時,會對接觸到自己的\n對手造成傷害。",
},
anticipation: {
name: "危險預知",
- description: "可以察覺到對手擁有的危險\n招式。",
+ description: "察覺對手持有的危險招式。",
},
forewarn: {
name: "預知夢",
- description: "出場時,只讀取1個對手擁\n有的招式。",
+ description: "出場時,預見1個對手持有\n的招式。",
},
unaware: {
name: "純樸",
- description: "可以無視對手能力的變化,\n進行攻擊。",
+ description: "可無視對手能力的變化,進\n行攻擊。",
},
tintedLens: {
name: "有色眼鏡",
- description: "可以將效果不好的招式以通\n常的威力使出。",
+ description: "可將效果不好的招式以正常\n的威力使出。",
},
filter: {
name: "過濾",
- description: "受到效果絕佳的攻擊時,可\n以減弱其威力。",
+ description: "受到效果絕佳的攻擊時,可\n減弱其威力。",
},
slowStart: {
name: "慢啓動",
- description: "在5回合內,攻擊和速度減\n半。",
+ description: "在5回合內,攻擊和速度會\n減半。",
},
scrappy: {
name: "膽量",
description:
- "一般屬性和格鬥屬性的招式\n可以擊中幽靈屬性的寶可夢\n。對威嚇也毫不動搖。",
+ "一般屬性和格鬥屬性的招式\n可擊中幽靈屬性的寶可夢。\n面對威嚇也不會動搖。",
},
stormDrain: {
name: "引水",
description:
- "將水屬性的招式引到自己身\n上,不會受到傷害,而是會\n提高特攻。",
+ "將水屬性的招式引到自己身\n上,不但不會受到傷害,反\n而會提高特攻。",
},
iceBody: {
name: "冰凍之軀",
- description: "下雪天氣時,會緩緩回覆\nHP。",
+ description: "天氣為下雪時,會漸漸回復\nHP。",
},
solidRock: {
name: "堅硬岩石",
- description: "受到效果絕佳的攻擊時,可\n以減弱其威力。",
+ description: "受到效果絕佳的攻擊時,可\n減弱其威力。",
},
- snowWarning: { name: "降雪", description: "出場時,會將天氣變爲下雪。" },
+ snowWarning: { name: "降雪", description: "出場時,會將天氣變為下雪。" },
honeyGather: {
name: "採蜜",
description: "The Pokémon gathers Honey after a battle. The Honey is then sold for money.",
},
frisk: {
name: "察覺",
- description: "進入戰鬥時,神奇寶貝可以檢查對方神奇寶貝的能力。",
+ description: "出場時,可以察覺對手的特\n性。",
},
reckless: {
name: "捨身",
- description: "自己會因反作用力受傷的招\n式,其威力會提高。",
+ description: "會讓自己因反作用力而受傷\n的招式威力會提高。",
},
multitype: {
name: "多屬性",
- description: "自己的屬性會根據持有的石\n板而改變。",
+ description: "自己的屬性會依持有的石板\n而改變。",
},
flowerGift: {
name: "花之禮",
- description: "晴朗天氣時,自己與同伴的\n攻擊和特防能力會提高。",
+ description: "天氣為晴朗時,自己和同伴\n的攻擊和特防能力會提高。",
},
- badDreams: { name: "夢魘", description: "給予睡眠狀態的對手傷害。" },
+ badDreams: { name: "夢魘", description: "給予陷入睡眠狀態的對手傷\n害。" },
pickpocket: {
name: "順手牽羊",
description: "盜取接觸到自己的對手的道\n具。",
},
sheerForce: {
name: "強行",
- description: "招式的追加效果消失,但因\n此能以更高的威力使出招式\n。",
+ description: "招式會失去追加效果,但可\n以用更高的威力使出招式。",
},
contrary: {
name: "唱反調",
description:
- "能力的變化發生逆轉,原本\n提高時會降低,而原本降低\n時會提高。",
+ "能力的變化會逆轉,原本提\n高時會降低,原本降低時會\n提高。",
},
unnerve: {
name: "緊張感",
- description: "讓對手緊張,使其無法食用\n樹果。",
+ description: "讓對手感到緊張,無法吃樹\n果。",
},
defiant: {
name: "不服輸",
@@ -460,35 +461,35 @@ export const ability: AbilityTranslationEntries = {
},
defeatist: {
name: "軟弱",
- description: "HP減半時,會變得軟弱,\n攻擊和特攻會減半。",
+ description: "HP降到一半以下時,會變\n得軟弱而使得攻擊和特攻減\n半。",
},
cursedBody: {
name: "詛咒之軀",
- description: "受到攻擊時,有時會把對手\n的招式變爲定身法狀態。",
+ description: "受到攻擊時,有時會把對手\n的招式變為定身法狀態。",
},
- healer: { name: "治癒之心", description: "有時會治癒異常狀態的同伴。" },
- friendGuard: { name: "友情防守", description: "可以減少我方的傷害。" },
+ healer: { name: "治癒之心", description: "有時會治癒同伴的異常狀態。" },
+ friendGuard: { name: "友情防守", description: "可以減少我方受到的傷害。" },
weakArmor: {
name: "碎裂鎧甲",
- description: "受到物理招式的傷害時,防\n御會降低,速度會大幅提高。",
+ description: "因物理招式受到傷害時,防\n禦會降低,速度會大幅提高。",
},
- heavyMetal: { name: "重金屬", description: "自身的重量會變爲2倍。" },
- lightMetal: { name: "輕金屬", description: "自身的重量會減半。" },
+ heavyMetal: { name: "重金屬", description: "自己的重量會變為2倍。" },
+ lightMetal: { name: "輕金屬", description: "自己的重量會減半。" },
multiscale: {
name: "多重鱗片",
description: "HP全滿時,受到的傷害會\n變少。",
},
toxicBoost: {
name: "中毒激升",
- description: "變爲中毒狀態時,物理招式\n的威力會提高。",
+ description: "陷入中毒狀態時,物理招式\n的威力會提高。",
},
flareBoost: {
name: "受熱激升",
- description: "變爲灼傷狀態時,特殊招式\n的威力會提高。",
+ description: "陷入灼傷狀態時,特殊招式\n的威力會提高。",
},
harvest: {
name: "收穫",
- description: "可以多次製作出已被使用掉\n的樹果。",
+ description: "可多次採收已被使用過的樹果。",
},
telepathy: {
name: "心靈感應",
@@ -505,62 +506,62 @@ export const ability: AbilityTranslationEntries = {
},
poisonTouch: {
name: "毒手",
- description: "只通過接觸就有可能讓對手\n變爲中毒狀態。",
+ description: "有時僅是接觸就能讓對手中\n毒。",
},
regenerator: {
name: "再生力",
description: "退回同行隊伍後,HP會少\n量回復。",
},
- bigPecks: { name: "健壯胸肌", description: "不會受到防禦降低的效果。" },
- sandRush: { name: "撥沙", description: "沙暴天氣時,速度會提高。" },
+ bigPecks: { name: "健壯胸肌", description: "不會受到降低防禦的效果影\n響。" },
+ sandRush: { name: "撥沙", description: "天氣為沙暴時,速度會提高。" },
wonderSkin: {
name: "奇蹟皮膚",
- description: "成爲不易受到變化招式攻擊\n的身體。",
+ description: "不易受到變化類招式攻擊的\n身體。",
},
analytic: {
name: "分析",
- description: "如果在最後使出招式,招式\n的威力會提高。",
+ description: "如果在最後使出招式,招式\n的威力就會變強。",
},
illusion: {
name: "幻覺",
- description: "假扮成同行隊伍中的最後一\n只寶可夢出場,迷惑對手。",
+ description: "假扮成同行隊伍中的最後一\n隻寶可夢出場,迷惑對手。",
},
- imposter: { name: "變身者", description: "變身爲當前面對的寶可夢。" },
+ imposter: { name: "變身者", description: "變身為當前面對的寶可夢。" },
infiltrator: {
name: "穿透",
- description: "可以穿透對手的壁障或替身\n進行攻擊。",
+ description: "可穿透對手的屏障或替身進\n行攻擊。",
},
mummy: {
name: "木乃伊",
- description: "被對手接觸到後,會將對手\n變爲木乃伊。",
+ description: "被對手接觸到後,會將對手\n變為木乃伊。",
},
moxie: {
name: "自信過度",
- description: "如果打倒對手,就會充滿自\n信,攻擊會提高。",
+ description: "如果打倒對手,會充滿自信\n並提高攻擊。",
},
justified: {
name: "正義之心",
- description: "受到惡屬性的招式攻擊時,\n因爲正義感,攻擊會提高。",
+ description: "受到惡屬性的招式攻擊時,\n因為正義感,攻擊會提高。",
},
rattled: {
name: "膽怯",
description:
- "受到惡屬性、幽靈屬性和蟲\n屬性的攻擊或威嚇時,會因\n膽怯而速度提高。",
+ "受到惡屬性、幽靈屬性和蟲\n屬性的招式攻擊,或受到威\n嚇時,會因膽怯而使得速度\n提高。",
},
magicBounce: {
name: "魔法鏡",
- description: "可以不受到由對手使出的變\n化招式影響,並將其反彈。",
+ description: "可不受到由對手使出的變化\n類招式所影響,並將其反彈。",
},
sapSipper: {
name: "食草",
description:
- "受到草屬性的招式攻擊時,\n不會受到傷害,而是攻擊會\n提高。",
+ "受到草屬性的招式攻擊時,\n不但不會受到傷害,反而攻\n擊會提高。",
},
- prankster: { name: "惡作劇之心", description: "可以率先使出變化招式。" },
+ prankster: { name: "惡作劇之心", description: "可以搶先使出變化類招式。" },
sandForce: {
name: "沙之力",
description:
- "沙暴天氣時,岩石屬性、地\n面屬性和鋼屬性的招式威力\n會提高。",
+ "天氣為沙暴時,岩石屬性、\n地面屬性和鋼屬性招式的威\n力會提高。",
},
ironBarbs: {
name: "鐵刺",
@@ -568,7 +569,7 @@ export const ability: AbilityTranslationEntries = {
},
zenMode: {
name: "達摩模式",
- description: "HP變爲一半以下時,樣子\n會改變。",
+ description: "HP變為一半以下時,樣子\n會改變。",
},
victoryStar: {
name: "勝利之星",
@@ -584,24 +585,24 @@ export const ability: AbilityTranslationEntries = {
},
aromaVeil: {
name: "芳香幕",
- description: "可以防住向自己和同伴發出\n的心靈攻擊。",
+ description: "可防住向自己和同伴發出的\n心靈攻擊。",
},
flowerVeil: {
name: "花幕",
- description: "我方的草屬性寶可夢能力不\n會降低,也不會變爲異常狀\n態。",
+ description: "我方的草屬性寶可夢能力不\n會降低。也不會陷入異常狀\n態。",
},
cheekPouch: {
name: "頰囊",
- description: "無論是哪種樹果,食用後,\nHP都會回覆。",
+ description: "無論是哪種樹果,吃下去後\nHP都會回復。",
},
protean: {
name: "變幻自如",
description:
- "變爲與自己使出的招式相同\n的屬性。每次出場戰鬥僅生\n效一次。",
+ "每次出場戰鬥時,變為與自\n己使出的招式相同的屬性1\n次。",
},
furCoat: {
name: "毛皮大衣",
- description: "對手給予的物理招式的傷害\n會減半。",
+ description: "對手的物理招式造成的傷害\n會減半。",
},
magician: {
name: "魔術師",
@@ -609,32 +610,32 @@ export const ability: AbilityTranslationEntries = {
},
bulletproof: {
name: "防彈",
- description: "可以防住對手的球和彈類招\n式。",
+ description: "可防住對手的球和彈類的招\n式。",
},
competitive: {
name: "好勝",
- description: "如果被對手降低能力,特攻\n會大幅提高。",
+ description: "被對手降低能力時,特攻會\n大幅提高。",
},
strongJaw: {
name: "強壯之顎",
- description: "因爲顎部強壯,啃咬類招式\n的威力會提高。",
+ description: "顎部強壯,會提高啃咬類招\n式的威力。",
},
refrigerate: {
name: "冰凍皮膚",
- description: "一般屬性的招式會變爲冰屬\n性。威力會少量提高。",
+ description: "一般屬性的招式會變為冰屬\n性。威力會少量提高。",
},
sweetVeil: {
name: "甜幕",
- description: "自己和同伴的寶可夢不會變\n爲睡眠狀態。",
+ description: "自己和我方的寶可夢不會陷\n入睡眠狀態。",
},
stanceChange: {
name: "戰鬥切換",
description:
- "如果使出攻擊招式,會變爲\n刀劍形態,如果使出招式“\n王者盾牌”,會變爲盾牌形\n態。",
+ "若使出攻擊招式,會變為刀\n劍形態,若使出招式「王者\n盾牌」,會變為盾牌形態。",
},
galeWings: {
name: "疾風之翼",
- description: "HP全滿時,飛行屬性的招\n式可以率先使出。",
+ description: "HP全滿時,可以搶先在對\n手之前使出飛行屬性的招式。",
},
megaLauncher: {
name: "超級發射器",
@@ -648,43 +649,43 @@ export const ability: AbilityTranslationEntries = {
toughClaws: { name: "硬爪", description: "接觸到對手的招式威力會提\n高。" },
pixilate: {
name: "妖精皮膚",
- description: "一般屬性的招式會變爲妖精\n屬性。威力會少量提高。",
+ description: "一般屬性的招式會變為妖精\n屬性。威力會少量提高。",
},
gooey: {
name: "黏滑",
- description: "對於用攻擊接觸到自己的對\n手,會降低其速度。",
+ description: "對手用攻擊接觸到自己時,\n降低此對手的速度。",
},
aerilate: {
name: "飛行皮膚",
- description: "一般屬性的招式會變爲飛行\n屬性。威力會少量提高。",
+ description: "一般屬性的招式會變為飛行\n屬性。威力會少量提高。",
},
- parentalBond: { name: "親子愛", description: "親子倆可以合計攻擊2次。" },
+ parentalBond: { name: "親子愛", description: "親子倆可合計攻擊2次。" },
darkAura: { name: "暗黑氣場", description: "全體的惡屬性招式變強。" },
fairyAura: { name: "妖精氣場", description: "全體的妖精屬性招式變強。" },
auraBreak: {
name: "氣場破壞",
- description: "讓氣場的效果發生逆轉,降\n低威力。",
+ description: "讓氣場的效果逆轉,並降低\n威力。",
},
primordialSea: {
name: "始源之海",
- description: "變爲不會受到火屬性攻擊的\n天氣。",
+ description: "變為讓火屬性攻擊失效的天\n氣。",
},
desolateLand: {
name: "終結之地",
- description: "變爲不會受到水屬性攻擊的\n天氣。",
+ description: "變為讓水屬性攻擊失效的天\n氣。",
},
deltaStream: {
name: "德爾塔氣流",
- description: "變爲令飛行屬性的弱點消失\n的天氣。",
+ description: "變為令飛行屬性的弱點消失\n的天氣。",
},
stamina: { name: "持久力", description: "受到攻擊時,防禦會提高。" },
wimpOut: {
name: "躍躍欲逃",
- description: "HP變爲一半時,會慌慌張\n張逃走,退回同行隊伍中。",
+ description: "HP變為一半時,會慌慌張\n張逃走,退回同行隊伍中。",
},
emergencyExit: {
name: "危險迴避",
- description: "HP變爲一半時,爲了迴避\n危險,會退回到同行隊伍中。",
+ description: "HP減到一半時,為了避開\n危險,會退回到同行隊伍中。",
},
waterCompaction: {
name: "遇水凝固",
@@ -696,11 +697,11 @@ export const ability: AbilityTranslationEntries = {
},
shieldsDown: {
name: "界限盾殼",
- description: "HP變爲一半時,殼會壞掉,\n變得有攻擊性。",
+ description: "HP變為一半時,殼會壞掉,\n變得更有攻擊性。",
},
stakeout: {
name: "蹲守",
- description: "可以對替換出場的對手以2\n倍的傷害進行攻擊。",
+ description: "可以向替換出場的對手以2\n倍的傷害進行攻擊。",
},
waterBubble: {
name: "水泡",
@@ -709,52 +710,52 @@ export const ability: AbilityTranslationEntries = {
steelworker: { name: "鋼能力者", description: "鋼屬性的招式威力會提高。" },
berserk: {
name: "怒火沖天",
- description: "因對手的攻擊HP變爲一半\n時,特攻會提高。",
+ description: "HP因對手的攻擊降到一半\n時,特攻會提高。",
},
- slushRush: { name: "撥雪", description: "下雪天氣時,速度會提高。" },
+ slushRush: { name: "撥雪", description: "天氣為下雪時,速度會提高。" },
longReach: {
name: "遠隔",
description: "可以不接觸對手就使出所有\n的招式。",
},
liquidVoice: {
name: "溼潤之聲",
- description: "所有的聲音招式都變爲水屬\n性。",
+ description: "所有的聲音招式都變為水屬\n性。",
},
- triage: { name: "先行治療", description: "可以率先使出回覆招式。" },
+ triage: { name: "先行治療", description: "可以搶先使出回復招式。" },
galvanize: {
name: "電氣皮膚",
- description: "一般屬性的招式會變爲電屬\n性。威力會少量提高。",
+ description: "一般屬性的招式會變為電屬\n性。威力會少量提高。",
},
surgeSurfer: {
name: "衝浪之尾",
- description: "電氣場地時,速度會變爲2\n倍。",
+ description: "電氣場地時,速度會變為2\n倍。",
},
schooling: {
name: "魚羣",
description:
- "HP多的時候會聚起來變強。\nHP剩餘量變少時,羣體\n會分崩離析。",
+ "HP多的時候會聚起來變強。\nHP剩餘量變少時,群體\n會分崩離析。",
},
disguise: {
name: "畫皮",
- description: "通過畫皮覆蓋住身體,可以\n防住1次攻擊。",
+ description: "用畫皮覆蓋住身體,可防住\n1次攻擊。",
},
battleBond: {
name: "牽絆變身",
description:
- "打倒對手時,與訓練家的牽\n絆會增強,自己的攻擊、特\n攻、速度會提高。",
+ "打倒對手時,與訓練家的牽\n絆會加深,自己的攻擊、特\n攻和速度會提高。",
},
powerConstruct: {
- name: "羣聚變形",
- description: "HP變爲一半時,細胞們會\n趕來支援,變爲完全體形態。",
+ name: "群聚變形",
+ description: "HP變為一半時,細胞們會\n趕來支援,變為完全體形態。",
},
corrosion: {
name: "腐蝕",
- description: "可以使鋼屬性和毒屬性的寶\n可夢也陷入中毒狀態。",
+ description: "就算對方是鋼屬性或毒屬性\n寶可夢,也可讓對方陷入中\n毒狀態。",
},
comatose: {
name: "絕對睡眠",
description:
- "總是半夢半醒的狀態,絕對\n不會醒來。可以就這麼睡着\n進行攻擊。",
+ "總是半夢半醒的狀態,絕對\n不會醒來。可在睡著的狀況\n下進行攻擊。",
},
queenlyMajesty: {
name: "女王的威嚴",
@@ -766,13 +767,13 @@ export const ability: AbilityTranslationEntries = {
},
dancer: {
name: "舞者",
- description: "有誰使出跳舞招式時,自己\n也能就這麼接着使出跳舞招\n式。",
+ description: "當有誰使出跳舞招式時,自\n己也能接著使出跳舞招式。",
},
battery: { name: "蓄電池", description: "會提高我方的特殊招式的威\n力。" },
fluffy: {
name: "毛茸茸",
description:
- "會將對手所給予的接觸類招\n式的傷害減半,但火屬性招\n式的傷害會變爲2倍。",
+ "會將對手所給予的接觸類招\n式的傷害減半,但火屬性招\n式的傷害會變為2倍。",
},
dazzling: {
name: "鮮豔之軀",
@@ -780,44 +781,44 @@ export const ability: AbilityTranslationEntries = {
},
soulHeart: {
name: "魂心",
- description: "寶可夢每次變爲瀕死狀態時\n,特攻會提高。",
+ description: "每當場上有寶可夢陷入瀕死\n狀態時,特攻就會提高。",
},
tanglingHair: {
name: "捲髮",
- description: "對於用攻擊接觸到自己的對\n手,會降低其速度。",
+ description: "對手用攻擊接觸到自己時,\n降低此對手的速度。",
},
receiver: {
name: "接球手",
- description: "繼承被打倒的同伴的特性,\n變爲相同的特性。",
+ description: "繼承被打倒的同伴的特性,\n變為相同的特性。",
},
powerOfAlchemy: {
name: "化學之力",
- description: "繼承被打倒的同伴的特性,\n變爲相同的特性。",
+ description: "繼承被打倒的同伴的特性,\n變為相同的特性。",
},
beastBoost: {
name: "異獸提升",
- description: "打倒對手的時候,自己最高\n的那項能力會提高。",
+ description: "打倒對手的時候,會提高自\n己最高的那項能力。",
},
rksSystem: {
name: "AR系統",
- description: "根據持有的存儲碟,自己的\n屬性會改變。",
+ description: "根據持有的記憶碟,自己的\n屬性會改變。",
},
electricSurge: {
name: "電氣製造者",
- description: "出場時,會佈下電氣場地。",
+ description: "出場時,會布下電氣場地。",
},
psychicSurge: {
name: "精神製造者",
- description: "出場時,會佈下精神場地。",
+ description: "出場時,會布下精神場地。",
},
- mistySurge: { name: "薄霧製造者", description: "出場時,會佈下薄霧場地。" },
+ mistySurge: { name: "薄霧製造者", description: "出場時,會布下薄霧場地。" },
grassySurge: {
name: "青草製造者",
- description: "出場時,會佈下青草場地。",
+ description: "出場時,會布下青草場地。",
},
fullMetalBody: {
name: "金屬防護",
- description: "不會因爲對手的招式或特性\n而被降低能力。",
+ description: "不會因對手的招式或特性而\n被降低能力。",
},
shadowShield: {
name: "幻影防守",
@@ -825,33 +826,33 @@ export const ability: AbilityTranslationEntries = {
},
prismArmor: {
name: "棱鏡裝甲",
- description: "受到效果絕佳的攻擊時,可\n以減弱其威力。",
+ description: "受到效果絕佳的攻擊時,可\n減弱其威力。",
},
neuroforce: {
name: "腦核之力",
- description: "效果絕佳的攻擊,威力會變\n得更強。",
+ description: "可進一步提升效果絕佳招式\n的威力。",
},
intrepidSword: {
name: "不撓之劍",
- description: "首次出場時,攻擊會提高。",
+ description: "在戰鬥中首次出場時,攻擊\n會提高。",
},
dauntlessShield: {
name: "不屈之盾",
- description: "首次出場時,防禦會提高。",
+ description: "在戰鬥中首次出場時,防禦\n會提高。",
},
libero: {
name: "自由者",
description:
- "變爲與自己使出的招式相同\n的屬性。每次出場戰鬥僅生\n效一次。",
+ "每次出場戰鬥時,變為與自\n己使出的招式相同的屬性1\n次。",
},
ballFetch: {
name: "撿球",
- description: "沒有攜帶道具時,會拾取第\n1個投出後捕捉失敗的精靈\n球。",
+ description: "當寶可夢沒有攜帶道具時,\n會撿回第1個投出後捕捉失\n敗的精靈球。",
},
cottonDown: {
name: "棉絮",
description:
- "受到攻擊後撒下棉絮,降低\n除自己以外的所有寶可夢的\n速度。",
+ "受到攻擊時會撒下棉絮,降\n低除自己以外的所有寶可夢\n的速度。",
},
propellerTail: {
name: "螺旋尾鰭",
@@ -864,7 +865,7 @@ export const ability: AbilityTranslationEntries = {
gulpMissile: {
name: "一口導彈",
description:
- "衝浪或潛水時會叼來獵物。\n受到傷害時,會吐出獵物進\n行攻擊。",
+ "衝浪或潛水時會叼來獵物。\n當受到傷害時,會吐出獵物\n攻擊對手。",
},
stalwart: {
name: "堅毅",
@@ -872,18 +873,18 @@ export const ability: AbilityTranslationEntries = {
},
steamEngine: {
name: "蒸汽機",
- description: "受到水屬性或火屬性的招式\n攻擊時,速度會巨幅提高。",
+ description: "受到水屬性或火屬性招式攻\n擊時,速度會極大幅提高。",
},
punkRock: {
name: "龐克搖滾",
- description: "聲音招式的威力會提高。受\n到的聲音招式傷害會減半。",
+ description: "聲音招式的威力會提高。受\n到聲音招式的傷害會減半。",
},
- sandSpit: { name: "吐沙", description: "受到攻擊時,會颳起沙暴。" },
+ sandSpit: { name: "吐沙", description: "受到攻擊時,會刮起沙暴。" },
iceScales: {
name: "冰鱗粉",
- description: "由於有冰鱗粉的守護,受到\n的特殊攻擊傷害會減半。",
+ description: "得到冰鱗粉的守護,受到的\n特殊攻擊傷害會減半。",
},
- ripen: { name: "熟成", description: "使樹果成熟,效果變爲2倍。" },
+ ripen: { name: "熟成", description: "讓樹果成熟,使效果變為2\n倍。" },
iceFace: {
name: "結凍頭",
description:
@@ -891,11 +892,11 @@ export const ability: AbilityTranslationEntries = {
},
powerSpot: {
name: "能量點",
- description: "只要處在相鄰位置,招式的\n威力就會提高。",
+ description: "只要站在旁邊,招式的威力\n就會提高。",
},
mimicry: {
name: "擬態",
- description: "寶可夢的屬性會根據場地的\n狀態而變化。",
+ description: "寶可夢的屬性會根據場地的\n狀態而改變。",
},
screenCleaner: {
name: "除障",
@@ -909,7 +910,7 @@ export const ability: AbilityTranslationEntries = {
perishBody: {
name: "滅亡之軀",
description:
- "受到接觸類招式攻擊時,雙\n方都會在3回合後變爲瀕死\n狀態。替換後效果消失。",
+ "在受到接觸類招式攻擊時,\n3個回合後雙方都會陷入瀕\n死。替換寶可夢後效果就\n會消失。",
},
wanderingSpirit: {
name: "遊魂",
@@ -917,30 +918,30 @@ export const ability: AbilityTranslationEntries = {
},
gorillaTactics: {
name: "一猩一意",
- description: "雖然攻擊會提高,但是隻能\n使出一開始所選的招式。",
+ description: "攻擊雖然會提高,但只能使\n出最初選擇的招式。",
},
neutralizingGas: {
name: "化學變化氣體",
description:
- "特性爲化學變化氣體的寶可\n夢在場時,場上所有寶可夢\n的特性效果都會消失或者無\n法生效。",
+ "當場上有特性是化學變化氣\n體的寶可夢時,所有寶可夢\n的特性效果都會消失或無\n法發動。",
},
pastelVeil: {
name: "粉彩護幕",
- description: "自己和同伴都不會陷入中毒\n的異常狀態。",
+ description: "自己和我方同伴都不會陷入\n中毒的異常狀態。",
},
hungerSwitch: {
name: "飽了又餓",
- description: "每回合結束時會在滿腹花紋\n與空腹花紋之間交替改變樣\n子。",
+ description: "在每個回合結束時,會在滿\n腹花紋和空腹花紋之間交替\n改變樣子。",
},
quickDraw: { name: "速擊", description: "有時能比對手先一步行動。" },
unseenFist: {
name: "無形拳",
description:
- "如果使出的是接觸到對手的\n招式,就可以無視守護效果\n進行攻擊。",
+ "只要是接觸到對手的招式,\n就可以無視對手的防守效果\n進行攻擊。",
},
curiousMedicine: {
name: "怪藥",
- description: "出場時會從貝殼撒藥,將我\n方的能力變化復原。",
+ description: "出場時,會從貝殼撒藥,將\n我方的能力變化復原。",
},
transistor: { name: "電晶體", description: "電屬性的招式威力會提高。" },
dragonsMaw: { name: "龍顎", description: "龍屬性的招式威力會提高。" },
@@ -954,15 +955,15 @@ export const ability: AbilityTranslationEntries = {
},
asOneGlastrier: {
name: "人馬一體",
- description: "兼備蕾冠王的緊張感和靈幽\n馬的漆黑嘶鳴這兩種特性。",
+ description: "兼備蕾冠王的緊張感和雪暴\n馬的蒼白嘶鳴這2種特性。",
},
asOneSpectrier: {
name: "人馬一體",
- description: "兼備蕾冠王的緊張感和靈幽\n馬的漆黑嘶鳴這兩種特性。",
+ description: "兼備蕾冠王的緊張感和靈幽\n馬的漆黑嘶鳴這2種特性。",
},
lingeringAroma: {
name: "甩不掉的氣味",
- description: "被對手接觸到後,甩不掉的\n氣味會沾上對手。",
+ description: "被對手接觸到時,甩不掉的\n氣味會沾染給對手。",
},
seedSower: {
name: "掉出種子",
@@ -971,123 +972,122 @@ export const ability: AbilityTranslationEntries = {
thermalExchange: {
name: "熱交換",
description:
- "受到火屬性的招式攻擊時,\n攻擊會提高,且不會陷入灼\n傷狀態。",
+ "受到火屬性的招式攻擊時,\n攻擊會提高,不會陷入灼傷\n狀態。",
},
angerShell: {
name: "憤怒甲殼",
description:
- "因被對手攻擊而HP變爲一\n半時,會因憤怒降低防禦和\n特防。但攻擊、特攻、速度\n會提高。",
+ "HP因對手的攻擊降到一半\n時,會因憤怒而降低防禦和\n特防,但攻擊、特攻和速度\n會提高。",
},
purifyingSalt: {
name: "潔淨之鹽",
description:
- "因潔淨的鹽而不會陷入異常\n狀態。會讓幽靈屬性的招式\n傷害減半。",
+ "因潔淨的鹽而不會陷入異常\n狀態。能夠讓幽靈屬性招式\n的傷害減半。",
},
wellBakedBody: {
name: "焦香之軀",
description:
- "受到火屬性的招式攻擊時,\n不會受到傷害,而是會大幅\n提高防禦。",
+ "受到火屬性的招式攻擊時,\n不但不會受到傷害,反而防\n禦會大幅提高",
},
windRider: {
name: "乘風",
description:
- "吹起了順風或受到風的招式\n攻擊時,不會受到傷害,而\n是會提高攻擊。",
+ "吹起順風或受到風的招式攻\n擊時,不但不會受到傷害,\n反而攻擊會提高。",
},
guardDog: {
name: "看門犬",
description:
- "受到威嚇時,攻擊會提高。\n讓替換寶可夢的招式和道具\n無效。",
+ "受到威嚇時,攻擊會提高。\n會讓替換寶可夢的招式和道\n具失效。",
},
rockyPayload: { name: "搬巖", description: "岩石屬性的招式威力會提高。" },
windPower: {
name: "風力發電",
- description: "受到風的招式攻擊時,會變\n爲充電狀態。",
+ description: "受到風的招式攻擊時,會變\n成充電狀態。",
},
zeroToHero: {
name: "全能變身",
- description: "回到同行隊伍後,會變爲全\n能形態。",
+ description: "離場後會變為全能形態。",
},
commander: {
name: "發號施令",
description:
- "出場時,若我方當中有喫吼\n霸,就會進入其口中,並從\n其口中發出指令。",
+ "出場時,若我方有吃吼霸,\n便會進入吃吼霸的口中,從\n那裡發號施令。",
},
electromorphosis: {
name: "電力轉換",
- description: "受到傷害時,會變爲充電狀\n態。",
+ description: "受到傷害時,會變成充電狀\n態。",
},
protosynthesis: {
name: "古代活性",
- description: "攜帶着驅勁能量或天氣爲晴\n朗時,數值最高的能力會提\n高。",
+ description: "攜帶著驅勁能量或天氣為晴\n朗時,數值最高的能力會提\n高。",
},
quarkDrive: {
name: "夸克充能",
description:
- "攜帶着驅勁能量或在電氣場\n地上時,數值最高的能力會\n提高。",
+ "攜帶著驅勁能量或在電氣場\n地上時,數值最高的能力會\n提高。",
},
goodAsGold: {
name: "黃金之軀",
- description: "不會氧化的堅固黃金身軀不\n會受到對手的變化招式的影\n響。",
+ description: "既不氧化又堅韌的黃金之軀\n不會受到對手的變化類招式\n攻擊。",
},
vesselOfRuin: {
name: "災禍之鼎",
- description: "以能呼喚災厄的鼎的力量降\n低除自己以外的寶可夢的特\n攻。",
+ description: "在喚來災厄之鼎的力量下,\n除自己以外的特攻會變弱。",
},
swordOfRuin: {
name: "災禍之劍",
- description: "以能呼喚災厄的劍的力量降\n低除自己以外的寶可夢的防\n御。",
+ description: "在喚來災厄之劍的力量下,\n除自己以外的防禦會變弱。",
},
tabletsOfRuin: {
name: "災禍之簡",
- description: "以能呼喚災厄的簡的力量降\n低除自己以外的寶可夢的攻\n擊。",
+ description: "在喚來災厄之木簡的力量下\n,除自己以外的攻擊會變弱。",
},
beadsOfRuin: {
name: "災禍之玉",
- description:
- "以能呼喚災厄的勾玉的力量\n降低除自己以外的寶可夢的\n特防。",
+ description: "在喚來災厄之木簡的力量下\n,除自己以外的特防會變弱。",
},
orichalcumPulse: {
name: "緋紅脈動",
description:
- "出場時,會將天氣變爲晴朗\n。日照強烈時,會通過古代\n的脈動升高攻擊。",
+ "出場時,會將天氣變為晴朗\n。日照很強時,會因為古代\n的脈動而使攻擊升高。",
},
hadronEngine: {
name: "強子引擎",
description:
- "出場時,會佈下電氣場地。\n處於電氣場地時,會通過未\n來的機關升高特攻。",
+ "出場時,會布下電氣場地。\n在電氣場地時,會因為未來\n的機關而使特攻升高。",
},
opportunist: {
name: "跟風",
- description: "對手的能力提高時,自己也\n會趁機同樣地提高能力。",
+ description: "對手的能力提高時,自己也\n會跟著提高能力。",
},
cudChew: {
name: "反芻",
- description: "喫了樹果後,會在下一回合\n結束時從胃反芻出來再喫1\n次。",
+ description: "食用樹果後,會在下一回合\n結束時從胃裡取出,以1次\n為限再次食用。",
},
- sharpness: { name: "鋒銳", description: "提高切割對手的招式的威力。" },
+ sharpness: { name: "鋒銳", description: "切斬對手的招式威力會提高。" },
supremeOverlord: {
name: "大將",
description:
- "出場時,攻擊和特攻會按照\n目前被打倒的同伴數量逐漸\n提升,被打倒越多,提升越\n多。",
+ "出場時,先前每有1隻同伴\n被打倒,攻擊和特攻就會提\n高少許。",
},
- costar: { name: "同臺共演", description: "出場時,複製同伴的能力變\n化。" },
+ costar: { name: "同台共演", description: "出場時,會複製同伴的能力\n變化。" },
toxicDebris: {
name: "毒滿地",
- description: "受到物理招式的傷害時,會\n在對手腳下散佈毒菱。",
+ description: "因物理招式受到傷害時,會\n在對手腳下散布毒菱。",
},
armorTail: {
name: "尾甲",
- description: "包裹頭部的神祕尾巴使對手\n無法對我方使出先制招式。",
+ description: "包覆著頭部的神秘尾巴使對\n手無法對我方使出先制招式。",
},
earthEater: {
name: "食土",
description:
- "受到地面屬性的招式攻擊時\n,不會受到傷害,而是會得\n到回覆。",
+ "受到地面屬性的招式攻擊時\n,不會受到傷害,而是會回\n復。",
},
myceliumMight: {
name: "菌絲之力",
description:
- "使出變化招式時,雖然行動\n必定會變慢,但能不受對手\n的特性妨礙。",
+ "使出變化類招式時,行動一\n定會變緩慢,但不會受到對\n手特性的干擾。",
},
mindsEye: {
name: "心眼",
@@ -1097,50 +1097,50 @@ export const ability: AbilityTranslationEntries = {
supersweetSyrup: {
name: "甘露之蜜",
description:
- "首次出場時,會散發出甜膩\n的蜜的香味來降低對手的閃\n避率。",
+ "在對戰中首次出場時,會四\n處散播甜膩的蜜香,降低對\n手的閃避率。",
},
hospitality: {
name: "款待",
- description: "出場時款待同伴,回覆其少\n量HP。",
+ description: "出場時款待同伴,使其回復\n少量HP。",
},
toxicChain: {
name: "毒鎖鏈",
description:
- "憑藉含有毒素的鎖鏈的力量,\n有時能讓被招式擊中的對\n手陷入劇毒狀態。",
+ "靠著含有毒素的鎖鏈的力量\n,有時會讓被招式擊中的對\n手陷入劇毒狀態。",
},
embodyAspectTeal: {
name: "面影輝映",
- description: "將回憶映於心中,讓水井面\n具發出光輝,提高自己的特\n防。",
+ description: "將回憶映於心中,使碧草面\n具發出光輝,提高自己的速\n度。",
},
embodyAspectWellspring: {
name: "面影輝映",
- description: "將回憶映於心中,讓碧草面\n具發出光輝,提高自己的速\n度。",
+ description: "將回憶映於心中,使水井面\n具發出光輝,提高自己的特\n防。",
},
embodyAspectHearthflame: {
name: "面影輝映",
- description: "將回憶映於心中,讓火竈面\n具發出光輝,提高自己的攻\n擊。",
+ description: "將回憶映於心中,使火灶面\n具發出光輝,提高自己的攻\n擊。",
},
embodyAspectCornerstone: {
name: "面影輝映",
- description: "將回憶映於心中,讓礎石面\n具發出光輝,提高自己的防\n御。",
+ description: "將回憶映於心中,使礎石面\n具發出光輝,提高自己的防\n御。",
},
teraShift: {
name: "太晶變形",
- description: "出場時,會吸收周圍的能量\n,變爲太晶形態。",
+ description: "出場時,會吸收周圍的能量\n,變為太晶形態。",
},
teraShell: {
name: "太晶甲殼",
description:
- "甲殼蘊藏着全部屬性的力量\n,會將自己HP全滿時受到\n的傷害全都變爲效果不好。",
+ "蘊藏著所有屬性力量的甲殼\n會將自身HP全滿時受到的\n傷害全都變為效果不好。",
},
teraformZero: {
name: "歸零化境",
description:
- "太樂巴戈斯變爲星晶形態時\n,蘊藏在它身上的力量會將\n天氣和場地的影響全部歸零。",
+ "太樂巴戈斯變為星晶形態時\n,蘊藏其身的力量會將天氣\n和場地的影響全部歸零。",
},
poisonPuppeteer: {
name: "毒傀儡",
description:
- "因桃歹郎的招式而陷入中毒\n狀態的對手同時也會陷入混\n亂狀態。",
+ "因為桃歹郎的招式而陷入中\n毒狀態的對手同時也會陷入\n混亂狀態。",
},
} as const;
diff --git a/src/locales/zh_TW/achv.ts b/src/locales/zh_TW/achv.ts
index 42b1995bcde..8b85f59447e 100644
--- a/src/locales/zh_TW/achv.ts
+++ b/src/locales/zh_TW/achv.ts
@@ -1,171 +1,270 @@
-import { AchievementTranslationEntries } from "#app/plugins/i18n.js";
+import { AchievementTranslationEntries } from "#app/interfaces/locales.js";
-export const achv: AchievementTranslationEntries = {
+// Achievement translations for the when the player character is male
+export const PGMachv: AchievementTranslationEntries = {
"Achievements": {
- name: "Achievements",
+ name: "成就",
},
"Locked": {
- name: "Locked",
+ name: "未解鎖",
},
"MoneyAchv": {
- description: "Accumulate a total of ₽{{moneyAmount}}",
+ description: "累計獲得 ₽{{moneyAmount}}",
},
"10K_MONEY": {
- name: "Money Haver",
+ name: "小有積蓄",
},
"100K_MONEY": {
- name: "Rich",
+ name: "大戶人家",
},
"1M_MONEY": {
- name: "Millionaire",
+ name: "百萬富翁",
},
"10M_MONEY": {
- name: "One Percenter",
+ name: "暴發戶",
},
"DamageAchv": {
- description: "Inflict {{damageAmount}} damage in one hit",
+ description: "在單次攻擊中造成 {{damageAmount}} 點傷害",
},
"250_DMG": {
- name: "Hard Hitter",
+ name: "重拳出擊",
},
"1000_DMG": {
- name: "Harder Hitter",
+ name: "神拳猛擊",
},
"2500_DMG": {
- name: "That's a Lotta Damage!",
+ name: "奪少?",
},
"10000_DMG": {
- name: "One Punch Man",
+ name: "一拳超人",
},
"HealAchv": {
- description: "Heal {{healAmount}} {{HP}} at once with a move, ability, or held item",
+ description: "通過技能、能力或攜帶的道具一次性治療 {{healAmount}} {{HP}}點",
},
"250_HEAL": {
- name: "Novice Healer",
+ name: "新手奶媽",
},
"1000_HEAL": {
- name: "Big Healer",
+ name: "治療擔當",
},
"2500_HEAL": {
- name: "Cleric",
+ name: "牧師",
},
"10000_HEAL": {
- name: "Recovery Master",
+ name: "泉水",
},
"LevelAchv": {
- description: "Level up a Pokémon to Lv{{level}}",
+ description: "將一隻寶可夢提升到 Lv{{level}}",
},
"LV_100": {
- name: "But Wait, There's More!",
+ name: "别急,後面還有",
},
"LV_250": {
- name: "Elite",
+ name: "精英",
},
"LV_1000": {
- name: "To Go Even Further Beyond",
+ name: "天外有天",
},
"RibbonAchv": {
- description: "Accumulate a total of {{ribbonAmount}} Ribbons",
+ description: "累計獲得 {{ribbonAmount}} 個勛章",
},
"10_RIBBONS": {
- name: "Pokémon League Champion",
+ name: "寶可夢聯盟冠軍",
},
"25_RIBBONS": {
- name: "Great League Champion",
+ name: "超級球聯盟冠軍",
},
"50_RIBBONS": {
- name: "Ultra League Champion",
+ name: "高級球聯盟冠軍",
},
"75_RIBBONS": {
- name: "Rogue League Champion",
+ name: "肉鴿球聯盟冠軍",
},
"100_RIBBONS": {
- name: "Master League Champion",
+ name: "大師球聯盟冠軍",
},
"TRANSFER_MAX_BATTLE_STAT": {
- name: "Teamwork",
- description: "Baton pass to another party member with at least one stat maxed out",
+ name: "團隊協作",
+ description: "在一項屬性強化至最大時用接力棒傳遞給其他寶可夢",
},
"MAX_FRIENDSHIP": {
- name: "Friendmaxxing",
- description: "Reach max friendship on a Pokémon",
+ name: "親密無間",
+ description: "使一隻寶可夢的親密度達到最大值",
},
"MEGA_EVOLVE": {
- name: "Megamorph",
- description: "Mega evolve a Pokémon",
+ name: "大變身",
+ description: "超級進化一隻寶可夢",
},
"GIGANTAMAX": {
- name: "Absolute Unit",
- description: "Gigantamax a Pokémon",
+ name: "這位更是重量級",
+ description: "極巨化一隻寶可夢",
},
"TERASTALLIZE": {
- name: "STAB Enthusiast",
- description: "Terastallize a Pokémon",
+ name: "本系愛好者",
+ description: "太晶化一隻寶可夢",
},
"STELLAR_TERASTALLIZE": {
- name: "The Hidden Type",
- description: "Stellar Terastallize a Pokémon",
+ name: "隱藏屬性",
+ description: "星晶化一隻寶可夢",
},
"SPLICE": {
- name: "Infinite Fusion",
- description: "Splice two Pokémon together with DNA Splicers",
+ name: "無限融合",
+ description: "使用基因之楔將兩隻寶可夢融合在一起",
},
"MINI_BLACK_HOLE": {
- name: "A Hole Lot of Items",
- description: "Acquire a Mini Black Hole",
+ name: "一大洞的道具",
+ description: "獲得一個迷你黑洞",
},
"CATCH_MYTHICAL": {
- name: "Mythical",
- description: "Catch a mythical Pokémon",
+ name: "神秘禮物",
+ description: "捕捉一隻幻之寶可夢",
},
"CATCH_SUB_LEGENDARY": {
- name: "(Sub-)Legendary",
- description: "Catch a sub-legendary Pokémon",
+ name: "二級傳說",
+ description: "捕捉一隻準傳說寶可夢",
},
"CATCH_LEGENDARY": {
- name: "Legendary",
- description: "Catch a legendary Pokémon",
+ name: "傳說",
+ description: "捕捉一隻傳說寶可夢",
},
"SEE_SHINY": {
- name: "Shiny",
- description: "Find a shiny Pokémon in the wild",
+ name: "閃耀奪目",
+ description: "在野外找到一隻閃光寶可夢",
},
"SHINY_PARTY": {
- name: "That's Dedication",
- description: "Have a full party of shiny Pokémon",
+ name: "嘔心瀝血",
+ description: "擁有一支由閃光寶可夢組成的滿員隊伍",
},
"HATCH_MYTHICAL": {
- name: "Mythical Egg",
- description: "Hatch a mythical Pokémon from an egg",
+ name: "幻獸蛋",
+ description: "從蛋中孵化出一隻幻之寶可夢",
},
"HATCH_SUB_LEGENDARY": {
- name: "Sub-Legendary Egg",
- description: "Hatch a sub-legendary Pokémon from an egg",
+ name: "二級傳說蛋",
+ description: "從蛋中孵化出一隻準傳說寶可夢",
},
"HATCH_LEGENDARY": {
- name: "Legendary Egg",
- description: "Hatch a legendary Pokémon from an egg",
+ name: "傳說蛋",
+ description: "從蛋中孵化出一隻傳說寶可夢",
},
"HATCH_SHINY": {
- name: "Shiny Egg",
- description: "Hatch a shiny Pokémon from an egg",
+ name: "金色傳說!",
+ description: "從蛋中孵化出一隻閃光寶可夢",
},
"HIDDEN_ABILITY": {
- name: "Hidden Potential",
- description: "Catch a Pokémon with a hidden ability",
+ name: "隱藏實力",
+ description: "捕捉一隻擁有隱藏特性的寶可夢",
},
"PERFECT_IVS": {
- name: "Certificate of Authenticity",
- description: "Get perfect IVs on a Pokémon",
+ name: "合格證",
+ description: "獲得一隻擁有完美個體值的寶可夢",
},
"CLASSIC_VICTORY": {
- name: "Undefeated",
- description: "Beat the game in classic mode",
+ name: "戰無不勝",
+ description: "在經典模式中通關遊戲",
+ },
+
+ "MONO_GEN_ONE": {
+ name: "最初的勁敵",
+ description: "完成僅限第一世代的挑戰.",
+ },
+ "MONO_GEN_TWO": {
+ name: "1.5世代",
+ description: "完成僅限第二世代的挑戰.",
+ },
+ "MONO_GEN_THREE": {
+ name: "“水太多了”",
+ description: "完成僅限第三世代的挑戰.",
+ },
+ "MONO_GEN_FOUR": {
+ name: "她真是最強冠軍嗎?",
+ description: "完成僅限第四世代的挑戰.",
+ },
+ "MONO_GEN_FIVE": {
+ name: "完全原創",
+ description: "完成僅限第五世代的挑戰.",
+ },
+ "MONO_GEN_SIX": {
+ name: "女大公",
+ description: "完成僅限第六世代的挑戰.",
+ },
+ "MONO_GEN_SEVEN": {
+ name: "首屆冠軍",
+ description: "完成僅限第七世代的挑戰.",
+ },
+ "MONO_GEN_EIGHT": {
+ name: "冠軍時刻!",
+ description: "完成僅限第八世代的挑戰.",
+ },
+ "MONO_GEN_NINE": {
+ name: "她又放水了",
+ description: "完成僅限第九世代的挑戰.",
+ },
+
+ "MonoType": {
+ description: "完成 {{type}} 單屬性挑戰.",
+ },
+ "MONO_NORMAL": {
+ name: "異乎尋常的尋常",
+ },
+ "MONO_FIGHTING": {
+ name: "我有真功夫",
+ },
+ "MONO_FLYING": {
+ name: "憤怒的小鳥",
+ },
+ "MONO_POISON": {
+ name: "關都地區特色",
+ },
+ "MONO_GROUND": {
+ name: "地震預報",
+ },
+ "MONO_ROCK": {
+ name: "堅如磐石",
+ },
+ "MONO_BUG": {
+ name: "音箱蟀俠",
+ },
+ "MONO_GHOST": {
+ name: "捉鬼敢死隊",
+ },
+ "MONO_STEEL": {
+ name: "鐵巨人",
+ },
+ "MONO_FIRE": {
+ name: "搓火球解決一切",
+ },
+ "MONO_WATER": {
+ name: "當雨來臨,傾盆而下",
+ },
+ "MONO_GRASS": {
+ name: "別踏這個青",
+ },
+ "MONO_ELECTRIC": {
+ name: "瞄準大岩蛇的角!",
+ },
+ "MONO_PSYCHIC": {
+ name: "腦洞大開",
+ },
+ "MONO_ICE": {
+ name: "如履薄冰",
+ },
+ "MONO_DRAGON": {
+ name: "準神俱樂部",
+ },
+ "MONO_DARK": {
+ name: "總有叛逆期",
+ },
+ "MONO_FAIRY": {
+ name: "林克,醒醒!",
},
} as const;
+
+// Achievement translations for the when the player character is female (it for now uses the same translations as the male version)
+export const PGFachv: AchievementTranslationEntries = PGMachv;
diff --git a/src/locales/zh_TW/battle-message-ui-handler.ts b/src/locales/zh_TW/battle-message-ui-handler.ts
index 3f8892749fe..3cd63de7961 100644
--- a/src/locales/zh_TW/battle-message-ui-handler.ts
+++ b/src/locales/zh_TW/battle-message-ui-handler.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const battleMessageUiHandler: SimpleTranslationEntries = {
"ivBest": "最棒",
diff --git a/src/locales/zh_TW/battle.ts b/src/locales/zh_TW/battle.ts
index c0846e1cb18..bc7b712185a 100644
--- a/src/locales/zh_TW/battle.ts
+++ b/src/locales/zh_TW/battle.ts
@@ -1,58 +1,135 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const battle: SimpleTranslationEntries = {
"bossAppeared": "{{bossName}} 出現了.",
- "trainerAppeared": "{{trainerName}}\n想要和你對戰!",
- "trainerAppearedDouble": "{{trainerName}}\n想要和你對戰!",
- "singleWildAppeared": "一只野生的 {{pokemonName}} 出現了!",
- "multiWildAppeared": "野生的 {{pokemonName1}}\n和 {{pokemonName2}} 出現了!",
- "playerComeBack": "回來吧, {{pokemonName}}!",
- "trainerComeBack": "{{trainerName}} 收回了 {{pokemonName}}!",
- "playerGo": "去吧! {{pokemonName}}!",
- "trainerGo": "{{trainerName}} 派出了 {{pokemonName}}!",
- "switchQuestion": "要更換\n{{pokemonName}}嗎?",
- "trainerDefeated": "你擊敗了\n{{trainerName}}!",
- "pokemonCaught": "{{pokemonName}} 被抓住了!",
+ "trainerAppeared": "{{trainerName}}\n想要和你對戰!",
+ "trainerAppearedDouble": "{{trainerName}}\n想要和你對戰!",
+ "singleWildAppeared": "一隻野生的 {{pokemonName}} 出現了!",
+ "multiWildAppeared": "野生的 {{pokemonName1}}\n和 {{pokemonName2}} 出現了!",
+ "playerComeBack": "回來吧, {{pokemonName}}!",
+ "trainerComeBack": "{{trainerName}} 收回了 {{pokemonName}}!",
+ "playerGo": "去吧! {{pokemonName}}!",
+ "trainerGo": "{{trainerName}} 派出了 {{pokemonName}}!",
+ "switchQuestion": "要更換\n{{pokemonName}}嗎?",
+ "trainerDefeated": "你擊敗了\n{{trainerName}}!",
+ "moneyPickedUp": "撿到了 ₽{{moneyAmount}}!",
+ "pokemonCaught": "{{pokemonName}} 被抓住了!",
+ "addedAsAStarter": "{{pokemonName}} has been\nadded as a starter!",
"pokemon": "寶可夢",
- "sendOutPokemon": "上吧! {{pokemonName}}!",
- "hitResultCriticalHit": "擊中了要害!",
- "hitResultSuperEffective": "效果拔群!",
+ "sendOutPokemon": "上吧! {{pokemonName}}!",
+ "hitResultCriticalHit": "擊中了要害!",
+ "hitResultSuperEffective": "效果拔群!",
"hitResultNotVeryEffective": "收效甚微…",
- "hitResultNoEffect": "對 {{pokemonName}} 沒有效果!",
- "hitResultOneHitKO": "一擊切殺!",
- "attackFailed": "但是失敗了!",
- "attackHitsCount": "擊中 {{count}} 次!",
- "expGain": "{{pokemonName}} 獲得了 {{exp}} 經驗值!",
- "levelUp": "{{pokemonName}} 升級到 Lv. {{level}}!",
- "learnMove": "{{pokemonName}} 學會了{{moveName}}!",
+ "hitResultNoEffect": "對 {{pokemonName}} 沒有效果!",
+ "hitResultOneHitKO": "一擊切殺!",
+ "attackFailed": "但是失敗了!",
+ "attackMissed": "沒有命中{{pokemonNameWithAffix}}!",
+ "attackHitsCount": "擊中 {{count}} 次!",
+ "rewardGain": "You received\n{{modifierName}}!",
+ "expGain": "{{pokemonName}} 獲得了 {{exp}} 經驗值!",
+ "levelUp": "{{pokemonName}} 升級到 Lv. {{level}}!",
+ "learnMove": "{{pokemonName}} 學會了{{moveName}}!",
"learnMovePrompt": "{{pokemonName}} 想要學習 {{moveName}}.",
"learnMoveLimitReached": "但是, {{pokemonName}} 已經學會了\n四個招式.",
- "learnMoveReplaceQuestion": "要忘記一個招式並學習 {{moveName}} 嗎?",
- "learnMoveStopTeaching": "不再嘗試學習\n{{moveName}}嗎?",
+ "learnMoveReplaceQuestion": "要忘記一個招式並學習 {{moveName}} 嗎?",
+ "learnMoveStopTeaching": "不再嘗試學習\n{{moveName}}嗎?",
"learnMoveNotLearned": "{{pokemonName}} 沒有學會 {{moveName}}.",
- "learnMoveForgetQuestion": "要忘記哪個技能?",
+ "learnMoveForgetQuestion": "要忘記哪個技能?",
"learnMoveForgetSuccess": "{{pokemonName}} 忘記了 {{moveName}}.",
- "countdownPoof": "@d{32}1, @d{15}2, 和@d{15}… @d{15}… @d{15}… @d{15}@s{pb_bounce_1}噗!",
+ "countdownPoof": "@d{32}1, @d{15}2, 和@d{15}… @d{15}… @d{15}… @d{15}@s{pb_bounce_1}噗!",
"learnMoveAnd": "然後…",
- "levelCapUp": "等級上限提升到 {{levelCap}}!",
+ "levelCapUp": "等級上限提升到 {{levelCap}}!",
"moveNotImplemented": "{{moveName}} 未實裝,無法選擇。",
"moveNoPP": "這個技能的PP用完了",
- "moveDisabled": "{{moveName}} 被禁用!",
+ "moveDisabled": "{{moveName}} 被禁用!",
"noPokeballForce": "一股無形的力量阻止了你使用精靈球。",
- "noPokeballTrainer": "你不能捕捉其他訓練家的寶可夢!",
- "noPokeballMulti": "只能在剩下一隻寶可夢時才能扔出精靈球!",
- "noPokeballStrong": "目標寶可夢太強了,無法捕捉!你需要先\n削弱它!",
+ "noPokeballTrainer": "你不能捕捉其他訓練家的寶可夢!",
+ "noPokeballMulti": "只能在剩下一隻寶可夢時才能扔出精靈球!",
+ "noPokeballStrong": "目標寶可夢太強了,無法捕捉!你需要先\n削弱它!",
"noEscapeForce": "一股無形的力量阻止你逃跑。",
- "noEscapeTrainer": "你不能從訓練家對戰中逃跑!",
- "noEscapePokemon": "{{pokemonName}} 的 {{moveName}} 阻止了你 {{escapeVerb}}!",
- "runAwaySuccess": "你成功逃脫了!",
- "runAwayCannotEscape": "你無法逃脫!",
+ "noEscapeTrainer": "你不能從訓練家對戰中逃跑!",
+ "noEscapePokemon": "{{pokemonName}} 的 {{moveName}} 阻止了你 {{escapeVerb}}!",
+ "runAwaySuccess": "你成功逃脫了!",
+ "runAwayCannotEscape": "你無法逃脫!",
"escapeVerbSwitch": "切換",
"escapeVerbFlee": "逃跑",
- "notDisabled": "{{moveName}} 不再被禁用!",
- "skipItemQuestion": "你要跳過拾取道具嗎?",
- "eggHatching": "咦?",
- "ivScannerUseQuestion": "對 {{pokemonName}} 使用個體值掃描?",
- "drainMessage": "{{pokemonName}} had its\nenergy drained!",
- "regainHealth": "{{pokemonName}} regained\nhealth!"
+ "stealEatBerry": "{{pokemonName}} stole and ate\n{{targetName}}'s {{berryName}}!",
+ "notDisabled": "{{moveName}} 不再被禁用!",
+ "turnEndHpRestore": "{{pokemonName}}'s HP was restored.",
+ "hpIsFull": "{{pokemonName}}'s\nHP is full!",
+ "skipItemQuestion": "你要跳過拾取道具嗎?",
+ "eggHatching": "咦?",
+ "ivScannerUseQuestion": "對 {{pokemonName}} 使用個體值掃描儀?",
+ "wildPokemonWithAffix": "野生的 {{pokemonName}}",
+ "foePokemonWithAffix": "對手 {{pokemonName}}",
+ "useMove": "{{pokemonNameWithAffix}} 使用了 {{moveName}}!",
+ "drainMessage": "{{pokemonName}} 吸取了體力!",
+ "regainHealth": "{{pokemonName}} 回復了體力!",
+ "fainted": "{{pokemonNameWithAffix}} 倒下了!",
+ "statRose": "{{pokemonNameWithAffix}} 的 {{stats}} 提高了!",
+ "statSharplyRose": "{{pokemonNameWithAffix}} 的 {{stats}} 大幅提高了!",
+ "statRoseDrastically": "{{pokemonNameWithAffix}} 的 {{stats}} 極大幅提高了!",
+ "statWontGoAnyHigher": "{{pokemonNameWithAffix}} 的 {{stats}} 已經無法再提高了!",
+ "statFell": "{{pokemonNameWithAffix}} 的 {{stats}} 降低了!",
+ "statHarshlyFell": "{{pokemonNameWithAffix}} 的 {{stats}} 大幅降低了!",
+ "statSeverelyFell": "{{pokemonNameWithAffix}} 的 {{stats}} 極大幅降低了!",
+ "statWontGoAnyLower": "{{pokemonNameWithAffix}} 的 {{stats}} 已經無法再降低了!",
+ "ppReduced": "降低了 {{targetName}} 的\n{{moveName}} 的PP{{reduction}}點!",
+ "battlerTagsRechargingLapse": "{{pokemonNameWithAffix}}因攻擊的反作用力而無法動彈!",
+ "battlerTagsTrappedOnAdd": "{{pokemonNameWithAffix}}不能逃跑!",
+ "battlerTagsTrappedOnRemove": "{{pokemonNameWithAffix}}擺脫了{{moveName}}!",
+ "battlerTagsFlinchedLapse": "{{pokemonNameWithAffix}}畏縮了!",
+ "battlerTagsConfusedOnAdd": "{{pokemonNameWithAffix}}混亂了!",
+ "battlerTagsConfusedOnRemove": "{{pokemonNameWithAffix}}的混亂解除了!",
+ "battlerTagsConfusedOnOverlap": "{{pokemonNameWithAffix}}已經混亂了。",
+ "battlerTagsConfusedLapse": "{{pokemonNameWithAffix}}正在混亂中!",
+ "battlerTagsConfusedLapseHurtItself": "不知所以地攻擊了自己!",
+ "battlerTagsDestinyBondLapseIsBoss": "{{pokemonNameWithAffix}}不再受到同命的影響",
+ "battlerTagsDestinyBondLapse": "{{pokemonNameWithAffix}} 和{{pokemonNameWithAffix2}} 同歸於盡了!",
+ "battlerTagsInfatuatedOnAdd": "{{pokemonNameWithAffix}}對{{sourcePokemonName}}著迷了!",
+ "battlerTagsInfatuatedOnOverlap": "{{pokemonNameWithAffix}}已經著迷了!",
+ "battlerTagsInfatuatedLapse": "{{pokemonNameWithAffix}}對{{sourcePokemonName}}著迷中!",
+ "battlerTagsInfatuatedLapseImmobilize": "{{pokemonNameWithAffix}} 不會著迷!",
+ "battlerTagsInfatuatedOnRemove": "{{pokemonNameWithAffix}} 治癒了著迷狀態!",
+ "battlerTagsSeededOnAdd": "將種子種植在了{{pokemonNameWithAffix}}身上!",
+ "battlerTagsSeededLapse": "{{pokemonNameWithAffix}}被寄生種子吸取了體力!",
+ "battlerTagsSeededLapseShed": "{{pokemonNameWithAffix}}吸到了污泥漿!",
+ "battlerTagsNightmareOnAdd": "{{pokemonNameWithAffix}}開始做惡夢了!",
+ "battlerTagsNightmareOnOverlap": "{{pokemonNameWithAffix}}已經被惡夢纏身!",
+ "battlerTagsNightmareLapse": "{{pokemonNameWithAffix}}正被惡夢纏身!",
+ "battlerTagsEncoreOnAdd": "{{pokemonNameWithAffix}}接受了再來一次!",
+ "battlerTagsEncoreOnRemove": "{{pokemonNameWithAffix}}的再來一次狀態解除了!",
+ "battlerTagsHelpingHandOnAdd": "{{pokemonNameWithAffix}}擺出了幫助{{pokemonName}} 的架勢!",
+ "battlerTagsIngrainLapse": "{{pokemonNameWithAffix}}用扎根回復了體力!",
+ "battlerTagsIngrainOnTrap": "{{pokemonNameWithAffix}}扎根了!",
+ "battlerTagsAquaRingOnAdd": "{{pokemonNameWithAffix}}用水流環包裹了自己!",
+ "battlerTagsAquaRingLapse": "{{moveName}}回復了{{pokemonName}}的體力!",
+ "battlerTagsDrowsyOnAdd": "{{pokemonNameWithAffix}}產生睡意了!",
+ "battlerTagsDamagingTrapLapse": "{{pokemonNameWithAffix}}受到了{{moveName}}的傷害!",
+ "battlerTagsBindOnTrap": "{{pokemonNameWithAffix}}被{{sourcePokemonName}}的 {{moveName}}緊緊束縛住了!",
+ "battlerTagsWrapOnTrap": "{{pokemonNameWithAffix}}被{{sourcePokemonName}}綁緊了!",
+ "battlerTagsVortexOnTrap": "{{pokemonNameWithAffix}}被困在了旋渦之中!",
+ "battlerTagsClampOnTrap": "{{sourcePokemonNameWithAffix}}用貝殼夾住了{{pokemonName}}!",
+ "battlerTagsSandTombOnTrap": "{{pokemonNameWithAffix}}被{{moveName}}困住了!",
+ "battlerTagsMagmaStormOnTrap": "{{pokemonNameWithAffix}}被困在了熔岩風暴之中!",
+ "battlerTagsSnapTrapOnTrap": "{{pokemonNameWithAffix}}被捕獸夾困住了!",
+ "battlerTagsThunderCageOnTrap": "{{sourcePokemonNameWithAffix}}困住了{{pokemonNameWithAffix}}!",
+ "battlerTagsInfestationOnTrap": "{{pokemonNameWithAffix}}受到了{{sourcePokemonNameWithAffix}}的死纏爛打!",
+ "battlerTagsProtectedOnAdd": "{{pokemonNameWithAffix}}擺出了防守的架勢!",
+ "battlerTagsProtectedLapse": "{{pokemonNameWithAffix}}在攻擊中保護了自己!",
+ "battlerTagsEnduringOnAdd": "{{pokemonNameWithAffix}}擺出了挺住攻擊的架勢!",
+ "battlerTagsEnduringLapse": "{{pokemonNameWithAffix}}挺住了攻擊!",
+ "battlerTagsSturdyLapse": "{{pokemonNameWithAffix}}挺住了攻擊!",
+ "battlerTagsPerishSongLapse": "{{pokemonNameWithAffix}} 的滅亡計時變成{{turnCount}}了!",
+ "battlerTagsTruantLapse": "{{pokemonNameWithAffix}}正在偷懶!",
+ "battlerTagsSlowStartOnAdd": "{{pokemonNameWithAffix}}無法拿出平時的水平!",
+ "battlerTagsSlowStartOnRemove": "{{pokemonNameWithAffix}}恢復了平時的水平!",
+ "battlerTagsHighestStatBoostOnAdd": "{{pokemonNameWithAffix}}的{{statName}}升高了!",
+ "battlerTagsHighestStatBoostOnRemove": "{{pokemonNameWithAffix}}的{{abilityName}}效果解除了!",
+ "battlerTagsCritBoostOnAdd": "{{pokemonNameWithAffix}}現在幹勁十足!",
+ "battlerTagsCritBoostOnRemove": "{{pokemonNameWithAffix}}如釋重負似地放鬆了下來。",
+ "battlerTagsSaltCuredOnAdd": "{{pokemonNameWithAffix}} 陷入了鹽腌狀態!",
+ "battlerTagsSaltCuredLapse": "{{pokemonNameWithAffix}} 受到了{{moveName}}的傷害!",
+ "battlerTagsCursedOnAdd": "{{pokemonNameWithAffix}}削減了自己的體力,並詛咒了{{pokemonName}}!",
+ "battlerTagsCursedLapse": "{{pokemonNameWithAffix}}正受到詛咒!",
} as const;
diff --git a/src/locales/zh_TW/berry.ts b/src/locales/zh_TW/berry.ts
index 931efb2c22f..a084ef91aa5 100644
--- a/src/locales/zh_TW/berry.ts
+++ b/src/locales/zh_TW/berry.ts
@@ -1,4 +1,4 @@
-import { BerryTranslationEntries } from "#app/plugins/i18n";
+import { BerryTranslationEntries } from "#app/interfaces/locales";
export const berry: BerryTranslationEntries = {
"SITRUS": {
diff --git a/src/locales/zh_TW/bgm-name.ts b/src/locales/zh_TW/bgm-name.ts
new file mode 100644
index 00000000000..87d90dabc9d
--- /dev/null
+++ b/src/locales/zh_TW/bgm-name.ts
@@ -0,0 +1,145 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const bgmName: SimpleTranslationEntries = {
+ "music": "Music: ",
+ "missing_entries" : "{{name}}",
+ "battle_kanto_champion": "B2W2 Kanto Champion Battle",
+ "battle_johto_champion": "B2W2 Johto Champion Battle",
+ "battle_hoenn_champion": "B2W2 Hoenn Champion Battle",
+ "battle_sinnoh_champion": "B2W2 Sinnoh Champion Battle",
+ "battle_champion_alder": "BW Unova Champion Battle",
+ "battle_champion_iris": "B2W2 Unova Champion Battle",
+ "battle_kalos_champion": "XY Kalos Champion Battle",
+ "battle_alola_champion": "USUM Alola Champion Battle",
+ "battle_galar_champion": "SWSH Galar Champion Battle",
+ "battle_champion_geeta": "SV Champion Geeta Battle",
+ "battle_champion_nemona": "SV Champion Nemona Battle",
+ "battle_champion_kieran": "SV Champion Kieran Battle",
+ "battle_hoenn_elite": "ORAS Elite Four Battle",
+ "battle_unova_elite": "BW Elite Four Battle",
+ "battle_kalos_elite": "XY Elite Four Battle",
+ "battle_alola_elite": "SM Elite Four Battle",
+ "battle_galar_elite": "SWSH League Tournament Battle",
+ "battle_paldea_elite": "SV Elite Four Battle",
+ "battle_bb_elite": "SV BB League Elite Four Battle",
+ "battle_final_encounter": "PMD RTDX Rayquaza's Domain",
+ "battle_final": "BW Ghetsis Battle",
+ "battle_kanto_gym": "B2W2 Kanto Gym Battle",
+ "battle_johto_gym": "B2W2 Johto Gym Battle",
+ "battle_hoenn_gym": "B2W2 Hoenn Gym Battle",
+ "battle_sinnoh_gym": "B2W2 Sinnoh Gym Battle",
+ "battle_unova_gym": "BW Unova Gym Battle",
+ "battle_kalos_gym": "XY Kalos Gym Battle",
+ "battle_galar_gym": "SWSH Galar Gym Battle",
+ "battle_paldea_gym": "SV Paldea Gym Battle",
+ "battle_legendary_kanto": "XY Kanto Legendary Battle",
+ "battle_legendary_raikou": "HGSS Raikou Battle",
+ "battle_legendary_entei": "HGSS Entei Battle",
+ "battle_legendary_suicune": "HGSS Suicune Battle",
+ "battle_legendary_lugia": "HGSS Lugia Battle",
+ "battle_legendary_ho_oh": "HGSS Ho-oh Battle",
+ "battle_legendary_regis_g5": "B2W2 Legendary Titan Battle",
+ "battle_legendary_regis_g6": "ORAS Legendary Titan Battle",
+ "battle_legendary_gro_kyo": "ORAS Groudon & Kyogre Battle",
+ "battle_legendary_rayquaza": "ORAS Rayquaza Battle",
+ "battle_legendary_deoxys": "ORAS Deoxys Battle",
+ "battle_legendary_lake_trio": "ORAS Lake Guardians Battle",
+ "battle_legendary_sinnoh": "ORAS Sinnoh Legendary Battle",
+ "battle_legendary_dia_pal": "ORAS Dialga & Palkia Battle",
+ "battle_legendary_giratina": "ORAS Giratina Battle",
+ "battle_legendary_arceus": "HGSS Arceus Battle",
+ "battle_legendary_unova": "BW Unova Legendary Battle",
+ "battle_legendary_kyurem": "BW Kyurem Battle",
+ "battle_legendary_res_zek": "BW Reshiram & Zekrom Battle",
+ "battle_legendary_xern_yvel": "XY Xerneas & Yveltal Battle",
+ "battle_legendary_tapu": "SM Tapu Battle",
+ "battle_legendary_sol_lun": "SM Solgaleo & Lunala Battle",
+ "battle_legendary_ub": "SM Ultra Beast Battle",
+ "battle_legendary_dusk_dawn": "USUM Dusk Mane & Dawn Wings Necrozma Battle",
+ "battle_legendary_ultra_nec": "USUM Ultra Necrozma Battle",
+ "battle_legendary_zac_zam": "SWSH Zacian & Zamazenta Battle",
+ "battle_legendary_glas_spec": "SWSH Glastrier & Spectrier Battle",
+ "battle_legendary_calyrex": "SWSH Calyrex Battle",
+ "battle_legendary_birds_galar": "SWSH Galarian Legendary Birds Battle",
+ "battle_legendary_ruinous": "SV Treasures of Ruin Battle",
+ "battle_legendary_kor_mir": "SV Depths of Area Zero Battle",
+ "battle_legendary_loyal_three": "SV Loyal Three Battle",
+ "battle_legendary_ogerpon": "SV Ogerpon Battle",
+ "battle_legendary_terapagos": "SV Terapagos Battle",
+ "battle_legendary_pecharunt": "SV Pecharunt Battle",
+ "battle_rival": "BW Rival Battle",
+ "battle_rival_2": "BW N Battle",
+ "battle_rival_3": "BW Final N Battle",
+ "battle_trainer": "BW Trainer Battle",
+ "battle_wild": "BW Wild Battle",
+ "battle_wild_strong": "BW Strong Wild Battle",
+ "end_summit": "PMD RTDX Sky Tower Summit",
+ "battle_rocket_grunt": "HGSS Team Rocket Battle",
+ "battle_aqua_magma_grunt": "ORAS Team Aqua & Magma Battle",
+ "battle_galactic_grunt": "BDSP Team Galactic Battle",
+ "battle_plasma_grunt": "BW Team Plasma Battle",
+ "battle_flare_grunt": "XY Team Flare Battle",
+ "battle_rocket_boss": "USUM Giovanni Battle",
+ "battle_aqua_magma_boss": "ORAS Archie & Maxie Battle",
+ "battle_galactic_boss": "BDSP Cyrus Battle",
+ "battle_plasma_boss": "B2W2 Ghetsis Battle",
+ "battle_flare_boss": "XY Lysandre Battle",
+
+ // Biome Music
+ "abyss": "PMD EoS Dark Crater",
+ "badlands": "PMD EoS Barren Valley",
+ "beach": "PMD EoS Drenched Bluff",
+ "cave": "PMD EoS Sky Peak Cave",
+ "construction_site": "PMD EoS Boulder Quarry",
+ "desert": "PMD EoS Northern Desert",
+ "dojo": "PMD EoS Marowak Dojo",
+ "end": "PMD RTDX Sky Tower",
+ "factory": "PMD EoS Concealed Ruins",
+ "fairy_cave": "PMD EoS Star Cave",
+ "forest": "PMD EoS Dusk Forest",
+ "grass": "PMD EoS Apple Woods",
+ "graveyard": "PMD EoS Mystifying Forest",
+ "ice_cave": "PMD EoS Vast Ice Mountain",
+ "island": "PMD EoS Craggy Coast",
+ "jungle": "Lmz - Jungle", // The composer thinks about a more creative name
+ "laboratory": "Firel - Laboratory", // The composer thinks about a more creative name
+ "lake": "PMD EoS Crystal Cave",
+ "meadow": "PMD EoS Sky Peak Forest",
+ "metropolis": "Firel - Metropolis", // The composer thinks about a more creative name
+ "mountain": "PMD EoS Mt. Horn",
+ "plains": "PMD EoS Sky Peak Prairie",
+ "power_plant": "PMD EoS Far Amp Plains",
+ "ruins": "PMD EoS Deep Sealed Ruin",
+ "sea": "PMD EoS Brine Cave",
+ "seabed": "Firel - Seabed", // The composer thinks about a more creative name
+ "slum": "PMD EoS Sky Peak Coast",
+ "snowy_forest": "PMD EoS Sky Peak Snowfield",
+ "space": "Firel - Aether",
+ "swamp": "PMD EoS Surrounded Sea",
+ "tall_grass": "PMD EoS Foggy Forest",
+ "temple": "PMD EoS Aegis Cave",
+ "town": "PMD EoS Random Dungeon Theme 3",
+ "volcano": "PMD EoS Steam Cave",
+ "wasteland": "PMD EoS Hidden Highland",
+
+ // Encounter
+ "encounter_ace_trainer": "BW Trainers' Eyes Meet (Ace Trainer)",
+ "encounter_backpacker": "BW Trainers' Eyes Meet (Backpacker)",
+ "encounter_clerk": "BW Trainers' Eyes Meet (Clerk)",
+ "encounter_cyclist": "BW Trainers' Eyes Meet (Cyclist)",
+ "encounter_lass": "BW Trainers' Eyes Meet (Lass)",
+ "encounter_parasol_lady": "BW Trainers' Eyes Meet (Parasol Lady)",
+ "encounter_pokefan": "BW Trainers' Eyes Meet (Poke Fan)",
+ "encounter_psychic": "BW Trainers' Eyes Meet (Psychic)",
+ "encounter_rich": "BW Trainers' Eyes Meet (Gentleman)",
+ "encounter_rival": "BW Cheren",
+ "encounter_roughneck": "BW Trainers' Eyes Meet (Roughneck)",
+ "encounter_scientist": "BW Trainers' Eyes Meet (Scientist)",
+ "encounter_twins": "BW Trainers' Eyes Meet (Twins)",
+ "encounter_youngster": "BW Trainers' Eyes Meet (Youngster)",
+
+ // Other
+ "heal": "BW Pokémon Heal",
+ "menu": "PMD EoS Welcome to the World of Pokémon!",
+ "title": "PMD EoS Top Menu Theme",
+} as const;
diff --git a/src/locales/zh_TW/biome.ts b/src/locales/zh_TW/biome.ts
index 5631b91b836..dbfa2f7adb9 100644
--- a/src/locales/zh_TW/biome.ts
+++ b/src/locales/zh_TW/biome.ts
@@ -1,40 +1,40 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const biome: SimpleTranslationEntries = {
- "unknownLocation": "Somewhere you can\'t remember",
- "TOWN": "Town",
- "PLAINS": "Plains",
- "GRASS": "Grassy Field",
- "TALL_GRASS": "Tall Grass",
- "METROPOLIS": "Metropolis",
- "FOREST": "Forest",
- "SEA": "Sea",
- "SWAMP": "Swamp",
- "BEACH": "Beach",
- "LAKE": "Lake",
- "SEABED": "Seabed",
- "MOUNTAIN": "Mountain",
- "BADLANDS": "Badlands",
- "CAVE": "Cave",
- "DESERT": "Desert",
- "ICE_CAVE": "Ice Cave",
- "MEADOW": "Meadow",
- "POWER_PLANT": "Power Plant",
- "VOLCANO": "Volcano",
- "GRAVEYARD": "Graveyard",
- "DOJO": "Dojo",
- "FACTORY": "Factory",
- "RUINS": "Ancient Ruins",
- "WASTELAND": "Wasteland",
- "ABYSS": "Abyss",
- "SPACE": "Space",
- "CONSTRUCTION_SITE": "Construction Site",
- "JUNGLE": "Jungle",
- "FAIRY_CAVE": "Fairy Cave",
- "TEMPLE": "Temple",
- "SLUM": "Slum",
- "SNOWY_FOREST": "Snowy Forest",
- "ISLAND": "Island",
- "LABORATORY": "Laboratory",
+ "unknownLocation": "未知領域",
+ "TOWN": "城鎮",
+ "PLAINS": "平原",
+ "GRASS": "草地",
+ "TALL_GRASS": "高草叢",
+ "METROPOLIS": "城市",
+ "FOREST": "森林",
+ "SEA": "海洋",
+ "SWAMP": "沼澤",
+ "BEACH": "沙灘",
+ "LAKE": "湖泊",
+ "SEABED": "海底",
+ "MOUNTAIN": "山脈",
+ "BADLANDS": "不毛之地",
+ "CAVE": "洞窟",
+ "DESERT": "沙漠",
+ "ICE_CAVE": "寒冰洞窟",
+ "MEADOW": "花叢",
+ "POWER_PLANT": "發電廠",
+ "VOLCANO": "火山",
+ "GRAVEYARD": "墓地",
+ "DOJO": "道場",
+ "FACTORY": "工廠",
+ "RUINS": "遺跡",
+ "WASTELAND": "荒地龍巢",
+ "ABYSS": "幽谷深淵",
+ "SPACE": "太空",
+ "CONSTRUCTION_SITE": "工地",
+ "JUNGLE": "叢林",
+ "FAIRY_CAVE": "妖精洞窟",
+ "TEMPLE": "神殿",
+ "SLUM": "陋巷",
+ "SNOWY_FOREST": "冰雪森林",
+ "ISLAND": "島嶼",
+ "LABORATORY": "研究所",
"END": "???",
} as const;
diff --git a/src/locales/zh_TW/challenges.ts b/src/locales/zh_TW/challenges.ts
new file mode 100644
index 00000000000..e702ec4f278
--- /dev/null
+++ b/src/locales/zh_TW/challenges.ts
@@ -0,0 +1,25 @@
+import { TranslationEntries } from "#app/interfaces/locales";
+
+export const challenges: TranslationEntries = {
+ "title": "適用挑戰條件",
+ "illegalEvolution": "{{pokemon}} 進化成了不符合\n挑戰條件的寶可夢!",
+ "singleGeneration": {
+ "name": "單一世代",
+ "desc": "你只能使用第{{gen}}\n世代的寶可夢",
+ "desc_default": "你只能使用所選\n世代的寶可夢",
+ "gen_1": "一",
+ "gen_2": "二",
+ "gen_3": "三",
+ "gen_4": "四",
+ "gen_5": "五",
+ "gen_6": "六",
+ "gen_7": "七",
+ "gen_8": "八",
+ "gen_9": "九",
+ },
+ "singleType": {
+ "name": "單屬性",
+ "desc": "你只能使用{{type}}\n屬性的寶可夢",
+ "desc_default": "你只能使用所選\n屬性的寶可夢"
+ },
+} as const;
diff --git a/src/locales/zh_TW/command-ui-handler.ts b/src/locales/zh_TW/command-ui-handler.ts
index 6431d903447..300b20224b3 100644
--- a/src/locales/zh_TW/command-ui-handler.ts
+++ b/src/locales/zh_TW/command-ui-handler.ts
@@ -1,9 +1,9 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const commandUiHandler: SimpleTranslationEntries = {
"fight": "戰鬥",
"ball": "精靈球",
"pokemon": "寶可夢",
"run": "逃跑",
- "actionMessage": "要讓\n{{pokemonName}} 做甚麼?",
+ "actionMessage": "要讓\n{{pokemonName}} 做甚麼?",
} as const;
diff --git a/src/locales/zh_TW/common.ts b/src/locales/zh_TW/common.ts
new file mode 100644
index 00000000000..a2112cc594e
--- /dev/null
+++ b/src/locales/zh_TW/common.ts
@@ -0,0 +1,10 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const common: SimpleTranslationEntries = {
+ "start": "開始",
+ "luckIndicator": "Luck:",
+ "shinyOnHover": "Shiny",
+ "commonShiny": "常見",
+ "rareShiny": "稀有",
+ "epicShiny": "史詩",
+} as const;
diff --git a/src/locales/zh_TW/config.ts b/src/locales/zh_TW/config.ts
index 1b942e0234f..f19a6941a88 100644
--- a/src/locales/zh_TW/config.ts
+++ b/src/locales/zh_TW/config.ts
@@ -1,10 +1,12 @@
import { ability } from "./ability";
import { abilityTriggers } from "./ability-trigger";
-import { achv } from "./achv";
+import { PGFachv, PGMachv } from "./achv";
import { battle } from "./battle";
import { battleMessageUiHandler } from "./battle-message-ui-handler";
import { berry } from "./berry";
+import { bgmName } from "./bgm-name";
import { biome } from "./biome";
+import { challenges } from "./challenges";
import { commandUiHandler } from "./command-ui-handler";
import {
PGFbattleSpecDialogue,
@@ -18,10 +20,12 @@ import {
} from "./dialogue";
import { egg } from "./egg";
import { fightUiHandler } from "./fight-ui-handler";
+import { gameMode } from "./game-mode";
import { gameStatsUiHandler } from "./game-stats-ui-handler";
import { growth } from "./growth";
import { menu } from "./menu";
import { menuUiHandler } from "./menu-ui-handler";
+import { modifier } from "./modifier";
import { modifierType } from "./modifier-type";
import { move } from "./move";
import { nature } from "./nature";
@@ -29,22 +33,32 @@ import { pokeball } from "./pokeball";
import { pokemon } from "./pokemon";
import { pokemonInfo } from "./pokemon-info";
import { pokemonInfoContainer } from "./pokemon-info-container";
+import { saveSlotSelectUiHandler } from "./save-slot-select-ui-handler";
import { splashMessages } from "./splash-messages";
import { starterSelectUiHandler } from "./starter-select-ui-handler";
+import { statusEffect } from "./status-effect";
import { titles, trainerClasses, trainerNames } from "./trainers";
import { tutorial } from "./tutorial";
import { voucher } from "./voucher";
-import { weather } from "./weather";
+import { terrain, weather } from "./weather";
+import { partyUiHandler } from "./party-ui-handler";
+import { settings } from "./settings.js";
+import { common } from "./common.js";
+import { modifierSelectUiHandler } from "./modifier-select-ui-handler";
export const zhTwConfig = {
ability: ability,
abilityTriggers: abilityTriggers,
- achv: achv,
battle: battle,
battleMessageUiHandler: battleMessageUiHandler,
berry: berry,
+ bgmName: bgmName,
biome: biome,
+ challenges: challenges,
commandUiHandler: commandUiHandler,
+ common: common,
+ PGMachv: PGMachv,
+ PGFachv: PGFachv,
PGMdialogue: PGMdialogue,
PGFdialogue: PGFdialogue,
PGMbattleSpecDialogue: PGMbattleSpecDialogue,
@@ -55,10 +69,12 @@ export const zhTwConfig = {
PGFdoubleBattleDialogue: PGFdoubleBattleDialogue,
egg: egg,
fightUiHandler: fightUiHandler,
+ gameMode: gameMode,
gameStatsUiHandler: gameStatsUiHandler,
growth: growth,
menu: menu,
menuUiHandler: menuUiHandler,
+ modifier: modifier,
modifierType: modifierType,
move: move,
nature: nature,
@@ -66,12 +82,18 @@ export const zhTwConfig = {
pokemon: pokemon,
pokemonInfo: pokemonInfo,
pokemonInfoContainer: pokemonInfoContainer,
+ saveSlotSelectUiHandler: saveSlotSelectUiHandler,
+ settings: settings,
splashMessages: splashMessages,
starterSelectUiHandler: starterSelectUiHandler,
+ statusEffect: statusEffect,
+ terrain: terrain,
titles: titles,
trainerClasses: trainerClasses,
trainerNames: trainerNames,
tutorial: tutorial,
voucher: voucher,
- weather: weather
+ weather: weather,
+ partyUiHandler: partyUiHandler,
+ modifierSelectUiHandler: modifierSelectUiHandler
};
diff --git a/src/locales/zh_TW/dialogue.ts b/src/locales/zh_TW/dialogue.ts
index 7cb29ec8191..0823236bc84 100644
--- a/src/locales/zh_TW/dialogue.ts
+++ b/src/locales/zh_TW/dialogue.ts
@@ -1,2223 +1,2289 @@
-import {DialogueTranslationEntries, SimpleTranslationEntries} from "#app/plugins/i18n";
+import {DialogueTranslationEntries, SimpleTranslationEntries} from "#app/interfaces/locales";
// Dialogue of the NPCs in the game when the player character is male (or unset)
export const PGMdialogue: DialogueTranslationEntries = {
"youngster": {
"encounter": {
- 1: "Hey, wanna battle?",
- 2: "Are you a new trainer too?",
- 3: "Hey, I haven't seen you before. Let's battle!",
- 4: "I just lost, so I'm trying to find more Pokémon.\nWait! You look weak! Come on, let's battle!",
- 5: "Have we met or not? I don't really remember. Well, I guess it's nice to meet you anyway!",
- 6: "All right! Let's go!",
- 7: "All right! Here I come! I'll show you my power!",
- 8: "Haw haw haw... I'll show you how hawesome my Pokémon are!",
- 9: "No need to waste time saying hello. Bring it on whenever you're ready!",
- 10: "Don't let your guard down, or you may be crying when a kid beats you.",
- 11: "I've raised my Pokémon with great care. You're not allowed to hurt them!",
- 12: "Glad you made it! It won't be an easy job from here.",
- 13: "The battles continue forever! Welcome to the world with no end!"
+ 1: "嘿,想來對戰嗎?",
+ 2: "你也是新人訓練師嗎?",
+ 3: "嘿,我之前沒見過你。我們來對戰吧!",
+ 4: "我剛輸了,所以我正在尋找更多的寶可夢。$等等!你看起來很弱!\n來吧,我們對戰吧!",
+ 5: "我們見過面嗎?我記不太清了。$嗯,不管怎樣,很高興見到你!",
+ 6: "好的!我們上吧!",
+ 7: "好的!我來啦!我會向你展示我的實力!",
+ 8: "嚯嚯嚯...我會向你展示我的寶可夢有多厲害!",
+ 9: "不要浪費時間打招呼。你準備好了就放馬過來!",
+ 10: "別掉以輕心,$否則你可能會被小朋友打到哭鼻子哦。",
+ 11: "我精心培養了我的寶可夢。不許你傷害它們!",
+ 12: "恭喜你成功了!從這以後可不輕鬆哦。",
+ 13: "戰鬥永無止境!歡迎來到沒有盡頭的世界!",
},
"victory": {
- 1: "Wow! You're strong!",
- 2: "I didn't stand a chance, huh?",
- 3: "I'll find you again when I'm older and beat you!",
- 4: "Ugh. I don't have any more Pokémon.",
- 5: "No way… NO WAY! How could I lose again…",
- 6: "No! I lost!",
- 7: "Whoa! You are incredible! I'm amazed and surprised!",
- 8: "Could it be… How… My Pokémon and I are the strongest, though…",
- 9: "I won't lose next time! Let's battle again sometime!",
- 10: "Sheesh! Can't you see that I'm just a kid! It wasn't fair of you to go all out like that!",
- 11: "Your Pokémon are more amazing! Trade with me!",
- 12: "I got a little carried away earlier, but what job was I talking about?",
- 13: "Ahaha! There it is! That's right! You're already right at home in this world!"
+ 1: "哇!你很強!",
+ 2: "我根本沒機會贏,對吧?",
+ 3: "我會等長大了再來打敗你!",
+ 4: "呃。我沒有更多寶可夢了。",
+ 5: "不可能…不可能!我怎麼可能又輸了…",
+ 6: "不!我輸了!",
+ 7: "哇!你真是太不可思議了!我既驚訝又欽佩!",
+ 8: "這怎麼…怎麼可能…$明明我和我的寶可夢是最強大的…",
+ 9: "下次我不會輸了!我們找時間再對戰吧!",
+ 10: "天哪!你看不出我還只是個小孩子嗎!$你那樣全力以赴太賴了!",
+ 11: "你的寶可夢更棒啊!和我交換吧!",
+ 12: "我之前有點上頭,我說了什麼來著?",
+ 13: "啊哈哈!就是這樣!$對!你已經熟悉這個世界了!",
}
},
"lass": {
"encounter": {
- 1: "Let's have a battle, shall we?",
- 2: "You look like a new trainer. Let's have a battle!",
- 3: "I don't recognize you. How about a battle?",
- 4: "Let's have a fun Pokémon battle!",
- 5: "I'll show you the ropes of how to really use Pokémon!",
- 6: "A serious battle starts from a serious beginning! Are you sure you're ready?",
- 7: "You're only young once. And you only get one shot at a given battle. Soon, you'll be nothing but a memory.",
- 8: "You'd better go easy on me, OK? Though I'll be seriously fighting!",
- 9: "School is boring. I've got nothing to do. Yawn. I'm only battling to kill the time."
+ 1: "我們來對戰吧,好嗎?",
+ 2: "你看起來像是個新人訓練師。我們來戰鬥吧!",
+ 3: "我不認識你。來對戰怎麼樣?",
+ 4: "讓我們來進行一場有趣的寶可夢對戰吧!",
+ 5: "我會向你展示如何真正使用寶可夢!",
+ 6: "一場認真的對戰從始於認真的開場白!$你確定你準備好了嗎?",
+ 7: "花無重開日,人無再少年。$你在對戰中只有一次機會。$很快,你就只能活在回憶中了。",
+ 8: "你最好對我手下留情,好嗎?$當然我會認真對戰的!",
+ 9: "學校很無聊,我無事可做。$*哈欠*…我只是來對戰打發時間。",
},
"victory": {
- 1: "That was impressive! I've got a lot to learn.",
- 2: "I didn't think you'd beat me that bad…",
- 3: "I hope we get to have a rematch some day.",
- 4: "That was pretty amazingly fun! You've totally exhausted me…",
- 5: "You actually taught me a lesson! You're pretty amazing!",
- 6: "Seriously, I lost. That is, like, seriously depressing, but you were seriously cool.",
- 7: "I don't need memories like this. Deleting memory…",
- 8: "Hey! I told you to go easy on me! Still, you're pretty cool when you're serious.",
- 9: "I'm actually getting tired of battling… There's gotta be something new to do…"
+ 1: "那真是令人印象深刻!我還有很多要學習。",
+ 2: "我沒想到你會這麼輕易地打敗我…",
+ 3: "我希望有一天,我們能再進行一場對戰。",
+ 4: "那真是場非常有趣的對戰!$你讓我精疲力盡了…",
+ 5: "你給我上了一課!你真是太棒了!",
+ 6: "說真的,我輸了。$這,怎麼說,真的好難過,但你也真的很厲害。",
+ 7: "我不需要像這樣的記憶。刪除記憶中…",
+ 8: "嘿!我告訴過你要對我手下留情!$不過,當你認真的時候,你真的很酷。",
+ 9: "實際上,我開始厭倦對戰了…$一定有新的事情可以做…",
}
},
"breeder": {
"encounter": {
- 1: "Obedient Pokémon, selfish Pokémon… Pokémon have unique characteristics.",
- 2: "Even though my upbringing and behavior are poor, I've raised my Pokémon well.",
- 3: "Hmm, do you discipline your Pokémon? Pampering them too much is no good.",
+ 1: "聽話的寶可夢,自私的寶可夢…$寶可夢有獨特的性格呢。",
+ 2: "儘管我出生貧寒,但我的寶可夢培養的很好。",
+ 3: "嗯,你有沒有管教你的寶可夢?$過度溺愛是不好的。",
},
"victory": {
- 1: "It is important to nurture and train each Pokémon's characteristics.",
- 2: "Unlike my diabolical self, these are some good Pokémon.",
- 3: "Too much praise can spoil both Pokémon and people.",
+ 1: "對每個寶可夢因材施教是很重要的。",
+ 2: "不像一無是處的我…這些寶可夢都很優秀。",
+ 3: "過度的讚美會寵壞寶可夢和人。",
},
"defeat": {
- 1: "You should not get angry at your Pokémon, even if you lose a battle.",
- 2: "Right? Pretty good Pokémon, huh? I'm suited to raising things.",
- 3: "No matter how much you love your Pokémon, you still have to discipline them when they misbehave."
+ 1: "即使輸了,也不應該對你的寶可夢發火。",
+ 2: "相當好的寶可夢,對吧?我很會養東西。",
+ 3: "無論你多麼愛你的寶可夢,$你仍要在它沒做好時管教它們。",
}
},
"breeder_female": {
"encounter": {
- 1: "Pokémon never betray you. They return all the love you give them.",
- 2: "Shall I give you a tip for training good Pokémon?",
- 3: "I have raised these very special Pokémon using a special method."
+ 1: "寶可夢永遠不會背叛你。$它們會回報你對它們的愛。",
+ 2: "要我教教你訓練優秀寶可夢的技巧嗎?",
+ 3: "特別的寶可夢有特別的培育技巧。",
},
"victory": {
- 1: "Ugh… It wasn't supposed to be like this. Did I administer the wrong blend?",
- 2: "How could that happen to my Pokémon… What are you feeding your Pokémon?",
- 3: "If I lose, that tells you I was just killing time. It doesn't damage my ego at all."
+ 1: "呃…事情不應該是這樣的。$我是不是用錯了能量方塊?",
+ 2: "這怎麼會發生在我的寶可夢身上…$你給你的寶可夢餵了什麼?",
+ 3: "如果我輸了,我告訴你我只是在消磨時間。$你根本不會傷害到我的自尊心。",
},
"defeat": {
- 1: "This proves my Pokémon have accepted my love.",
- 2: "The real trick behind training good Pokémon is catching good Pokémon.",
- 3: "Pokémon will be strong or weak depending on how you raise them."
+ 1: "這證明了我的寶可夢已經接受了我的愛。",
+ 2: "訓出好寶可夢的真正技巧是捉到好的寶可夢。",
+ 3: "寶可夢的強弱取決於你的飼養方式。",
}
},
"fisherman": {
"encounter": {
- 1: "Aack! You made me lose a bite!\nWhat are you going to do about it?",
- 2: "Go away! You're scaring the Pokémon!",
- 3: "Let's see if you can reel in a victory!",
+ 1: "啊!你讓我錯過了一次咬鉤!$你打算怎麼辦?",
+ 2: "走開!你嚇跑了寶可夢!",
+ 3: "讓我看看你能否贏得勝利!",
},
"victory": {
- 1: "Just forget about it.",
- 2: "Next time, I'll be reelin' in the triumph!",
- 3: "Guess I underestimated the currents this time.",
+ 1: "算了吧。",
+ 2: "下一次,我將捲土重來,凱旋而歸!",
+ 3: "我想這次我低估了海流。",
},
},
"fisherman_female": {
"encounter": {
- 1: "Woah! I've hooked a big one!",
- 2: "Line's in, ready to reel in success!",
- 3: "Ready to make waves!"
+ 1: "哇!我釣到了一條大魚!",
+ 2: "線已收好,準備提竿!",
+ 3: "準備製造波浪!",
},
"victory": {
- 1: "I'll be back with a stronger hook.",
- 2: "I'll reel in victory next time.",
- 3: "I'm just sharpening my hooks for the comeback!"
+ 1: "我會帶著更強大的魚鉤回來。",
+ 2: "下次我會贏得勝利。",
+ 3: "我只是在為回歸磨利我的魚鉤!",
},
},
"swimmer": {
"encounter": {
- 1: "Time to dive in!",
- 2: "Let's ride the waves of victory!",
- 3: "Ready to make a splash!",
+ 1: "是時候潛水了!",
+ 2: "讓我們一起乘風破浪,贏得勝利!",
+ 3: "該一鳴驚人了!",
},
"victory": {
- 1: "Drenched in defeat!",
- 2: "A wave of defeat!",
- 3: "Back to shore, I guess.",
+ 1: "沉浸在失敗中!",
+ 2: "失敗的波浪!",
+ 3: "後浪死在沙灘上,我猜。",
},
},
"backpacker": {
"encounter": {
- 1: "Pack up, game on!",
- 2: "Let's see if you can keep pace!",
- 3: "Gear up, challenger!",
- 4: "I've spent 20 years trying to find myself… But where am I?"
+ 1: "收拾行李,開始遊戲!",
+ 2: "讓我看看你是否能跟上!",
+ 3: "全副武裝,挑戰者!",
+ 4: "我花了20年時間試圖找到自己……但我在哪裡?",
},
"victory": {
- 1: "Tripped up this time!",
- 2: "Oh, I think I'm lost.",
- 3: "Dead end!",
- 4: "Wait up a second! Hey! Don't you know who I am?"
+ 1: "這次絆倒了!",
+ 2: "哦,我覺得我迷路了。",
+ 3: "死路!",
+ 4: "等一下!嘿!你不知道我是誰嗎?",
},
},
"ace_trainer": {
"encounter": {
- 1: "You seem quite confident.",
- 2: "Your Pokémon… Show them to me…",
- 3: "Because I'm an Ace Trainer, people think I'm strong.",
- 4: "Are you aware of what it takes to be an Ace Trainer?"
+ 1: "你看起來挺自信的。",
+ 2: "你的寶可夢…… 讓我看看……",
+ 3: "因為我是王牌訓練師,人們認為我很強。",
+ 4: "你知道成為王牌訓練師需要什麼嗎?",
},
"victory": {
- 1: "Yes… You have good Pokémon…",
- 2: "What?! But I'm a battling genius!",
- 3: "Of course, you are the main character!",
- 4: "OK! OK! You could be an Ace Trainer!"
+ 1: "是的…… 你的寶可夢很棒……",
+ 2: "什麼?!我是戰鬥天才啊!",
+ 3: "理所應當,你才是主角!",
+ 4: "好好好!你可以成為王牌訓練師!",
},
"defeat": {
- 1: "I am devoting my body and soul to Pokémon battles!",
- 2: "All within my expectations… Nothing to be surprised about…",
- 3: "I thought I'd grow up to be a frail person who looked like they would break if you squeezed them too hard.",
- 4: "Of course I'm strong and don't lose. It's important that I win gracefully."
+ 1: "我將把我的身體和靈魂全都奉獻給寶可夢對戰!",
+ 2: "一切都在我的預料之中… \n沒有什麼好驚訝的…",
+ 3: "我覺得我長大後有點玻璃心,$你太壓力我我會垮的……",
+ 4: "我當然很強大,不會輸。$而且重要的是我要優雅地贏。",
}
},
"parasol_lady": {
"encounter": {
- 1: "Time to grace the battlefield with elegance and poise!",
+ 1: "是時候用優雅和從容來為戰鬥添彩了!",
},
"victory": {
- 2: "My elegance remains unbroken!",
+ 1: "我的優雅依然完好無損!",
}
},
"twins": {
"encounter": {
- 1: "Get ready, because when we team up, it's double the trouble!",
- 2: "Two hearts, one strategy – let's see if you can keep up with our twin power!",
- 3: "Hope you're ready for double trouble, because we're about to bring the heat!"
+ 1: "準備好囉,因為我們聯手,\n麻煩雙倍!",
+ 2: "兩顆心,一條繩$讓我們看看你能否跟上我們雙胞胎的力量!",
+ 3: "希望你準備好了面對雙倍的麻煩,$因為我們即將燃起來啦!",
},
"victory": {
- 1: "We may have lost this round, but our bond remains unbreakable!",
- 2: "Our twin spirit won't be dimmed for long.",
- 3: "We'll come back stronger as a dynamic duo!"
+ 1: "雖然我們在這一輪輸了,$但我們的羈絆依然堅不可摧!",
+ 2: "我們的雙胞胎精神,才不會就此熄滅。",
+ 3: "我們會作為充滿活力的二人組,$捲土重來,變得更強!",
},
"defeat": {
- 1: "Twin power reigns supreme!",
- 2: "Two hearts, one triumph!",
- 3: "Double the smiles, double the victory dance!"
+ 1: "雙胞胎的力量至高無上!",
+ 2: "兩顆心,一起贏!",
+ 3: "笑容成雙,共舞成雙!",
}
},
"cyclist": {
"encounter": {
- 1: "Get ready to eat my dust!",
- 2: "Gear up, challenger! I'm about to leave you in the dust!",
- 3: "Pedal to the metal, let's see if you can keep pace!"
+ 1: "準備好在我後面吃土吧!",
+ 2: "挑戰者,準備好!我要把你打得落花流水!",
+ 3: "全速前進,讓我看看你能不能跟得上!",
},
"victory": {
- 1: "Spokes may be still, but determination pedals on.",
- 2: "Outpaced!",
- 3: "The road to victory has many twists and turns yet to explore."
+ 1: "輪子可能不轉了,但我的決心沒有停下。",
+ 2: "被超越了!",
+ 3: "通往勝利的道路還有許多曲折等待探索。",
},
},
"black_belt": {
"encounter": {
- 1: "I praise your courage in challenging me! For I am the one with the strongest kick!",
- 2: "Oh, I see. Would you like to be cut to pieces? Or do you prefer the role of punching bag?"
+ 1: "我讚揚你挑戰我的勇氣!$因為我是踢力最強的人!",
+ 2: "哦,我明白了。你想被切成碎片嗎?$或者你更喜歡當個沙袋?",
},
"victory": {
- 1: "Oh. The Pokémon did the fighting. My strong kick didn't help a bit.",
- 2: "Hmmm… If I was going to lose anyway, I was hoping to get totally messed up in the process."
+ 1: "哦。是寶可夢在戰鬥。$我強大的踢擊一點忙都沒幫上。",
+ 2: "嗯…如果我無論如何都會輸,我希望能被徹底打敗。",
},
},
"battle_girl": {
"encounter": {
- 1: "You don't have to try to impress me. You can lose against me.",
+ 1: "你不必試圖勾引我。你可以輸給我。",
},
"victory": {
- 1: "It's hard to say good-bye, but we are running out of time…",
+ 1: "很難說再見,但我們快沒時間了……",
},
},
"hiker": {
"encounter": {
- 1: "My middle-age spread has given me as much gravitas as the mountains I hike!",
- 2: "I inherited this big-boned body from my parents… I'm like a living mountain range…",
+ 1: "人到中年後,我的身體和我爬過的山一樣強壯!",
+ 2: "我從父母那裡遺傳了這副魁梧的身材…$就像一座活生生的山脈…",
},
"victory": {
- 1: "At least I cannot lose when it comes to BMI!",
- 2: "It's not enough… It's never enough. My bad cholesterol isn't high enough…"
+ 1: "至少在BMI方面我不能輸!",
+ 2: "這還不夠……永遠不夠。$我的壞膽固醇還不夠高……",
},
},
"ranger": {
"encounter": {
- 1: "When I am surrounded by nature, most other things cease to matter.",
- 2: "When I'm living without nature in my life, sometimes I'll suddenly feel an anxiety attack coming on."
+ 1: "當我身處大自然中,其他事情都不重要了。",
+ 2: "如果我生活中沒有大自然,有時就會突然感到焦慮。",
},
"victory": {
- 1: "It doesn't matter to the vastness of nature whether I win or lose…",
- 2: "Something like this is pretty trivial compared to the stifling feelings of city life."
+ 1: "無論我是贏是輸,\n對廣闊的大自然來說並不重要……",
+ 2: "與城市生活的窒息感相比,\n這種事情微不足道。",
},
"defeat": {
- 1: "I won the battle. But victory is nothing compared to the vastness of nature…",
- 2: "I'm sure how you feel is not so bad if you compare it to my anxiety attacks…"
+ 1: "我贏了。但與浩瀚的大自然相比,\n勝利算不了什麼…",
+ 2: "與我的焦慮症相比,我覺得你也不會怎樣…",
}
},
"scientist": {
"encounter": {
- 1: "My research will lead this world to peace and joy.",
+ 1: "我的研究將引導這個世界走向和平與歡樂。",
},
"victory": {
- 1: "I am a genius… I am not supposed to lose against someone like you…",
+ 1: "我是個天才…我不應該輸給你這樣的人…",
},
},
"school_kid": {
"encounter": {
- 1: "…Heehee. I'm confident in my calculations and analysis.",
- 2: "I'm gaining as much experience as I can because I want to be a Gym Leader someday."
+ 1: "……嘿嘿。我對計算和分析很有信心。",
+ 2: "我正在盡可能地積累經驗,$因為我希望有一天能成為道館館主。",
},
"victory": {
- 1: "Ohhhh… Calculation and analysis are perhaps no match for chance…",
- 2: "Even difficult, trying experiences have their purpose, I suppose."
+ 1: "哦…計算和分析也許和個例不太匹配呀…",
+ 2: "我想,即使是艱難困苦的經歷,也有存在的意義。",
}
},
"artist": {
"encounter": {
- 1: "I used to be popular, but now I am all washed up.",
+ 1: "我以前很受歡迎,但現在已經徹底過氣了。",
},
"victory": {
- 1: "As times change, values also change. I realized that too late.",
+ 1: "隨著時代的變遷,價值觀也在變化。$我意識到這一點已經太晚了。",
},
},
"guitarist": {
"encounter": {
- 1: "Get ready to feel the rhythm of defeat as I strum my way to victory!",
+ 1: "當我彈奏著走向勝利的旋律時,$準備好感受失敗的節奏吧!",
},
"victory": {
- 1: "Silenced for now, but my melody of resilience will play on.",
+ 1: "暫時沉默了,但我不屈的旋律將繼續演奏。",
},
},
"worker": {
"encounter": {
- 1: "It bothers me that people always misunderstand me. I'm a lot more pure than everyone thinks.",
+ 1: "人們總誤解我,這讓我很煩。$我比大家想象的要乾淨得多。",
},
"victory": {
- 1: "I really don't want my skin to burn, so I want to stay in the shade while I work.",
+ 1: "我真的不想曬傷皮膚,所以我想在陰涼處工作。",
},
},
"worker_female": {
"encounter": {
- 1: `It bothers me that people always misunderstand me.
- $I'm a lot more pure than everyone thinks.`
+ 1: "人們總是誤解我,這讓我很煩。 $我比大家想象的要乾淨得多。",
},
"victory": {
- 1: "I really don't want my skin to burn, so I want to stay in the shade while I work."
+ 1: "我真的不想曬傷皮膚,\n所以我想在陰涼處工作。",
},
"defeat": {
- 1: "My body and mind aren't necessarily always in sync."
+ 1: "我的身體和心靈並不總同步。",
}
},
"worker_double": {
"encounter": {
- 1: "I'll show you we can break you. We've been training in the field!",
+ 1: "你會知道我們怎麼擊敗你的。我們在工地訓練過!",
},
"victory": {
- 1: "How strange… How could this be… I shouldn't have been outmuscled.",
+ 1: "真奇怪…怎麼會這樣…我不應該被打敗的。",
},
},
"hex_maniac": {
"encounter": {
- 1: "I normally only ever listen to classical music, but if I lose, I think I shall try a bit of new age!",
- 2: "I grow stronger with each tear I cry."
+ 1: "我通常只聽古典音樂,但如果我輸了,$我想我應該試試新時代的音樂!",
+ 2: "我的每一滴眼淚都讓我變得更加堅強。",
},
"victory": {
- 1: "Is this the dawning of the age of Aquarius?",
- 2: "Now I can get even stronger. I grow with every grudge."
+ 1: "樂壇新時代的曙光就此出現了嗎?",
+ 2: "現在我變得更強了。我隨著他人怨恨而成長。",
},
"defeat": {
- 1: "New age simply refers to twentieth century classical composers, right?",
- 2: "Don't get hung up on sadness or frustration. You can use your grudges to motivate yourself."
+ 1: "“新時代”指的是二十世紀的古典作曲家,對吧?",
+ 2: "不要糾結於悲傷或沮喪。$你可以用悲憤來激勵自己。",
}
},
"psychic": {
"encounter": {
- 1: "Hi! Focus!",
+ 1: "嘿!集中!",
},
"victory": {
- 1: "Eeeeek!",
+ 1: "呃呃呃!",
},
},
"officer": {
"encounter": {
- 1: "Brace yourself, because justice is about to be served!",
- 2: "Ready to uphold the law and serve justice on the battlefield!"
+ 1: "準備好,因為正義即將得到伸張!",
+ 2: "準備好維護法律,在戰場上伸張正義!",
},
"victory": {
- 1: "The weight of justice feels heavier than ever…",
- 2: "The shadows of defeat linger in the precinct."
+ 1: "正義的分量比以往還要沉重……",
+ 2: "失敗的陰影,在警局中徘徊。",
}
},
"beauty": {
"encounter": {
- 1: "My last ever battle… That's the way I'd like us to view this match…",
+ 1: "我最後的戰鬥…我就是這麼看待這場對戰的…",
},
"victory": {
- 1: "It's been fun… Let's have another last battle again someday…",
+ 1: "很有趣…有時間再來一場最後的戰鬥…",
},
},
"baker": {
"encounter": {
- 1: "Hope you're ready to taste defeat!"
+ 1: "希望你準備好品嚐失敗的滋味!",
},
"victory": {
- 1: "I'll bake a comeback."
+ 1: "我會捲土重來的。",
},
},
"biker": {
"encounter": {
- 1: "Time to rev up and leave you in the dust!"
+ 1: "是時候加速,把你甩在後面了!",
},
"victory": {
- 1: "I'll tune up for the next race."
+ 1: "我會為下一場比賽調整狀態。",
},
},
"firebreather": {
"encounter": {
- 1: "My flames shall devour you!",
- 2: "My soul is on fire. I'll show you how hot it burns!",
- 3: "Step right up and take a look!"
+ 1: "我的火焰會吞噬你!",
+ 2: "我的靈魂在燃燒,我要讓你看看它有多滾燙!",
+ 3: "快來看看吧!"
},
"victory": {
- 1: "I burned down to ashes...",
- 2: "Yow! That's hot!",
- 3: "Ow! I scorched the tip of my nose!"
+ 1: "我燃成灰了…",
+ 2: "哟! 好燙!",
+ 3: "嗷! 我的鼻尖燒焦了!"
},
},
+ "sailor": {
+ "encounter": {
+ 1: "夥計,如果你輸了,你就得挨板子!",
+ 2: "來吧!這關係到我作為水手的尊嚴!",
+ 3: "你好啊!你暈船麼?"
+ },
+ "victory": {
+ 1: "啊,被孩子打敗了。",
+ 2: "你的精神讓我沉淪!",
+ 3: "好像是我暈船了…"
+ },
+ },
+ "rocket_grunt": {
+ "encounter": {
+ 1: "Prepare for trouble!"
+ },
+ "victory": {
+ 1: "Team Rocket blasting off again!"
+ },
+ },
+ "magma_grunt": {
+ "encounter": {
+ 1: " If you get in the way of Team Magma, don’t expect any mercy!"
+ },
+ "victory": {
+ 1: "Huh? I lost?!"
+ },
+ },
+ "aqua_grunt": {
+ "encounter": {
+ 1: "No one who crosses Team Aqua gets any mercy, not even kids!"
+ },
+ "victory": {
+ 1: "You're kidding me!"
+ },
+ },
+ "galactic_grunt": {
+ "encounter": {
+ 1: "Don't mess with Team Galactic!"
+ },
+ "victory": {
+ 1: "Shut down..."
+ },
+ },
+ "plasma_grunt": {
+ "encounter": {
+ 1: "We won't tolerate people who have different ideas!"
+ },
+ "victory": {
+ 1: "Plasmaaaaaaaaa!"
+ },
+ },
+ "flare_grunt": {
+ "encounter": {
+ 1: "Fashion is most important to us!"
+ },
+ "victory": {
+ 1: "The future doesn't look bright for me."
+ },
+ },
+ "rocket_boss_giovanni_1": {
+ "encounter": {
+ 1: "So! I must say, I am impressed you got here!"
+ },
+ "victory": {
+ 1: "WHAT! This cannot be!"
+ },
+ "defeat": {
+ 1: "Mark my words. Not being able to measure your own strength shows that you are still a child."
+ }
+ },
+ "rocket_boss_giovanni_2": {
+ "encounter": {
+ 1: "My old associates need me... Are you going to get in my way?"
+ },
+ "victory": {
+ 1: "How is this possible...?\nThe precious dream of Team Rocket has become little more than an illusion..."
+ },
+ "defeat": {
+ 1: "Team Rocket will be reborn again, and I will rule the world!"
+ }
+ },
+ "magma_boss_maxie_1": {
+ "encounter": {
+ 1: "I will bury you by my own hand. I hope you appreciate this honor!"
+ },
+ "victory": {
+ 1: "Ugh! You are... quite capable...\nI fell behind, but only by an inch..."
+ },
+ "defeat": {
+ 1: "Team Magma will prevail!"
+ }
+ },
+ "magma_boss_maxie_2": {
+ "encounter": {
+ 1: "You are the final obstacle remaining between me and my goals.\nBrace yourself for my ultimate attack! Fuhahaha!"
+ },
+ "victory": {
+ 1: "This... This is not.. Ngh..."
+ },
+ "defeat": {
+ 1: "And now... I will transform this planet to a land ideal for humanity."
+ }
+ },
+ "aqua_boss_archie_1": {
+ "encounter": {
+ 1: "I'm leader of Team Aqua, so I'm afraid it's the rope's end for you."
+ },
+ "victory": {
+ 1: "Let's meet again somewhere. I'll be sure to remember that face."
+ },
+ "defeat": {
+ 1: "Brilliant! My team won't hold back now!"
+ }
+ },
+ "aqua_boss_archie_2": {
+ "encounter": {
+ 1: "I've been waiting so long for this day to come.\nThis is the true power of my team!"
+ },
+ "victory": {
+ 1: "Like I figured..."
+ },
+ "defeat": {
+ 1: "I'll return everything in this world to its original, pure state!!"
+ }
+ },
+ "galactic_boss_cyrus_1": {
+ "encounter": {
+ 1: "You were compelled to come here by such vacuous sentimentality\nI will make you regret paying heed to your heart!"
+ },
+ "victory": {
+ 1: "Interesting. And quite curious."
+ },
+ "defeat": {
+ 1: "I will create my new world..."
+ }
+ },
+ "galactic_boss_cyrus_2": {
+ "encounter": {
+ 1: "So we meet again. It seems our fates have become intertwined.\nBut here and now, I will finally break that bond!"
+ },
+ "victory": {
+ 1: "How? How? HOW?!"
+ },
+ "defeat": {
+ 1: "Farewell."
+ }
+ },
+ "plasma_boss_ghetsis_1": {
+ "encounter": {
+ 1: "I won't allow anyone to stop me! No matter who does what!"
+ },
+ "victory": {
+ 1: "How can this be? I'm the creator of Team Plasma! I'm perfect!"
+ },
+ "defeat": {
+ 1: "I am the perfect ruler of a perfect new world! Mwa ha ha!"
+ }
+ },
+ "plasma_boss_ghetsis_2": {
+ "encounter": {
+ 1: "Come now! I want to see your face at the moment you lose all hope!"
+ },
+ "victory": {
+ 1: "My calculations... No! My careful schemes! The world should be mine!"
+ },
+ "defeat": {
+ 1: "Kyurem! Use Absofusion!"
+ }
+ },
+ "flare_boss_lysandre_1": {
+ "encounter": {
+ 1: "Do you want to stop me? Show me in battle."
+ },
+ "victory": {
+ 1: "You are here to stop me. But I ask you to wait. "
+ },
+ "defeat": {
+ 1: "Pokemon...Shall no longer exist."
+ }
+ },
+ "flare_boss_lysandre_2": {
+ "encounter": {
+ 1: "The future you want, or the future I want... Let us see which one is more deserving, shall we?"
+ },
+ "victory": {
+ 1: "Whaugh!"
+ },
+ "defeat": {
+ 1: "Fools with no vision will continue to befoul this beautiful world."
+ }
+ },
"brock": {
"encounter": {
- 1: "My expertise on Rock-type Pokémon will take you down! Come on!",
- 2: "My rock-hard willpower will overwhelm you!",
- 3: "Allow me to show you the true strength of my Pokémon!"
+ 1: "我對岩石屬性寶可夢的專精會擊敗你!來吧!",
+ 2: "我磐石般的意志將壓倒你!",
+ 3: "讓我展示給你看看,我寶可夢真正的力量!",
},
"victory": {
- 1: "Your Pokémon's strength have overcome my rock-hard defenses!",
- 2: "The world is huge! I'm glad to have had a chance to battle you.",
- 3: "Perhaps I should go back to pursuing my dream as a Pokémon Breeder…"
+ 1: "你寶可夢的力量戰勝了我堅如磐石的防禦!",
+ 2: "世界很大!很高興有機會和你戰鬥。",
+ 3: "也許我應該回去追尋我成為寶可夢飼養員的夢想……",
},
"defeat": {
- 1: "The best offense is a good defense!\nThat's my way of doing things!",
- 2: "Come study rocks with me next time to better learn how to fight them!",
- 3: "Hah, all my traveling around the regions is paying off!"
+ 1: "最好的進攻就是堅固的防守!$那是我做事的方式!",
+ 2: "下次來和我一起研究岩石屬性,$更好地了解如何與它們對戰!",
+ 3: "哈哈,我在各地的旅行有所回報了!",
}
},
"misty": {
"encounter": {
- 1: "My policy is an all out offensive with Water-type Pokémon!",
- 2: "Hiya, I'll show you the strength of my aquatic Pokémon!",
- 3: "My dream was to go on a journey and battle powerful trainers…\nWill you be a sufficient challenge?"
+ 1: "我的戰策就是使用水屬性寶可夢全面進攻!",
+ 2: "嗨,我會讓你見識我的水屬性寶可夢的力量!",
+ 3: "我的夢想是踏上旅程,與強大的訓練師戰鬥……$你能滿足我嗎?",
},
"victory": {
- 1: "You really are strong… I'll admit that you are skilled…",
- 2: "Grrr… You know you just got lucky, right?!",
- 3: "Wow, you're too much! I can't believe you beat me!"
+ 1: "你真的很強……我承認,你有技術的……",
+ 2: "哼……你知道你只是運氣好,對吧?!",
+ 3: "哇,你太過分了!不敢相信你打敗我了!",
},
"defeat": {
- 1: "Was the mighty Misty too much for you?",
- 2: "I hope you saw my Pokémon's elegant swimming techniques!",
- 3: "Your Pokémon were no match for my pride and joys!"
+ 1: "強大的小霞對你來說,太過分了嗎?",
+ 2: "我希望你看到了我寶可夢優雅的游泳技巧!",
+ 3: "你的寶可夢無法匹敵我的心腹和驕傲!",
}
},
"lt_surge": {
"encounter": {
- 1: "My Electric Pokémon saved me during the war! I'll show you how!",
- 2: "Ten-hut! I'll shock you into surrender!",
- 3: "I'll zap you just like I do to all my enemies in battle!"
+ 1: "我的電屬性寶可夢在戰爭中救了我!$我來給你展示一下!",
+ 2: "立正!我要電到你投降!",
+ 3: "我會像對待敵軍一樣,狠狠電你!",
},
"victory": {
- 1: "Whoa! Your team's the real deal, kid!",
- 2: "Aaargh, you're strong! Even my electric tricks lost against you.",
- 3: "That was an absolutely shocking loss!"
+ 1: "哇!你的隊伍有真傢伙,小子!",
+ 2: "啊啊,你很強!連我的電擊技巧都輸給了你。",
+ 3: "這失敗真是把我給電麻了!",
},
"defeat": {
- 1: "Oh yeah! When it comes to Electric-type Pokémon, I'm number one in the world!",
- 2: "Hahaha! That was an electrifying battle, kid!",
- 3: "A Pokémon battle is war, and I have showed you first-hand combat!"
+ 1: "哦耶!我的電屬性寶可夢是世界第一!",
+ 2: "哈哈哈!真是一場電動人心的戰鬥,小子!",
+ 3: "寶可夢對戰等於戰爭,$我向你展示了軍隊中的格鬥技巧!",
}
},
"erika": {
"encounter": {
- 1: "Ah, the weather is lovely here…\nOh, a battle? Very well then.",
- 2: "My Pokémon battling skills rival that of my flower arranging skills.",
- 3: "Oh, I hope the pleasant aroma of my Pokémon doesn't put me to sleep again…",
- 4: "Seeing flowers in a garden is so soothing."
+ 1: "啊,這裡天氣真好…$哦,對戰?那好吧。",
+ 2: "我在寶可夢對戰上的造詣,$可以與我的插花技巧相媲美。",
+ 3: "哦,希望我寶可夢的宜人香氣\n不會再讓我睡著…",
+ 4: "看看花園裡的花朵,如此令人心曠神怡。",
},
"victory": {
- 1: "Oh! I concede defeat.",
- 2: "That match was most delightful.",
- 3: "Ah, it appears it is my loss…",
- 4: "Oh, my goodness."
+ 1: "哦!我認輸啦~",
+ 2: "這場比賽非常愉快。",
+ 3: "啊,看來我輸了…",
+ 4: "哦,我的天哪。",
},
"defeat": {
- 1: "I was afraid I would doze off…",
- 2: "Oh my, it seems my Grass Pokémon overwhelmed you.",
- 3: "That battle was such a soothing experience.",
- 4: "Oh… Is that all?"
+ 1: "我怕我會打瞌睡…",
+ 2: "哦,我天。看來我的草屬性寶可夢擊敗了你。",
+ 3: "那場戰鬥是如此令人心曠神怡。",
+ 4: "哦…這就完啦?",
}
},
"janine": {
"encounter": {
- 1: "I am mastering the art of poisonous attacks.\nI shall spar with you today!",
- 2: "Father trusts that I can hold my own.\nI will prove him right!",
- 3: "My ninja techniques are only second to my Father's!\nCan you keep up?"
+ 1: "我正在掌握毒屬性攻擊的藝術。$今天我來和你過過招!",
+ 2: "父親相信我能獨當一面。$我來證明他說的對!",
+ 3: "我的忍術,僅次於我的父親!$你能跟的上嗎?",
},
"victory": {
- 1: "Even now, I still need training… I understand.",
- 2: "Your battle technique has outmatched mine.",
- 3: "I'm going to really apply myself and improve my skills."
+ 1: "就算現在,我仍然需要繼續訓練…我明白了。",
+ 2: "你的戰鬥技巧,超過了我。",
+ 3: "我要好好努力提高我的技術。",
},
"defeat": {
- 1: "Fufufu… the poison has sapped all your strength to battle.",
- 2: "Ha! You didn't stand a chance against my superior ninja skills!",
- 3: "Father's faith in me has proven to not be misplaced."
+ 1: "呵呵…毒液耗盡了你所有的力量。",
+ 2: "哈!你根本無法抵擋我卓越的忍技!",
+ 3: "我沒有辜負父親對我的信任。",
}
},
"sabrina": {
"encounter": {
- 1: "Through my psychic ability, I had a vision of your arrival!",
- 2: "I dislike fighting, but if you wish, I will show you my powers!",
- 3: "I can sense great ambition in you. I shall see if it not unfounded."
+ 1: "我的超能力預見了你的到來!",
+ 2: "我不喜歡戰鬥,但如果你想,$我會展示我的實力!",
+ 3: "我能感覺到你的雄心壯志。$我倒要看看你是不是虛有其表。",
},
"victory": {
- 1: "Your power… It far exceeds what I foresaw…",
- 2: "I failed to accurately predict your power.",
- 3: "Even with my immense psychic powers, I cannot sense another as strong as you."
+ 1: "你的力量……遠遠超出了我的預知……",
+ 2: "我沒有準確預測到你的實力。",
+ 3: "即使我強大的超能力也無法感知到你這樣強大的人。",
},
"defeat": {
- 1: "This victory… It is exactly as I foresaw in my visions!",
- 2: "Perhaps it was another I sensed a great desire in…",
- 3: "Hone your abilities before recklessly charging into battle.\nYou never know what the future may hold if you do…"
+ 1: "這場勝利……和我看到的未來一樣啊!",
+ 2: "也許我預感到有強大實力的人,是另一個……",
+ 3: "在你奮不顧身投入戰鬥之前,\n磨練你的能力。$如果你這樣做,你才未來可期……",
}
},
"blaine": {
"encounter": {
- 1: "Hah! Hope you brought a Burn Heal!",
- 2: "My fiery Pokémon will incinerate all challengers!",
- 3: "Get ready to play with fire!"
+ 1: "哈!希望你帶了燒傷治療藥!",
+ 2: "我火熱的寶可夢將所有挑戰者都焚燒殆盡!",
+ 3: "準備好玩火吧!",
},
"victory": {
- 1: "I have burned down to nothing! Not even ashes remain!",
- 2: "Didn't I stoke the flames high enough?",
- 3: "I'm all burned out… But this makes my motivation to improve burn even hotter!"
+ 1: "我已經焚燒殆盡了!甚至連灰燼都沒有留下!",
+ 2: "我沒有把火焰煽得足夠高嗎?",
+ 3: "我燃盡了……但這讓我進步的動力燃燒得更旺了!",
},
"defeat": {
- 1: "My raging inferno cannot be quelled!",
- 2: "My Pokémon have been powered up with the heat from this victory!",
- 3: "Hah! My passion burns brighter than yours!"
+ 1: "我的熊熊烈火無法被撲滅!",
+ 2: "我的寶可夢因這次勝利而變得更加強大!",
+ 3: "哈!我的激情燃得比你的更熱烈!",
}
},
"giovanni": {
"encounter": {
- 1: "I, the leader of Team Rocket, will make you feel a world of pain!",
- 2: "My training here will be vital before I am to face my old associates again.",
- 3: "I do not think you are prepared for the level of failure you are about to experience!"
+ 1: "我,火箭隊的領袖,\n會讓你的世界感受到痛苦!",
+ 2: "我在這裡的訓練在我再次面對老朋友之前至關重要。",
+ 3: "我認為你還沒有準備好迎接你即將經歷的失敗!",
},
"victory": {
- 1: "WHAT! Me, lose?! There is nothing I wish to say to you!",
- 2: "Hmph… You could never understand what I hope to achieve.",
- 3: "This defeat is merely delaying the inevitable.\nI will rise Team Rocket from the ashes in due time."
+ 1: "什麼!我輸了?! 我沒什麼可和你說的!",
+ 2: "哼……你永遠無法理解我希望實現的目標。",
+ 3: "這次失敗只是暫時的。$我將找準時機,讓火箭隊浴火重生。",
},
"defeat": {
- 1: "Not being able to measure your own strength shows that you are still but a child.",
- 2: "Do not try to interfere with me again.",
- 3: "I hope you understand how foolish challenging me was."
+ 1: "不知自己幾斤幾兩,\n說明你仍然只是一個孩子。",
+ 2: "不要再試圖干涉我。",
+ 3: "我希望你明白挑戰我是多麼愚蠢。",
}
},
"roxanne": {
"encounter": {
- 1: "Would you kindly demonstrate how you battle?",
- 2: "You can learn many things by battling many trainers.",
- 3: "Oh, you caught me strategizing.\nWould you like to battle?"
+ 1: "您能否展示一下您是如何戰鬥的麼?",
+ 2: "你可以和更多訓練師戰鬥來學到很多東西。",
+ 3: "哦,被你抓到我正在用功了~$你想戰鬥嗎?",
},
"victory": {
- 1: "Oh, I appear to have lost.\nI understand.",
- 2: "It seems that I still have so much more to learn when it comes to battle.",
- 3: "I'll take what I learned here today to heart."
+ 1: "哦,看來我輸了。$我明白了。",
+ 2: "看來我在戰鬥方面還有更多東西要學。",
+ 3: "我會把今天在這裡學到的東西銘記於心。",
},
"defeat": {
- 1: "I have learned many things from our battle.\nI hope you have too.",
- 2: "I look forward to battling you again.\nI hope you'll use what you've learned here.",
- 3: "I won due to everything I have learned."
+ 1: "從我們的對戰中,我學到了很多。$希望你也是。",
+ 2: "我期待再次與你戰鬥。$希望你能運用在此學到的東西。",
+ 3: "我憑借我所學到的一切贏得了勝利。",
}
},
"brawly": {
"encounter": {
- 1: "Oh man, a challenger!\nLet's see what you can do!",
- 2: "You seem like a big splash.\nLet's battle!",
- 3: "Time to create a storm!\nLet's go!"
+ 1: "哦,夥計,挑戰者!$讓我看看你的能耐!",
+ 2: "你看起來很厲害嘛。$來對戰吧!",
+ 3: "是時候掀起風暴了!$我們上吧!",
},
"victory": {
- 1: "Oh woah, you've washed me out!",
- 2: "You surfed my wave and crashed me down!",
- 3: "I feel like I'm lost in Granite Cave!"
+ 1: "哦哇,你把我沖走了!",
+ 2: "你駕馭了我的海浪,把我打敗了!",
+ 3: "我覺得我就像是在武鬥洞窟裡迷路了!",
},
"defeat": {
- 1: "Haha, I surfed the big wave!\nChallenge me again sometime.",
- 2: "Surf with me again some time!",
- 3: "Just like the tides come in and out, I hope you return to challenge me again."
+ 1: "哈哈,我駕馭了大浪!$有時間再挑戰我吧。",
+ 2: "再和我一起衝浪吧!",
+ 3: "就像潮水的漲落,\n我希望你也能再來挑戰我。",
}
},
"wattson": {
"encounter": {
- 1: "Time to get shocked!\nWahahahaha!",
- 2: "I'll make sparks fly!\nWahahahaha!",
- 3: "I hope you brought Paralyz Heal!\nWahahahaha!"
+ 1: "是時候被電擊了!$哈哈哈!",
+ 2: "我要讓火星子飛蹦!$哈哈哈!",
+ 3: "我希望你帶了麻痺藥!$哇哈哈哈!",
},
"victory": {
- 1: "Seems like I'm out of charge!\nWahahahaha!",
- 2: "You've completely grounded me!\nWahahahaha!",
- 3: "Thanks for the thrill!\nWahahahaha!"
+ 1: "看來我的電量用完了!$哇哈哈哈!",
+ 2: "你完全接地了是吧!$哇哈哈哈!",
+ 3: "謝謝你給我電了一下!$哇哈哈哈!",
},
"defeat": {
- 1: "Recharge your batteries and challenge me again sometime!\nWahahahaha!",
- 2: "I hope you found our battle electrifying!\nWahahahaha!",
- 3: "Aren't you shocked I won?\nWahahahaha!"
+ 1: "電充充滿,有時間再挑戰我吧!$哇哈哈哈!",
+ 2: "我希望你覺得我們的戰鬥激情似電!$哇哈哈哈!",
+ 3: "你沒想到我贏了吧?$哇哈哈哈!",
}
},
"flannery": {
"encounter": {
- 1: "Nice to meet you! Wait, no…\nI will crush you!",
- 2: "I've only been a leader for a little while, but I'll smoke you!",
- 3: "It's time to demonstrate the moves my grandfather has taught me! Let's battle!"
+ 1: "很高興見到你!等等,不對……$我要粉碎你!",
+ 2: "我才當道館主沒多久,\n但我會讓你灰飛煙滅!",
+ 3: "是時候展示爺爺教給我的招式了!來對戰吧!",
},
"victory": {
- 1: "You remind me of my grandfather…\nNo wonder I lost.",
- 2: "Am I trying too hard?\nI should relax, can't get too heated.",
- 3: "Losing isn't going to smother me out.\nTime to reignite training!"
+ 1: "你讓我想起了我的爺爺……$難怪我輸了。",
+ 2: "我是不是太努力了?$我應該放鬆,不能太上頭了。",
+ 3: "失敗才不會嗆到我。$是時候重新點燃訓練了!",
},
"defeat": {
- 1: "I hope I've made my grandfather proud…\nLet's battle again some time.",
- 2: "I…I can't believe I won!\nDoing things my way worked!",
- 3: "Let's exchange burning hot moves again soon!"
+ 1: "我希望我讓祖父感到驕傲了……$有時間我們再戰鬥吧。",
+ 2: "我……我簡直不敢相信我贏了!$按照自己的方式做事奏效了!",
+ 3: "早點用炙熱的招式再來交手吧!",
}
},
"norman": {
"encounter": {
- 1: "I'm surprised you managed to get here.\nLet's battle.",
- 2: "I'll do everything in my power as a Gym Leader to win.\nLet's go!",
- 3: "You better give this your all.\nIt's time to battle!"
+ 1: "我沒想到你能一路來到這裡。$我們來對戰吧。",
+ 2: "作為道館主,我會盡一切努力贏得勝利。$我們開始吧!",
+ 3: "你最好全力以赴。$對戰的時候到了!",
},
"victory": {
- 1: "I lost to you…?\nRules are rules, though.",
- 2: "Was moving from Olivine a mistake…?",
- 3: "I can't believe it.\nThat was a great match."
+ 1: "我輸給了你……?$但規則就是規則。",
+ 2: "難道我不該從城都搬家嗎……?",
+ 3: "我不敢相信。$這是一場好對戰。",
},
"defeat": {
- 1: "We both tried our best.\nI hope we can battle again soon.",
- 2: "You should try challenging my kid instead.\nYou might learn something!",
- 3: "Thank you for the excellent battle.\nBetter luck next time."
+ 1: "我們都盡力了。$希望我們不久之後能再對戰。",
+ 2: "你應該嘗試挑戰我的孩子。$可能會有一些收穫!",
+ 3: "謝謝你精彩的戰鬥。$下次好運。",
}
},
"winona": {
"encounter": {
- 1: "I've been soaring the skies looking for prey…\nAnd you're my target!",
- 2: "No matter how our battle is, my Flying Pokémon and I will triumph with grace. Let's battle!",
- 3: "I hope you aren't scared of heights.\nLet's ascend!"
+ 1: "我一直在天空中翱翔尋找獵物…$而你就是我的目標!",
+ 2: "不管戰況如何,我都會和我的飛行寶可夢$以優雅的姿態獲勝。來戰鬥吧!",
+ 3: "我希望你不怕高。$我們一起升上高空吧!",
},
"victory": {
- 1: "You're the first Trainer I've seen with more grace than I.\nExcellently played.",
- 2: "Oh, my Flying Pokémon have plummeted!\nVery well.",
- 3: "Though I may have fallen, my Pokémon will continue to fly!"
+ 1: "你是我見過的第一位比我更有風度的訓練師。$打的非常出色。",
+ 2: "哦,我的飛行系寶可夢都已經墜落了!$好吧。",
+ 3: "儘管我倒下了,我的寶可夢將繼續翱翔!",
},
"defeat": {
- 1: "My Flying Pokémon and I will forever dance elegantly!",
- 2: "I hope you enjoyed our show.\nOur graceful dance is finished.",
- 3: "Won't you come see our elegant choreography again?"
+ 1: "我與我的飛行系寶可夢,\n將永遠優雅地起舞!",
+ 2: "我希望你喜歡我們的演出。$我們優雅的舞蹈已經落幕。",
+ 3: "你願意再來觀看我們優雅的編舞嗎?",
}
},
"tate": {
"encounter": {
- 1: "Hehehe…\nWere you surprised to see me without my sister?",
- 2: "I can see what you're thinking…\nYou want to battle!",
- 3: "How can you defeat someone…\nWho knows your every move?"
+ 1: "嘿嘿嘿…$看到我沒和妹妹在一起,很驚訝麼?",
+ 2: "我可以讀懂你在想什麼…$你想要戰鬥!",
+ 3: "你如何擊敗一個…$讀懂你一舉一動的人?",
},
"victory": {
- 1: "It can't be helped…\nI miss Liza…",
- 2: "Your bond with your Pokémon was stronger than mine.",
- 3: "If I were with Liza, we would have won.\nWe can finish each other's thoughts!"
+ 1: "贏不了啊…$我想小南了…",
+ 2: "你和寶可夢之間的聯繫比我們更強。",
+ 3: "如果我和小南聯手,我們會贏的。$我們可以了解彼此的想法!",
},
"defeat": {
- 1: "My Pokémon and I are superior!",
- 2: "If you can't even defeat me, you'll never be able to defeat Liza either.",
- 3: "It's all thanks to my strict training with Liza.\nI can make myself one with Pokémon."
+ 1: "我和我的寶可夢無與倫比!",
+ 2: "如果你連我都打不過,\n你肯定也打不過小南。",
+ 3: "這多虧了我和小南的嚴格訓練。$我可以與寶可夢一心同體。",
}
},
"liza": {
"encounter": {
- 1: "Fufufu…\nWere you surprised to see me without my brother?",
- 2: "I can determine what you desire…\nYou want to battle, don't you?",
- 3: "How can you defeat someone…\nWho's one with their Pokémon?"
+ 1: "呵呵呵…$看到我沒和哥哥一起,很驚訝嗎?",
+ 2: "我可以讀懂你渴望什麼…$你想戰鬥,不是嗎?",
+ 3: "你如何擊敗一個…$與寶可夢們一心同體的人?",
},
"victory": {
- 1: "It can't be helped…\nI miss Tate…",
- 2: "Your bond with your Pokémon…\nIt's stronger than mine.",
- 3: "If I were with Tate, we would have won.\nWe can finish each other's sentences!"
+ 1: "贏不了啊…$我想小楓了…",
+ 2: "你和寶可夢之間的聯繫…$比我強。",
+ 3: "如果我和小楓在一起,我們會贏的。$我們甚至可以接上彼此的話!",
},
"defeat": {
- 1: "My Pokémon and I are victorious.",
- 2: "If you can't even defeat me, you'll never be able to defeat Tate either.",
- 3: "It's all thanks to my strict training with Tate.\nI can synchronize myself with my Pokémon."
+ 1: "我和我的寶可夢勢不可擋。",
+ 2: "如果你連我都打不過,\n你肯定也打不過小楓。",
+ 3: "這多虧了我和小楓的嚴格訓練。$我可以與我的寶可夢一心同體。",
}
},
"juan": {
"encounter": {
- 1: "Now's not the time to act coy.\nLet's battle!",
- 2: "Ahahaha, You'll be witness to my artistry with Water Pokémon!",
- 3: "A typhoon approaches!\nWill you be able to test me?",
- 4: "Please, you shall bear witness to our artistry.\nA grand illusion of water sculpted by my Pokémon and myself!"
+ 1: "別害羞啊。$我們來戰鬥吧!",
+ 2: "啊哈哈哈,敬請期待\n我和水屬性寶可夢的盛大演出!",
+ 3: "我就是正在逼近的風暴!$你能經受住考驗嗎?",
+ 4: "請你見證我們的表演。$由我和寶可夢共同創造的宏偉水之幻境!",
},
"victory": {
- 1: "You may be a genius who can take on Wallace!",
- 2: "I focused on elegance while you trained.\nIt's only natural that you defeated me.",
- 3: "Ahahaha!\nVery well, You have won this time.",
- 4: "From you, I sense the brilliant shine of skill that will overcome all."
+ 1: "你可能是一個能挑戰米可利的天才!",
+ 2: "我專注於優雅,而你刻苦鍛鍊。$你能擊敗我是很正常的。",
+ 3: "啊哈哈哈!$好吧,這次你贏了。",
+ 4: "從你身上,我感受到了技巧的光輝,\n它將戰勝一切。",
},
"defeat": {
- 1: "My Pokémon and I have sculpted an illusion of Water and come out victorious.",
- 2: "Ahahaha, I have won, and you have lost.",
- 3: "Shall I loan you my outfit? It may help you battle!\nAhahaha, I jest!",
- 4: "I'm the winner! Which is to say, you lost."
+ 1: "寶可夢和我創造的水之幻境,讓我取得了勝利。",
+ 2: "啊哈哈哈,我贏了,你輸了。",
+ 3: "要我把我的服裝借給你嗎?\n可能能幫到你對戰啊!$啊哈哈哈,我開玩笑的!",
+ 4: "我是贏家!也就是說,你輸了。",
}
},
"crasher_wake": {
"encounter": {
- 1: "Crash! Crash! Watch out!\nCrasher Wake…is…heeere!",
- 2: "Crash! Crash! Crasher Wake!",
- 3: "I'm the tidal wave of power to wash you away!"
+ 1: "極限! 極限! 看好了!$極限假面…就此…登場!",
+ 2: "極限! 極限! 極限假面!",
+ 3: "我是滔滔巨浪,將你沖走!",
},
"victory": {
- 1: "That puts a grin on my face!\nGuhahaha! That was a blast!",
- 2: "Hunwah! It's gone and ended!\nHow will I say this…\nI want more! I wanted to battle a lot more!",
- 3: "WHAAAAT!?"
+ 1: "我真是笑得合不攏嘴啊!$哈哈哈!那真是太有趣了!",
+ 2: "呼哇!結束收尾了!$我該怎麼說呢……$我還想再對戰!我還想再繼續戰鬥!",
+ 3: "啊啊啊啊啊!?",
},
"defeat": {
- 1: "Yeeeeah! That's right!",
- 2: "I won, but I want more! I wanted to battle a lot more!",
- 3: "So long!"
+ 1: "耶!就是這樣!",
+ 2: "我贏了,但我還想要更多!\n我還想再更多地戰鬥!",
+ 3: "再見!",
}
},
"falkner": {
"encounter": {
- 1: "I'll show you the real power of the magnificent bird Pokémon!",
- 2: "Winds, stay with me!",
- 3: "Dad! I hope you're watching me battle from above!"
+ 1: "我將向你展示華麗的飛行寶可夢真正的力量!",
+ 2: "風啊,伴我同行!",
+ 3: "爸爸!我希望你能在空中注視著我的戰鬥!",
},
"victory": {
- 1: "I understand… I'll bow out gracefully.",
- 2: "A defeat is a defeat. You are strong indeed.",
- 3: "…Shoot! Yeah, I lost."
+ 1: "明白了……我會禮貌地退場。",
+ 2: "輸了就是輸了。你確實很強大。",
+ 3: "…行吧! 嗯, 我輸了。",
},
"defeat": {
- 1: "Dad! I won with your cherished bird Pokémon…",
- 2: "Bird Pokémon are the best after all!",
- 3: "Feels like I'm catching up to my dad!"
+ 1: "爸爸!我用你珍愛的飛行寶可夢贏了……",
+ 2: "飛行系寶可夢才是最強的!",
+ 3: "感覺我正在追趕上我的父親!",
}
},
"nessa": {
"encounter": {
- 1: "No matter what kind of plan your refined mind may be plotting, my partner and I will be sure to sink it.",
- 2: "I'm not here to chat. I'm here to win!",
- 3: "This is a little gift from my Pokémon… I hope you can take it!"
+ 1: "無論你的小腦瓜子在搞什麼陰謀詭計,$我和我的搭檔都會確保它石沉大海。",
+ 2: "我來這裡可不是為了閒聊,\n而是為了贏!",
+ 3: "這是我的寶可夢給你的一點小禮物……\n我希望你能接受!",
},
"victory": {
- 1: "You and your Pokémon are just too much…",
- 2: "How…? How can this be?!",
- 3: "I was totally washed away!"
+ 1: "你和你的寶可夢太過分了……",
+ 2: "怎麼……?這怎麼可能?!",
+ 3: "我完全被沖走了!",
},
"defeat": {
- 1: "The raging wave crashes again!",
- 2: "Time to ride the wave of victory!",
- 3: "Ehehe!"
+ 1: "洶湧的海浪再次襲來!",
+ 2: "是時候乘風破浪,取得勝利了!",
+ 3: "誒嘿嘿!",
}
},
"melony": {
"encounter": {
- 1: "I'm not going to hold back!",
- 2: "All righty, I suppose we should get started.",
- 3: "I'll freeze you solid!"
+ 1: "我不會手下留情!",
+ 2: "好吧,我想我們應該開始了。",
+ 3: "我會把你凍得結結實實的!",
},
"victory": {
- 1: "You… You're pretty good, huh?",
- 2: "If you find Gordie around, be sure to give him a right trashing, would you?",
- 3: "I think you took breaking the ice a little too literally…"
+ 1: "你……你可厲害了,是不是?",
+ 2: "如果你找到瑪瓜,一定要好好教訓他,好嗎?",
+ 3: "你的破冰方式有點過於直接了呢……",
},
"defeat": {
- 1: "Now do you see how severe battles can be?",
- 2: "Hee! Looks like I went and won again!",
- 3: "Are you holding back?"
+ 1: "現在你知道戰鬥有多殘酷了吧?",
+ 2: "嘿!看來我又贏了!",
+ 3: "你是在保留實力嗎?",
}
},
"marlon": {
"encounter": {
- 1: "You look strong! Shoots! Let's start!",
- 2: "I'm strong like the ocean's wide. You're gonna get swept away, fo' sho'.",
- 3: "Oh ho, so I'm facing you! That's off the wall."
+ 1: "你看起來很強!來吧!讓我們開始吧!",
+ 2: "我的強大像大海一樣無邊無際。$你會被我沖走,絕對的。",
+ 3: "哦豁,由我來面對你!這可不得了咯!",
},
"victory": {
- 1: "You totally rocked that! You're raising some wicked Pokémon. You got this Trainer thing down!",
- 2: "You don't just look strong, you're strong fo' reals! Eh, I was swept away, too!",
- 3: "You're strong as a gnarly wave!"
+ 1: "你太厲害了!\n你培養了一些非常強大的寶可夢啊,$你已經掌握了訓練師的精髓!",
+ 2: "你不僅僅是看起來,\n你是真的強,真的!$呃,我也被沖走了!",
+ 3: "你像兇猛的波浪一樣強壯!",
},
"defeat": {
- 1: "You're tough, but it's not enough to sway the sea, 'K!",
- 2: "Hee! Looks like I went and won again!",
- 3: "Sweet, sweet victory!"
+ 1: "你很強,但這還不足以動搖大海,懂?",
+ 2: "嘻!看來我又贏了!",
+ 3: "甜蜜的勝利!",
}
},
"shauntal": {
"encounter": {
- 1: "Excuse me. You're a challenger, right?\nI'm the Elite Four's Ghost-type Pokémon user, Shauntal, and I shall be your opponent.",
- 2: "I absolutely love writing about Trainers who come here and the Pokémon they train.\nCould I use you and your Pokémon as a subject?",
- 3: "Every person who works with Pokémon has a story to tell.\nWhat story is about to be told?"
+ 1: "打擾了。你是挑戰者,對嗎?$我是四天王的幽靈系寶可夢使用者,$婉龍,我將是你的對手。",
+ 2: "我非常喜歡描寫來到這裡的訓練師,\n以及他們訓練的寶可夢。$我可以用你和你的寶可夢作為主題嗎?",
+ 3: "每個與寶可夢相處的人都有故事要講。$接下來要講的故事是怎樣的呢?",
},
"victory": {
- 1: "Wow. I'm dumbstruck!",
- 2: "S-sorry! First, I must apologize to my Pokémon…\n\nI'm really sorry you had a bad experience because of me!",
- 3: "Even in light of that, I'm still one of the Elite Four!"
+ 1: "哇。我驚呆了!",
+ 2: "對…對不起!我必須先向我的寶可夢道歉……$都是因為我讓你們有了不好的經歷,真的很抱歉!",
+ 3: "你要知道,我仍然是四天王之一!",
},
"defeat": {
- 1: "Eheh.",
- 2: "That gave me excellent material for my next novel!",
- 3: "And so, another tale ends…"
+ 1: "額呵呵。",
+ 2: "給了我下一部小說的絕佳素材!",
+ 3: "就這樣,又一篇故事來到尾聲……",
}
},
"marshal": {
"encounter": {
- 1: "My mentor, Alder, sees your potential as a Trainer and is taking an interest in you.\nIt is my intention to test you--to take you to the limits of your strength. Kiai!",
- 2: "Victory, decisive victory, is my intention! Challenger, here I come!",
- 3: "In myself, I seek to develop the strength of a fighter and shatter any weakness in myself!\nPrevailing with the force of my convictions!"
+ 1: "我的師傅,阿戴克,\n看到了你作為訓練師的潛力,$對你很有興趣。$我要來考驗你——挖掘你力量的極限。\n丹田發力!",
+ 2: "勝利,決定性的勝利,\n正是我所求!挑戰者,我來了!",
+ 3: "在我的心中,我尋求著成為戰士的力量,\n克服自身的所有弱點!$以我的信念,取勝!",
},
"victory": {
- 1: "Whew! Well done!",
- 2: "As your battles continue, aim for even greater heights!",
- 3: "The strength shown by you and your Pokémon has deeply impressed me…"
+ 1: "呼!幹得好!",
+ 2: "不要停止戰鬥,追求更高的目標!",
+ 3: "你和你寶可夢展現的力量\n給我留下了深刻的印象……",
},
"defeat": {
- 1: "Hmm.",
- 2: "That was good battle.",
- 3: "Haaah! Haaah! Haiyaaaah!"
+ 1: "嗯…",
+ 2: "這真是場好戰鬥。",
+ 3: "哈啊!哈啊!嗨呀啊!",
}
},
"cheren": {
"encounter": {
- 1: "You remind me of an old friend. That makes me excited about this Pokémon battle!",
- 2: `Pokémon battles have no meaning if you don't think why you battle.
- $Or better said, it makes battling together with Pokémon meaningless.`,
- 3: "My name's Cheren! I'm a Gym Leader and a teacher! Pleasure to meet you."
+ 1: "你讓我想起了一位老朋友。$這讓我對這場寶可夢戰鬥感到興奮!",
+ 2: "不考慮清楚這一點,\n寶可夢對戰就沒有了意義。$這就是失去了和寶可夢一同戰鬥的意義。",
+ 3: "我的名字是黑連!我是道館館主,\n也是老師!$很高興認識你。",
},
"victory": {
- 1: "Thank you! I saw what was missing in me.",
- 2: "Thank you! I feel like I saw a little of the way toward my ideals.",
- 3: "Hmm… This is problematic."
+ 1: "謝謝……我又能發現自己的不足了。",
+ 2: "謝謝…接近理想的道路…我好像隱約看到了。",
+ 3: "嗯……這值得思考。",
},
"defeat": {
- 1: "As a Gym Leader, I aim to be a wall for you to overcome.",
- 2: "All right!",
- 3: "I made it where I am because Pokémon were by my side.\nPerhaps we need to think about why Pokémon help us not in terms of Pokémon and Trainers but as a relationship between living beings."
+ 1: "作為道館館主,我要成為你要跨越的壁壘!",
+ 2: "好吧!",
+ 3: "正因為有寶可夢,我們才能走到這裡。$為什麼寶可夢會幫助我們,\n這個恐怕不僅是寶可夢與訓練家…$而是生命與生命之間的問題。",
}
},
"chili": {
"encounter": {
- 1: "Yeeeeooow! Time to play with FIRE!! I'm the strongest of us brothers!",
- 2: "Ta-da! The Fire-type scorcher Chili--that's me--will be your opponent!",
- 3: "I'm going to show you what me and my blazing Fire types can do!"
+ 1: "咿呀!是時候玩火了!!我是三兄弟中最強的!",
+ 2: "嗒噠!如火似焰的伯特——就是我\n——你接下來的對手!",
+ 3: "我將向你展示,\n我和我熾熱的火系寶可夢的能耐!",
},
"victory": {
- 1: "You got me. I am… burned… out…",
- 2: "Whoa ho! You're on fire!",
- 3: "Augh! You got me!"
+ 1: "被你幹掉了。我……燃盡了……",
+ 2: "哇吼!你燃起來了!",
+ 3: "啊!被你幹碎了!",
},
"defeat": {
- 1: "I'm on fire! Play with me, and you'll get burned!",
- 2: "When you play with fire, you get burned!",
- 3: "I mean, c'mon, your opponent was me! You didn't have a chance!"
+ 1: "我燃起來啦!和我玩兒,你就會被燙傷!",
+ 2: "你要是玩兒火,就會被燙傷!",
+ 3: "我說,拜託,\n你的對手是我,沒機會贏的!",
}
},
"cilan": {
"encounter": {
- 1: `Nothing personal... No hard feelings... Me and my Grass-type Pokémon will...
- $Um... We're gonna battle come what may.`,
- 2: "So, um, if you're OK with me, I'll, um, put everything I've got into being, er, you know, your opponent.",
- 3: "OK… So, um, I'm Cilan, I like Grass-type Pokémon."
+ 1: "無關個人情感…也不會有艱難的感受…$我和我的草屬性寶可夢會…$呃…不管什麼樣的對手我們都會應戰的。",
+ 2: "所以,呃,如果你願意的話,我會,\n呃,盡我所能做好,呃,你知道的,你的對手。",
+ 3: "好吧……所以,我是天桐,\n我喜歡草屬性寶可夢。",
},
"victory": {
- 1: "Er… Is it over now?",
- 2: `…What a surprise. You are very strong, aren't you?
- $I guess my brothers wouldn't have been able to defeat you either…`,
- 3: "…Huh. Looks like my timing was, um, off?"
+ 1: "呃……已經結束了嗎?",
+ 2: "…真是太意外了。你真…強。$看起來就算是伯特或寇恩都贏不了你…",
+ 3: "…嗯。看起來我來的…不是時候?",
},
"defeat": {
- 1: "Huh? Did I win?",
- 2: `I guess…
- $I suppose I won, because I've been competing with my brothers Chili and Cress, and we all were able to get tougher.`,
- 3: "It…it was quite a thrilling experience…"
+ 1: "哈?我贏了?",
+ 2: "我想…$我想我贏了,因為我一直在和我的兄弟伯特和寇恩競爭,\n我們都變得更強了。",
+ 3: "…這…這是一次非常嚇人的經歷呢…",
}
},
"roark": {
"encounter": {
- 1: "I need to see your potential as a Trainer. And, I'll need to see the toughness of the Pokémon that battle with you!",
- 2: "Here goes! These are my rocking Pokémon, my pride and joy!",
- 3: "Rock-type Pokémon are simply the best!",
- 4: "I need to see your potential as a Trainer. And, I'll need to see the toughness of the Pokémon that battle with you!"
+ 1: "我需要看看你作為訓練師的潛力。$還有,我要看看與你並肩作戰的寶可夢的堅韌!",
+ 2: "來吧!這些是我的岩石系寶可夢,我的驕傲!",
+ 3: "岩石屬性寶可夢就是最強的!",
+ 4: "我要看看你作為訓練師的潛力。$還要看看與你並肩作戰的寶可夢的堅韌!",
},
"victory": {
- 1: "W-what? That can't be! My buffed-up Pokémon!",
- 2: "…We lost control there. Next time I'd like to challenge you to a Fossil-digging race underground.",
- 3: "With skill like yours, it's natural for you to win.",
- 4: "Wh-what?! It can't be! Even that wasn't enough?",
- 5: "I blew it."
+ 1: "什麼?不可能!我強化的寶可夢們!",
+ 2: "……我大腦過載了。$下次邀請你參加地下的化石挖掘比賽。",
+ 3: "有你這種技術,贏得勝利是很正常的。",
+ 4: "什麼?!連這也不夠?",
+ 5: "我搞砸了。",
},
"defeat": {
- 1: "See? I'm proud of my rocking battle style!",
- 2: "Thanks! The battle gave me confidence that I may be able to beat my dad!",
- 3: "I feel like I just smashed through a really stubborn boulder!"
+ 1: "看?我為我的搖滾戰鬥風格感到驕傲!",
+ 2: "謝謝!這場戰鬥給了我自信,$我感覺能夠打敗我父親了!",
+ 3: "我感覺就像我砸穿了一塊頑石!",
}
},
"morty": {
"encounter": {
- 1: `With a little more, I could see a future in which I meet the legendary Pokémon.
- $You're going to help me reach that level!`,
- 2: `It's said that a rainbow-hued Pokémon will come down to appear before a truly powerful Trainer.
- $I believed that tale, so I have secretly trained here all my life. As a result, I can now see what others cannot.
- $I see a shadow of the person who will make the Pokémon appear.
- $I believe that person is me! You're going to help me reach that level!`,
- 3: "Whether you choose to believe or not, mystic power does exist.",
- 4: "You can bear witness to the fruits of my training.",
- 5: "You must make your soul one with that of Pokémon. Can you do this?",
- 6: "Say, do you want to be part of my training?"
+ 1: "只要我再多努力一點,我就能看到我遇到傳說中的寶可夢的未來!$你會幫助我達到那個水平!",
+ 2: "據說,彩虹色的寶可夢會\n出現在真正強大的訓練師面前。 $我一直相信著這個美麗的傳說,\n所以,從出生開始,\n就在這裡進行著秘密的修行。$因為這樣,其他人看不到的東西\n我也能夠看得到…$我看到的,是那個將傳說中的寶可夢\n召喚到這片大地上的人的影子。$我一直相信,那就是我自己!\n希望你也能助我一臂之力!",
+ 3: "無論你相信還是不相信,神秘的力量確實存在。",
+ 4: "你可以見證我訓練的成果。",
+ 5: "你必須讓你與寶可夢的靈魂合二為一。你能做到嗎?",
+ 6: "嘿,你想成為我訓練的一部分嗎?",
},
"victory": {
- 1: "I'm not good enough yet…",
- 2: `I see… Your journey has taken you to far-away places and you have witnessed much more than I.
- $I envy you for that…`,
- 3: "How is this possible…",
- 4: `I don't think our potentials are so different.
- $But you seem to have something more than that… So be it.`,
- 5: "Guess I need more training.",
- 6: "That's a shame."
+ 1: "我還不夠好……",
+ 2: "我明白了…你的旅程…去了遙遠的地方,你見過的比我多得多。$我羨慕你…",
+ 3: "這怎麼可能……",
+ 4: "我認為我們的潛力沒什麼不同。$但是,我覺得你並不簡單,似乎還有什麼……",
+ 5: "我想我需要更多的訓練。",
+ 6: "那太遺憾了",
},
"defeat": {
- 1: "I moved… one step ahead again.",
- 2: "Fufufu…",
- 3: "Wh-what?! It can't be! Even that wasn't enough?",
- 4: "I feel like I just smashed through a really stubborn boulder!",
- 5: "Ahahahah!",
- 6: "I knew I would win!"
+ 1: "我又向前邁進了一步。",
+ 2: "呵呵呵……",
+ 3: "什…麼?!那還不夠?",
+ 4: "我感覺就像我砸穿了一塊頑石!",
+ 5: "哈哈哈啊!",
+ 6: "我知道我會贏!",
}
},
"crispin": {
"encounter": {
- 1: "I wanna win, so that's exactly what I'll do!",
- 2: "I battle because I wanna battle! And you know what? That's how it should be!"
+ 1: "我想贏,所以接下來我正要贏!",
+ 2: "我想對戰就對戰!懂嗎!就應該這樣!",
},
"victory": {
- 1: "I wanted to win…but I lost!",
- 2: "I lost…'cause I couldn't win!"
+ 1: "我想贏……但我還是輸了!",
+ 2: "我輸了……因為我贏不了!",
},
"defeat": {
- 1: "Hey, wait a sec. Did I just win? I think I just won! Talk about satisfying!",
- 2: "Wooo! That was amazing!"
+ 1: "嘿,等一下。我是不是贏了?$我覺得我贏了!太滿足了!",
+ 2: "哇哦!那太棒了!",
}
},
"amarys": {
"encounter": {
- 1: `I want to be the one to help a certain person. That being the case, I cannot afford to lose.
- $… Our battle starts now.`,
+ 1: "我想幫助某個人。因此,我不能輸。$…我們的戰鬥現在開始。",
},
"victory": {
- 1: "I am… not enough, I see."
+ 1: "我還不夠,我明白了。",
},
"defeat": {
- 1: "Victory belongs to me. Well fought."
+ 1: "勝利屬於我。打得好。",
}
},
"lacey": {
"encounter": {
- 1: "I'll be facing you with my usual party as a member of the Elite Four."
+ 1: "我將用我平時的隊伍\n作為四天王的一員面對你。",
},
"victory": {
- 1: "That was a great battle!"
+ 1: "打得真好呀~",
},
"defeat": {
- 1: "Let's give your Pokémon a nice round of applause for their efforts!"
+ 1: "讓我們為你寶可夢的努力給予熱烈的掌聲!",
}
},
"drayton": {
"encounter": {
- 1: `Man, I love chairs. Don't you love chairs? What lifesavers.
- $I don't get why everyone doesn't just sit all the time. Standing up's tiring work!`,
+ 1: "哥們,我喜歡椅子。\n你喜歡椅子嗎?簡直是救星。$我不明白為什麼大家不一直坐著。\n站著多累人!",
},
"victory": {
- 1: "Guess I should've expected that!"
+ 1: "我早該想到的!",
},
"defeat": {
- 1: "Heh heh! Don't mind me, just scooping up a W over here. I get it if you're upset, but don't go full Kieran on me, OK?"
+ 1: "嘿嘿嘿!別介意我,\n我只是在這裡小贏一下。$如果你不開心,我懂,\n但別因為我對烏栗發火,OK?",
}
},
"ramos": {
"encounter": {
- 1: `Did yeh enjoy the garden playground I made with all these sturdy plants o' mine?
- $Their strength is a sign o' my strength as a gardener and a Gym Leader! Yeh sure yer up to facing all that?`,
+ 1: "我用那些強壯的植物\n蓋出來的遊樂場精彩嗎?$它們的力量象徵著我這個園丁兼道館館主的實力,\n你真的確定能夠與之抗衡嗎?",
},
"victory": {
- 1: "Yeh believe in yer Pokémon… And they believe in yeh, too… It was a fine battle, sprout."
+ 1: "你信任你的寶可夢,\n它們也信任你…不錯的戰鬥,小豆芽。",
},
"defeat": {
- 1: "Hohoho… Indeed. Frail little blades o' grass'll break through even concrete."
+ 1: "呵呵呵…確實,\n脆弱的小草甚至能穿透混凝土。",
}
},
"viola": {
"encounter": {
- 1: `Whether it's the tears of frustration that follow a loss or the blossoming of joy that comes with victory…
- $They're both great subjects for my camera! Fantastic! This'll be just fantastic!
- $Now come at me!`,
- 2: "My lens is always focused on victory--I won't let anything ruin this shot!"
+ 1: "敗陣時的後悔,勝利的瞬間…$都是最棒的影象!很好呀,很好呀!$那麼來吧!",
+ 2: "我的鏡頭總會聚焦在勝利上,\n我不會讓任何事情破壞這個畫面!",
},
"victory": {
- 1: "You and your Pokémon have shown me a whole new depth of field! Fantastic! Just fantastic!",
- 2: `The world you see through a lens, and the world you see with a Pokémon by your side…
- $The same world can look entirely different depending on your view.`
+ 1: "你和你的寶可夢向我展示了一個全新的鏡頭機位!\n很好呀,很好呀!",
+ 2: "你通過鏡頭看到的世界,\n和你與寶可夢並肩作戰時看到的世界…$視角不同,即使是同一個世界看起來也完全不同。",
},
"defeat": {
- 1: "The photo from the moment of my victory will be a real winner, all right!",
- 2: "Yes! I took some great photos!"
+ 1: "我勝利那一刻的照片,\n將是一個真正的贏家,對吧!",
+ 2: "是的!我拍了些很棒的照片!",
}
},
"candice": {
"encounter": {
- 1: `You want to challenge Candice? Sure thing! I was waiting for someone tough!
- $But I should tell you, I'm tough because I know how to focus.`,
- 2: `Pokémon, fashion, romance… It's all about focus!
- $I'll show you just what I mean. Get ready to lose!`
+ 1: "向小菘我挑戰嗎?好啊!\n我就是在等待強者$但是我也氣勢高昂,很強哦?",
+ 2: "寶可夢也好,時尚也好,戀愛也好,\n無論做什麼都氣勢高昂!$就說到這兒吧,讓你見識一下我的氣勢,\n要做好覺悟哦!",
},
"victory": {
- 1: "I must say, I'm warmed up to you! I might even admire you a little.",
- 2: `Wow! You're great! You've earned my respect!
- $I think your focus and will bowled us over totally. `
+ 1: "好厲害!我有點尊敬你了。",
+ 2: "好厲害!我有點尊敬你了!$嗯,感覺是被你的氣勢給壓倒了。",
},
"defeat": {
- 1: "I sensed your will to win, but I don't lose!",
- 2: "See? Candice's focus! My Pokémon's focus is great, too!"
+ 1: "你的氣勢我看到了,但我還是不會輸的!",
+ 2: "怎麼樣?小菘我的氣勢!\n寶可夢們的氣勢滿滿哦!",
}
},
"gardenia": {
"encounter": {
- 1: "You have a winning aura about you. So, anyway, this will be fun. Let's have our battle!"
+ 1: "你身上有一種勝利的氣息。\n那麼不管怎樣,$這應該會是場有趣的戰鬥。\n讓我們對戰吧!",
},
"victory": {
- 1: "Amazing! You're very good, aren't you?"
+ 1: "太棒了!你可擅長對戰了,不是嗎?",
},
"defeat": {
- 1: "Yes! My Pokémon and I are perfectly good!"
+ 1: "太好了!我的寶可夢和我都很棒!",
}
},
"aaron": {
"encounter": {
- 1: "Ok! Let me take you on!"
+ 1: "好的!讓我來接受你的挑戰!",
},
"victory": {
- 1: "Battling is a deep and complex affair…"
+ 1: "戰鬥是一件深刻而複雜的事情……",
},
"defeat": {
- 1: "Victory over an Elite Four member doesn't come easily."
+ 1: "戰勝一位四天王並不容易。",
}
},
"cress": {
"encounter": {
- 1: "That is correct! It shall be I and my esteemed Water types that you must face in battle!"
+ 1: "沒!錯!你必須面對\n與我和我高貴的水屬性的戰鬥!",
},
"victory": {
- 1: "Lose? Me? I don't believe this."
+ 1: "輸了?我?我不敢相信。",
},
"defeat": {
- 1: "This is the appropriate result when I'm your opponent."
+ 1: "當你的對手是我時,這是必然的結果。",
}
},
"allister": {
"encounter": {
- 1: "'M Allister.\nH-here… I go…"
+ 1: "我是歐尼奧。$我…我來了……",
},
"victory": {
- 1: `I nearly lost my mask from the shock… That was…
- $Wow. I can see your skill for what it is.`,
+ 1: "我差點被嚇得丟了面具…那真是…$哇。我可以看清你真正的實力。",
},
"defeat": {
- 1: "Th-that was ace!"
+ 1: "這真是太棒了!",
}
},
"clay": {
"encounter": {
- 1: "Harrumph! Kept me waitin', didn't ya, kid? All right, time to see what ya can do!"
+ 1: "咳咳! 讓我好等,不是嗎,孩子?$好吧,是時候看看你能做到什麼了!",
},
"victory": {
- 1: "Man oh man… It feels good to go all out and still be defeated!"
+ 1: "真是的……我先說好,\n我可沒有手下留情。",
},
"defeat": {
- 1: `What's important is how ya react to losin'.
- $That's why folks who use losin' as fuel to get better are tough.`,
+ 1: "最重要的是輸掉的時候該怎麼辦。$只要你能在失敗中找到教訓,\n就能夠不斷地成長!",
}
},
"kofu": {
"encounter": {
- 1: "I'mma serve you a full course o' Water-type Pokémon! Don't try to eat 'em, though!"
+ 1: "我會給你上一整道水系寶可夢大餐!\n但別真吃了它們!",
},
"victory": {
- 1: "Vaultin' Veluza! Yer a lively one, aren't ya! A little TOO lively, if I do say so myself!"
+ 1: "吃了嗎!你真是活力又新鮮啊,\n不是嗎!$就是有點太鮮活了!",
},
"defeat": {
- 1: "You come back to see me again now, ya hear?"
+ 1: "你要再來找我,聽見了嗎?",
}
},
"tulip": {
"encounter": {
- 1: "Allow me to put my skills to use to make your cute little Pokémon even more beautiful!"
+ 1: "請讓我運用我的化妝技巧,$讓你可愛的小寶可夢變得更美麗!",
},
"victory": {
- 1: "Your strength has a magic to it that cannot be washed away."
+ 1: "你妝點的力量宛如魔法加固,\n完全沖洗不掉啊。",
},
"defeat": {
- 1: "You know, in my line of work, people who lack talent in one area or the other often fade away quickly—never to be heard of again."
+ 1: "你知道嗎,在我這行,\n那些沒天賦的人往往會很快消失,$再也不會被提起。",
}
},
"sidney": {
"encounter": {
- 1: `I like that look you're giving me. I guess you'll give me a good match.
- $That's good! Looking real good! All right!
- $You and me, let's enjoy a battle that can only be staged here!`,
+ 1: "你給我的印象不錯,\n我猜這會是一場精彩的對戰。$很棒!看起來真的很棒!$你和我,讓我們享受一場\n只能在這裡上演的戰鬥吧!",
},
"victory": {
- 1: "Well, how do you like that? I lost! Eh, it was fun, so it doesn't matter."
+ 1: "嗯,你覺得怎樣?我輸了!\n嗯,不過這很有趣,所以無所謂啊。",
},
"defeat": {
- 1: "No hard feelings, alright?"
+ 1: "別介意,OK?",
}
},
"phoebe": {
"encounter": {
- 1: `While I trained, I gained the ability to commune with Ghost-type Pokémon.
- $Yes, the bond I developed with Pokémon is extremely tight.
- $So, come on, just try and see if you can even inflict damage on my Pokémon!`,
+ 1: "過去我在修行時得到了\n能與幽靈寶可夢親密交流的能力。$沒錯,我和寶可夢之間\n有著強烈的羈絆。$那麼,來試試看你有沒有能力\n傷到我的寶可夢吧!",
},
"victory": {
- 1: "Oh, darn. I've gone and lost."
+ 1: "哦,天呀。我輸了。",
},
"defeat": {
- 1: "I look forward to battling you again sometime!"
+ 1: "我期待著下次再和你戰鬥!",
}
},
"glacia": {
"encounter": {
- 1: `All I have seen are challenges by weak Trainers and their Pokémon.
- $What about you? It would please me to no end if I could go all out against you!`,
+ 1: "我在這兒見到的盡是些\n弱不禁風的訓練家和寶可夢。$你又如何呢?如果你能讓我不得不用\n上全力的話就再好不過了!",
},
"victory": {
- 1: `You and your Pokémon… How hot your spirits burn!
- $The all-consuming heat overwhelms.
- $It's no surprise that my icy skills failed to harm you.`,
+ 1: "你和你的寶可夢…\n你們的靈魂燃燒得多麼熱烈啊!$這股激烈的熱能仿佛能征服一切。\n$難怪我的冰屬性技巧也奈何不了你了。",
},
"defeat": {
- 1: "A fiercely passionate battle, indeed."
+ 1: "一場充滿激情的戰鬥,確實。",
}
},
"drake": {
"encounter": {
- 1: `For us to battle with Pokémon as partners, do you know what it takes? Do you know what is needed?
- $If you don't, then you will never prevail over me!`,
+ 1: "對於我們這些將寶可夢視為\n同伴一同戰鬥的訓練家來說,$你知道怎樣才能贏得勝利嗎?\n你知道獲得勝利的條件嗎?$如果你不知道,\n那麼你永遠也無法戰勝我!",
},
"victory": {
- 1: "Superb, it should be said."
+ 1: "幹得漂亮,就是這樣。",
},
"defeat": {
- 1: "I gave my all for that battle!"
+ 1: "我在這場戰鬥中全力以赴了!",
}
},
"wallace": {
"encounter": {
- 1: `There's something about you… A difference in your demeanor.
- $I think I sense that in you. Now, show me. Show me the power you wield with your Pokémon.
- $And I, in turn, shall present you with a performance of illusions in water by me and my Pokémon!`,
+ 1: "你的氣質變了,\n我能感覺到這一點。$現在,把你和你的寶可夢\n的力量展現給我看吧。$作為回禮,就由我和我的寶可夢\n演出一場水之幻影吧!",
},
"victory": {
- 1: `Bravo. I realize now your authenticity and magnificence as a Pokémon Trainer.
- $I find much joy in having met you and your Pokémon. You have proven yourself worthy.`,
+ 1: "精彩。此刻,我能從你身上感覺到\n身為寶可夢訓練家的可靠與高貴。$我真榮幸能遇到你和你的寶可夢。",
},
"defeat": {
- 1: "A grand illusion!"
+ 1: "偉大的幻影!",
}
},
"lorelei": {
"encounter": {
- 1: `No one can best me when it comes to icy Pokémon! Freezing moves are powerful!
- $Your Pokémon will be at my mercy when they are frozen solid! Hahaha! Are you ready?`,
+ 1: "只要能讓我用冰屬性寶可夢,\n就絕對沒人能贏得過我!\n能凍住對方可是很厲害的哦!$因為如果被凍住,你的寶可夢就無法動彈了!\n啊哈哈!你做好覺悟了吧!",
},
"victory": {
- 1: "How dare you!"
+ 1: "你怎麼敢!",
},
"defeat": {
- 1: "There's nothing you can do once you're frozen."
+ 1: "一旦你被凍結,你就什麼都做不了。",
}
},
"will": {
"encounter": {
- 1: `I have trained all around the world, making my psychic Pokémon powerful.
- $I can only keep getting better! Losing is not an option!`,
+ 1: "我曾經環遊世界,\n日以繼夜地做著超能力寶可夢的修行之旅。$我會不斷變強!沒理由會在這裡輸掉!",
},
"victory": {
- 1: "I… I can't… believe it…"
+ 1: "……不會吧……",
},
"defeat": {
- 1: "That was close. I wonder what it is that you lack."
+ 1: "就差一點。\n我想知道你缺少了什麼。",
}
},
"malva": {
"encounter": {
- 1: `I feel like my heart might just burst into flames.
- $I'm burning up with my hatred for you, runt!`,
+ 1: "我的內心可是一直燃燒著呢。$燃燒著對你的怒火!",
},
"victory": {
- 1: "What news… So a new challenger has defeated Malva!"
+ 1: "挑戰者出色地擊敗了四天王之一,帕琦拉。",
},
"defeat": {
- 1: "I am delighted! Yes, delighted that I could squash you beneath my heel."
+ 1: "真開心啊,能將你徹底粉碎!",
}
},
"hala": {
"encounter": {
- 1: "Old Hala is here to make you holler!"
+ 1: "老哈拉讓你放開嗓子!"
},
"victory": {
- 1: "I could feel the power you gained on your journey."
+ 1: "我能感受到你在旅途中所獲得的力量。"
},
"defeat": {
- 1: "Haha! What a delightful battle!"
+ 1: "啊哈哈。多麼有趣的戰鬥。"
}
},
"molayne": {
"encounter": {
- 1: `I gave the captain position to my cousin Sophocles, but I'm confident in my ability.
- $My strength is like that of a supernova!`,
+ 1: "我將隊長的位置讓給了我的表弟馬瑪內,\n但我對自己的能力很有信心。 $我的力量就像超新星一樣!",
},
"victory": {
- 1: "I certainly found an interesting Trainer to face!"
+ 1: "我發現了一個有趣的訓練師對手!",
},
"defeat": {
- 1: "Ahaha. What an interesting battle."
+ 1: "啊哈哈。多麼有趣的戰鬥。",
}
},
"rika": {
"encounter": {
- 1: "I'd say I'll go easy on you, but… I'd be lying! Think fast!"
+ 1: "我要對你手下留情,但……騙你的啦! $好好動腦!",
},
"victory": {
- 1: "Not bad, kiddo."
+ 1: "不錯,小子。",
},
"defeat": {
- 1: "Nahahaha! You really are something else, kiddo!"
+ 1: "啊哈哈哈哈!你真的很特别,小子!",
}
},
"bruno": {
"encounter": {
- 1: "We will grind you down with our superior power! Hoo hah!"
+ 1: "我們將用勢不可擋的力量磨滅你!呼哈!",
},
"victory": {
- 1: "Why? How could I lose?"
+ 1: "為什麼?我怎麼會輸?",
},
"defeat": {
- 1: "You can challenge me all you like, but the results will never change!"
+ 1: "你可以隨意挑戰我,\n但結果永遠不會改變!",
}
},
"bugsy": {
"encounter": {
- 1: "I'm Bugsy! I never lose when it comes to bug Pokémon!"
+ 1: "我是阿筆!\n對蟲系寶可夢的熟悉不會輸給任何人的!",
},
"victory": {
- 1: "Whoa, amazing! You're an expert on Pokémon!\nMy research isn't complete yet. OK, you win."
+ 1: "哇,太棒了!\n你是個寶可夢專家!$我的研究還沒有完成。\n好吧,你贏了。",
},
"defeat": {
- 1: "Thanks! Thanks to our battle, I was also able to make progress in my research!"
+ 1: "謝謝!多虧了我們的戰鬥,\n我的研究也取得了進展!",
}
},
"koga": {
"encounter": {
- 1: "Fwahahahaha! Pokémon are not merely about brute force--you shall see soon enough!"
+ 1: "哇哈哈哈哈!$寶可夢不僅僅是關於蠻力,拭目以待吧!",
},
"victory": {
- 1: "Ah! You've proven your worth!"
+ 1: "啊!你證明了自己!",
},
"defeat": {
- 1: "Have you learned to fear the techniques of the ninja?"
+ 1: "懂不懂要對忍者的技巧心神畏懼?",
}
},
"bertha": {
"encounter": {
- 1: "Well, would you show this old lady how much you've learned?"
+ 1: "啊,讓老婆婆看看你學到了什麼?",
},
"victory": {
- 1: `Well! Dear child, I must say, that was most impressive.
- $Your Pokémon believed in you and did their best to earn you the win.
- $Even though I've lost, I find myself with this silly grin!`,
+ 1: "好吧,親愛的孩子,\n不得不說,那令人印象深刻。$你的寶可夢相信你並盡最大努力為你贏得勝利。$儘管我輸了,\n我也止不住笑呢!",
},
"defeat": {
- 1: "Hahahahah! Looks like this old lady won!"
+ 1: "哈哈哈!看來老婆婆我贏了!",
}
},
"lenora": {
"encounter": {
- 1: "Well then, challenger, I'm going to research how you battle with the Pokémon you've so lovingly raised!"
+ 1: "那麼,挑戰者,讓我來研究$你與你精心養育的寶可夢要如何戰鬥!",
},
"victory": {
- 1: "My theory about you was correct. You're more than just talented… You're motivated! I salute you!"
+ 1: "我關於你的理論是正確的。$你不僅僅是有天賦……你很努力!\n我向你致敬!",
},
"defeat": {
- 1: "Ah ha ha! If you lose, make sure to analyze why, and use that knowledge in your next battle!"
+ 1: "啊哈哈!如果你輸了,\n一定要分析原因,$並在下一場戰鬥中運用那些知識!",
}
},
"siebold": {
"encounter": {
- 1: "As long as I am alive, I shall strive onward to seek the ultimate cuisine... and the strongest opponents in battle!"
+ 1: "只要我活著,我將不斷努力尋求終極美食…$以及和最強的對手戰鬥!",
},
"victory": {
- 1: "I shall store my memory of you and your Pokémon forever away within my heart."
+ 1: "您的事蹟,我志米銘記在心。",
},
"defeat": {
- 1: `Our Pokémon battle was like food for my soul. It shall keep me going.
- $That is how I will pay my respects to you for giving your all in battle!`,
+ 1: "我們的寶可夢戰鬥就像我靈魂的養料。\n它將讓我繼續前進。$這就是我將向你表示敬意的方式,\n感謝你在戰鬥中全力以赴!",
}
},
"roxie": {
"encounter": {
- 1: "Get ready! I'm gonna knock some sense outta ya!"
+ 1: "準備好了嗎!我要給你上一課!",
},
"victory": {
- 1: "Wild! Your reason's already more toxic than mine!"
+ 1: "夠野的!你的想法比我的還要毒!",
},
"defeat": {
- 1: "Hey, c'mon! Get serious! You gotta put more out there!"
+ 1: "嘿,拜託!認真點!\n你要加把勁啊!",
}
},
"olivia": {
"encounter": {
- 1: "No introduction needed here. Time to battle me, Olivia!"
+ 1: "沒什麼開場白。\n是時候和我麗姿,戰鬥了!",
},
"victory": {
- 1: "Really lovely… Both you and your Pokémon…"
+ 1: "真的很可愛……你和你的寶可夢……",
},
"defeat": {
- 1: "Mmm-hmm."
+ 1: "嗯哼。",
}
},
"poppy": {
"encounter": {
- 1: "Oooh! Do you wanna have a Pokémon battle with me?"
+ 1: "哦!你想和我進行寶可夢對戰麼?",
},
"victory": {
- 1: "Uagh?! Mmmuuuggghhh…"
+ 1: "嗚哇?!嘛……",
},
"defeat": {
- 1: `Yaaay! I did it! I de-feet-ed you! You can come for… For… An avenge match?
- $Come for an avenge match anytime you want!`,
+ 1: "耶!我做到了!我擊~敗~了~你!\n你可以來…打…復仇之戰?$只要你想,隨時來打復仇之戰吧!",
}
},
"agatha": {
"encounter": {
- 1: "Pokémon are for battling! I'll show you how a real Trainer battles!"
+ 1: "寶可夢是用來戰鬥的!我會讓你看看真正訓練家的戰鬥!"
},
"victory": {
- 1: "Oh my! You're something special, child!"
+ 1: "哦,我的天!你真是個特別的孩子!"
},
"defeat": {
- 1: "Bahaha. That's how a proper battle's done!"
+ 1: "哈哈哈,這才是正確的戰鬥方式!"
}
},
"flint": {
"encounter": {
- 1: "Hope you're warmed up, cause here comes the Big Bang!"
+ 1: "希望你已經熱身完畢,\n因為這裡即將大爆炸!",
},
"victory": {
- 1: "Incredible! Your moves are so hot, they make mine look lukewarm!"
+ 1: "不可思議!$你的動作如此火熱,讓我看起來溫吞吞的!",
},
"defeat": {
- 1: "Huh? Is that it? I think you need a bit more passion."
+ 1: "嗯?就這嗎?\n我覺得你得再激情點。",
}
},
"grimsley": {
"encounter": {
- 1: "The winner takes everything, and there's nothing left for the loser."
+ 1: "一無所有,\n或者,贏下所有!",
},
"victory": {
- 1: "When one loses, they lose everything… The next thing I'll look for will be victory, too!"
+ 1: "一旦失敗,\n就意味著失去一切……$下一次我要追尋勝利!",
},
"defeat": {
- 1: "If somebody wins, the person who fought against that person will lose."
+ 1: "如果有人贏了,\n和他對戰的人就會輸。",
}
},
"caitlin": {
"encounter": {
- 1: `It's me who appeared when the flower opened up. You who have been waiting…
- $You look like a Pokémon Trainer with refined strength and deepened kindness.
- $What I look for in my opponent is superb strength…
- $Please unleash your power to the fullest!`,
+ 1: "當花兒綻開時、我便出現。\n成為你在等待的人…$你似乎同時具備實力和善意$我所尋找的是擁有卓越力量的對手…$請用出你的全力吧!",
},
"victory": {
- 1: "My Pokémon and I learned so much! I offer you my thanks."
+ 1: "我和我的寶可夢學到了很多!非常感謝。",
},
"defeat": {
- 1: "I aspire to claim victory with elegance and grace."
+ 1: "我渴望以優雅的姿態取得勝利。",
}
},
"diantha": {
"encounter": {
- 1: `Battling against you and your Pokémon, all of you brimming with hope for the future…
- $Honestly, it just fills me up with energy I need to keep facing each new day! It does!`,
+ 1: "與你的寶可夢對戰\n讓你充滿了未來的希望…$說真的,這讓我更有活力地面對新的一天,確實如此!",
},
"victory": {
- 1: "Witnessing the noble spirits of you and your Pokémon in battle has really touched my heart…"
+ 1: "擁有高尚靈魂的訓練家和寶可夢的身姿,\n讓我的心激烈地震顫…",
},
"defeat": {
- 1: "Oh, fantastic! What did you think? My team was pretty cool, right?"
+ 1: "哦,太棒了!你覺得怎麼樣?\n我的隊伍很酷吧~對吧?",
}
},
"wikstrom": {
"encounter": {
- 1: `Well met, young challenger! Verily am I the famed blade of hardened steel, Duke Wikstrom!
- $Let the battle begin! En garde!`,
+ 1: "年輕的挑戰者,幸會!\n我乃是著名的鋼鐵之刃,公爵雁鎧! $讓我們開始戰鬥吧!預備!",
},
"victory": {
- 1: "Glorious! The trust that you share with your honorable Pokémon surpasses even mine!"
+ 1: "輝煌!你與你尊貴的\n寶可夢之間的信任居然勝過了我!",
},
"defeat": {
- 1: `What manner of magic is this? My heart, it doth hammer ceaselessly in my breast!
- $Winning against such a worthy opponent doth give my soul wings--thus do I soar!`,
+ 1: "哦哦哦!這是怎麼回事,\n我的心止不住地在震顫! $與如此有價值的對手的勝利\n讓我的靈魂飛翔——我心翱翔!",
}
},
"acerola": {
"encounter": {
- 1: "Battling is just plain fun! Come on, I can take you!"
+ 1: "對戰只是找個樂子!來吧,我來會會你!",
},
"victory": {
- 1: "I'm… I'm speechless! How did you do it?!"
+ 1: "我……我說不出話!你是怎麼做到的?!",
},
"defeat": {
- 1: "Ehaha! What an amazing victory!"
+ 1: "哈哈!真是嚇人倒怪的勝利呀!",
}
},
"larry_elite": {
"encounter": {
- 1: `Hello there… It's me, Larry.
- $I serve as a member of the Elite Four too, yes… Unfortunately for me.`,
+ 1: "……你好,我是青木。$麻煩的是我還要兼任四天王。",
},
"victory": {
- 1: "Well, that took the wind from under our wings…"
+ 1: "好吧,我們翅膀下的疾風止於你這了啊…",
},
"defeat": {
- 1: "It's time for a meeting with the boss."
+ 1: "是時候和老闆開會了。",
}
},
"lance": {
"encounter": {
- 1: "I've been waiting for you. Allow me to test your skill.",
- 2: "I thought that you would be able to get this far. Let's get this started."
+ 1: "我一直在等你。讓我來試試你有幾斤幾兩。",
+ 2: "我知道你能走這麼遠。讓我們開始吧。",
},
"victory": {
- 1: "You got me. You are magnificent!",
- 2: "I never expected another trainer to beat me… I'm surprised."
+ 1: "被你拿下了啊。你太出色了!",
+ 2: "我從沒想到會有另一個訓練師打敗我……$我很驚訝。",
},
"defeat": {
- 1: "That was close. Want to try again?",
- 2: "It's not that you are weak. Don't let it bother you."
+ 1: "就差一點。想再試一次嗎?",
+ 2: "我沒覺得你弱,別因此困擾。",
}
},
"karen": {
"encounter": {
- 1: "I am Karen. Would you care for a showdown with my Dark-type Pokémon?",
- 2: "I am unlike those you've already met.",
- 3: "You've assembled a charming team. Our battle should be a good one."
+ 1: "我是梨花,你想和我的惡屬性寶可夢$來一場對決嗎?",
+ 2: "我和你見過的那些人不一樣。",
+ 3: "你組建了一支迷人的隊伍。$我們的戰鬥應該會是場精彩的比賽。",
},
"victory": {
- 1: "No! I can't win. How did you become so strong?",
- 2: "I will not stray from my chosen path.",
- 3: "The Champion is looking forward to meeting you."
+ 1: "不!我贏不了。你是怎麼做到變得這麼強的?",
+ 2: "我不會偏離我所選擇的道路。",
+ 3: "冠軍正期待與你見面。",
},
"defeat": {
- 1: "That's about what I expected.",
- 2: "Well, that was relatively entertaining.",
- 3: "Come visit me anytime."
+ 1: "意料之中。",
+ 2: "嗯,還算有點意思。",
+ 3: "隨時歡迎你來找我。",
}
},
"milo": {
"encounter": {
- 1: `Sure seems like you understand Pokémon real well.
- $This is gonna be a doozy of a battle!
- $I'll have to Dynamax my Pokémon if I want to win!`,
+ 1: "看起來你顯然很了解寶可夢。$這會是一場激烈的戰鬥!$如果我想贏,我得讓我的寶可夢極巨化!",
},
"victory": {
- 1: "The power of Grass has wilted… What an incredible Challenger!"
+ 1: "草的力量凋謝了…多麼不可思議的挑戰者!",
},
"defeat": {
- 1: "This'll really leave you in shock and awe."
+ 1: "這必將讓你大吃一驚。",
}
},
"lucian": {
"encounter": {
- 1: `Just a moment, please. The book I'm reading has nearly reached its thrilling climax…
- $The hero has obtained a mystic sword and is about to face their final trial… Ah, never mind.
- $Since you've made it this far, I'll put that aside and battle you.
- $Let me see if you'll achieve as much glory as the hero of my book!,`
+ 1: "請稍等,我正在讀的書\n正要進入最精彩的部分…$英雄獲得了一把神秘之劍,\n即將面臨最後的考驗…啊,算了。$既然你能走到這一步,\n我就不說這些了,和你戰鬥吧。$讓我看看你是否\n能像我書中的主角一樣榮耀!",
},
"victory": {
- 1: "I see… It appears you've put me in checkmate."
+ 1: "我明白了…看來你把我逼入了絕境。",
},
"defeat": {
- 1: "I have a reputation to uphold."
+ 1: "我得維護我的名譽。",
}
},
"drasna": {
"encounter": {
- 1: `You must be a strong Trainer. Yes, quite strong indeed…
- $That's just wonderful news! Facing opponents like you and your team will make my Pokémon grow like weeds!`
+ 1: "你很厲害吧,\n而且相當相當地厲害呢。$我很高興,能和這樣的對手交手,\n就能更好地培養寶可夢們了。",
},
"victory": {
- 1: "Oh, dear me. That sure was a quick battle… I do hope you'll come back again sometime!"
+ 1: "哎呀,就這麼結束了,\n不好意思,可以的話歡迎再來。",
},
"defeat": {
- 1: "How can this be?"
+ 1: "怎麼會這樣?",
}
},
"kahili": {
"encounter": {
- 1: "So, here you are… Why don't we see who the winds favor today, you… Or me?"
+ 1: "那麼,既然來了……\n要不來看看今天的風更青睞誰?$是你……還是我?",
},
"victory": {
- 1: "It's frustrating to me as a member of the Elite Four, but it seems your strength is the real deal."
+ 1: "讓我這個四天王都感到沮喪,$看來你的力量貨真價實。",
},
"defeat": {
- 1: "That was an ace!"
+ 1: "那真是一記好球!",
}
},
"hassel": {
"encounter": {
- 1: "Prepare to learn firsthand how the fiery breath of ferocious battle feels!"
+ 1: "讓你親身感受一下什麼叫做猛烈的對戰氣息吧!",
},
"victory": {
- 1: `Fortune smiled on me this time, but…
- $Judging from how the match went, who knows if I will be so lucky next time.`,
+ 1: "這次幸運之神對我微笑了,但是……$誰知道我下次會不會這麼幸運。",
},
"defeat": {
- 1: "That was an ace!"
+ 1: "那可真厲害!",
}
},
"blue": {
"encounter": {
- 1: "You must be pretty good to get this far."
+ 1: "能走到這裡,你一定非常優秀。",
},
"victory": {
- 1: "I've only lost to him and now to you… Him? Hee, hee…"
+ 1: "我只輸給過他,現在又是你……?$你問他是誰?哈哈哈……",
},
"defeat": {
- 1: "See? My power is what got me here."
+ 1: "看吧?我的實力就是我來到這裡的原因。",
}
},
"piers": {
"encounter": {
- 1: "Get ready for a mosh pit with me and my party! Spikemuth, it's time to rock!"
+ 1: "準備好和我的隊伍來個大狂歡吧!$尖釘鎮,是時候嗨起來了!",
},
"victory": {
- 1: "Me an' my team gave it our best. Let's meet up again for a battle some time…"
+ 1: "我和我的隊伍已經盡力了。$找個時間再來對戰吧……",
},
"defeat": {
- 1: "My throat's ragged from shoutin'… But 'at was an excitin' battle!"
+ 1: "我的喉嚨因為呼喊而變得沙啞……$但這是一場激動人心的戰鬥!",
}
},
"red": {
"encounter": {
- 1: "…!"
+ 1: "…!",
},
"victory": {
- 1: "…?"
+ 1: "…?",
},
"defeat": {
- 1: "…!"
+ 1: "…!",
}
},
"jasmine": {
"encounter": {
- 1: "Oh… Your Pokémon are impressive. I think I will enjoy this."
+ 1: "哦……你的寶可夢給人印象深刻。$我想我會享受這場戰鬥的。",
},
"victory": {
- 1: "You are truly strong. I'll have to try much harder, too."
+ 1: "你真的很強。我也得加把勁了。",
},
"defeat": {
- 1: "I never expected to win."
+ 1: "我從沒想到會贏。",
}
},
"lance_champion": {
"encounter": {
- 1: "I am still the Champion. I won't hold anything back."
+ 1: "我依舊是冠軍,所以我不會留情的。",
},
"victory": {
- 1: "This is the emergence of a new Champion."
+ 1: "這就是新冠軍的崛起。",
},
"defeat": {
- 1: "I successfully defended my Championship."
+ 1: "我成功捍衛了冠軍的頭銜。",
}
},
"steven": {
"encounter": {
- 1: `Tell me… What have you seen on your journey with your Pokémon?
- $What have you felt, meeting so many other Trainers out there?
- $Traveling this rich land… Has it awoken something inside you?
- $I want you to come at me with all that you've learned.
- $My Pokémon and I will respond in turn with all that we know!`,
+ 1: "告訴我…你在和寶可夢的旅途過程中看到了什麼?$邂逅了那麼多的訓練師,\n你都會有什麼樣的感受呢?$在這豐饒的大地上旅行…\n有沒有喚醒你內在的某種東西?$你不如就用一場對戰來告訴我你心中的答案吧。$我也會和我的寶可夢用這種方式\n將我們所知道的告訴你的!",
},
"victory": {
- 1: "So I, the Champion, fall in defeat…"
+ 1: "沒想到連我這個聯盟冠軍\n都敗在你的手上了呢…",
},
"defeat": {
- 1: "That was time well spent! Thank you!"
+ 1: "正如我所期待的。謝謝!",
}
},
"cynthia": {
"encounter": {
- 1: "I, Cynthia, accept your challenge! There won't be any letup from me!"
+ 1: "我,竹蘭,接受你的挑戰!\n我是絕不會手軟的!",
},
"victory": {
- 1: "No matter how fun the battle is, it will always end sometime…"
+ 1: "無論對戰多麼有趣,\n它總會有結束的時候……",
},
"defeat": {
- 1: "Even if you lose, never lose your love of Pokémon."
+ 1: "即使你輸了,\n也永遠不要失去你對寶可夢的熱愛。",
}
},
"iris": {
"encounter": {
- 1: `Know what? I really look forward to having serious battles with strong Trainers!
- $I mean, come on! The Trainers who make it here are Trainers who desire victory with every fiber of their being!
- #And they are battling alongside Pokémon that have been through countless difficult battles!
- $If I battle with people like that, not only will I get stronger, my Pokémon will, too!
- $And we'll get to know each other even better! OK! Brace yourself!
- $I'm Iris, the Pokémon League Champion, and I'm going to defeat you!`,
+ 1: "你知道嗎?\n我真的很期待和強大的訓練師進行認真的戰鬥!$我的意思是,來吧!\n到達這裡的是那些渴望勝利的訓練師,$他們與經歷過無數艱難\n戰鬥的寶可夢一起戰鬥!$如果我和那樣的人戰鬥,\n不僅我會變得更強,我的寶可夢也會!$我們也會更好地了解彼此!\n好!做好準備吧!$我是艾莉絲,寶可夢聯盟冠軍,\n我,將打敗你!",
},
"victory": {
- 1: "Aghhhh… I did my best, but we lost…"
+ 1: "啊……我盡力了,但我們輸了……",
},
"defeat": {
- 1: "Yay! We won!"
+ 1: "耶!我們贏了!",
}
},
"hau": {
"encounter": {
- 1: `I wonder if a Trainer battles differently depending on whether they're from a warm region or a cold region.
- $Let's test it out!`,
+ 1: "我想知道,訓練師是否會根據他們是\n來自溫暖地區還是寒冷地區而以不同的方式戰鬥。$讓我們來測試一下!",
},
"victory": {
- 1: "That was awesome! I think I kinda understand your vibe a little better now!"
+ 1: "那太棒了!我覺得我現在有點了解你的感覺了!",
},
"defeat": {
- 1: "Ma-an, that was some kinda battle!"
+ 1: "老鐵,這才叫戰鬥!",
}
},
"geeta": {
"encounter": {
- 1: `I decided to throw my hat in the ring once more.
- $Come now… Show me the fruits of your training.`,
+ 1: "我決定再試一次。$來吧…讓我看看你的訓練成果。",
},
"victory": {
- 1: "I eagerly await news of all your achievements!"
+ 1: "我期待著你的成就!",
},
"defeat": {
- 1: "What's the matter? This isn't all, is it?"
+ 1: "怎麼,這就結束了?",
}
},
"nemona": {
"encounter": {
- 1: "Yesss! I'm so psyched! Time for us to let loose!"
+ 1: "耶!我太興奮了!讓我們稍微放輕鬆!",
},
"victory": {
- 1: "Well, that stinks, but I still had fun! I'll getcha next time!"
+ 1: "好吧,太糟了,但我還是玩得很開心!$下次我一定會贏你!",
},
"defeat": {
- 1: "Well, that was a great battle! Fruitful for sure."
+ 1: "好吧,那是一場很棒的戰鬥!$肯定是會有收穫的啦。",
}
},
"leon": {
"encounter": {
- 1: "We're gonna have an absolutely champion time!"
+ 1: "來享受一段冠軍時刻吧!",
},
"victory": {
- 1: `My time as Champion is over…
- $But what a champion time it's been!
- $Thank you for the greatest battle I've ever had!`,
+ 1: "我的冠軍生涯結束了……但這是多麼美好的冠軍時刻啊!但這是多麼美好的冠軍時刻啊!謝謝你給了我最精彩的一戰!",
},
"defeat": {
- 1: "An absolute champion time, that was!"
+ 1: "名副其實的冠軍時刻!",
}
},
"whitney": {
"encounter": {
- 1: "Hey! Don't you think Pokémon are, like, super cute?"
+ 1: "嘿!你不認為寶可夢超級可愛嗎?",
},
"victory": {
- 1: "Waaah! Waaah! You're so mean!"
+ 1: "哇啊!哇啊!你太壞了!",
},
"defeat": {
- 1: "And that's that!"
+ 1: "就是這樣!",
}
},
"chuck": {
"encounter": {
- 1: "Hah! You want to challenge me? Are you brave or just ignorant?"
+ 1: "哈!你想挑戰我?你是勇敢還是無知?",
},
"victory": {
- 1: "You're strong! Would you please make me your apprentice?"
+ 1: "你很強!能不能收我為徒?",
},
"defeat": {
- 1: "There. Do you realize how much more powerful I am than you?"
+ 1: "搞定。你明白我比你強得多了嗎?",
}
},
"katy": {
"encounter": {
- 1: "Don't let your guard down unless you would like to find yourself knocked off your feet!"
+ 1: "不要放鬆警惕,除非你想被蟲絲絆倒哦!",
},
"victory": {
- 1: "All of my sweet little Pokémon dropped like flies!"
+ 1: "我可愛的寶可夢們都像蒼蠅一樣墜落了!",
},
"defeat": {
- 1: "Eat up, my cute little Vivillon!"
+ 1: "開飯啦,我可愛的彩粉蝶!",
}
},
"pryce": {
"encounter": {
- 1: "Youth alone does not ensure victory! Experience is what counts."
+ 1: "年輕不代表能獲得勝利!經驗才是關鍵。",
},
"victory": {
- 1: "Outstanding! That was perfect. Try not to forget what you feel now."
+ 1: "無與倫比!贏得完美,試著不要忘記你現在的感受。",
},
"defeat": {
- 1: "Just as I envisioned."
+ 1: "正如我所料。",
}
},
"clair": {
"encounter": {
- 1: "Do you know who I am? And you still dare to challenge me?"
+ 1: "你知道我是誰嗎?知道還敢挑戰我?",
},
"victory": {
- 1: "I wonder how far you can get with your skill level. This should be fascinating."
+ 1: "我想知道以你現在的水平能走多遠,有趣。",
},
"defeat": {
- 1: "That's that."
+ 1: "就是這樣。",
}
},
"maylene": {
"encounter": {
- 1: `I've come to challenge you now, and I won't hold anything back.
- $Please prepare yourself for battle!`,
+ 1: "我現在要挑戰你,我不會保留任何實力。$請準備好戰鬥!",
},
"victory": {
- 1: "I admit defeat…"
+ 1: "是我輸了…",
},
"defeat": {
- 1: "That was awesome."
+ 1: "太棒了。",
}
},
"fantina": {
"encounter": {
- 1: `You shall challenge me, yes? But I shall win.
- $That is what the Gym Leader of Hearthome does, non?`,
+ 1: "你來挑戰吧。我會勝利。$這就是家緣市的道館館主。",
},
"victory": {
- 1: "You are so fantastically strong. I know why I have lost."
+ 1: "你是最強的,我認輸了。",
},
"defeat": {
- 1: "I am so, so, very happy!"
+ 1: "我非常,非常高興!",
}
},
"byron": {
"encounter": {
- 1: `Trainer! You're young, just like my son, Roark.
- $With more young Trainers taking charge, the future of Pokémon is bright!
- $So, as a wall for young people, I'll take your challenge!`,
+ 1: "和我兒子瓢太一樣的年輕人啊!$我相信培養年輕人\n關係到寶可夢光明的未來!$為此就讓我來成為\n年輕人必須跨越的堡壘吧!",
},
"victory": {
- 1: "Hmm! My sturdy Pokémon--defeated!"
+ 1: "唔!我千錘百煉的寶可夢!",
},
"defeat": {
- 1: "Gwahahaha! How were my sturdy Pokémon?!"
+ 1: "哈哈哈哈!怎麼樣!我千錘百煉的寶可夢!",
}
},
"olympia": {
"encounter": {
- 1: "An ancient custom deciding one's destiny. The battle begins!"
+ 1: "戰鬥是決定命運的古老傳統。讓我們開始吧!",
},
"victory": {
- 1: "Create your own path. Let nothing get in your way. Your fate, your future."
+ 1: "創造你自己的道路。$不要讓任何東西阻擋你的路、你的命運、你的未來。",
},
"defeat": {
- 1: "Our path is clear now."
+ 1: "我們的道路現在已經清晰了。",
}
},
"volkner": {
"encounter": {
- 1: `Since you've come this far, you must be quite strong…
- $I hope you're the Trainer who'll make me remember how fun it is to battle!`,
+ 1: "能留到最後的訓練家想必肯定是很強的…$希望你會是能讓我回憶起\n寶可夢對戰樂趣的訓練家!",
},
"victory": {
- 1: `You've got me beat…
- $Your desire and the noble way your Pokémon battled for you…
- $I even felt thrilled during our match. That was a very good battle.`,
+ 1: "我輸了…$你的心意,寶可夢的不顧一切。$戰鬥的時候就讓我熱血沸騰。",
},
"defeat": {
- 1: `It was not shocking at all…
- $That is not what I wanted!`,
+ 1: "完全沒感覺…$和我希望的完全不一樣!",
}
},
"burgh": {
"encounter": {
- 1: `M'hm… If I win this battle, I feel like I can draw a picture unlike any before it.
- $OK! I can hear my battle muse loud and clear. Let's get straight to it!`,
- 2: `Of course, I'm really proud of all of my Pokémon!
- $Well now… Let's get right to it!`
+ 1: "唔…我有預感,\n只要贏了這場戰鬥就能畫出更好的畫來…$嗯!戰鬥充滿了幻象!那麼,馬上開始吧。",
+ 2: "當然,我對我所有的寶可夢都相當驕傲! $現在…讓我們馬上開始吧!",
},
"victory": {
- 1: "Is it over? Has my muse abandoned me?",
- 2: "Hmm… It's over! You're incredible!"
+ 1: "結束了嗎?我的女神拋棄我了嗎?",
+ 2: "啊唔,輸了……你還真是很強啊。",
},
"defeat": {
- 1: "Wow… It's beautiful somehow, isn't it…",
- 2: `Sometimes I hear people say something was an ugly win.
- $I think if you're trying your best, any win is beautiful.`
+ 1: "唔啊……好……好美啊!",
+ 2: "偶爾也有一些不是很好看的勝利,$但只要努力了,\n不管怎麼樣的戰鬥,都是很美麗的。",
}
},
"elesa": {
"encounter": {
- 1: `C'est fini! When I'm certain of that, I feel an electric jolt run through my body!
- $I want to feel the sensation, so now my beloved Pokémon are going to make your head spin!`,
+ 1: "最後一擊!\n在確信這一點的時候全身會流淌過電流!$為追求這個快感,\n我要用可愛的寶可夢們讓你頭暈眼花。",
},
"victory": {
- 1: "I meant to make your head spin, but you shocked me instead."
+ 1: "本想讓你頭暈的,\n結果我倒反被你電到了。",
},
"defeat": {
- 1: "That was unsatisfying somehow… Will you give it your all next time?"
+ 1: "感覺還不夠啊……下次能使出全力來嗎?",
}
},
"skyla": {
"encounter": {
- 1: `It's finally time for a showdown! That means the Pokémon battle that decides who's at the top, right?
- $I love being on the summit! 'Cause you can see forever and ever from high places!
- $So, how about you and I have some fun?`,
+ 1: "終於到決戰了!\n這是決定頂點的寶可夢對戰吧?$我最喜歡頂點了!\n在高的地方能看到很遠很遠!$好了!就讓我和你好好地玩一場吧!",
},
"victory": {
- 1: "Being your opponent in battle is a new source of strength to me. Thank you!"
+ 1: "和你的戰鬥讓我更強了……謝謝。",
},
"defeat": {
- 1: "Win or lose, you always gain something from a battle, right?"
+ 1: "不管是贏了還是輸了,戰鬥都能得到一些東西。",
}
},
"brycen": {
"encounter": {
- 1: `There is also strength in being with other people and Pokémon.
- $Receiving their support makes you stronger. I'll show you this power!`,
+ 1: "有其他的人和寶可夢在一起,$這份支持會讓自己更強…\n讓我來給你展示一下這樣的強大吧!",
},
"victory": {
- 1: "The wonderful combination of you and your Pokémon! What a beautiful friendship!"
+ 1: "你和你的寶可夢!配合得天衣無縫!\n華麗的友情!",
},
"defeat": {
- 1: "Extreme conditions really test you and train you!"
+ 1: "嘗試極限!鍛鍊!",
}
},
"drayden": {
"encounter": {
- 1: `What I want to find is a young Trainer who can show me a bright future.
- $Let's battle with everything we have: your skill, my experience, and the love we've raised our Pokémon with!`,
+ 1: "現在我尋求的是\n能讓我看到光明未來的年輕訓練家。$你有多少實力,就讓我用我的經驗,\n我對寶可夢傾注的愛來驗證吧!",
},
"victory": {
- 1: "This intense feeling that floods me after a defeat… I don't know how to describe it."
+ 1: "失敗後湧現的這灼熱的意志…\n該怎麼說呢…",
},
"defeat": {
- 1: "Harrumph! I know your ability is greater than that!"
+ 1: "啊啊啊!你的實力就這種程度嗎!",
}
},
"grant": {
"encounter": {
- 1: `There is only one thing I wish for.
- $That by surpassing one another, we find a way to even greater heights.`,
+ 1: "我只期待一件事。. $通過超越彼此,\n我們找到通往更高境界的道路。",
},
"victory": {
- 1: "You are a wall that I am unable to surmount!"
+ 1: "你是一堵我無法逾越的牆!",
},
"defeat": {
- 1: `Do not give up.
- $That is all there really is to it.
- $The most important lessons in life are simple.`,
+ 1: "不要放棄。\n這就是人生的真諦。$大道至簡。",
}
},
"korrina": {
"encounter": {
- 1: "Time for Lady Korrina's big appearance!"
+ 1: "小女子科爾尼來大顯身手啦!",
},
"victory": {
- 1: "It's your very being that allows your Pokémon to evolve!"
+ 1: "正因為有你,\n才能讓你的寶可夢進化!",
},
"defeat": {
- 1: "What an explosive battle!"
+ 1: "好勁爆的戰鬥呀!",
}
},
"clemont": {
"encounter": {
- 1: "Oh! I'm glad that we got to meet!"
+ 1: "哦!我很高興我們能見面!",
},
"victory": {
- 1: "Your passion for battle inspires me!"
+ 1: "你對戰鬥的熱情激勵了我!",
},
"defeat": {
- 1: "Looks like my Trainer-Grow-Stronger Machine, Mach 2 is really working!"
+ 1: "看來我的訓練師成長強化機-馬克2號,\n真的起作用了!",
}
},
"valerie": {
"encounter": {
- 1: `Oh, if it isn't a young Trainer… It is lovely to get to meet you like this.
- $Then I suppose you have earned yourself the right to a battle, as a reward for your efforts.
- $The elusive Fairy may appear frail as the breeze and delicate as a bloom, but it is strong.`,
+ 1: "哦,這不是一個年輕的訓練師嗎……\n能這樣遇見你真是太好了。 $我想你已經獲得了這場戰鬥的資格,\n作為對你努力的獎勵。 $難以捉摸的妖精可能看起來像微風一樣脆弱,\n像花朵一樣精緻,但很堅強。",
},
"victory": {
- 1: "I hope that you will find things worth smiling about tomorrow…"
+ 1: "我希望明天你也能找到一些值得會心微笑的事物……",
},
"defeat": {
- 1: "Oh goodness, what a pity…"
+ 1: "哦,天哪,這太遺憾了……",
}
},
"wulfric": {
"encounter": {
- 1: `You know what? We all talk big about what you learn from battling and bonds and all that…
- $But really, I just do it 'cause it's fun.
- $Who cares about the grandstanding? Let's get to battling!`,
+ 1: "你知道嗎?\n我們都說戰鬥能學到東西,羈絆之類的,$但實際上,我這麼做只是因為有趣。 $誰在乎那些華而不實的東西?\n我們來戰鬥吧!",
},
"victory": {
- 1: "Outstanding! I'm tough as an iceberg, but you smashed me through and through!"
+ 1: "傑出!我像冰山一樣堅硬,但你徹底擊潰了我!",
},
"defeat": {
- 1: "Tussle with me and this is what happens!"
+ 1: "和我幹的結果就是這樣!",
}
},
"kabu": {
"encounter": {
- 1: `Every Trainer and Pokémon trains hard in pursuit of victory.
- $But that means your opponent is also working hard to win.
- $In the end, the match is decided by which side is able to unleash their true potential.`,
+ 1: "每個訓練師和寶可夢都在努力追求勝利。$但這意味著你的對手也在努力贏得勝利。$最終,比賽是由哪一方\n能夠發揮出他們真正的潛力來決定的。",
},
"victory": {
- 1: "I'm glad I could battle you today!"
+ 1: "我很高興今天能和你戰鬥!",
},
"defeat": {
- 1: "That's a great way for me to feel my own growth!"
+ 1: "這是我感覺自己的成長的好方式!",
}
},
"bea": {
"encounter": {
- 1: `Do you have an unshakable spirit that won't be moved, no matter how you are attacked?
- $I think I'll just test that out, shall I?`,
+ 1: "你有沒有一種不可動搖的精神,\n受到什麼攻擊都安如磐石? $就讓我來試試吧?",
},
"victory": {
- 1: "I felt the fighting spirit of your Pokémon as you led them in battle."
+ 1: "我感受到了你的寶可夢\n在戰鬥中被你指揮時的戰鬥之魂。",
},
"defeat": {
- 1: "That was the best sort of match anyone could ever hope for."
+ 1: "每個人都希望能有一場這樣的好比賽。",
}
},
"opal": {
"encounter": {
- 1: "Let me have a look at how you and your partner Pokémon behave!"
+ 1: "讓我看看你和你的寶可夢的表現如何!",
},
"victory": {
- 1: "Your pink is still lacking, but you're an excellent Trainer with excellent Pokémon."
+ 1: "你不夠粉嫩呀,\n但你是一個優秀的訓練師,$還擁有著優秀的寶可夢。",
},
"defeat": {
- 1: "Too bad for you, I guess."
+ 1: "對你來說太慘了,我覺得。",
}
},
"bede": {
"encounter": {
- 1: "I suppose I should prove beyond doubt just how pathetic you are and how strong I am."
+ 1: "就讓我來證明你有多可憐,我有多強大。",
},
"victory": {
- 1: "I see… Well, that's fine. I wasn't really trying all that hard anyway."
+ 1: "我懂了……好吧。其實我還沒拿出全力呢。",
},
"defeat": {
- 1: "Not a bad job, I suppose."
+ 1: "我覺得我打得不錯。",
}
},
"gordie": {
"encounter": {
- 1: "So, let's get this over with."
+ 1: "好了,我們來做個了結吧!",
},
"victory": {
- 1: "I just want to climb into a hole… Well, I guess it'd be more like falling from here."
+ 1: "我只想要挖一個洞爬進去……$好吧,現在更像是掉了進去。",
},
"defeat": {
- 1: "Battle like you always do, victory will follow!"
+ 1: "像往常一樣戰鬥,勝利就會隨之而來!",
}
},
"marnie": {
"encounter": {
- 1: `The truth is, when all's said and done… I really just wanna become Champion for myself!
- $So don't take it personal when I kick your butt!`,
+ 1: "事實上,言而總之… \n人家自己也想當冠軍呀! $所以別認為我在針對你!",
},
"victory": {
- 1: "OK, so I lost… But I got to see a lot of the good points of you and your Pokémon!"
+ 1: "好吧,我還是輸了……\n但是我看到了很多你和你寶可夢的優點哦",
},
"defeat": {
- 1: "Hope you enjoyed our battle tactics."
+ 1: "希望你喜歡我們的戰鬥策略。",
}
},
"raihan": {
"encounter": {
- 1: "I'm going to defeat the Champion, win the whole tournament, and prove to the world just how strong the great Raihan really is!"
+ 1: "我打算擊敗冠軍,贏得錦標賽,\n並向世界證明奇巴納大人有多強!",
},
"victory": {
- 1: `I look this good even when I lose.
- $It's a real curse.
- $Guess it's time for another selfie!`,
+ 1: "就算輸了我也好帥。$真是罪孽深重啊。$看來得再來張自拍了!",
},
"defeat": {
- 1: "Let's take a selfie to remember this."
+ 1: "為了紀念此刻,來張自拍吧!",
}
},
"brassius": {
"encounter": {
- 1: "I assume you are ready? Let our collaborative work of art begin!"
+ 1: "你應該準備好了吧,\一起完成這美麗的藝術作品吧!",
},
"victory": {
- 1: "Ahhh…vant-garde!"
+ 1: "啊……前衛!",
},
"defeat": {
- 1: "I will begin on a new piece at once!"
+ 1: "我將立即開始新的創作!",
}
},
"iono": {
"encounter": {
- 1: `How're ya feelin' about this battle?
- $...
- $Let's get this show on the road! How strong is our challenger?
- $I 'unno! Let's find out together!`,
+ 1: "誰在奇述!是我奇樹!\n做好準備了嗎!$...$直播開始!\n今天的小挑戰者有多強?$奇樹不知道哦~\n讓我們一起來看看吧!",
},
"victory": {
- 1: "You're as flashy and bright as a 10,000,000-volt Thunderbolt, friendo!"
+ 1: "你的閃耀如1000萬伏特!朋友!",
},
"defeat": {
- 1: "Your eyeballs are MINE!"
+ 1: "奇樹奇樹捕獲你的眼球!",
}
},
"larry": {
"encounter": {
- 1: "When all's said and done, simplicity is strongest."
+ 1: "歸根結底,普普通通就是最強。",
},
"victory": {
- 1: "A serving of defeat, huh?"
+ 1: "哼,給我上了一道“戰敗”。",
},
"defeat": {
- 1: "I'll call it a day."
+ 1: "下班打卡,走了",
}
},
"ryme": {
"encounter": {
- 1: "Come on, baby! Rattle me down to the bone!"
+ 1: "寶貝, 一起! \n搖滾搖到骨子裡!",
},
"victory": {
- 1: "You're cool, my friend—you move my SOUL!"
+ 1: "你好酷!我佩服!\n我的靈魂為你哭!",
},
"defeat": {
- 1: "Later, baby!"
+ 1: "再會, 寶貝!",
}
},
"grusha": {
"encounter": {
- 1: "All I need to do is make sure the power of my Pokémon chills you to the bone!"
+ 1: "我保證我寶可夢的力量\n會讓你感到寒冷徹骨!",
},
"victory": {
- 1: "Your burning passion… I kinda like it, to be honest."
+ 1: "你燃燒的熱情……老實說,我有點喜歡。",
},
"defeat": {
- 1: "Things didn't heat up for you."
+ 1: "你沒有升溫。",
}
},
"marnie_elite": {
"encounter": {
- 1: "You've made it this far, huh? Let's see if you can handle my Pokémon!",
- 2: "I'll give it my best shot, but don't think I'll go easy on you!"
+ 1: "你已經走到這一步了?$哼~ 看看你能不能對付我的寶可夢!",
+ 2: "我將全力以赴, 別覺得我會手下留情哦~",
},
"victory": {
- 1: "I can't believe I lost... But you deserved that win. Well done!",
- 2: "Looks like I've still got a lot to learn. Great battle, though!"
+ 1: "不敢相信…我輸掉了… $但是你確實贏得好,幹得漂亮捏~",
+ 2: "看來我還要多多學習呀,\n不過你打得很不錯哦~",
},
"defeat": {
- 1: "You put up a good fight, but I've got the edge! Better luck next time!",
- 2: "Seems like my training's paid off. Thanks for the battle!"
+ 1: "你打得不錯,但是我更勝一籌!$祝你下次好運啦~",
+ 2: "看來我的練習有所回報了。\n感謝一戰!",
}
},
"nessa_elite": {
"encounter": {
- 1: "The tides are turning in my favor. Ready to get swept away?",
- 2: "Let's make some waves with this battle! I hope you're prepared!"
+ 1: "海流正在朝著對我有利的方向轉變。$準備好被捲走了嗎?",
+ 2: "讓我們在這場戰鬥中掀起波瀾!$我希望你做好準備!",
},
"victory": {
- 1: "You navigated those waters perfectly... Well done!",
- 2: "Looks like my currents were no match for you. Great job!"
+ 1: "你完美地渡過了這片水域......幹得好!",
+ 2: "看來我現在無法與你匹敵。幹得好!",
},
"defeat": {
- 1: "Water always finds a way. That was a refreshing battle!",
- 2: "You fought well, but the ocean's power is unstoppable!"
+ 1: "水總能找到出路。\n真是爽快的一戰!",
+ 2: "你打得很好,\n但海洋的力量是不可阻擋的!",
}
},
"bea_elite": {
"encounter": {
- 1: "Prepare yourself! My fighting spirit burns bright!",
- 2: "Let's see if you can keep up with my relentless pace!"
+ 1: "做好準備!我的鬥志熊熊燃燒!",
+ 2: "讓我們看看你是否能跟上我永不停歇的節奏!",
},
"victory": {
- 1: "Your strength... It's impressive. You truly deserve this win.",
- 2: "I've never felt this intensity before. Amazing job!"
+ 1: "你的實力......令人印象深刻。\n你真的值得這場勝利。",
+ 2: "我以前從未感受過這種強度。\n太棒了!",
},
"defeat": {
- 1: "Another victory for my intense training regimen! Well done!",
- 2: "You've got strength, but I trained harder. Great battle!"
+ 1: "我的高強度訓練又帶來勝利了!\n幹得好!",
+ 2: "你有實力,但我的訓練更努力。\n精彩的戰鬥!",
}
},
"allister_elite": {
"encounter": {
- 1: "Shadows fall... Are you ready to face your fears?",
- 2: "Let's see if you can handle the darkness that I command."
+ 1: "黑暗降臨...你準備好面對你的恐懼了嗎?",
+ 2: "讓我們看看你能否應對我所操控的黑暗。",
},
"victory": {
- 1: "You've dispelled the shadows... For now. Well done.",
- 2: "Your light pierced through my darkness. Great job."
+ 1: "你已經驅散了陰影......\n暫時。幹得很好。",
+ 2: "你的光芒刺穿了我的黑暗。幹得好。",
},
"defeat": {
- 1: "The shadows have spoken... Your strength isn't enough.",
- 2: "Darkness triumphs... Maybe next time you'll see the light."
+ 1: "黑影在輕語...\n你的力量還不夠。",
+ 2: "黑暗獲勝了......\n也許下次你會看到光明。",
}
},
"raihan_elite": {
"encounter": {
- 1: "Storm's brewing! Let's see if you can weather this fight!",
- 2: "Get ready to face the eye of the storm!"
+ 1: "風暴來臨!你能挺過這場戰鬥嗎!",
+ 2: "準備好面對風暴之眼!",
},
"victory": {
- 1: "You've bested the storm... Incredible job!",
- 2: "You rode the winds perfectly... Great battle!"
+ 1: "你戰勝了風暴...難以置信!",
+ 2: "你完美地駕馭了風……打得好!",
},
"defeat": {
- 1: "Another storm weathered, another victory claimed! Well fought!",
- 2: "You got caught in my storm! Better luck next time!"
+ 1: "又一場風暴襲來,又一場勝利!打得好!",
+ 2: "你被我的風暴捲入了!祝你下次好運!",
+ }
+ },
+ "alder": {
+ "encounter": {
+ 1: "準備好和合眾最強的訓練家交手吧!"
+ },
+ "victory": {
+ 1: "精彩!簡直就是天下無雙!"
+ },
+ "defeat": {
+ 1: `戰鬥結束後,我的心像是吹過了溫和的風…
+ $真是厲害!`
+ }
+ },
+ "kieran": {
+ "encounter": {
+ 1: `我的努力讓我越來越強!
+ $所以我不會輸。`
+ },
+ "victory": {
+ 1: `不可能…
+ $真是一場有趣又激動人心的戰鬥啊!`
+ },
+ "defeat": {
+ 1: `哇塞,好一場戰鬥!
+ $你得多練練了。`
}
},
"rival": {
"encounter": {
- 1: `@c{smile}Hey, I was looking for you! I knew you were eager to get going but I expected at least a goodbye…
- $@c{smile_eclosed}So you're really pursuing your dream after all?\n I almost can't believe it.
- $@c{serious_smile_fists}Since we're here, how about a battle?\nAfter all, I want to make sure you're ready.
- $@c{serious_mopen_fists}Don't hold back, I want you to give me everything you've got!`
+ 1: "@c{smile}嘿,我在找你呢!我知道你急著上路,\n但至少說個再見吧…$@c{smile_eclosed}所以你終於要開始追逐夢想了?\n我幾乎不敢相信。$@c{serious_smile_fists}來都來了,來一場對戰怎麼樣?\n畢竟,我想看看你是不是準備周全了。$@c{serious_mopen_fists}不要手下留情,我想讓你全力以赴!",
},
"victory": {
- 1: `@c{shock}Wow… You cleaned me out.\nAre you actually a beginner?
- $@c{smile}Maybe it was a bit of luck but…\nWho knows you might just be able to go all the way.
- $By the way, the professor asked me to give you these items. They look pretty cool.
- $@c{serious_smile_fists}Good luck out there!`
+ 1: "@c{shock}哇…你徹底擊敗了我。\n你是真初學者嗎?$@c{smile}也許是靠點運氣,但是…\n誰知道,你可能真的能一路走下去。$順便說一下,博士讓我給你這些東西。它們看起來可牛了。$@c{serious_smile_fists}祝你好运!",
},
},
"rival_female": {
"encounter": {
- 1: `@c{smile_wave}There you are! I've been looking everywhere for you!\n@c{angry_mopen}Did you forget to say goodbye to your best friend?
- $@c{smile_ehalf}You're going after your dream, huh?\nThat day is really today isn't it…
- $@c{smile}Anyway, I'll forgive you for forgetting me, but on one condition. @c{smile_wave_wink}You have to battle me!
- $@c{angry_mopen}Give it your all! Wouldn't want your adventure to be over before it started, right?`
+ 1: "@c{smile_wave}你在這兒啊!我到處找你呢!$@c{angry_mopen}你忘了和你最好的朋友說再見了嗎?$@c{smile_ehalf}你要去追逐夢想了,對吧?\n從今天開始,是不是…$@c{smile}不管怎樣,忘了我的事就原諒你吧,\n但有個條件。@c{smile_wave_wink}你必須和我對戰!$@c{angry_mopen}全力以赴!\n你也不想讓你的冒險在開始之前就結束了,對吧?",
},
"victory": {
- 1: `@c{shock}You just started and you're already this strong?!@d{96}\n@c{angry}You totally cheated, didn't you?
- $@c{smile_wave_wink}Just kidding!@d{64} @c{smile_eclosed}I lost fair and square… I have a feeling you're going to do really well out there.
- $@c{smile}By the way, the professor wanted me to give you some items. Hopefully they're helpful!
- $@c{smile_wave}Do your best like always! I believe in you!`
+ 1: "@c{shock}你剛開始就已經這麼強了?!@d{96}$@c{angry}你是不是開了?$@c{smile_wave_wink}只是開個玩笑啦!@d{64} @c{smile_eclosed}我輸地心服口服了…\n我感覺你出去挺有天賦的。$@c{smile}順便說一下,博士想讓我給你一些東西。\n希望它們能幫上忙!$@c{smile_wave}像往常一樣盡力而為!\n我相信你!",
},
},
"rival_2": {
"encounter": {
- 1: `@c{smile}Hey, you're here too?\n@c{smile_eclosed}Still a perfect record, huh…?
- $@c{serious_mopen_fists}I know it kind of looks like I followed you here, but that's mostly not true.
- $@c{serious_smile_fists}Honestly though, I've been itching for a rematch since you beat me back at home.
- $I've been doing a lot of my own training so I'll definitely put up a fight this time.
- $@c{serious_mopen_fists}Don't hold back, just like before!\nLet's go!`
+ 1: "@c{smile}嘿,你也在這裡嗎?$@c{smile_eclosed}一路過關斬將,是吧?$@c{serious_mopen_fists}我知道看起來好像我尾隨著你來到這裡,\n怎麼可能啦。$@c{serious_smile_fists}說真的,自從你在老家打敗我後,\n我就一直很渴望再比一場。$我自己也進行了很多訓練,\n所以這次我肯定會好好打一場。$@c{serious_mopen_fists}不要手下留情,就像以前一樣!$讓我們開始吧!",
},
"victory": {
- 1: `@c{neutral_eclosed}Oh. I guess I was overconfident.
- $@c{smile}That's alright, though. I figured this might happen.\n@c{serious_mopen_fists}It just means I need to try harder for next time!\n
- $@c{smile}Oh, not that you really need the help, but I had an extra one of these lying around and figured you might want it.\n
- $@c{serious_smile_fists}Don't expect another one after this, though!\nI can't keep giving my opponent an advantage after all.
- $@c{smile}Anyway, take care!`
+ 1: "@c{neutral_eclosed}哦。我過於自信了。$@c{smile}不過沒關係。我猜到可能會這樣。$@c{serious_mopen_fists}這只意味著我下次需要更努力!$$@c{smile}呃,不是特意幫你,我正好有多餘的這個,\n我覺得你可能想要。$$@c{serious_smile_fists}不過這次之後別指望再有了!$我不能一直給我的對手優勢。$@c{smile}反正,保重!",
},
},
"rival_2_female": {
"encounter": {
- 1: `@c{smile_wave}Oh, fancy meeting you here. Looks like you're still undefeated. @c{angry_mopen}Huh… Not bad!
- $@c{angry_mopen}I know what you're thinking, and no, I wasn't creeping on you. @c{smile_eclosed}I just happened to be in the area.
- $@c{smile_ehalf}I'm happy for you but I just want to let you know that it's OK to lose sometimes.
- $@c{smile}We learn from our mistakes, often more than we would if we kept succeeding.
- $@c{angry_mopen}In any case, I've been training hard for our rematch, so you'd better give it your all!`
+ 1: "@c{smile_wave}哦,真巧,在這裡遇見你。\n看來你還沒輸過嘛。@c{angry_mopen}哈……好傢伙!$@c{angry_mopen}我知道你在想什麼,\n不,我才不會跟蹤你什麼呢。 @c{smile_eclosed}我只是碰巧在附近。$@c{smile_ehalf}我為你感到高興,但我只想讓你知道\n有時輸了是可以接受的。$@c{smile}我們從錯誤中學到的東西\n往往比我們一直成功時學到的還要多。$@c{angry_mopen}無論如何,我為了我們的複賽已經努力訓練了\n所以你最好全力以赴!",
},
"victory": {
- 1: `@c{neutral}I… wasn't supposed to lose that time…
- $@c{smile}Aw well. That just means I'll have to train even harder for next time!
- $@c{smile_wave}I also got you another one of these!\n@c{smile_wave_wink}No need to thank me~.
- $@c{angry_mopen}This is the last one, though! You won't be getting anymore freebies from me after this!
- $@c{smile_wave}Keep at it!`
+ 1: "@c{neutral}我……沒打算會輸來著……$@c{smile}嗷……好吧。看來我要再更加努力訓練了!$@c{smile_wave}我還給你帶了個這個$@c{smile_wave_wink}不用謝我哦~.$@c{angry_mopen}不過,這是最後一個啦!\n 你可別想再從我這賺小便宜了~$@c{smile_wave}要保重哦!",
},
"defeat": {
- 1: "It's OK to lose sometimes…"
+ 1: "輸了有時候也不要緊的…",
}
},
"rival_3": {
"encounter": {
- 1: `@c{smile}Hey, look who it is! It's been a while.\n@c{neutral}You're… still undefeated? Huh.
- $@c{neutral_eclosed}Things have been kind of… strange.\nIt's not the same back home without you.
- $@c{serious}I know it's selfish, but I need to get this off my chest.\n@c{neutral_eclosed}I think you're in over your head here.
- $@c{serious}Never losing once is just unrealistic.\nWe need to lose sometimes in order to grow.
- $@c{neutral_eclosed}You've had a great run but there's still so much ahead, and it only gets harder. @c{neutral}Are you prepared for that?
- $@c{serious_mopen_fists}If so, prove it to me.`
+ 1: "@c{smile}嘿,看看這是誰!好久不見啊。$@c{neutral}你……還是沒輸過?哈…$@c{neutral_eclosed}這有點……不太對勁。$沒有你一起,回家的感覺有很不一樣。$@c{serious}雖然我知道這挺別扭的,但我就直說了。$@c{neutral_eclosed}我覺得你有點兒難以理解。$@c{serious}沒有人能夠戰無不勝。$失敗乃成功之母。$@c{neutral_eclosed}你已經贏得了夠好的成績,\n但前面道阻且長,只會愈發艱難。 @c{neutral}你做好準備了沒?$@c{serious_mopen_fists}如果做好了,證明給我看吧。",
},
"victory": {
- 1: "@c{angry_mhalf}This is ridiculous… I've hardly stopped training…\nHow are we still so far apart?"
+ 1: "@c{angry_mhalf}這太離譜了……我幾乎從沒停下訓練……$我們之間的差距怎麼還是這麼大?",
},
},
"rival_3_female": {
"encounter": {
- 1: `@c{smile_wave}Long time no see! Still haven't lost, huh.\n@c{angry}You're starting to get on my nerves. @c{smile_wave_wink}Just kidding!
- $@c{smile_ehalf}But really, don't you miss home by now? Or… me?\nI… I mean, we've really missed you.
- $@c{smile_eclosed}I support you in your dream and everything, but the reality is you're going to lose sooner or later.
- $@c{smile}And when you do, I'll be there for you like always.\n@c{angry_mopen}Now, let me show you how strong I've become!`
+ 1: "@c{smile_wave}好久不見!還沒輸過,對吧。$@c{angry}我覺得你點煩了。@c{smile_wave_wink}開玩笑啦!$@c{smile_ehalf}但說真的,你現在不想家嗎?\n 不想…我嗎?$我……我的意思是,我們真的很想你。$@c{smile_eclosed}我支持你的一切,包括你的夢想。\n但現實就是你早晚會經歷失敗。$@c{smile}當你失敗的時候,我想像往常一樣陪在你身邊。$@c{angry_mopen}現在,給你看看我變得多強了吧!",
},
"victory": {
- 1: "@c{shock}After all that… it wasn't enough…?\nYou'll never come back at this rate…"
-
+ 1: "@c{shock}都這樣了……還是不夠嗎?$這樣下去,你就永遠不會回來了……",
},
"defeat": {
- 1: "You gave it your best, now let's go home."
+ 1: "你盡力了,現在讓我們回家吧。",
}
},
"rival_4": {
"encounter": {
- 1: `@c{neutral}Hey.
- $I won't mince words or pleasantries with you.\n@c{neutral_eclosed}I'm here to win, plain and simple.
- $@c{serious_mhalf_fists}I've learned to maximize my potential by putting all my time into training.
- $@c{smile}You get a lot of extra time when you cut out the unnecessary sleep and social interaction.
- $@c{serious_mopen_fists}None of that matters anymore, not until I win.
- $@c{neutral_eclosed}I've even reached the point where I don't lose anymore.\n@c{smile_eclosed}I suppose your philosophy wasn't so wrong after all.
- $@c{angry_mhalf}Losing is for the weak, and I'm not weak anymore.
- $@c{serious_mopen_fists}Prepare yourself.`
+ 1: "@c{neutral}嘿。$我不會對你說什麼拐彎抹角的客套話。$@c{neutral_eclosed}我來,就是為了贏,簡單明了。$@c{serious_mhalf_fists}我將所有時間都投入到訓練中,\n掌握了如何發揮我的潛力。$@c{smile}當你削減掉不必要的睡眠和社交後,\n你會得到很多額外的時間。$@c{serious_mopen_fists}但在我獲勝之前,這些都不重要了。$@c{neutral_eclosed}我甚至已經到達了戰無不敗的境地。$@c{smile_eclosed}我覺得你的思路倒是也沒毛病。$@c{angry_mhalf}失敗是屬於弱者的,\n我已經不再軟弱了。$@c{serious_mopen_fists}準備好吧。",
},
"victory": {
- 1: "@c{neutral}What…@d{64} What are you?"
+ 1: "@c{neutral}你…@d{64} 你是人嗎?",
},
},
"rival_4_female": {
"encounter": {
- 1: `@c{neutral}It's me! You didn't forget about me again… did you?
- $@c{smile}You should be proud of how far you made it. Congrats!\nBut it looks like it's the end of your journey.
- $@c{smile_eclosed}You've awoken something in me I never knew was there.\nIt seems like all I do now is train.
- $@c{smile_ehalf}I hardly even eat or sleep now, I just train my Pokémon all day, getting stronger every time.
- $@c{neutral}In fact, I… hardly recognize myself.
- $And now, I've finally reached peak performance.\nI don't think anyone could beat me now.
- $And you know what? It's all because of you.\n@c{smile_ehalf}I don't know whether to thank you or hate you.
- $@c{angry_mopen}Prepare yourself.`
+ 1: "@c{neutral}是我哦!沒又把我忘了吧……是嗎?$@c{smile}你應該為自己走了這麼遠感到驕傲。恭喜你!$但看來你的旅程到此為止了。$@c{smile_eclosed}你喚醒了我體內一些我從未有過的東西。\n就像我現在滿腦子除了訓練還是訓練。$@c{smile_ehalf}我幾乎已經沒空吃飯睡覺了,\n我沒日沒夜訓練我的寶可夢,每次都能變得更強。$@c{neutral}事實上,我……幾乎不認識自己了。$現在,我終於達到了巔峰。\n我感覺我已經戰無不勝了。$而且你知道嗎?這一切都是因為你。$@c{smile_ehalf}我不知道到底是該感謝你還是恨你。$@c{angry_mopen}做好準備…",
},
"victory": {
- 1: "@c{neutral}What…@d{64} What are you?"
-
+ 1: "@c{neutral}你…@d{64} 你是人嗎?",
},
"defeat": {
- 1: "$@c{smile}You should be proud of how far you made it."
+ 1: "@c{smile}你應該為自己走了這麼遠感到驕傲。",
}
},
"rival_5": {
@@ -2242,47 +2308,18 @@ export const PGMdialogue: DialogueTranslationEntries = {
},
"rival_6": {
"encounter": {
- 1: `@c{smile_eclosed}We meet again.
- $@c{neutral}I've had some time to reflect on all this.\nThere's a reason this all seems so strange.
- $@c{neutral_eclosed}Your dream, my drive to beat you…\nIt's all a part of something greater.
- $@c{serious}This isn't about me, or about you… This is about the world, @c{serious_mhalf_fists}and it's my purpose to push you to your limits.
- $@c{neutral_eclosed}Whether I've fulfilled that purpose I can't say, but I've done everything in my power.
- $@c{neutral}This place we ended up in is terrifying… Yet somehow I feel unphased, like I've been here before.
- $@c{serious_mhalf_fists}You feel the same, don't you?
- $@c{serious}…and it's like something here is speaking to me.\nThis is all the world's known for a long time now.
- $Those times we cherished together that seem so recent are nothing but a distant memory.
- $@c{neutral_eclosed}Who can say whether they were ever even real in the first place.
- $@c{serious_mopen_fists}You need to keep pushing, because if you don't, it will never end. You're the only one who can do this.
- $@c{serious_smile_fists}I hardly know what any of this means, I just know that it's true.
- $@c{serious_mopen_fists}If you can't defeat me here and now, you won't stand a chance.`
+ 1: "@c{smile_eclosed}又見面了。$@c{neutral}我花了點時間思考反思\n有理由說明為什麼這一切都顯得如此奇妙。$@c{neutral_eclosed}你所追逐的夢想,我想擊敗你的決心…$這都是某種龐大使命的一部分。$@c{serious}這不僅僅是關於我和你… 而是關於這個世界, @c{serious_mhalf_fists}我的使命就是將你推向極限。$@c{neutral_eclosed}我是否達成了那個使命,我說不上來,但我已盡我所能。$@c{neutral}我們最終到達的這個地方看起來很可怕\n 然而不知何故,我心中毫無畏懼,好像我早就來過這裡。$@c{serious_mhalf_fists}你也有同樣的感覺,對吧?$@c{serious}……這裡好像有什麼東西在呼喚我。\n這是世界早已記錄的一切。$那些我們經歷過的時光,那些記憶猶新的過去,\n其實只是遙遠的回憶。$@c{neutral_eclosed}誰能保證它們是否真的發生過。$@c{serious_mopen_fists}你必須繼續前進,不然的話,這一切將永無止境。\n這件事而只有你能辦成。$@c{serious_smile_fists}我不清楚這一切意味著什麼,但我知道……$@c{serious_mopen_fists}如果現在你不能就此擊敗我,\n你將毫無機會可言。",
},
"victory": {
- 1: `@c{smile_eclosed}It looks like my work is done here.
- $I want you to promise me one thing.\n@c{smile}After you heal the world, please come home.`
+ 1: "@c{smile_eclosed}看來我的使命在這裡已經完成了。\n我想讓你答應我一件事。$@c{smile}在你拯救世界之後,要回家。",
},
},
"rival_6_female": {
"encounter": {
- 1: `@c{smile_ehalf}So it's just us again.
- $@c{smile_eclosed}You know, I keep going around and around in my head…
- $@c{smile_ehalf}There's something to all this, why everything seems so strange now…
- $@c{smile}You have your dream, and I have this ambition in me…
- $I just can't help but feel there's a greater purpose to all this, to what we're doing, you and I.
- $@c{smile_eclosed}I think I'm supposed to push you… to your limits.
- $@c{smile_ehalf}I'm not sure if I've been doing a good job at that, but I've tried my best up to now.
- $It's something about this strange and dreadful place… Everything seems so clear…
- $This… is all the world's known for a long time now.
- $@c{smile_eclosed}It's like I can barely remember the memories we cherished together.
- $@c{smile_ehalf}Were they even real? They seem so far away now…
- $@c{angry_mopen}You need to keep pushing, because if you don't, it will never end. You're the only one who can do this.
- $@c{smile_ehalf}I… don't know what all this means… but I feel it's true.
- $@c{neutral}If you can't defeat me here and now, you won't stand a chance.`
+ 1: "@c{smile_ehalf}又只有我們兩個人了。$@c{smile_eclosed}你知道嗎,我在心裡想啊想,\n想了好久……$@c{smile_ehalf}這一切背後是有什麼原因嗎,\n為什麼一切現在看起來都這麼奇怪……$@c{smile}你有你的夢想,而我內心有這個抱負……$我不禁感覺這一切背後有一個更龐大的力量,$掌控者我們所做的一切,你和我之間。$@c{smile_eclosed}我想我注定要推動你……到你的極限。$@c{smile_ehalf}我不清楚我是否一直做得很好,\n但到現在為止,我已經盡力了。$這個奇怪而可怕的地方……\n一切看起來都那麼清晰……$這是世界早已記錄的一切。$@c{smile_eclosed}我好像記不清我們一起度過的日子了。$@c{smile_ehalf}那些回憶到底是真的嗎?\n怎麼感覺這麼久遠……$@c{angry_mopen}你得繼續前進,不然的話,這一切將永無止境。\n你是唯一能做到這件事的。$@c{smile_ehalf}我……不知道這一切意味著什麼……\n但我明白$@c{neutral}如果你現在不能就此擊敗我,\n你將毫無機會可言。",
},
"victory": {
- 1: `@c{smile_ehalf}I… I think I fulfilled my purpose…
- $@c{smile_eclosed}Promise me… After you heal the world… Please… come home safe.
- $@c{smile_ehalf}…Thank you.`
-
+ 1: "@c{smile_ehalf}我……\n我想我完成了我的使命……$@c{smile_eclosed}答應我……在你拯救世界之後\n……要……平安到家。$@c{smile_ehalf}……謝謝你。",
},
},
};
@@ -2293,17 +2330,17 @@ export const PGFdialogue: DialogueTranslationEntries = PGMdialogue;
// Dialogue of the endboss of the game when the player character is male (Or unset)
export const PGMbattleSpecDialogue: SimpleTranslationEntries = {
- "encounter": `It appears the time has finally come once again.\nYou know why you have come here, do you not?
- $You were drawn here, because you have been here before.\nCountless times.
- $Though, perhaps it can be counted.\nTo be precise, this is in fact your 5,643,853rd cycle.
- $Each cycle your mind reverts to its former state.\nEven so, somehow, remnants of your former selves remain.
- $Until now you have yet to succeed, but I sense a different presence in you this time.\n
- $You are the only one here, though it is as if there is… another.
- $Will you finally prove a formidable challenge to me?\nThe challenge I have longed for for millennia?
- $We begin.`,
- "firstStageWin": `I see. The presence I felt was indeed real.\nIt appears I no longer need to hold back.
- $Do not disappoint me.`,
- "secondStageWin": "…Magnificent."
+ "encounter": `看來終於又到了那個時候。\n你知道自己為何會來到這裡,不是嗎?
+ $你被吸引到這裡,因為你以前就來過這裡。\n無數次。
+ $儘管,或許可以數一數。\n準確地說,這實際上是你的第5,643,853次循環。
+ $每一次循環,你的思想都會恢復到之前的狀態。\n即便如此,不知何故,你之前自我的殘留仍然存在。
+ $直到現在,你仍未成功,但我感覺這次你身上有一種異樣的氣息。
+ $你是這裡唯一的人,儘管感覺上還有……另一個人。
+ $你最終會成為對我來的一個硬茬嗎?\n我渴望了數千年的挑戰?
+ $我們,開始。`,
+ "firstStageWin": `我明白了。我所感覺到的氣息確實是真實的。\n看來我不再需要保留實力了。
+ $別讓我失望。`,
+ "secondStageWin": "…漂亮。"
};
// Dialogue of the endboss of the game when the player character is female. For languages that do not have gendered pronouns, this can be set to PGMbattleSpecDialogue.
@@ -2312,21 +2349,21 @@ export const PGFbattleSpecDialogue: SimpleTranslationEntries = PGMbattleSpecDial
// Dialogue that does not fit into any other category (e.g. tutorial messages, or the end of the game). For when the player character is male
export const PGMmiscDialogue: SimpleTranslationEntries = {
"ending":
- `@c{smile}Oh? You won?@d{96} @c{smile_eclosed}I guess I should've known.\nBut, you're back now.
- $@c{smile}It's over.@d{64} You ended the loop.
- $@c{serious_smile_fists}You fulfilled your dream too, didn't you?\nYou didn't lose even once.
- $@c{neutral}I'm the only one who'll remember what you did.@d{96}\nI guess that's okay, isn't it?
- $@c{serious_smile_fists}Your legend will always live on in our hearts.
- $@c{smile_eclosed}Anyway, I've had about enough of this place, haven't you? Let's head home.
- $@c{serious_smile_fists}Maybe when we get back, we can have another battle?\nIf you're up to it.`,
+ `@c{smile}哦?你贏了?@d{96} @c{smile_eclosed}我應該早猜到了\n你回來了。
+ $@c{smile}結束了。@d{64} 你終結了這個循環。
+ $@c{serious_smile_fists}你也完成了自己的夢想,不是嗎?\n你甚至一次都沒失敗。
+ $@c{neutral}我是唯一能夠記得你所作所為的人@d{96}\n我覺得這應該也還行吧?
+ $@c{serious_smile_fists}你的傳奇將永遠留存於我們心中。
+ $@c{smile_eclosed}不管了,我真是受夠這個地方了,你也一樣嗎?我們回家吧。
+ $@c{serious_smile_fists}可能等我們回家以後,再打一場?\n要是你想的話`,
"ending_female":
- `@c{shock}You're back?@d{32} Does that mean…@d{96} you won?!\n@c{smile_ehalf}I should have known you had it in you.
- $@c{smile_eclosed}Of course… I always had that feeling.\n@c{smile}It's over now, right? You ended the loop.
- $@c{smile_ehalf}You fulfilled your dream too, didn't you?\nYou didn't lose even once.
- $I'll be the only one to remember what you did.\n@c{angry_mopen}I'll try not to forget!
- $@c{smile_wave_wink}Just kidding!@d{64} @c{smile}I'd never forget.@d{32}\nYour legend will live on in our hearts.
- $@c{smile_wave}Anyway,@d{64} it's getting late…@d{96} I think?\nIt's hard to tell in this place.
- $Let's go home. @c{smile_wave_wink}Maybe tomorrow, we can have another battle, for old time's sake?`,
+ `@c{shock}你回來了?@d{32} 也就是說…@d{96} 你贏了呀!?\n@c{smile_ehalf}我應該早料到了。
+ $@c{smile_eclosed}當然…我一直有這種感覺\n@c{smile}一切都結束了,對麼? 你打破了循環。
+ $@c{smile_ehalf}你也完成了自己的夢想,不是嗎?\n你甚至一次都沒失敗。
+ $我是唯一能夠記得你所作所為的人\n@c{angry_mopen}我會努力不忘掉哒!
+ $@c{smile_wave_wink}開玩笑啦,@d{64} @c{smile}我才不會忘呢。@d{32}\n你的傳奇將永遠留存於我們心中。
+ $@c{smile_wave}不管了,@d{64} 時候不早了@d{96} ,應該吧?\n在這地方還真搞不清楚。
+ $一起回家吧。 @c{smile_wave_wink}可能明天,我們再來打一場,為了重溫回憶嘛~`,
};
// Dialogue that does not fit into any other category (e.g. tutorial messages, or the end of the game). For when the player character is female. For languages that do not have gendered pronouns, this can be set to PGMmiscDialogue.
export const PGFmiscDialogue: SimpleTranslationEntries = PGMmiscDialogue;
@@ -2336,113 +2373,82 @@ export const PGFmiscDialogue: SimpleTranslationEntries = PGMmiscDialogue;
export const PGMdoubleBattleDialogue: DialogueTranslationEntries = {
"blue_red_double": {
"encounter": {
- 1: `Blue: Hey Red, let's show them what we're made of!
- $Red: ...
- $Blue: This is Pallet Town Power!`,
+ 1: "青綠:嘿,赤紅,\n讓這傢伙看看我們是什麼來頭!$赤紅:...$青綠: 見識下真新鎮的實力!",
},
"victory": {
- 1: `Blue: That was a great battle!
- $Red: ...`,
+ 1: "青綠:打得真不錯$赤紅: ...",
},
},
"red_blue_double": {
"encounter": {
- 1: `Red: ...!
- $Blue: He never talks much.
- $Blue: But dont let that fool you! He is a champ after all!`,
+ 1: "赤紅: ...!$青綠:他人狠話不多。$青綠: 他人狠話不多。$青綠: 但別被他耍了,\n畢竟他可是個冠軍!",
},
"victory": {
- 1: `Red: ...!
- $Blue: Next time we will beat you!`,
+ 1: "赤紅: ...!$青綠: 下次我們一定會贏你!",
},
},
"tate_liza_double": {
"encounter": {
- 1: `Tate: Are you suprised?
- $Liza: We are two gym leaders at once!
- $Tate: We are twins!
- $Liza: We dont need to talk to understand each other!
- $Tate: Twice the power...
- $Liza: Can you handle it?`,
+ 1: "小楓:嘿嘿嘿……你驚訝嗎?$小南:這裡有兩個道館館主?$小楓: 我們是雙胞胎!$小南:我們無需交談,因為……我們可以通曉彼此的想法$小楓: 我們的組合……$小南: 你能打敗嗎?",
},
"victory": {
- 1: `Tate: What? Our combination was perfect!
- $Liza: Looks like we need to train more...`,
+ 1: "小楓:什麼?我們的組合……$小南:被瓦解了!",
},
},
"liza_tate_double": {
"encounter": {
- 1: `Liza: Hihihi... Are you suprised?
- $Tate: Yes, we are really two gym leaders at once!
- $Liza: This is my twin brother Tate!
- $Tate: And this is my twin sister Liza!
- $Liza: Don't you think we are a perfect combination?`
+ 1: "小南:呵呵呵……你驚訝吧?$小楓:這裡有兩個道館館主?$小南:我們可以通曉……$小楓:彼此的想法……$小南:全在我們腦中!$小楓:我們的組合……$小南:你能打敗嗎?",
},
"victory": {
- 1: `Liza: Are we...
- $Tate: ...not as strong as we thought?`,
+ 1: "小楓:你和你的寶可夢……$小南:簡直像親兄弟姐妹!",
},
},
"wallace_steven_double": {
"encounter": {
- 1: `Steven: Wallace, let's show them the power of the champions!
- $Wallace: We will show you the power of Hoenn!
- $Steven: Let's go!`,
+ 1: "大吾:米可利, 展現冠軍的實力吧!$米可利:我們將展示豐緣的實力!$米可利:我們將展示豐緣的實力!$大吾:要上了!",
},
"victory": {
- 1: `Steven: That was a great battle!
- $Wallace: We will win next time!`,
+ 1: "大吾:打得真不錯!$米可利:我們下次會贏的!",
},
},
"steven_wallace_double": {
"encounter": {
- 1: `Steven: Do you have any rare pokémon?
- $Wallace: Steven... We are here for a battle, not to show off our pokémon.
- $Steven: Oh... I see... Let's go then!`,
+ 1: "大吾:你有什麼稀有的寶可夢嗎?$米可利:大吾……我們是來對戰的,\n不是來炫耀寶可夢的。$大吾:哦……知道了… 那麼要上了!",
},
"victory": {
- 1: `Steven: Now that we are done with the battle, let's show off our pokémon!
- $Wallace: Steven...`,
+ 1: "大吾:戰鬥結束了,\n來看看我的稀有寶可夢!$米可利:大吾……",
},
},
"alder_iris_double": {
"encounter": {
- 1: `Alder: We are the strongest trainers in Unova!
- $Iris: Fights against strong trainers are the best!`,
+ 1: "阿戴克:我們倆是合眾最強的訓練家!$艾莉絲:與最強來一場最激烈的戰鬥吧!",
},
"victory": {
- 1: `Alder: Wow! You are super strong!
- $Iris: We will win next time!`,
+ 1: "阿戴克:哇哦!你真是超級厲害!$艾莉絲:我們下次會贏的啦!",
},
},
"iris_alder_double": {
"encounter": {
- 1: `Iris: Welcome Challenger! I am THE Unova Champion!
- $Alder: Iris, aren't you a bit too excited?`,
+ 1: "艾莉絲:歡迎!挑戰者,\n合眾地區最強的冠軍大駕光臨!$阿戴克:艾莉絲,你是不是有點太興奮了…",
},
"victory": {
- 1: `Iris: A loss like this is not easy to take...
- $Alder: But we will only get stronger with every loss!`,
+ 1: "艾莉絲:這樣的失敗可不好受啊…$阿戴克:但是只有失敗才能讓我們變強!",
},
},
"piers_marnie_double": {
"encounter": {
- 1: `Marnie: Brother, let's show them the power of Spikemuth!
- $Piers: We bring darkness!`,
+ 1: "瑪俐:哥哥,給他們展現尖釘鎮的實力!$聶梓:我們帶來黑暗!",
},
"victory": {
- 1: `Marnie: You brought light to our darkness!
- $Piers: Its too bright...`,
+ 1: "瑪俐:你的強光亮瞎我們的黑暗了啦……$聶梓:實在太亮了…",
},
},
"marnie_piers_double": {
"encounter": {
- 1: `Piers: Ready for a concert?
- $Marnie: Brother... They are here to fight, not to sing...`,
+ 1: "聶梓: 台下準備好了嗎!$瑪俐: 哥哥,我們是來對戰的,\n不是來唱歌的……",
},
"victory": {
- 1: `Piers: Now that was a great concert!
- $Marnie: Brother...`,
+ 1: "聶梓:這首歌獻給大家!$瑪俐:哥哥……",
},
},
};
diff --git a/src/locales/zh_TW/egg.ts b/src/locales/zh_TW/egg.ts
index d25599036b0..666f6758d11 100644
--- a/src/locales/zh_TW/egg.ts
+++ b/src/locales/zh_TW/egg.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const egg: SimpleTranslationEntries = {
"egg": "蛋",
@@ -17,5 +17,12 @@ export const egg: SimpleTranslationEntries = {
"notEnoughVouchers": "你沒有足夠的兌換券!",
"tooManyEggs": "你的蛋太多啦!",
"pull": "抽",
- "pulls": "抽"
+ "pulls": "抽",
+ "sameSpeciesEgg": "{{species}} 會從這個蛋裡孵化!",
+ "hatchFromTheEgg": "{{pokemonName}} 從蛋中孵化了!",
+ "eggMoveUnlock": "蛋招式已解鎖: {{moveName}}",
+ "rareEggMoveUnlock": "稀有蛋招式已解鎖: {{moveName}}",
+ "moveUPGacha": "蛋招式UP!",
+ "shinyUPGacha": "闪光UP!",
+ "legendaryUPGacha": "UP!",
} as const;
diff --git a/src/locales/zh_TW/fight-ui-handler.ts b/src/locales/zh_TW/fight-ui-handler.ts
index eb10031ac86..d86a703d844 100644
--- a/src/locales/zh_TW/fight-ui-handler.ts
+++ b/src/locales/zh_TW/fight-ui-handler.ts
@@ -1,7 +1,9 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const fightUiHandler: SimpleTranslationEntries = {
"pp": "PP",
"power": "威力",
"accuracy": "命中率",
+ "abilityFlyInText": " {{pokemonName}} 的 {{passive}}{{abilityName}}",
+ "passive": "被動能力 ", // The space at the end is important
} as const;
diff --git a/src/locales/zh_TW/game-mode.ts b/src/locales/zh_TW/game-mode.ts
new file mode 100644
index 00000000000..dc2a227d638
--- /dev/null
+++ b/src/locales/zh_TW/game-mode.ts
@@ -0,0 +1,10 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const gameMode: SimpleTranslationEntries = {
+ "classic": "經典模式",
+ "endless": "無盡模式",
+ "endlessSpliced": "融合無盡模式",
+ "dailyRun": "每日挑戰",
+ "unknown": "未知",
+ "challenge": "挑戰模式",
+} as const;
diff --git a/src/locales/zh_TW/game-stats-ui-handler.ts b/src/locales/zh_TW/game-stats-ui-handler.ts
index cb3228c1a4a..343ae7240cb 100644
--- a/src/locales/zh_TW/game-stats-ui-handler.ts
+++ b/src/locales/zh_TW/game-stats-ui-handler.ts
@@ -1,44 +1,44 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const gameStatsUiHandler: SimpleTranslationEntries = {
- "stats": "Stats",
- "playTime": "Play Time",
- "totalBattles": "Total Battles",
- "starters": "Starters",
- "shinyStarters": "Shiny Starters",
- "speciesSeen": "Species Seen",
- "speciesCaught": "Species Caught",
- "ribbonsOwned": "Ribbons Owned",
- "classicRuns": "Classic Runs",
- "classicWins": "Classic Wins",
- "dailyRunAttempts": "Daily Run Attempts",
- "dailyRunWins": "Daily Run Wins",
- "endlessRuns": "Endless Runs",
- "highestWaveEndless": "Highest Wave (Endless)",
- "highestMoney": "Highest Money",
- "highestDamage": "Highest Damage",
- "highestHPHealed": "Highest HP Healed",
- "pokemonEncountered": "Pokémon Encountered",
- "pokemonDefeated": "Pokémon Defeated",
- "pokemonCaught": "Pokémon Caught",
- "eggsHatched": "Eggs Hatched",
- "subLegendsSeen": "Sub-Legends Seen",
- "subLegendsCaught": "Sub-Legends Caught",
- "subLegendsHatched": "Sub-Legends Hatched",
- "legendsSeen": "Legends Seen",
- "legendsCaught": "Legends Caught",
- "legendsHatched": "Legends Hatched",
- "mythicalsSeen": "Mythicals Seen",
- "mythicalsCaught": "Mythicals Caught",
- "mythicalsHatched": "Mythicals Hatched",
- "shiniesSeen": "Shinies Seen",
- "shiniesCaught": "Shinies Caught",
- "shiniesHatched": "Shinies Hatched",
- "pokemonFused": "Pokémon Fused",
- "trainersDefeated": "Trainers Defeated",
- "eggsPulled": "Eggs Pulled",
- "rareEggsPulled": "Rare Eggs Pulled",
- "epicEggsPulled": "Epic Eggs Pulled",
- "legendaryEggsPulled": "Legendary Eggs Pulled",
- "manaphyEggsPulled": "Manaphy Eggs Pulled",
+ "stats": "統計",
+ "playTime": "遊戲時間",
+ "totalBattles": "總戰鬥次數",
+ "starters": "初始寶可夢",
+ "shinyStarters": "閃光初始寶可夢",
+ "speciesSeen": "遇到的種類",
+ "speciesCaught": "捕捉的種類",
+ "ribbonsOwned": "擁有緞帶數",
+ "classicRuns": "經典模式次數",
+ "classicWins": "經典模式通關次數",
+ "dailyRunAttempts": "每日挑戰次數",
+ "dailyRunWins": "每日挑戰通關次數",
+ "endlessRuns": "無盡模式挑戰次數",
+ "highestWaveEndless": "最高層數(無盡)",
+ "highestMoney": "最多金錢",
+ "highestDamage": "最高傷害",
+ "highestHPHealed": "最多治療",
+ "pokemonEncountered": "遇敵數量",
+ "pokemonDefeated": "打倒數量",
+ "pokemonCaught": "捕捉數量",
+ "eggsHatched": "孵蛋數量",
+ "subLegendsSeen": "遇到的二級神寶可夢",
+ "subLegendsCaught": "捕捉的二級神寶可夢",
+ "subLegendsHatched": "孵化的二級神寶可夢",
+ "legendsSeen": "遇到的傳說寶可夢",
+ "legendsCaught": "捕捉的傳說寶可夢",
+ "legendsHatched": "孵化的傳說寶可夢",
+ "mythicalsSeen": "遇到的幻獸寶可夢",
+ "mythicalsCaught": "捕捉的幻獸寶可夢",
+ "mythicalsHatched": "孵化的幻獸寶可夢",
+ "shiniesSeen": "遇到的閃光寶可夢",
+ "shiniesCaught": "捕捉的閃光寶可夢",
+ "shiniesHatched": "孵化的閃光寶可夢",
+ "pokemonFused": "融合寶可夢次數",
+ "trainersDefeated": "打敗的訓練師數",
+ "eggsPulled": "總扭蛋次數",
+ "rareEggsPulled": "稀有扭蛋數",
+ "epicEggsPulled": "史詩扭蛋數",
+ "legendaryEggsPulled": "傳說扭蛋數",
+ "manaphyEggsPulled": "瑪娜霏扭蛋數",
} as const;
diff --git a/src/locales/zh_TW/growth.ts b/src/locales/zh_TW/growth.ts
index 941ddb39e66..a67f108052a 100644
--- a/src/locales/zh_TW/growth.ts
+++ b/src/locales/zh_TW/growth.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const growth: SimpleTranslationEntries = {
"Erratic": "最快",
diff --git a/src/locales/zh_TW/menu-ui-handler.ts b/src/locales/zh_TW/menu-ui-handler.ts
index c38b447effd..21ba10ba30e 100644
--- a/src/locales/zh_TW/menu-ui-handler.ts
+++ b/src/locales/zh_TW/menu-ui-handler.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const menuUiHandler: SimpleTranslationEntries = {
"GAME_SETTINGS": "遊戲設置",
@@ -19,5 +19,6 @@ export const menuUiHandler: SimpleTranslationEntries = {
"importData": "導入數據",
"exportData": "導出數據",
"cancel": "取消",
- "losingProgressionWarning": "你將失去自戰鬥開始以來的所有進度。是否\n繼續?"
+ "losingProgressionWarning": "你將失去自戰鬥開始以來的所有進度。是否\n繼續?",
+ "noEggs": "You are not hatching\nany eggs at the moment!"
} as const;
diff --git a/src/locales/zh_TW/menu.ts b/src/locales/zh_TW/menu.ts
index 680db51e8ac..564c20d5791 100644
--- a/src/locales/zh_TW/menu.ts
+++ b/src/locales/zh_TW/menu.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
/**
* The menu namespace holds most miscellaneous text that isn't directly part of the game's
@@ -11,7 +11,7 @@ export const menu: SimpleTranslationEntries = {
"dailyRun": "每日挑戰 (Beta)",
"loadGame": "加載遊戲",
"newGame": "新遊戲",
- "settings": "Settings",
+ "settings": "設定",
"selectGameMode": "選擇遊戲模式",
"logInOrCreateAccount": "登入或註冊即可開始遊戲,無需郵箱!",
"username": "用戶名",
@@ -34,8 +34,6 @@ export const menu: SimpleTranslationEntries = {
"sessionSuccess": "工作階段加載成功.",
"failedToLoadSession": "無法加載您的工作階段數據。它可能已損壞。",
"boyOrGirl": "你是男孩還是女孩?",
- "boy": "男孩",
- "girl": "女孩",
"evolving": "甚麼?\n{{pokemonName}} 要進化了!",
"stoppedEvolving": "{{pokemonName}} 停止了進化。",
"pauseEvolutionsQuestion": "你確定要停止 {{pokemonName}} 的進化嗎?\n你可以在隊伍畫面中重新啟用進化。",
@@ -44,11 +42,16 @@ export const menu: SimpleTranslationEntries = {
"dailyRankings": "每日排名",
"weeklyRankings": "每週排名",
"noRankings": "無排名",
+ "positionIcon": "#",
+ "usernameScoreboard": "Username",
+ "score": "Score",
+ "wave": "Wave",
"loading": "加載中…",
+ "loadingAsset": "Loading asset: {{assetName}}",
"playersOnline": "在線玩家",
- "empty":"空",
"yes":"是",
"no":"否",
"disclaimer": "DISCLAIMER",
- "disclaimerDescription": "This game is an unfinished product; it might have playability issues (including the potential loss of save data),\n change without notice, and may or may not be updated further or completed."
+ "disclaimerDescription": "This game is an unfinished product; it might have playability issues (including the potential loss of save data),\n change without notice, and may or may not be updated further or completed.",
+ "errorServerDown": "Oops! There was an issue contacting the server.\n\nYou may leave this window open,\nthe game will automatically reconnect.",
} as const;
diff --git a/src/locales/zh_TW/modifier-select-ui-handler.ts b/src/locales/zh_TW/modifier-select-ui-handler.ts
new file mode 100644
index 00000000000..64cf3aa2ba3
--- /dev/null
+++ b/src/locales/zh_TW/modifier-select-ui-handler.ts
@@ -0,0 +1,14 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const modifierSelectUiHandler: SimpleTranslationEntries = {
+ "transfer": "Transfer",
+ "reroll": "Reroll",
+ "lockRarities": "Lock Rarities",
+ "checkTeam": "Check Team",
+ "transferDesc": "Transfer a held item from one Pokémon to another.",
+ "rerollDesc": "Spend money to reroll your item options.",
+ "lockRaritiesDesc": "Lock item rarities on reroll (affects reroll cost).",
+ "checkTeamDesc": "Check your team or use a form changing item.",
+ "rerollCost": "₽{{formattedMoney}}",
+ "itemCost": "₽{{formattedMoney}}"
+} as const;
diff --git a/src/locales/zh_TW/modifier-type.ts b/src/locales/zh_TW/modifier-type.ts
index 1ad51965937..bf2032a7feb 100644
--- a/src/locales/zh_TW/modifier-type.ts
+++ b/src/locales/zh_TW/modifier-type.ts
@@ -1,15 +1,15 @@
-import { ModifierTypeTranslationEntries } from "#app/plugins/i18n";
+import { ModifierTypeTranslationEntries } from "#app/interfaces/locales";
export const modifierType: ModifierTypeTranslationEntries = {
ModifierType: {
AddPokeballModifierType: {
name: "{{modifierCount}}x {{pokeballName}}",
description:
- "獲得 {{pokeballName}} x{{modifierCount}} (已有:{{pokeballAmount}}) \n捕捉倍率:{{catchRate}}",
+ "獲得 {{pokeballName}} x{{modifierCount}} (已有:{{pokeballAmount}}) \n捕捉倍率:{{catchRate}}。",
},
AddVoucherModifierType: {
name: "{{modifierCount}}x {{voucherTypeName}}",
- description: "獲得 {{voucherTypeName}} x{{modifierCount}}",
+ description: "獲得 {{voucherTypeName}} x{{modifierCount}}。",
},
PokemonHeldItemModifierType: {
extra: {
@@ -19,25 +19,25 @@ export const modifierType: ModifierTypeTranslationEntries = {
},
PokemonHpRestoreModifierType: {
description:
- "爲一隻寶可夢恢復 {{restorePoints}} HP 或 {{restorePercent}}% HP,取最大值",
+ "爲一隻寶可夢恢復 {{restorePoints}} HP 或 {{restorePercent}}% HP,取最大值。",
extra: {
- fully: "爲一隻寶可夢恢復全部HP",
- fullyWithStatus: "爲一隻寶可夢恢復全部HP並消除所有負面\n狀態",
+ fully: "爲一隻寶可夢恢復全部HP。",
+ fullyWithStatus: "爲一隻寶可夢恢復全部HP並消除所有負面\n狀態。",
},
},
PokemonReviveModifierType: {
- description: "復活一隻寶可夢並恢復 {{restorePercent}}% HP",
+ description: "復活一隻寶可夢並恢復 {{restorePercent}}% HP。",
},
PokemonStatusHealModifierType: {
- description: "爲一隻寶可夢消除所有負面狀態",
+ description: "爲一隻寶可夢消除所有負面狀態。",
},
PokemonPpRestoreModifierType: {
- description: "爲一隻寶可夢的一個招式恢復 {{restorePoints}} PP",
- extra: { fully: "完全恢復一隻寶可夢一個招式的PP" },
+ description: "爲一隻寶可夢的一個招式恢復 {{restorePoints}} PP。",
+ extra: { fully: "完全恢復一隻寶可夢一個招式的PP。" },
},
PokemonAllMovePpRestoreModifierType: {
- description: "爲一隻寶可夢的所有招式恢復 {{restorePoints}} PP",
- extra: { fully: "爲一隻寶可夢的所有招式恢復所有PP" },
+ description: "爲一隻寶可夢的所有招式恢復 {{restorePoints}} PP。",
+ extra: { fully: "爲一隻寶可夢的所有招式恢復所有PP。" },
},
PokemonPpUpModifierType: {
description:
@@ -46,97 +46,101 @@ export const modifierType: ModifierTypeTranslationEntries = {
PokemonNatureChangeModifierType: {
name: "{{natureName}}薄荷",
description:
- "將一隻寶可夢的性格改爲{{natureName}}併爲該寶可\n夢永久解鎖該性格.",
+ "將一隻寶可夢的性格改爲{{natureName}}併爲該寶可\n夢永久解鎖該性格。",
},
DoubleBattleChanceBoosterModifierType: {
- description: "接下來的{{battleCount}}場戰鬥是雙打的概率翻倍",
+ description: "接下來的{{battleCount}}場戰鬥是雙打的概率翻倍。",
},
TempBattleStatBoosterModifierType: {
description:
- "爲所有成員寶可夢提升一級{{tempBattleStatName}},持續5場戰鬥",
+ "爲所有成員寶可夢提升一級{{tempBattleStatName}},持續5場戰鬥。",
},
AttackTypeBoosterModifierType: {
- description: "一隻寶可夢的{{moveType}}系招式威力提升20%",
+ description: "一隻寶可夢的{{moveType}}系招式威力提升20%。",
},
PokemonLevelIncrementModifierType: {
- description: "一隻寶可夢等級提升1級",
+ description: "一隻寶可夢等級提升1級。",
},
AllPokemonLevelIncrementModifierType: {
- description: "所有成員寶可夢等級提升1級",
+ description: "所有成員寶可夢等級提升1級。",
},
PokemonBaseStatBoosterModifierType: {
description:
- "增加持有者的{{statName}}10%,個體值越高堆疊\n上限越高.",
+ "增加持有者的{{statName}}10%,個體值越高堆疊\n上限越高。",
},
AllPokemonFullHpRestoreModifierType: {
- description: "所有寶可夢完全恢復HP",
+ description: "所有寶可夢完全恢復HP。",
},
AllPokemonFullReviveModifierType: {
- description: "復活所有瀕死寶可夢,完全恢復HP",
+ description: "復活所有瀕死寶可夢,完全恢復HP。",
},
MoneyRewardModifierType: {
- description: "獲得{{moneyMultiplier}}金錢 (₽{{moneyAmount}})",
+ description: "獲得{{moneyMultiplier}}金錢 (₽{{moneyAmount}})。",
extra: { small: "少量", moderate: "中等", large: "大量" },
},
ExpBoosterModifierType: {
- description: "經驗值獲取量增加{{boostPercent}}%",
+ description: "經驗值獲取量增加{{boostPercent}}%。",
},
PokemonExpBoosterModifierType: {
- description: "持有者經驗值獲取量增加{{boostPercent}}%",
+ description: "持有者經驗值獲取量增加{{boostPercent}}%。",
},
PokemonFriendshipBoosterModifierType: {
- description: "每場戰鬥獲得的好感度提升50%",
+ description: "每場戰鬥獲得的好感度提升50%。",
},
PokemonMoveAccuracyBoosterModifierType: {
- description: "招式命中率增加{{accuracyAmount}} (最大100)",
+ description: "招式命中率增加{{accuracyAmount}} (最大100)。",
},
PokemonMultiHitModifierType: {
description:
- "攻擊造成一次額外傷害,每次堆疊額外傷害\n分別衰減60/75/82.5%",
+ "攻擊造成一次額外傷害,每次堆疊額外傷害\n分別衰減60/75/82.5%。",
},
TmModifierType: {
name: "招式學習器 {{moveId}} - {{moveName}}",
- description: "教會一隻寶可夢{{moveName}}",
+ description: "教會一隻寶可夢{{moveName}}。",
},
- EvolutionItemModifierType: { description: "使某些寶可夢進化" },
- FormChangeItemModifierType: { description: "使某些寶可夢更改形態" },
+ TmModifierTypeWithInfo: {
+ name: "TM{{moveId}} - {{moveName}}",
+ description: "教會一隻寶可夢{{moveName}}\n(Hold C or Shift for more info)。",
+ },
+ EvolutionItemModifierType: { description: "使某些寶可夢進化。" },
+ FormChangeItemModifierType: { description: "使某些寶可夢更改形態。" },
FusePokemonModifierType: {
description:
- "融合兩隻寶可夢 (改變特性, 平分基礎點數\n和屬性, 共享招式池)",
+ "融合兩隻寶可夢 (改變特性, 平分基礎點數\n和屬性, 共享招式池)。",
},
TerastallizeModifierType: {
name: "{{teraType}}太晶碎塊",
- description: "持有者獲得{{teraType}}太晶化10場戰鬥",
+ description: "持有者獲得{{teraType}}太晶化10場戰鬥。",
},
ContactHeldItemTransferChanceModifierType: {
- description: "攻擊時{{chancePercent}}%概率偷取對手物品",
+ description: "攻擊時{{chancePercent}}%概率偷取對手物品。",
},
TurnHeldItemTransferModifierType: {
- description: "持有者每回合從對手那裏獲得一個持有的物品",
+ description: "持有者每回合從對手那裏獲得一個持有的物品。",
},
EnemyAttackStatusEffectChanceModifierType: {
- description: "攻擊時{{chancePercent}}%概率造成{{statusEffect}}",
+ description: "攻擊時{{chancePercent}}%概率造成{{statusEffect}}。",
},
EnemyEndureChanceModifierType: {
- description: "增加{{chancePercent}}%遭受攻擊的概率",
+ description: "增加{{chancePercent}}%遭受攻擊的概率。",
},
RARE_CANDY: { name: "神奇糖果" },
RARER_CANDY: { name: "超神奇糖果" },
MEGA_BRACELET: {
name: "超級手鐲",
- description: "能讓攜帶着超級石戰鬥的寶可夢進行\n超級進化",
+ description: "能讓攜帶着超級石戰鬥的寶可夢進行\n超級進化。",
},
DYNAMAX_BAND: {
name: "極巨腕帶",
- description: "能讓攜帶着極巨菇菇戰鬥的寶可夢進行\n極巨化",
+ description: "能讓攜帶着極巨菇菇戰鬥的寶可夢進行\n極巨化。",
},
TERA_ORB: {
name: "太晶珠",
- description: "能讓攜帶着太晶碎塊戰鬥的寶可夢進行\n太晶化",
+ description: "能讓攜帶着太晶碎塊戰鬥的寶可夢進行\n太晶化。",
},
MAP: {
name: "地圖",
- description: "允許你在切換寶可夢羣落時選擇目的地",
+ description: "允許你在切換寶可夢羣落時選擇目的地。",
},
POTION: { name: "傷藥" },
SUPER_POTION: { name: "好傷藥" },
@@ -149,7 +153,7 @@ export const modifierType: ModifierTypeTranslationEntries = {
SACRED_ASH: { name: "聖灰" },
REVIVER_SEED: {
name: "復活種子",
- description: "恢復1只瀕死寶可夢的HP至1/2",
+ description: "受到技能攻擊傷害瀕死時,\n恢復該瀕死寶可夢的HP至1/2。",
},
ETHER: { name: "PP單項小補劑" },
MAX_ETHER: { name: "PP單項全補劑" },
@@ -162,20 +166,20 @@ export const modifierType: ModifierTypeTranslationEntries = {
MAX_LURE: { name: "黃金香水" },
MEMORY_MUSHROOM: {
name: "回憶蘑菇",
- description: "回憶一個寶可夢已經遺忘的招式",
+ description: "回憶一個寶可夢已經遺忘的招式。",
},
EXP_SHARE: {
name: "學習裝置",
- description: "未參加對戰的寶可夢獲得20%的經驗值",
+ description: "未參加對戰的寶可夢獲得20%的經驗值。",
},
EXP_BALANCE: {
name: "均衡型學習裝置",
- description: "隊伍中的低級寶可夢獲得更多經驗值",
+ description: "隊伍中的低級寶可夢獲得更多經驗值。",
},
OVAL_CHARM: {
name: "圓形護符",
description:
- "當多隻寶可夢參與戰鬥,分別獲得總經驗值\n10%的額外經驗值",
+ "當多隻寶可夢參與戰鬥,分別獲得總經驗值\n10%的額外經驗值。",
},
EXP_CHARM: { name: "經驗護符" },
SUPER_EXP_CHARM: { name: "超級經驗護符" },
@@ -183,116 +187,126 @@ export const modifierType: ModifierTypeTranslationEntries = {
LUCKY_EGG: { name: "幸運蛋" },
GOLDEN_EGG: { name: "金蛋" },
SOOTHE_BELL: { name: "安撫之鈴" },
+ EVIOLITE: {
+ name: "進化奇石",
+ description: "進化的神奇石塊。攜帶後,還能進化的寶可夢的 防禦和特防就會提高。"
+ },
SOUL_DEW: {
name: "心之水滴",
- description: "增加寶可夢性格影響10% (加算)",
+ description: "增加寶可夢性格影響10% (加算)。",
},
NUGGET: { name: "金珠" },
BIG_NUGGET: { name: "巨大金珠" },
RELIC_GOLD: { name: "古代金幣" },
- AMULET_COIN: { name: "護符金幣", description: "金錢獎勵增加20%" },
+ AMULET_COIN: { name: "護符金幣", description: "金錢獎勵增加20%。" },
GOLDEN_PUNCH: {
name: "黃金拳頭",
- description: "將50%造成的傷害轉換爲金錢",
+ description: "將50%造成的傷害轉換爲金錢。",
},
COIN_CASE: {
name: "代幣盒",
- description: "每十場戰鬥, 獲得自己金錢10%的利息",
+ description: "每十場戰鬥, 獲得自己金錢10%的利息。",
},
LOCK_CAPSULE: {
name: "上鎖的容器",
- description: "允許在刷新物品時鎖定物品稀有度",
+ description: "允許在刷新物品時鎖定物品稀有度。",
},
GRIP_CLAW: { name: "緊纏鉤爪" },
WIDE_LENS: { name: "廣角鏡" },
MULTI_LENS: { name: "多重鏡" },
HEALING_CHARM: {
name: "治癒護符",
- description: "HP恢復量增加10% (含復活)",
+ description: "HP恢復量增加10% (不含復活)。",
},
- CANDY_JAR: { name: "糖果罐", description: "神奇糖果提供的升級提升1級" },
+ CANDY_JAR: { name: "糖果罐", description: "神奇糖果提供的升級提升1級。" },
BERRY_POUCH: {
name: "樹果袋",
- description: "使用樹果時有30%的幾率不會消耗樹果",
+ description: "使用樹果時有30%的幾率不會消耗樹果。",
},
FOCUS_BAND: {
name: "氣勢頭帶",
description:
- "攜帶該道具的寶可夢有10%幾率在受到\n攻擊而將陷入瀕死狀態時,保留1點HP不陷入瀕死狀態",
+ "攜帶該道具的寶可夢有10%幾率在受到\n攻擊而將陷入瀕死狀態時,保留1點HP不陷入瀕死狀態。",
},
QUICK_CLAW: {
name: "先制之爪",
- description: "有10%的幾率無視速度優先使出招式\n(先制技能優先)",
+ description: "有10%的幾率無視速度優先使出招式\n(先制技能優先)。",
},
KINGS_ROCK: {
name: "王者之證",
description:
- "攜帶該道具的寶可夢使用任意原本不會造成\n畏縮狀態的攻擊招式並造成傷害時,有\n10%幾率使目標陷入畏縮狀態",
+ "攜帶該道具的寶可夢使用任意原本不會造成\n畏縮狀態的攻擊招式並造成傷害時,有\n10%幾率使目標陷入畏縮狀態。",
},
LEFTOVERS: {
name: "喫剩的東西",
- description: "攜帶該道具的寶可夢在每個回合結束時恢復\n最大HP的1/16",
+ description: "攜帶該道具的寶可夢在每個回合結束時恢復\n最大HP的1/16。",
},
SHELL_BELL: {
name: "貝殼之鈴",
description:
- "攜帶該道具的寶可夢在攻擊對方成功造成傷\n害時,攜帶者的HP會恢復其所造成傷害\n的1/8",
+ "攜帶該道具的寶可夢在攻擊對方成功造成傷\n害時,攜帶者的HP會恢復其所造成傷害\n的1/8。",
},
TOXIC_ORB: {
- name: "Toxic Orb",
+ name: "劇毒寶珠",
description:
- "It's a bizarre orb that exudes toxins when touched and will badly poison the holder during battle"
+ "觸碰後會放出毒的神奇寶珠。\n攜帶後,在戰鬥時會變成劇毒狀態。"
},
FLAME_ORB: {
- name: "Flame Orb",
+ name: "火焰寶珠",
description:
- "It's a bizarre orb that gives off heat when touched and will affect the holder with a burn during battle"
+ "觸碰後會放出熱量的神奇寶珠。\n攜帶後,在戰鬥時會變成灼傷狀態。"
},
BATON: {
name: "接力棒",
- description: "允許在切換寶可夢時保留能力變化, 對陷阱\n同樣生效",
+ description: "允許在切換寶可夢時保留能力變化, 對陷阱\n同樣生效。",
},
SHINY_CHARM: {
name: "閃耀護符",
- description: "顯著增加野生寶可夢的閃光概率",
+ description: "顯著增加野生寶可夢的閃光概率。",
},
ABILITY_CHARM: {
name: "特性護符",
- description: "顯著增加野生寶可夢有隱藏特性的概率",
+ description: "顯著增加野生寶可夢有隱藏特性的概率。",
},
IV_SCANNER: {
name: "個體值探測器",
description:
- "允許掃描野生寶可夢的個體值。 每個次顯示\n2個個體值. 最好的個體值優先顯示",
+ "允許掃描野生寶可夢的個體值。 每個次顯示\n2個個體值. 最好的個體值優先顯示。",
},
DNA_SPLICERS: { name: "基因之楔" },
MINI_BLACK_HOLE: { name: "迷你黑洞" },
GOLDEN_POKEBALL: {
name: "黃金精靈球",
- description: "在每場戰鬥結束後增加一個額外物品選項",
+ description: "在每場戰鬥結束後增加一個額外物品選項。",
},
ENEMY_DAMAGE_BOOSTER: {
name: "傷害硬幣",
- description: "增加5%造成傷害",
+ description: "增加5%造成傷害。",
},
ENEMY_DAMAGE_REDUCTION: {
name: "防禦硬幣",
- description: "減少2.5%承受傷害",
+ description: "減少2.5%承受傷害。",
},
- ENEMY_HEAL: { name: "恢復硬幣", description: "每回合恢復2%最大HP" },
+ ENEMY_HEAL: { name: "恢復硬幣", description: "每回合恢復2%最大HP。" },
ENEMY_ATTACK_POISON_CHANCE: { name: "劇毒硬幣" },
ENEMY_ATTACK_PARALYZE_CHANCE: { name: "麻痹硬幣" },
ENEMY_ATTACK_BURN_CHANCE: { name: "灼燒硬幣" },
ENEMY_STATUS_EFFECT_HEAL_CHANCE: {
name: "萬靈藥硬幣",
- description: "增加2.5%每回合治癒異常狀態的概率",
+ description: "增加2.5%每回合治癒異常狀態的概率。",
},
ENEMY_ENDURE_CHANCE: { name: "忍受硬幣" },
ENEMY_FUSED_CHANCE: {
name: "融合硬幣",
- description: "增加1%野生融合寶可夢出現概率",
+ description: "增加1%野生融合寶可夢出現概率。",
},
},
+ SpeciesBoosterItem: {
+ "LIGHT_BALL": { name: "電氣球", description: "讓皮卡丘攜帶後,攻擊和特攻就會 提高的神奇之球。" },
+ "THICK_CLUB": { name: "粗骨頭", description: "某種堅硬的骨頭。讓卡拉卡拉或嘎啦嘎啦攜帶後,攻擊就會提高。" },
+ "METAL_POWDER": { name: "金屬粉", description: "讓百變怪攜帶後,防禦就會提高的神奇粉末。非常細緻堅硬。" },
+ "QUICK_POWDER": { name: "速度粉", description: "讓百變怪攜帶後,速度就會提高的神奇粉末。非常細緻堅硬。" }
+ },
TempBattleStatBoosterItem: {
x_attack: "力量強化",
x_defense: "防禦強化",
@@ -302,6 +316,19 @@ export const modifierType: ModifierTypeTranslationEntries = {
x_accuracy: "命中強化",
dire_hit: "要害攻擊",
},
+
+ TempBattleStatBoosterStatName: {
+ "ATK": "攻擊",
+ "DEF": "防禦",
+ "SPATK": "特攻",
+ "SPDEF": "特防",
+ "SPD": "速度",
+ "ACC": "命中",
+ "CRIT": "會心",
+ "EVA": "閃避",
+ "DEFAULT": "???",
+ },
+
AttackTypeBoosterItem: {
silk_scarf: "絲綢圍巾",
black_belt: "黑帶",
@@ -438,5 +465,43 @@ export const modifierType: ModifierTypeTranslationEntries = {
BURN_DRIVE: "火焰卡帶",
CHILL_DRIVE: "冰凍卡帶",
DOUSE_DRIVE: "水流卡帶",
+
+ "FIST_PLATE": "拳頭石板",
+ "SKY_PLATE": "藍天石板",
+ "TOXIC_PLATE": "劇毒石板",
+ "EARTH_PLATE": "大地石板",
+ "STONE_PLATE": "岩石石板",
+ "INSECT_PLATE": "玉蟲石板",
+ "SPOOKY_PLATE": "妖怪石板",
+ "IRON_PLATE": "鋼鐵石板",
+ "FLAME_PLATE": "火球石板",
+ "SPLASH_PLATE": "水滴石板",
+ "MEADOW_PLATE": "碧綠石板",
+ "ZAP_PLATE": "雷電石板",
+ "MIND_PLATE": "神奇石板",
+ "ICICLE_PLATE": "冰柱石板",
+ "DRACO_PLATE": "龍之石板",
+ "DREAD_PLATE": "惡顏石板",
+ "PIXIE_PLATE": "妖精石板",
+ "BLANK_PLATE": "淨空石板",
+ "LEGEND_PLATE": "傳說石板",
+ "FIGHTING_MEMORY": "戰鬥記憶碟",
+ "FLYING_MEMORY": "飛翔記憶碟",
+ "POISON_MEMORY": "毒記憶碟",
+ "GROUND_MEMORY": "大地記憶碟",
+ "ROCK_MEMORY": "岩石記憶碟",
+ "BUG_MEMORY": "蟲子記憶碟",
+ "GHOST_MEMORY": "幽靈記憶碟",
+ "STEEL_MEMORY": "鋼鐵記憶碟",
+ "FIRE_MEMORY": "火焰記憶碟",
+ "WATER_MEMORY": "清水記憶碟",
+ "GRASS_MEMORY": "青草記憶碟",
+ "ELECTRIC_MEMORY": "電子記憶碟",
+ "PSYCHIC_MEMORY": "精神記憶碟",
+ "ICE_MEMORY": "冰雪記憶碟",
+ "DRAGON_MEMORY": "龍記憶碟",
+ "DARK_MEMORY": "黑暗記憶碟",
+ "FAIRY_MEMORY": "妖精記憶碟",
+ "BLANK_MEMORY": "空白記憶碟",
},
} as const;
diff --git a/src/locales/zh_TW/modifier.ts b/src/locales/zh_TW/modifier.ts
new file mode 100644
index 00000000000..01de87827c0
--- /dev/null
+++ b/src/locales/zh_TW/modifier.ts
@@ -0,0 +1,12 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const modifier: SimpleTranslationEntries = {
+ "surviveDamageApply": "{{pokemonNameWithAffix}}用{{typeName}}\n撐住了!",
+ "turnHealApply": "{{pokemonNameWithAffix}}用{{typeName}}\n回復了體力!",
+ "hitHealApply": "{{pokemonNameWithAffix}}用{{typeName}}\n回復了體力!",
+ "pokemonInstantReviveApply": "{{pokemonNameWithAffix}}用{{typeName}}\n回復了活力!",
+ "moneyInterestApply": "用{{typeName}}\n獲得了 ₽{{moneyAmount}} 利息!",
+ "turnHeldItemTransferApply": "{{pokemonNameWithAffix}}的{{itemName}}被\n{{pokemonName}}的{{typeName}}吸收了!",
+ "contactHeldItemTransferApply": "{{pokemonNameWithAffix}}的{{itemName}}被\n{{pokemonName}}的{{typeName}}奪取了!",
+ "enemyTurnHealApply": "{{pokemonNameWithAffix}}\n回復了一些體力!",
+} as const;
diff --git a/src/locales/zh_TW/move.ts b/src/locales/zh_TW/move.ts
index 2dc42353a2b..0a6321850db 100644
--- a/src/locales/zh_TW/move.ts
+++ b/src/locales/zh_TW/move.ts
@@ -1,4 +1,4 @@
-import { MoveTranslationEntries } from "#app/plugins/i18n";
+import { MoveTranslationEntries } from "#app/interfaces/locales";
export const move: MoveTranslationEntries = {
pound: { name: "拍擊", effect: "使用長長的尾巴或手等拍打\n對手進行攻擊" },
@@ -71,7 +71,7 @@ export const move: MoveTranslationEntries = {
},
doubleKick: {
name: "二連踢",
- effect: "用2只腳踢飛對手進行攻擊。\n連續2次給予傷害",
+ effect: "用2隻腳踢飛對手進行攻擊。\n連續2次給予傷害",
},
megaKick: {
name: "百萬噸重踢",
@@ -2817,7 +2817,7 @@ export const move: MoveTranslationEntries = {
},
bouncyBubble: {
name: "活活氣泡",
- effect: "投擲水球進行攻擊。吸水後\n能回覆等同於造成的傷害一\n半的HP",
+ effect: "投擲水球進行攻擊。吸水後\n能回覆等同於造成的傷害\n的HP",
},
buzzyBuzz: {
name: "麻麻電擊",
@@ -2886,7 +2886,7 @@ export const move: MoveTranslationEntries = {
},
dragonDarts: {
name: "龍箭",
- effect: "讓多龍梅西亞進行2次攻擊。\n如果對手有2只寶可夢,\n則對它們各進行1次攻擊",
+ effect: "讓多龍梅西亞進行2次攻擊。\n如果對手有2隻寶可夢,\n則對它們各進行1次攻擊",
},
teatime: {
name: "茶會",
diff --git a/src/locales/zh_TW/nature.ts b/src/locales/zh_TW/nature.ts
index 10ca9c71939..f72d271c139 100644
--- a/src/locales/zh_TW/nature.ts
+++ b/src/locales/zh_TW/nature.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const nature: SimpleTranslationEntries = {
"Hardy": "勤奮",
diff --git a/src/locales/zh_TW/party-ui-handler.ts b/src/locales/zh_TW/party-ui-handler.ts
new file mode 100644
index 00000000000..efa9b2c8dab
--- /dev/null
+++ b/src/locales/zh_TW/party-ui-handler.ts
@@ -0,0 +1,53 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const partyUiHandler: SimpleTranslationEntries = {
+ "SEND_OUT": "上場",
+ "SUMMARY": "概要",
+ "CANCEL": "取消",
+ "RELEASE": "放生",
+ "APPLY": "應用",
+ "TEACH": "教授",
+ "SPLICE": "Splice",
+ "UNSPLICE": "Unsplice",
+ "ACTIVATE": "Activate",
+ "DEACTIVATE": "Deactivate",
+ "TRANSFER": "Transfer",
+ "ALL": "All",
+ "PASS_BATON": "Pass Baton",
+ "UNPAUSE_EVOLUTION": "Unpause Evolution",
+ "REVIVE": "Revive",
+
+ "choosePokemon": "Choose a Pokémon.",
+ "doWhatWithThisPokemon": "Do what with this Pokémon?",
+ "noEnergy": "{{pokemonName}} has no energy\nleft to battle!",
+ "hasEnergy": "{{pokemonName}} still has energy\nto battle!",
+ "cantBeUsed": "{{pokemonName}} can't be used in\nthis challenge!",
+ "tooManyItems": "{{pokemonName}} has too many\nof this item!",
+ "anyEffect": "It won't have any effect.",
+ "unpausedEvolutions": "Evolutions have been unpaused for {{pokemonName}}.",
+ "unspliceConfirmation": "Do you really want to unsplice {{fusionName}}\nfrom {{pokemonName}}? {{fusionName}} will be lost.",
+ "wasReverted": "{{fusionName}} was reverted to {{pokemonName}}.",
+ "releaseConfirmation": "Do you really want to release {{pokemonName}}?",
+ "releaseInBattle": "You can't release a Pokémon that's in battle!",
+ "selectAMove": "Select a move.",
+ "changeQuantity": "Select a held item to transfer.\nUse < and > to change the quantity.",
+ "selectAnotherPokemonToSplice": "Select another Pokémon to splice.",
+ "cancel": "Cancel",
+
+ // Slot TM text
+ "able": "Able",
+ "notAble": "Not able",
+ "learned": "Learned",
+
+ // Releasing messages
+ "goodbye": "Goodbye, {{pokemonName}}!",
+ "byebye": "Byebye, {{pokemonName}}!",
+ "farewell": "Farewell, {{pokemonName}}!",
+ "soLong": "So long, {{pokemonName}}!",
+ "thisIsWhereWePart": "This is where we part, {{pokemonName}}!",
+ "illMissYou": "I'll miss you, {{pokemonName}}!",
+ "illNeverForgetYou": "I'll never forget you, {{pokemonName}}!",
+ "untilWeMeetAgain": "Until we meet again, {{pokemonName}}!",
+ "sayonara": "Sayonara, {{pokemonName}}!",
+ "smellYaLater": "Smell ya later, {{pokemonName}}!",
+} as const;
diff --git a/src/locales/zh_TW/pokeball.ts b/src/locales/zh_TW/pokeball.ts
index ce3d7a7a860..8919f3591e1 100644
--- a/src/locales/zh_TW/pokeball.ts
+++ b/src/locales/zh_TW/pokeball.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const pokeball: SimpleTranslationEntries = {
"pokeBall": "精靈球",
diff --git a/src/locales/zh_TW/pokemon-info-container.ts b/src/locales/zh_TW/pokemon-info-container.ts
index 068c9ebb431..eca518c3806 100644
--- a/src/locales/zh_TW/pokemon-info-container.ts
+++ b/src/locales/zh_TW/pokemon-info-container.ts
@@ -1,11 +1,8 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const pokemonInfoContainer: SimpleTranslationEntries = {
- "moveset": "Moveset",
- "gender": "Gender:",
- "ability": "Ability:",
- "nature": "Nature:",
- "epic": "Epic",
- "rare": "Rare",
- "common": "Common"
+ "moveset": "招式",
+ "gender": "性别:",
+ "ability": "特性:",
+ "nature": "性格:",
} as const;
diff --git a/src/locales/zh_TW/pokemon-info.ts b/src/locales/zh_TW/pokemon-info.ts
index 5c00add8081..b3edea0c3d4 100644
--- a/src/locales/zh_TW/pokemon-info.ts
+++ b/src/locales/zh_TW/pokemon-info.ts
@@ -1,4 +1,4 @@
-import { PokemonInfoTranslationEntries } from "#app/plugins/i18n";
+import { PokemonInfoTranslationEntries } from "#app/interfaces/locales";
export const pokemonInfo: PokemonInfoTranslationEntries = {
Stat: {
@@ -13,7 +13,9 @@ export const pokemonInfo: PokemonInfoTranslationEntries = {
"SPDEF": "特殊防禦",
"SPDEFshortened": "特防",
"SPD": "速度",
- "SPDshortened": "速度"
+ "SPDshortened": "速度",
+ "ACC": "Accuracy",
+ "EVA": "Evasiveness"
},
Type: {
diff --git a/src/locales/zh_TW/pokemon.ts b/src/locales/zh_TW/pokemon.ts
index cee85d8905b..2a82f11f4c3 100644
--- a/src/locales/zh_TW/pokemon.ts
+++ b/src/locales/zh_TW/pokemon.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const pokemon: SimpleTranslationEntries = {
"bulbasaur": "妙蛙種子",
@@ -987,7 +987,7 @@ export const pokemon: SimpleTranslationEntries = {
"great_tusk": "雄偉牙",
"scream_tail": "吼叫尾",
"brute_bonnet": "猛惡菇",
- "flutter_mane": "振翼發",
+ "flutter_mane": "振翼髮",
"slither_wing": "爬地翅",
"sandy_shocks": "沙鐵皮",
"iron_treads": "鐵轍跡",
diff --git a/src/locales/zh_TW/save-slot-select-ui-handler.ts b/src/locales/zh_TW/save-slot-select-ui-handler.ts
new file mode 100644
index 00000000000..68377aec4b2
--- /dev/null
+++ b/src/locales/zh_TW/save-slot-select-ui-handler.ts
@@ -0,0 +1,9 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
+
+export const saveSlotSelectUiHandler: SimpleTranslationEntries = {
+ "overwriteData": "要覆蓋該槽位的存檔嗎?",
+ "loading": "正在加載...",
+ "wave": "層數",
+ "lv": "Lv",
+ "empty": "空",
+} as const;
diff --git a/src/locales/zh_TW/settings.ts b/src/locales/zh_TW/settings.ts
new file mode 100644
index 00000000000..dcb87fafe35
--- /dev/null
+++ b/src/locales/zh_TW/settings.ts
@@ -0,0 +1,99 @@
+import { SimpleTranslationEntries } from "#app/interfaces/locales.js";
+
+export const settings: SimpleTranslationEntries = {
+ "boy": "男孩",
+ "girl": "女孩",
+ "general": "常規",
+ "display": "顯示",
+ "audio": "音頻",
+ "gamepad": "手柄",
+ "keyboard": "鍵盤",
+ "gameSpeed": "遊戲速度",
+ "hpBarSpeed": "血條速度",
+ "expGainsSpeed": "經驗值獲取動畫速度",
+ "expPartyDisplay": "顯示隊伍經驗",
+ "skipSeenDialogues": "跳過已讀對話",
+ "battleStyle": "對戰模式",
+ "enableRetries": "允許重試",
+ "tutorials": "教程",
+ "touchControls": "觸摸操作",
+ "vibrations": "手柄震動",
+ "normal": "普通",
+ "fast": "快",
+ "faster": "更快",
+ "skip": "跳過",
+ "levelUpNotifications": "升級提示",
+ "on": "啟用",
+ "off": "禁用",
+ "switch": "切換",
+ "set": "固定",
+ "auto": "自動",
+ "disabled": "禁用",
+ "language": "語言",
+ "change": "選擇",
+ "uiTheme": "界面風格",
+ "default": "默認",
+ "legacy": "經典",
+ "windowType": "窗口類型",
+ "moneyFormat": "金錢格式",
+ "damageNumbers": "傷害數字",
+ "simple": "簡單",
+ "fancy": "華麗",
+ "abbreviated": "縮寫",
+ "moveAnimations": "招式動畫",
+ "showStatsOnLevelUp": "升級時顯示能力值",
+ "candyUpgradeNotification": "糖果升級提示",
+ "passivesOnly": "僅被動",
+ "candyUpgradeDisplay": "糖果升級顯示",
+ "icon": "圖標",
+ "animation": "動畫",
+ "moveInfo": "招式信息",
+ "showMovesetFlyout": "顯示招式池彈窗",
+ "showArenaFlyout": "顯示戰場彈窗",
+ "showTimeOfDayWidget": "顯示時間指示器",
+ "timeOfDayAnimation": "時間指示器動畫",
+ "bounce": "彈一下",
+ "timeOfDay_back": "不彈",
+ "spriteSet": "寶可夢動畫",
+ "consistent": "默認",
+ "mixedAnimated": "全部動畫",
+ "fusionPaletteSwaps": "融合色調切換",
+ "playerGender": "玩家性別",
+ "typeHints": "屬性提示",
+ "masterVolume": "主音量",
+ "bgmVolume": "音樂",
+ "seVolume": "音效",
+ "musicPreference": "音樂偏好",
+ "mixed": "全曲混合",
+ "gamepadPleasePlug": "請連接手柄或按任意鍵",
+ "delete": "刪除",
+ "keyboardPleasePress": "請點擊鍵盤上的對應按鍵",
+ "reset": "重置",
+ "requireReload": "需要重新加載",
+ "action": "操作",
+ "back": "返回",
+ "pressToBind": "按下以綁定",
+ "pressButton": "請按鍵……",
+ "buttonUp": "上",
+ "buttonDown": "下",
+ "buttonLeft": "左",
+ "buttonRight": "右",
+ "buttonAction": "確認",
+ "buttonMenu": "菜單",
+ "buttonSubmit": "提交",
+ "buttonCancel": "取消",
+ "buttonStats": "狀態",
+ "buttonCycleForm": "切換形態",
+ "buttonCycleShiny": "切換閃光",
+ "buttonCycleGender": "切換性別",
+ "buttonCycleAbility": "切換特性",
+ "buttonCycleNature": "切換性格",
+ "buttonCycleVariant": "切換變種",
+ "buttonSpeedUp": "加速",
+ "buttonSlowDown": "減速",
+ "alt": " (備用)",
+ "mute": "靜音",
+ "controller": "控制器",
+ "gamepadSupport": "手柄支持",
+ "showBgmBar": "Show Music Names",
+} as const;
diff --git a/src/locales/zh_TW/splash-messages.ts b/src/locales/zh_TW/splash-messages.ts
index 496f3c39dc4..3fbbea71564 100644
--- a/src/locales/zh_TW/splash-messages.ts
+++ b/src/locales/zh_TW/splash-messages.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const splashMessages: SimpleTranslationEntries = {
"battlesWon": "勝利場數!",
diff --git a/src/locales/zh_TW/starter-select-ui-handler.ts b/src/locales/zh_TW/starter-select-ui-handler.ts
index f7139a54189..ae9a4083d20 100644
--- a/src/locales/zh_TW/starter-select-ui-handler.ts
+++ b/src/locales/zh_TW/starter-select-ui-handler.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
/**
* The menu namespace holds most miscellaneous text that isn't directly part of the game's
@@ -25,17 +25,20 @@ export const starterSelectUiHandler: SimpleTranslationEntries = {
"addToParty": "加入隊伍",
"toggleIVs": "查看個體值",
"manageMoves": "管理技能",
+ "manageNature": "管理性格",
"useCandies": "使用糖果",
+ "selectNature": "選擇性格",
"selectMoveSwapOut": "選擇想要替換走的招式",
"selectMoveSwapWith": "選擇想要替換成的招式",
"unlockPassive": "解鎖被動",
"reduceCost": "降低花費",
- "cycleShiny": "R: 切換閃光",
- "cycleForm": "F: 切換形態",
- "cycleGender": "G: 切換性別",
- "cycleAbility": "E: 切換特性",
- "cycleNature": "N: 切換性格",
- "cycleVariant": "V: 切換變種",
+ "sameSpeciesEgg": "買蛋",
+ "cycleShiny": ": 閃光",
+ "cycleForm": ": 形態",
+ "cycleGender": ": 性別",
+ "cycleAbility": ": 特性",
+ "cycleNature": ": 性格",
+ "cycleVariant": ": 變種",
"enablePassive": "啟用被動",
"disablePassive": "禁用被動",
"locked": "未解鎖",
diff --git a/src/locales/zh_TW/status-effect.ts b/src/locales/zh_TW/status-effect.ts
new file mode 100644
index 00000000000..1a402ac30fd
--- /dev/null
+++ b/src/locales/zh_TW/status-effect.ts
@@ -0,0 +1,67 @@
+import { StatusEffectTranslationEntries } from "#app/interfaces/locales.js";
+
+export const statusEffect: StatusEffectTranslationEntries = {
+ none: {
+ name: "None",
+ description: "",
+ obtain: "",
+ obtainSource: "",
+ activation: "",
+ overlap: "",
+ heal: ""
+ },
+ poison: {
+ name: "Poison",
+ description: "poisoning",
+ obtain: "{{pokemonNameWithAffix}}\nwas poisoned!",
+ obtainSource: "{{pokemonNameWithAffix}}\nwas poisoned by {{sourceText}}!",
+ activation: "{{pokemonNameWithAffix}} is hurt\nby poison!",
+ overlap: "{{pokemonNameWithAffix}} is\nalready poisoned!",
+ heal: "{{pokemonNameWithAffix}} was\ncured of its poison!"
+ },
+ toxic: {
+ name: "Toxic",
+ description: "poisoning",
+ obtain: "{{pokemonNameWithAffix}}\nwas badly poisoned!",
+ obtainSource: "{{pokemonNameWithAffix}}\nwas badly poisoned by {{sourceText}}!",
+ activation: "{{pokemonNameWithAffix}} is hurt\nby poison!",
+ overlap: "{{pokemonNameWithAffix}} is\nalready poisoned!",
+ heal: "{{pokemonNameWithAffix}} was\ncured of its poison!"
+ },
+ paralysis: {
+ name: "Paralysis",
+ description: "paralysis",
+ obtain: "{{pokemonNameWithAffix}} was paralyzed,\nIt may be unable to move!",
+ obtainSource: "{{pokemonNameWithAffix}} was paralyzed by {{sourceText}},\nIt may be unable to move!",
+ activation: "{{pokemonNameWithAffix}} is paralyzed!\nIt can't move!",
+ overlap: "{{pokemonNameWithAffix}} is\nalready paralyzed!",
+ heal: "{{pokemonNameWithAffix}} was\nhealed of paralysis!"
+ },
+ sleep: {
+ name: "Sleep",
+ description: "sleep",
+ obtain: "{{pokemonNameWithAffix}}\nfell asleep!",
+ obtainSource: "{{pokemonNameWithAffix}}\nfell asleep from {{sourceText}}!",
+ activation: "{{pokemonNameWithAffix}} is fast asleep.",
+ overlap: "{{pokemonNameWithAffix}} is\nalready asleep!",
+ heal: "{{pokemonNameWithAffix}} woke up!"
+ },
+ freeze: {
+ name: "Freeze",
+ description: "freezing",
+ obtain: "{{pokemonNameWithAffix}}\nwas frozen solid!",
+ obtainSource: "{{pokemonNameWithAffix}}\nwas frozen solid by {{sourceText}}!",
+ activation: "{{pokemonNameWithAffix}} is\nfrozen solid!",
+ overlap: "{{pokemonNameWithAffix}} is\nalready frozen!",
+ heal: "{{pokemonNameWithAffix}} was\ndefrosted!"
+ },
+ burn: {
+ name: "Burn",
+ description: "burn",
+ obtain: "{{pokemonNameWithAffix}}\nwas burned!",
+ obtainSource: "{{pokemonNameWithAffix}}\nwas burned by {{sourceText}}!",
+ activation: "{{pokemonNameWithAffix}} is hurt\nby its burn!",
+ overlap: "{{pokemonNameWithAffix}} is\nalready burned!",
+ heal: "{{pokemonNameWithAffix}} was\nhealed of its burn!"
+ },
+} as const;
diff --git a/src/locales/zh_TW/trainers.ts b/src/locales/zh_TW/trainers.ts
index f20ee156c3a..594363ce009 100644
--- a/src/locales/zh_TW/trainers.ts
+++ b/src/locales/zh_TW/trainers.ts
@@ -1,15 +1,15 @@
-import {SimpleTranslationEntries} from "#app/plugins/i18n";
+import {SimpleTranslationEntries} from "#app/interfaces/locales";
// Titles of special trainers like gym leaders, elite four, and the champion
export const titles: SimpleTranslationEntries = {
"elite_four": "四天王",
- "elite_four_female": "Elite Four",
+ "elite_four_female": "四天王",
"gym_leader": "道館館主",
"gym_leader_female": "道館館主",
- "gym_leader_double": "Gym Leader Duo",
+ "gym_leader_double": "道館館主",
"champion": "冠軍",
- "champion_female": "Champion",
- "champion_double": "Champion Duo",
+ "champion_female": "冠軍",
+ "champion_double": "冠軍搭檔",
"rival": "勁敵",
"professor": "博士",
"frontier_brain": "開拓頭腦",
@@ -48,7 +48,7 @@ export const trainerClasses: SimpleTranslationEntries = {
"depot_agent": "鐵路員工",
"doctor": "醫生",
"doctor_female": "醫生",
- "firebreather": "Firebreather",
+ "firebreather": "吹火人",
"fisherman": "垂釣者",
"fisherman_female": "垂釣者",
"gentleman": "紳士",
@@ -95,6 +95,7 @@ export const trainerClasses: SimpleTranslationEntries = {
"rich_kid_female": "富家孩子",
"rich_kids": "富二代組合",
"roughneck": "光頭男",
+ "sailor": "水手",
"scientist": "研究員",
"scientist_female": "研究員",
"scientists": "研究員組合",
@@ -304,14 +305,14 @@ export const trainerNames: SimpleTranslationEntries = {
"rival_female": "艾薇",
// Double Names
- "blue_red_double": "Blue & Red",
- "red_blue_double": "Red & Blue",
- "tate_liza_double": "Tate & Liza",
- "liza_tate_double": "Liza & Tate",
- "steven_wallace_double": "Steven & Wallace",
- "wallace_steven_double": "Wallace & Steven",
- "alder_iris_double": "Alder & Iris",
- "iris_alder_double": "Iris & Alder",
- "marnie_piers_double": "Marnie & Piers",
- "piers_marnie_double": "Piers & Marnie",
+ "blue_red_double": "青綠 & 赤紅",
+ "red_blue_double": "赤紅 & 青綠",
+ "tate_liza_double": "小楓 & 小南",
+ "liza_tate_double": "小南 & 小楓",
+ "steven_wallace_double": "大吾 & 米可利",
+ "wallace_steven_double": "米可利 & 大吾",
+ "alder_iris_double": "阿戴克 & 艾莉絲",
+ "iris_alder_double": "艾莉絲 & 阿戴克",
+ "marnie_piers_double": "瑪俐 & 聶梓",
+ "piers_marnie_double": "聶梓 & 瑪俐",
} as const;
diff --git a/src/locales/zh_TW/tutorial.ts b/src/locales/zh_TW/tutorial.ts
index a97314abec8..482ac5ce651 100644
--- a/src/locales/zh_TW/tutorial.ts
+++ b/src/locales/zh_TW/tutorial.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const tutorial: SimpleTranslationEntries = {
"intro": `歡迎來到PokéRogue!這是一款以戰鬥爲核心的融合了roguelite元素的寶可夢同人遊戲。
diff --git a/src/locales/zh_TW/voucher.ts b/src/locales/zh_TW/voucher.ts
index dd2d4a7891a..9b521e683fd 100644
--- a/src/locales/zh_TW/voucher.ts
+++ b/src/locales/zh_TW/voucher.ts
@@ -1,4 +1,4 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
export const voucher: SimpleTranslationEntries = {
"vouchers": "兌換券",
diff --git a/src/locales/zh_TW/weather.ts b/src/locales/zh_TW/weather.ts
index 0a235b3b10c..bfc5e0998dc 100644
--- a/src/locales/zh_TW/weather.ts
+++ b/src/locales/zh_TW/weather.ts
@@ -1,10 +1,10 @@
-import { SimpleTranslationEntries } from "#app/plugins/i18n";
+import { SimpleTranslationEntries } from "#app/interfaces/locales";
/**
* The weather namespace holds text displayed when weather is active during a battle
*/
export const weather: SimpleTranslationEntries = {
- "sunnyStartMessage": "日照變強了!",
+ "sunnyStartMessage": "日照變強了!",
"sunnyLapseMessage": "日照很強。",
"sunnyClearMessage": "日照復原了。",
@@ -15,22 +15,22 @@ export const weather: SimpleTranslationEntries = {
"sandstormStartMessage": "開始刮沙暴了!",
"sandstormLapseMessage": "沙暴肆虐。",
"sandstormClearMessage": "沙暴停止了。",
- "sandstormDamageMessage": "沙暴襲擊了{{pokemonPrefix}}{{pokemonName}}!",
+ "sandstormDamageMessage": "沙暴襲擊了{{pokemonNameWithAffix}}!",
- "hailStartMessage": "開始下冰雹了!",
+ "hailStartMessage": "開始下冰雹了!",
"hailLapseMessage": "冰雹繼續肆虐。",
"hailClearMessage": "冰雹不再下了。",
- "hailDamageMessage": "冰雹襲擊了{{pokemonPrefix}}{{pokemonName}}!",
+ "hailDamageMessage": "冰雹襲擊了{{pokemonNameWithAffix}}!",
- "snowStartMessage": "開始下雪了!",
+ "snowStartMessage": "開始下雪了!",
"snowLapseMessage": "雪繼續下。",
"snowClearMessage": "雪停了。",
- "fogStartMessage": "起霧了!",
+ "fogStartMessage": "起霧了!",
"fogLapseMessage": "霧很濃。",
"fogClearMessage": "霧散了。",
- "heavyRainStartMessage": "開始下起了暴雨!",
+ "heavyRainStartMessage": "開始下起了暴雨!",
"heavyRainLapseMessage": "暴雨勢頭不減。",
"heavyRainClearMessage": "暴雨停了。",
@@ -38,7 +38,29 @@ export const weather: SimpleTranslationEntries = {
"harshSunLapseMessage": "強日照勢頭不減。",
"harshSunClearMessage": "日照復原了。",
- "strongWindsStartMessage": "吹起了神秘的亂流!",
+ "strongWindsStartMessage": "吹起了神秘的亂流!",
"strongWindsLapseMessage": "神秘的亂流勢頭不減。",
+ "strongWindsEffectMessage": "The mysterious air current weakened the attack!",
"strongWindsClearMessage": "神秘的亂流停止了。"
};
+
+export const terrain: SimpleTranslationEntries = {
+ "misty": "薄霧",
+ "mistyStartMessage": "腳下霧氣繚繞!",
+ "mistyClearMessage": "腳下的霧氣消失不見了!",
+ "mistyBlockMessage": "{{pokemonNameWithAffix}}正受到薄霧場地的保護!",
+
+ "electric": "電氣",
+ "electricStartMessage": "腳下電流飛閃!",
+ "electricClearMessage": "腳下的電流消失了!",
+
+ "grassy": "青草",
+ "grassyStartMessage": "腳下青草如茵!",
+ "grassyClearMessage": "腳下的青草消失不見了!",
+
+ "psychic": "精神",
+ "psychicStartMessage": "腳下傳來了奇妙的感覺!",
+ "psychicClearMessage": "腳下的奇妙感覺消失了!",
+
+ "defaultBlockMessage": "{{pokemonNameWithAffix}}正受到{{terrainName}}的保護!"
+};
diff --git a/src/messages.ts b/src/messages.ts
index a8549c7356b..5c465cc08e9 100644
--- a/src/messages.ts
+++ b/src/messages.ts
@@ -1,19 +1,40 @@
-import { BattleSpec } from "./enums/battle-spec";
+import { BattleSpec } from "#enums/battle-spec";
import Pokemon from "./field/pokemon";
+import i18next from "i18next";
+/**
+ * Builds a message by concatenating the Pokemon name with its potential affix and the given text
+ * @param pokemon {@linkcode Pokemon} name and battle context will be retrieved from this instance for {@linkcode getPokemonNameWithAffix}
+ * @param {string} content any text
+ * @returns {string} ex: "Wild Gengar fainted!", "Ectoplasma sauvage est K.O!"
+ * @see {@linkcode getPokemonNameWithAffix} for the Pokemon's name and potentiel affix
+ */
export function getPokemonMessage(pokemon: Pokemon, content: string): string {
- return `${getPokemonPrefix(pokemon)}${pokemon.name}${content}`;
+ return `${getPokemonNameWithAffix(pokemon)}${content}`;
}
-export function getPokemonPrefix(pokemon: Pokemon): string {
- let prefix: string;
+/**
+ * Retrieves the Pokemon's name, potentially with an affix indicating its role (wild or foe) in the current battle context, translated
+ * @param pokemon {@linkcode Pokemon} name and battle context will be retrieved from this instance
+ * @returns {string} ex: "Wild Gengar", "Ectoplasma sauvage"
+ */
+export function getPokemonNameWithAffix(pokemon: Pokemon): string {
switch (pokemon.scene.currentBattle.battleSpec) {
case BattleSpec.DEFAULT:
- prefix = !pokemon.isPlayer() ? pokemon.hasTrainer() ? "Foe " : "Wild " : "";
- break;
+ return !pokemon.isPlayer()
+ ? pokemon.hasTrainer()
+ ? i18next.t("battle:foePokemonWithAffix", {
+ pokemonName: pokemon.name,
+ })
+ : i18next.t("battle:wildPokemonWithAffix", {
+ pokemonName: pokemon.name,
+ })
+ : pokemon.name;
case BattleSpec.FINAL_BOSS:
- prefix = !pokemon.isPlayer() ? "Foe " : "";
- break;
+ return !pokemon.isPlayer()
+ ? i18next.t("battle:foePokemonWithAffix", { pokemonName: pokemon.name })
+ : pokemon.name;
+ default:
+ return pokemon.name;
}
- return prefix;
}
diff --git a/src/modifier/modifier-type.ts b/src/modifier/modifier-type.ts
index ca3712f8295..d8ec0072bd4 100644
--- a/src/modifier/modifier-type.ts
+++ b/src/modifier/modifier-type.ts
@@ -1,8 +1,6 @@
import * as Modifiers from "./modifier";
import { AttackMove, allMoves } from "../data/move";
-import { Moves } from "../data/enums/moves";
-import { Abilities } from "../data/enums/abilities";
-import { PokeballType, getPokeballCatchMultiplier, getPokeballName } from "../data/pokeball";
+import { MAX_PER_TYPE_POKEBALLS, PokeballType, getPokeballCatchMultiplier, getPokeballName } from "../data/pokeball";
import Pokemon, { EnemyPokemon, PlayerPokemon, PokemonMove } from "../field/pokemon";
import { EvolutionItem, pokemonEvolutions } from "../data/pokemon-evolutions";
import { Stat, getStatName } from "../data/pokemon-stat";
@@ -12,7 +10,6 @@ import PartyUiHandler, { PokemonMoveSelectFilter, PokemonSelectFilter } from "..
import * as Utils from "../utils";
import { TempBattleStat, getTempBattleStatBoosterItemName, getTempBattleStatName } from "../data/temp-battle-stat";
import { getBerryEffectDescription, getBerryName } from "../data/berry";
-import { BerryType } from "../data/enums/berry-type";
import { Unlockables } from "../system/unlockables";
import { StatusEffect, getStatusEffectDescriptor } from "../data/status-effect";
import { SpeciesFormKey } from "../data/pokemon-species";
@@ -21,8 +18,15 @@ import { VoucherType, getVoucherTypeIcon, getVoucherTypeName } from "../system/v
import { FormChangeItem, SpeciesFormChangeItemTrigger, pokemonFormChanges } from "../data/pokemon-forms";
import { ModifierTier } from "./modifier-tier";
import { Nature, getNatureName, getNatureStatMultiplier } from "#app/data/nature";
-import i18next from "#app/plugins/i18n";
+import i18next from "i18next";
import { getModifierTierTextTint } from "#app/ui/text";
+import * as Overrides from "../overrides";
+import { MoneyMultiplierModifier } from "./modifier";
+import { Abilities } from "#enums/abilities";
+import { BattlerTagType } from "#enums/battler-tag-type";
+import { BerryType } from "#enums/berry-type";
+import { Moves } from "#enums/moves";
+import { Species } from "#enums/species";
const outputModifierData = false;
const useMaxWeightForOutput = false;
@@ -41,7 +45,6 @@ type NewModifierFunc = (type: ModifierType, args: any[]) => Modifier;
export class ModifierType {
public id: string;
- public generatorId: string;
public localeKey: string;
public iconImage: string;
public group: string;
@@ -98,7 +101,7 @@ export class ModifierType {
if (!pool.hasOwnProperty(tier)) {
continue;
}
- if (pool[tier].find(m => (m as WeightedModifierType).modifierType.id === (this.generatorId || this.id))) {
+ if (pool[tier].find(m => (m as WeightedModifierType).modifierType.id === this.id)) {
return (this.tier = tier);
}
}
@@ -129,7 +132,6 @@ export class ModifierTypeGenerator extends ModifierType {
generateType(party: Pokemon[], pregenArgs?: any[]) {
const ret = this.genTypeFunc(party, pregenArgs);
if (ret) {
- ret.generatorId = ret.id;
ret.id = this.id;
ret.setTier(this.tier);
}
@@ -232,7 +234,7 @@ export class PokemonHpRestoreModifierType extends PokemonModifierType {
constructor(localeKey: string, iconImage: string, restorePoints: integer, restorePercent: integer, healStatus: boolean = false, newModifierFunc?: NewModifierFunc, selectFilter?: PokemonSelectFilter, group?: string) {
super(localeKey, iconImage, newModifierFunc || ((_type, args) => new Modifiers.PokemonHpRestoreModifier(this, (args[0] as PlayerPokemon).id, this.restorePoints, this.restorePercent, this.healStatus, false)),
selectFilter || ((pokemon: PlayerPokemon) => {
- if (!pokemon.hp || (pokemon.hp >= pokemon.getMaxHp() && (!this.healStatus || !pokemon.status))) {
+ if (!pokemon.hp || (pokemon.hp >= pokemon.getMaxHp() && (!this.healStatus || (!pokemon.status && !pokemon.getTag(BattlerTagType.CONFUSED))))) {
return PartyUiHandler.NoEffectMessage;
}
return null;
@@ -282,7 +284,7 @@ export class PokemonStatusHealModifierType extends PokemonModifierType {
constructor(localeKey: string, iconImage: string) {
super(localeKey, iconImage, ((_type, args) => new Modifiers.PokemonStatusHealModifier(this, (args[0] as PlayerPokemon).id)),
((pokemon: PlayerPokemon) => {
- if (!pokemon.hp || !pokemon.status) {
+ if (!pokemon.hp || (!pokemon.status && !pokemon.getTag(BattlerTagType.CONFUSED))) {
return PartyUiHandler.NoEffectMessage;
}
return null;
@@ -536,6 +538,28 @@ export class AttackTypeBoosterModifierType extends PokemonHeldItemModifierType i
}
}
+export type SpeciesStatBoosterItem = keyof typeof SpeciesStatBoosterModifierTypeGenerator.items;
+
+/**
+ * Modifier type for {@linkcode Modifiers.SpeciesStatBoosterModifier}
+ * @extends PokemonHeldItemModifierType
+ * @implements GeneratedPersistentModifierType
+ */
+export class SpeciesStatBoosterModifierType extends PokemonHeldItemModifierType implements GeneratedPersistentModifierType {
+ private key: SpeciesStatBoosterItem;
+
+ constructor(key: SpeciesStatBoosterItem) {
+ const item = SpeciesStatBoosterModifierTypeGenerator.items[key];
+ super(`modifierType:SpeciesBoosterItem.${key}`, key.toLowerCase(), (type, args) => new Modifiers.SpeciesStatBoosterModifier(type, (args[0] as Pokemon).id, item.stats, item.multiplier, item.species));
+
+ this.key = key;
+ }
+
+ getPregenArgs(): any[] {
+ return [ this.key ];
+ }
+}
+
export class PokemonLevelIncrementModifierType extends PokemonModifierType {
constructor(localeKey: string, iconImage: string) {
super(localeKey, iconImage, (_type, args) => new Modifiers.PokemonLevelIncrementModifier(this, (args[0] as PlayerPokemon).id), (_pokemon: PlayerPokemon) => null);
@@ -629,9 +653,13 @@ export class MoneyRewardModifierType extends ModifierType {
}
getDescription(scene: BattleScene): string {
+ const moneyAmount = new Utils.IntegerHolder(scene.getWaveMoneyAmount(this.moneyMultiplier));
+ scene.applyModifiers(MoneyMultiplierModifier, true, moneyAmount);
+ const formattedMoney = Utils.formatMoney(scene.moneyFormat, moneyAmount.value);
+
return i18next.t("modifierType:ModifierType.MoneyRewardModifierType.description", {
moneyMultiplier: i18next.t(this.moneyMultiplierDescriptorKey as any),
- moneyAmount: scene.getWaveMoneyAmount(this.moneyMultiplier).toLocaleString("en-US"),
+ moneyAmount: formattedMoney,
});
}
}
@@ -721,7 +749,7 @@ export class TmModifierType extends PokemonModifierType {
}
getDescription(scene: BattleScene): string {
- return i18next.t("modifierType:ModifierType.TmModifierType.description", { moveName: allMoves[this.moveId].name });
+ return i18next.t(scene.enableMoveInfo ? "modifierType:ModifierType.TmModifierTypeWithInfo.description" : "modifierType:ModifierType.TmModifierType.description", { moveName: allMoves[this.moveId].name });
}
}
@@ -863,6 +891,81 @@ class AttackTypeBoosterModifierTypeGenerator extends ModifierTypeGenerator {
}
}
+/**
+ * Modifier type generator for {@linkcode SpeciesStatBoosterModifierType}, which
+ * encapsulates the logic for weighting the most useful held item from
+ * the current list of {@linkcode items}.
+ * @extends ModifierTypeGenerator
+ */
+class SpeciesStatBoosterModifierTypeGenerator extends ModifierTypeGenerator {
+ /** Object comprised of the currently available species-based stat boosting held items */
+ public static items = {
+ LIGHT_BALL: { stats: [Stat.ATK, Stat.SPATK], multiplier: 2, species: [Species.PIKACHU] },
+ THICK_CLUB: { stats: [Stat.ATK], multiplier: 2, species: [Species.CUBONE, Species.MAROWAK, Species.ALOLA_MAROWAK] },
+ METAL_POWDER: { stats: [Stat.DEF], multiplier: 2, species: [Species.DITTO] },
+ QUICK_POWDER: { stats: [Stat.SPD], multiplier: 2, species: [Species.DITTO] },
+ };
+
+ constructor() {
+ super((party: Pokemon[], pregenArgs?: any[]) => {
+ if (pregenArgs) {
+ return new SpeciesStatBoosterModifierType(pregenArgs[0] as SpeciesStatBoosterItem);
+ }
+
+ const values = Object.values(SpeciesStatBoosterModifierTypeGenerator.items);
+ const keys = Object.keys(SpeciesStatBoosterModifierTypeGenerator.items);
+ const weights = keys.map(() => 0);
+
+ for (const p of party) {
+ const speciesId = p.getSpeciesForm(true).speciesId;
+ const fusionSpeciesId = p.isFusion() ? p.getFusionSpeciesForm(true).speciesId : null;
+ const hasFling = p.getMoveset(true).some(m => m.moveId === Moves.FLING);
+
+ for (const i in values) {
+ const checkedSpecies = values[i].species;
+ const checkedStats = values[i].stats;
+
+ // If party member already has the item being weighted currently, skip to the next item
+ const hasItem = p.getHeldItems().some(m => m instanceof Modifiers.SpeciesStatBoosterModifier
+ && (m as Modifiers.SpeciesStatBoosterModifier).contains(checkedSpecies[0], checkedStats[0]));
+
+ if (!hasItem) {
+ if (checkedSpecies.includes(speciesId) || (!!fusionSpeciesId && checkedSpecies.includes(fusionSpeciesId))) {
+ // Add weight if party member has a matching species or, if applicable, a matching fusion species
+ weights[i]++;
+ } else if (checkedSpecies.includes(Species.PIKACHU) && hasFling) {
+ // Add weight to Light Ball if party member has Fling
+ weights[i]++;
+ }
+ }
+ }
+ }
+
+ let totalWeight = 0;
+ for (const weight of weights) {
+ totalWeight += weight;
+ }
+
+ if (totalWeight !== 0) {
+ const randInt = Utils.randSeedInt(totalWeight, 1);
+ let weight = 0;
+
+ for (const i in weights) {
+ if (weights[i] !== 0) {
+ const curWeight = weight + weights[i];
+ if (randInt <= weight + weights[i]) {
+ return new SpeciesStatBoosterModifierType(keys[i] as SpeciesStatBoosterItem);
+ }
+ weight = curWeight;
+ }
+ }
+ }
+
+ return null;
+ });
+ }
+}
+
class TmModifierTypeGenerator extends ModifierTypeGenerator {
constructor(tier: ModifierTier) {
super((party: Pokemon[]) => {
@@ -1010,6 +1113,30 @@ export class EnemyEndureChanceModifierType extends ModifierType {
export type ModifierTypeFunc = () => ModifierType;
type WeightedModifierTypeWeightFunc = (party: Pokemon[], rerollCount?: integer) => integer;
+/**
+ * High order function that returns a WeightedModifierTypeWeightFunc that will only be applied on
+ * classic and skip an ModifierType if current wave is greater or equal to the one passed down
+ * @param wave - Wave where we should stop showing the modifier
+ * @param defaultWeight - ModifierType default weight
+ * @returns A WeightedModifierTypeWeightFunc
+ */
+function skipInClassicAfterWave(wave: integer, defaultWeight: integer): WeightedModifierTypeWeightFunc {
+ return (party: Pokemon[]) => {
+ const gameMode = party[0].scene.gameMode;
+ const currentWave = party[0].scene.currentBattle.waveIndex;
+ return gameMode.isClassic && currentWave >= wave ? 0 : defaultWeight;
+ };
+}
+
+/**
+ * High order function that returns a WeightedModifierTypeWeightFunc that will only be applied on
+ * classic and it will skip a ModifierType if it is the last wave pull.
+ * @param defaultWeight ModifierType default weight
+ * @returns A WeightedModifierTypeWeightFunc
+ */
+function skipInLastClassicWaveOrDefault(defaultWeight: integer) : WeightedModifierTypeWeightFunc {
+ return skipInClassicAfterWave(199, defaultWeight);
+}
class WeightedModifierType {
public modifierType: ModifierType;
public weight: integer | WeightedModifierTypeWeightFunc;
@@ -1079,6 +1206,8 @@ export const modifierTypes = {
SUPER_LURE: () => new DoubleBattleChanceBoosterModifierType("modifierType:ModifierType.SUPER_LURE", "super_lure", 10),
MAX_LURE: () => new DoubleBattleChanceBoosterModifierType("modifierType:ModifierType.MAX_LURE", "max_lure", 25),
+ SPECIES_STAT_BOOSTER: () => new SpeciesStatBoosterModifierTypeGenerator(),
+
TEMP_STAT_BOOSTER: () => new ModifierTypeGenerator((party: Pokemon[], pregenArgs?: any[]) => {
if (pregenArgs) {
return new TempBattleStatBoosterModifierType(pregenArgs[0] as TempBattleStat);
@@ -1162,6 +1291,8 @@ export const modifierTypes = {
SOOTHE_BELL: () => new PokemonFriendshipBoosterModifierType("modifierType:ModifierType.SOOTHE_BELL", "soothe_bell"),
+ EVIOLITE: () => new PokemonHeldItemModifierType("modifierType:ModifierType.EVIOLITE", "eviolite", (type, args) => new Modifiers.EvolutionStatBoosterModifier(type, (args[0] as Pokemon).id, [Stat.DEF, Stat.SPDEF], 1.5)),
+
SOUL_DEW: () => new PokemonHeldItemModifierType("modifierType:ModifierType.SOUL_DEW", "soul_dew", (type, args) => new Modifiers.PokemonNatureWeightModifier(type, (args[0] as Pokemon).id)),
NUGGET: () => new MoneyRewardModifierType("modifierType:ModifierType.NUGGET", "nugget", 1, "modifierType:ModifierType.MoneyRewardModifierType.extra.small"),
@@ -1229,9 +1360,19 @@ interface ModifierPool {
[tier: string]: WeightedModifierType[]
}
+/**
+ * Used to check if the player has max of a given ball type in Classic
+ * @param party The player's party, just used to access the scene
+ * @param ballType The {@linkcode PokeballType} being checked
+ * @returns boolean: true if the player has the maximum of a given ball type
+ */
+function hasMaximumBalls(party: Pokemon[], ballType: PokeballType): boolean {
+ return (party[0].scene.gameMode.isClassic && party[0].scene.pokeballCounts[ballType] >= MAX_PER_TYPE_POKEBALLS);
+}
+
const modifierPool: ModifierPool = {
[ModifierTier.COMMON]: [
- new WeightedModifierType(modifierTypes.POKEBALL, 6),
+ new WeightedModifierType(modifierTypes.POKEBALL, (party: Pokemon[]) => (hasMaximumBalls(party, PokeballType.POKEBALL)) ? 0 : 6, 6),
new WeightedModifierType(modifierTypes.RARE_CANDY, 2),
new WeightedModifierType(modifierTypes.POTION, (party: Pokemon[]) => {
const thresholdPartyMemberCount = Math.min(party.filter(p => (p.getInverseHp() >= 10 || p.getHpRatio() <= 0.875) && !p.isFainted()).length, 3);
@@ -1252,12 +1393,13 @@ const modifierPool: ModifierPool = {
new WeightedModifierType(modifierTypes.LURE, 2),
new WeightedModifierType(modifierTypes.TEMP_STAT_BOOSTER, 4),
new WeightedModifierType(modifierTypes.BERRY, 2),
- new WeightedModifierType(modifierTypes.TM_COMMON, 1),
+ new WeightedModifierType(modifierTypes.TM_COMMON, 2),
].map(m => {
m.setTier(ModifierTier.COMMON); return m;
}),
[ModifierTier.GREAT]: [
- new WeightedModifierType(modifierTypes.GREAT_BALL, 6),
+ new WeightedModifierType(modifierTypes.GREAT_BALL, (party: Pokemon[]) => (hasMaximumBalls(party, PokeballType.GREAT_BALL)) ? 0 : 6, 6),
+ new WeightedModifierType(modifierTypes.PP_UP, 2),
new WeightedModifierType(modifierTypes.FULL_HEAL, (party: Pokemon[]) => {
const statusEffectPartyMemberCount = Math.min(party.filter(p => p.hp && !!p.status && !p.getHeldItems().some(i => {
if (i instanceof Modifiers.TurnStatusEffectModifier) {
@@ -1306,12 +1448,12 @@ const modifierPool: ModifierPool = {
}, 3),
new WeightedModifierType(modifierTypes.DIRE_HIT, 4),
new WeightedModifierType(modifierTypes.SUPER_LURE, 4),
- new WeightedModifierType(modifierTypes.NUGGET, 5),
+ new WeightedModifierType(modifierTypes.NUGGET, skipInLastClassicWaveOrDefault(5)),
new WeightedModifierType(modifierTypes.EVOLUTION_ITEM, (party: Pokemon[]) => {
return Math.min(Math.ceil(party[0].scene.currentBattle.waveIndex / 15), 8);
}, 8),
- new WeightedModifierType(modifierTypes.MAP, (party: Pokemon[]) => party[0].scene.gameMode.isClassic ? 1 : 0, 1),
- new WeightedModifierType(modifierTypes.TM_GREAT, 2),
+ new WeightedModifierType(modifierTypes.MAP, (party: Pokemon[]) => party[0].scene.gameMode.isClassic && party[0].scene.currentBattle.waveIndex < 180 ? 1 : 0, 1),
+ new WeightedModifierType(modifierTypes.TM_GREAT, 3),
new WeightedModifierType(modifierTypes.MEMORY_MUSHROOM, (party: Pokemon[]) => {
if (!party.find(p => p.getLearnableLevelMoves().length)) {
return 0;
@@ -1327,71 +1469,72 @@ const modifierPool: ModifierPool = {
m.setTier(ModifierTier.GREAT); return m;
}),
[ModifierTier.ULTRA]: [
- new WeightedModifierType(modifierTypes.ULTRA_BALL, 24),
+ new WeightedModifierType(modifierTypes.ULTRA_BALL, (party: Pokemon[]) => (hasMaximumBalls(party, PokeballType.ULTRA_BALL)) ? 0 : 15, 15),
new WeightedModifierType(modifierTypes.MAX_LURE, 4),
- new WeightedModifierType(modifierTypes.BIG_NUGGET, 12),
- new WeightedModifierType(modifierTypes.PP_UP, 9),
+ new WeightedModifierType(modifierTypes.BIG_NUGGET, skipInLastClassicWaveOrDefault(12)),
new WeightedModifierType(modifierTypes.PP_MAX, 3),
new WeightedModifierType(modifierTypes.MINT, 4),
new WeightedModifierType(modifierTypes.RARE_EVOLUTION_ITEM, (party: Pokemon[]) => Math.min(Math.ceil(party[0].scene.currentBattle.waveIndex / 15) * 4, 32), 32),
- new WeightedModifierType(modifierTypes.AMULET_COIN, 3),
+ new WeightedModifierType(modifierTypes.AMULET_COIN, skipInLastClassicWaveOrDefault(3)),
+ //new WeightedModifierType(modifierTypes.EVIOLITE, (party: Pokemon[]) => party.some(p => ((p.getSpeciesForm(true).speciesId in pokemonEvolutions) || (p.isFusion() && (p.getFusionSpeciesForm(true).speciesId in pokemonEvolutions))) && !p.getHeldItems().some(i => i instanceof Modifiers.EvolutionStatBoosterModifier)) ? 10 : 0),
+ new WeightedModifierType(modifierTypes.SPECIES_STAT_BOOSTER, 12),
new WeightedModifierType(modifierTypes.TOXIC_ORB, (party: Pokemon[]) => {
- const checkedAbilities = [Abilities.QUICK_FEET, Abilities.GUTS, Abilities.MARVEL_SCALE, Abilities.TOXIC_BOOST, Abilities.POISON_HEAL];
+ const checkedAbilities = [Abilities.QUICK_FEET, Abilities.GUTS, Abilities.MARVEL_SCALE, Abilities.TOXIC_BOOST, Abilities.POISON_HEAL, Abilities.MAGIC_GUARD];
const checkedMoves = [Moves.FACADE, Moves.TRICK, Moves.FLING, Moves.SWITCHEROO, Moves.PSYCHO_SHIFT];
// If a party member doesn't already have one of these two orbs and has one of the above moves or abilities, the orb can appear
return party.some(p => !p.getHeldItems().some(i => i instanceof Modifiers.TurnStatusEffectModifier) && (checkedAbilities.some(a => p.hasAbility(a, false, true)) || p.getMoveset(true).some(m => checkedMoves.includes(m.moveId)))) ? 10 : 0;
}, 10),
new WeightedModifierType(modifierTypes.FLAME_ORB, (party: Pokemon[]) => {
- const checkedAbilities = [Abilities.QUICK_FEET, Abilities.GUTS, Abilities.MARVEL_SCALE, Abilities.FLARE_BOOST];
+ const checkedAbilities = [Abilities.QUICK_FEET, Abilities.GUTS, Abilities.MARVEL_SCALE, Abilities.FLARE_BOOST, Abilities.MAGIC_GUARD];
const checkedMoves = [Moves.FACADE, Moves.TRICK, Moves.FLING, Moves.SWITCHEROO, Moves.PSYCHO_SHIFT];
// If a party member doesn't already have one of these two orbs and has one of the above moves or abilities, the orb can appear
return party.some(p => !p.getHeldItems().some(i => i instanceof Modifiers.TurnStatusEffectModifier) && (checkedAbilities.some(a => p.hasAbility(a, false, true)) || p.getMoveset(true).some(m => checkedMoves.includes(m.moveId)))) ? 10 : 0;
}, 10),
new WeightedModifierType(modifierTypes.REVIVER_SEED, 4),
new WeightedModifierType(modifierTypes.CANDY_JAR, 5),
- new WeightedModifierType(modifierTypes.ATTACK_TYPE_BOOSTER, 10),
- new WeightedModifierType(modifierTypes.TM_ULTRA, 8),
+ new WeightedModifierType(modifierTypes.ATTACK_TYPE_BOOSTER, 9),
+ new WeightedModifierType(modifierTypes.TM_ULTRA, 11),
new WeightedModifierType(modifierTypes.RARER_CANDY, 4),
- new WeightedModifierType(modifierTypes.GOLDEN_PUNCH, 2),
+ new WeightedModifierType(modifierTypes.GOLDEN_PUNCH, skipInLastClassicWaveOrDefault(2)),
new WeightedModifierType(modifierTypes.IV_SCANNER, 4),
new WeightedModifierType(modifierTypes.EXP_CHARM, 8),
- new WeightedModifierType(modifierTypes.EXP_SHARE, 12),
- new WeightedModifierType(modifierTypes.EXP_BALANCE, 4),
+ new WeightedModifierType(modifierTypes.EXP_SHARE, 10),
+ new WeightedModifierType(modifierTypes.EXP_BALANCE, 3),
new WeightedModifierType(modifierTypes.TERA_ORB, (party: Pokemon[]) => Math.min(Math.max(Math.floor(party[0].scene.currentBattle.waveIndex / 50) * 2, 1), 4), 4),
+ new WeightedModifierType(modifierTypes.QUICK_CLAW, 3),
new WeightedModifierType(modifierTypes.WIDE_LENS, 4),
].map(m => {
m.setTier(ModifierTier.ULTRA); return m;
}),
[ModifierTier.ROGUE]: [
- new WeightedModifierType(modifierTypes.ROGUE_BALL, 24),
- new WeightedModifierType(modifierTypes.RELIC_GOLD, 2),
+ new WeightedModifierType(modifierTypes.ROGUE_BALL, (party: Pokemon[]) => (hasMaximumBalls(party, PokeballType.ROGUE_BALL)) ? 0 : 16, 16),
+ new WeightedModifierType(modifierTypes.RELIC_GOLD, skipInLastClassicWaveOrDefault(2)),
new WeightedModifierType(modifierTypes.LEFTOVERS, 3),
new WeightedModifierType(modifierTypes.SHELL_BELL, 3),
new WeightedModifierType(modifierTypes.BERRY_POUCH, 4),
new WeightedModifierType(modifierTypes.GRIP_CLAW, 5),
new WeightedModifierType(modifierTypes.BATON, 2),
- new WeightedModifierType(modifierTypes.SOUL_DEW, 8),
+ new WeightedModifierType(modifierTypes.SOUL_DEW, 7),
//new WeightedModifierType(modifierTypes.OVAL_CHARM, 6),
new WeightedModifierType(modifierTypes.SOOTHE_BELL, 4),
new WeightedModifierType(modifierTypes.ABILITY_CHARM, 6),
new WeightedModifierType(modifierTypes.FOCUS_BAND, 5),
- new WeightedModifierType(modifierTypes.QUICK_CLAW, 3),
new WeightedModifierType(modifierTypes.KINGS_ROCK, 3),
new WeightedModifierType(modifierTypes.LOCK_CAPSULE, 3),
- new WeightedModifierType(modifierTypes.SUPER_EXP_CHARM, 10),
- new WeightedModifierType(modifierTypes.FORM_CHANGE_ITEM, 18),
- new WeightedModifierType(modifierTypes.MEGA_BRACELET, (party: Pokemon[]) => Math.min(Math.ceil(party[0].scene.currentBattle.waveIndex / 50), 4) * 8, 32),
- new WeightedModifierType(modifierTypes.DYNAMAX_BAND, (party: Pokemon[]) => Math.min(Math.ceil(party[0].scene.currentBattle.waveIndex / 50), 4) * 8, 32),
- new WeightedModifierType(modifierTypes.VOUCHER_PLUS, (party: Pokemon[], rerollCount: integer) => !party[0].scene.gameMode.isDaily ? Math.max(5 - rerollCount * 2, 0) : 0, 5),
+ new WeightedModifierType(modifierTypes.SUPER_EXP_CHARM, 8),
+ new WeightedModifierType(modifierTypes.FORM_CHANGE_ITEM, (party: Pokemon[]) => Math.min(Math.ceil(party[0].scene.currentBattle.waveIndex / 50), 4) * 6, 24),
+ new WeightedModifierType(modifierTypes.MEGA_BRACELET, (party: Pokemon[]) => Math.min(Math.ceil(party[0].scene.currentBattle.waveIndex / 50), 4) * 9, 36),
+ new WeightedModifierType(modifierTypes.DYNAMAX_BAND, (party: Pokemon[]) => Math.min(Math.ceil(party[0].scene.currentBattle.waveIndex / 50), 4) * 9, 36),
+ new WeightedModifierType(modifierTypes.VOUCHER_PLUS, (party: Pokemon[], rerollCount: integer) => !party[0].scene.gameMode.isDaily ? Math.max(3 - rerollCount * 1, 0) : 0, 3),
].map(m => {
m.setTier(ModifierTier.ROGUE); return m;
}),
[ModifierTier.MASTER]: [
- new WeightedModifierType(modifierTypes.MASTER_BALL, 24),
+ new WeightedModifierType(modifierTypes.MASTER_BALL, (party: Pokemon[]) => (hasMaximumBalls(party, PokeballType.MASTER_BALL)) ? 0 : 24, 24),
new WeightedModifierType(modifierTypes.SHINY_CHARM, 14),
new WeightedModifierType(modifierTypes.HEALING_CHARM, 18),
new WeightedModifierType(modifierTypes.MULTI_LENS, 18),
- new WeightedModifierType(modifierTypes.VOUCHER_PREMIUM, (party: Pokemon[], rerollCount: integer) => !party[0].scene.gameMode.isDaily && !party[0].scene.gameMode.isEndless && !party[0].scene.gameMode.isSplicedOnly ? Math.max(6 - rerollCount * 2, 0) : 0, 6),
+ new WeightedModifierType(modifierTypes.VOUCHER_PREMIUM, (party: Pokemon[], rerollCount: integer) => !party[0].scene.gameMode.isDaily && !party[0].scene.gameMode.isEndless && !party[0].scene.gameMode.isSplicedOnly ? Math.max(5 - rerollCount * 2, 0) : 0, 5),
new WeightedModifierType(modifierTypes.DNA_SPLICERS, (party: Pokemon[]) => !party[0].scene.gameMode.isSplicedOnly && party.filter(p => !p.fusionSpecies).length > 1 ? 24 : 0, 24),
new WeightedModifierType(modifierTypes.MINI_BLACK_HOLE, (party: Pokemon[]) => party[0].scene.gameData.unlocks[Unlockables.MINI_BLACK_HOLE] ? 1 : 0, 1),
].map(m => {
@@ -1597,7 +1740,7 @@ export function regenerateModifierPoolThresholds(party: Pokemon[], poolType: Mod
let i = 0;
pool[t].reduce((total: integer, modifierType: WeightedModifierType) => {
const weightedModifierType = modifierType as WeightedModifierType;
- const existingModifiers = party[0].scene.findModifiers(m => (m.type.generatorId || m.type.id) === weightedModifierType.modifierType.id, poolType === ModifierPoolType.PLAYER);
+ const existingModifiers = party[0].scene.findModifiers(m => m.type.id === weightedModifierType.modifierType.id, poolType === ModifierPoolType.PLAYER);
const itemModifierType = weightedModifierType.modifierType instanceof ModifierTypeGenerator
? weightedModifierType.modifierType.generateType(party)
: weightedModifierType.modifierType;
@@ -1610,7 +1753,7 @@ export function regenerateModifierPoolThresholds(party: Pokemon[], poolType: Mod
: weightedModifierType.weight as integer
: 0;
if (weightedModifierType.maxWeight) {
- const modifierId = weightedModifierType.modifierType.generatorId || weightedModifierType.modifierType.id;
+ const modifierId = weightedModifierType.modifierType.id;
tierModifierIds.push(modifierId);
const outputWeight = useMaxWeightForOutput ? weightedModifierType.maxWeight : weight;
modifierTableData[modifierId] = { weight: outputWeight, tier: parseInt(t), tierPercent: 0, totalPercent: 0 };
@@ -1673,6 +1816,14 @@ export function getPlayerModifierTypeOptions(count: integer, party: PlayerPokemo
}
options.push(candidate);
});
+ // OVERRIDE IF NECESSARY
+ if (Overrides.ITEM_REWARD_OVERRIDE?.length) {
+ options.forEach((mod, i) => {
+ // @ts-ignore: keeps throwing don't use string as index error in typedoc run
+ const override = modifierTypes[Overrides.ITEM_REWARD_OVERRIDE[i]]?.();
+ mod.type = (override instanceof ModifierTypeGenerator ? override.generateType(party) : override) || mod.type;
+ });
+ }
return options;
}
@@ -1875,8 +2026,9 @@ export class ModifierTypeOption {
}
export function getPartyLuckValue(party: Pokemon[]): integer {
- return Phaser.Math.Clamp(party.map(p => p.isFainted() ? 0 : p.getLuck())
+ const luck = Phaser.Math.Clamp(party.map(p => p.isFainted() ? 0 : p.getLuck())
.reduce((total: integer, value: integer) => total += value, 0), 0, 14);
+ return luck || 0;
}
export function getLuckString(luckValue: integer): string {
diff --git a/src/modifier/modifier.ts b/src/modifier/modifier.ts
index 28bf2f61c75..6f098ade124 100644
--- a/src/modifier/modifier.ts
+++ b/src/modifier/modifier.ts
@@ -2,36 +2,57 @@ import * as ModifierTypes from "./modifier-type";
import { LearnMovePhase, LevelUpPhase, PokemonHealPhase } from "../phases";
import BattleScene from "../battle-scene";
import { getLevelTotalExp } from "../data/exp";
-import { PokeballType } from "../data/pokeball";
+import { MAX_PER_TYPE_POKEBALLS, PokeballType } from "../data/pokeball";
import Pokemon, { PlayerPokemon } from "../field/pokemon";
import { Stat } from "../data/pokemon-stat";
import { addTextObject, TextStyle } from "../ui/text";
import { Type } from "../data/type";
import { EvolutionPhase } from "../evolution-phase";
import { FusionSpeciesFormEvolution, pokemonEvolutions, pokemonPrevolutions } from "../data/pokemon-evolutions";
-import { getPokemonMessage } from "../messages";
+import {getPokemonMessage, getPokemonNameWithAffix} from "../messages";
import * as Utils from "../utils";
import { TempBattleStat } from "../data/temp-battle-stat";
import { getBerryEffectFunc, getBerryPredicate } from "../data/berry";
-import { BerryType } from "../data/enums/berry-type";
+import { BattlerTagType} from "#enums/battler-tag-type";
+import { BerryType } from "#enums/berry-type";
import { StatusEffect, getStatusEffectHealText } from "../data/status-effect";
import { achvs } from "../system/achv";
import { VoucherType } from "../system/voucher";
import { FormChangeItem, SpeciesFormChangeItemTrigger } from "../data/pokemon-forms";
import { Nature } from "#app/data/nature";
-import { BattlerTagType } from "#app/data/enums/battler-tag-type";
import * as Overrides from "../overrides";
import { ModifierType, modifierTypes } from "./modifier-type";
+import { Command } from "#app/ui/command-ui-handler.js";
+import { Species } from "#enums/species";
+import i18next from "i18next";
+
+import { allMoves } from "#app/data/move.js";
+import { Abilities } from "#app/enums/abilities.js";
export type ModifierPredicate = (modifier: Modifier) => boolean;
const iconOverflowIndex = 24;
export const modifierSortFunc = (a: Modifier, b: Modifier) => {
+ const itemNameMatch = a.type.name.localeCompare(b.type.name);
+ const typeNameMatch = a.constructor.name.localeCompare(b.constructor.name);
const aId = a instanceof PokemonHeldItemModifier ? a.pokemonId : 4294967295;
const bId = b instanceof PokemonHeldItemModifier ? b.pokemonId : 4294967295;
- return aId < bId ? 1 : aId > bId ? -1 : 0;
+ //First sort by pokemonID
+ if (aId < bId) {
+ return 1;
+ } else if (aId>bId) {
+ return -1;
+ } else if (aId === bId) {
+ //Then sort by item type
+ if (typeNameMatch === 0) {
+ return itemNameMatch;
+ //Finally sort by item name
+ } else {
+ return typeNameMatch;
+ }
+ }
};
export class ModifierBar extends Phaser.GameObjects.Container {
@@ -45,22 +66,29 @@ export class ModifierBar extends Phaser.GameObjects.Container {
this.setScale(0.5);
}
- updateModifiers(modifiers: PersistentModifier[]) {
+ /**
+ * Method to update content displayed in {@linkcode ModifierBar}
+ * @param {PersistentModifier[]} modifiers - The list of modifiers to be displayed in the {@linkcode ModifierBar}
+ * @param {boolean} hideHeldItems - If set to "true", only modifiers not assigned to a Pokémon are displayed
+ */
+ updateModifiers(modifiers: PersistentModifier[], hideHeldItems: boolean = false) {
this.removeAll(true);
const visibleIconModifiers = modifiers.filter(m => m.isIconVisible(this.scene as BattleScene));
+ const nonPokemonSpecificModifiers = visibleIconModifiers.filter(m => !(m as PokemonHeldItemModifier).pokemonId).sort(modifierSortFunc);
+ const pokemonSpecificModifiers = visibleIconModifiers.filter(m => (m as PokemonHeldItemModifier).pokemonId).sort(modifierSortFunc);
- visibleIconModifiers.sort(modifierSortFunc);
+ const sortedVisibleIconModifiers = hideHeldItems ? nonPokemonSpecificModifiers : nonPokemonSpecificModifiers.concat(pokemonSpecificModifiers);
const thisArg = this;
- visibleIconModifiers.forEach((modifier: PersistentModifier, i: integer) => {
+ sortedVisibleIconModifiers.forEach((modifier: PersistentModifier, i: integer) => {
const icon = modifier.getIcon(this.scene as BattleScene);
if (i >= iconOverflowIndex) {
icon.setVisible(false);
}
this.add(icon);
- this.setModifierIconPosition(icon, visibleIconModifiers.length);
+ this.setModifierIconPosition(icon, sortedVisibleIconModifiers.length);
icon.setInteractive(new Phaser.Geom.Rectangle(0, 0, 32, 24), Phaser.Geom.Rectangle.Contains);
icon.on("pointerover", () => {
(this.scene as BattleScene).ui.showTooltip(modifier.type.name, modifier.type.getDescription(this.scene as BattleScene));
@@ -236,7 +264,7 @@ export class AddPokeballModifier extends ConsumableModifier {
apply(args: any[]): boolean {
const pokeballCounts = (args[0] as BattleScene).pokeballCounts;
- pokeballCounts[this.pokeballType] = Math.min(pokeballCounts[this.pokeballType] + this.count, 99);
+ pokeballCounts[this.pokeballType] = Math.min(pokeballCounts[this.pokeballType] + this.count, MAX_PER_TYPE_POKEBALLS);
return true;
}
@@ -302,7 +330,8 @@ export class DoubleBattleChanceBoosterModifier extends LapsingPersistentModifier
match(modifier: Modifier): boolean {
if (modifier instanceof DoubleBattleChanceBoosterModifier) {
- return (modifier as DoubleBattleChanceBoosterModifier).battlesLeft === this.battlesLeft;
+ // Check type id to not match different tiers of lures
+ return modifier.type.id === this.type.id && modifier.battlesLeft === this.battlesLeft;
}
return false;
}
@@ -314,9 +343,15 @@ export class DoubleBattleChanceBoosterModifier extends LapsingPersistentModifier
getArgs(): any[] {
return [ this.battlesLeft ];
}
-
+ /**
+ * Modifies the chance of a double battle occurring
+ * @param args A single element array containing the double battle chance as a NumberHolder
+ * @returns {boolean} Returns true if the modifier was applied
+ */
apply(args: any[]): boolean {
const doubleBattleChance = args[0] as Utils.NumberHolder;
+ // This is divided because the chance is generated as a number from 0 to doubleBattleChance.value using Utils.randSeedInt
+ // A double battle will initiate if the generated number is 0
doubleBattleChance.value = Math.ceil(doubleBattleChance.value / 2);
return true;
@@ -503,6 +538,22 @@ export abstract class PokemonHeldItemModifier extends PersistentModifier {
return 1;
}
+ //Applies to items with chance of activating secondary effects ie Kings Rock
+ getSecondaryChanceMultiplier(pokemon: Pokemon): integer {
+ // Temporary quickfix to stop game from freezing when the opponet uses u-turn while holding on to king's rock
+ if (!pokemon.getLastXMoves(0)[0]) {
+ return 1;
+ }
+ const sheerForceAffected = allMoves[pokemon.getLastXMoves(0)[0].move].chance >= 0 && pokemon.hasAbility(Abilities.SHEER_FORCE);
+
+ if (sheerForceAffected) {
+ return 0;
+ } else if (pokemon.hasAbility(Abilities.SERENE_GRACE)) {
+ return 2;
+ }
+ return 1;
+ }
+
getMaxStackCount(scene: BattleScene, forThreshold?: boolean): integer {
const pokemon = this.getPokemon(scene);
if (!pokemon) {
@@ -657,6 +708,180 @@ export class PokemonBaseStatModifier extends PokemonHeldItemModifier {
}
}
+/**
+ * Modifier used for held items that apply {@linkcode Stat} boost(s)
+ * using a multiplier.
+ * @extends PokemonHeldItemModifier
+ * @see {@linkcode apply}
+ */
+export class StatBoosterModifier extends PokemonHeldItemModifier {
+ /** The stats that the held item boosts */
+ protected stats: Stat[];
+ /** The multiplier used to increase the relevant stat(s) */
+ protected multiplier: number;
+
+ constructor(type: ModifierType, pokemonId: integer, stats: Stat[], multiplier: number, stackCount?: integer) {
+ super(type, pokemonId, stackCount);
+
+ this.stats = stats;
+ this.multiplier = multiplier;
+ }
+
+ clone() {
+ return new StatBoosterModifier(this.type, this.pokemonId, this.stats, this.multiplier, this.stackCount);
+ }
+
+ getArgs(): any[] {
+ return [ ...super.getArgs(), this.stats, this.multiplier ];
+ }
+
+ matchType(modifier: Modifier): boolean {
+ if (modifier instanceof StatBoosterModifier) {
+ const modifierInstance = modifier as StatBoosterModifier;
+ if ((modifierInstance.multiplier === this.multiplier) && (modifierInstance.stats.length === this.stats.length)) {
+ return modifierInstance.stats.every((e, i) => e === this.stats[i]);
+ }
+ }
+
+ return false;
+ }
+
+ /**
+ * Checks if the incoming stat is listed in {@linkcode stats}
+ * @param args [0] {@linkcode Pokemon} N/A
+ * [1] {@linkcode Stat} being checked at the time
+ * [2] {@linkcode Utils.NumberHolder} N/A
+ * @returns true if the stat could be boosted, false otherwise
+ */
+ shouldApply(args: any[]): boolean {
+ return super.shouldApply(args) && this.stats.includes(args[1] as Stat);
+ }
+
+ /**
+ * Boosts the incoming stat by a {@linkcode multiplier} if the stat is listed
+ * in {@linkcode stats}.
+ * @param args [0] {@linkcode Pokemon} N/A
+ * [1] {@linkcode Stat} N/A
+ * [2] {@linkcode Utils.NumberHolder} that holds the resulting value of the stat
+ * @returns true if the stat boost applies successfully, false otherwise
+ * @see shouldApply
+ */
+ apply(args: any[]): boolean {
+ const statValue = args[2] as Utils.NumberHolder;
+
+ statValue.value *= this.multiplier;
+ return true;
+ }
+
+ getMaxHeldItemCount(_pokemon: Pokemon): number {
+ return 1;
+ }
+}
+
+/**
+ * Modifier used for held items, specifically Eviolite, that apply
+ * {@linkcode Stat} boost(s) using a multiplier if the holder can evolve.
+ * @extends StatBoosterModifier
+ * @see {@linkcode apply}
+ */
+export class EvolutionStatBoosterModifier extends StatBoosterModifier {
+ clone() {
+ return super.clone() as EvolutionStatBoosterModifier;
+ }
+
+ matchType(modifier: Modifier): boolean {
+ return modifier instanceof EvolutionStatBoosterModifier;
+ }
+
+ /**
+ * Boosts the incoming stat value by a {@linkcode multiplier} if the holder
+ * can evolve. Note that, if the holder is a fusion, they will receive
+ * only half of the boost if either of the fused members are fully
+ * evolved. However, if they are both unevolved, the full boost
+ * will apply.
+ * @param args [0] {@linkcode Pokemon} that holds the held item
+ * [1] {@linkcode Stat} N/A
+ * [2] {@linkcode Utils.NumberHolder} that holds the resulting value of the stat
+ * @returns true if the stat boost applies successfully, false otherwise
+ * @see shouldApply
+ */
+ apply(args: any[]): boolean {
+ const holder = args[0] as Pokemon;
+ const statValue = args[2] as Utils.NumberHolder;
+ const isUnevolved = holder.getSpeciesForm(true).speciesId in pokemonEvolutions;
+
+ if (holder.isFusion() && (holder.getFusionSpeciesForm(true).speciesId in pokemonEvolutions) !== isUnevolved) {
+ // Half boost applied if holder is fused and either part of fusion is fully evolved
+ statValue.value *= 1 + (this.multiplier - 1) / 2;
+ return true;
+ } else if (isUnevolved) {
+ // Full boost applied if holder is unfused and unevolved or, if fused, both parts of fusion are unevolved
+ return super.apply(args);
+ }
+
+ return false;
+ }
+}
+
+/**
+ * Modifier used for held items that apply {@linkcode Stat} boost(s) using a
+ * multiplier if the holder is of a specific {@linkcode Species}.
+ * @extends StatBoosterModifier
+ * @see {@linkcode apply}
+ */
+export class SpeciesStatBoosterModifier extends StatBoosterModifier {
+ /** The species that the held item's stat boost(s) apply to */
+ private species: Species[];
+
+ constructor(type: ModifierType, pokemonId: integer, stats: Stat[], multiplier: number, species: Species[], stackCount?: integer) {
+ super(type, pokemonId, stats, multiplier, stackCount);
+
+ this.species = species;
+ }
+
+ clone() {
+ return new SpeciesStatBoosterModifier(this.type, this.pokemonId, this.stats, this.multiplier, this.species, this.stackCount);
+ }
+
+ getArgs(): any[] {
+ return [ ...super.getArgs(), this.species ];
+ }
+
+ matchType(modifier: Modifier): boolean {
+ if (modifier instanceof SpeciesStatBoosterModifier) {
+ const modifierInstance = modifier as SpeciesStatBoosterModifier;
+ if (modifierInstance.species.length === this.species.length) {
+ return super.matchType(modifier) && modifierInstance.species.every((e, i) => e === this.species[i]);
+ }
+ }
+
+ return false;
+ }
+
+ /**
+ * Checks if the incoming stat is listed in {@linkcode stats} and if the holder's {@linkcode Species}
+ * (or its fused species) is listed in {@linkcode species}.
+ * @param args [0] {@linkcode Pokemon} that holds the held item
+ * [1] {@linkcode Stat} being checked at the time
+ * [2] {@linkcode Utils.NumberHolder} N/A
+ * @returns true if the stat could be boosted, false otherwise
+ */
+ shouldApply(args: any[]): boolean {
+ const holder = args[0] as Pokemon;
+ return super.shouldApply(args) && (this.species.includes(holder.getSpeciesForm(true).speciesId) || (holder.isFusion() && this.species.includes(holder.getFusionSpeciesForm(true).speciesId)));
+ }
+
+ /**
+ * Checks if either parameter is included in the corresponding lists
+ * @param speciesId {@linkcode Species} being checked
+ * @param stat {@linkcode Stat} being checked
+ * @returns true if both parameters are in {@linkcode species} and {@linkcode stats} respectively, false otherwise
+ */
+ contains(speciesId: Species, stat: Stat): boolean {
+ return this.species.includes(speciesId) && this.stats.includes(stat);
+ }
+}
+
/**
* Applies Specific Type item boosts (e.g., Magnet)
*/
@@ -741,7 +966,7 @@ export class SurviveDamageModifier extends PokemonHeldItemModifier {
if (!surviveDamage.value && pokemon.randSeedInt(10) < this.getStackCount()) {
surviveDamage.value = true;
- pokemon.scene.queueMessage(getPokemonMessage(pokemon, ` hung on\nusing its ${this.type.name}!`));
+ pokemon.scene.queueMessage(i18next.t("modifier:surviveDamageApply", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), typeName: this.type.name }));
return true;
}
@@ -776,8 +1001,11 @@ export class BypassSpeedChanceModifier extends PokemonHeldItemModifier {
if (!bypassSpeed.value && pokemon.randSeedInt(10) < this.getStackCount()) {
bypassSpeed.value = true;
- if (this.type instanceof ModifierTypes.PokemonHeldItemModifierType && this.type.id === "QUICK_CLAW") {
- pokemon.scene.queueMessage(getPokemonMessage(pokemon, " used its quick claw to move faster!"));
+ const isCommandFight = pokemon.scene.currentBattle.turnCommands[pokemon.getBattlerIndex()]?.command === Command.FIGHT;
+ const hasQuickClaw = this.type instanceof ModifierTypes.PokemonHeldItemModifierType && this.type.id === "QUICK_CLAW";
+
+ if (isCommandFight && hasQuickClaw) {
+ pokemon.scene.queueMessage(getPokemonMessage(pokemon, " used its Quick Claw to move faster!"));
}
return true;
}
@@ -811,7 +1039,7 @@ export class FlinchChanceModifier extends PokemonHeldItemModifier {
const pokemon = args[0] as Pokemon;
const flinched = args[1] as Utils.BooleanHolder;
- if (!flinched.value && pokemon.randSeedInt(10) < this.getStackCount()) {
+ if (!flinched.value && pokemon.randSeedInt(10) < (this.getStackCount() * this.getSecondaryChanceMultiplier(pokemon))) {
flinched.value = true;
return true;
}
@@ -843,7 +1071,7 @@ export class TurnHealModifier extends PokemonHeldItemModifier {
if (pokemon.getHpRatio() < 1) {
const scene = pokemon.scene;
scene.unshiftPhase(new PokemonHealPhase(scene, pokemon.getBattlerIndex(),
- Math.max(Math.floor(pokemon.getMaxHp() / 16) * this.stackCount, 1), getPokemonMessage(pokemon, `'s ${this.type.name}\nrestored its HP a little!`), true));
+ Math.max(Math.floor(pokemon.getMaxHp() / 16) * this.stackCount, 1), i18next.t("modifier:turnHealApply", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), typeName: this.type.name }), true));
return true;
}
@@ -934,7 +1162,7 @@ export class HitHealModifier extends PokemonHeldItemModifier {
if (pokemon.turnData.damageDealt && pokemon.getHpRatio() < 1) {
const scene = pokemon.scene;
scene.unshiftPhase(new PokemonHealPhase(scene, pokemon.getBattlerIndex(),
- Math.max(Math.floor(pokemon.turnData.damageDealt / 8) * this.stackCount, 1), getPokemonMessage(pokemon, `'s ${this.type.name}\nrestored its HP a little!`), true));
+ Math.max(Math.floor(pokemon.turnData.damageDealt / 8) * this.stackCount, 1), i18next.t("modifier:hitHealApply", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), typeName: this.type.name }), true));
}
return true;
@@ -1069,10 +1297,9 @@ export class PokemonInstantReviveModifier extends PokemonHeldItemModifier {
const pokemon = args[0] as Pokemon;
pokemon.scene.unshiftPhase(new PokemonHealPhase(pokemon.scene, pokemon.getBattlerIndex(),
- Math.max(Math.floor(pokemon.getMaxHp() / 2), 1), getPokemonMessage(pokemon, ` was revived\nby its ${this.type.name}!`), false, false, true));
-
- pokemon.resetStatus();
+ Math.max(Math.floor(pokemon.getMaxHp() / 2), 1), i18next.t("modifier:pokemonInstantReviveApply", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon), typeName: this.type.name }), false, false, true));
+ pokemon.resetStatus(true, false, true);
return true;
}
@@ -1126,13 +1353,11 @@ export class PokemonHpRestoreModifier extends ConsumablePokemonModifier {
restorePoints = Math.floor(restorePoints * (args[1] as number));
}
if (this.fainted || this.healStatus) {
- pokemon.resetStatus();
+ pokemon.resetStatus(true, true);
}
pokemon.hp = Math.min(pokemon.hp + Math.max(Math.ceil(Math.max(Math.floor((this.restorePercent * 0.01) * pokemon.getMaxHp()), restorePoints)), 1), pokemon.getMaxHp());
-
return true;
}
-
return false;
}
}
@@ -1144,8 +1369,7 @@ export class PokemonStatusHealModifier extends ConsumablePokemonModifier {
apply(args: any[]): boolean {
const pokemon = args[0] as Pokemon;
- pokemon.resetStatus();
-
+ pokemon.resetStatus(true, true);
return true;
}
}
@@ -1787,7 +2011,10 @@ export class MoneyInterestModifier extends PersistentModifier {
const interestAmount = Math.floor(scene.money * 0.1 * this.getStackCount());
scene.addMoney(interestAmount);
- scene.queueMessage(`You received interest of ₽${interestAmount.toLocaleString("en-US")}\nfrom the ${this.type.name}!`, null, true);
+ const userLocale = navigator.language || "en-US";
+ const formattedMoneyAmount = interestAmount.toLocaleString(userLocale);
+ const message = i18next.t("modifier:moneyInterestApply", { moneyAmount: formattedMoneyAmount, typeName: this.type.name });
+ scene.queueMessage(message, null, true);
return true;
}
@@ -1893,14 +2120,38 @@ export class SwitchEffectTransferModifier extends PokemonHeldItemModifier {
}
}
+/**
+ * Abstract class for held items that steal other Pokemon's items.
+ * @see {@linkcode TurnHeldItemTransferModifier}
+ * @see {@linkcode ContactHeldItemTransferChanceModifier}
+ */
export abstract class HeldItemTransferModifier extends PokemonHeldItemModifier {
constructor(type: ModifierType, pokemonId: integer, stackCount?: integer) {
super(type, pokemonId, stackCount);
}
+ /**
+ * Determines the targets to transfer items from when this applies.
+ * @param args\[0\] the {@linkcode Pokemon} holding this item
+ * @returns the opponents of the source {@linkcode Pokemon}
+ */
+ getTargets(args: any[]): Pokemon[] {
+ const pokemon = args[0];
+
+ return pokemon instanceof Pokemon
+ ? pokemon.getOpponents()
+ : [];
+ }
+
+ /**
+ * Steals an item from a set of target Pokemon.
+ * This prioritizes high-tier held items when selecting the item to steal.
+ * @param args \[0\] The {@linkcode Pokemon} holding this item
+ * @returns true if an item was stolen; false otherwise.
+ */
apply(args: any[]): boolean {
const pokemon = args[0] as Pokemon;
- const opponents = pokemon.getOpponents();
+ const opponents = this.getTargets(args);
if (!opponents.length) {
return false;
@@ -1957,6 +2208,11 @@ export abstract class HeldItemTransferModifier extends PokemonHeldItemModifier {
abstract getTransferMessage(pokemon: Pokemon, targetPokemon: Pokemon, item: ModifierTypes.ModifierType): string;
}
+/**
+ * Modifier for held items that steal items from the enemy at the end of
+ * each turn.
+ * @see {@linkcode modifierTypes[MINI_BLACK_HOLE]}
+ */
export class TurnHeldItemTransferModifier extends HeldItemTransferModifier {
constructor(type: ModifierType, pokemonId: integer, stackCount?: integer) {
super(type, pokemonId, stackCount);
@@ -1979,7 +2235,7 @@ export class TurnHeldItemTransferModifier extends HeldItemTransferModifier {
}
getTransferMessage(pokemon: Pokemon, targetPokemon: Pokemon, item: ModifierTypes.ModifierType): string {
- return getPokemonMessage(targetPokemon, `'s ${item.name} was absorbed\nby ${pokemon.name}'s ${this.type.name}!`);
+ return i18next.t("modifier:turnHeldItemTransferApply", { pokemonNameWithAffix: getPokemonNameWithAffix(targetPokemon), itemName: item.name, pokemonName: pokemon.name, typeName: this.type.name });
}
getMaxHeldItemCount(pokemon: Pokemon): integer {
@@ -1987,6 +2243,12 @@ export class TurnHeldItemTransferModifier extends HeldItemTransferModifier {
}
}
+/**
+ * Modifier for held items that add a chance to steal items from the target of a
+ * successful attack.
+ * @see {@linkcode modifierTypes[GRIP_CLAW]}
+ * @see {@linkcode HeldItemTransferModifier}
+ */
export class ContactHeldItemTransferChanceModifier extends HeldItemTransferModifier {
private chance: number;
@@ -1996,6 +2258,20 @@ export class ContactHeldItemTransferChanceModifier extends HeldItemTransferModif
this.chance = chancePercent / 100;
}
+ /**
+ * Determines the target to steal items from when this applies.
+ * @param args\[0\] The {@linkcode Pokemon} holding this item
+ * @param args\[1\] The {@linkcode Pokemon} the holder is targeting with an attack
+ * @returns The target (args[1]) stored in array format for use in {@linkcode HeldItemTransferModifier.apply}
+ */
+ getTargets(args: any[]): Pokemon[] {
+ const target = args[1];
+
+ return target instanceof Pokemon
+ ? [ target ]
+ : [];
+ }
+
matchType(modifier: Modifier): boolean {
return modifier instanceof ContactHeldItemTransferChanceModifier;
}
@@ -2013,7 +2289,7 @@ export class ContactHeldItemTransferChanceModifier extends HeldItemTransferModif
}
getTransferMessage(pokemon: Pokemon, targetPokemon: Pokemon, item: ModifierTypes.ModifierType): string {
- return getPokemonMessage(targetPokemon, `'s ${item.name} was snatched\nby ${pokemon.name}'s ${this.type.name}!`);
+ return i18next.t("modifier:contactHeldItemTransferApply", { pokemonNameWithAffix: getPokemonNameWithAffix(targetPokemon), itemName: item.name, pokemonName: pokemon.name, typeName: this.type.name });
}
getMaxHeldItemCount(pokemon: Pokemon): integer {
@@ -2171,7 +2447,7 @@ export class EnemyTurnHealModifier extends EnemyPersistentModifier {
if (pokemon.getHpRatio() < 1) {
const scene = pokemon.scene;
scene.unshiftPhase(new PokemonHealPhase(scene, pokemon.getBattlerIndex(),
- Math.max(Math.floor(pokemon.getMaxHp() / (100 / this.healPercent)) * this.stackCount, 1), getPokemonMessage(pokemon, "\nrestored some HP!"), true, false, false, false, true));
+ Math.max(Math.floor(pokemon.getMaxHp() / (100 / this.healPercent)) * this.stackCount, 1), i18next.t("modifier:enemyTurnHealApply", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) }), true, false, false, false, true));
return true;
}
@@ -2191,7 +2467,8 @@ export class EnemyAttackStatusEffectChanceModifier extends EnemyPersistentModifi
super(type, stackCount);
this.effect = effect;
- this.chance = (chancePercent || 5) / 100;
+ //Hardcode temporarily
+ this.chance = .025 * ((this.effect === StatusEffect.BURN || this.effect === StatusEffect.POISON) ? 2 : 1);
}
match(modifier: Modifier): boolean {
@@ -2226,7 +2503,8 @@ export class EnemyStatusEffectHealChanceModifier extends EnemyPersistentModifier
constructor(type: ModifierType, chancePercent: number, stackCount?: integer) {
super(type, stackCount);
- this.chance = (chancePercent || 2.5) / 100;
+ //Hardcode temporarily
+ this.chance = .025;
}
match(modifier: Modifier): boolean {
@@ -2244,7 +2522,7 @@ export class EnemyStatusEffectHealChanceModifier extends EnemyPersistentModifier
apply(args: any[]): boolean {
const target = (args[0] as Pokemon);
if (target.status && Phaser.Math.RND.realInRange(0, 1) < (this.chance * this.getStackCount())) {
- target.scene.queueMessage(getPokemonMessage(target, getStatusEffectHealText(target.status.effect)));
+ target.scene.queueMessage(getStatusEffectHealText(target.status.effect, getPokemonNameWithAffix(target)));
target.resetStatus();
target.updateInfo();
return true;
@@ -2264,7 +2542,8 @@ export class EnemyEndureChanceModifier extends EnemyPersistentModifier {
constructor(type: ModifierType, chancePercent?: number, stackCount?: integer) {
super(type, stackCount || 10);
- this.chance = (chancePercent || 2) / 100;
+ //Hardcode temporarily
+ this.chance = .02;
}
match(modifier: Modifier) {
diff --git a/src/overrides.ts b/src/overrides.ts
index 661f2d14253..3e894967893 100644
--- a/src/overrides.ts
+++ b/src/overrides.ts
@@ -1,20 +1,23 @@
-import { Species } from "./data/enums/species";
-import { Abilities } from "./data/enums/abilities";
-import { Biome } from "./data/enums/biome";
-import { Moves } from "./data/enums/moves";
import { WeatherType } from "./data/weather";
import { Variant } from "./data/variant";
-import { BerryType } from "./data/enums/berry-type";
import { TempBattleStat } from "./data/temp-battle-stat";
import { Nature } from "./data/nature";
import { Type } from "./data/type";
import { Stat } from "./data/pokemon-stat";
import { PokeballCounts } from "./battle-scene";
import { PokeballType } from "./data/pokeball";
-import {TimeOfDay} from "#app/data/enums/time-of-day";
import { Gender } from "./data/gender";
import { StatusEffect } from "./data/status-effect";
-import { modifierTypes } from "./modifier/modifier-type";
+import { SpeciesStatBoosterItem, modifierTypes } from "./modifier/modifier-type";
+import { VariantTier } from "./enums/variant-tiers";
+import { EggTier } from "#enums/egg-type";
+import { allSpecies } from "./data/pokemon-species"; // eslint-disable-line @typescript-eslint/no-unused-vars
+import { Abilities } from "#enums/abilities";
+import { BerryType } from "#enums/berry-type";
+import { Biome } from "#enums/biome";
+import { Moves } from "#enums/moves";
+import { Species } from "#enums/species";
+import { TimeOfDay } from "#enums/time-of-day";
/**
* Overrides for testing different in game situations
@@ -29,14 +32,15 @@ import { modifierTypes } from "./modifier/modifier-type";
export const SEED_OVERRIDE: string = "";
export const WEATHER_OVERRIDE: WeatherType = WeatherType.NONE;
export const DOUBLE_BATTLE_OVERRIDE: boolean = false;
+export const SINGLE_BATTLE_OVERRIDE: boolean = false;
export const STARTING_WAVE_OVERRIDE: integer = 0;
export const STARTING_BIOME_OVERRIDE: Biome = Biome.TOWN;
export const ARENA_TINT_OVERRIDE: TimeOfDay = null;
// Multiplies XP gained by this value including 0. Set to null to ignore the override
export const XP_MULTIPLIER_OVERRIDE: number = null;
-export const IMMEDIATE_HATCH_EGGS_OVERRIDE: boolean = false;
// default 1000
export const STARTING_MONEY_OVERRIDE: integer = 0;
+export const FREE_CANDY_UPGRADE_OVERRIDE: boolean = false;
export const POKEBALL_OVERRIDE: { active: boolean, pokeballs: PokeballCounts } = {
active: false,
pokeballs: {
@@ -52,8 +56,18 @@ export const POKEBALL_OVERRIDE: { active: boolean, pokeballs: PokeballCounts } =
* PLAYER OVERRIDES
*/
-// forms can be found in pokemon-species.ts
-export const STARTER_FORM_OVERRIDE: integer = 0;
+/**
+ * Set the form index of any starter in the party whose `speciesId` is inside this override
+ * @see {@link allSpecies} in `src/data/pokemon-species.ts` for form indexes
+ * @example
+ * ```
+ * const STARTER_FORM_OVERRIDES = {
+ * [Species.DARMANITAN]: 1
+ * }
+ * ```
+ */
+export const STARTER_FORM_OVERRIDES: Partial> = {};
+
// default 5 or 20 for Daily
export const STARTING_LEVEL_OVERRIDE: integer = 0;
/**
@@ -78,12 +92,24 @@ export const VARIANT_OVERRIDE: Variant = 0;
export const OPP_SPECIES_OVERRIDE: Species | integer = 0;
export const OPP_LEVEL_OVERRIDE: number = 0;
export const OPP_ABILITY_OVERRIDE: Abilities = Abilities.NONE;
-export const OPP_PASSIVE_ABILITY_OVERRIDE = Abilities.NONE;
+export const OPP_PASSIVE_ABILITY_OVERRIDE: Abilities = Abilities.NONE;
export const OPP_STATUS_OVERRIDE: StatusEffect = StatusEffect.NONE;
export const OPP_GENDER_OVERRIDE: Gender = null;
export const OPP_MOVESET_OVERRIDE: Array = [];
export const OPP_SHINY_OVERRIDE: boolean = false;
export const OPP_VARIANT_OVERRIDE: Variant = 0;
+export const OPP_IVS_OVERRIDE: integer | integer[] = [];
+
+/**
+ * EGG OVERRIDES
+ */
+
+export const EGG_IMMEDIATE_HATCH_OVERRIDE: boolean = false;
+export const EGG_TIER_OVERRIDE: EggTier = null;
+export const EGG_SHINY_OVERRIDE: boolean = false;
+export const EGG_VARIANT_OVERRIDE: VariantTier = null;
+export const EGG_FREE_GACHA_PULLS_OVERRIDE: boolean = false;
+export const EGG_GACHA_PULL_COUNT_OVERRIDE: number = 0;
/**
* MODIFIER / ITEM OVERRIDES
@@ -99,14 +125,24 @@ export const OPP_VARIANT_OVERRIDE: Variant = 0;
* - Nature is for MINT
* - Type is for TERA_SHARD or ATTACK_TYPE_BOOSTER (type boosting items i.e Silk Scarf)
* - BerryType is for BERRY
+ * - SpeciesStatBoosterItem is for SPECIES_STAT_BOOSTER
*/
interface ModifierOverride {
name: keyof typeof modifierTypes & string,
count?: integer
- type?: TempBattleStat|Stat|Nature|Type|BerryType
+ type?: TempBattleStat|Stat|Nature|Type|BerryType|SpeciesStatBoosterItem
}
export const STARTING_MODIFIER_OVERRIDE: Array = [];
export const OPP_MODIFIER_OVERRIDE: Array = [];
export const STARTING_HELD_ITEMS_OVERRIDE: Array = [];
export const OPP_HELD_ITEMS_OVERRIDE: Array = [];
+export const NEVER_CRIT_OVERRIDE: boolean = false;
+
+/**
+ * An array of items by keys as defined in the "modifierTypes" object in the "modifier/modifier-type.ts" file.
+ * Items listed will replace the normal rolls.
+ * If less items are listed than rolled, only some items will be replaced
+ * If more items are listed than rolled, only the first X items will be shown, where X is the number of items rolled.
+ */
+export const ITEM_REWARD_OVERRIDE: Array = [];
diff --git a/src/phases.ts b/src/phases.ts
index 9d436e2f24f..5a0b17b46df 100644
--- a/src/phases.ts
+++ b/src/phases.ts
@@ -1,8 +1,7 @@
import BattleScene, { bypassLogin } from "./battle-scene";
import { default as Pokemon, PlayerPokemon, EnemyPokemon, PokemonMove, MoveResult, DamageResult, FieldPosition, HitResult, TurnMove } from "./field/pokemon";
import * as Utils from "./utils";
-import { Moves } from "./data/enums/moves";
-import { allMoves, applyMoveAttrs, BypassSleepAttr, ChargeAttr, applyFilteredMoveAttrs, HitsTagAttr, MissEffectAttr, MoveAttr, MoveEffectAttr, MoveFlags, MultiHitAttr, OverrideMoveEffectAttr, VariableAccuracyAttr, MoveTarget, getMoveTargets, MoveTargetSet, MoveEffectTrigger, CopyMoveAttr, AttackMove, SelfStatusMove, PreMoveMessageAttr, HealStatusEffectAttr, IgnoreOpponentStatChangesAttr, NoEffectAttr, BypassRedirectAttr, FixedDamageAttr, PostVictoryStatChangeAttr, OneHitKOAccuracyAttr, ForceSwitchOutAttr, VariableTargetAttr, IncrementMovePriorityAttr } from "./data/move";
+import { allMoves, applyMoveAttrs, BypassSleepAttr, ChargeAttr, applyFilteredMoveAttrs, HitsTagAttr, MissEffectAttr, MoveAttr, MoveEffectAttr, MoveFlags, MultiHitAttr, OverrideMoveEffectAttr, VariableAccuracyAttr, MoveTarget, getMoveTargets, MoveTargetSet, MoveEffectTrigger, CopyMoveAttr, AttackMove, SelfStatusMove, PreMoveMessageAttr, HealStatusEffectAttr, IgnoreOpponentStatChangesAttr, NoEffectAttr, BypassRedirectAttr, FixedDamageAttr, PostVictoryStatChangeAttr, OneHitKOAccuracyAttr, ForceSwitchOutAttr, VariableTargetAttr, IncrementMovePriorityAttr } from "./data/move";
import { Mode } from "./ui/ui";
import { Command } from "./ui/command-ui-handler";
import { Stat } from "./data/pokemon-stat";
@@ -17,33 +16,27 @@ import { EvolutionPhase } from "./evolution-phase";
import { Phase } from "./phase";
import { BattleStat, getBattleStatLevelChangeDescription, getBattleStatName } from "./data/battle-stat";
import { biomeLinks, getBiomeName } from "./data/biomes";
-import { Biome } from "./data/enums/biome";
import { ModifierTier } from "./modifier/modifier-tier";
import { FusePokemonModifierType, ModifierPoolType, ModifierType, ModifierTypeFunc, ModifierTypeOption, PokemonModifierType, PokemonMoveModifierType, PokemonPpRestoreModifierType, PokemonPpUpModifierType, RememberMoveModifierType, TmModifierType, getDailyRunStarterModifiers, getEnemyBuffModifierForWave, getModifierType, getPlayerModifierTypeOptions, getPlayerShopModifierTypeOptionsForWave, modifierTypes, regenerateModifierPoolThresholds } from "./modifier/modifier-type";
import SoundFade from "phaser3-rex-plugins/plugins/soundfade";
-import { BattlerTagLapseType, EncoreTag, HideSpriteTag as HiddenTag, ProtectedTag, TrappedTag } from "./data/battler-tags";
-import { BattlerTagType } from "./data/enums/battler-tag-type";
-import { getPokemonMessage, getPokemonPrefix } from "./messages";
+import { BattlerTagLapseType, CenterOfAttentionTag, EncoreTag, ProtectedTag, SemiInvulnerableTag, TrappedTag } from "./data/battler-tags";
+import { getPokemonMessage, getPokemonNameWithAffix } from "./messages";
import { Starter } from "./ui/starter-select-ui-handler";
import { Gender } from "./data/gender";
import { Weather, WeatherType, getRandomWeatherType, getTerrainBlockMessage, getWeatherDamageMessage, getWeatherLapseMessage } from "./data/weather";
import { TempBattleStat } from "./data/temp-battle-stat";
import { ArenaTagSide, ArenaTrapTag, MistTag, TrickRoomTag } from "./data/arena-tag";
-import { ArenaTagType } from "./data/enums/arena-tag-type";
-import { CheckTrappedAbAttr, IgnoreOpponentStatChangesAbAttr, IgnoreOpponentEvasionAbAttr, PostAttackAbAttr, PostBattleAbAttr, PostDefendAbAttr, PostSummonAbAttr, PostTurnAbAttr, PostWeatherLapseAbAttr, PreSwitchOutAbAttr, PreWeatherDamageAbAttr, ProtectStatAbAttr, RedirectMoveAbAttr, BlockRedirectAbAttr, RunSuccessAbAttr, StatChangeMultiplierAbAttr, SuppressWeatherEffectAbAttr, SyncEncounterNatureAbAttr, applyAbAttrs, applyCheckTrappedAbAttrs, applyPostAttackAbAttrs, applyPostBattleAbAttrs, applyPostDefendAbAttrs, applyPostSummonAbAttrs, applyPostTurnAbAttrs, applyPostWeatherLapseAbAttrs, applyPreStatChangeAbAttrs, applyPreSwitchOutAbAttrs, applyPreWeatherEffectAbAttrs, BattleStatMultiplierAbAttr, applyBattleStatMultiplierAbAttrs, IncrementMovePriorityAbAttr, applyPostVictoryAbAttrs, PostVictoryAbAttr, BlockNonDirectDamageAbAttr as BlockNonDirectDamageAbAttr, applyPostKnockOutAbAttrs, PostKnockOutAbAttr, PostBiomeChangeAbAttr, applyPostFaintAbAttrs, PostFaintAbAttr, IncreasePpAbAttr, PostStatChangeAbAttr, applyPostStatChangeAbAttrs, AlwaysHitAbAttr, PreventBerryUseAbAttr, StatChangeCopyAbAttr, applyPostMoveUsedAbAttrs, PostMoveUsedAbAttr, MaxMultiHitAbAttr, HealFromBerryUseAbAttr } from "./data/ability";
+import { CheckTrappedAbAttr, IgnoreOpponentStatChangesAbAttr, IgnoreOpponentEvasionAbAttr, PostAttackAbAttr, PostBattleAbAttr, PostDefendAbAttr, PostSummonAbAttr, PostTurnAbAttr, PostWeatherLapseAbAttr, PreSwitchOutAbAttr, PreWeatherDamageAbAttr, ProtectStatAbAttr, RedirectMoveAbAttr, BlockRedirectAbAttr, RunSuccessAbAttr, StatChangeMultiplierAbAttr, SuppressWeatherEffectAbAttr, SyncEncounterNatureAbAttr, applyAbAttrs, applyCheckTrappedAbAttrs, applyPostAttackAbAttrs, applyPostBattleAbAttrs, applyPostDefendAbAttrs, applyPostSummonAbAttrs, applyPostTurnAbAttrs, applyPostWeatherLapseAbAttrs, applyPreStatChangeAbAttrs, applyPreSwitchOutAbAttrs, applyPreWeatherEffectAbAttrs, BattleStatMultiplierAbAttr, applyBattleStatMultiplierAbAttrs, IncrementMovePriorityAbAttr, applyPostVictoryAbAttrs, PostVictoryAbAttr, BlockNonDirectDamageAbAttr as BlockNonDirectDamageAbAttr, applyPostKnockOutAbAttrs, PostKnockOutAbAttr, PostBiomeChangeAbAttr, applyPostFaintAbAttrs, PostFaintAbAttr, IncreasePpAbAttr, PostStatChangeAbAttr, applyPostStatChangeAbAttrs, AlwaysHitAbAttr, PreventBerryUseAbAttr, StatChangeCopyAbAttr, PokemonTypeChangeAbAttr, applyPreAttackAbAttrs, applyPostMoveUsedAbAttrs, PostMoveUsedAbAttr, MaxMultiHitAbAttr, HealFromBerryUseAbAttr, WonderSkinAbAttr, applyPreDefendAbAttrs, IgnoreMoveEffectsAbAttr, BlockStatusDamageAbAttr, BypassSpeedChanceAbAttr, AddSecondStrikeAbAttr } from "./data/ability";
import { Unlockables, getUnlockableName } from "./system/unlockables";
import { getBiomeKey } from "./field/arena";
import { BattleType, BattlerIndex, TurnCommand } from "./battle";
-import { BattleSpec } from "./enums/battle-spec";
-import { Species } from "./data/enums/species";
-import { HealAchv, LevelAchv, achvs } from "./system/achv";
+import { ChallengeAchv, HealAchv, LevelAchv, achvs } from "./system/achv";
import { TrainerSlot, trainerConfigs } from "./data/trainer-config";
-import { TrainerType } from "./data/enums/trainer-type";
import { EggHatchPhase } from "./egg-hatch-phase";
import { Egg } from "./data/egg";
import { vouchers } from "./system/voucher";
-import { loggedInUser, updateUserInfo } from "./account";
-import { PlayerGender, SessionSaveData } from "./system/game-data";
+import { clientSessionId, loggedInUser, updateUserInfo } from "./account";
+import { SessionSaveData } from "./system/game-data";
import { addPokeballCaptureStars, addPokeballOpenParticles } from "./field/anims";
import { SpeciesFormChangeActiveTrigger, SpeciesFormChangeManualTrigger, SpeciesFormChangeMoveLearnedTrigger, SpeciesFormChangePostMoveTrigger, SpeciesFormChangePreMoveTrigger } from "./data/pokemon-forms";
import { battleSpecDialogue, getCharVariantFromDialogue, miscDialogue } from "./data/dialogue";
@@ -54,15 +47,26 @@ import { TerrainType } from "./data/terrain";
import { OptionSelectConfig, OptionSelectItem } from "./ui/abstact-option-select-ui-handler";
import { SaveSlotUiMode } from "./ui/save-slot-select-ui-handler";
import { fetchDailyRunSeed, getDailyRunStarters } from "./data/daily-run";
-import { GameModes, gameModes } from "./game-mode";
+import { GameMode, GameModes, getGameMode } from "./game-mode";
import PokemonSpecies, { getPokemonSpecies, speciesStarters } from "./data/pokemon-species";
import i18next from "./plugins/i18n";
-import { Abilities } from "./data/enums/abilities";
import * as Overrides from "./overrides";
import { TextStyle, addTextObject } from "./ui/text";
import { Type } from "./data/type";
-import { BerryUsedEvent, MoveUsedEvent, TurnEndEvent, TurnInitEvent } from "./battle-scene-events";
+import { BerryUsedEvent, EncounterPhaseEvent, MoveUsedEvent, TurnEndEvent, TurnInitEvent } from "./events/battle-scene";
+import { Abilities } from "#enums/abilities";
+import { ArenaTagType } from "#enums/arena-tag-type";
+import { BattleSpec } from "#enums/battle-spec";
+import { BattleStyle } from "#enums/battle-style";
+import { BattlerTagType } from "#enums/battler-tag-type";
+import { Biome } from "#enums/biome";
+import { ExpNotification } from "#enums/exp-notification";
+import { Moves } from "#enums/moves";
+import { PlayerGender } from "#enums/player-gender";
+import { Species } from "#enums/species";
+import { TrainerType } from "#enums/trainer-type";
+const { t } = i18next;
export class LoginPhase extends Phase {
private showText: boolean;
@@ -91,7 +95,14 @@ export class LoginPhase extends Phase {
this.scene.playSound("menu_open");
const loadData = () => {
- updateUserInfo().then(() => this.scene.gameData.loadSystem().then(() => this.end()));
+ updateUserInfo().then(success => {
+ if (!success[0]) {
+ Utils.setCookie(Utils.sessionIdKey, "");
+ this.scene.reset(true, true);
+ return;
+ }
+ this.scene.gameData.loadSystem().then(() => this.end());
+ });
};
this.scene.ui.setMode(Mode.LOGIN_FORM, {
@@ -105,7 +116,14 @@ export class LoginPhase extends Phase {
buttonActions: [
() => {
this.scene.ui.playSelect();
- updateUserInfo().then(() => this.end());
+ updateUserInfo().then(success => {
+ if (!success[0]) {
+ Utils.setCookie(Utils.sessionIdKey, "");
+ this.scene.reset(true, true);
+ return;
+ }
+ this.end();
+ } );
}, () => {
this.scene.unshiftPhase(new LoginPhase(this.scene, false));
this.end();
@@ -115,6 +133,9 @@ export class LoginPhase extends Phase {
}
]
});
+ } else if (statusCode === 401) {
+ Utils.setCookie(Utils.sessionIdKey, "");
+ this.scene.reset(true, true);
} else {
this.scene.unshiftPhase(new UnavailablePhase(this.scene));
super.end();
@@ -126,7 +147,7 @@ export class LoginPhase extends Phase {
this.end();
} else {
this.scene.ui.setMode(Mode.MESSAGE);
- this.scene.ui.showText(i18next.t("menu:failedToLoadSaveData"));
+ this.scene.ui.showText(t("menu:failedToLoadSaveData"));
}
});
}
@@ -147,7 +168,7 @@ export class LoginPhase extends Phase {
export class TitlePhase extends Phase {
private loaded: boolean;
private lastSessionData: SessionSaveData;
- private gameMode: GameModes;
+ public gameMode: GameModes;
constructor(scene: BattleScene) {
super(scene);
@@ -181,7 +202,7 @@ export class TitlePhase extends Phase {
const options: OptionSelectItem[] = [];
if (loggedInUser.lastSessionSlot > -1) {
options.push({
- label: i18next.t("menu:continue"),
+ label: i18next.t("continue", null, { ns: "menu"}),
handler: () => {
this.loadSaveSlot(this.lastSessionData ? -1 : loggedInUser.lastSessionSlot);
return true;
@@ -200,14 +221,21 @@ export class TitlePhase extends Phase {
if (this.scene.gameData.unlocks[Unlockables.ENDLESS_MODE]) {
const options: OptionSelectItem[] = [
{
- label: gameModes[GameModes.CLASSIC].getName(),
+ label: GameMode.getModeName(GameModes.CLASSIC),
handler: () => {
setModeAndEnd(GameModes.CLASSIC);
return true;
}
},
{
- label: gameModes[GameModes.ENDLESS].getName(),
+ label: GameMode.getModeName(GameModes.CHALLENGE),
+ handler: () => {
+ setModeAndEnd(GameModes.CHALLENGE);
+ return true;
+ }
+ },
+ {
+ label: GameMode.getModeName(GameModes.ENDLESS),
handler: () => {
setModeAndEnd(GameModes.ENDLESS);
return true;
@@ -216,7 +244,7 @@ export class TitlePhase extends Phase {
];
if (this.scene.gameData.unlocks[Unlockables.SPLICED_ENDLESS_MODE]) {
options.push({
- label: gameModes[GameModes.SPLICED_ENDLESS].getName(),
+ label: GameMode.getModeName(GameModes.SPLICED_ENDLESS),
handler: () => {
setModeAndEnd(GameModes.SPLICED_ENDLESS);
return true;
@@ -305,7 +333,7 @@ export class TitlePhase extends Phase {
this.scene.sessionSlotId = slotId;
const generateDaily = (seed: string) => {
- this.scene.gameMode = gameModes[GameModes.DAILY];
+ this.scene.gameMode = getGameMode(GameModes.DAILY);
this.scene.setSeed(seed);
this.scene.resetSeed(1);
@@ -367,7 +395,12 @@ export class TitlePhase extends Phase {
end(): void {
if (!this.loaded && !this.scene.gameMode.isDaily) {
this.scene.arena.preloadBgm();
- this.scene.pushPhase(new SelectStarterPhase(this.scene, this.gameMode));
+ this.scene.gameMode = getGameMode(this.gameMode);
+ if (this.gameMode === GameModes.CHALLENGE) {
+ this.scene.pushPhase(new SelectChallengePhase(this.scene));
+ } else {
+ this.scene.pushPhase(new SelectStarterPhase(this.scene));
+ }
this.scene.newArena(this.scene.gameMode.getStartingBiome(this.scene));
} else {
this.scene.playBgm();
@@ -376,7 +409,7 @@ export class TitlePhase extends Phase {
this.scene.pushPhase(new EncounterPhase(this.scene, this.loaded));
if (this.loaded) {
- const availablePartyMembers = this.scene.getParty().filter(p => !p.isFainted()).length;
+ const availablePartyMembers = this.scene.getParty().filter(p => p.isAllowedInBattle()).length;
this.scene.pushPhase(new SummonPhase(this.scene, 0, true, true));
if (this.scene.currentBattle.double && availablePartyMembers > 1) {
@@ -474,7 +507,7 @@ export class SelectGenderPhase extends Phase {
this.scene.ui.setMode(Mode.OPTION_SELECT, {
options: [
{
- label: i18next.t("menu:boy"),
+ label: i18next.t("settings:boy"),
handler: () => {
this.scene.gameData.gender = PlayerGender.MALE;
this.scene.gameData.saveSetting(SettingKeys.Player_Gender, 0);
@@ -483,7 +516,7 @@ export class SelectGenderPhase extends Phase {
}
},
{
- label: i18next.t("menu:girl"),
+ label: i18next.t("settings:girl"),
handler: () => {
this.scene.gameData.gender = PlayerGender.FEMALE;
this.scene.gameData.saveSetting(SettingKeys.Player_Gender, 1);
@@ -502,13 +535,24 @@ export class SelectGenderPhase extends Phase {
}
}
-export class SelectStarterPhase extends Phase {
- private gameMode: GameModes;
-
- constructor(scene: BattleScene, gameMode: GameModes) {
+export class SelectChallengePhase extends Phase {
+ constructor(scene: BattleScene) {
super(scene);
+ }
- this.gameMode = gameMode;
+ start() {
+ super.start();
+
+ this.scene.playBgm("menu");
+
+ this.scene.ui.setMode(Mode.CHALLENGE_SELECT);
+ }
+}
+
+export class SelectStarterPhase extends Phase {
+
+ constructor(scene: BattleScene) {
+ super(scene);
}
start() {
@@ -525,59 +569,70 @@ export class SelectStarterPhase extends Phase {
return this.end();
}
this.scene.sessionSlotId = slotId;
-
- const party = this.scene.getParty();
- const loadPokemonAssets: Promise[] = [];
- starters.forEach((starter: Starter, i: integer) => {
- if (!i && Overrides.STARTER_SPECIES_OVERRIDE) {
- starter.species = getPokemonSpecies(Overrides.STARTER_SPECIES_OVERRIDE as Species);
- }
- const starterProps = this.scene.gameData.getSpeciesDexAttrProps(starter.species, starter.dexAttr);
- let starterFormIndex = Math.min(starterProps.formIndex, Math.max(starter.species.forms.length - 1, 0));
- if (!i && Overrides.STARTER_SPECIES_OVERRIDE) {
- starterFormIndex = Overrides.STARTER_FORM_OVERRIDE;
- }
- let starterGender = starter.species.malePercent !== null
- ? !starterProps.female ? Gender.MALE : Gender.FEMALE
- : Gender.GENDERLESS;
- if (Overrides.GENDER_OVERRIDE !== null) {
- starterGender = Overrides.GENDER_OVERRIDE;
- }
- const starterIvs = this.scene.gameData.dexData[starter.species.speciesId].ivs.slice(0);
- const starterPokemon = this.scene.addPlayerPokemon(starter.species, this.scene.gameMode.getStartingLevel(), starter.abilityIndex, starterFormIndex, starterGender, starterProps.shiny, starterProps.variant, starterIvs, starter.nature);
- starterPokemon.tryPopulateMoveset(starter.moveset);
- if (starter.passive) {
- starterPokemon.passive = true;
- }
- starterPokemon.luck = this.scene.gameData.getDexAttrLuck(this.scene.gameData.dexData[starter.species.speciesId].caughtAttr);
- if (starter.pokerus) {
- starterPokemon.pokerus = true;
- }
- if (this.scene.gameMode.isSplicedOnly) {
- starterPokemon.generateFusionSpecies(true);
- }
- starterPokemon.setVisible(false);
- party.push(starterPokemon);
- loadPokemonAssets.push(starterPokemon.loadAssets());
- });
- overrideModifiers(this.scene);
- overrideHeldItems(this.scene, party[0]);
- Promise.all(loadPokemonAssets).then(() => {
- SoundFade.fadeOut(this.scene, this.scene.sound.get("menu"), 500, true);
- this.scene.time.delayedCall(500, () => this.scene.playBgm());
- if (this.scene.gameMode.isClassic) {
- this.scene.gameData.gameStats.classicSessionsPlayed++;
- } else {
- this.scene.gameData.gameStats.endlessSessionsPlayed++;
- }
- this.scene.newBattle();
- this.scene.arena.init();
- this.scene.sessionPlayTime = 0;
- this.scene.lastSavePlayTime = 0;
- this.end();
- });
+ this.initBattle(starters);
});
- }, this.gameMode);
+ });
+ }
+
+ /**
+ * Initialize starters before starting the first battle
+ * @param starters {@linkcode Pokemon} with which to start the first battle
+ */
+ initBattle(starters: Starter[]) {
+ const party = this.scene.getParty();
+ const loadPokemonAssets: Promise[] = [];
+ starters.forEach((starter: Starter, i: integer) => {
+ if (!i && Overrides.STARTER_SPECIES_OVERRIDE) {
+ starter.species = getPokemonSpecies(Overrides.STARTER_SPECIES_OVERRIDE as Species);
+ }
+ const starterProps = this.scene.gameData.getSpeciesDexAttrProps(starter.species, starter.dexAttr);
+ let starterFormIndex = Math.min(starterProps.formIndex, Math.max(starter.species.forms.length - 1, 0));
+ if (
+ starter.species.speciesId in Overrides.STARTER_FORM_OVERRIDES &&
+ starter.species.forms[Overrides.STARTER_FORM_OVERRIDES[starter.species.speciesId]]
+ ) {
+ starterFormIndex = Overrides.STARTER_FORM_OVERRIDES[starter.species.speciesId];
+ }
+
+ let starterGender = starter.species.malePercent !== null
+ ? !starterProps.female ? Gender.MALE : Gender.FEMALE
+ : Gender.GENDERLESS;
+ if (Overrides.GENDER_OVERRIDE !== null) {
+ starterGender = Overrides.GENDER_OVERRIDE;
+ }
+ const starterIvs = this.scene.gameData.dexData[starter.species.speciesId].ivs.slice(0);
+ const starterPokemon = this.scene.addPlayerPokemon(starter.species, this.scene.gameMode.getStartingLevel(), starter.abilityIndex, starterFormIndex, starterGender, starterProps.shiny, starterProps.variant, starterIvs, starter.nature);
+ starterPokemon.tryPopulateMoveset(starter.moveset);
+ if (starter.passive) {
+ starterPokemon.passive = true;
+ }
+ starterPokemon.luck = this.scene.gameData.getDexAttrLuck(this.scene.gameData.dexData[starter.species.speciesId].caughtAttr);
+ if (starter.pokerus) {
+ starterPokemon.pokerus = true;
+ }
+ if (this.scene.gameMode.isSplicedOnly) {
+ starterPokemon.generateFusionSpecies(true);
+ }
+ starterPokemon.setVisible(false);
+ party.push(starterPokemon);
+ loadPokemonAssets.push(starterPokemon.loadAssets());
+ });
+ overrideModifiers(this.scene);
+ overrideHeldItems(this.scene, party[0]);
+ Promise.all(loadPokemonAssets).then(() => {
+ SoundFade.fadeOut(this.scene, this.scene.sound.get("menu"), 500, true);
+ this.scene.time.delayedCall(500, () => this.scene.playBgm());
+ if (this.scene.gameMode.isClassic) {
+ this.scene.gameData.gameStats.classicSessionsPlayed++;
+ } else {
+ this.scene.gameData.gameStats.endlessSessionsPlayed++;
+ }
+ this.scene.newBattle();
+ this.scene.arena.init();
+ this.scene.sessionPlayTime = 0;
+ this.scene.lastSavePlayTime = 0;
+ this.end();
+ });
}
}
@@ -591,7 +646,7 @@ export class BattlePhase extends Phase {
const tintSprites = this.scene.currentBattle.trainer.getTintSprites();
for (let i = 0; i < sprites.length; i++) {
const visible = !trainerSlot || !i === (trainerSlot === TrainerSlot.TRAINER) || sprites.length < 2;
- [ sprites[i], tintSprites[i] ].map(sprite => {
+ [sprites[i], tintSprites[i]].map(sprite => {
if (visible) {
sprite.x = trainerSlot || sprites.length < 2 ? 0 : i ? 16 : -16;
}
@@ -632,11 +687,19 @@ export abstract class FieldPhase extends BattlePhase {
const playerField = this.scene.getPlayerField().filter(p => p.isActive()) as Pokemon[];
const enemyField = this.scene.getEnemyField().filter(p => p.isActive()) as Pokemon[];
- let orderedTargets: Pokemon[] = playerField.concat(enemyField).sort((a: Pokemon, b: Pokemon) => {
+ // We shuffle the list before sorting so speed ties produce random results
+ let orderedTargets: Pokemon[] = playerField.concat(enemyField);
+ // We seed it with the current turn to prevent an inconsistency where it
+ // was varying based on how long since you last reloaded
+ this.scene.executeWithSeedOffset(() => {
+ orderedTargets = Utils.randSeedShuffle(orderedTargets);
+ }, this.scene.currentBattle.turn, this.scene.waveSeed);
+
+ orderedTargets.sort((a: Pokemon, b: Pokemon) => {
const aSpeed = a?.getBattleStat(Stat.SPD) || 0;
const bSpeed = b?.getBattleStat(Stat.SPD) || 0;
- return aSpeed < bSpeed ? 1 : aSpeed > bSpeed ? -1 : !this.scene.randBattleSeedInt(2) ? -1 : 1;
+ return bSpeed - aSpeed;
});
const speedReversed = new Utils.BooleanHolder(false);
@@ -740,6 +803,8 @@ export class EncounterPhase extends BattlePhase {
this.scene.initSession();
+ this.scene.eventTarget.dispatchEvent(new EncounterPhaseEvent());
+
// Failsafe if players somehow skip floor 200 in classic mode
if (this.scene.gameMode.isClassic && this.scene.currentBattle.waveIndex > 200) {
this.scene.unshiftPhase(new GameOverPhase(this.scene));
@@ -803,9 +868,11 @@ export class EncounterPhase extends BattlePhase {
if (battle.battleType === BattleType.TRAINER) {
loadEnemyAssets.push(battle.trainer.loadAssets().then(() => battle.trainer.initSprite()));
} else {
+ // This block only applies for double battles to init the boss segments (idk why it's split up like this)
if (battle.enemyParty.filter(p => p.isBoss()).length > 1) {
for (const enemyPokemon of battle.enemyParty) {
- if (enemyPokemon.isBoss()) {
+ // If the enemy pokemon is a boss and wasn't populated from data source, then set it up
+ if (enemyPokemon.isBoss() && !enemyPokemon.isPopulatedFromDataSource) {
enemyPokemon.setBoss(true, Math.ceil(enemyPokemon.bossSegments * (enemyPokemon.getSpeciesForm().baseTotal / totalBst)));
enemyPokemon.initBattleInfo();
}
@@ -878,7 +945,7 @@ export class EncounterPhase extends BattlePhase {
const enemyField = this.scene.getEnemyField();
this.scene.tweens.add({
- targets: [ this.scene.arenaEnemy, this.scene.currentBattle.trainer, enemyField, this.scene.arenaPlayer, this.scene.trainer ].flat(),
+ targets: [this.scene.arenaEnemy, this.scene.currentBattle.trainer, enemyField, this.scene.arenaPlayer, this.scene.trainer].flat(),
x: (_target, _key, value, fieldIndex: integer) => fieldIndex < 2 + (enemyField.length) ? value + 300 : value - 300,
duration: 2000,
onComplete: () => {
@@ -893,21 +960,21 @@ export class EncounterPhase extends BattlePhase {
const enemyField = this.scene.getEnemyField();
if (this.scene.currentBattle.battleSpec === BattleSpec.FINAL_BOSS) {
- return i18next.t("battle:bossAppeared", {bossName: enemyField[0].name});
+ return i18next.t("battle:bossAppeared", { bossName: enemyField[0].name });
}
if (this.scene.currentBattle.battleType === BattleType.TRAINER) {
if (this.scene.currentBattle.double) {
- return i18next.t("battle:trainerAppearedDouble", {trainerName: this.scene.currentBattle.trainer.getName(TrainerSlot.NONE, true)});
+ return i18next.t("battle:trainerAppearedDouble", { trainerName: this.scene.currentBattle.trainer.getName(TrainerSlot.NONE, true) });
} else {
- return i18next.t("battle:trainerAppeared", {trainerName: this.scene.currentBattle.trainer.getName(TrainerSlot.NONE, true)});
+ return i18next.t("battle:trainerAppeared", { trainerName: this.scene.currentBattle.trainer.getName(TrainerSlot.NONE, true) });
}
}
return enemyField.length === 1
- ? i18next.t("battle:singleWildAppeared", {pokemonName: enemyField[0].name})
- : i18next.t("battle:multiWildAppeared", {pokemonName1: enemyField[0].name, pokemonName2: enemyField[1].name});
+ ? i18next.t("battle:singleWildAppeared", { pokemonName: enemyField[0].name })
+ : i18next.t("battle:multiWildAppeared", { pokemonName1: enemyField[0].name, pokemonName2: enemyField[1].name });
}
doEncounterCommon(showEncounterMessage: boolean = true) {
@@ -937,7 +1004,7 @@ export class EncounterPhase extends BattlePhase {
this.scene.currentBattle.started = true;
this.scene.playBgm(undefined);
this.scene.pbTray.showPbTray(this.scene.getParty());
- this.scene.pbTrayEnemy.showPbTray(this.scene.getEnemyParty());
+ this.scene.pbTrayEnemy.showPbTray(this.scene.getEnemyParty());
const doTrainerSummon = () => {
this.hideEnemyTrainer();
const availablePartyMembers = this.scene.getEnemyParty().filter(p => !p.isFainted()).length;
@@ -963,7 +1030,7 @@ export class EncounterPhase extends BattlePhase {
this.scene.executeWithSeedOffset(() => message = Utils.randSeedItem(encounterMessages), this.scene.currentBattle.waveIndex);
const showDialogueAndSummon = () => {
- this.scene.ui.showDialogue(message, trainer.getName(TrainerSlot.NONE,true), null, () => {
+ this.scene.ui.showDialogue(message, trainer.getName(TrainerSlot.NONE, true), null, () => {
this.scene.charSprite.hide().then(() => this.scene.hideFieldOverlay(250).then(() => doSummon()));
});
};
@@ -986,7 +1053,21 @@ export class EncounterPhase extends BattlePhase {
});
if (this.scene.currentBattle.battleType !== BattleType.TRAINER) {
- enemyField.map(p => this.scene.pushPhase(new PostSummonPhase(this.scene, p.getBattlerIndex())));
+ enemyField.map(p => this.scene.pushConditionalPhase(new PostSummonPhase(this.scene, p.getBattlerIndex()), () => {
+ // if there is not a player party, we can't continue
+ if (!this.scene.getParty()?.length) {
+ return false;
+ }
+ // how many player pokemon are on the field ?
+ const pokemonsOnFieldCount = this.scene.getParty().filter(p => p.isOnField()).length;
+ // if it's a 2vs1, there will never be a 2nd pokemon on our field even
+ const requiredPokemonsOnField = Math.min(this.scene.getParty().filter((p) => !p.isFainted()).length, 2);
+ // if it's a double, there should be 2, otherwise 1
+ if (this.scene.currentBattle.double) {
+ return pokemonsOnFieldCount === requiredPokemonsOnField;
+ }
+ return pokemonsOnFieldCount === 1;
+ }));
const ivScannerModifier = this.scene.findModifier(m => m instanceof IvScannerModifier);
if (ivScannerModifier) {
enemyField.map(p => this.scene.pushPhase(new ScanIvsPhase(this.scene, p.getBattlerIndex(), Math.min(ivScannerModifier.getStackCount() * 2, 6))));
@@ -994,7 +1075,7 @@ export class EncounterPhase extends BattlePhase {
}
if (!this.loaded) {
- const availablePartyMembers = this.scene.getParty().filter(p => !p.isFainted());
+ const availablePartyMembers = this.scene.getParty().filter(p => p.isAllowedInBattle());
if (!availablePartyMembers[0].isOnField()) {
this.scene.pushPhase(new SummonPhase(this.scene, 0));
@@ -1048,6 +1129,10 @@ export class NextEncounterPhase extends EncounterPhase {
super(scene);
}
+ start() {
+ super.start();
+ }
+
doEncounter(): void {
this.scene.playBgm(undefined, true);
@@ -1062,7 +1147,7 @@ export class NextEncounterPhase extends EncounterPhase {
const enemyField = this.scene.getEnemyField();
this.scene.tweens.add({
- targets: [ this.scene.arenaEnemy, this.scene.arenaNextEnemy, this.scene.currentBattle.trainer, enemyField, this.scene.lastEnemyTrainer ].flat(),
+ targets: [this.scene.arenaEnemy, this.scene.arenaNextEnemy, this.scene.currentBattle.trainer, enemyField, this.scene.lastEnemyTrainer].flat(),
x: "+=300",
duration: 2000,
onComplete: () => {
@@ -1105,7 +1190,7 @@ export class NewBiomeEncounterPhase extends NextEncounterPhase {
const enemyField = this.scene.getEnemyField();
this.scene.tweens.add({
- targets: [ this.scene.arenaEnemy, enemyField ].flat(),
+ targets: [this.scene.arenaEnemy, enemyField].flat(),
x: "+=300",
duration: 2000,
onComplete: () => {
@@ -1127,6 +1212,9 @@ export class PostSummonPhase extends PokemonPhase {
const pokemon = this.getPokemon();
+ if (pokemon.status?.effect === StatusEffect.TOXIC) {
+ pokemon.status.turnCount = 0;
+ }
this.scene.arena.applyTags(ArenaTrapTag, pokemon);
applyPostSummonAbAttrs(PostSummonAbAttr, pokemon).then(() => this.end());
}
@@ -1168,7 +1256,7 @@ export class SelectBiomePhase extends BattlePhase {
let biomeChoices: Biome[];
this.scene.executeWithSeedOffset(() => {
biomeChoices = (!Array.isArray(biomeLinks[currentBiome])
- ? [ biomeLinks[currentBiome] as Biome ]
+ ? [biomeLinks[currentBiome] as Biome]
: biomeLinks[currentBiome] as (Biome | [Biome, integer])[])
.filter((b, i) => !Array.isArray(b) || !Utils.randSeedInt(b[1]))
.map(b => Array.isArray(b) ? b[0] : b);
@@ -1223,7 +1311,7 @@ export class SwitchBiomePhase extends BattlePhase {
}
this.scene.tweens.add({
- targets: [ this.scene.arenaEnemy, this.scene.lastEnemyTrainer ],
+ targets: [this.scene.arenaEnemy, this.scene.lastEnemyTrainer],
x: "+=300",
duration: 2000,
onComplete: () => {
@@ -1241,7 +1329,7 @@ export class SwitchBiomePhase extends BattlePhase {
this.scene.arenaPlayerTransition.setVisible(true);
this.scene.tweens.add({
- targets: [ this.scene.arenaPlayer, this.scene.arenaBgTransition, this.scene.arenaPlayerTransition ],
+ targets: [this.scene.arenaPlayer, this.scene.arenaBgTransition, this.scene.arenaPlayerTransition],
duration: 1000,
delay: 1000,
ease: "Sine.easeInOut",
@@ -1287,20 +1375,33 @@ export class SummonPhase extends PartyMemberPokemonPhase {
*/
preSummon(): void {
const partyMember = this.getPokemon();
- // If the Pokemon about to be sent out is fainted, switch to the first non-fainted Pokemon
- if (partyMember.isFainted()) {
- console.warn("The Pokemon about to be sent out is fainted. Attempting to resolve...");
+ // If the Pokemon about to be sent out is fainted or illegal under a challenge, switch to the first non-fainted legal Pokemon
+ if (!partyMember.isAllowedInBattle()) {
+ console.warn("The Pokemon about to be sent out is fainted or illegal under a challenge. Attempting to resolve...");
+
+ // First check if they're somehow still in play, if so remove them.
+ if (partyMember.isOnField()) {
+ partyMember.hideInfo();
+ partyMember.setVisible(false);
+ this.scene.field.remove(partyMember);
+ this.scene.triggerPokemonFormChange(partyMember, SpeciesFormChangeActiveTrigger, true);
+ }
+
const party = this.getParty();
// Find the first non-fainted Pokemon index above the current one
- const nonFaintedIndex = party.findIndex((p, i) => i > this.partyMemberIndex && !p.isFainted());
- if (nonFaintedIndex === -1) {
+ const legalIndex = party.findIndex((p, i) => i > this.partyMemberIndex && p.isAllowedInBattle());
+ if (legalIndex === -1) {
console.error("Party Details:\n", party);
- throw new Error("All available Pokemon were fainted!");
+ console.error("All available Pokemon were fainted or illegal!");
+ this.scene.clearPhaseQueue();
+ this.scene.unshiftPhase(new GameOverPhase(this.scene));
+ this.end();
+ return;
}
- // Swaps the fainted Pokemon and the first non-fainted Pokemon in the party
- [party[this.partyMemberIndex], party[nonFaintedIndex]] = [party[nonFaintedIndex], party[this.partyMemberIndex]];
+ // Swaps the fainted Pokemon and the first non-fainted legal Pokemon in the party
+ [party[this.partyMemberIndex], party[legalIndex]] = [party[legalIndex], party[this.partyMemberIndex]];
console.warn("Swapped %s %O with %s %O", partyMember?.name, partyMember, party[0]?.name, party[0]);
}
@@ -1344,7 +1445,7 @@ export class SummonPhase extends PartyMemberPokemonPhase {
if (this.fieldIndex === 1) {
pokemon.setFieldPosition(FieldPosition.RIGHT, 0);
} else {
- const availablePartyMembers = this.getParty().filter(p => !p.isFainted()).length;
+ const availablePartyMembers = this.getParty().filter(p => p.isAllowedInBattle()).length;
pokemon.setFieldPosition(!this.scene.currentBattle.double || availablePartyMembers === 1 ? FieldPosition.CENTER : FieldPosition.LEFT);
}
@@ -1422,7 +1523,6 @@ export class SummonPhase extends PartyMemberPokemonPhase {
if (!this.loaded || this.scene.currentBattle.battleType === BattleType.TRAINER || (this.scene.currentBattle.waveIndex % 10) === 1) {
this.scene.triggerPokemonFormChange(pokemon, SpeciesFormChangeActiveTrigger, true);
-
this.queuePostSummon();
}
}
@@ -1453,6 +1553,10 @@ export class SwitchSummonPhase extends SummonPhase {
this.batonPass = batonPass;
}
+ start(): void {
+ super.start();
+ }
+
preSummon(): void {
if (!this.player) {
if (this.slotIndex === -1) {
@@ -1634,7 +1738,7 @@ export class ToggleDoublePositionPhase extends BattlePhase {
const playerPokemon = this.scene.getPlayerField().find(p => p.isActive(true));
if (playerPokemon) {
- playerPokemon.setFieldPosition(this.double && this.scene.getParty().filter(p => !p.isFainted()).length > 1 ? FieldPosition.LEFT : FieldPosition.CENTER, 500).then(() => {
+ playerPokemon.setFieldPosition(this.double && this.scene.getParty().filter(p => p.isAllowedInBattle()).length > 1 ? FieldPosition.LEFT : FieldPosition.CENTER, 500).then(() => {
if (playerPokemon.getFieldIndex() === 1) {
const party = this.scene.getParty();
party[1] = party[0];
@@ -1664,6 +1768,11 @@ export class CheckSwitchPhase extends BattlePhase {
const pokemon = this.scene.getPlayerField()[this.fieldIndex];
+ if (this.scene.battleStyle === BattleStyle.SET) {
+ super.end();
+ return;
+ }
+
if (this.scene.field.getAll().indexOf(pokemon) === -1) {
this.scene.unshiftPhase(new SummonMissingPhase(this.scene, this.fieldIndex));
super.end();
@@ -1700,7 +1809,7 @@ export class SummonMissingPhase extends SummonPhase {
}
preSummon(): void {
- this.scene.ui.showText(i18next.t("battle:sendOutPokemon", { pokemonName: this.getPokemon().name}));
+ this.scene.ui.showText(i18next.t("battle:sendOutPokemon", { pokemonName: this.getPokemon().name }));
this.scene.time.delayedCall(250, () => this.summon());
}
}
@@ -1729,6 +1838,34 @@ export class TurnInitPhase extends FieldPhase {
start() {
super.start();
+ this.scene.getPlayerField().forEach(p => {
+ // If this pokemon is in play and evolved into something illegal under the current challenge, force a switch
+ if (p.isOnField() && !p.isAllowedInBattle()) {
+ this.scene.queueMessage(i18next.t("challenges:illegalEvolution", { "pokemon": p.name }), null, true);
+
+ const allowedPokemon = this.scene.getParty().filter(p => p.isAllowedInBattle());
+
+ if (!allowedPokemon.length) {
+ // If there are no longer any legal pokemon in the party, game over.
+ this.scene.clearPhaseQueue();
+ this.scene.unshiftPhase(new GameOverPhase(this.scene));
+ } else if (allowedPokemon.length >= this.scene.currentBattle.getBattlerCount() || (this.scene.currentBattle.double && !allowedPokemon[0].isActive(true))) {
+ // If there is at least one pokemon in the back that is legal to switch in, force a switch.
+ p.switchOut(false, true);
+ } else {
+ // If there are no pokemon in the back but we're not game overing, just hide the pokemon.
+ // This should only happen in double battles.
+ p.hideInfo();
+ p.setVisible(false);
+ this.scene.field.remove(p);
+ this.scene.triggerPokemonFormChange(p, SpeciesFormChangeActiveTrigger, true);
+ }
+ if (allowedPokemon.length === 1 && this.scene.currentBattle.double) {
+ this.scene.unshiftPhase(new ToggleDoublePositionPhase(this.scene, true));
+ }
+ }
+ });
+
//this.scene.pushPhase(new MoveAnimTestPhase(this.scene));
this.scene.eventTarget.dispatchEvent(new TurnInitEvent());
@@ -1763,9 +1900,15 @@ export class CommandPhase extends FieldPhase {
super.start();
if (this.fieldIndex) {
- const allyCommand = this.scene.currentBattle.turnCommands[this.fieldIndex - 1];
- if (allyCommand.command === Command.BALL || allyCommand.command === Command.RUN) {
- this.scene.currentBattle.turnCommands[this.fieldIndex] = { command: allyCommand.command, skip: true };
+ // If we somehow are attempting to check the right pokemon but there's only one pokemon out
+ // Switch back to the center pokemon. This can happen rarely in double battles with mid turn switching
+ if (this.scene.getPlayerField().filter(p => p.isActive()).length === 1) {
+ this.fieldIndex = FieldPosition.CENTER;
+ } else {
+ const allyCommand = this.scene.currentBattle.turnCommands[this.fieldIndex - 1];
+ if (allyCommand.command === Command.BALL || allyCommand.command === Command.RUN) {
+ this.scene.currentBattle.turnCommands[this.fieldIndex] = { command: allyCommand.command, skip: true };
+ }
}
}
@@ -1779,7 +1922,7 @@ export class CommandPhase extends FieldPhase {
while (moveQueue.length && moveQueue[0]
&& moveQueue[0].move && (!playerPokemon.getMoveset().find(m => m.moveId === moveQueue[0].move)
- || !playerPokemon.getMoveset()[playerPokemon.getMoveset().findIndex(m => m.moveId === moveQueue[0].move)].isUsable(playerPokemon, moveQueue[0].ignorePP))) {
+ || !playerPokemon.getMoveset()[playerPokemon.getMoveset().findIndex(m => m.moveId === moveQueue[0].move)].isUsable(playerPokemon, moveQueue[0].ignorePP))) {
moveQueue.shift();
}
@@ -1809,13 +1952,13 @@ export class CommandPhase extends FieldPhase {
case Command.FIGHT:
let useStruggle = false;
if (cursor === -1 ||
- playerPokemon.trySelectMove(cursor, args[0] as boolean) ||
- (useStruggle = cursor > -1 && !playerPokemon.getMoveset().filter(m => m.isUsable(playerPokemon)).length)) {
+ playerPokemon.trySelectMove(cursor, args[0] as boolean) ||
+ (useStruggle = cursor > -1 && !playerPokemon.getMoveset().filter(m => m.isUsable(playerPokemon)).length)) {
const moveId = !useStruggle ? cursor > -1 ? playerPokemon.getMoveset()[cursor].moveId : Moves.NONE : Moves.STRUGGLE;
const turnCommand: TurnCommand = { command: Command.FIGHT, cursor: cursor, move: { move: moveId, targets: [], ignorePP: args[0] }, args: args };
const moveTargets: MoveTargetSet = args.length < 3 ? getMoveTargets(playerPokemon, moveId) : args[2];
if (!moveId) {
- turnCommand.targets = [ this.fieldIndex ];
+ turnCommand.targets = [this.fieldIndex];
}
console.log(moveTargets, playerPokemon.name);
if (moveTargets.targets.length <= 1 || moveTargets.multiple) {
@@ -2036,7 +2179,7 @@ export class EnemyCommandPhase extends FieldPhase {
const index = trainer.getNextSummonIndex(enemyPokemon.trainerSlot, partyMemberScores);
battle.turnCommands[this.fieldIndex + BattlerIndex.ENEMY] =
- { command: Command.POKEMON, cursor: index, args: [ false ] };
+ { command: Command.POKEMON, cursor: index, args: [false] };
battle.enemySwitchCounter++;
@@ -2073,7 +2216,7 @@ export class SelectTargetPhase extends PokemonPhase {
this.scene.currentBattle.turnCommands[this.fieldIndex] = null;
this.scene.unshiftPhase(new CommandPhase(this.scene, this.fieldIndex));
} else {
- turnCommand.targets = [ cursor ];
+ turnCommand.targets = [cursor];
}
if (turnCommand.command === Command.BALL && this.fieldIndex) {
this.scene.currentBattle.turnCommands[this.fieldIndex - 1].skip = true;
@@ -2098,6 +2241,7 @@ export class TurnStartPhase extends FieldPhase {
this.scene.getField(true).filter(p => p.summonData).map(p => {
const bypassSpeed = new Utils.BooleanHolder(false);
+ applyAbAttrs(BypassSpeedChanceAbAttr, p, null, bypassSpeed);
this.scene.applyModifiers(BypassSpeedChanceModifier, p.isPlayer(), p, bypassSpeed);
battlerBypassSpeed[p.getBattlerIndex()] = bypassSpeed;
});
@@ -2121,10 +2265,10 @@ export class TurnStartPhase extends FieldPhase {
const aPriority = new Utils.IntegerHolder(aMove.priority);
const bPriority = new Utils.IntegerHolder(bMove.priority);
- applyMoveAttrs(IncrementMovePriorityAttr,this.scene.getField().find(p => p?.isActive() && p.getBattlerIndex() === a),null,aMove,aPriority);
- applyMoveAttrs(IncrementMovePriorityAttr,this.scene.getField().find(p => p?.isActive() && p.getBattlerIndex() === b),null,bMove,bPriority);
+ applyMoveAttrs(IncrementMovePriorityAttr, this.scene.getField().find(p => p?.isActive() && p.getBattlerIndex() === a), null, aMove, aPriority);
+ applyMoveAttrs(IncrementMovePriorityAttr, this.scene.getField().find(p => p?.isActive() && p.getBattlerIndex() === b), null, bMove, bPriority);
- applyAbAttrs(IncrementMovePriorityAbAttr, this.scene.getField().find(p => p?.isActive() && p.getBattlerIndex() === a), null, aMove, aPriority);
+ applyAbAttrs(IncrementMovePriorityAbAttr, this.scene.getField().find(p => p?.isActive() && p.getBattlerIndex() === a), null, aMove, aPriority);
applyAbAttrs(IncrementMovePriorityAbAttr, this.scene.getField().find(p => p?.isActive() && p.getBattlerIndex() === b), null, bMove, bPriority);
if (aPriority.value !== bPriority.value) {
@@ -2185,7 +2329,7 @@ export class TurnStartPhase extends FieldPhase {
return;
}
});
- // if only one pokemon is alive, use that one
+ // if only one pokemon is alive, use that one
if (playerActivePokemon.length > 1) {
// find which active pokemon has faster speed
const fasterPokemon = playerActivePokemon[0].getStat(Stat.SPD) > playerActivePokemon[1].getStat(Stat.SPD) ? playerActivePokemon[0] : playerActivePokemon[1];
@@ -2273,7 +2417,7 @@ export class TurnEndPhase extends FieldPhase {
pokemon.lapseTags(BattlerTagLapseType.TURN_END);
if (pokemon.summonData.disabledMove && !--pokemon.summonData.disabledTurns) {
- this.scene.pushPhase(new MessagePhase(this.scene, i18next.t("battle:notDisabled", { pokemonName: `${getPokemonPrefix(pokemon)}${pokemon.name}`, moveName: allMoves[pokemon.summonData.disabledMove].name })));
+ this.scene.pushPhase(new MessagePhase(this.scene, i18next.t("battle:notDisabled", { pokemonName: getPokemonNameWithAffix(pokemon), moveName: allMoves[pokemon.summonData.disabledMove].name })));
pokemon.summonData.disabledMove = Moves.NONE;
}
@@ -2281,7 +2425,7 @@ export class TurnEndPhase extends FieldPhase {
if (this.scene.arena.terrain?.terrainType === TerrainType.GRASSY && pokemon.isGrounded()) {
this.scene.unshiftPhase(new PokemonHealPhase(this.scene, pokemon.getBattlerIndex(),
- Math.max(pokemon.getMaxHp() >> 4, 1), getPokemonMessage(pokemon, "'s HP was restored."), true));
+ Math.max(pokemon.getMaxHp() >> 4, 1), i18next.t("battle:turnEndHpRestore", { pokemonName: getPokemonNameWithAffix(pokemon) }), true));
}
if (!pokemon.isPlayer()) {
@@ -2340,7 +2484,7 @@ export class BattleEndPhase extends BattlePhase {
}
}
- for (const pokemon of this.scene.getParty().filter(p => !p.isFainted())) {
+ for (const pokemon of this.scene.getParty().filter(p => p.isAllowedInBattle())) {
applyPostBattleAbAttrs(PostBattleAbAttr, pokemon);
}
@@ -2441,6 +2585,11 @@ export class MovePhase extends BattlePhase {
if (this.move.moveId && this.pokemon.summonData?.disabledMove === this.move.moveId) {
this.scene.queueMessage(`${this.move.getName()} is disabled!`);
}
+ if (this.pokemon.isActive(true) && this.move.ppUsed >= this.move.getMovePp()) { // if the move PP was reduced from Spite or otherwise, the move fails
+ this.fail();
+ this.showMoveText();
+ this.showFailedText();
+ }
return this.end();
}
@@ -2460,6 +2609,12 @@ export class MovePhase extends BattlePhase {
if (moveTarget) {
const oldTarget = moveTarget.value;
this.scene.getField(true).filter(p => p !== this.pokemon).forEach(p => applyAbAttrs(RedirectMoveAbAttr, p, null, this.move.moveId, moveTarget));
+ this.pokemon.getOpponents().forEach(p => {
+ const redirectTag = p.getTag(CenterOfAttentionTag) as CenterOfAttentionTag;
+ if (redirectTag && (!redirectTag.powder || (!this.pokemon.isOfType(Type.GRASS) && !this.pokemon.hasAbility(Abilities.OVERCOAT)))) {
+ moveTarget.value = p.getBattlerIndex();
+ }
+ });
//Check if this move is immune to being redirected, and restore its target to the intended target if it is.
if ((this.pokemon.hasAbilityWithAttr(BlockRedirectAbAttr) || this.move.getMove().hasAttr(BypassRedirectAttr))) {
//If an ability prevented this move from being redirected, display its ability pop up.
@@ -2467,7 +2622,7 @@ export class MovePhase extends BattlePhase {
this.scene.unshiftPhase(new ShowAbilityPhase(this.scene, this.pokemon.getBattlerIndex(), this.pokemon.getPassiveAbility().hasAttr(BlockRedirectAbAttr)));
}
moveTarget.value = oldTarget;
- }
+ }
this.targets[0] = moveTarget.value;
}
@@ -2569,6 +2724,16 @@ export class MovePhase extends BattlePhase {
failedText = getTerrainBlockMessage(targets[0], this.scene.arena.terrain.terrainType);
}
}
+
+ /**
+ * Trigger pokemon type change before playing the move animation
+ * Will still change the user's type when using Roar, Whirlwind, Trick-or-Treat, and Forest's Curse,
+ * regardless of whether the move successfully executes or not.
+ */
+ if (success || [Moves.ROAR, Moves.WHIRLWIND, Moves.TRICK_OR_TREAT, Moves.FORESTS_CURSE].includes(this.move.moveId)) {
+ applyPreAttackAbAttrs(PokemonTypeChangeAbAttr, this.pokemon, null, this.move.getMove());
+ }
+
if (success) {
this.scene.unshiftPhase(this.getEffectPhase());
} else {
@@ -2583,7 +2748,7 @@ export class MovePhase extends BattlePhase {
this.scene.getPlayerField().forEach(pokemon => {
applyPostMoveUsedAbAttrs(PostMoveUsedAbAttr, pokemon, this.move, this.pokemon, this.targets);
});
- this.scene.getEnemyParty().forEach(pokemon => {
+ this.scene.getEnemyField().forEach(pokemon => {
applyPostMoveUsedAbAttrs(PostMoveUsedAbAttr, pokemon, this.move, this.pokemon, this.targets);
});
}
@@ -2616,12 +2781,12 @@ export class MovePhase extends BattlePhase {
}
if (activated) {
- this.scene.queueMessage(getPokemonMessage(this.pokemon, getStatusEffectActivationText(this.pokemon.status.effect)));
+ this.scene.queueMessage(getStatusEffectActivationText(this.pokemon.status.effect, getPokemonNameWithAffix(this.pokemon)));
this.scene.unshiftPhase(new CommonAnimPhase(this.scene, this.pokemon.getBattlerIndex(), undefined, CommonAnim.POISON + (this.pokemon.status.effect - 1)));
doMove();
} else {
if (healed) {
- this.scene.queueMessage(getPokemonMessage(this.pokemon, getStatusEffectHealText(this.pokemon.status.effect)));
+ this.scene.queueMessage(getStatusEffectHealText(this.pokemon.status.effect, getPokemonNameWithAffix(this.pokemon)));
this.pokemon.resetStatus();
this.pokemon.updateInfo();
}
@@ -2640,7 +2805,10 @@ export class MovePhase extends BattlePhase {
if (this.move.getMove().hasAttr(ChargeAttr)) {
const lastMove = this.pokemon.getLastXMoves() as TurnMove[];
if (!lastMove.length || lastMove[0].move !== this.move.getMove().id || lastMove[0].result !== MoveResult.OTHER) {
- this.scene.queueMessage(getPokemonMessage(this.pokemon, ` used\n${this.move.getName()}!`), 500);
+ this.scene.queueMessage(i18next.t("battle:useMove", {
+ pokemonNameWithAffix: getPokemonNameWithAffix(this.pokemon),
+ moveName: this.move.getName()
+ }), 500);
return;
}
}
@@ -2649,7 +2817,10 @@ export class MovePhase extends BattlePhase {
return;
}
- this.scene.queueMessage(getPokemonMessage(this.pokemon, ` used\n${this.move.getName()}!`), 500);
+ this.scene.queueMessage(i18next.t("battle:useMove", {
+ pokemonNameWithAffix: getPokemonNameWithAffix(this.pokemon),
+ moveName: this.move.getName()
+ }), 500);
applyMoveAttrs(PreMoveMessageAttr, this.pokemon, this.pokemon.getOpponents().find(() => true), this.move.getMove());
}
@@ -2678,7 +2849,7 @@ export class MoveEffectPhase extends PokemonPhase {
// of the left Pokemon and gets hit unless this is checked.
if (targets.includes(battlerIndex) && this.move.getMove().moveTarget === MoveTarget.ALL_NEAR_OTHERS) {
const i = targets.indexOf(battlerIndex);
- targets.splice(i,i+1);
+ targets.splice(i, i + 1);
}
this.targets = targets;
}
@@ -2694,9 +2865,10 @@ export class MoveEffectPhase extends PokemonPhase {
}
const overridden = new Utils.BooleanHolder(false);
+ const move = this.move.getMove();
// Assume single target for override
- applyMoveAttrs(OverrideMoveEffectAttr, user, this.getTarget(), this.move.getMove(), overridden, this.move.virtual).then(() => {
+ applyMoveAttrs(OverrideMoveEffectAttr, user, this.getTarget(), move, overridden, this.move.virtual).then(() => {
if (overridden.value) {
return this.end();
@@ -2707,86 +2879,94 @@ export class MoveEffectPhase extends PokemonPhase {
if (user.turnData.hitsLeft === undefined) {
const hitCount = new Utils.IntegerHolder(1);
// Assume single target for multi hit
- applyMoveAttrs(MultiHitAttr, user, this.getTarget(), this.move.getMove(), hitCount);
- if (this.move.getMove() instanceof AttackMove && !this.move.getMove().hasAttr(FixedDamageAttr)) {
+ applyMoveAttrs(MultiHitAttr, user, this.getTarget(), move, hitCount);
+ applyPreAttackAbAttrs(AddSecondStrikeAbAttr, user, null, move, targets.length, hitCount, new Utils.IntegerHolder(0));
+ if (move instanceof AttackMove && !move.hasAttr(FixedDamageAttr)) {
this.scene.applyModifiers(PokemonMultiHitModifier, user.isPlayer(), user, hitCount, new Utils.IntegerHolder(0));
}
user.turnData.hitsLeft = user.turnData.hitCount = hitCount.value;
}
const moveHistoryEntry = { move: this.move.moveId, targets: this.targets, result: MoveResult.PENDING, virtual: this.move.virtual };
- user.pushMoveHistory(moveHistoryEntry);
- const targetHitChecks = Object.fromEntries(targets.map(p => [ p.getBattlerIndex(), this.hitCheck(p) ]));
+ const targetHitChecks = Object.fromEntries(targets.map(p => [p.getBattlerIndex(), this.hitCheck(p)]));
const activeTargets = targets.map(t => t.isActive(true));
- if (!activeTargets.length || (!this.move.getMove().hasAttr(VariableTargetAttr) && !this.move.getMove().isMultiTarget() && !targetHitChecks[this.targets[0]])) {
- user.turnData.hitCount = 1;
- user.turnData.hitsLeft = 1;
+ if (!activeTargets.length || (!move.hasAttr(VariableTargetAttr) && !move.isMultiTarget() && !targetHitChecks[this.targets[0]])) {
+ this.stopMultiHit();
if (activeTargets.length) {
- this.scene.queueMessage(getPokemonMessage(user, "'s\nattack missed!"));
+ this.scene.queueMessage(i18next.t("battle:attackMissed", { pokemonNameWithAffix: getPokemonNameWithAffix(this.getTarget()) }));
moveHistoryEntry.result = MoveResult.MISS;
- applyMoveAttrs(MissEffectAttr, user, null, this.move.getMove());
+ applyMoveAttrs(MissEffectAttr, user, null, move);
} else {
this.scene.queueMessage(i18next.t("battle:attackFailed"));
moveHistoryEntry.result = MoveResult.FAIL;
}
+ user.pushMoveHistory(moveHistoryEntry);
return this.end();
}
const applyAttrs: Promise[] = [];
// Move animation only needs one target
- new MoveAnim(this.move.getMove().id as Moves, user, this.getTarget()?.getBattlerIndex()).play(this.scene, () => {
+ new MoveAnim(move.id as Moves, user, this.getTarget()?.getBattlerIndex()).play(this.scene, () => {
for (const target of targets) {
if (!targetHitChecks[target.getBattlerIndex()]) {
- user.turnData.hitCount = 1;
- user.turnData.hitsLeft = 1;
- this.scene.queueMessage(getPokemonMessage(user, "'s\nattack missed!"));
+ this.stopMultiHit(target);
+ this.scene.queueMessage(i18next.t("battle:attackMissed", { pokemonNameWithAffix: getPokemonNameWithAffix(target) }));
if (moveHistoryEntry.result === MoveResult.PENDING) {
moveHistoryEntry.result = MoveResult.MISS;
}
- applyMoveAttrs(MissEffectAttr, user, null, this.move.getMove());
+ applyMoveAttrs(MissEffectAttr, user, null, move);
continue;
}
- const isProtected = !this.move.getMove().hasFlag(MoveFlags.IGNORE_PROTECT) && target.findTags(t => t instanceof ProtectedTag).find(t => target.lapseTag(t.tagType));
+ const isProtected = !this.move.getMove().checkFlag(MoveFlags.IGNORE_PROTECT, user, target) && target.findTags(t => t instanceof ProtectedTag).find(t => target.lapseTag(t.tagType));
- const firstHit = moveHistoryEntry.result !== MoveResult.SUCCESS;
+ const firstHit = (user.turnData.hitsLeft === user.turnData.hitCount);
+ const firstTarget = (moveHistoryEntry.result === MoveResult.PENDING);
+
+ if (firstHit) {
+ user.pushMoveHistory(moveHistoryEntry);
+ }
moveHistoryEntry.result = MoveResult.SUCCESS;
- const hitResult = !isProtected ? target.apply(user, this.move) : HitResult.NO_EFFECT;
+ const hitResult = !isProtected ? target.apply(user, move) : HitResult.NO_EFFECT;
- this.scene.triggerPokemonFormChange(user, SpeciesFormChangePostMoveTrigger);
+ const lastHit = (user.turnData.hitsLeft === 1 || !this.getTarget()?.isActive());
+
+ if (lastHit) {
+ this.scene.triggerPokemonFormChange(user, SpeciesFormChangePostMoveTrigger);
+ }
applyAttrs.push(new Promise(resolve => {
- applyFilteredMoveAttrs((attr: MoveAttr) => attr instanceof MoveEffectAttr && (attr as MoveEffectAttr).trigger === MoveEffectTrigger.PRE_APPLY && (!attr.firstHitOnly || firstHit),
- user, target, this.move.getMove()).then(() => {
+ applyFilteredMoveAttrs((attr: MoveAttr) => attr instanceof MoveEffectAttr && attr.trigger === MoveEffectTrigger.PRE_APPLY && (!attr.firstHitOnly || firstHit) && (!attr.lastHitOnly || lastHit),
+ user, target, move).then(() => {
if (hitResult !== HitResult.FAIL) {
- const chargeEffect = !!this.move.getMove().getAttrs(ChargeAttr).find(ca => ca.usedChargeEffect(user, this.getTarget(), this.move.getMove()));
+ const chargeEffect = !!move.getAttrs(ChargeAttr).find(ca => ca.usedChargeEffect(user, this.getTarget(), move));
// Charge attribute with charge effect takes all effect attributes and applies them to charge stage, so ignore them if this is present
- Utils.executeIf(!chargeEffect, () => applyFilteredMoveAttrs((attr: MoveAttr) => attr instanceof MoveEffectAttr && (attr as MoveEffectAttr).trigger === MoveEffectTrigger.POST_APPLY
- && (attr as MoveEffectAttr).selfTarget && (!attr.firstHitOnly || firstHit), user, target, this.move.getMove())).then(() => {
+ Utils.executeIf(!chargeEffect, () => applyFilteredMoveAttrs((attr: MoveAttr) => attr instanceof MoveEffectAttr && attr.trigger === MoveEffectTrigger.POST_APPLY
+ && attr.selfTarget && (!attr.firstHitOnly || firstHit) && (!attr.lastHitOnly || lastHit), user, target, move)).then(() => {
if (hitResult !== HitResult.NO_EFFECT) {
applyFilteredMoveAttrs((attr: MoveAttr) => attr instanceof MoveEffectAttr && (attr as MoveEffectAttr).trigger === MoveEffectTrigger.POST_APPLY
- && !(attr as MoveEffectAttr).selfTarget && (!attr.firstHitOnly || firstHit), user, target, this.move.getMove()).then(() => {
- if (hitResult < HitResult.NO_EFFECT) {
+ && !(attr as MoveEffectAttr).selfTarget && (!attr.firstHitOnly || firstHit) && (!attr.lastHitOnly || lastHit), user, target, this.move.getMove()).then(() => {
+ if (hitResult < HitResult.NO_EFFECT && !target.hasAbilityWithAttr(IgnoreMoveEffectsAbAttr)) {
const flinched = new Utils.BooleanHolder(false);
user.scene.applyModifiers(FlinchChanceModifier, user.isPlayer(), user, flinched);
if (flinched.value) {
target.addTag(BattlerTagType.FLINCHED, undefined, this.move.moveId, user.id);
}
}
- Utils.executeIf(!isProtected && !chargeEffect, () => applyFilteredMoveAttrs((attr: MoveAttr) => attr instanceof MoveEffectAttr && (attr as MoveEffectAttr).trigger === MoveEffectTrigger.HIT && (!attr.firstHitOnly || firstHit),
- user, target, this.move.getMove()).then(() => {
- return Utils.executeIf(!target.isFainted() || target.canApplyAbility(), () => applyPostDefendAbAttrs(PostDefendAbAttr, target, user, this.move, hitResult).then(() => {
+ Utils.executeIf(!isProtected && !chargeEffect, () => applyFilteredMoveAttrs((attr: MoveAttr) => attr instanceof MoveEffectAttr && (attr as MoveEffectAttr).trigger === MoveEffectTrigger.HIT
+ && (!attr.firstHitOnly || firstHit) && (!attr.lastHitOnly || lastHit) && (!attr.firstTargetOnly || firstTarget), user, target, this.move.getMove()).then(() => {
+ return Utils.executeIf(!target.isFainted() || target.canApplyAbility(), () => applyPostDefendAbAttrs(PostDefendAbAttr, target, user, this.move.getMove(), hitResult).then(() => {
if (!user.isPlayer() && this.move.getMove() instanceof AttackMove) {
user.scene.applyShuffledModifiers(this.scene, EnemyAttackStatusEffectChanceModifier, false, target);
}
})).then(() => {
- applyPostAttackAbAttrs(PostAttackAbAttr, user, target, this.move, hitResult).then(() => {
+ applyPostAttackAbAttrs(PostAttackAbAttr, user, target, this.move.getMove(), hitResult).then(() => {
if (this.move.getMove() instanceof AttackMove) {
- this.scene.applyModifiers(ContactHeldItemTransferChanceModifier, this.player, user, target.getFieldIndex());
+ this.scene.applyModifiers(ContactHeldItemTransferChanceModifier, this.player, user, target);
}
resolve();
});
@@ -2795,7 +2975,7 @@ export class MoveEffectPhase extends PokemonPhase {
).then(() => resolve());
});
} else {
- applyMoveAttrs(NoEffectAttr, user, null, this.move.getMove()).then(() => resolve());
+ applyMoveAttrs(NoEffectAttr, user, null, move).then(() => resolve());
}
});
} else {
@@ -2804,14 +2984,17 @@ export class MoveEffectPhase extends PokemonPhase {
});
}));
}
- // Trigger effect which should only apply one time after all targeted effects have already applied
- const postTarget = applyFilteredMoveAttrs((attr: MoveAttr) => attr instanceof MoveEffectAttr && (attr as MoveEffectAttr).trigger === MoveEffectTrigger.POST_TARGET,
- user, null, this.move.getMove());
+ // Trigger effect which should only apply one time on the last hit after all targeted effects have already applied
+ const postTarget = (user.turnData.hitsLeft === 1 || !this.getTarget()?.isActive()) ?
+ applyFilteredMoveAttrs((attr: MoveAttr) => attr instanceof MoveEffectAttr && attr.trigger === MoveEffectTrigger.POST_TARGET, user, null, move) :
+ null;
- if (applyAttrs.length) { // If there is a pending asynchronous move effect, do this after
- applyAttrs[applyAttrs.length - 1]?.then(() => postTarget);
- } else { // Otherwise, push a new asynchronous move effect
- applyAttrs.push(postTarget);
+ if (!!postTarget) {
+ if (applyAttrs.length) { // If there is a pending asynchronous move effect, do this after
+ applyAttrs[applyAttrs.length - 1]?.then(() => postTarget);
+ } else { // Otherwise, push a new asynchronous move effect
+ applyAttrs.push(postTarget);
+ }
}
Promise.allSettled(applyAttrs).then(() => this.end());
@@ -2820,6 +3003,8 @@ export class MoveEffectPhase extends PokemonPhase {
}
end() {
+ const move = this.move.getMove();
+ move.type = move.defaultType;
const user = this.getUserPokemon();
if (user) {
if (--user.turnData.hitsLeft >= 1 && this.getTarget()?.isActive()) {
@@ -2862,7 +3047,7 @@ export class MoveEffectPhase extends PokemonPhase {
return true;
}
- const hiddenTag = target.getTag(HiddenTag);
+ const hiddenTag = target.getTag(SemiInvulnerableTag);
if (hiddenTag && !this.move.getMove().getAttrs(HitsTagAttr).some(hta => hta.tagType === hiddenTag.tagType)) {
return false;
}
@@ -2870,6 +3055,7 @@ export class MoveEffectPhase extends PokemonPhase {
const moveAccuracy = new Utils.NumberHolder(this.move.getMove().accuracy);
applyMoveAttrs(VariableAccuracyAttr, user, target, this.move.getMove(), moveAccuracy);
+ applyPreDefendAbAttrs(WonderSkinAbAttr, target, user, this.move.getMove(), { value: false }, moveAccuracy);
if (moveAccuracy.value === -1) {
return true;
@@ -2909,7 +3095,7 @@ export class MoveEffectPhase extends PokemonPhase {
applyBattleStatMultiplierAbAttrs(BattleStatMultiplierAbAttr, user, BattleStat.ACC, accuracyMultiplier, this.move.getMove());
const evasionMultiplier = new Utils.NumberHolder(1);
- applyBattleStatMultiplierAbAttrs(BattleStatMultiplierAbAttr, this.getTarget(), BattleStat.EVA, evasionMultiplier);
+ applyBattleStatMultiplierAbAttrs(BattleStatMultiplierAbAttr, target, BattleStat.EVA, evasionMultiplier);
accuracyMultiplier.value /= evasionMultiplier.value;
@@ -2931,6 +3117,28 @@ export class MoveEffectPhase extends PokemonPhase {
return this.getTargets().find(() => true);
}
+ removeTarget(target: Pokemon): void {
+ const targetIndex = this.targets.findIndex(ind => ind === target.getBattlerIndex());
+ if (targetIndex !== -1) {
+ this.targets.splice(this.targets.findIndex(ind => ind === target.getBattlerIndex()), 1);
+ }
+ }
+
+ stopMultiHit(target?: Pokemon): void {
+ /** If given a specific target, remove the target from subsequent strikes */
+ if (target) {
+ this.removeTarget(target);
+ }
+ /**
+ * If no target specified, or the specified target was the last of this move's
+ * targets, completely cancel all subsequent strikes.
+ */
+ if (!target || this.targets.length === 0 ) {
+ this.getUserPokemon().turnData.hitCount = 1;
+ this.getUserPokemon().turnData.hitsLeft = 1;
+ }
+ }
+
getNewHitPhase() {
return new MoveEffectPhase(this.scene, this.battlerIndex, this.targets, this.move);
}
@@ -2979,7 +3187,7 @@ export class MoveAnimTestPhase extends BattlePhase {
}
initMoveAnim(this.scene, moveId).then(() => {
- loadMoveAnimAssets(this.scene, [ moveId ], true)
+ loadMoveAnimAssets(this.scene, [moveId], true)
.then(() => {
new MoveAnim(moveId, player ? this.scene.getPlayerPokemon() : this.scene.getEnemyPokemon(), (player !== (allMoves[moveId] instanceof SelfStatusMove) ? this.scene.getEnemyPokemon() : this.scene.getPlayerPokemon()).getBattlerIndex()).play(this.scene, () => {
if (player) {
@@ -3005,7 +3213,12 @@ export class ShowAbilityPhase extends PokemonPhase {
start() {
super.start();
- this.scene.abilityBar.showAbility(this.getPokemon(), this.passive);
+ const pokemon = this.getPokemon();
+
+ this.scene.abilityBar.showAbility(pokemon, this.passive);
+ if (pokemon.battleData) {
+ pokemon.battleData.abilityRevealed = true;
+ }
this.end();
}
@@ -3151,7 +3364,7 @@ export class StatChangePhase extends PokemonPhase {
}
aggregateStatChanges(random: boolean = false): void {
- const isAccEva = [ BattleStat.ACC, BattleStat.EVA ].some(s => this.stats.includes(s));
+ const isAccEva = [BattleStat.ACC, BattleStat.EVA].some(s => this.stats.includes(s));
let existingPhase: StatChangePhase;
if (this.stats.length === 1) {
while ((existingPhase = (this.scene.findPhase(p => p instanceof StatChangePhase && p.battlerIndex === this.battlerIndex && p.stats.length === 1
@@ -3171,7 +3384,7 @@ export class StatChangePhase extends PokemonPhase {
}
}
while ((existingPhase = (this.scene.findPhase(p => p instanceof StatChangePhase && p.battlerIndex === this.battlerIndex && p.selfTarget === this.selfTarget
- && ([ BattleStat.ACC, BattleStat.EVA ].some(s => p.stats.includes(s)) === isAccEva)
+ && ([BattleStat.ACC, BattleStat.EVA].some(s => p.stats.includes(s)) === isAccEva)
&& p.levels === this.levels && p.showMessage === this.showMessage && p.ignoreAbilities === this.ignoreAbilities) as StatChangePhase))) {
this.stats.push(...existingPhase.stats);
if (!this.scene.tryRemovePhase(p => p === existingPhase)) {
@@ -3203,7 +3416,7 @@ export class StatChangePhase extends PokemonPhase {
} else {
statsFragment = getBattleStatName(relLevelStats[0]);
}
- messages.push(getPokemonMessage(this.getPokemon(), `'s ${statsFragment} ${getBattleStatLevelChangeDescription(Math.abs(parseInt(rl)), levels >= 1)}!`));
+ messages.push(getBattleStatLevelChangeDescription(getPokemonNameWithAffix(this.getPokemon()), statsFragment, Math.abs(parseInt(rl)), levels >= 1));
});
return messages;
@@ -3293,7 +3506,7 @@ export class ObtainStatusEffectPhase extends PokemonPhase {
}
pokemon.updateInfo(true);
new CommonBattleAnim(CommonAnim.POISON + (this.statusEffect - 1), pokemon).play(this.scene, () => {
- this.scene.queueMessage(getPokemonMessage(pokemon, getStatusEffectObtainText(this.statusEffect, this.sourceText)));
+ this.scene.queueMessage(getStatusEffectObtainText(this.statusEffect, getPokemonNameWithAffix(pokemon), this.sourceText));
if (pokemon.status.isPostTurn()) {
this.scene.pushPhase(new PostTurnStatusEffectPhase(this.scene, this.battlerIndex));
}
@@ -3302,7 +3515,7 @@ export class ObtainStatusEffectPhase extends PokemonPhase {
return;
}
} else if (pokemon.status.effect === this.statusEffect) {
- this.scene.queueMessage(getPokemonMessage(pokemon, getStatusEffectOverlapText(this.statusEffect)));
+ this.scene.queueMessage(getStatusEffectOverlapText(this.statusEffect, getPokemonNameWithAffix(pokemon)));
}
this.end();
}
@@ -3319,9 +3532,10 @@ export class PostTurnStatusEffectPhase extends PokemonPhase {
pokemon.status.incrementTurn();
const cancelled = new Utils.BooleanHolder(false);
applyAbAttrs(BlockNonDirectDamageAbAttr, pokemon, cancelled);
+ applyAbAttrs(BlockStatusDamageAbAttr, pokemon, cancelled);
if (!cancelled.value) {
- this.scene.queueMessage(getPokemonMessage(pokemon, getStatusEffectActivationText(pokemon.status.effect)));
+ this.scene.queueMessage(getStatusEffectActivationText(pokemon.status.effect, getPokemonNameWithAffix(pokemon)));
let damage: integer = 0;
switch (pokemon.status.effect) {
case StatusEffect.POISON:
@@ -3335,7 +3549,7 @@ export class PostTurnStatusEffectPhase extends PokemonPhase {
break;
}
if (damage) {
- // Set preventEndure flag to avoid pokemon surviving thanks to focus band, sturdy, endure ...
+ // Set preventEndure flag to avoid pokemon surviving thanks to focus band, sturdy, endure ...
this.scene.damageNumberHandler.add(this.getPokemon(), pokemon.damage(damage, false, true));
pokemon.updateInfo();
}
@@ -3402,7 +3616,9 @@ export class DamagePhase extends PokemonPhase {
super.start();
if (this.damageResult === HitResult.ONE_HIT_KO) {
- this.scene.toggleInvert(true);
+ if (this.scene.moveAnimations) {
+ this.scene.toggleInvert(true);
+ }
this.scene.time.delayedCall(Utils.fixedInt(1000), () => {
this.scene.toggleInvert(false);
this.applyDamage();
@@ -3464,7 +3680,7 @@ export class DamagePhase extends PokemonPhase {
this.scene.setFieldScale(0.75);
this.scene.triggerPokemonFormChange(pokemon, SpeciesFormChangeManualTrigger, false);
this.scene.currentBattle.double = true;
- const availablePartyMembers = this.scene.getParty().filter(p => !p.isFainted());
+ const availablePartyMembers = this.scene.getParty().filter(p => p.isAllowedInBattle());
if (availablePartyMembers.length > 1) {
this.scene.pushPhase(new ToggleDoublePositionPhase(this.scene, true));
if (!availablePartyMembers[1].isOnField()) {
@@ -3524,11 +3740,11 @@ export class FaintPhase extends PokemonPhase {
this.scene.currentBattle.enemyFaintsHistory = [...this.scene.currentBattle.enemyFaintsHistory, {pokemon, turn: this.scene.currentBattle.turn}];
}
- this.scene.queueMessage(getPokemonMessage(pokemon, " fainted!"), null, true);
+ this.scene.queueMessage(i18next.t("battle:fainted", { pokemonNameWithAffix: getPokemonNameWithAffix(pokemon) }), null, true);
if (pokemon.turnData?.attacksReceived?.length) {
const lastAttack = pokemon.turnData.attacksReceived[0];
- applyPostFaintAbAttrs(PostFaintAbAttr, pokemon, this.scene.getPokemonById(lastAttack.sourceId), new PokemonMove(lastAttack.move), lastAttack.result);
+ applyPostFaintAbAttrs(PostFaintAbAttr, pokemon, this.scene.getPokemonById(lastAttack.sourceId), new PokemonMove(lastAttack.move).getMove(), lastAttack.result);
}
const alivePlayField = this.scene.getField(true);
@@ -3548,11 +3764,11 @@ export class FaintPhase extends PokemonPhase {
}
if (this.player) {
- const nonFaintedPartyMembers = this.scene.getParty().filter(p => !p.isFainted());
- const nonFaintedPartyMemberCount = nonFaintedPartyMembers.length;
+ const nonFaintedLegalPartyMembers = this.scene.getParty().filter(p => p.isAllowedInBattle());
+ const nonFaintedPartyMemberCount = nonFaintedLegalPartyMembers.length;
if (!nonFaintedPartyMemberCount) {
this.scene.unshiftPhase(new GameOverPhase(this.scene));
- } else if (nonFaintedPartyMemberCount >= this.scene.currentBattle.getBattlerCount() || (this.scene.currentBattle.double && !nonFaintedPartyMembers[0].isActive(true))) {
+ } else if (nonFaintedPartyMemberCount >= this.scene.currentBattle.getBattlerCount() || (this.scene.currentBattle.double && !nonFaintedLegalPartyMembers[0].isActive(true))) {
this.scene.pushPhase(new SwitchPhase(this.scene, this.fieldIndex, true, false));
}
if (nonFaintedPartyMemberCount === 1 && this.scene.currentBattle.double) {
@@ -3787,7 +4003,7 @@ export class TrainerVictoryPhase extends BattlePhase {
const trainerType = this.scene.currentBattle.trainer.config.trainerType;
if (vouchers.hasOwnProperty(TrainerType[trainerType])) {
if (!this.scene.validateVoucher(vouchers[TrainerType[trainerType]]) && this.scene.currentBattle.trainer.config.isBoss) {
- this.scene.unshiftPhase(new ModifierRewardPhase(this.scene, [ modifierTypes.VOUCHER, modifierTypes.VOUCHER, modifierTypes.VOUCHER_PLUS, modifierTypes.VOUCHER_PREMIUM ][vouchers[TrainerType[trainerType]].voucherType]));
+ this.scene.unshiftPhase(new ModifierRewardPhase(this.scene, [modifierTypes.VOUCHER, modifierTypes.VOUCHER, modifierTypes.VOUCHER_PLUS, modifierTypes.VOUCHER_PREMIUM][vouchers[TrainerType[trainerType]].voucherType]));
}
}
@@ -3834,6 +4050,10 @@ export class MoneyRewardPhase extends BattlePhase {
this.scene.applyModifiers(MoneyMultiplierModifier, true, moneyAmount);
+ if (this.scene.arena.getTag(ArenaTagType.HAPPY_HOUR)) {
+ moneyAmount.value *= 2;
+ }
+
this.scene.addMoney(moneyAmount.value);
const userLocale = navigator.language || "en-US";
@@ -3864,7 +4084,7 @@ export class ModifierRewardPhase extends BattlePhase {
const newModifier = this.modifierType.newModifier();
this.scene.addModifier(newModifier).then(() => {
this.scene.playSound("item_fanfare");
- this.scene.ui.showText(`You received\n${newModifier.type.name}!`, null, () => resolve(), null, true);
+ this.scene.ui.showText(i18next.t("battle:rewardGain", { modifierName: newModifier.type.name }), null, () => resolve(), null, true);
});
});
}
@@ -3882,7 +4102,7 @@ export class GameOverModifierRewardPhase extends ModifierRewardPhase {
this.scene.playSound("level_up_fanfare");
this.scene.ui.setMode(Mode.MESSAGE);
this.scene.ui.fadeIn(250).then(() => {
- this.scene.ui.showText(`You received\n${newModifier.type.name}!`, null, () => {
+ this.scene.ui.showText(i18next.t("battle:rewardGain", { modifierName: newModifier.type.name }), null, () => {
this.scene.time.delayedCall(1500, () => this.scene.arenaBg.setVisible(true));
resolve();
}, null, true, 1500);
@@ -3946,7 +4166,7 @@ export class GameOverPhase extends BattlePhase {
this.scene.gameData.loadSession(this.scene, this.scene.sessionSlotId).then(() => {
this.scene.pushPhase(new EncounterPhase(this.scene, true));
- const availablePartyMembers = this.scene.getParty().filter(p => !p.isFainted()).length;
+ const availablePartyMembers = this.scene.getParty().filter(p => p.isAllowedInBattle()).length;
this.scene.pushPhase(new SummonPhase(this.scene, 0));
if (this.scene.currentBattle.double && availablePartyMembers > 1) {
@@ -3998,6 +4218,10 @@ export class GameOverPhase extends BattlePhase {
this.scene.clearPhaseQueue();
this.scene.ui.clearText();
+ if (this.victory && this.scene.gameMode.isChallenge) {
+ this.scene.gameMode.challenges.forEach(c => this.scene.validateAchvs(ChallengeAchv, c));
+ }
+
const clear = (endCardPhase?: EndCardPhase) => {
if (newClear) {
this.handleUnlocks();
@@ -4048,7 +4272,7 @@ export class GameOverPhase extends BattlePhase {
If Offline, execute offlineNewClear(), a localStorage implementation of newClear daily run checks */
if (this.victory) {
if (!Utils.isLocal) {
- Utils.apiFetch(`savedata/newclear?slot=${this.scene.sessionSlotId}`, true)
+ Utils.apiFetch(`savedata/session/newclear?slot=${this.scene.sessionSlotId}&clientSessionId=${clientSessionId}`, true)
.then(response => response.json())
.then(newClear => doGameOver(newClear));
} else {
@@ -4201,17 +4425,17 @@ export class SwitchPhase extends BattlePhase {
super.start();
// Skip modal switch if impossible
- if (this.isModal && !this.scene.getParty().filter(p => !p.isFainted() && !p.isActive(true)).length) {
+ if (this.isModal && !this.scene.getParty().filter(p => p.isAllowedInBattle() && !p.isActive(true)).length) {
return super.end();
}
// Check if there is any space still in field
- if (this.isModal && this.scene.getPlayerField().filter(p => !p.isFainted() && p.isActive(true)).length >= this.scene.currentBattle.getBattlerCount()) {
+ if (this.isModal && this.scene.getPlayerField().filter(p => p.isAllowedInBattle() && p.isActive(true)).length >= this.scene.currentBattle.getBattlerCount()) {
return super.end();
}
- // Override field index to 0 in case of double battle where 2/3 remaining party members fainted at once
- const fieldIndex = this.scene.currentBattle.getBattlerCount() === 1 || this.scene.getParty().filter(p => !p.isFainted()).length > 1 ? this.fieldIndex : 0;
+ // Override field index to 0 in case of double battle where 2/3 remaining legal party members fainted at once
+ const fieldIndex = this.scene.currentBattle.getBattlerCount() === 1 || this.scene.getParty().filter(p => p.isAllowedInBattle()).length > 1 ? this.fieldIndex : 0;
this.scene.ui.setMode(Mode.PARTY, this.isModal ? PartyUiMode.FAINT_SWITCH : PartyUiMode.POST_BATTLE_SWITCH, fieldIndex, (slotIndex: integer, option: PartyOption) => {
if (slotIndex >= this.scene.currentBattle.getBattlerCount() && slotIndex < 6) {
@@ -4276,20 +4500,20 @@ export class ShowPartyExpBarPhase extends PlayerPartyMemberPokemonPhase {
this.scene.unshiftPhase(new HidePartyExpBarPhase(this.scene));
pokemon.updateInfo();
- if (this.scene.expParty === 2) { // 2 - Skip - no level up frame nor message
+ if (this.scene.expParty === ExpNotification.SKIP) {
this.end();
- } else if (this.scene.expParty === 1) { // 1 - Only level up - we display the level up in the small frame instead of a message
+ } else if (this.scene.expParty === ExpNotification.ONLY_LEVEL_UP) {
if (newLevel > lastLevel) { // this means if we level up
// instead of displaying the exp gain in the small frame, we display the new level
// we use the same method for mode 0 & 1, by giving a parameter saying to display the exp or the level
- this.scene.partyExpBar.showPokemonExp(pokemon, exp.value, this.scene.expParty === 1, newLevel).then(() => {
+ this.scene.partyExpBar.showPokemonExp(pokemon, exp.value, this.scene.expParty === ExpNotification.ONLY_LEVEL_UP, newLevel).then(() => {
setTimeout(() => this.end(), 800 / Math.pow(2, this.scene.expGainsSpeed));
});
} else {
this.end();
}
} else if (this.scene.expGainsSpeed < 3) {
- this.scene.partyExpBar.showPokemonExp(pokemon, exp.value, this.scene.expParty === 1, newLevel).then(() => {
+ this.scene.partyExpBar.showPokemonExp(pokemon, exp.value, false, newLevel).then(() => {
setTimeout(() => this.end(), 500 / Math.pow(2, this.scene.expGainsSpeed));
});
} else {
@@ -4336,12 +4560,12 @@ export class LevelUpPhase extends PlayerPartyMemberPokemonPhase {
const prevStats = pokemon.stats.slice(0);
pokemon.calculateStats();
pokemon.updateInfo();
- if (this.scene.expParty === 0) { // 0 - default - the normal exp gain display, nothing changed
+ if (this.scene.expParty === ExpNotification.DEFAULT) {
this.scene.playSound("level_up_fanfare");
this.scene.ui.showText(i18next.t("battle:levelUp", { pokemonName: this.getPokemon().name, level: this.level }), null, () => this.scene.ui.getMessageHandler().promptLevelUpStats(this.partyMemberIndex, prevStats, false).then(() => this.end()), null, true);
- } else if (this.scene.expParty === 2) { // 2 - Skip - no level up frame nor message
+ } else if (this.scene.expParty === ExpNotification.SKIP) {
this.end();
- } else { // 1 - Only level up - we display the level up in the small frame instead of a message
+ } else {
// we still want to display the stats if activated
this.scene.ui.getMessageHandler().promptLevelUpStats(this.partyMemberIndex, prevStats, false).then(() => this.end());
}
@@ -4392,7 +4616,7 @@ export class LearnMovePhase extends PlayerPartyMemberPokemonPhase {
if (emptyMoveIndex > -1) {
pokemon.setMove(emptyMoveIndex, this.moveId);
initMoveAnim(this.scene, this.moveId).then(() => {
- loadMoveAnimAssets(this.scene, [ this.moveId ], true)
+ loadMoveAnimAssets(this.scene, [this.moveId], true)
.then(() => {
this.scene.ui.setMode(messageMode).then(() => {
this.scene.playSound("level_up_fanfare");
@@ -4529,7 +4753,7 @@ export class PokemonHealPhase extends CommonAnimPhase {
pokemon.resetStatus();
pokemon.updateInfo().then(() => super.end());
} else if (this.showFullHpMessage) {
- this.message = getPokemonMessage(pokemon, "'s\nHP is full!");
+ this.message = i18next.t("battle:hpIsFull", { pokemonName: getPokemonNameWithAffix(pokemon) });
}
if (this.message) {
@@ -4537,7 +4761,7 @@ export class PokemonHealPhase extends CommonAnimPhase {
}
if (this.healStatus && lastStatusEffect && !hasMessage) {
- this.scene.queueMessage(getPokemonMessage(pokemon, getStatusEffectHealText(lastStatusEffect)));
+ this.scene.queueMessage(getStatusEffectHealText(lastStatusEffect, getPokemonNameWithAffix(pokemon)));
}
if (!healOrDamage && !lastStatusEffect) {
@@ -4765,7 +4989,7 @@ export class AttemptCapturePhase extends PokemonPhase {
}
});
};
- Promise.all([ pokemon.hideInfo(), this.scene.gameData.setPokemonCaught(pokemon) ]).then(() => {
+ Promise.all([pokemon.hideInfo(), this.scene.gameData.setPokemonCaught(pokemon)]).then(() => {
if (this.scene.getParty().length === 6) {
const promptRelease = () => {
this.scene.ui.showText(i18next.t("battle:partyFull", { pokemonName: pokemon.name }), null, () => {
@@ -4829,7 +5053,7 @@ export class AttemptRunPhase extends PokemonPhase {
this.scene.queueMessage(i18next.t("battle:runAwaySuccess"), null, true, 500);
this.scene.tweens.add({
- targets: [ this.scene.arenaEnemy, enemyField ].flat(),
+ targets: [this.scene.arenaEnemy, enemyField].flat(),
alpha: 0,
duration: 250,
ease: "Sine.easeIn",
@@ -4897,7 +5121,8 @@ export class SelectModifierPhase extends BattlePhase {
let cost: integer;
switch (rowCursor) {
case 0:
- if (!cursor) {
+ switch (cursor) {
+ case 0:
const rerollCost = this.getRerollCost(typeOptions, this.scene.lockModifierTiers);
if (this.scene.money < rerollCost) {
this.scene.ui.playError();
@@ -4909,9 +5134,11 @@ export class SelectModifierPhase extends BattlePhase {
this.scene.ui.setMode(Mode.MESSAGE).then(() => super.end());
this.scene.money -= rerollCost;
this.scene.updateMoneyText();
+ this.scene.animateMoneyChanged(false);
this.scene.playSound("buy");
}
- } else if (cursor === 1) {
+ break;
+ case 1:
this.scene.ui.setModeWithoutClear(Mode.PARTY, PartyUiMode.MODIFIER_TRANSFER, -1, (fromSlotIndex: integer, itemIndex: integer, itemQuantity: integer, toSlotIndex: integer) => {
if (toSlotIndex !== undefined && fromSlotIndex < 6 && toSlotIndex < 6 && fromSlotIndex !== toSlotIndex && itemIndex > -1) {
const itemModifiers = this.scene.findModifiers(m => m instanceof PokemonHeldItemModifier
@@ -4922,7 +5149,13 @@ export class SelectModifierPhase extends BattlePhase {
this.scene.ui.setMode(Mode.MODIFIER_SELECT, this.isPlayer(), typeOptions, modifierSelectCallback, this.getRerollCost(typeOptions, this.scene.lockModifierTiers));
}
}, PartyUiHandler.FilterItemMaxStacks);
- } else {
+ break;
+ case 2:
+ this.scene.ui.setModeWithoutClear(Mode.PARTY, PartyUiMode.CHECK, -1, () => {
+ this.scene.ui.setMode(Mode.MODIFIER_SELECT, this.isPlayer(), typeOptions, modifierSelectCallback, this.getRerollCost(typeOptions, this.scene.lockModifierTiers));
+ });
+ break;
+ case 3:
this.scene.lockModifierTiers = !this.scene.lockModifierTiers;
const uiHandler = this.scene.ui.getHandler() as ModifierSelectUiHandler;
uiHandler.setRerollCost(this.getRerollCost(typeOptions, this.scene.lockModifierTiers));
@@ -4954,6 +5187,7 @@ export class SelectModifierPhase extends BattlePhase {
if (success) {
this.scene.money -= cost;
this.scene.updateMoneyText();
+ this.scene.animateMoneyChanged(false);
this.scene.playSound("buy");
(this.scene.ui.getHandler() as ModifierSelectUiHandler).updateCostText();
} else {
@@ -5034,7 +5268,7 @@ export class SelectModifierPhase extends BattlePhase {
getRerollCost(typeOptions: ModifierTypeOption[], lockRarities: boolean): integer {
let baseValue = 0;
if (lockRarities) {
- const tierValues = [ 50, 125, 300, 750, 2000 ];
+ const tierValues = [50, 125, 300, 750, 2000];
for (const opt of typeOptions) {
baseValue += tierValues[opt.type.tier];
}
@@ -5066,18 +5300,18 @@ export class EggLapsePhase extends Phase {
super.start();
const eggsToHatch: Egg[] = this.scene.gameData.eggs.filter((egg: Egg) => {
- return Overrides.IMMEDIATE_HATCH_EGGS_OVERRIDE ? true : --egg.hatchWaves < 1;
+ return Overrides.EGG_IMMEDIATE_HATCH_OVERRIDE ? true : --egg.hatchWaves < 1;
});
- let eggsToHatchCount: integer = eggsToHatch.length;
+ let eggCount: integer = eggsToHatch.length;
- if (eggsToHatchCount) {
+ if (eggCount) {
this.scene.queueMessage(i18next.t("battle:eggHatching"));
for (const egg of eggsToHatch) {
- this.scene.unshiftPhase(new EggHatchPhase(this.scene, egg, eggsToHatchCount));
- if (eggsToHatchCount > 0) {
- eggsToHatchCount--;
+ this.scene.unshiftPhase(new EggHatchPhase(this.scene, egg, eggCount));
+ if (eggCount > 0) {
+ eggCount--;
}
}
@@ -5254,7 +5488,7 @@ export class TrainerMessageTestPhase extends BattlePhase {
continue;
}
const config = trainerConfigs[type];
- [ config.encounterMessages, config.femaleEncounterMessages, config.victoryMessages, config.femaleVictoryMessages, config.defeatMessages, config.femaleDefeatMessages ]
+ [config.encounterMessages, config.femaleEncounterMessages, config.victoryMessages, config.femaleVictoryMessages, config.defeatMessages, config.femaleDefeatMessages]
.map(messages => {
if (messages?.length) {
testMessages.push(...messages);
diff --git a/src/plugins/i18n.ts b/src/plugins/i18n.ts
index 3f6469904d4..3bcac101465 100644
--- a/src/plugins/i18n.ts
+++ b/src/plugins/i18n.ts
@@ -12,126 +12,64 @@ import { ptBrConfig } from "#app/locales/pt_BR/config.js";
import { zhCnConfig } from "#app/locales/zh_CN/config.js";
import { zhTwConfig } from "#app/locales/zh_TW/config.js";
-export interface SimpleTranslationEntries {
- [key: string]: string
-}
+const unicodeHalfAndFullWidthForms = [
+ "U+FF00-FFEF"
+];
-export interface MoveTranslationEntry {
- name: string,
- effect: string
-}
+const unicodeCJK = [
+ "U+2E80-2EFF",
+ "U+3000-303F",
+ "U+31C0-31EF",
+ "U+3200-32FF",
+ "U+3400-4DBF",
+ "U+4E00-9FFF",
+ "U+F900-FAFF",
+ "U+FE30-FE4F",
+].join(",");
-export interface MoveTranslationEntries {
- [key: string]: MoveTranslationEntry
-}
+const unicodeHangul = [
+ "U+1100-11FF",
+ "U+3130-318F",
+ "U+A960-A97F",
+ "U+AC00-D7AF",
+ "U+D7B0-D7FF",
+].join(",");
-export interface AbilityTranslationEntry {
- name: string,
- description: string
-}
+const fonts = [
+ // korean
+ new FontFace("emerald", "url(./fonts/PokePT_Wansung.ttf)", { unicodeRange: unicodeHangul}),
+ Object.assign(
+ new FontFace("pkmnems", "url(./fonts/PokePT_Wansung.ttf)", { unicodeRange: unicodeHangul}),
+ { sizeAdjust: "133%" }
+ ),
+ // unicode
+ Object.assign(
+ new FontFace("emerald", "url(./fonts/unifont-15.1.05.otf)", { unicodeRange: [unicodeCJK, unicodeHalfAndFullWidthForms].join(",") }),
+ { sizeAdjust: "70%", format: "opentype" }
+ ),
+ Object.assign(
+ new FontFace("pkmnems", "url(./fonts/unifont-15.1.05.otf)", { unicodeRange: [unicodeCJK, unicodeHalfAndFullWidthForms].join(",") }),
+ { format: "opentype" }
+ ),
+];
-export interface AbilityTranslationEntries {
- [key: string]: AbilityTranslationEntry
-}
-
-export interface ModifierTypeTranslationEntry {
- name?: string,
- description?: string,
- extra?: SimpleTranslationEntries
-}
-
-export interface ModifierTypeTranslationEntries {
- ModifierType: { [key: string]: ModifierTypeTranslationEntry },
- AttackTypeBoosterItem: SimpleTranslationEntries,
- TempBattleStatBoosterItem: SimpleTranslationEntries,
- BaseStatBoosterItem: SimpleTranslationEntries,
- EvolutionItem: SimpleTranslationEntries,
- FormChangeItem: SimpleTranslationEntries,
-}
-export interface PokemonInfoTranslationEntries {
- Stat: SimpleTranslationEntries,
- Type: SimpleTranslationEntries,
-}
-
-export interface BerryTranslationEntry {
- name: string,
- effect: string,
-}
-
-export interface BerryTranslationEntries {
- [key: string]: BerryTranslationEntry
-}
-
-export interface AchievementTranslationEntry {
- name?: string,
- description?: string,
-}
-
-export interface AchievementTranslationEntries {
- [key: string]: AchievementTranslationEntry;
-}
-
-export interface DialogueTranslationEntry {
- [key: number]: string;
-}
-
-export interface DialogueTranslationCategory {
- [category: string]: DialogueTranslationEntry;
-}
-
-export interface DialogueTranslationEntries {
- [trainertype: string]: DialogueTranslationCategory;
-}
-
-
-export interface Localizable {
- localize(): void;
-}
-
-const alternativeFonts = {
- "ko": [
- new FontFace("emerald", "url(./fonts/PokePT_Wansung.ttf)"),
- ],
-};
-
-function loadFont(language: string) {
- if (!alternativeFonts[language]) {
- language = language.split(/[-_/]/)[0];
+async function initFonts() {
+ const results = await Promise.allSettled(fonts.map(font => font.load()));
+ for (const result of results) {
+ if (result.status === "fulfilled") {
+ document.fonts?.add(result.value);
+ } else {
+ console.error(result.reason);
+ }
}
- if (alternativeFonts[language]) {
- alternativeFonts[language].forEach((fontFace: FontFace) => {
- document.fonts.add(fontFace);
- });
-
- const altFontLanguages = Object.keys(alternativeFonts);
- altFontLanguages.splice(altFontLanguages.indexOf(language), 0);
- }
-
- (Object.values(alternativeFonts)).forEach(fontFaces => {
- fontFaces.forEach(fontFace => {
- if (fontFace && fontFace.status === "loaded") {
- document.fonts.delete(fontFace);
- }
- });
- });
}
-export function initI18n(): void {
+export async function initI18n(): Promise {
// Prevent reinitialization
if (isInitialized) {
return;
}
isInitialized = true;
- let lang = "";
-
- if (localStorage.getItem("prLang")) {
- lang = localStorage.getItem("prLang");
- }
-
- loadFont(lang);
- i18next.on("languageChanged", lng=> {
- loadFont(lng);
- });
/**
* i18next is a localization library for maintaining and using translation resources.
@@ -143,17 +81,25 @@ export function initI18n(): void {
*
* Q: How do I add a new namespace?
* A: To add a new namespace, create a new file in each language folder with the translations.
- * Then update the `resources` field in the init() call and the CustomTypeOptions interface.
+ * Then update the config file for that language in its locale directory
+ * and the CustomTypeOptions interface in the @types/i18next.d.ts file.
*
* Q: How do I make a language selectable in the settings?
* A: In src/system/settings.ts, add a new case to the Setting.Language switch statement.
*/
- i18next.use(LanguageDetector).use(processor).use(new KoreanPostpositionProcessor()).init({
- lng: lang,
+ i18next.use(LanguageDetector);
+ i18next.use(processor);
+ i18next.use(new KoreanPostpositionProcessor());
+ await i18next.init({
nonExplicitSupportedLngs: true,
fallbackLng: "en",
supportedLngs: ["en", "es", "fr", "it", "de", "zh", "pt", "ko"],
+ defaultNS: "menu",
+ ns: Object.keys(enConfig),
+ detection: {
+ lookupLocalStorage: "prLang"
+ },
debug: true,
interpolation: {
escapeValue: false,
@@ -174,13 +120,13 @@ export function initI18n(): void {
de: {
...deConfig
},
- pt_BR: {
+ "pt-BR": {
...ptBrConfig
},
- zh_CN: {
+ "zh-CN": {
...zhCnConfig
},
- zh_TW: {
+ "zh-TW": {
...zhTwConfig
},
ko: {
@@ -189,52 +135,8 @@ export function initI18n(): void {
},
postProcess: ["korean-postposition"],
});
-}
-// Module declared to make referencing keys in the localization files type-safe.
-declare module "i18next" {
- interface CustomTypeOptions {
- defaultNS: "menu"; // Even if we don't use it, i18next requires a valid default namespace
- resources: {
- menu: SimpleTranslationEntries;
- menuUiHandler: SimpleTranslationEntries;
- move: MoveTranslationEntries;
- battle: SimpleTranslationEntries;
- abilityTriggers: SimpleTranslationEntries;
- ability: AbilityTranslationEntries;
- pokeball: SimpleTranslationEntries;
- pokemon: SimpleTranslationEntries;
- pokemonInfo: PokemonInfoTranslationEntries;
- commandUiHandler: SimpleTranslationEntries;
- fightUiHandler: SimpleTranslationEntries;
- titles: SimpleTranslationEntries;
- trainerClasses: SimpleTranslationEntries;
- trainerNames: SimpleTranslationEntries;
- tutorial: SimpleTranslationEntries;
- starterSelectUiHandler: SimpleTranslationEntries;
- splashMessages: SimpleTranslationEntries;
- nature: SimpleTranslationEntries;
- growth: SimpleTranslationEntries;
- egg: SimpleTranslationEntries;
- weather: SimpleTranslationEntries;
- modifierType: ModifierTypeTranslationEntries;
- battleMessageUiHandler: SimpleTranslationEntries;
- berry: BerryTranslationEntries;
- achv: AchievementTranslationEntries;
- gameStatsUiHandler: SimpleTranslationEntries;
- voucher: SimpleTranslationEntries;
- biome: SimpleTranslationEntries;
- pokemonInfoContainer: SimpleTranslationEntries;
- PGMdialogue: DialogueTranslationEntries;
- PGMbattleSpecDialogue: SimpleTranslationEntries;
- PGMmiscDialogue: SimpleTranslationEntries;
- PGMdoubleBattleDialogue: DialogueTranslationEntries;
- PGFdialogue: DialogueTranslationEntries;
- PGFbattleSpecDialogue: SimpleTranslationEntries;
- PGFmiscDialogue: SimpleTranslationEntries;
- PGFdoubleBattleDialogue: DialogueTranslationEntries;
- };
- }
+ await initFonts();
}
export default i18next;
@@ -244,3 +146,4 @@ export function getIsInitialized(): boolean {
}
let isInitialized = false;
+
diff --git a/src/scene-base.ts b/src/scene-base.ts
index 48b7238387c..1d7a2518300 100644
--- a/src/scene-base.ts
+++ b/src/scene-base.ts
@@ -1,6 +1,19 @@
export const legacyCompatibleImages: string[] = [];
export class SceneBase extends Phaser.Scene {
+ /**
+ * Since everything is scaled up by 6 by default using the game.canvas is annoying
+ * Until such point that we use the canvas normally, this will be easier than
+ * having to divide every width and heigh by 6 to position and scale the ui
+ * @readonly
+ * @defaultValue
+ * width: `320`
+ * height: `180`
+ */
+ public readonly scaledCanvas = {
+ width: 1920 / 6,
+ height: 1080 / 6
+ };
constructor(config?: string | Phaser.Types.Scenes.SettingsConfig) {
super(config);
}
diff --git a/src/system/achv.ts b/src/system/achv.ts
index f52d547a53f..dda6e5c511b 100644
--- a/src/system/achv.ts
+++ b/src/system/achv.ts
@@ -1,8 +1,11 @@
import { Modifier } from "typescript";
import BattleScene from "../battle-scene";
import { TurnHeldItemTransferModifier } from "../modifier/modifier";
-import i18next from "../plugins/i18n";
+import i18next from "i18next";
import * as Utils from "../utils";
+import { PlayerGender } from "#enums/player-gender";
+import { ParseKeys } from "i18next";
+import { Challenge, SingleGenerationChallenge, SingleTypeChallenge } from "#app/data/challenge.js";
export enum AchvTier {
COMMON,
@@ -35,9 +38,19 @@ export class Achv {
this.localizationKey = localizationKey;
}
- getName(): string {
+ /**
+ * Get the name of the achievement based on the gender of the player
+ * @param playerGender - the gender of the player
+ * @returns the name of the achievement localized for the player gender
+ */
+ getName(playerGender: PlayerGender): string {
+ const prefix = playerGender === PlayerGender.FEMALE ?"PGF" : "PGM";
// Localization key is used to get the name of the achievement
- return i18next.t(`achv:${this.localizationKey}.name`);
+ return i18next.t(`${prefix}achv:${this.localizationKey}.name` as ParseKeys);
+ }
+
+ getDescription(): string {
+ return this.description;
}
getIconImage(): string {
@@ -122,6 +135,12 @@ export class ModifierAchv extends Achv {
}
}
+export class ChallengeAchv extends Achv {
+ constructor(localizationKey: string, name: string, description: string, iconImage: string, score: integer, challengeFunc: (challenge: Challenge) => boolean) {
+ super(localizationKey, name, description, iconImage, score, (_scene: BattleScene, args: any[]) => challengeFunc((args[0] as Challenge)));
+ }
+}
+
/**
* Get the description of an achievement from the localization file with all the necessary variables filled in
@@ -129,87 +148,134 @@ export class ModifierAchv extends Achv {
* @returns The description of the achievement
*/
export function getAchievementDescription(localizationKey: string): string {
+ // We need to get the player gender from the game data to add the correct prefix to the achievement name
+ let playerGender = PlayerGender.MALE;
+ if (this?.scene) {
+ playerGender = this.scene.gameData.gender;
+ }
+ let genderPrefix = "PGM";
+ if (playerGender === PlayerGender.FEMALE) {
+ genderPrefix = "PGF";
+ }
+
switch (localizationKey) {
case "10K_MONEY":
- return i18next.t("achv:MoneyAchv.description", {"moneyAmount": achvs._10K_MONEY.moneyAmount.toLocaleString("en-US")});
+ return i18next.t(`${genderPrefix}achv:MoneyAchv.description` as ParseKeys, {"moneyAmount": achvs._10K_MONEY.moneyAmount.toLocaleString("en-US")});
case "100K_MONEY":
- return i18next.t("achv:MoneyAchv.description", {"moneyAmount": achvs._100K_MONEY.moneyAmount.toLocaleString("en-US")});
+ return i18next.t(`${genderPrefix}achv:MoneyAchv.description` as ParseKeys, {"moneyAmount": achvs._100K_MONEY.moneyAmount.toLocaleString("en-US")});
case "1M_MONEY":
- return i18next.t("achv:MoneyAchv.description", {"moneyAmount": achvs._1M_MONEY.moneyAmount.toLocaleString("en-US")});
+ return i18next.t(`${genderPrefix}achv:MoneyAchv.description` as ParseKeys, {"moneyAmount": achvs._1M_MONEY.moneyAmount.toLocaleString("en-US")});
case "10M_MONEY":
- return i18next.t("achv:MoneyAchv.description", {"moneyAmount": achvs._10M_MONEY.moneyAmount.toLocaleString("en-US")});
+ return i18next.t(`${genderPrefix}achv:MoneyAchv.description` as ParseKeys, {"moneyAmount": achvs._10M_MONEY.moneyAmount.toLocaleString("en-US")});
case "250_DMG":
- return i18next.t("achv:DamageAchv.description", {"damageAmount": achvs._250_DMG.damageAmount.toLocaleString("en-US")});
+ return i18next.t(`${genderPrefix}achv:DamageAchv.description` as ParseKeys, {"damageAmount": achvs._250_DMG.damageAmount.toLocaleString("en-US")});
case "1000_DMG":
- return i18next.t("achv:DamageAchv.description", {"damageAmount": achvs._1000_DMG.damageAmount.toLocaleString("en-US")});
+ return i18next.t(`${genderPrefix}achv:DamageAchv.description` as ParseKeys, {"damageAmount": achvs._1000_DMG.damageAmount.toLocaleString("en-US")});
case "2500_DMG":
- return i18next.t("achv:DamageAchv.description", {"damageAmount": achvs._2500_DMG.damageAmount.toLocaleString("en-US")});
+ return i18next.t(`${genderPrefix}achv:DamageAchv.description` as ParseKeys, {"damageAmount": achvs._2500_DMG.damageAmount.toLocaleString("en-US")});
case "10000_DMG":
- return i18next.t("achv:DamageAchv.description", {"damageAmount": achvs._10000_DMG.damageAmount.toLocaleString("en-US")});
+ return i18next.t(`${genderPrefix}achv:DamageAchv.description` as ParseKeys, {"damageAmount": achvs._10000_DMG.damageAmount.toLocaleString("en-US")});
case "250_HEAL":
- return i18next.t("achv:HealAchv.description", {"healAmount": achvs._250_HEAL.healAmount.toLocaleString("en-US"), "HP": i18next.t("pokemonInfo:Stat.HPshortened")});
+ return i18next.t(`${genderPrefix}achv:HealAchv.description` as ParseKeys, {"healAmount": achvs._250_HEAL.healAmount.toLocaleString("en-US"), "HP": i18next.t("pokemonInfo:Stat.HPshortened")});
case "1000_HEAL":
- return i18next.t("achv:HealAchv.description", {"healAmount": achvs._1000_HEAL.healAmount.toLocaleString("en-US"), "HP": i18next.t("pokemonInfo:Stat.HPshortened")});
+ return i18next.t(`${genderPrefix}achv:HealAchv.description` as ParseKeys, {"healAmount": achvs._1000_HEAL.healAmount.toLocaleString("en-US"), "HP": i18next.t("pokemonInfo:Stat.HPshortened")});
case "2500_HEAL":
- return i18next.t("achv:HealAchv.description", {"healAmount": achvs._2500_HEAL.healAmount.toLocaleString("en-US"), "HP": i18next.t("pokemonInfo:Stat.HPshortened")});
+ return i18next.t(`${genderPrefix}achv:HealAchv.description` as ParseKeys, {"healAmount": achvs._2500_HEAL.healAmount.toLocaleString("en-US"), "HP": i18next.t("pokemonInfo:Stat.HPshortened")});
case "10000_HEAL":
- return i18next.t("achv:HealAchv.description", {"healAmount": achvs._10000_HEAL.healAmount.toLocaleString("en-US"), "HP": i18next.t("pokemonInfo:Stat.HPshortened")});
+ return i18next.t(`${genderPrefix}achv:HealAchv.description` as ParseKeys, {"healAmount": achvs._10000_HEAL.healAmount.toLocaleString("en-US"), "HP": i18next.t("pokemonInfo:Stat.HPshortened")});
case "LV_100":
- return i18next.t("achv:LevelAchv.description", {"level": achvs.LV_100.level});
+ return i18next.t(`${genderPrefix}achv:LevelAchv.description` as ParseKeys, {"level": achvs.LV_100.level});
case "LV_250":
- return i18next.t("achv:LevelAchv.description", {"level": achvs.LV_250.level});
+ return i18next.t(`${genderPrefix}achv:LevelAchv.description` as ParseKeys, {"level": achvs.LV_250.level});
case "LV_1000":
- return i18next.t("achv:LevelAchv.description", {"level": achvs.LV_1000.level});
+ return i18next.t(`${genderPrefix}achv:LevelAchv.description` as ParseKeys, {"level": achvs.LV_1000.level});
case "10_RIBBONS":
- return i18next.t("achv:RibbonAchv.description", {"ribbonAmount": achvs._10_RIBBONS.ribbonAmount.toLocaleString("en-US")});
+ return i18next.t(`${genderPrefix}achv:RibbonAchv.description` as ParseKeys, {"ribbonAmount": achvs._10_RIBBONS.ribbonAmount.toLocaleString("en-US")});
case "25_RIBBONS":
- return i18next.t("achv:RibbonAchv.description", {"ribbonAmount": achvs._25_RIBBONS.ribbonAmount.toLocaleString("en-US")});
+ return i18next.t(`${genderPrefix}achv:RibbonAchv.description` as ParseKeys, {"ribbonAmount": achvs._25_RIBBONS.ribbonAmount.toLocaleString("en-US")});
case "50_RIBBONS":
- return i18next.t("achv:RibbonAchv.description", {"ribbonAmount": achvs._50_RIBBONS.ribbonAmount.toLocaleString("en-US")});
+ return i18next.t(`${genderPrefix}achv:RibbonAchv.description` as ParseKeys, {"ribbonAmount": achvs._50_RIBBONS.ribbonAmount.toLocaleString("en-US")});
case "75_RIBBONS":
- return i18next.t("achv:RibbonAchv.description", {"ribbonAmount": achvs._75_RIBBONS.ribbonAmount.toLocaleString("en-US")});
+ return i18next.t(`${genderPrefix}achv:RibbonAchv.description` as ParseKeys, {"ribbonAmount": achvs._75_RIBBONS.ribbonAmount.toLocaleString("en-US")});
case "100_RIBBONS":
- return i18next.t("achv:RibbonAchv.description", {"ribbonAmount": achvs._100_RIBBONS.ribbonAmount.toLocaleString("en-US")});
+ return i18next.t(`${genderPrefix}achv:RibbonAchv.description` as ParseKeys, {"ribbonAmount": achvs._100_RIBBONS.ribbonAmount.toLocaleString("en-US")});
case "TRANSFER_MAX_BATTLE_STAT":
- return i18next.t("achv:TRANSFER_MAX_BATTLE_STAT.description");
+ return i18next.t(`${genderPrefix}achv:TRANSFER_MAX_BATTLE_STAT.description` as ParseKeys);
case "MAX_FRIENDSHIP":
- return i18next.t("achv:MAX_FRIENDSHIP.description");
+ return i18next.t(`${genderPrefix}achv:MAX_FRIENDSHIP.description` as ParseKeys);
case "MEGA_EVOLVE":
- return i18next.t("achv:MEGA_EVOLVE.description");
+ return i18next.t(`${genderPrefix}achv:MEGA_EVOLVE.description` as ParseKeys);
case "GIGANTAMAX":
- return i18next.t("achv:GIGANTAMAX.description");
+ return i18next.t(`${genderPrefix}achv:GIGANTAMAX.description` as ParseKeys);
case "TERASTALLIZE":
- return i18next.t("achv:TERASTALLIZE.description");
+ return i18next.t(`${genderPrefix}achv:TERASTALLIZE.description` as ParseKeys);
case "STELLAR_TERASTALLIZE":
- return i18next.t("achv:STELLAR_TERASTALLIZE.description");
+ return i18next.t(`${genderPrefix}achv:STELLAR_TERASTALLIZE.description` as ParseKeys);
case "SPLICE":
- return i18next.t("achv:SPLICE.description");
+ return i18next.t(`${genderPrefix}achv:SPLICE.description` as ParseKeys);
case "MINI_BLACK_HOLE":
- return i18next.t("achv:MINI_BLACK_HOLE.description");
+ return i18next.t(`${genderPrefix}achv:MINI_BLACK_HOLE.description` as ParseKeys);
case "CATCH_MYTHICAL":
- return i18next.t("achv:CATCH_MYTHICAL.description");
+ return i18next.t(`${genderPrefix}achv:CATCH_MYTHICAL.description` as ParseKeys);
case "CATCH_SUB_LEGENDARY":
- return i18next.t("achv:CATCH_SUB_LEGENDARY.description");
+ return i18next.t(`${genderPrefix}achv:CATCH_SUB_LEGENDARY.description` as ParseKeys);
case "CATCH_LEGENDARY":
- return i18next.t("achv:CATCH_LEGENDARY.description");
+ return i18next.t(`${genderPrefix}achv:CATCH_LEGENDARY.description` as ParseKeys);
case "SEE_SHINY":
- return i18next.t("achv:SEE_SHINY.description");
+ return i18next.t(`${genderPrefix}achv:SEE_SHINY.description` as ParseKeys);
case "SHINY_PARTY":
- return i18next.t("achv:SHINY_PARTY.description");
+ return i18next.t(`${genderPrefix}achv:SHINY_PARTY.description` as ParseKeys);
case "HATCH_MYTHICAL":
- return i18next.t("achv:HATCH_MYTHICAL.description");
+ return i18next.t(`${genderPrefix}achv:HATCH_MYTHICAL.description` as ParseKeys);
case "HATCH_SUB_LEGENDARY":
- return i18next.t("achv:HATCH_SUB_LEGENDARY.description");
+ return i18next.t(`${genderPrefix}achv:HATCH_SUB_LEGENDARY.description` as ParseKeys);
case "HATCH_LEGENDARY":
- return i18next.t("achv:HATCH_LEGENDARY.description");
+ return i18next.t(`${genderPrefix}achv:HATCH_LEGENDARY.description` as ParseKeys);
case "HATCH_SHINY":
- return i18next.t("achv:HATCH_SHINY.description");
+ return i18next.t(`${genderPrefix}achv:HATCH_SHINY.description` as ParseKeys);
case "HIDDEN_ABILITY":
- return i18next.t("achv:HIDDEN_ABILITY.description");
+ return i18next.t(`${genderPrefix}achv:HIDDEN_ABILITY.description` as ParseKeys);
case "PERFECT_IVS":
- return i18next.t("achv:PERFECT_IVS.description");
+ return i18next.t(`${genderPrefix}achv:PERFECT_IVS.description` as ParseKeys);
case "CLASSIC_VICTORY":
- return i18next.t("achv:CLASSIC_VICTORY.description");
+ return i18next.t(`${genderPrefix}achv:CLASSIC_VICTORY.description` as ParseKeys);
+ case "MONO_GEN_ONE":
+ return i18next.t(`${genderPrefix}achv:MONO_GEN_ONE.description` as ParseKeys);
+ case "MONO_GEN_TWO":
+ return i18next.t(`${genderPrefix}achv:MONO_GEN_TWO.description` as ParseKeys);
+ case "MONO_GEN_THREE":
+ return i18next.t(`${genderPrefix}achv:MONO_GEN_THREE.description` as ParseKeys);
+ case "MONO_GEN_FOUR":
+ return i18next.t(`${genderPrefix}achv:MONO_GEN_FOUR.description` as ParseKeys);
+ case "MONO_GEN_FIVE":
+ return i18next.t(`${genderPrefix}achv:MONO_GEN_FIVE.description` as ParseKeys);
+ case "MONO_GEN_SIX":
+ return i18next.t(`${genderPrefix}achv:MONO_GEN_SIX.description` as ParseKeys);
+ case "MONO_GEN_SEVEN":
+ return i18next.t(`${genderPrefix}achv:MONO_GEN_SEVEN.description` as ParseKeys);
+ case "MONO_GEN_EIGHT":
+ return i18next.t(`${genderPrefix}achv:MONO_GEN_EIGHT.description` as ParseKeys);
+ case "MONO_GEN_NINE":
+ return i18next.t(`${genderPrefix}achv:MONO_GEN_NINE.description` as ParseKeys);
+ case "MONO_NORMAL":
+ case "MONO_FIGHTING":
+ case "MONO_FLYING":
+ case "MONO_POISON":
+ case "MONO_GROUND":
+ case "MONO_ROCK":
+ case "MONO_BUG":
+ case "MONO_GHOST":
+ case "MONO_STEEL":
+ case "MONO_FIRE":
+ case "MONO_WATER":
+ case "MONO_GRASS":
+ case "MONO_ELECTRIC":
+ case "MONO_PSYCHIC":
+ case "MONO_ICE":
+ case "MONO_DRAGON":
+ case "MONO_DARK":
+ case "MONO_FAIRY":
+ return i18next.t(`${genderPrefix}achv:MonoType.description` as ParseKeys, {"type": i18next.t(`pokemonInfo:Type.${localizationKey.slice(5)}`)});
default:
return "";
}
@@ -237,36 +303,61 @@ export const achvs = {
_50_RIBBONS: new RibbonAchv("50_RIBBONS","", 50, "ultra_ribbon", 50).setSecret(true),
_75_RIBBONS: new RibbonAchv("75_RIBBONS","", 75, "rogue_ribbon", 75).setSecret(true),
_100_RIBBONS: new RibbonAchv("100_RIBBONS","", 100, "master_ribbon", 100).setSecret(true),
- TRANSFER_MAX_BATTLE_STAT: new Achv("TRANSFER_MAX_BATTLE_STAT","", "TRANSFER_MAX_BATTLE_STAT.description", "stick", 20),
- MAX_FRIENDSHIP: new Achv("MAX_FRIENDSHIP", "", "MAX_FRIENDSHIP.description", "soothe_bell", 25),
- MEGA_EVOLVE: new Achv("MEGA_EVOLVE", "", "MEGA_EVOLVE.description", "mega_bracelet", 50),
- GIGANTAMAX: new Achv("GIGANTAMAX", "", "GIGANTAMAX.description", "dynamax_band", 50),
- TERASTALLIZE: new Achv("TERASTALLIZE","", "TERASTALLIZE.description", "tera_orb", 25),
- STELLAR_TERASTALLIZE: new Achv("STELLAR_TERASTALLIZE", "", "STELLAR_TERASTALLIZE.description", "stellar_tera_shard", 25).setSecret(true),
- SPLICE: new Achv("SPLICE","", "SPLICE.description", "dna_splicers", 10),
- MINI_BLACK_HOLE: new ModifierAchv("MINI_BLACK_HOLE","", "MINI_BLACK_HOLE.description", "mini_black_hole", 25, modifier => modifier instanceof TurnHeldItemTransferModifier).setSecret(),
- CATCH_MYTHICAL: new Achv("CATCH_MYTHICAL","", "CATCH_MYTHICAL.description", "strange_ball", 50).setSecret(),
- CATCH_SUB_LEGENDARY: new Achv("CATCH_SUB_LEGENDARY","", "CATCH_SUB_LEGENDARY.description", "rb", 75).setSecret(),
- CATCH_LEGENDARY: new Achv("CATCH_LEGENDARY", "", "CATCH_LEGENDARY.description", "mb", 100).setSecret(),
- SEE_SHINY: new Achv("SEE_SHINY", "", "SEE_SHINY.description", "pb_gold", 75),
- SHINY_PARTY: new Achv("SHINY_PARTY", "", "SHINY_PARTY.description", "shiny_charm", 100).setSecret(true),
- HATCH_MYTHICAL: new Achv("HATCH_MYTHICAL", "", "HATCH_MYTHICAL.description", "pair_of_tickets", 75).setSecret(),
- HATCH_SUB_LEGENDARY: new Achv("HATCH_SUB_LEGENDARY","", "HATCH_SUB_LEGENDARY.description", "mystic_ticket", 100).setSecret(),
- HATCH_LEGENDARY: new Achv("HATCH_LEGENDARY","", "HATCH_LEGENDARY.description", "mystic_ticket", 125).setSecret(),
- HATCH_SHINY: new Achv("HATCH_SHINY","", "HATCH_SHINY.description", "golden_mystic_ticket", 100).setSecret(),
- HIDDEN_ABILITY: new Achv("HIDDEN_ABILITY","", "HIDDEN_ABILITY.description", "ability_charm", 75),
- PERFECT_IVS: new Achv("PERFECT_IVS","", "PERFECT_IVS.description", "blunder_policy", 100),
- CLASSIC_VICTORY: new Achv("CLASSIC_VICTORY","", "CLASSIC_VICTORY.description", "relic_crown", 150),
+ TRANSFER_MAX_BATTLE_STAT: new Achv("TRANSFER_MAX_BATTLE_STAT","", "TRANSFER_MAX_BATTLE_STAT.description","stick", 20),
+ MAX_FRIENDSHIP: new Achv("MAX_FRIENDSHIP", "", "MAX_FRIENDSHIP.description","soothe_bell", 25),
+ MEGA_EVOLVE: new Achv("MEGA_EVOLVE", "", "MEGA_EVOLVE.description","mega_bracelet", 50),
+ GIGANTAMAX: new Achv("GIGANTAMAX", "", "GIGANTAMAX.description","dynamax_band", 50),
+ TERASTALLIZE: new Achv("TERASTALLIZE","", "TERASTALLIZE.description","tera_orb", 25),
+ STELLAR_TERASTALLIZE: new Achv("STELLAR_TERASTALLIZE", "", "STELLAR_TERASTALLIZE.description","stellar_tera_shard", 25).setSecret(true),
+ SPLICE: new Achv("SPLICE","", "SPLICE.description","dna_splicers", 10),
+ MINI_BLACK_HOLE: new ModifierAchv("MINI_BLACK_HOLE","", "MINI_BLACK_HOLE.description","mini_black_hole", 25, modifier => modifier instanceof TurnHeldItemTransferModifier).setSecret(),
+ CATCH_MYTHICAL: new Achv("CATCH_MYTHICAL","", "CATCH_MYTHICAL.description","strange_ball", 50).setSecret(),
+ CATCH_SUB_LEGENDARY: new Achv("CATCH_SUB_LEGENDARY","", "CATCH_SUB_LEGENDARY.description","rb", 75).setSecret(),
+ CATCH_LEGENDARY: new Achv("CATCH_LEGENDARY", "", "CATCH_LEGENDARY.description","mb", 100).setSecret(),
+ SEE_SHINY: new Achv("SEE_SHINY", "", "SEE_SHINY.description","pb_gold", 75),
+ SHINY_PARTY: new Achv("SHINY_PARTY", "", "SHINY_PARTY.description","shiny_charm", 100).setSecret(true),
+ HATCH_MYTHICAL: new Achv("HATCH_MYTHICAL", "", "HATCH_MYTHICAL.description","mystery_egg", 75).setSecret(),
+ HATCH_SUB_LEGENDARY: new Achv("HATCH_SUB_LEGENDARY","", "HATCH_SUB_LEGENDARY.description","oval_stone", 100).setSecret(),
+ HATCH_LEGENDARY: new Achv("HATCH_LEGENDARY","", "HATCH_LEGENDARY.description","lucky_egg", 125).setSecret(),
+ HATCH_SHINY: new Achv("HATCH_SHINY","", "HATCH_SHINY.description","golden_egg", 100).setSecret(),
+ HIDDEN_ABILITY: new Achv("HIDDEN_ABILITY","", "HIDDEN_ABILITY.description","ability_charm", 75),
+ PERFECT_IVS: new Achv("PERFECT_IVS","", "PERFECT_IVS.description","blunder_policy", 100),
+ CLASSIC_VICTORY: new Achv("CLASSIC_VICTORY","", "CLASSIC_VICTORY.description","relic_crown", 150),
+ MONO_GEN_ONE_VICTORY: new ChallengeAchv("MONO_GEN_ONE","", "MONO_GEN_ONE.description", "mystic_ticket", 100, c => c instanceof SingleGenerationChallenge && c.value === 1),
+ MONO_GEN_TWO_VICTORY: new ChallengeAchv("MONO_GEN_TWO","", "MONO_GEN_TWO.description", "mystic_ticket", 100, c => c instanceof SingleGenerationChallenge && c.value === 2),
+ MONO_GEN_THREE_VICTORY: new ChallengeAchv("MONO_GEN_THREE","", "MONO_GEN_THREE.description", "mystic_ticket", 100, c => c instanceof SingleGenerationChallenge && c.value === 3),
+ MONO_GEN_FOUR_VICTORY: new ChallengeAchv("MONO_GEN_FOUR","", "MONO_GEN_FOUR.description", "mystic_ticket", 100, c => c instanceof SingleGenerationChallenge && c.value === 4),
+ MONO_GEN_FIVE_VICTORY: new ChallengeAchv("MONO_GEN_FIVE","", "MONO_GEN_FIVE.description", "mystic_ticket", 100, c => c instanceof SingleGenerationChallenge && c.value === 5),
+ MONO_GEN_SIX_VICTORY: new ChallengeAchv("MONO_GEN_SIX","", "MONO_GEN_SIX.description", "mystic_ticket", 100, c => c instanceof SingleGenerationChallenge && c.value === 6),
+ MONO_GEN_SEVEN_VICTORY: new ChallengeAchv("MONO_GEN_SEVEN","", "MONO_GEN_SEVEN.description", "mystic_ticket", 100, c => c instanceof SingleGenerationChallenge && c.value === 7),
+ MONO_GEN_EIGHT_VICTORY: new ChallengeAchv("MONO_GEN_EIGHT","", "MONO_GEN_EIGHT.description", "mystic_ticket", 100, c => c instanceof SingleGenerationChallenge && c.value === 8),
+ MONO_GEN_NINE_VICTORY: new ChallengeAchv("MONO_GEN_NINE","", "MONO_GEN_NINE.description", "mystic_ticket", 100, c => c instanceof SingleGenerationChallenge && c.value === 9),
+ MONO_NORMAL: new ChallengeAchv("MONO_NORMAL","", "MONO_NORMAL.description", "silk_scarf", 100, c => c instanceof SingleTypeChallenge && c.value === 1),
+ MONO_FIGHTING: new ChallengeAchv("MONO_FIGHTING","", "MONO_FIGHTING.description", "black_belt", 100, c => c instanceof SingleTypeChallenge && c.value === 2),
+ MONO_FLYING: new ChallengeAchv("MONO_FLYING","", "MONO_FLYING.description", "sharp_beak", 100, c => c instanceof SingleTypeChallenge && c.value === 3),
+ MONO_POISON: new ChallengeAchv("MONO_POISON","", "MONO_POISON.description", "poison_barb", 100, c => c instanceof SingleTypeChallenge && c.value === 4),
+ MONO_GROUND: new ChallengeAchv("MONO_GROUND","", "MONO_GROUND.description", "soft_sand", 100, c => c instanceof SingleTypeChallenge && c.value === 5),
+ MONO_ROCK: new ChallengeAchv("MONO_ROCK","", "MONO_ROCK.description", "hard_stone", 100, c => c instanceof SingleTypeChallenge && c.value === 6),
+ MONO_BUG: new ChallengeAchv("MONO_BUG","", "MONO_BUG.description", "silver_powder", 100, c => c instanceof SingleTypeChallenge && c.value === 7),
+ MONO_GHOST: new ChallengeAchv("MONO_GHOST","", "MONO_GHOST.description", "spell_tag", 100, c => c instanceof SingleTypeChallenge && c.value === 8),
+ MONO_STEEL: new ChallengeAchv("MONO_STEEL","", "MONO_STEEL.description", "metal_coat", 100, c => c instanceof SingleTypeChallenge && c.value === 9),
+ MONO_FIRE: new ChallengeAchv("MONO_FIRE","", "MONO_FIRE.description", "charcoal", 100, c => c instanceof SingleTypeChallenge && c.value === 10),
+ MONO_WATER: new ChallengeAchv("MONO_WATER","", "MONO_WATER.description", "mystic_water", 100, c => c instanceof SingleTypeChallenge && c.value === 11),
+ MONO_GRASS: new ChallengeAchv("MONO_GRASS","", "MONO_GRASS.description", "miracle_seed", 100, c => c instanceof SingleTypeChallenge && c.value === 12),
+ MONO_ELECTRIC: new ChallengeAchv("MONO_ELECTRIC","", "MONO_ELECTRIC.description", "magnet", 100, c => c instanceof SingleTypeChallenge && c.value === 13),
+ MONO_PSYCHIC: new ChallengeAchv("MONO_PSYCHIC","", "MONO_PSYCHIC.description", "twisted_spoon", 100, c => c instanceof SingleTypeChallenge && c.value === 14),
+ MONO_ICE: new ChallengeAchv("MONO_ICE","", "MONO_ICE.description", "never_melt_ice", 100, c => c instanceof SingleTypeChallenge && c.value === 15),
+ MONO_DRAGON: new ChallengeAchv("MONO_DRAGON","", "MONO_DRAGON.description", "dragon_fang", 100, c => c instanceof SingleTypeChallenge && c.value === 16),
+ MONO_DARK: new ChallengeAchv("MONO_DARK","", "MONO_DARK.description", "black_glasses", 100, c => c instanceof SingleTypeChallenge && c.value === 17),
+ MONO_FAIRY: new ChallengeAchv("MONO_FAIRY","", "MONO_FAIRY.description", "fairy_feather", 100, c => c instanceof SingleTypeChallenge && c.value === 18),
};
-{
- (function() {
- const achvKeys = Object.keys(achvs);
- achvKeys.forEach((a: string, i: integer) => {
- achvs[a].id = a;
- if (achvs[a].hasParent) {
- achvs[a].parentId = achvKeys[i - 1];
- }
- });
- })();
+export function initAchievements() {
+ const achvKeys = Object.keys(achvs);
+ achvKeys.forEach((a: string, i: integer) => {
+ achvs[a].id = a;
+ if (achvs[a].hasParent) {
+ achvs[a].parentId = achvKeys[i - 1];
+ }
+ });
}
diff --git a/src/system/arena-data.ts b/src/system/arena-data.ts
index 2b2aa01bec6..f6db53d7f7f 100644
--- a/src/system/arena-data.ts
+++ b/src/system/arena-data.ts
@@ -1,17 +1,20 @@
import { Arena } from "../field/arena";
import { ArenaTag } from "../data/arena-tag";
-import { Biome } from "../data/enums/biome";
+import { Biome } from "#enums/biome";
import { Weather } from "../data/weather";
+import { Terrain } from "#app/data/terrain.js";
export default class ArenaData {
public biome: Biome;
public weather: Weather;
+ public terrain: Terrain;
public tags: ArenaTag[];
constructor(source: Arena | any) {
const sourceArena = source instanceof Arena ? source as Arena : null;
this.biome = sourceArena ? sourceArena.biomeType : source.biome;
this.weather = sourceArena ? sourceArena.weather : source.weather ? new Weather(source.weather.weatherType, source.weather.turnsLeft) : undefined;
+ this.terrain = sourceArena ? sourceArena.terrain : source.terrain ? new Terrain(source.terrain.terrainType, source.terrain.turnsLeft) : undefined;
this.tags = sourceArena ? sourceArena.tags : [];
}
}
diff --git a/src/system/challenge-data.ts b/src/system/challenge-data.ts
new file mode 100644
index 00000000000..69df11dd395
--- /dev/null
+++ b/src/system/challenge-data.ts
@@ -0,0 +1,17 @@
+import { Challenge, copyChallenge } from "#app/data/challenge.js";
+
+export default class ChallengeData {
+ public id: integer;
+ public value: integer;
+ public severity: integer;
+
+ constructor(source: Challenge | any) {
+ this.id = source.id;
+ this.value = source.value;
+ this.severity = source.severity;
+ }
+
+ toChallenge(): Challenge {
+ return copyChallenge(this);
+ }
+}
diff --git a/src/system/egg-data.ts b/src/system/egg-data.ts
index 9bacb357035..b4bd4368bd9 100644
--- a/src/system/egg-data.ts
+++ b/src/system/egg-data.ts
@@ -1,20 +1,49 @@
-import { Egg, GachaType } from "../data/egg";
+import { EggTier } from "#enums/egg-type";
+import { Species } from "#enums/species";
+import { VariantTier } from "#enums/variant-tiers";
+import { EGG_SEED, Egg } from "../data/egg";
+import { EggSourceType } from "#app/enums/egg-source-types.js";
export default class EggData {
public id: integer;
- public gachaType: GachaType;
+ public tier: EggTier;
+ public sourceType: EggSourceType;
public hatchWaves: integer;
public timestamp: integer;
+ public variantTier: VariantTier;
+ public isShiny: boolean;
+ public species: Species;
+ public eggMoveIndex: number;
+ public overrideHiddenAbility: boolean;
constructor(source: Egg | any) {
const sourceEgg = source instanceof Egg ? source as Egg : null;
this.id = sourceEgg ? sourceEgg.id : source.id;
- this.gachaType = sourceEgg ? sourceEgg.gachaType : source.gachaType;
+ this.tier = sourceEgg ? sourceEgg.tier : (source.tier ?? Math.floor(this.id / EGG_SEED));
+ // legacy egg
+ if (source.species === 0) {
+ // check if it has a gachaType (deprecated)
+ this.sourceType = source.gachaType ?? source.sourceType;
+ } else {
+ this.sourceType = sourceEgg ? sourceEgg.sourceType : source.sourceType;
+ }
this.hatchWaves = sourceEgg ? sourceEgg.hatchWaves : source.hatchWaves;
this.timestamp = sourceEgg ? sourceEgg.timestamp : source.timestamp;
+ this.variantTier = sourceEgg ? sourceEgg.variantTier : source.variantTier;
+ this.isShiny = sourceEgg ? sourceEgg.isShiny : source.isShiny;
+ this.species = sourceEgg ? sourceEgg.species : source.species;
+ this.eggMoveIndex = sourceEgg ? sourceEgg.eggMoveIndex : source.eggMoveIndex;
+ this.overrideHiddenAbility = sourceEgg ? sourceEgg.overrideHiddenAbility : source.overrideHiddenAbility;
}
toEgg(): Egg {
- return new Egg(this.id, this.gachaType, this.hatchWaves, this.timestamp);
+ // Species will be 0 if an old legacy is loaded from DB
+ if (!this.species) {
+ return new Egg({ id: this.id, hatchWaves: this.hatchWaves, sourceType: this.sourceType, timestamp: this.timestamp, tier: Math.floor(this.id / EGG_SEED) });
+ } else {
+ return new Egg({id: this.id, tier: this.tier, sourceType: this.sourceType, hatchWaves: this.hatchWaves,
+ timestamp: this.timestamp, variantTier: this.variantTier, isShiny: this.isShiny, species: this.species,
+ eggMoveIndex: this.eggMoveIndex, overrideHiddenAbility: this.overrideHiddenAbility });
+ }
}
}
diff --git a/src/system/game-data.ts b/src/system/game-data.ts
index 0b81c4014b5..ac54c942fc7 100644
--- a/src/system/game-data.ts
+++ b/src/system/game-data.ts
@@ -1,15 +1,15 @@
+import i18next from "i18next";
import BattleScene, { PokeballCounts, bypassLogin } from "../battle-scene";
import Pokemon, { EnemyPokemon, PlayerPokemon } from "../field/pokemon";
import { pokemonEvolutions, pokemonPrevolutions } from "../data/pokemon-evolutions";
import PokemonSpecies, { allSpecies, getPokemonSpecies, noStarterFormKeys, speciesStarters } from "../data/pokemon-species";
-import { Species, defaultStarterSpecies } from "../data/enums/species";
import * as Utils from "../utils";
import * as Overrides from "../overrides";
import PokemonData from "./pokemon-data";
import PersistentModifierData from "./modifier-data";
import ArenaData from "./arena-data";
import { Unlockables } from "./unlockables";
-import { GameModes, gameModes } from "../game-mode";
+import { GameModes, getGameMode } from "../game-mode";
import { BattleType } from "../battle";
import TrainerData from "./trainer-data";
import { trainerConfigs } from "../data/trainer-config";
@@ -24,7 +24,6 @@ import { clientSessionId, loggedInUser, updateUserInfo } from "../account";
import { Nature } from "../data/nature";
import { GameStats } from "./game-stats";
import { Tutorial } from "../tutorial";
-import { Moves } from "../data/enums/moves";
import { speciesEggMoves } from "../data/egg-moves";
import { allMoves } from "../data/move";
import { TrainerVariant } from "../field/trainer";
@@ -32,32 +31,30 @@ import { OutdatedPhase, ReloadSessionPhase } from "#app/phases";
import { Variant, variantData } from "#app/data/variant";
import {setSettingGamepad, SettingGamepad, settingGamepadDefaults} from "./settings/settings-gamepad";
import {setSettingKeyboard, SettingKeyboard} from "#app/system/settings/settings-keyboard";
-import { TerrainChangedEvent, WeatherChangedEvent } from "#app/field/arena-events.js";
-import { Device } from "#app/enums/devices.js";
+import { TerrainChangedEvent, WeatherChangedEvent } from "#app/events/arena.js";
import { EnemyAttackStatusEffectChanceModifier } from "../modifier/modifier";
import { StatusEffect } from "#app/data/status-effect.js";
+import ChallengeData from "./challenge-data";
+import { Device } from "#enums/devices";
+import { GameDataType } from "#enums/game-data-type";
+import { Moves } from "#enums/moves";
+import { PlayerGender } from "#enums/player-gender";
+import { Species } from "#enums/species";
+
+export const defaultStarterSpecies: Species[] = [
+ Species.BULBASAUR, Species.CHARMANDER, Species.SQUIRTLE,
+ Species.CHIKORITA, Species.CYNDAQUIL, Species.TOTODILE,
+ Species.TREECKO, Species.TORCHIC, Species.MUDKIP,
+ Species.TURTWIG, Species.CHIMCHAR, Species.PIPLUP,
+ Species.SNIVY, Species.TEPIG, Species.OSHAWOTT,
+ Species.CHESPIN, Species.FENNEKIN, Species.FROAKIE,
+ Species.ROWLET, Species.LITTEN, Species.POPPLIO,
+ Species.GROOKEY, Species.SCORBUNNY, Species.SOBBLE,
+ Species.SPRIGATITO, Species.FUECOCO, Species.QUAXLY
+];
const saveKey = "x0i2O7WRiANTqPmZ"; // Temporary; secure encryption is not yet necessary
-export enum GameDataType {
- SYSTEM,
- SESSION,
- SETTINGS,
- TUTORIALS,
- SEEN_DIALOGUES
-}
-
-export enum PlayerGender {
- UNSET,
- MALE,
- FEMALE
-}
-
-export enum Passive {
- UNLOCKED = 1,
- ENABLED = 2
-}
-
export function getDataTypeKey(dataType: GameDataType, slotId: integer = 0): string {
switch (dataType) {
case GameDataType.SYSTEM:
@@ -77,13 +74,13 @@ export function getDataTypeKey(dataType: GameDataType, slotId: integer = 0): str
}
}
-function encrypt(data: string, bypassLogin: boolean): string {
+export function encrypt(data: string, bypassLogin: boolean): string {
return (bypassLogin
? (data: string) => btoa(data)
: (data: string) => AES.encrypt(data, saveKey))(data);
}
-function decrypt(data: string, bypassLogin: boolean): string {
+export function decrypt(data: string, bypassLogin: boolean): string {
return (bypassLogin
? (data: string) => atob(data)
: (data: string) => AES.decrypt(data, saveKey).toString(enc.Utf8))(data);
@@ -124,6 +121,7 @@ export interface SessionSaveData {
trainer: TrainerData;
gameVersion: string;
timestamp: integer;
+ challenges: ChallengeData[];
}
interface Unlocks {
@@ -139,7 +137,7 @@ interface VoucherUnlocks {
}
export interface VoucherCounts {
- [type: string]: integer;
+ [type: string]: integer;
}
export interface DexData {
@@ -190,6 +188,46 @@ export interface StarterMoveData {
[key: integer]: StarterMoveset | StarterFormMoveData
}
+export interface StarterAttributes {
+ nature?: integer;
+ ability?: integer;
+ variant?: integer;
+ form?: integer;
+ female?: boolean;
+}
+
+export interface StarterPreferences {
+ [key: integer]: StarterAttributes;
+}
+
+// the latest data saved/loaded for the Starter Preferences. Required to reduce read/writes. Initialize as "{}", since this is the default value and no data needs to be stored if present.
+// if they ever add private static variables, move this into StarterPrefs
+const StarterPrefers_DEFAULT : string = "{}";
+let StarterPrefers_private_latest : string = StarterPrefers_DEFAULT;
+
+// This is its own class as StarterPreferences...
+// - don't need to be loaded on startup
+// - isn't stored with other data
+// - don't require to be encrypted
+// - shouldn't require calls outside of the starter selection
+export class StarterPrefs {
+ // called on starter selection show once
+ static load(): StarterPreferences {
+ return JSON.parse(
+ StarterPrefers_private_latest = (localStorage.getItem(`starterPrefs_${loggedInUser?.username}`) || StarterPrefers_DEFAULT)
+ );
+ }
+
+ // called on starter selection clear, always
+ static save(prefs: StarterPreferences): void {
+ const pStr : string = JSON.stringify(prefs);
+ if (pStr !== StarterPrefers_private_latest) {
+ // something changed, store the update
+ localStorage.setItem(`starterPrefs_${loggedInUser?.username}`, pStr);
+ }
+ }
+}
+
export interface StarterDataEntry {
moveset: StarterMoveset | StarterFormMoveData;
eggMoves: integer;
@@ -316,7 +354,7 @@ export class GameData {
localStorage.setItem(`data_${loggedInUser.username}`, encrypt(systemData, bypassLogin));
if (!bypassLogin) {
- Utils.apiPost(`savedata/update?datatype=${GameDataType.SYSTEM}&clientSessionId=${clientSessionId}`, systemData, undefined, true)
+ Utils.apiPost(`savedata/system/update?clientSessionId=${clientSessionId}`, systemData, undefined, true)
.then(response => response.text())
.then(error => {
this.scene.ui.savingIcon.hide();
@@ -350,7 +388,7 @@ export class GameData {
}
if (!bypassLogin) {
- Utils.apiFetch(`savedata/system?clientSessionId=${clientSessionId}`, true)
+ Utils.apiFetch(`savedata/system/get?clientSessionId=${clientSessionId}`, true)
.then(response => response.text())
.then(response => {
if (!response.length || response[0] !== "{") {
@@ -510,7 +548,7 @@ export class GameData {
});
}
- private parseSystemData(dataStr: string): SystemSaveData {
+ parseSystemData(dataStr: string): SystemSaveData {
return JSON.parse(dataStr, (k: string, v: any) => {
if (k === "gameStats") {
return new GameStats(v);
@@ -529,7 +567,7 @@ export class GameData {
}) as SystemSaveData;
}
- private convertSystemDataStr(dataStr: string, shorten: boolean = false): string {
+ convertSystemDataStr(dataStr: string, shorten: boolean = false): string {
if (!shorten) {
// Account for past key oversight
dataStr = dataStr.replace(/\$pAttr/g, "$pa");
@@ -548,7 +586,7 @@ export class GameData {
return true;
}
- const response = await Utils.apiPost("savedata/system/verify", JSON.stringify({ clientSessionId: clientSessionId }), undefined, true)
+ const response = await Utils.apiFetch(`savedata/system/verify?clientSessionId=${clientSessionId}`, true)
.then(response => response.json());
if (!response.valid) {
@@ -797,7 +835,8 @@ export class GameData {
battleType: scene.currentBattle.battleType,
trainer: scene.currentBattle.battleType === BattleType.TRAINER ? new TrainerData(scene.currentBattle.trainer) : null,
gameVersion: scene.game.config.gameVersion,
- timestamp: new Date().getTime()
+ timestamp: new Date().getTime(),
+ challenges: scene.gameMode.challenges.map(c => new ChallengeData(c))
} as SessionSaveData;
}
@@ -817,7 +856,7 @@ export class GameData {
};
if (!bypassLogin && !localStorage.getItem(`sessionData${slotId ? slotId : ""}_${loggedInUser.username}`)) {
- Utils.apiFetch(`savedata/session?slot=${slotId}&clientSessionId=${clientSessionId}`, true)
+ Utils.apiFetch(`savedata/session/get?slot=${slotId}&clientSessionId=${clientSessionId}`, true)
.then(response => response.text())
.then(async response => {
if (!response.length || response[0] !== "{") {
@@ -843,10 +882,13 @@ export class GameData {
loadSession(scene: BattleScene, slotId: integer, sessionData?: SessionSaveData): Promise {
return new Promise(async (resolve, reject) => {
try {
- const initSessionFromData = async sessionData => {
+ const initSessionFromData = async (sessionData: SessionSaveData) => {
console.debug(sessionData);
- scene.gameMode = gameModes[sessionData.gameMode || GameModes.CLASSIC];
+ scene.gameMode = getGameMode(sessionData.gameMode || GameModes.CLASSIC);
+ if (sessionData.challenges) {
+ scene.gameMode.challenges = sessionData.challenges.map(c => c.toChallenge());
+ }
scene.setSeed(sessionData.seed || scene.game.config.seed[0]);
scene.resetSeed();
@@ -962,7 +1004,7 @@ export class GameData {
if (success !== null && !success) {
return resolve(false);
}
- Utils.apiFetch(`savedata/delete?datatype=${GameDataType.SESSION}&slot=${slotId}&clientSessionId=${clientSessionId}`, true).then(response => {
+ Utils.apiFetch(`savedata/session/delete?slot=${slotId}&clientSessionId=${clientSessionId}`, true).then(response => {
if (response.ok) {
loggedInUser.lastSessionSlot = -1;
localStorage.removeItem(`sessionData${this.scene.sessionSlotId ? this.scene.sessionSlotId : ""}_${loggedInUser.username}`);
@@ -1026,7 +1068,7 @@ export class GameData {
return resolve([false, false]);
}
const sessionData = this.getSessionSaveData(scene);
- Utils.apiPost(`savedata/clear?slot=${slotId}&trainerId=${this.trainerId}&secretId=${this.secretId}&clientSessionId=${clientSessionId}`, JSON.stringify(sessionData), undefined, true).then(response => {
+ Utils.apiPost(`savedata/session/clear?slot=${slotId}&trainerId=${this.trainerId}&secretId=${this.secretId}&clientSessionId=${clientSessionId}`, JSON.stringify(sessionData), undefined, true).then(response => {
if (response.ok) {
loggedInUser.lastSessionSlot = -1;
localStorage.removeItem(`sessionData${this.scene.sessionSlotId ? this.scene.sessionSlotId : ""}_${loggedInUser.username}`);
@@ -1092,6 +1134,17 @@ export class GameData {
return new ArenaData(v);
}
+ if (k === "challenges") {
+ const ret: ChallengeData[] = [];
+ if (v === null) {
+ v = [];
+ }
+ for (const c of v) {
+ ret.push(new ChallengeData(c));
+ }
+ return ret;
+ }
+
return v;
}) as SessionSaveData;
}
@@ -1172,7 +1225,7 @@ export class GameData {
link.remove();
};
if (!bypassLogin && dataType < GameDataType.SETTINGS) {
- Utils.apiFetch(`savedata/${dataType === GameDataType.SYSTEM ? "system" : "session"}?clientSessionId=${clientSessionId}${dataType === GameDataType.SESSION ? `&slot=${slotId}` : ""}`, true)
+ Utils.apiFetch(`savedata/${dataType === GameDataType.SYSTEM ? "system" : "session"}/get?clientSessionId=${clientSessionId}${dataType === GameDataType.SESSION ? `&slot=${slotId}` : ""}`, true)
.then(response => response.text())
.then(response => {
if (!response.length || response[0] !== "{") {
@@ -1213,9 +1266,11 @@ export class GameData {
reader.onload = (_ => {
return e => {
+ let dataName: string;
let dataStr = AES.decrypt(e.target.result.toString(), saveKey).toString(enc.Utf8);
let valid = false;
try {
+ dataName = GameDataType[dataType].toLowerCase();
switch (dataType) {
case GameDataType.SYSTEM:
dataStr = this.convertSystemDataStr(dataStr);
@@ -1235,38 +1290,28 @@ export class GameData {
console.error(ex);
}
- let dataName: string;
- switch (dataType) {
- case GameDataType.SYSTEM:
- dataName = "save";
- break;
- case GameDataType.SESSION:
- dataName = "session";
- break;
- case GameDataType.SETTINGS:
- dataName = "settings";
- break;
- case GameDataType.TUTORIALS:
- dataName = "tutorials";
- break;
- }
-
const displayError = (error: string) => this.scene.ui.showText(error, null, () => this.scene.ui.showText(null, 0), Utils.fixedInt(1500));
if (!valid) {
return this.scene.ui.showText(`Your ${dataName} data could not be loaded. It may be corrupted.`, null, () => this.scene.ui.showText(null, 0), Utils.fixedInt(1500));
}
- this.scene.ui.revertMode();
+
this.scene.ui.showText(`Your ${dataName} data will be overridden and the page will reload. Proceed?`, null, () => {
this.scene.ui.setOverlayMode(Mode.CONFIRM, () => {
localStorage.setItem(dataKey, encrypt(dataStr, bypassLogin));
if (!bypassLogin && dataType < GameDataType.SETTINGS) {
updateUserInfo().then(success => {
- if (!success) {
+ if (!success[0]) {
return displayError(`Could not contact the server. Your ${dataName} data could not be imported.`);
}
- Utils.apiPost(`savedata/update?datatype=${dataType}${dataType === GameDataType.SESSION ? `&slot=${slotId}` : ""}&trainerId=${this.trainerId}&secretId=${this.secretId}&clientSessionId=${clientSessionId}`, dataStr, undefined, true)
+ let url: string;
+ if (dataType === GameDataType.SESSION) {
+ url = `savedata/session/update?slot=${slotId}&trainerId=${this.trainerId}&secretId=${this.secretId}&clientSessionId=${clientSessionId}`;
+ } else {
+ url = `savedata/system/update?trainerId=${this.trainerId}&secretId=${this.secretId}&clientSessionId=${clientSessionId}`;
+ }
+ Utils.apiPost(url, dataStr, undefined, true)
.then(response => response.text())
.then(error => {
if (error) {
@@ -1441,7 +1486,7 @@ export class GameData {
if (newCatch && speciesStarters.hasOwnProperty(species.speciesId)) {
this.scene.playSound("level_up_fanfare");
- this.scene.ui.showText(`${species.name} has been\nadded as a starter!`, null, () => checkPrevolution(), null, true);
+ this.scene.ui.showText(i18next.t("battle:addedAsAStarter", { pokemonName: species.name }), null, () => checkPrevolution(), null, true);
} else {
checkPrevolution();
}
@@ -1507,7 +1552,9 @@ export class GameData {
this.starterData[speciesId].eggMoves |= value;
this.scene.playSound("level_up_fanfare");
- this.scene.ui.showText(`${eggMoveIndex === 3 ? "Rare " : ""}Egg Move unlocked: ${allMoves[speciesEggMoves[speciesId][eggMoveIndex]].name}`, null, () => resolve(true), null, true);
+
+ const moveName = allMoves[speciesEggMoves[speciesId][eggMoveIndex]].name;
+ this.scene.ui.showText(eggMoveIndex === 3 ? i18next.t("egg:rareEggMoveUnlock", { moveName: moveName }) : i18next.t("egg:eggMoveUnlock", { moveName: moveName }), null, () => resolve(true), null, true);
});
}
diff --git a/src/system/modifier-data.ts b/src/system/modifier-data.ts
index d79206d89df..6f169280da1 100644
--- a/src/system/modifier-data.ts
+++ b/src/system/modifier-data.ts
@@ -5,7 +5,6 @@ import { GeneratedPersistentModifierType, ModifierTypeGenerator, getModifierType
export default class ModifierData {
private player: boolean;
private typeId: string;
- private typeGeneratorId: string;
private typePregenArgs: any[];
private args: any[];
private stackCount: integer;
@@ -16,7 +15,6 @@ export default class ModifierData {
const sourceModifier = source instanceof PersistentModifier ? source as PersistentModifier : null;
this.player = player;
this.typeId = sourceModifier ? sourceModifier.type.id : source.typeId;
- this.typeGeneratorId = sourceModifier ? sourceModifier.type.generatorId : source.typeGeneratorId;
if (sourceModifier) {
if ("getPregenArgs" in source.type) {
this.typePregenArgs = (source.type as GeneratedPersistentModifierType).getPregenArgs();
@@ -38,7 +36,6 @@ export default class ModifierData {
try {
let type = typeFunc();
type.id = this.typeId;
- type.generatorId = this.typeGeneratorId;
if (type instanceof ModifierTypeGenerator) {
type = (type as ModifierTypeGenerator).generateType(this.player ? scene.getParty() : scene.getEnemyField(), this.typePregenArgs);
diff --git a/src/system/pokemon-data.ts b/src/system/pokemon-data.ts
index 0aa72f97801..57f4c0aea93 100644
--- a/src/system/pokemon-data.ts
+++ b/src/system/pokemon-data.ts
@@ -1,17 +1,17 @@
import { BattleType } from "../battle";
import BattleScene from "../battle-scene";
-import { Biome } from "../data/enums/biome";
import { Gender } from "../data/gender";
import { Nature } from "../data/nature";
import { PokeballType } from "../data/pokeball";
import { getPokemonSpecies } from "../data/pokemon-species";
-import { Species } from "../data/enums/species";
import { Status } from "../data/status-effect";
import Pokemon, { EnemyPokemon, PokemonMove, PokemonSummonData } from "../field/pokemon";
import { TrainerSlot } from "../data/trainer-config";
-import { Moves } from "../data/enums/moves";
import { Variant } from "#app/data/variant";
import { loadBattlerTag } from "../data/battler-tags";
+import { Biome } from "#enums/biome";
+import { Moves } from "#enums/moves";
+import { Species } from "#enums/species";
export default class PokemonData {
public id: integer;
@@ -50,11 +50,12 @@ export default class PokemonData {
public fusionLuck: integer;
public boss: boolean;
+ public bossSegments?: integer;
public summonData: PokemonSummonData;
constructor(source: Pokemon | any, forHistory: boolean = false) {
- const sourcePokemon = source instanceof Pokemon ? source as Pokemon : null;
+ const sourcePokemon = source instanceof Pokemon ? source : null;
this.id = source.id;
this.player = sourcePokemon ? sourcePokemon.isPlayer() : source.player;
this.species = sourcePokemon ? sourcePokemon.species.speciesId : source.species;
@@ -96,6 +97,7 @@ export default class PokemonData {
if (!forHistory) {
this.boss = (source instanceof EnemyPokemon && !!source.bossSegments) || (!this.player && !!source.boss);
+ this.bossSegments = source.bossSegments;
}
if (sourcePokemon) {
@@ -121,6 +123,7 @@ export default class PokemonData {
this.summonData.disabledMove = source.summonData.disabledMove;
this.summonData.disabledTurns = source.summonData.disabledTurns;
this.summonData.abilitySuppressed = source.summonData.abilitySuppressed;
+ this.summonData.abilitiesApplied = source.summonData.abilitiesApplied;
this.summonData.ability = source.summonData.ability;
this.summonData.moveset = source.summonData.moveset?.map(m => PokemonMove.loadMove(m));
diff --git a/src/system/settings/settings-gamepad.ts b/src/system/settings/settings-gamepad.ts
index 909b78ffe6f..5dd94b780a0 100644
--- a/src/system/settings/settings-gamepad.ts
+++ b/src/system/settings/settings-gamepad.ts
@@ -2,7 +2,7 @@ import BattleScene from "../../battle-scene";
import SettingsGamepadUiHandler from "../../ui/settings/settings-gamepad-ui-handler";
import {Mode} from "../../ui/ui";
import {truncateString} from "../../utils";
-import {Button} from "../../enums/buttons";
+import {Button} from "#enums/buttons";
import {SettingKeyboard} from "#app/system/settings/settings-keyboard";
export enum SettingGamepad {
diff --git a/src/system/settings/settings-keyboard.ts b/src/system/settings/settings-keyboard.ts
index c394b2ef8f0..d60af06e12b 100644
--- a/src/system/settings/settings-keyboard.ts
+++ b/src/system/settings/settings-keyboard.ts
@@ -1,7 +1,8 @@
-import {Button} from "#app/enums/buttons";
+import {Button} from "#enums/buttons";
import BattleScene from "#app/battle-scene";
import {Mode} from "#app/ui/ui";
import SettingsKeyboardUiHandler from "#app/ui/settings/settings-keyboard-ui-handler";
+import i18next from "i18next";
export enum SettingKeyboard {
// Default_Layout = "DEFAULT_LAYOUT",
@@ -41,7 +42,7 @@ export enum SettingKeyboard {
Alt_Button_Submit = "ALT_BUTTON_SUBMIT",
}
-const pressAction = "Press action to assign";
+const pressAction = i18next.t("settings:pressToBind");
export const settingKeyboardOptions = {
// [SettingKeyboard.Default_Layout]: ['Default'],
diff --git a/src/system/settings/settings.ts b/src/system/settings/settings.ts
index cf657d0e828..b09de095259 100644
--- a/src/system/settings/settings.ts
+++ b/src/system/settings/settings.ts
@@ -3,28 +3,58 @@ import i18next from "i18next";
import BattleScene from "../../battle-scene";
import { hasTouchscreen } from "../../touch-controls";
import { updateWindowType } from "../../ui/ui-theme";
-import { PlayerGender } from "../game-data";
-import { CandyUpgradeNotificationChangedEvent } from "#app/battle-scene-events.js";
-import { MoneyFormat } from "../../enums/money-format";
+import { CandyUpgradeNotificationChangedEvent } from "../../events/battle-scene";
import SettingsUiHandler from "#app/ui/settings/settings-ui-handler";
+import { EaseType } from "#enums/ease-type";
+import { MoneyFormat } from "#enums/money-format";
+import { PlayerGender } from "#enums/player-gender";
-const MUTE = "Mute";
-const VOLUME_OPTIONS = new Array(11).fill(null).map((_, i) => i ? (i * 10).toString() : MUTE);
-const OFF_ON = ["Off", "On"];
-const AUTO_DISABLED = ["Auto", "Disabled"];
+const VOLUME_OPTIONS: SettingOption[] = new Array(11).fill(null).map((_, i) => i ? {
+ value: (i * 10).toString(),
+ label: (i * 10).toString(),
+} : {
+ value: "Mute",
+ label: i18next.t("settings:mute")
+});
+const OFF_ON: SettingOption[] = [
+ {
+ value: "Off",
+ label: i18next.t("settings:off")
+ },
+ {
+ value: "On",
+ label: i18next.t("settings:on")
+ }
+];
+const AUTO_DISABLED: SettingOption[] = [
+ {
+ value: "Auto",
+ label: i18next.t("settings:auto")
+ },
+ {
+ value: "Disabled",
+ label: i18next.t("settings:disabled")
+ }
+];
/**
* Types for helping separate settings to different menus
*/
export enum SettingType {
GENERAL,
- ACCESSIBILITY
+ DISPLAY,
+ AUDIO
}
+type SettingOption = {
+ value: string,
+ label: string
+};
+
export interface Setting {
key: string
label: string
- options: Array
+ options: SettingOption[]
default: number
type: SettingType
requireReload?: boolean
@@ -36,31 +66,38 @@ export interface Setting {
*/
export const SettingKeys = {
Game_Speed: "GAME_SPEED",
+ HP_Bar_Speed: "HP_BAR_SPEED",
+ EXP_Gains_Speed: "EXP_GAINS_SPEED",
+ EXP_Party_Display: "EXP_PARTY_DISPLAY",
+ Skip_Seen_Dialogues: "SKIP_SEEN_DIALOGUES",
+ Battle_Style: "BATTLE_STYLE",
+ Enable_Retries: "ENABLE_RETRIES",
+ Tutorials: "TUTORIALS",
+ Touch_Controls: "TOUCH_CONTROLS",
+ Vibration: "VIBRATION",
+ Language: "LANGUAGE",
+ UI_Theme: "UI_THEME",
+ Window_Type: "WINDOW_TYPE",
+ Money_Format: "MONEY_FORMAT",
+ Damage_Numbers: "DAMAGE_NUMBERS",
+ Move_Animations: "MOVE_ANIMATIONS",
+ Show_Stats_on_Level_Up: "SHOW_LEVEL_UP_STATS",
+ Candy_Upgrade_Notification: "CANDY_UPGRADE_NOTIFICATION",
+ Candy_Upgrade_Display: "CANDY_UPGRADE_DISPLAY",
+ Move_Info: "MOVE_INFO",
+ Show_Moveset_Flyout: "SHOW_MOVESET_FLYOUT",
+ Show_Arena_Flyout: "SHOW_ARENA_FLYOUT",
+ Show_Time_Of_Day_Widget: "SHOW_TIME_OF_DAY_WIDGET",
+ Time_Of_Day_Animation: "TIME_OF_DAY_ANIMATION",
+ Sprite_Set: "SPRITE_SET",
+ Fusion_Palette_Swaps: "FUSION_PALETTE_SWAPS",
+ Player_Gender: "PLAYER_GENDER",
+ Type_Hints: "TYPE_HINTS",
Master_Volume: "MASTER_VOLUME",
BGM_Volume: "BGM_VOLUME",
SE_Volume: "SE_VOLUME",
- Language: "LANGUAGE",
- Damage_Numbers: "DAMAGE_NUMBERS",
- UI_Theme: "UI_THEME",
- Window_Type: "WINDOW_TYPE",
- Tutorials: "TUTORIALS",
- Enable_Retries: "ENABLE_RETRIES",
- Skip_Seen_Dialogues: "SKIP_SEEN_DIALOGUES",
- Candy_Upgrade_Notification: "CANDY_UPGRADE_NOTIFICATION",
- Candy_Upgrade_Display: "CANDY_UPGRADE_DISPLAY",
- Money_Format: "MONEY_FORMAT",
- Sprite_Set: "SPRITE_SET",
- Move_Animations: "MOVE_ANIMATIONS",
- Show_Moveset_Flyout: "SHOW_MOVESET_FLYOUT",
- Show_Arena_Flyout: "SHOW_ARENA_FLYOUT",
- Show_Stats_on_Level_Up: "SHOW_LEVEL_UP_STATS",
- EXP_Gains_Speed: "EXP_GAINS_SPEED",
- EXP_Party_Display: "EXP_PARTY_DISPLAY",
- HP_Bar_Speed: "HP_BAR_SPEED",
- Fusion_Palette_Swaps: "FUSION_PALETTE_SWAPS",
- Player_Gender: "PLAYER_GENDER",
- Touch_Controls: "TOUCH_CONTROLS",
- Vibration: "VIBRATION"
+ Music_Preference: "MUSIC_PREFERENCE",
+ Show_BGM_Bar: "SHOW_BGM_BAR",
};
/**
@@ -69,190 +106,436 @@ export const SettingKeys = {
export const Setting: Array = [
{
key: SettingKeys.Game_Speed,
- label: "Game Speed",
- options: ["1x", "1.25x", "1.5x", "2x", "2.5x", "3x", "4x", "5x"],
+ label: i18next.t("settings:gameSpeed"),
+ options: [
+ {
+ value: "1",
+ label: "1x"
+ },
+ {
+ value: "1.25",
+ label: "1.25x"
+ },
+ {
+ value: "1.5",
+ label: "1.5x"
+ },
+ {
+ value: "2",
+ label: "2x"
+ },
+ {
+ value: "2.5",
+ label: "2.5x"
+ },
+ {
+ value: "3",
+ label: "3x"
+ },
+ {
+ value: "4",
+ label: "4x"
+ },
+ {
+ value: "5",
+ label: "5x"
+ }
+ ],
default: 3,
type: SettingType.GENERAL
},
{
- key: SettingKeys.Master_Volume,
- label: "Master Volume",
- options: VOLUME_OPTIONS,
- default: 5,
- type: SettingType.GENERAL
- },
- {
- key: SettingKeys.BGM_Volume,
- label: "BGM Volume",
- options: VOLUME_OPTIONS,
- default: 10,
- type: SettingType.GENERAL
- },
- {
- key: SettingKeys.SE_Volume,
- label: "SE Volume",
- options: VOLUME_OPTIONS,
- default: 10,
- type: SettingType.GENERAL
- },
- {
- key: SettingKeys.Language,
- label: "Language",
- options: ["English", "Change"],
+ key: SettingKeys.HP_Bar_Speed,
+ label: i18next.t("settings:hpBarSpeed"),
+ options: [
+ {
+ value: "Normal",
+ label: i18next.t("settings:normal")
+ },
+ {
+ value: "Fast",
+ label: i18next.t("settings:fast")
+ },
+ {
+ value: "Faster",
+ label: i18next.t("settings:faster")
+ },
+ {
+ value: "Skip",
+ label: i18next.t("settings:skip")
+ }
+ ],
default: 0,
- type: SettingType.GENERAL,
- requireReload: true
- },
- {
- key: SettingKeys.Damage_Numbers,
- label: "Damage Numbers",
- options: ["Off", "Simple", "Fancy"],
- default: 0,
- type: SettingType.GENERAL
- },
- {
- key: SettingKeys.UI_Theme,
- label: "UI Theme",
- options: ["Default", "Legacy"],
- default: 0,
- type: SettingType.GENERAL,
- requireReload: true
- },
- {
- key: SettingKeys.Window_Type,
- label: "Window Type",
- options: new Array(5).fill(null).map((_, i) => (i + 1).toString()),
- default: 0,
- type: SettingType.GENERAL
- },
- {
- key: SettingKeys.Tutorials,
- label: "Tutorials",
- options: OFF_ON,
- default: 1,
- type: SettingType.GENERAL
- },
- {
- key: SettingKeys.Enable_Retries,
- label: "Enable Retries",
- options: OFF_ON,
- default: 0,
- type: SettingType.ACCESSIBILITY
- },
- {
- key: SettingKeys.Skip_Seen_Dialogues,
- label: "Skip Seen Dialogues",
- options: OFF_ON,
- default: 0,
- type: SettingType.GENERAL
- },
- {
- key: SettingKeys.Candy_Upgrade_Notification,
- label: "Candy Upgrade Notification",
- options: ["Off", "Passives Only", "On"],
- default: 0,
- type: SettingType.ACCESSIBILITY
- },
- {
- key: SettingKeys.Candy_Upgrade_Display,
- label: "Candy Upgrade Display",
- options: ["Icon", "Animation"],
- default: 0,
- type: SettingType.ACCESSIBILITY,
- requireReload: true
- },
- {
- key: SettingKeys.Money_Format,
- label: "Money Format",
- options: ["Normal", "Abbreviated"],
- default: 0,
- type: SettingType.ACCESSIBILITY
- },
- {
- key: SettingKeys.Sprite_Set,
- label: "Sprite Set",
- options: ["Consistent", "Mixed Animated"],
- default: 0,
- type: SettingType.GENERAL,
- requireReload: true
- },
- {
- key: SettingKeys.Move_Animations,
- label: "Move Animations",
- options: OFF_ON,
- default: 1,
- type: SettingType.GENERAL
- },
- {
- key: SettingKeys.Show_Moveset_Flyout,
- label: "Show Moveset Flyout",
- options: OFF_ON,
- default: 1,
- type: SettingType.ACCESSIBILITY
- },
- {
- key: SettingKeys.Show_Arena_Flyout,
- label: "Show Battle Effects Flyout",
- options: OFF_ON,
- default: 1,
- type: SettingType.ACCESSIBILITY
- },
- {
- key: SettingKeys.Show_Stats_on_Level_Up,
- label: "Show Stats on Level Up",
- options: OFF_ON,
- default: 1,
type: SettingType.GENERAL
},
{
key: SettingKeys.EXP_Gains_Speed,
- label: "EXP Gains Speed",
- options: ["Normal", "Fast", "Faster", "Skip"],
+ label: i18next.t("settings:expGainsSpeed"),
+ options: [
+ {
+ value: "Normal",
+ label: i18next.t("settings:normal")
+ },
+ {
+ value: "Fast",
+ label: i18next.t("settings:fast")
+ },
+ {
+ value: "Faster",
+ label: i18next.t("settings:faster")
+ },
+ {
+ value: "Skip",
+ label: i18next.t("settings:skip")
+ }
+ ],
default: 0,
type: SettingType.GENERAL
},
{
key: SettingKeys.EXP_Party_Display,
- label: "EXP Party Display",
- options: ["Normal", "Level Up Notification", "Skip"],
+ label: i18next.t("settings:expPartyDisplay"),
+ options: [
+ {
+ value: "Normal",
+ label: i18next.t("settings:normal")
+ },
+ {
+ value: "Level Up Notification",
+ label: i18next.t("settings:levelUpNotifications")
+ },
+ {
+ value: "Skip",
+ label: i18next.t("settings:skip")
+ }
+ ],
default: 0,
type: SettingType.GENERAL
},
{
- key: SettingKeys.HP_Bar_Speed,
- label: "HP Bar Speed",
- options: ["Normal", "Fast", "Faster", "Skip"],
+ key: SettingKeys.Skip_Seen_Dialogues,
+ label: i18next.t("settings:skipSeenDialogues"),
+ options: OFF_ON,
default: 0,
type: SettingType.GENERAL
},
{
- key: SettingKeys.Fusion_Palette_Swaps,
- label: "Fusion Palette Swaps",
+ key: SettingKeys.Battle_Style,
+ label: i18next.t("settings:battleStyle"),
+ options: [
+ {
+ value: "Switch",
+ label: i18next.t("settings:switch")
+ },
+ {
+ value: "Set",
+ label: i18next.t("settings:set")
+ }
+ ],
+ default: 0,
+ type: SettingType.GENERAL
+ },
+ {
+ key: SettingKeys.Enable_Retries,
+ label: i18next.t("settings:enableRetries"),
+ options: OFF_ON,
+ default: 0,
+ type: SettingType.GENERAL
+ },
+ {
+ key: SettingKeys.Tutorials,
+ label: i18next.t("settings:tutorials"),
options: OFF_ON,
default: 1,
type: SettingType.GENERAL
},
- {
- key: SettingKeys.Player_Gender,
- label: "Player Gender",
- options: ["Boy", "Girl"],
- default: 0,
- type: SettingType.GENERAL
- },
{
key: SettingKeys.Touch_Controls,
- label: "Touch Controls",
+ label: i18next.t("settings:touchControls"),
options: AUTO_DISABLED,
default: 0,
type: SettingType.GENERAL
},
{
key: SettingKeys.Vibration,
- label: "Vibration",
+ label: i18next.t("settings:vibrations"),
options: AUTO_DISABLED,
default: 0,
type: SettingType.GENERAL
- }
+ },
+ {
+ key: SettingKeys.Language,
+ label: i18next.t("settings:language"),
+ options: [
+ {
+ value: "English",
+ label: "English"
+ },
+ {
+ value: "Change",
+ label: i18next.t("settings:change")
+ }
+ ],
+ default: 0,
+ type: SettingType.DISPLAY,
+ requireReload: true
+ },
+ {
+ key: SettingKeys.UI_Theme,
+ label: i18next.t("settings:uiTheme"),
+ options: [
+ {
+ value: "Default",
+ label: i18next.t("settings:default")
+ },
+ {
+ value: "Legacy",
+ label: i18next.t("settings:legacy")
+ }
+ ],
+ default: 0,
+ type: SettingType.DISPLAY,
+ requireReload: true
+ },
+ {
+ key: SettingKeys.Window_Type,
+ label: i18next.t("settings:windowType"),
+ options: new Array(5).fill(null).map((_, i) => {
+ const windowType = (i + 1).toString();
+ return {
+ value: windowType,
+ label: windowType
+ };
+ }),
+ default: 0,
+ type: SettingType.DISPLAY
+ },
+ {
+ key: SettingKeys.Money_Format,
+ label: i18next.t("settings:moneyFormat"),
+ options: [
+ {
+ value: "Normal",
+ label: i18next.t("settings:normal")
+ },
+ {
+ value: "Abbreviated",
+ label: i18next.t("settings:abbreviated")
+ }
+ ],
+ default: 0,
+ type: SettingType.DISPLAY
+ },
+ {
+ key: SettingKeys.Damage_Numbers,
+ label: i18next.t("settings:damageNumbers"),
+ options: [
+ {
+ value: "Off",
+ label: i18next.t("settings:off")
+ },
+ {
+ value: "Simple",
+ label: i18next.t("settings:simple")
+ },
+ {
+ value: "Fancy",
+ label: i18next.t("settings:fancy")
+ }
+ ],
+ default: 0,
+ type: SettingType.DISPLAY
+ },
+ {
+ key: SettingKeys.Move_Animations,
+ label: i18next.t("settings:moveAnimations"),
+ options: OFF_ON,
+ default: 1,
+ type: SettingType.DISPLAY
+ },
+ {
+ key: SettingKeys.Show_Stats_on_Level_Up,
+ label: i18next.t("settings:showStatsOnLevelUp"),
+ options: OFF_ON,
+ default: 1,
+ type: SettingType.DISPLAY
+ },
+ {
+ key: SettingKeys.Candy_Upgrade_Notification,
+ label: i18next.t("settings:candyUpgradeNotification"),
+ options: [
+ {
+ value: "Off",
+ label: i18next.t("settings:off")
+ },
+ {
+ value: "Passives Only",
+ label: i18next.t("settings:passivesOnly")
+ },
+ {
+ value: "On",
+ label: i18next.t("settings:on")
+ }
+ ],
+ default: 0,
+ type: SettingType.DISPLAY
+ },
+ {
+ key: SettingKeys.Candy_Upgrade_Display,
+ label: i18next.t("settings:candyUpgradeDisplay"),
+ options: [
+ {
+ value: "Icon",
+ label: i18next.t("settings:icon")
+ },
+ {
+ value: "Animation",
+ label: i18next.t("settings:animation")
+ }
+ ],
+ default: 0,
+ type: SettingType.DISPLAY,
+ requireReload: true
+ },
+ {
+ key: SettingKeys.Move_Info,
+ label: i18next.t("settings:moveInfo"),
+ options: OFF_ON,
+ default: 1,
+ type: SettingType.DISPLAY
+ },
+ {
+ key: SettingKeys.Show_Moveset_Flyout,
+ label: i18next.t("settings:showMovesetFlyout"),
+ options: OFF_ON,
+ default: 1,
+ type: SettingType.DISPLAY
+ },
+ {
+ key: SettingKeys.Show_Arena_Flyout,
+ label: i18next.t("settings:showArenaFlyout"),
+ options: OFF_ON,
+ default: 1,
+ type: SettingType.DISPLAY
+ },
+ {
+ key: SettingKeys.Show_Time_Of_Day_Widget,
+ label: i18next.t("settings:showTimeOfDayWidget"),
+ options: OFF_ON,
+ default: 1,
+ type: SettingType.DISPLAY,
+ requireReload: true,
+ },
+ {
+ key: SettingKeys.Time_Of_Day_Animation,
+ label: i18next.t("settings:timeOfDayAnimation"),
+ options: [
+ {
+ value: "Bounce",
+ label: i18next.t("settings:bounce")
+ },
+ {
+ value: "Back",
+ label: i18next.t("settings:timeOfDay_back")
+ }
+ ],
+ default: 0,
+ type: SettingType.DISPLAY
+ },
+ {
+ key: SettingKeys.Sprite_Set,
+ label: i18next.t("settings:spriteSet"),
+ options: [
+ {
+ value: "Consistent",
+ label: i18next.t("settings:consistent")
+ },
+ {
+ value: "Mixed Animated",
+ label: i18next.t("settings:mixedAnimated")
+ }
+ ],
+ default: 0,
+ type: SettingType.DISPLAY,
+ requireReload: true
+ },
+ {
+ key: SettingKeys.Fusion_Palette_Swaps,
+ label: i18next.t("settings:fusionPaletteSwaps"),
+ options: OFF_ON,
+ default: 1,
+ type: SettingType.DISPLAY
+ },
+ {
+ key: SettingKeys.Player_Gender,
+ label: i18next.t("settings:playerGender"),
+ options: [
+ {
+ value: "Boy",
+ label: i18next.t("settings:boy")
+ },
+ {
+ value: "Girl",
+ label: i18next.t("settings:girl")
+ }
+ ],
+ default: 0,
+ type: SettingType.DISPLAY
+ },
+ {
+ key: SettingKeys.Type_Hints,
+ label: i18next.t("settings:typeHints"),
+ options: OFF_ON,
+ default: 0,
+ type: SettingType.DISPLAY
+ },
+ {
+ key: SettingKeys.Show_BGM_Bar,
+ label: i18next.t("settings:showBgmBar"),
+ options: OFF_ON,
+ default: 0,
+ type: SettingType.DISPLAY,
+ requireReload: true
+ },
+ {
+ key: SettingKeys.Master_Volume,
+ label: i18next.t("settings:masterVolume"),
+ options: VOLUME_OPTIONS,
+ default: 5,
+ type: SettingType.AUDIO
+ },
+ {
+ key: SettingKeys.BGM_Volume,
+ label: i18next.t("settings:bgmVolume"),
+ options: VOLUME_OPTIONS,
+ default: 10,
+ type: SettingType.AUDIO
+ },
+ {
+ key: SettingKeys.SE_Volume,
+ label: i18next.t("settings:seVolume"),
+ options: VOLUME_OPTIONS,
+ default: 10,
+ type: SettingType.AUDIO
+ },
+ {
+ key: SettingKeys.Music_Preference,
+ label: i18next.t("settings:musicPreference"),
+ options: [
+ {
+ value: "Consistent",
+ label: i18next.t("settings:consistent")
+ },
+ {
+ value: "Mixed",
+ label: i18next.t("settings:mixed")
+ }
+ ],
+ default: 0,
+ type: SettingType.AUDIO,
+ requireReload: true
+ },
+
];
/**
@@ -281,25 +564,28 @@ export function resetSettings(scene: BattleScene) {
*/
export function setSetting(scene: BattleScene, setting: string, value: integer): boolean {
const index: number = settingIndex(setting);
- if ( index === -1) {
+ if (index === -1) {
return false;
}
switch (Setting[index].key) {
case SettingKeys.Game_Speed:
- scene.gameSpeed = parseFloat(Setting[index].options[value].replace("x", ""));
+ scene.gameSpeed = parseFloat(Setting[index].options[value].value.replace("x", ""));
break;
case SettingKeys.Master_Volume:
- scene.masterVolume = value ? parseInt(Setting[index].options[value]) * 0.01 : 0;
+ scene.masterVolume = value ? parseInt(Setting[index].options[value].value) * 0.01 : 0;
scene.updateSoundVolume();
break;
case SettingKeys.BGM_Volume:
- scene.bgmVolume = value ? parseInt(Setting[index].options[value]) * 0.01 : 0;
+ scene.bgmVolume = value ? parseInt(Setting[index].options[value].value) * 0.01 : 0;
scene.updateSoundVolume();
break;
case SettingKeys.SE_Volume:
- scene.seVolume = value ? parseInt(Setting[index].options[value]) * 0.01 : 0;
+ scene.seVolume = value ? parseInt(Setting[index].options[value].value) * 0.01 : 0;
scene.updateSoundVolume();
break;
+ case SettingKeys.Music_Preference:
+ scene.musicPreference = value;
+ break;
case SettingKeys.Damage_Numbers:
scene.damageNumbersMode = value;
break;
@@ -307,29 +593,37 @@ export function setSetting(scene: BattleScene, setting: string, value: integer):
scene.uiTheme = value;
break;
case SettingKeys.Window_Type:
- updateWindowType(scene, parseInt(Setting[index].options[value]));
+ updateWindowType(scene, parseInt(Setting[index].options[value].value));
break;
case SettingKeys.Tutorials:
- scene.enableTutorials = Setting[index].options[value] === "On";
+ scene.enableTutorials = Setting[index].options[value].value === "On";
+ break;
+ case SettingKeys.Move_Info:
+ scene.enableMoveInfo = Setting[index].options[value].value === "On";
break;
case SettingKeys.Enable_Retries:
- scene.enableRetries = Setting[index].options[value] === "On";
+ scene.enableRetries = Setting[index].options[value].value === "On";
break;
case SettingKeys.Skip_Seen_Dialogues:
- scene.skipSeenDialogues = Setting[index].options[value] === "On";
+ scene.skipSeenDialogues = Setting[index].options[value].value === "On";
+ break;
+ case SettingKeys.Battle_Style:
+ scene.battleStyle = value;
+ break;
+ case SettingKeys.Show_BGM_Bar:
+ scene.showBgmBar = Setting[index].options[value].value === "On";
break;
case SettingKeys.Candy_Upgrade_Notification:
if (scene.candyUpgradeNotification === value) {
break;
}
-
scene.candyUpgradeNotification = value;
scene.eventTarget.dispatchEvent(new CandyUpgradeNotificationChangedEvent(value));
break;
case SettingKeys.Candy_Upgrade_Display:
scene.candyUpgradeDisplay = value;
case SettingKeys.Money_Format:
- switch (Setting[index].options[value]) {
+ switch (Setting[index].options[value].value) {
case "Normal":
scene.moneyFormat = MoneyFormat.NORMAL;
break;
@@ -346,16 +640,22 @@ export function setSetting(scene: BattleScene, setting: string, value: integer):
}
break;
case SettingKeys.Move_Animations:
- scene.moveAnimations = Setting[index].options[value] === "On";
+ scene.moveAnimations = Setting[index].options[value].value === "On";
break;
case SettingKeys.Show_Moveset_Flyout:
- scene.showMovesetFlyout = Setting[index].options[value] === "On";
+ scene.showMovesetFlyout = Setting[index].options[value].value === "On";
break;
case SettingKeys.Show_Arena_Flyout:
- scene.showArenaFlyout = Setting[index].options[value] === "On";
+ scene.showArenaFlyout = Setting[index].options[value].value === "On";
+ break;
+ case SettingKeys.Show_Time_Of_Day_Widget:
+ scene.showTimeOfDayWidget = Setting[index].options[value].value === "On";
+ break;
+ case SettingKeys.Time_Of_Day_Animation:
+ scene.timeOfDayAnimation = Setting[index].options[value].value === "Bounce" ? EaseType.BOUNCE : EaseType.BACK;
break;
case SettingKeys.Show_Stats_on_Level_Up:
- scene.showLevelUpStats = Setting[index].options[value] === "On";
+ scene.showLevelUpStats = Setting[index].options[value].value === "On";
break;
case SettingKeys.EXP_Gains_Speed:
scene.expGainsSpeed = value;
@@ -371,7 +671,7 @@ export function setSetting(scene: BattleScene, setting: string, value: integer):
break;
case SettingKeys.Player_Gender:
if (scene.gameData) {
- const female = Setting[index].options[value] === "Girl";
+ const female = Setting[index].options[value].value === "Girl";
scene.gameData.gender = female ? PlayerGender.FEMALE : PlayerGender.MALE;
scene.trainer.setTexture(scene.trainer.texture.key.replace(female ? "m" : "f", female ? "f" : "m"));
} else {
@@ -379,22 +679,24 @@ export function setSetting(scene: BattleScene, setting: string, value: integer):
}
break;
case SettingKeys.Touch_Controls:
- scene.enableTouchControls = Setting[index].options[value] !== "Disabled" && hasTouchscreen();
+ scene.enableTouchControls = Setting[index].options[value].value !== "Disabled" && hasTouchscreen();
const touchControls = document.getElementById("touchControls");
if (touchControls) {
touchControls.classList.toggle("visible", scene.enableTouchControls);
}
break;
case SettingKeys.Vibration:
- scene.enableVibration = Setting[index].options[value] !== "Disabled" && hasTouchscreen();
+ scene.enableVibration = Setting[index].options[value].value !== "Disabled" && hasTouchscreen();
+ break;
+ case SettingKeys.Type_Hints:
+ scene.typeHints = Setting[index].options[value].value === "On";
break;
case SettingKeys.Language:
if (value) {
if (scene.ui) {
const cancelHandler = () => {
scene.ui.revertMode();
- const languageSetting = Setting.find(setting => setting.key === SettingKeys.Language);
- (scene.ui.getHandler() as SettingsUiHandler).setOptionCursor(Setting.indexOf(languageSetting), 0, true);
+ (scene.ui.getHandler() as SettingsUiHandler).setOptionCursor(0, 0, true);
};
const changeLocaleHandler = (locale: string): boolean => {
try {
@@ -433,22 +735,22 @@ export function setSetting(scene: BattleScene, setting: string, value: integer):
},
{
label: "Português (BR)",
- handler: () => changeLocaleHandler("pt_BR")
+ handler: () => changeLocaleHandler("pt-BR")
},
{
label: "简体中文",
- handler: () => changeLocaleHandler("zh_CN")
+ handler: () => changeLocaleHandler("zh-CN")
},
{
label: "繁體中文",
- handler: () => changeLocaleHandler("zh_TW")
+ handler: () => changeLocaleHandler("zh-TW")
},
{
label: "한국어",
handler: () => changeLocaleHandler("ko")
},
{
- label: "Cancel",
+ label: i18next.t("settings:back"),
handler: () => cancelHandler()
}
],
diff --git a/src/system/trainer-data.ts b/src/system/trainer-data.ts
index d4bb3cee94d..fc8a14488cc 100644
--- a/src/system/trainer-data.ts
+++ b/src/system/trainer-data.ts
@@ -1,5 +1,5 @@
import BattleScene from "../battle-scene";
-import { TrainerType } from "../data/enums/trainer-type";
+import { TrainerType } from "#enums/trainer-type";
import Trainer, { TrainerVariant } from "../field/trainer";
export default class TrainerData {
diff --git a/src/system/unlockables.ts b/src/system/unlockables.ts
index f94e29ff039..d8e7d97edf6 100644
--- a/src/system/unlockables.ts
+++ b/src/system/unlockables.ts
@@ -1,4 +1,4 @@
-import { GameModes, gameModes } from "../game-mode";
+import { GameMode, GameModes } from "../game-mode";
export enum Unlockables {
ENDLESS_MODE,
@@ -9,10 +9,10 @@ export enum Unlockables {
export function getUnlockableName(unlockable: Unlockables) {
switch (unlockable) {
case Unlockables.ENDLESS_MODE:
- return `${gameModes[GameModes.ENDLESS].getName()} Mode`;
+ return `${GameMode.getModeName(GameModes.ENDLESS)} Mode`;
case Unlockables.MINI_BLACK_HOLE:
return "Mini Black Hole";
case Unlockables.SPLICED_ENDLESS_MODE:
- return `${gameModes[GameModes.SPLICED_ENDLESS].getName()} Mode`;
+ return `${GameMode.getModeName(GameModes.SPLICED_ENDLESS)} Mode`;
}
}
diff --git a/src/system/voucher.ts b/src/system/voucher.ts
index 9381dd650f8..2238a95e690 100644
--- a/src/system/voucher.ts
+++ b/src/system/voucher.ts
@@ -1,7 +1,8 @@
import BattleScene from "../battle-scene";
-import { TrainerType } from "../data/enums/trainer-type";
-import i18next from "../plugins/i18n";
+import i18next from "i18next";
import { Achv, AchvTier, achvs, getAchievementDescription } from "./achv";
+import { PlayerGender } from "#enums/player-gender";
+import { TrainerType } from "#enums/trainer-type";
export enum VoucherType {
REGULAR,
@@ -27,7 +28,12 @@ export class Voucher {
return !this.conditionFunc || this.conditionFunc(scene, args);
}
- getName(): string {
+ /**
+ * Get the name of the voucher
+ * @param playerGender - this is ignored here. It's only there to match the signature of the function in the Achv class
+ * @returns the name of the voucher
+ */
+ getName(playerGender: PlayerGender): string {
return getVoucherTypeName(this.voucherType);
}
@@ -83,41 +89,40 @@ export const vouchers: Vouchers = {};
const voucherAchvs: Achv[] = [ achvs.CLASSIC_VICTORY ];
-{
- (function() {
- import("../data/trainer-config").then(tc => {
- const trainerConfigs = tc.trainerConfigs;
+export function initVouchers() {
+ import("../data/trainer-config").then(tc => {
+ const trainerConfigs = tc.trainerConfigs;
- for (const achv of voucherAchvs) {
- const voucherType = achv.score >= 150
- ? VoucherType.GOLDEN
- : achv.score >= 100
- ? VoucherType.PREMIUM
- : achv.score >= 75
- ? VoucherType.PLUS
- : VoucherType.REGULAR;
- vouchers[achv.id] = new Voucher(voucherType, getAchievementDescription(achv.localizationKey));
- }
+ for (const achv of voucherAchvs) {
+ const voucherType = achv.score >= 150
+ ? VoucherType.GOLDEN
+ : achv.score >= 100
+ ? VoucherType.PREMIUM
+ : achv.score >= 75
+ ? VoucherType.PLUS
+ : VoucherType.REGULAR;
+ vouchers[achv.id] = new Voucher(voucherType, getAchievementDescription(achv.localizationKey));
+ }
- const bossTrainerTypes = Object.keys(trainerConfigs)
- .filter(tt => trainerConfigs[tt].isBoss && trainerConfigs[tt].getDerivedType() !== TrainerType.RIVAL);
+ const bossTrainerTypes = Object.keys(trainerConfigs)
+ .filter(tt => trainerConfigs[tt].isBoss && trainerConfigs[tt].getDerivedType() !== TrainerType.RIVAL);
- for (const trainerType of bossTrainerTypes) {
- const voucherType = trainerConfigs[trainerType].moneyMultiplier < 10
- ? VoucherType.PLUS
- : VoucherType.PREMIUM;
- const key = TrainerType[trainerType];
- const trainerName = trainerConfigs[trainerType].name;
- vouchers[key] = new Voucher(
- voucherType,
- i18next.t("voucher:defeatTrainer", { trainerName })
- );
- }
-
- const voucherKeys = Object.keys(vouchers);
- for (const k of voucherKeys) {
- vouchers[k].id = k;
- }
- });
- })();
+ for (const trainerType of bossTrainerTypes) {
+ const voucherType = trainerConfigs[trainerType].moneyMultiplier < 10
+ ? VoucherType.PLUS
+ : VoucherType.PREMIUM;
+ const key = TrainerType[trainerType];
+ const trainerName = trainerConfigs[trainerType].name;
+ const trainer = trainerConfigs[trainerType];
+ const title = trainer.title ? ` (${trainer.title})` : "";
+ vouchers[key] = new Voucher(
+ voucherType,
+ `${i18next.t("voucher:defeatTrainer", { trainerName })} ${title}`,
+ );
+ }
+ const voucherKeys = Object.keys(vouchers);
+ for (const k of voucherKeys) {
+ vouchers[k].id = k;
+ }
+ });
}
diff --git a/src/test/abilities/aura_break.test.ts b/src/test/abilities/aura_break.test.ts
new file mode 100644
index 00000000000..bfd1fdf59fe
--- /dev/null
+++ b/src/test/abilities/aura_break.test.ts
@@ -0,0 +1,95 @@
+import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import { Species } from "#enums/species";
+import { MoveEffectPhase } from "#app/phases";
+import { Moves } from "#enums/moves";
+import { getMovePosition } from "#app/test/utils/gameManagerUtils";
+import { Abilities } from "#enums/abilities";
+import Move, { allMoves } from "#app/data/move.js";
+import Pokemon from "#app/field/pokemon.js";
+import { FieldMoveTypePowerBoostAbAttr } from "#app/data/ability.js";
+import { NumberHolder } from "#app/utils.js";
+
+describe("Abilities - Aura Break", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+ const multiplier = 9 / 16;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.MOONBLAST, Moves.DARK_PULSE, Moves.MOONBLAST, Moves.DARK_PULSE]);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH, Moves.SPLASH, Moves.SPLASH, Moves.SPLASH]);
+ vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.AURA_BREAK);
+ });
+
+ it("reverses the effect of fairy aura", async () => {
+ vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.FAIRY_AURA);
+ const basePower = allMoves[Moves.MOONBLAST].power;
+ await game.startBattle([Species.MAGIKARP]);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.MOONBLAST));
+
+ const appliedPower = getMockedMovePower(game.scene.getEnemyField()[0], game.scene.getPlayerField()[0], allMoves[Moves.MOONBLAST]);
+
+ await game.phaseInterceptor.to(MoveEffectPhase);
+
+ expect(appliedPower).not.toBe(undefined);
+ expect(appliedPower).not.toBe(basePower);
+ expect(appliedPower).toBe(basePower * multiplier);
+
+ });
+
+ it("reverses the effect of dark aura", async () => {
+ vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.DARK_AURA);
+ const basePower = allMoves[Moves.DARK_PULSE].power;
+ await game.startBattle([Species.MAGIKARP]);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.DARK_PULSE));
+
+ const appliedPower = getMockedMovePower(game.scene.getEnemyField()[0], game.scene.getPlayerField()[0], allMoves[Moves.DARK_PULSE]);
+
+ await game.phaseInterceptor.to(MoveEffectPhase);
+
+ expect(appliedPower).not.toBe(undefined);
+ expect(appliedPower).not.toBe(basePower);
+ expect(appliedPower).toBe(basePower * multiplier);
+ });
+});
+
+/**
+ * Calculates the mocked power of a move in a Pokémon battle, taking into account certain abilities.
+ *
+ * @param defender - The defending Pokémon.
+ * @param attacker - The attacking Pokémon.
+ * @param move - The move being used in the attack.
+ * @returns The calculated power of the move after applying any relevant ability effects.
+ *
+ * @remarks
+ * This function creates a NumberHolder with the initial power of the move.
+ * It then checks if the defender has an ability with the FieldMoveTypePowerBoostAbAttr.
+ * If so, it applies a power modification of 9/16 using an instance of FieldMoveTypePowerBoostAbAttr.
+ * The final calculated power is then returned.
+ */
+const getMockedMovePower = (defender: Pokemon, attacker: Pokemon, move: Move): number => {
+ const powerHolder = new NumberHolder(move.power);
+
+ if (defender.hasAbilityWithAttr(FieldMoveTypePowerBoostAbAttr)) {
+ const auraBreakInstance = new FieldMoveTypePowerBoostAbAttr(move.type, 9 / 16);
+ auraBreakInstance.applyPreAttack(attacker, false, defender, move, [powerHolder]);
+ }
+
+ return powerHolder.value;
+};
diff --git a/src/test/abilities/battery.test.ts b/src/test/abilities/battery.test.ts
new file mode 100644
index 00000000000..53a04732b74
--- /dev/null
+++ b/src/test/abilities/battery.test.ts
@@ -0,0 +1,120 @@
+import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import { Species } from "#enums/species";
+import { Moves } from "#enums/moves";
+import { getMovePosition } from "#app/test/utils/gameManagerUtils";
+import Move, { allMoves, MoveCategory } from "#app/data/move.js";
+import { AllyMoveCategoryPowerBoostAbAttr } from "#app/data/ability.js";
+import { NumberHolder } from "#app/utils.js";
+import Pokemon from "#app/field/pokemon.js";
+
+describe("Abilities - Battery", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ vi.spyOn(overrides, "DOUBLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE, Moves.ROCK_SLIDE, Moves.SPLASH, Moves.HEAT_WAVE]);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH, Moves.SPLASH, Moves.SPLASH, Moves.SPLASH]);
+ });
+
+ it("raises the power of allies' special moves by 30%", async () => {
+ const moveToBeUsed = Moves.HEAT_WAVE;
+ const basePower = allMoves[moveToBeUsed].power;
+
+ await game.startBattle([Species.MAGIKARP, Species.CHARJABUG]);
+
+ game.doAttack(getMovePosition(game.scene, 0, moveToBeUsed));
+ game.doAttack(getMovePosition(game.scene, 1, Moves.SPLASH));
+
+ const multiplier = getAttrPowerMultiplier(game.scene.getPlayerField()[1]);
+ const mockedPower = getMockedMovePower(game.scene.getEnemyField()[0], game.scene.getPlayerField()[0], allMoves[moveToBeUsed]);
+
+ expect(mockedPower).not.toBe(undefined);
+ expect(mockedPower).not.toBe(basePower);
+ expect(mockedPower).toBe(basePower * multiplier);
+ });
+
+ it("does not raise the power of allies' non-special moves", async () => {
+ const moveToBeUsed = Moves.ROCK_SLIDE;
+ const basePower = allMoves[moveToBeUsed].power;
+
+ await game.startBattle([Species.MAGIKARP, Species.CHARJABUG]);
+
+ game.doAttack(getMovePosition(game.scene, 0, moveToBeUsed));
+ game.doAttack(getMovePosition(game.scene, 1, Moves.SPLASH));
+
+ const multiplier = getAttrPowerMultiplier(game.scene.getPlayerField()[1]);
+ const mockedPower = getMockedMovePower(game.scene.getEnemyField()[0], game.scene.getPlayerField()[0], allMoves[moveToBeUsed]);
+
+ expect(mockedPower).not.toBe(undefined);
+ expect(mockedPower).toBe(basePower);
+ expect(mockedPower).not.toBe(basePower * multiplier);
+ });
+
+ it("does not raise the power of the ability owner's special moves", async () => {
+ const moveToBeUsed = Moves.HEAT_WAVE;
+ const basePower = allMoves[moveToBeUsed].power;
+
+ await game.startBattle([Species.CHARJABUG, Species.MAGIKARP]);
+
+ game.doAttack(getMovePosition(game.scene, 0, moveToBeUsed));
+ game.doAttack(getMovePosition(game.scene, 1, Moves.SPLASH));
+
+ const multiplier = getAttrPowerMultiplier(game.scene.getPlayerField()[0]);
+ const mockedPower = getMockedMovePower(game.scene.getEnemyField()[0], game.scene.getPlayerField()[0], allMoves[moveToBeUsed]);
+
+ expect(mockedPower).not.toBe(undefined);
+ expect(mockedPower).toBe(basePower);
+ expect(mockedPower).not.toBe(basePower * multiplier);
+ });
+});
+
+/**
+ * Calculates the mocked power of a move.
+ * Note this does not consider other damage calculations
+ * except the power multiplier from Battery.
+ *
+ * @param defender - The defending Pokémon.
+ * @param attacker - The attacking Pokémon.
+ * @param move - The move being used by the attacker.
+ * @returns The adjusted power of the move.
+ */
+const getMockedMovePower = (defender: Pokemon, attacker: Pokemon, move: Move) => {
+ const powerHolder = new NumberHolder(move.power);
+
+ /**
+ * @see AllyMoveCategoryPowerBoostAbAttr
+ */
+ if (attacker.getAlly().hasAbilityWithAttr(AllyMoveCategoryPowerBoostAbAttr)) {
+ const batteryInstance = new AllyMoveCategoryPowerBoostAbAttr([MoveCategory.SPECIAL], 1.3);
+ batteryInstance.applyPreAttack(attacker, false, defender, move, [ powerHolder ]);
+ }
+
+ return powerHolder.value;
+};
+
+/**
+ * Retrieves the power multiplier from a Pokémon's ability attribute.
+ *
+ * @param pokemon - The Pokémon whose ability attributes are being queried.
+ * @returns The power multiplier of the `AllyMoveCategoryPowerBoostAbAttr` attribute.
+ */
+const getAttrPowerMultiplier = (pokemon: Pokemon) => {
+ const attr = pokemon.getAbilityAttrs(AllyMoveCategoryPowerBoostAbAttr);
+
+ return (attr[0] as AllyMoveCategoryPowerBoostAbAttr)["powerMultiplier"];
+};
diff --git a/src/test/abilities/battle_bond.test.ts b/src/test/abilities/battle_bond.test.ts
new file mode 100644
index 00000000000..b2ff73f5b76
--- /dev/null
+++ b/src/test/abilities/battle_bond.test.ts
@@ -0,0 +1,67 @@
+import { afterEach, beforeAll, beforeEach, describe, expect, test, vi } from "vitest";
+import GameManager from "#test/utils/gameManager";
+import { getMovePosition } from "#test/utils/gameManagerUtils";
+import * as Overrides from "#app/overrides";
+import { Moves } from "#enums/moves";
+import { Abilities } from "#enums/abilities";
+import { Species } from "#enums/species";
+import { Status, StatusEffect } from "#app/data/status-effect.js";
+import { TurnEndPhase } from "#app/phases.js";
+import { QuietFormChangePhase } from "#app/form-change-phase.js";
+
+const TIMEOUT = 20 * 1000;
+
+describe("Abilities - BATTLE BOND", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ const moveToUse = Moves.SPLASH;
+ vi.spyOn(Overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(Overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.BATTLE_BOND);
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([moveToUse]);
+ vi.spyOn(Overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE, Moves.TACKLE, Moves.TACKLE, Moves.TACKLE]);
+ });
+
+ test(
+ "check if fainted pokemon switches to base form on arena reset",
+ async () => {
+ const baseForm = 1,
+ ashForm = 2;
+ vi.spyOn(Overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(4);
+ vi.spyOn(Overrides, "STARTER_FORM_OVERRIDES", "get").mockReturnValue({
+ [Species.GRENINJA]: ashForm,
+ });
+
+ await game.startBattle([Species.MAGIKARP, Species.GRENINJA]);
+
+ const greninja = game.scene.getParty().find((p) => p.species.speciesId === Species.GRENINJA);
+ expect(greninja).not.toBe(undefined);
+ expect(greninja.formIndex).toBe(ashForm);
+
+ greninja.hp = 0;
+ greninja.status = new Status(StatusEffect.FAINT);
+ expect(greninja.isFainted()).toBe(true);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.SPLASH));
+ await game.doKillOpponents();
+ await game.phaseInterceptor.to(TurnEndPhase);
+ game.doSelectModifier();
+ await game.phaseInterceptor.to(QuietFormChangePhase);
+
+ expect(greninja.formIndex).toBe(baseForm);
+ },
+ TIMEOUT
+ );
+});
diff --git a/src/test/abilities/costar.test.ts b/src/test/abilities/costar.test.ts
new file mode 100644
index 00000000000..1b7eb3f7b90
--- /dev/null
+++ b/src/test/abilities/costar.test.ts
@@ -0,0 +1,91 @@
+import { afterEach, beforeAll, beforeEach, describe, expect, test, vi } from "vitest";
+import GameManager from "../utils/gameManager";
+import Phaser from "phaser";
+import * as Overrides from "#app/overrides";
+import { BattleStat } from "#app/data/battle-stat.js";
+import { CommandPhase, MessagePhase } from "#app/phases.js";
+import { getMovePosition } from "../utils/gameManagerUtils";
+import { Abilities } from "#app/enums/abilities.js";
+import { Moves } from "#app/enums/moves.js";
+import { Species } from "#app/enums/species.js";
+
+const TIMEOUT = 20 * 1000;
+
+describe("Abilities - COSTAR", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ vi.spyOn(Overrides, "DOUBLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(Overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.COSTAR);
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH, Moves.NASTY_PLOT, Moves.CURSE]);
+ vi.spyOn(Overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH, Moves.SPLASH, Moves.SPLASH, Moves.SPLASH]);
+ });
+
+
+ test(
+ "ability copies positive stat changes",
+ async () => {
+ await game.startBattle([Species.MAGIKARP, Species.MAGIKARP, Species.FLAMIGO]);
+
+ let [leftPokemon, rightPokemon] = game.scene.getPlayerField();
+ expect(leftPokemon).not.toBe(undefined);
+ expect(rightPokemon).not.toBe(undefined);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.NASTY_PLOT));
+ await game.phaseInterceptor.to(CommandPhase);
+ game.doAttack(getMovePosition(game.scene, 0, Moves.SPLASH));
+ await game.toNextTurn();
+
+ expect(leftPokemon.summonData.battleStats[BattleStat.SPATK]).toBe(+2);
+ expect(rightPokemon.summonData.battleStats[BattleStat.SPATK]).toBe(0);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.SPLASH));
+ await game.phaseInterceptor.to(CommandPhase);
+ game.doSwitchPokemon(2);
+ await game.phaseInterceptor.to(MessagePhase);
+
+ [leftPokemon, rightPokemon] = game.scene.getPlayerField();
+ expect(leftPokemon.summonData.battleStats[BattleStat.SPATK]).toBe(+2);
+ expect(rightPokemon.summonData.battleStats[BattleStat.SPATK]).toBe(+2);
+ },
+ TIMEOUT,
+ );
+
+ test(
+ "ability copies negative stat changes",
+ async () => {
+ vi.spyOn(Overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.INTIMIDATE);
+
+ await game.startBattle([Species.MAGIKARP, Species.MAGIKARP, Species.FLAMIGO]);
+
+ let [leftPokemon, rightPokemon] = game.scene.getPlayerField();
+ expect(leftPokemon).not.toBe(undefined);
+ expect(rightPokemon).not.toBe(undefined);
+
+ expect(leftPokemon.summonData.battleStats[BattleStat.ATK]).toBe(-2);
+ expect(leftPokemon.summonData.battleStats[BattleStat.ATK]).toBe(-2);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.SPLASH));
+ await game.phaseInterceptor.to(CommandPhase);
+ game.doSwitchPokemon(2);
+ await game.phaseInterceptor.to(MessagePhase);
+
+ [leftPokemon, rightPokemon] = game.scene.getPlayerField();
+ expect(leftPokemon.summonData.battleStats[BattleStat.ATK]).toBe(-2);
+ expect(rightPokemon.summonData.battleStats[BattleStat.ATK]).toBe(-2);
+ },
+ TIMEOUT,
+ );
+});
diff --git a/src/test/abilities/disguise.test.ts b/src/test/abilities/disguise.test.ts
new file mode 100644
index 00000000000..297aa33e06c
--- /dev/null
+++ b/src/test/abilities/disguise.test.ts
@@ -0,0 +1,98 @@
+import { afterEach, beforeAll, beforeEach, describe, expect, test, vi } from "vitest";
+import GameManager from "#test/utils/gameManager";
+import { getMovePosition } from "#test/utils/gameManagerUtils";
+import * as Overrides from "#app/overrides";
+import { Moves } from "#enums/moves";
+import { Abilities } from "#enums/abilities";
+import { Species } from "#enums/species";
+import { Status, StatusEffect } from "#app/data/status-effect.js";
+import { TurnEndPhase } from "#app/phases.js";
+import { QuietFormChangePhase } from "#app/form-change-phase.js";
+
+const TIMEOUT = 20 * 1000;
+
+describe("Abilities - DISGUISE", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ const moveToUse = Moves.SPLASH;
+ vi.spyOn(Overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(Overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.DISGUISE);
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([moveToUse]);
+ vi.spyOn(Overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE, Moves.TACKLE, Moves.TACKLE, Moves.TACKLE]);
+ });
+
+ test(
+ "check if fainted pokemon switched to base form on arena reset",
+ async () => {
+ const baseForm = 0,
+ bustedForm = 1;
+ vi.spyOn(Overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(4);
+ vi.spyOn(Overrides, "STARTER_FORM_OVERRIDES", "get").mockReturnValue({
+ [Species.MIMIKYU]: bustedForm,
+ });
+
+ await game.startBattle([Species.MAGIKARP, Species.MIMIKYU]);
+
+ const mimikyu = game.scene.getParty().find((p) => p.species.speciesId === Species.MIMIKYU);
+ expect(mimikyu).not.toBe(undefined);
+ expect(mimikyu.formIndex).toBe(bustedForm);
+
+ mimikyu.hp = 0;
+ mimikyu.status = new Status(StatusEffect.FAINT);
+ expect(mimikyu.isFainted()).toBe(true);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.SPLASH));
+ await game.doKillOpponents();
+ await game.phaseInterceptor.to(TurnEndPhase);
+ game.doSelectModifier();
+ await game.phaseInterceptor.to(QuietFormChangePhase);
+
+ expect(mimikyu.formIndex).toBe(baseForm);
+ },
+ TIMEOUT
+ );
+
+ test(
+ "damage taken should be equal to 1/8 of its maximum HP, rounded down",
+ async () => {
+ const baseForm = 0,
+ bustedForm = 1;
+
+ vi.spyOn(Overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.DARK_PULSE, Moves.DARK_PULSE, Moves.DARK_PULSE, Moves.DARK_PULSE]);
+ vi.spyOn(Overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(20);
+ vi.spyOn(Overrides, "OPP_LEVEL_OVERRIDE", "get").mockReturnValue(20);
+ vi.spyOn(Overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.MAGIKARP);
+ vi.spyOn(Overrides, "STARTER_FORM_OVERRIDES", "get").mockReturnValue({
+ [Species.MIMIKYU]: baseForm,
+ });
+
+ await game.startBattle([Species.MIMIKYU]);
+
+ const mimikyu = game.scene.getPlayerPokemon();
+ const damage = (Math.floor(mimikyu.getMaxHp()/8));
+
+ expect(mimikyu).not.toBe(undefined);
+ expect(mimikyu.formIndex).toBe(baseForm);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.SPLASH));
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(mimikyu.formIndex).toBe(bustedForm);
+ expect(game.scene.getEnemyPokemon().turnData.currDamageDealt).toBe(damage);
+ },
+ TIMEOUT
+ );
+});
diff --git a/src/test/abilities/dry_skin.test.ts b/src/test/abilities/dry_skin.test.ts
new file mode 100644
index 00000000000..bfb8f45a11f
--- /dev/null
+++ b/src/test/abilities/dry_skin.test.ts
@@ -0,0 +1,163 @@
+import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import { TurnEndPhase } from "#app/phases";
+import { Moves } from "#enums/moves";
+import { getMovePosition } from "#app/test/utils/gameManagerUtils";
+import { Abilities } from "#enums/abilities";
+import { Species } from "#app/enums/species.js";
+
+describe("Abilities - Dry Skin", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.DRY_SKIN);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH, Moves.SPLASH, Moves.SPLASH, Moves.SPLASH]);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.CHARMANDER);
+ vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.UNNERVE);
+ vi.spyOn(overrides, "STARTER_SPECIES_OVERRIDE", "get").mockReturnValue(Species.CHANDELURE);
+ });
+
+ it("during sunlight, lose 1/8 of maximum health at the end of each turn", async () => {
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SUNNY_DAY, Moves.SPLASH]);
+
+ await game.startBattle();
+
+ const enemy = game.scene.getEnemyPokemon();
+ expect(enemy).not.toBe(undefined);
+
+ // first turn
+ let previousEnemyHp = enemy.hp;
+ game.doAttack(getMovePosition(game.scene, 0, Moves.SUNNY_DAY));
+ await game.phaseInterceptor.to(TurnEndPhase);
+ expect(enemy.hp).toBeLessThan(previousEnemyHp);
+
+ // second turn
+ previousEnemyHp = enemy.hp;
+ game.doAttack(getMovePosition(game.scene, 0, Moves.SPLASH));
+ await game.phaseInterceptor.to(TurnEndPhase);
+ expect(enemy.hp).toBeLessThan(previousEnemyHp);
+ });
+
+ it("during rain, gain 1/8 of maximum health at the end of each turn", async () => {
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.RAIN_DANCE, Moves.SPLASH]);
+
+ await game.startBattle();
+
+ const enemy = game.scene.getEnemyPokemon();
+ expect(enemy).not.toBe(undefined);
+
+ enemy.hp = 1;
+
+ // first turn
+ let previousEnemyHp = enemy.hp;
+ game.doAttack(getMovePosition(game.scene, 0, Moves.RAIN_DANCE));
+ await game.phaseInterceptor.to(TurnEndPhase);
+ expect(enemy.hp).toBeGreaterThan(previousEnemyHp);
+
+ // second turn
+ previousEnemyHp = enemy.hp;
+ game.doAttack(getMovePosition(game.scene, 0, Moves.SPLASH));
+ await game.phaseInterceptor.to(TurnEndPhase);
+ expect(enemy.hp).toBeGreaterThan(previousEnemyHp);
+ });
+
+ it("opposing fire attacks do 25% more damage", async () => {
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.EMBER]);
+
+ // ensure the enemy doesn't die to this
+ vi.spyOn(overrides, "OPP_LEVEL_OVERRIDE", "get").mockReturnValue(30);
+
+ await game.startBattle();
+
+ const enemy = game.scene.getEnemyPokemon();
+ expect(enemy).not.toBe(undefined);
+
+ // first turn
+ vi.spyOn(game.scene, "randBattleSeedInt").mockReturnValue(0); // this makes moves always deal 85% damage
+ game.doAttack(getMovePosition(game.scene, 0, Moves.EMBER));
+ await game.phaseInterceptor.to(TurnEndPhase);
+ const fireDamageTakenWithDrySkin = enemy.getMaxHp() - enemy.hp;
+
+ expect(enemy.hp > 0);
+ enemy.hp = enemy.getMaxHp();
+ vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.NONE);
+
+ // second turn
+ game.doAttack(getMovePosition(game.scene, 0, Moves.EMBER));
+ await game.phaseInterceptor.to(TurnEndPhase);
+ const fireDamageTakenWithoutDrySkin = enemy.getMaxHp() - enemy.hp;
+
+ expect(fireDamageTakenWithDrySkin).toBeGreaterThan(fireDamageTakenWithoutDrySkin);
+ });
+
+ it("opposing water attacks heal 1/4 of maximum health and deal no damage", async () => {
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.WATER_GUN]);
+
+ await game.startBattle();
+
+ const enemy = game.scene.getEnemyPokemon();
+ expect(enemy).not.toBe(undefined);
+
+ enemy.hp = 1;
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.WATER_GUN));
+ await game.phaseInterceptor.to(TurnEndPhase);
+ expect(enemy.hp).toBeGreaterThan(1);
+ });
+
+ it("opposing water attacks do not heal if they were protected from", async () => {
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.WATER_GUN]);
+
+ await game.startBattle();
+
+ const enemy = game.scene.getEnemyPokemon();
+ expect(enemy).not.toBe(undefined);
+
+ enemy.hp = 1;
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.PROTECT, Moves.PROTECT, Moves.PROTECT, Moves.PROTECT]);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.WATER_GUN));
+ await game.phaseInterceptor.to(TurnEndPhase);
+ expect(enemy.hp).toBe(1);
+ });
+
+ it("multi-strike water attacks only heal once", async () => {
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.WATER_GUN, Moves.WATER_SHURIKEN]);
+
+ await game.startBattle();
+
+ const enemy = game.scene.getEnemyPokemon();
+ expect(enemy).not.toBe(undefined);
+
+ enemy.hp = 1;
+
+ // first turn
+ game.doAttack(getMovePosition(game.scene, 0, Moves.WATER_SHURIKEN));
+ await game.phaseInterceptor.to(TurnEndPhase);
+ const healthGainedFromWaterShuriken = enemy.hp - 1;
+
+ enemy.hp = 1;
+
+ // second turn
+ game.doAttack(getMovePosition(game.scene, 0, Moves.WATER_GUN));
+ await game.phaseInterceptor.to(TurnEndPhase);
+ const healthGainedFromWaterGun = enemy.hp - 1;
+
+ expect(healthGainedFromWaterShuriken).toBe(healthGainedFromWaterGun);
+ });
+});
diff --git a/src/test/abilities/ice_face.test.ts b/src/test/abilities/ice_face.test.ts
new file mode 100644
index 00000000000..7d85f5bbc55
--- /dev/null
+++ b/src/test/abilities/ice_face.test.ts
@@ -0,0 +1,276 @@
+import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import { Species } from "#enums/species";
+import {
+ MoveEffectPhase,
+ MoveEndPhase,
+ TurnEndPhase,
+ TurnInitPhase,
+} from "#app/phases";
+import { Moves } from "#enums/moves";
+import { getMovePosition } from "#app/test/utils/gameManagerUtils";
+import { Abilities } from "#enums/abilities";
+import { BattlerTagType } from "#enums/battler-tag-type";
+import { QuietFormChangePhase } from "#app/form-change-phase";
+
+describe("Abilities - Ice Face", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+ const noiceForm = 1;
+ const icefaceForm = 0;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.EISCUE);
+ vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.ICE_FACE);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE, Moves.ICE_BEAM, Moves.TOXIC_THREAD, Moves.HAIL]);
+ });
+
+ it("takes no damage from physical move and transforms to Noice", async () => {
+ await game.startBattle([Species.HITMONLEE]);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.TACKLE));
+
+ await game.phaseInterceptor.to(MoveEndPhase);
+
+ const eiscue = game.scene.getEnemyPokemon();
+
+ expect(eiscue.hp).equals(eiscue.getMaxHp());
+ expect(eiscue.formIndex).toBe(noiceForm);
+ expect(eiscue.getTag(BattlerTagType.ICE_FACE)).toBe(undefined);
+ });
+
+ it("takes no damage from the first hit of multihit physical move and transforms to Noice", async () => {
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SURGING_STRIKES]);
+ vi.spyOn(overrides, "OPP_LEVEL_OVERRIDE", "get").mockReturnValue(1);
+ await game.startBattle([Species.HITMONLEE]);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.SURGING_STRIKES));
+
+ const eiscue = game.scene.getEnemyPokemon();
+ expect(eiscue.getTag(BattlerTagType.ICE_FACE)).toBeDefined();
+
+ // First hit
+ await game.phaseInterceptor.to(MoveEffectPhase);
+ expect(eiscue.hp).equals(eiscue.getMaxHp());
+ expect(eiscue.formIndex).toBe(icefaceForm);
+ expect(eiscue.getTag(BattlerTagType.ICE_FACE)).toBeUndefined();
+
+ // Second hit
+ await game.phaseInterceptor.to(MoveEffectPhase);
+ expect(eiscue.hp).lessThan(eiscue.getMaxHp());
+ expect(eiscue.formIndex).toBe(noiceForm);
+
+ await game.phaseInterceptor.to(MoveEndPhase);
+
+ expect(eiscue.hp).lessThan(eiscue.getMaxHp());
+ expect(eiscue.formIndex).toBe(noiceForm);
+ expect(eiscue.getTag(BattlerTagType.ICE_FACE)).toBeUndefined();
+ });
+
+ it("takes damage from special moves", async () => {
+ await game.startBattle([Species.MAGIKARP]);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.ICE_BEAM));
+
+ await game.phaseInterceptor.to(MoveEndPhase);
+
+ const eiscue = game.scene.getEnemyPokemon();
+
+ expect(eiscue.getTag(BattlerTagType.ICE_FACE)).not.toBe(undefined);
+ expect(eiscue.formIndex).toBe(icefaceForm);
+ expect(eiscue.hp).toBeLessThan(eiscue.getMaxHp());
+ });
+
+ it("takes effects from status moves", async () => {
+ await game.startBattle([Species.MAGIKARP]);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.TOXIC_THREAD));
+
+ await game.phaseInterceptor.to(MoveEndPhase);
+
+ const eiscue = game.scene.getEnemyPokemon();
+
+ expect(eiscue.getTag(BattlerTagType.ICE_FACE)).not.toBe(undefined);
+ expect(eiscue.formIndex).toBe(icefaceForm);
+ });
+
+ it("transforms to Ice Face when Hail or Snow starts", async () => {
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.QUICK_ATTACK]);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.HAIL, Moves.HAIL, Moves.HAIL, Moves.HAIL]);
+
+ await game.startBattle([Species.MAGIKARP]);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.QUICK_ATTACK));
+
+ await game.phaseInterceptor.to(MoveEndPhase);
+
+ const eiscue = game.scene.getEnemyPokemon();
+
+ expect(eiscue.hp).equals(eiscue.getMaxHp());
+ expect(eiscue.formIndex).toBe(noiceForm);
+ expect(eiscue.getTag(BattlerTagType.ICE_FACE)).toBe(undefined);
+
+ await game.phaseInterceptor.to(MoveEndPhase);
+
+ expect(eiscue.getTag(BattlerTagType.ICE_FACE)).not.toBe(undefined);
+ expect(eiscue.formIndex).toBe(icefaceForm);
+ });
+
+ it("transforms to Ice Face when summoned on arena with active Snow or Hail", async () => {
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE, Moves.TACKLE, Moves.TACKLE, Moves.TACKLE]);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SNOWSCAPE]);
+
+ await game.startBattle([Species.EISCUE, Species.NINJASK]);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.SNOWSCAPE));
+
+ await game.phaseInterceptor.to(TurnEndPhase);
+ let eiscue = game.scene.getPlayerPokemon();
+
+ expect(eiscue.getTag(BattlerTagType.ICE_FACE)).toBe(undefined);
+ expect(eiscue.formIndex).toBe(noiceForm);
+ expect(eiscue.hp).equals(eiscue.getMaxHp());
+
+ await game.toNextTurn();
+ game.doSwitchPokemon(1);
+ await game.toNextTurn();
+ game.doSwitchPokemon(1);
+
+ await game.phaseInterceptor.to(QuietFormChangePhase);
+ eiscue = game.scene.getPlayerPokemon();
+
+ expect(eiscue.formIndex).toBe(icefaceForm);
+ expect(eiscue.getTag(BattlerTagType.ICE_FACE)).not.toBe(undefined);
+ });
+
+ it("will not revert to its Ice Face if there is already Hail when it changes into Noice", async () => {
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.SHUCKLE);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE, Moves.TACKLE, Moves.TACKLE, Moves.TACKLE]);
+
+ await game.startBattle([Species.EISCUE]);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.HAIL));
+ const eiscue = game.scene.getPlayerPokemon();
+
+ await game.phaseInterceptor.to(QuietFormChangePhase);
+
+ expect(eiscue.formIndex).toBe(noiceForm);
+ expect(eiscue.getTag(BattlerTagType.ICE_FACE)).toBe(undefined);
+
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(eiscue.formIndex).toBe(noiceForm);
+ expect(eiscue.getTag(BattlerTagType.ICE_FACE)).toBe(undefined);
+ });
+
+ it("persists form change when switched out", async () => {
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.QUICK_ATTACK, Moves.QUICK_ATTACK, Moves.QUICK_ATTACK, Moves.QUICK_ATTACK]);
+
+ await game.startBattle([Species.EISCUE, Species.MAGIKARP]);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.ICE_BEAM));
+
+ await game.phaseInterceptor.to(TurnEndPhase);
+ let eiscue = game.scene.getPlayerPokemon();
+
+ expect(eiscue.getTag(BattlerTagType.ICE_FACE)).toBe(undefined);
+ expect(eiscue.formIndex).toBe(noiceForm);
+ expect(eiscue.hp).equals(eiscue.getMaxHp());
+
+ await game.toNextTurn();
+ game.doSwitchPokemon(1);
+
+ await game.phaseInterceptor.to(TurnEndPhase);
+ eiscue = game.scene.getParty()[1];
+
+ expect(eiscue.formIndex).toBe(noiceForm);
+ expect(eiscue.getTag(BattlerTagType.ICE_FACE)).toBe(undefined);
+ });
+
+ it("reverts to Ice Face on arena reset", async () => {
+ vi.spyOn(overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(4);
+ vi.spyOn(overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(4);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.MAGIKARP);
+ vi.spyOn(overrides, "STARTER_FORM_OVERRIDES", "get").mockReturnValue({
+ [Species.EISCUE]: noiceForm,
+ });
+
+ await game.startBattle([Species.EISCUE]);
+
+ const eiscue = game.scene.getPlayerPokemon();
+
+ expect(eiscue.formIndex).toBe(noiceForm);
+ expect(eiscue.getTag(BattlerTagType.ICE_FACE)).toBe(undefined);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.ICE_BEAM));
+ await game.doKillOpponents();
+ await game.phaseInterceptor.to(TurnEndPhase);
+ game.doSelectModifier();
+ await game.phaseInterceptor.to(TurnInitPhase);
+
+ expect(eiscue.formIndex).toBe(icefaceForm);
+ expect(eiscue.getTag(BattlerTagType.ICE_FACE)).not.toBe(undefined);
+ });
+
+ it("cannot be suppressed", async () => {
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.GASTRO_ACID]);
+
+ await game.startBattle([Species.MAGIKARP]);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.GASTRO_ACID));
+
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ const eiscue = game.scene.getEnemyPokemon();
+
+ expect(eiscue.getTag(BattlerTagType.ICE_FACE)).not.toBe(undefined);
+ expect(eiscue.formIndex).toBe(icefaceForm);
+ expect(eiscue.summonData.abilitySuppressed).toBe(false);
+ });
+
+ it("cannot be swapped with another ability", async () => {
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SKILL_SWAP]);
+
+ await game.startBattle([Species.MAGIKARP]);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.SKILL_SWAP));
+
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ const eiscue = game.scene.getEnemyPokemon();
+
+ expect(eiscue.getTag(BattlerTagType.ICE_FACE)).not.toBe(undefined);
+ expect(eiscue.formIndex).toBe(icefaceForm);
+ expect(eiscue.hasAbility(Abilities.ICE_FACE)).toBe(true);
+ });
+
+ it("cannot be copied", async () => {
+ vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.TRACE);
+
+ await game.startBattle([Species.MAGIKARP]);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.SIMPLE_BEAM));
+
+ await game.phaseInterceptor.to(TurnInitPhase);
+
+ const eiscue = game.scene.getEnemyPokemon();
+
+ expect(eiscue.getTag(BattlerTagType.ICE_FACE)).not.toBe(undefined);
+ expect(eiscue.formIndex).toBe(icefaceForm);
+ expect(game.scene.getPlayerPokemon().hasAbility(Abilities.TRACE)).toBe(true);
+ });
+});
diff --git a/src/test/abilities/intimidate.test.ts b/src/test/abilities/intimidate.test.ts
new file mode 100644
index 00000000000..4a690e76b56
--- /dev/null
+++ b/src/test/abilities/intimidate.test.ts
@@ -0,0 +1,391 @@
+import {afterEach, beforeAll, beforeEach, describe, expect, it, vi} from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import {
+ CommandPhase, DamagePhase, EncounterPhase,
+ EnemyCommandPhase, SelectStarterPhase,
+ TurnInitPhase,
+} from "#app/phases";
+import {Mode} from "#app/ui/ui";
+import {BattleStat} from "#app/data/battle-stat";
+import {generateStarter, getMovePosition} from "#app/test/utils/gameManagerUtils";
+import {Command} from "#app/ui/command-ui-handler";
+import {Status, StatusEffect} from "#app/data/status-effect";
+import {GameModes, getGameMode} from "#app/game-mode";
+import { Abilities } from "#enums/abilities";
+import { Moves } from "#enums/moves";
+import { Species } from "#enums/species";
+
+
+describe("Abilities - Intimidate", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.RATTATA);
+ vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.INTIMIDATE);
+ vi.spyOn(overrides, "OPP_PASSIVE_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.HYDRATION);
+ vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.INTIMIDATE);
+ vi.spyOn(overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(3);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH,Moves.SPLASH,Moves.SPLASH,Moves.SPLASH]);
+ });
+
+ it("single - wild with switch", async() => {
+ await game.runToSummon([
+ Species.MIGHTYENA,
+ Species.POOCHYENA,
+ ]);
+ game.onNextPrompt("CheckSwitchPhase", Mode.CONFIRM, () => {
+ game.setMode(Mode.MESSAGE);
+ game.endPhase();
+ }, () => game.isCurrentPhase(CommandPhase) || game.isCurrentPhase(TurnInitPhase));
+ await game.phaseInterceptor.to(CommandPhase, false);
+ expect(game.scene.getParty()[0].species.speciesId).toBe(Species.MIGHTYENA);
+ let battleStatsOpponent = game.scene.currentBattle.enemyParty[0].summonData.battleStats;
+ expect(battleStatsOpponent[BattleStat.ATK]).toBe(-1);
+ let battleStatsPokemon = game.scene.getParty()[0].summonData.battleStats;
+ expect(battleStatsPokemon[BattleStat.ATK]).toBe(-1);
+ game.doSwitchPokemon(1);
+ await game.phaseInterceptor.run(CommandPhase);
+ await game.phaseInterceptor.to(CommandPhase);
+ expect(game.scene.getParty()[0].species.speciesId).toBe(Species.POOCHYENA);
+
+ battleStatsPokemon = game.scene.getParty()[0].summonData.battleStats;
+ expect(battleStatsPokemon[BattleStat.ATK]).toBe(0);
+
+ battleStatsOpponent = game.scene.currentBattle.enemyParty[0].summonData.battleStats;
+ expect(battleStatsOpponent[BattleStat.ATK]).toBe(-2);
+ }, 20000);
+
+ it("single - boss should only trigger once then switch", async() => {
+ vi.spyOn(overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(10);
+ await game.runToSummon([
+ Species.MIGHTYENA,
+ Species.POOCHYENA,
+ ]);
+ game.onNextPrompt("CheckSwitchPhase", Mode.CONFIRM, () => {
+ game.setMode(Mode.MESSAGE);
+ game.endPhase();
+ }, () => game.isCurrentPhase(CommandPhase) || game.isCurrentPhase(TurnInitPhase));
+ await game.phaseInterceptor.to(CommandPhase, false);
+ let battleStatsOpponent = game.scene.currentBattle.enemyParty[0].summonData.battleStats;
+ expect(battleStatsOpponent[BattleStat.ATK]).toBe(-1);
+ let battleStatsPokemon = game.scene.getParty()[0].summonData.battleStats;
+ expect(battleStatsPokemon[BattleStat.ATK]).toBe(-1);
+ game.doSwitchPokemon(1);
+ await game.phaseInterceptor.run(CommandPhase);
+ await game.phaseInterceptor.to(CommandPhase);
+ expect(game.scene.getParty()[0].species.speciesId).toBe(Species.POOCHYENA);
+
+ battleStatsPokemon = game.scene.getParty()[0].summonData.battleStats;
+ expect(battleStatsPokemon[BattleStat.ATK]).toBe(0);
+
+ battleStatsOpponent = game.scene.currentBattle.enemyParty[0].summonData.battleStats;
+ expect(battleStatsOpponent[BattleStat.ATK]).toBe(-2);
+ }, 20000);
+
+ it("single - trainer should only trigger once with switch", async() => {
+ vi.spyOn(overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(5);
+ await game.runToSummon([
+ Species.MIGHTYENA,
+ Species.POOCHYENA,
+ ]);
+ game.onNextPrompt("CheckSwitchPhase", Mode.CONFIRM, () => {
+ game.setMode(Mode.MESSAGE);
+ game.endPhase();
+ }, () => game.isCurrentPhase(CommandPhase) || game.isCurrentPhase(TurnInitPhase));
+ await game.phaseInterceptor.to(CommandPhase, false);
+ let battleStatsOpponent = game.scene.currentBattle.enemyParty[0].summonData.battleStats;
+ expect(battleStatsOpponent[BattleStat.ATK]).toBe(-1);
+ let battleStatsPokemon = game.scene.getParty()[0].summonData.battleStats;
+ expect(battleStatsPokemon[BattleStat.ATK]).toBe(-1);
+ game.doSwitchPokemon(1);
+ await game.phaseInterceptor.run(CommandPhase);
+ await game.phaseInterceptor.to(CommandPhase);
+ expect(game.scene.getParty()[0].species.speciesId).toBe(Species.POOCHYENA);
+
+ battleStatsPokemon = game.scene.getParty()[0].summonData.battleStats;
+ expect(battleStatsPokemon[BattleStat.ATK]).toBe(0);
+
+ battleStatsOpponent = game.scene.currentBattle.enemyParty[0].summonData.battleStats;
+ expect(battleStatsOpponent[BattleStat.ATK]).toBe(-2);
+ }, 200000);
+
+ it("double - trainer should only trigger once per pokemon", async() => {
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(false);
+ vi.spyOn(overrides, "DOUBLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(5);
+ await game.runToSummon([
+ Species.MIGHTYENA,
+ Species.POOCHYENA,
+ ]);
+ game.onNextPrompt("CheckSwitchPhase", Mode.CONFIRM, () => {
+ game.setMode(Mode.MESSAGE);
+ game.endPhase();
+ }, () => game.isCurrentPhase(CommandPhase) || game.isCurrentPhase(TurnInitPhase));
+ await game.phaseInterceptor.to(CommandPhase, false);
+ const battleStatsOpponent = game.scene.currentBattle.enemyParty[0].summonData.battleStats;
+ expect(battleStatsOpponent[BattleStat.ATK]).toBe(-2);
+ const battleStatsOpponent2 = game.scene.currentBattle.enemyParty[1].summonData.battleStats;
+ expect(battleStatsOpponent2[BattleStat.ATK]).toBe(-2);
+
+ const battleStatsPokemon = game.scene.getParty()[0].summonData.battleStats;
+ expect(battleStatsPokemon[BattleStat.ATK]).toBe(-2);
+
+ const battleStatsPokemon2 = game.scene.getParty()[1].summonData.battleStats;
+ expect(battleStatsPokemon2[BattleStat.ATK]).toBe(-2);
+ }, 20000);
+
+ it("double - wild: should only trigger once per pokemon", async() => {
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(false);
+ vi.spyOn(overrides, "DOUBLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(3);
+ await game.runToSummon([
+ Species.MIGHTYENA,
+ Species.POOCHYENA,
+ ]);
+ game.onNextPrompt("CheckSwitchPhase", Mode.CONFIRM, () => {
+ game.setMode(Mode.MESSAGE);
+ game.endPhase();
+ }, () => game.isCurrentPhase(CommandPhase) || game.isCurrentPhase(TurnInitPhase));
+ await game.phaseInterceptor.to(CommandPhase, false);
+ const battleStatsOpponent = game.scene.currentBattle.enemyParty[0].summonData.battleStats;
+ expect(battleStatsOpponent[BattleStat.ATK]).toBe(-2);
+ const battleStatsOpponent2 = game.scene.currentBattle.enemyParty[1].summonData.battleStats;
+ expect(battleStatsOpponent2[BattleStat.ATK]).toBe(-2);
+
+ const battleStatsPokemon = game.scene.getParty()[0].summonData.battleStats;
+ expect(battleStatsPokemon[BattleStat.ATK]).toBe(-2);
+
+ const battleStatsPokemon2 = game.scene.getParty()[1].summonData.battleStats;
+ expect(battleStatsPokemon2[BattleStat.ATK]).toBe(-2);
+ }, 20000);
+
+ it("double - boss: should only trigger once per pokemon", async() => {
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(false);
+ vi.spyOn(overrides, "DOUBLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(10);
+ await game.runToSummon([
+ Species.MIGHTYENA,
+ Species.POOCHYENA,
+ ]);
+ game.onNextPrompt("CheckSwitchPhase", Mode.CONFIRM, () => {
+ game.setMode(Mode.MESSAGE);
+ game.endPhase();
+ }, () => game.isCurrentPhase(CommandPhase) || game.isCurrentPhase(TurnInitPhase));
+ await game.phaseInterceptor.to(CommandPhase, false);
+ const battleStatsOpponent = game.scene.currentBattle.enemyParty[0].summonData.battleStats;
+ expect(battleStatsOpponent[BattleStat.ATK]).toBe(-2);
+ const battleStatsOpponent2 = game.scene.currentBattle.enemyParty[1].summonData.battleStats;
+ expect(battleStatsOpponent2[BattleStat.ATK]).toBe(-2);
+
+ const battleStatsPokemon = game.scene.getParty()[0].summonData.battleStats;
+ expect(battleStatsPokemon[BattleStat.ATK]).toBe(-2);
+
+ const battleStatsPokemon2 = game.scene.getParty()[1].summonData.battleStats;
+ expect(battleStatsPokemon2[BattleStat.ATK]).toBe(-2);
+ }, 20000);
+
+ it("single - wild next wave opp triger once, us: none", async() => {
+ vi.spyOn(overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(2);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.AERIAL_ACE]);
+ await game.startBattle([
+ Species.MIGHTYENA,
+ Species.POOCHYENA,
+ ]);
+ let battleStatsOpponent = game.scene.currentBattle.enemyParty[0].summonData.battleStats;
+ expect(battleStatsOpponent[BattleStat.ATK]).toBe(-1);
+ let battleStatsPokemon = game.scene.getParty()[0].summonData.battleStats;
+ expect(battleStatsPokemon[BattleStat.ATK]).toBe(-1);
+
+ game.onNextPrompt("CommandPhase", Mode.COMMAND, () => {
+ game.scene.ui.setMode(Mode.FIGHT, (game.scene.getCurrentPhase() as CommandPhase).getFieldIndex());
+ });
+ game.onNextPrompt("CommandPhase", Mode.FIGHT, () => {
+ const movePosition = getMovePosition(game.scene, 0, Moves.AERIAL_ACE);
+ (game.scene.getCurrentPhase() as CommandPhase).handleCommand(Command.FIGHT, movePosition, false);
+ });
+ await game.phaseInterceptor.runFrom(EnemyCommandPhase).to(DamagePhase);
+ await game.killPokemon(game.scene.currentBattle.enemyParty[0]);
+ expect(game.scene.currentBattle.enemyParty[0].isFainted()).toBe(true);
+ await game.toNextWave();
+ battleStatsPokemon = game.scene.getParty()[0].summonData.battleStats;
+ expect(battleStatsPokemon[BattleStat.ATK]).toBe(-2);
+ battleStatsOpponent = game.scene.currentBattle.enemyParty[0].summonData.battleStats;
+ expect(battleStatsOpponent[BattleStat.ATK]).toBe(0);
+ }, 20000);
+
+ it("single - wild next turn - no retrigger on next turn", async() => {
+ vi.spyOn(overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(2);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH]);
+ await game.startBattle([
+ Species.MIGHTYENA,
+ Species.POOCHYENA,
+ ]);
+ let battleStatsOpponent = game.scene.currentBattle.enemyParty[0].summonData.battleStats;
+ expect(battleStatsOpponent[BattleStat.ATK]).toBe(-1);
+ let battleStatsPokemon = game.scene.getParty()[0].summonData.battleStats;
+ expect(battleStatsPokemon[BattleStat.ATK]).toBe(-1);
+
+ game.onNextPrompt("CommandPhase", Mode.COMMAND, () => {
+ game.scene.ui.setMode(Mode.FIGHT, (game.scene.getCurrentPhase() as CommandPhase).getFieldIndex());
+ });
+ game.onNextPrompt("CommandPhase", Mode.FIGHT, () => {
+ const movePosition = getMovePosition(game.scene, 0, Moves.AERIAL_ACE);
+ (game.scene.getCurrentPhase() as CommandPhase).handleCommand(Command.FIGHT, movePosition, false);
+ });
+ console.log("===to new turn===");
+ await game.toNextTurn();
+ battleStatsPokemon = game.scene.getParty()[0].summonData.battleStats;
+ expect(battleStatsPokemon[BattleStat.ATK]).toBe(-1);
+ battleStatsOpponent = game.scene.currentBattle.enemyParty[0].summonData.battleStats;
+ expect(battleStatsOpponent[BattleStat.ATK]).toBe(-1);
+ }, 20000);
+
+ it("single - trainer should only trigger once and each time he switch", async() => {
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH]);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.VOLT_SWITCH,Moves.VOLT_SWITCH,Moves.VOLT_SWITCH,Moves.VOLT_SWITCH]);
+ vi.spyOn(overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(5);
+ await game.startBattle([
+ Species.MIGHTYENA,
+ Species.POOCHYENA,
+ ]);
+ let battleStatsOpponent = game.scene.currentBattle.enemyParty[0].summonData.battleStats;
+ expect(battleStatsOpponent[BattleStat.ATK]).toBe(-1);
+ let battleStatsPokemon = game.scene.getParty()[0].summonData.battleStats;
+ expect(battleStatsPokemon[BattleStat.ATK]).toBe(-1);
+
+ game.onNextPrompt("CommandPhase", Mode.COMMAND, () => {
+ game.scene.ui.setMode(Mode.FIGHT, (game.scene.getCurrentPhase() as CommandPhase).getFieldIndex());
+ });
+ game.onNextPrompt("CommandPhase", Mode.FIGHT, () => {
+ const movePosition = getMovePosition(game.scene, 0, Moves.AERIAL_ACE);
+ (game.scene.getCurrentPhase() as CommandPhase).handleCommand(Command.FIGHT, movePosition, false);
+ });
+ console.log("===to new turn===");
+ await game.toNextTurn();
+ battleStatsPokemon = game.scene.getParty()[0].summonData.battleStats;
+ expect(battleStatsPokemon[BattleStat.ATK]).toBe(-2);
+ battleStatsOpponent = game.scene.currentBattle.enemyParty[0].summonData.battleStats;
+ expect(battleStatsOpponent[BattleStat.ATK]).toBe(0);
+
+
+ game.onNextPrompt("CommandPhase", Mode.COMMAND, () => {
+ game.scene.ui.setMode(Mode.FIGHT, (game.scene.getCurrentPhase() as CommandPhase).getFieldIndex());
+ });
+ game.onNextPrompt("CommandPhase", Mode.FIGHT, () => {
+ const movePosition = getMovePosition(game.scene, 0, Moves.AERIAL_ACE);
+ (game.scene.getCurrentPhase() as CommandPhase).handleCommand(Command.FIGHT, movePosition, false);
+ });
+ console.log("===to new turn===");
+ await game.toNextTurn();
+ battleStatsPokemon = game.scene.getParty()[0].summonData.battleStats;
+ expect(battleStatsPokemon[BattleStat.ATK]).toBe(-3);
+ battleStatsOpponent = game.scene.currentBattle.enemyParty[0].summonData.battleStats;
+ expect(battleStatsOpponent[BattleStat.ATK]).toBe(0);
+ }, 200000);
+
+ it("single - trainer should only trigger once whatever turn we are", async() => {
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH]);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH,Moves.SPLASH,Moves.SPLASH,Moves.SPLASH]);
+ vi.spyOn(overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(5);
+ await game.startBattle([
+ Species.MIGHTYENA,
+ Species.POOCHYENA,
+ ]);
+ let battleStatsOpponent = game.scene.currentBattle.enemyParty[0].summonData.battleStats;
+ expect(battleStatsOpponent[BattleStat.ATK]).toBe(-1);
+ let battleStatsPokemon = game.scene.getParty()[0].summonData.battleStats;
+ expect(battleStatsPokemon[BattleStat.ATK]).toBe(-1);
+
+ game.onNextPrompt("CommandPhase", Mode.COMMAND, () => {
+ game.scene.ui.setMode(Mode.FIGHT, (game.scene.getCurrentPhase() as CommandPhase).getFieldIndex());
+ });
+ game.onNextPrompt("CommandPhase", Mode.FIGHT, () => {
+ const movePosition = getMovePosition(game.scene, 0, Moves.AERIAL_ACE);
+ (game.scene.getCurrentPhase() as CommandPhase).handleCommand(Command.FIGHT, movePosition, false);
+ });
+ console.log("===to new turn===");
+ await game.toNextTurn();
+ battleStatsPokemon = game.scene.getParty()[0].summonData.battleStats;
+ expect(battleStatsPokemon[BattleStat.ATK]).toBe(-1);
+ battleStatsOpponent = game.scene.currentBattle.enemyParty[0].summonData.battleStats;
+ expect(battleStatsOpponent[BattleStat.ATK]).toBe(-1);
+
+
+ game.onNextPrompt("CommandPhase", Mode.COMMAND, () => {
+ game.scene.ui.setMode(Mode.FIGHT, (game.scene.getCurrentPhase() as CommandPhase).getFieldIndex());
+ });
+ game.onNextPrompt("CommandPhase", Mode.FIGHT, () => {
+ const movePosition = getMovePosition(game.scene, 0, Moves.AERIAL_ACE);
+ (game.scene.getCurrentPhase() as CommandPhase).handleCommand(Command.FIGHT, movePosition, false);
+ });
+ console.log("===to new turn===");
+ await game.toNextTurn();
+ battleStatsPokemon = game.scene.getParty()[0].summonData.battleStats;
+ expect(battleStatsPokemon[BattleStat.ATK]).toBe(-1);
+ battleStatsOpponent = game.scene.currentBattle.enemyParty[0].summonData.battleStats;
+ expect(battleStatsOpponent[BattleStat.ATK]).toBe(-1);
+ }, 20000);
+
+ it("double - wild vs only 1 on player side", async() => {
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(false);
+ vi.spyOn(overrides, "DOUBLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(3);
+ await game.runToSummon([
+ Species.MIGHTYENA,
+ ]);
+ await game.phaseInterceptor.to(CommandPhase, false);
+ const battleStatsOpponent = game.scene.currentBattle.enemyParty[0].summonData.battleStats;
+ expect(battleStatsOpponent[BattleStat.ATK]).toBe(-1);
+ const battleStatsOpponent2 = game.scene.currentBattle.enemyParty[1].summonData.battleStats;
+ expect(battleStatsOpponent2[BattleStat.ATK]).toBe(-1);
+
+ const battleStatsPokemon = game.scene.getParty()[0].summonData.battleStats;
+ expect(battleStatsPokemon[BattleStat.ATK]).toBe(-2);
+ }, 20000);
+
+ it("double - wild vs only 1 alive on player side", async() => {
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(false);
+ vi.spyOn(overrides, "DOUBLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(3);
+ await game.runToTitle();
+
+ game.onNextPrompt("TitlePhase", Mode.TITLE, () => {
+ game.scene.gameMode = getGameMode(GameModes.CLASSIC);
+ const starters = generateStarter(game.scene, [
+ Species.MIGHTYENA,
+ Species.POOCHYENA,
+ ]);
+ const selectStarterPhase = new SelectStarterPhase(game.scene);
+ game.scene.pushPhase(new EncounterPhase(game.scene, false));
+ selectStarterPhase.initBattle(starters);
+ game.scene.getParty()[1].hp = 0;
+ game.scene.getParty()[1].status = new Status(StatusEffect.FAINT);
+ });
+
+ await game.phaseInterceptor.run(EncounterPhase);
+
+ await game.phaseInterceptor.to(CommandPhase, false);
+ const battleStatsOpponent = game.scene.currentBattle.enemyParty[0].summonData.battleStats;
+ expect(battleStatsOpponent[BattleStat.ATK]).toBe(-1);
+ const battleStatsOpponent2 = game.scene.currentBattle.enemyParty[1].summonData.battleStats;
+ expect(battleStatsOpponent2[BattleStat.ATK]).toBe(-1);
+
+ const battleStatsPokemon = game.scene.getParty()[0].summonData.battleStats;
+ expect(battleStatsPokemon[BattleStat.ATK]).toBe(-2);
+ }, 20000);
+});
diff --git a/src/test/abilities/intrepid_sword.test.ts b/src/test/abilities/intrepid_sword.test.ts
new file mode 100644
index 00000000000..2d51642be70
--- /dev/null
+++ b/src/test/abilities/intrepid_sword.test.ts
@@ -0,0 +1,45 @@
+import {afterEach, beforeAll, beforeEach, describe, expect, it, vi} from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import {Abilities} from "#enums/abilities";
+import {Species} from "#enums/species";
+import {
+ CommandPhase,
+} from "#app/phases";
+import {BattleStat} from "#app/data/battle-stat";
+
+
+describe("Abilities - Intrepid Sword", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.ZACIAN);
+ vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.INTREPID_SWORD);
+ vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.INTREPID_SWORD);
+ });
+
+ it("INTREPID SWORD on player", async() => {
+ await game.runToSummon([
+ Species.ZACIAN,
+ ]);
+ await game.phaseInterceptor.to(CommandPhase, false);
+ const battleStatsPokemon = game.scene.getParty()[0].summonData.battleStats;
+ expect(battleStatsPokemon[BattleStat.ATK]).toBe(1);
+ const battleStatsOpponent = game.scene.currentBattle.enemyParty[0].summonData.battleStats;
+ expect(battleStatsOpponent[BattleStat.ATK]).toBe(1);
+ }, 20000);
+});
diff --git a/src/test/abilities/libero.test.ts b/src/test/abilities/libero.test.ts
new file mode 100644
index 00000000000..a00239a651b
--- /dev/null
+++ b/src/test/abilities/libero.test.ts
@@ -0,0 +1,364 @@
+import Phaser from "phaser";
+import { afterEach, beforeAll, beforeEach, describe, expect, test, vi } from "vitest";
+import GameManager from "../utils/gameManager";
+import * as Overrides from "#app/overrides";
+import { Species } from "#enums/species";
+import { Abilities } from "#enums/abilities";
+import { Moves } from "#enums/moves";
+import { getMovePosition } from "../utils/gameManagerUtils";
+import { MoveEffectPhase, TurnEndPhase } from "#app/phases.js";
+import { allMoves } from "#app/data/move.js";
+import { BattlerTagType } from "#enums/battler-tag-type";
+import { Weather, WeatherType } from "#app/data/weather.js";
+import { Type } from "#app/data/type.js";
+import { Biome } from "#enums/biome";
+import { PlayerPokemon } from "#app/field/pokemon.js";
+
+const TIMEOUT = 20 * 1000;
+
+describe("Abilities - Protean", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ vi.spyOn(Overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(Overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.LIBERO);
+ vi.spyOn(Overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(100);
+ vi.spyOn(Overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.RATTATA);
+ vi.spyOn(Overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.ENDURE, Moves.ENDURE, Moves.ENDURE, Moves.ENDURE]);
+ });
+
+ test(
+ "ability applies and changes a pokemon's type",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH]);
+
+ await game.startBattle([Species.MAGIKARP]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.SPLASH));
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ testPokemonTypeMatchesDefaultMoveType(leadPokemon, Moves.SPLASH);
+ },
+ TIMEOUT,
+ );
+
+ test.skip(
+ "ability applies only once per switch in",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH, Moves.AGILITY]);
+
+ await game.startBattle([Species.MAGIKARP, Species.BULBASAUR]);
+
+ let leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.SPLASH));
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ testPokemonTypeMatchesDefaultMoveType(leadPokemon, Moves.SPLASH);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.AGILITY));
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(leadPokemon.summonData.abilitiesApplied.filter((a) => a === Abilities.LIBERO)).toHaveLength(1);
+ const leadPokemonType = Type[leadPokemon.getTypes()[0]];
+ const moveType = Type[allMoves[Moves.AGILITY].defaultType];
+ expect(leadPokemonType).not.toBe(moveType);
+
+ await game.toNextTurn();
+ game.doSwitchPokemon(1);
+ await game.toNextTurn();
+ game.doSwitchPokemon(1);
+ await game.toNextTurn();
+
+ leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.SPLASH));
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ testPokemonTypeMatchesDefaultMoveType(leadPokemon, Moves.SPLASH);
+ },
+ TIMEOUT,
+ );
+
+ test(
+ "ability applies correctly even if the pokemon's move has a variable type",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.WEATHER_BALL]);
+
+ await game.startBattle([Species.MAGIKARP]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ game.scene.arena.weather = new Weather(WeatherType.SUNNY);
+ game.doAttack(getMovePosition(game.scene, 0, Moves.WEATHER_BALL));
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(leadPokemon.summonData.abilitiesApplied).toContain(Abilities.LIBERO);
+ expect(leadPokemon.getTypes()).toHaveLength(1);
+ const leadPokemonType = Type[leadPokemon.getTypes()[0]],
+ moveType = Type[Type.FIRE];
+ expect(leadPokemonType).toBe(moveType);
+ },
+ TIMEOUT,
+ );
+
+ test(
+ "ability applies correctly even if the type has changed by another ability",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE]);
+ vi.spyOn(Overrides, "PASSIVE_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.REFRIGERATE);
+
+ await game.startBattle([Species.MAGIKARP]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.TACKLE));
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(leadPokemon.summonData.abilitiesApplied).toContain(Abilities.LIBERO);
+ expect(leadPokemon.getTypes()).toHaveLength(1);
+ const leadPokemonType = Type[leadPokemon.getTypes()[0]],
+ moveType = Type[Type.ICE];
+ expect(leadPokemonType).toBe(moveType);
+ },
+ TIMEOUT,
+ );
+
+ test(
+ "ability applies correctly even if the pokemon's move calls another move",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.NATURE_POWER]);
+
+ await game.startBattle([Species.MAGIKARP]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ game.scene.arena.biomeType = Biome.MOUNTAIN;
+ game.doAttack(getMovePosition(game.scene, 0, Moves.NATURE_POWER));
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ testPokemonTypeMatchesDefaultMoveType(leadPokemon, Moves.AIR_SLASH);
+ },
+ TIMEOUT,
+ );
+
+ test(
+ "ability applies correctly even if the pokemon's move is delayed / charging",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.DIG]);
+
+ await game.startBattle([Species.MAGIKARP]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.DIG));
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ testPokemonTypeMatchesDefaultMoveType(leadPokemon, Moves.DIG);
+ },
+ TIMEOUT,
+ );
+
+ test(
+ "ability applies correctly even if the pokemon's move misses",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE]);
+ vi.spyOn(Overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH, Moves.SPLASH, Moves.SPLASH, Moves.SPLASH]);
+
+ await game.startBattle([Species.MAGIKARP]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.TACKLE));
+ await game.phaseInterceptor.to(MoveEffectPhase, false);
+ vi.spyOn(game.scene.getCurrentPhase() as MoveEffectPhase, "hitCheck").mockReturnValueOnce(false);
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ const enemyPokemon = game.scene.getEnemyPokemon();
+ expect(enemyPokemon.hp).toBe(enemyPokemon.getMaxHp());
+ testPokemonTypeMatchesDefaultMoveType(leadPokemon, Moves.TACKLE);
+ },
+ TIMEOUT,
+ );
+
+ test(
+ "ability applies correctly even if the pokemon's move is protected against",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE]);
+ vi.spyOn(Overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.PROTECT, Moves.PROTECT, Moves.PROTECT, Moves.PROTECT]);
+
+ await game.startBattle([Species.MAGIKARP]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.TACKLE));
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ testPokemonTypeMatchesDefaultMoveType(leadPokemon, Moves.TACKLE);
+ },
+ TIMEOUT,
+ );
+
+ test(
+ "ability applies correctly even if the pokemon's move fails because of type immunity",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE]);
+ vi.spyOn(Overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.GASTLY);
+
+ await game.startBattle([Species.MAGIKARP]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.TACKLE));
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ testPokemonTypeMatchesDefaultMoveType(leadPokemon, Moves.TACKLE);
+ },
+ TIMEOUT,
+ );
+
+ test(
+ "ability is not applied if pokemon's type is the same as the move's type",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH]);
+
+ await game.startBattle([Species.MAGIKARP]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ leadPokemon.summonData.types = [allMoves[Moves.SPLASH].defaultType];
+ game.doAttack(getMovePosition(game.scene, 0, Moves.SPLASH));
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(leadPokemon.summonData.abilitiesApplied).not.toContain(Abilities.LIBERO);
+ },
+ TIMEOUT,
+ );
+
+ test(
+ "ability is not applied if pokemon is terastallized",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH]);
+
+ await game.startBattle([Species.MAGIKARP]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ vi.spyOn(leadPokemon, "isTerastallized").mockReturnValue(true);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.SPLASH));
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(leadPokemon.summonData.abilitiesApplied).not.toContain(Abilities.LIBERO);
+ },
+ TIMEOUT,
+ );
+
+ test(
+ "ability is not applied if pokemon uses struggle",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.STRUGGLE]);
+
+ await game.startBattle([Species.MAGIKARP]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.STRUGGLE));
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(leadPokemon.summonData.abilitiesApplied).not.toContain(Abilities.LIBERO);
+ },
+ TIMEOUT,
+ );
+
+ test(
+ "ability is not applied if the pokemon's move fails",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.BURN_UP]);
+
+ await game.startBattle([Species.MAGIKARP]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.BURN_UP));
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(leadPokemon.summonData.abilitiesApplied).not.toContain(Abilities.LIBERO);
+ },
+ TIMEOUT,
+ );
+
+ test(
+ "ability applies correctly even if the pokemon's Trick-or-Treat fails",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TRICK_OR_TREAT]);
+ vi.spyOn(Overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.GASTLY);
+
+ await game.startBattle([Species.MAGIKARP]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.TRICK_OR_TREAT));
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ testPokemonTypeMatchesDefaultMoveType(leadPokemon, Moves.TRICK_OR_TREAT);
+ },
+ TIMEOUT,
+ );
+
+ test(
+ "ability applies correctly and the pokemon curses itself",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.CURSE]);
+
+ await game.startBattle([Species.MAGIKARP]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.CURSE));
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ testPokemonTypeMatchesDefaultMoveType(leadPokemon, Moves.CURSE);
+ expect(leadPokemon.getTag(BattlerTagType.CURSED)).not.toBe(undefined);
+ },
+ TIMEOUT,
+ );
+});
+
+function testPokemonTypeMatchesDefaultMoveType(pokemon: PlayerPokemon, move: Moves) {
+ expect(pokemon.summonData.abilitiesApplied).toContain(Abilities.LIBERO);
+ expect(pokemon.getTypes()).toHaveLength(1);
+ const pokemonType = Type[pokemon.getTypes()[0]],
+ moveType = Type[allMoves[move].defaultType];
+ expect(pokemonType).toBe(moveType);
+}
diff --git a/src/test/abilities/moxie.test.ts b/src/test/abilities/moxie.test.ts
new file mode 100644
index 00000000000..46fc4e5c34c
--- /dev/null
+++ b/src/test/abilities/moxie.test.ts
@@ -0,0 +1,67 @@
+import {afterEach, beforeAll, beforeEach, describe, expect, it, vi} from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import {
+ CommandPhase,
+ EnemyCommandPhase,
+ VictoryPhase
+} from "#app/phases";
+import {Mode} from "#app/ui/ui";
+import {Stat} from "#app/data/pokemon-stat";
+import {getMovePosition} from "#app/test/utils/gameManagerUtils";
+import {Command} from "#app/ui/command-ui-handler";
+import {BattleStat} from "#app/data/battle-stat";
+import { Abilities } from "#enums/abilities";
+import { Moves } from "#enums/moves";
+import { Species } from "#enums/species";
+
+
+describe("Abilities - Moxie", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ const moveToUse = Moves.AERIAL_ACE;
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.RATTATA);
+ vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.MOXIE);
+ vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.MOXIE);
+ vi.spyOn(overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(2000);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([moveToUse]);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE,Moves.TACKLE,Moves.TACKLE,Moves.TACKLE]);
+ });
+
+ it("MOXIE", async() => {
+ const moveToUse = Moves.AERIAL_ACE;
+ await game.startBattle([
+ Species.MIGHTYENA,
+ Species.MIGHTYENA,
+ ]);
+
+ let battleStatsPokemon = game.scene.getParty()[0].summonData.battleStats;
+ expect(battleStatsPokemon[Stat.ATK]).toBe(0);
+
+ game.onNextPrompt("CommandPhase", Mode.COMMAND, () => {
+ game.scene.ui.setMode(Mode.FIGHT, (game.scene.getCurrentPhase() as CommandPhase).getFieldIndex());
+ });
+ game.onNextPrompt("CommandPhase", Mode.FIGHT, () => {
+ const movePosition = getMovePosition(game.scene, 0, moveToUse);
+ (game.scene.getCurrentPhase() as CommandPhase).handleCommand(Command.FIGHT, movePosition, false);
+ });
+ await game.phaseInterceptor.runFrom(EnemyCommandPhase).to(VictoryPhase);
+ battleStatsPokemon = game.scene.getParty()[0].summonData.battleStats;
+ expect(battleStatsPokemon[BattleStat.ATK]).toBe(1);
+ }, 20000);
+});
diff --git a/src/test/abilities/parental_bond.test.ts b/src/test/abilities/parental_bond.test.ts
new file mode 100644
index 00000000000..4401ee0d40a
--- /dev/null
+++ b/src/test/abilities/parental_bond.test.ts
@@ -0,0 +1,650 @@
+import Phaser from "phaser";
+import { afterEach, beforeAll, beforeEach, describe, expect, test, vi } from "vitest";
+import GameManager from "../utils/gameManager";
+import * as Overrides from "#app/overrides";
+import { Species } from "#enums/species";
+import { Abilities } from "#enums/abilities";
+import { Moves } from "#enums/moves";
+import { getMovePosition } from "../utils/gameManagerUtils";
+import { BerryPhase, CommandPhase, DamagePhase, MoveEffectPhase, MoveEndPhase, TurnEndPhase } from "#app/phases.js";
+import { BattleStat } from "#app/data/battle-stat.js";
+import { Type } from "#app/data/type.js";
+import { BattlerTagType } from "#app/enums/battler-tag-type.js";
+import { StatusEffect } from "#app/data/status-effect.js";
+
+const TIMEOUT = 20 * 1000;
+
+describe("Abilities - Parental Bond", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ vi.spyOn(Overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(Overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.PARENTAL_BOND);
+ vi.spyOn(Overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.SNORLAX);
+ vi.spyOn(Overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.INSOMNIA);
+ vi.spyOn(Overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH, Moves.SPLASH, Moves.SPLASH, Moves.SPLASH]);
+ vi.spyOn(Overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(100);
+ vi.spyOn(Overrides, "OPP_LEVEL_OVERRIDE", "get").mockReturnValue(100);
+ });
+
+ test(
+ "ability should add second strike to attack move",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE]);
+
+ await game.startBattle([Species.CHARIZARD]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ const enemyPokemon = game.scene.getEnemyPokemon();
+ expect(enemyPokemon).not.toBe(undefined);
+
+ let enemyStartingHp = enemyPokemon.hp;
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.TACKLE));
+
+ await game.phaseInterceptor.to(MoveEffectPhase, false);
+ vi.spyOn(game.scene, "randBattleSeedInt").mockReturnValue(15);
+
+ await game.phaseInterceptor.to(DamagePhase);
+ const firstStrikeDamage = enemyStartingHp - enemyPokemon.hp;
+ enemyStartingHp = enemyPokemon.hp;
+
+ await game.phaseInterceptor.to(BerryPhase, false);
+
+ const secondStrikeDamage = enemyStartingHp - enemyPokemon.hp;
+
+ expect(leadPokemon.turnData.hitCount).toBe(2);
+ expect(secondStrikeDamage).toBe(Math.ceil(0.25 * firstStrikeDamage));
+ }, TIMEOUT
+ );
+
+ test(
+ "ability should apply secondary effects to both strikes",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.POWER_UP_PUNCH]);
+ vi.spyOn(Overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.AMOONGUSS);
+
+ await game.startBattle([Species.CHARIZARD]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ const enemyPokemon = game.scene.getEnemyPokemon();
+ expect(enemyPokemon).not.toBe(undefined);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.POWER_UP_PUNCH));
+
+ await game.phaseInterceptor.to(BerryPhase, false);
+
+ expect(leadPokemon.turnData.hitCount).toBe(2);
+ expect(leadPokemon.summonData.battleStats[BattleStat.ATK]).toBe(2);
+ }, TIMEOUT
+ );
+
+ test(
+ "ability should not apply to Status moves",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.BABY_DOLL_EYES]);
+
+ await game.startBattle([Species.CHARIZARD]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ const enemyPokemon = game.scene.getEnemyPokemon();
+ expect(enemyPokemon).not.toBe(undefined);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.BABY_DOLL_EYES));
+ await game.phaseInterceptor.to(BerryPhase, false);
+
+ expect(enemyPokemon.summonData.battleStats[BattleStat.ATK]).toBe(-1);
+ }, TIMEOUT
+ );
+
+ test(
+ "ability should not apply to multi-hit moves",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.DOUBLE_HIT]);
+
+ await game.startBattle([Species.CHARIZARD]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ const enemyPokemon = game.scene.getEnemyPokemon();
+ expect(enemyPokemon).not.toBe(undefined);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.DOUBLE_HIT));
+
+ await game.phaseInterceptor.to(MoveEffectPhase, false);
+
+ vi.spyOn(game.scene.getCurrentPhase() as MoveEffectPhase, "hitCheck").mockReturnValue(true);
+
+ await game.phaseInterceptor.to(BerryPhase, false);
+
+ expect(leadPokemon.turnData.hitCount).toBe(2);
+ }, TIMEOUT
+ );
+
+ test(
+ "ability should not apply to self-sacrifice moves",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SELF_DESTRUCT]);
+
+ await game.startBattle([Species.CHARIZARD]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ const enemyPokemon = game.scene.getEnemyPokemon();
+ expect(enemyPokemon).not.toBe(undefined);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.SELF_DESTRUCT));
+
+ await game.phaseInterceptor.to(DamagePhase, false);
+
+ expect(leadPokemon.turnData.hitCount).toBe(1);
+ }, TIMEOUT
+ );
+
+ test(
+ "ability should not apply to Rollout",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.ROLLOUT]);
+
+ await game.startBattle([Species.CHARIZARD]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ const enemyPokemon = game.scene.getEnemyPokemon();
+ expect(enemyPokemon).not.toBe(undefined);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.ROLLOUT));
+
+ await game.phaseInterceptor.to(MoveEffectPhase, false);
+ vi.spyOn(game.scene.getCurrentPhase() as MoveEffectPhase, "hitCheck").mockReturnValue(true);
+
+ await game.phaseInterceptor.to(DamagePhase, false);
+
+ expect(leadPokemon.turnData.hitCount).toBe(1);
+ }, TIMEOUT
+ );
+
+ test(
+ "ability should not apply multiplier to fixed-damage moves",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.DRAGON_RAGE]);
+
+ await game.startBattle([Species.CHARIZARD]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ const enemyPokemon = game.scene.getEnemyPokemon();
+ expect(enemyPokemon).not.toBe(undefined);
+
+ const enemyStartingHp = enemyPokemon.hp;
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.DRAGON_RAGE));
+ await game.phaseInterceptor.to(BerryPhase, false);
+
+ expect(enemyPokemon.hp).toBe(enemyStartingHp - 80);
+ }, TIMEOUT
+ );
+
+ test(
+ "ability should not apply multiplier to counter moves",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.COUNTER]);
+ vi.spyOn(Overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE,Moves.TACKLE,Moves.TACKLE,Moves.TACKLE]);
+
+ await game.startBattle([Species.CHARIZARD]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ const enemyPokemon = game.scene.getEnemyPokemon();
+ expect(enemyPokemon).not.toBe(undefined);
+
+ const playerStartingHp = leadPokemon.hp;
+ const enemyStartingHp = enemyPokemon.hp;
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.COUNTER));
+ await game.phaseInterceptor.to(DamagePhase);
+
+ const playerDamage = playerStartingHp - leadPokemon.hp;
+
+ await game.phaseInterceptor.to(BerryPhase, false);
+
+ expect(enemyPokemon.hp).toBe(enemyStartingHp - 4*playerDamage);
+ }, TIMEOUT
+ );
+
+ test(
+ "ability should not apply to multi-target moves",
+ async () => {
+ vi.spyOn(Overrides, "DOUBLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(Overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(false);
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.EARTHQUAKE]);
+
+ await game.startBattle([Species.CHARIZARD, Species.PIDGEOT]);
+
+ const playerPokemon = game.scene.getPlayerField();
+ expect(playerPokemon.length).toBe(2);
+ playerPokemon.forEach(p => expect(p).not.toBe(undefined));
+
+ const enemyPokemon = game.scene.getEnemyField();
+ expect(enemyPokemon.length).toBe(2);
+ enemyPokemon.forEach(p => expect(p).not.toBe(undefined));
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.EARTHQUAKE));
+ await game.phaseInterceptor.to(CommandPhase);
+
+ game.doAttack(getMovePosition(game.scene, 1, Moves.EARTHQUAKE));
+ await game.phaseInterceptor.to(BerryPhase, false);
+
+ playerPokemon.forEach(p => expect(p.turnData.hitCount).toBe(1));
+ }, TIMEOUT
+ );
+
+ test(
+ "ability should apply to multi-target moves when hitting only one target",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.EARTHQUAKE]);
+
+ await game.startBattle([Species.CHARIZARD]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ const enemyPokemon = game.scene.getEnemyPokemon();
+ expect(enemyPokemon).not.toBe(undefined);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.EARTHQUAKE));
+ await game.phaseInterceptor.to(DamagePhase, false);
+
+ expect(leadPokemon.turnData.hitCount).toBe(2);
+ }, TIMEOUT
+ );
+
+ test(
+ "ability should only trigger post-target move effects once",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.MIND_BLOWN]);
+
+ await game.startBattle([Species.PIDGEOT]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ const enemyPokemon = game.scene.getEnemyPokemon();
+ expect(enemyPokemon).not.toBe(undefined);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.MIND_BLOWN));
+
+ await game.phaseInterceptor.to(DamagePhase, false);
+
+ expect(leadPokemon.turnData.hitCount).toBe(2);
+
+ // This test will time out if the user faints
+ await game.phaseInterceptor.to(BerryPhase, false);
+
+ expect(leadPokemon.hp).toBe(Math.floor(leadPokemon.getMaxHp()/2));
+ }, TIMEOUT
+ );
+
+ test(
+ "Burn Up only removes type after second strike with this ability",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.BURN_UP]);
+
+ await game.startBattle([Species.CHARIZARD]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ const enemyPokemon = game.scene.getEnemyPokemon();
+ expect(enemyPokemon).not.toBe(undefined);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.BURN_UP));
+
+ await game.phaseInterceptor.to(DamagePhase);
+
+ expect(leadPokemon.turnData.hitCount).toBe(2);
+ expect(enemyPokemon.hp).toBeGreaterThan(0);
+ expect(leadPokemon.isOfType(Type.FIRE)).toBe(true);
+
+ await game.phaseInterceptor.to(BerryPhase, false);
+
+ expect(leadPokemon.isOfType(Type.FIRE)).toBe(false);
+ }, TIMEOUT
+ );
+
+ test(
+ "Moves boosted by this ability and Multi-Lens should strike 4 times",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE]);
+ vi.spyOn(Overrides, "STARTING_HELD_ITEMS_OVERRIDE", "get").mockReturnValue([{name: "MULTI_LENS", count: 1}]);
+
+ await game.startBattle([Species.CHARIZARD]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ const enemyPokemon = game.scene.getEnemyPokemon();
+ expect(enemyPokemon).not.toBe(undefined);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.TACKLE));
+
+ await game.phaseInterceptor.to(DamagePhase);
+
+ expect(leadPokemon.turnData.hitCount).toBe(4);
+ }, TIMEOUT
+ );
+
+ test(
+ "Super Fang boosted by this ability and Multi-Lens should strike twice",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SUPER_FANG]);
+ vi.spyOn(Overrides, "STARTING_HELD_ITEMS_OVERRIDE", "get").mockReturnValue([{name: "MULTI_LENS", count: 1}]);
+
+ await game.startBattle([Species.CHARIZARD]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ const enemyPokemon = game.scene.getEnemyPokemon();
+ expect(enemyPokemon).not.toBe(undefined);
+
+ const enemyStartingHp = enemyPokemon.hp;
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.SUPER_FANG));
+
+ await game.phaseInterceptor.to(MoveEffectPhase, false);
+ vi.spyOn(game.scene.getCurrentPhase() as MoveEffectPhase, "hitCheck").mockReturnValue(true);
+
+ await game.phaseInterceptor.to(DamagePhase);
+
+ expect(leadPokemon.turnData.hitCount).toBe(2);
+
+ await game.phaseInterceptor.to(MoveEndPhase, false);
+
+ expect(enemyPokemon.hp).toBe(Math.ceil(enemyStartingHp * 0.25));
+ }, TIMEOUT
+ );
+
+ test(
+ "Seismic Toss boosted by this ability and Multi-Lens should strike twice",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SEISMIC_TOSS]);
+ vi.spyOn(Overrides, "STARTING_HELD_ITEMS_OVERRIDE", "get").mockReturnValue([{name: "MULTI_LENS", count: 1}]);
+
+ await game.startBattle([Species.CHARIZARD]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ const enemyPokemon = game.scene.getEnemyPokemon();
+ expect(enemyPokemon).not.toBe(undefined);
+
+ const enemyStartingHp = enemyPokemon.hp;
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.SEISMIC_TOSS));
+
+ await game.phaseInterceptor.to(MoveEffectPhase, false);
+ vi.spyOn(game.scene.getCurrentPhase() as MoveEffectPhase, "hitCheck").mockReturnValue(true);
+
+ await game.phaseInterceptor.to(DamagePhase);
+
+ expect(leadPokemon.turnData.hitCount).toBe(2);
+
+ await game.phaseInterceptor.to(MoveEndPhase, false);
+
+ expect(enemyPokemon.hp).toBe(enemyStartingHp - 200);
+ }, TIMEOUT
+ );
+
+ test(
+ "Hyper Beam boosted by this ability should strike twice, then recharge",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.HYPER_BEAM]);
+
+ await game.startBattle([Species.CHARIZARD]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ const enemyPokemon = game.scene.getEnemyPokemon();
+ expect(enemyPokemon).not.toBe(undefined);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.HYPER_BEAM));
+
+ await game.phaseInterceptor.to(MoveEffectPhase, false);
+ vi.spyOn(game.scene.getCurrentPhase() as MoveEffectPhase, "hitCheck").mockReturnValue(true);
+
+ await game.phaseInterceptor.to(DamagePhase);
+
+ expect(leadPokemon.turnData.hitCount).toBe(2);
+ expect(leadPokemon.getTag(BattlerTagType.RECHARGING)).toBeUndefined();
+
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(leadPokemon.getTag(BattlerTagType.RECHARGING)).toBeDefined();
+ }, TIMEOUT
+ );
+
+ /** TODO: Fix TRAPPED tag lapsing incorrectly, then run this test */
+ test.skip(
+ "Anchor Shot boosted by this ability should only trap the target after the second hit",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.ANCHOR_SHOT]);
+
+ await game.startBattle([Species.CHARIZARD]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ const enemyPokemon = game.scene.getEnemyPokemon();
+ expect(enemyPokemon).not.toBe(undefined);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.ANCHOR_SHOT));
+
+ await game.phaseInterceptor.to(MoveEffectPhase, false);
+ vi.spyOn(game.scene.getCurrentPhase() as MoveEffectPhase, "hitCheck").mockReturnValue(true);
+
+ await game.phaseInterceptor.to(DamagePhase);
+
+ expect(leadPokemon.turnData.hitCount).toBe(2);
+ expect(enemyPokemon.getTag(BattlerTagType.TRAPPED)).toBeUndefined(); // Passes
+
+ await game.phaseInterceptor.to(MoveEndPhase);
+ expect(enemyPokemon.getTag(BattlerTagType.TRAPPED)).toBeDefined(); // Passes
+
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(enemyPokemon.getTag(BattlerTagType.TRAPPED)).toBeDefined(); // Fails :(
+ }, TIMEOUT
+ );
+
+ test(
+ "Smack Down boosted by this ability should only ground the target after the second hit",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SMACK_DOWN]);
+
+ await game.startBattle([Species.CHARIZARD]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ const enemyPokemon = game.scene.getEnemyPokemon();
+ expect(enemyPokemon).not.toBe(undefined);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.SMACK_DOWN));
+
+ await game.phaseInterceptor.to(MoveEffectPhase, false);
+ vi.spyOn(game.scene.getCurrentPhase() as MoveEffectPhase, "hitCheck").mockReturnValue(true);
+
+ await game.phaseInterceptor.to(DamagePhase);
+
+ expect(leadPokemon.turnData.hitCount).toBe(2);
+ expect(enemyPokemon.getTag(BattlerTagType.IGNORE_FLYING)).toBeUndefined();
+
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(enemyPokemon.getTag(BattlerTagType.IGNORE_FLYING)).toBeDefined();
+ }, TIMEOUT
+ );
+
+ test(
+ "U-turn boosted by this ability should strike twice before forcing a switch",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.U_TURN]);
+
+ await game.startBattle([Species.CHARIZARD, Species.BLASTOISE]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ const enemyPokemon = game.scene.getEnemyPokemon();
+ expect(enemyPokemon).not.toBe(undefined);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.U_TURN));
+
+ await game.phaseInterceptor.to(MoveEffectPhase, false);
+ vi.spyOn(game.scene.getCurrentPhase() as MoveEffectPhase, "hitCheck").mockReturnValue(true);
+
+ await game.phaseInterceptor.to(MoveEffectPhase);
+ expect(leadPokemon.turnData.hitCount).toBe(2);
+
+ // This will cause this test to time out if the switch was forced on the first hit.
+ await game.phaseInterceptor.to(MoveEffectPhase, false);
+ }, TIMEOUT
+ );
+
+ test(
+ "Wake-Up Slap boosted by this ability should only wake up the target after the second hit",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.WAKE_UP_SLAP]);
+ vi.spyOn(Overrides, "OPP_STATUS_OVERRIDE", "get").mockReturnValue(StatusEffect.SLEEP);
+
+ await game.startBattle([Species.CHARIZARD]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ const enemyPokemon = game.scene.getEnemyPokemon();
+ expect(enemyPokemon).not.toBe(undefined);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.WAKE_UP_SLAP));
+
+ await game.phaseInterceptor.to(MoveEffectPhase, false);
+ vi.spyOn(game.scene.getCurrentPhase() as MoveEffectPhase, "hitCheck").mockReturnValue(true);
+
+ await game.phaseInterceptor.to(DamagePhase);
+
+ expect(leadPokemon.turnData.hitCount).toBe(2);
+ expect(enemyPokemon.status?.effect).toBe(StatusEffect.SLEEP);
+
+ await game.phaseInterceptor.to(BerryPhase, false);
+
+ expect(enemyPokemon.status?.effect).toBeUndefined();
+ }, TIMEOUT
+ );
+
+ test(
+ "ability should not cause user to hit into King's Shield more than once",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE]);
+ vi.spyOn(Overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.KINGS_SHIELD,Moves.KINGS_SHIELD,Moves.KINGS_SHIELD,Moves.KINGS_SHIELD]);
+
+ await game.startBattle([Species.CHARIZARD]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ const enemyPokemon = game.scene.getEnemyPokemon();
+ expect(enemyPokemon).not.toBe(undefined);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.TACKLE));
+
+ await game.phaseInterceptor.to(BerryPhase, false);
+
+ expect(leadPokemon.summonData.battleStats[BattleStat.ATK]).toBe(-1);
+ }, TIMEOUT
+ );
+
+ test(
+ "ability should not cause user to hit into Storm Drain more than once",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.WATER_GUN]);
+ vi.spyOn(Overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.STORM_DRAIN);
+
+ await game.startBattle([Species.CHARIZARD]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ const enemyPokemon = game.scene.getEnemyPokemon();
+ expect(enemyPokemon).not.toBe(undefined);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.WATER_GUN));
+
+ await game.phaseInterceptor.to(BerryPhase, false);
+
+ expect(enemyPokemon.summonData.battleStats[BattleStat.SPATK]).toBe(1);
+ }, TIMEOUT
+ );
+
+ test(
+ "ability should not apply to multi-target moves with Multi-Lens",
+ async () => {
+ vi.spyOn(Overrides, "DOUBLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(Overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(false);
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.EARTHQUAKE, Moves.SPLASH]);
+ vi.spyOn(Overrides, "STARTING_HELD_ITEMS_OVERRIDE", "get").mockReturnValue([{name: "MULTI_LENS", count: 1}]);
+
+ await game.startBattle([Species.CHARIZARD, Species.PIDGEOT]);
+
+ const playerPokemon = game.scene.getPlayerField();
+ expect(playerPokemon.length).toBe(2);
+ playerPokemon.forEach(p => expect(p).not.toBe(undefined));
+
+ const enemyPokemon = game.scene.getEnemyField();
+ expect(enemyPokemon.length).toBe(2);
+ enemyPokemon.forEach(p => expect(p).not.toBe(undefined));
+
+ const enemyStartingHp = enemyPokemon.map(p => p.hp);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.EARTHQUAKE));
+ await game.phaseInterceptor.to(CommandPhase);
+
+ game.doAttack(getMovePosition(game.scene, 1, Moves.SPLASH));
+
+ await game.phaseInterceptor.to(MoveEffectPhase, false);
+ vi.spyOn(game.scene, "randBattleSeedInt").mockReturnValue(15);
+
+ await game.phaseInterceptor.to(DamagePhase);
+ const enemyFirstHitDamage = enemyStartingHp.map((hp, i) => hp - enemyPokemon[i].hp);
+
+ await game.phaseInterceptor.to(BerryPhase, false);
+
+ enemyPokemon.forEach((p, i) => expect(enemyStartingHp[i] - p.hp).toBe(2*enemyFirstHitDamage[i]));
+
+ }, TIMEOUT
+ );
+});
diff --git a/src/test/abilities/power_construct.test.ts b/src/test/abilities/power_construct.test.ts
new file mode 100644
index 00000000000..68a360a60a2
--- /dev/null
+++ b/src/test/abilities/power_construct.test.ts
@@ -0,0 +1,67 @@
+import { afterEach, beforeAll, beforeEach, describe, expect, test, vi } from "vitest";
+import GameManager from "#test/utils/gameManager";
+import { getMovePosition } from "#test/utils/gameManagerUtils";
+import * as Overrides from "#app/overrides";
+import { Moves } from "#enums/moves";
+import { Abilities } from "#enums/abilities";
+import { Species } from "#enums/species";
+import { Status, StatusEffect } from "#app/data/status-effect.js";
+import { TurnEndPhase } from "#app/phases.js";
+import { QuietFormChangePhase } from "#app/form-change-phase.js";
+
+const TIMEOUT = 20 * 1000;
+
+describe("Abilities - POWER CONSTRUCT", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ const moveToUse = Moves.SPLASH;
+ vi.spyOn(Overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(Overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.POWER_CONSTRUCT);
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([moveToUse]);
+ vi.spyOn(Overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE, Moves.TACKLE, Moves.TACKLE, Moves.TACKLE]);
+ });
+
+ test(
+ "check if fainted pokemon switches to base form on arena reset",
+ async () => {
+ const baseForm = 2,
+ completeForm = 4;
+ vi.spyOn(Overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(4);
+ vi.spyOn(Overrides, "STARTER_FORM_OVERRIDES", "get").mockReturnValue({
+ [Species.ZYGARDE]: completeForm,
+ });
+
+ await game.startBattle([Species.MAGIKARP, Species.ZYGARDE]);
+
+ const zygarde = game.scene.getParty().find((p) => p.species.speciesId === Species.ZYGARDE);
+ expect(zygarde).not.toBe(undefined);
+ expect(zygarde.formIndex).toBe(completeForm);
+
+ zygarde.hp = 0;
+ zygarde.status = new Status(StatusEffect.FAINT);
+ expect(zygarde.isFainted()).toBe(true);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.SPLASH));
+ await game.doKillOpponents();
+ await game.phaseInterceptor.to(TurnEndPhase);
+ game.doSelectModifier();
+ await game.phaseInterceptor.to(QuietFormChangePhase);
+
+ expect(zygarde.formIndex).toBe(baseForm);
+ },
+ TIMEOUT
+ );
+});
diff --git a/src/test/abilities/power_spot.test.ts b/src/test/abilities/power_spot.test.ts
new file mode 100644
index 00000000000..0ed2b10f4be
--- /dev/null
+++ b/src/test/abilities/power_spot.test.ts
@@ -0,0 +1,120 @@
+import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import { Species } from "#enums/species";
+import { Moves } from "#enums/moves";
+import { getMovePosition } from "#app/test/utils/gameManagerUtils";
+import Move, { allMoves, MoveCategory } from "#app/data/move.js";
+import { AllyMoveCategoryPowerBoostAbAttr } from "#app/data/ability.js";
+import { NumberHolder } from "#app/utils.js";
+import Pokemon from "#app/field/pokemon.js";
+
+describe("Abilities - Power Spot", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ vi.spyOn(overrides, "DOUBLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE, Moves.ROCK_SLIDE, Moves.SPLASH, Moves.HEAT_WAVE]);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH, Moves.SPLASH, Moves.SPLASH, Moves.SPLASH]);
+ });
+
+ it("raises the power of allies' special moves by 30%", async () => {
+ const moveToBeUsed = Moves.HEAT_WAVE;
+ const basePower = allMoves[moveToBeUsed].power;
+
+ await game.startBattle([Species.MAGIKARP, Species.STONJOURNER]);
+
+ game.doAttack(getMovePosition(game.scene, 0, moveToBeUsed));
+ game.doAttack(getMovePosition(game.scene, 1, Moves.SPLASH));
+
+ const multiplier = getAttrPowerMultiplier(game.scene.getPlayerField()[1]);
+ const mockedPower = getMockedMovePower(game.scene.getEnemyField()[0], game.scene.getPlayerField()[0], allMoves[moveToBeUsed]);
+
+ expect(mockedPower).not.toBe(undefined);
+ expect(mockedPower).not.toBe(basePower);
+ expect(mockedPower).toBe(basePower * multiplier);
+ });
+
+ it("raises the power of allies' physical moves by 30%", async () => {
+ const moveToBeUsed = Moves.ROCK_SLIDE;
+ const basePower = allMoves[moveToBeUsed].power;
+
+ await game.startBattle([Species.MAGIKARP, Species.STONJOURNER]);
+
+ game.doAttack(getMovePosition(game.scene, 0, moveToBeUsed));
+ game.doAttack(getMovePosition(game.scene, 1, Moves.SPLASH));
+
+ const multiplier = getAttrPowerMultiplier(game.scene.getPlayerField()[1]);
+ const mockedPower = getMockedMovePower(game.scene.getEnemyField()[0], game.scene.getPlayerField()[0], allMoves[moveToBeUsed]);
+
+ expect(mockedPower).not.toBe(undefined);
+ expect(mockedPower).not.toBe(basePower);
+ expect(mockedPower).toBe(basePower * multiplier);
+ });
+
+ it("does not raise the power of the ability owner's moves", async () => {
+ const moveToBeUsed = Moves.HEAT_WAVE;
+ const basePower = allMoves[moveToBeUsed].power;
+
+ await game.startBattle([Species.STONJOURNER, Species.MAGIKARP]);
+
+ game.doAttack(getMovePosition(game.scene, 0, moveToBeUsed));
+ game.doAttack(getMovePosition(game.scene, 1, Moves.SPLASH));
+
+ const multiplier = getAttrPowerMultiplier(game.scene.getPlayerField()[0]);
+ const mockedPower = getMockedMovePower(game.scene.getEnemyField()[0], game.scene.getPlayerField()[0], allMoves[moveToBeUsed]);
+
+ expect(mockedPower).not.toBe(undefined);
+ expect(mockedPower).toBe(basePower);
+ expect(mockedPower).not.toBe(basePower * multiplier);
+ });
+});
+
+/**
+ * Calculates the mocked power of a move.
+ * Note this does not consider other damage calculations
+ * except the power multiplier from Power Spot.
+ *
+ * @param defender - The defending Pokémon.
+ * @param attacker - The attacking Pokémon.
+ * @param move - The move being used by the attacker.
+ * @returns The adjusted power of the move.
+ */
+const getMockedMovePower = (defender: Pokemon, attacker: Pokemon, move: Move) => {
+ const powerHolder = new NumberHolder(move.power);
+
+ /**
+ * @see AllyMoveCategoryPowerBoostAbAttr
+ */
+ if (attacker.getAlly().hasAbilityWithAttr(AllyMoveCategoryPowerBoostAbAttr)) {
+ const powerSpotInstance = new AllyMoveCategoryPowerBoostAbAttr([MoveCategory.SPECIAL, MoveCategory.PHYSICAL], 1.3);
+ powerSpotInstance.applyPreAttack(attacker, false, defender, move, [ powerHolder ]);
+ }
+
+ return powerHolder.value;
+};
+
+/**
+ * Retrieves the power multiplier from a Pokémon's ability attribute.
+ *
+ * @param pokemon - The Pokémon whose ability attributes are being queried.
+ * @returns The power multiplier of the `AllyMoveCategoryPowerBoostAbAttr` attribute.
+ */
+const getAttrPowerMultiplier = (pokemon: Pokemon) => {
+ const attr = pokemon.getAbilityAttrs(AllyMoveCategoryPowerBoostAbAttr);
+
+ return (attr[0] as AllyMoveCategoryPowerBoostAbAttr)["powerMultiplier"];
+};
diff --git a/src/test/abilities/protean.test.ts b/src/test/abilities/protean.test.ts
new file mode 100644
index 00000000000..125c03eb39c
--- /dev/null
+++ b/src/test/abilities/protean.test.ts
@@ -0,0 +1,364 @@
+import Phaser from "phaser";
+import { afterEach, beforeAll, beforeEach, describe, expect, test, vi } from "vitest";
+import GameManager from "../utils/gameManager";
+import * as Overrides from "#app/overrides";
+import { Species } from "#enums/species";
+import { Abilities } from "#enums/abilities";
+import { Moves } from "#enums/moves";
+import { getMovePosition } from "../utils/gameManagerUtils";
+import { MoveEffectPhase, TurnEndPhase } from "#app/phases.js";
+import { allMoves } from "#app/data/move.js";
+import { BattlerTagType } from "#enums/battler-tag-type";
+import { Weather, WeatherType } from "#app/data/weather.js";
+import { Type } from "#app/data/type.js";
+import { Biome } from "#enums/biome";
+import { PlayerPokemon } from "#app/field/pokemon.js";
+
+const TIMEOUT = 20 * 1000;
+
+describe("Abilities - Protean", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ vi.spyOn(Overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(Overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.PROTEAN);
+ vi.spyOn(Overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(100);
+ vi.spyOn(Overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.RATTATA);
+ vi.spyOn(Overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.ENDURE, Moves.ENDURE, Moves.ENDURE, Moves.ENDURE]);
+ });
+
+ test(
+ "ability applies and changes a pokemon's type",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH]);
+
+ await game.startBattle([Species.MAGIKARP]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.SPLASH));
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ testPokemonTypeMatchesDefaultMoveType(leadPokemon, Moves.SPLASH);
+ },
+ TIMEOUT,
+ );
+
+ test.skip(
+ "ability applies only once per switch in",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH, Moves.AGILITY]);
+
+ await game.startBattle([Species.MAGIKARP, Species.BULBASAUR]);
+
+ let leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.SPLASH));
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ testPokemonTypeMatchesDefaultMoveType(leadPokemon, Moves.SPLASH);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.AGILITY));
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(leadPokemon.summonData.abilitiesApplied.filter((a) => a === Abilities.PROTEAN)).toHaveLength(1);
+ const leadPokemonType = Type[leadPokemon.getTypes()[0]];
+ const moveType = Type[allMoves[Moves.AGILITY].defaultType];
+ expect(leadPokemonType).not.toBe(moveType);
+
+ await game.toNextTurn();
+ game.doSwitchPokemon(1);
+ await game.toNextTurn();
+ game.doSwitchPokemon(1);
+ await game.toNextTurn();
+
+ leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.SPLASH));
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ testPokemonTypeMatchesDefaultMoveType(leadPokemon, Moves.SPLASH);
+ },
+ TIMEOUT,
+ );
+
+ test(
+ "ability applies correctly even if the pokemon's move has a variable type",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.WEATHER_BALL]);
+
+ await game.startBattle([Species.MAGIKARP]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ game.scene.arena.weather = new Weather(WeatherType.SUNNY);
+ game.doAttack(getMovePosition(game.scene, 0, Moves.WEATHER_BALL));
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(leadPokemon.summonData.abilitiesApplied).toContain(Abilities.PROTEAN);
+ expect(leadPokemon.getTypes()).toHaveLength(1);
+ const leadPokemonType = Type[leadPokemon.getTypes()[0]],
+ moveType = Type[Type.FIRE];
+ expect(leadPokemonType).toBe(moveType);
+ },
+ TIMEOUT,
+ );
+
+ test(
+ "ability applies correctly even if the type has changed by another ability",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE]);
+ vi.spyOn(Overrides, "PASSIVE_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.REFRIGERATE);
+
+ await game.startBattle([Species.MAGIKARP]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.TACKLE));
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(leadPokemon.summonData.abilitiesApplied).toContain(Abilities.PROTEAN);
+ expect(leadPokemon.getTypes()).toHaveLength(1);
+ const leadPokemonType = Type[leadPokemon.getTypes()[0]],
+ moveType = Type[Type.ICE];
+ expect(leadPokemonType).toBe(moveType);
+ },
+ TIMEOUT,
+ );
+
+ test(
+ "ability applies correctly even if the pokemon's move calls another move",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.NATURE_POWER]);
+
+ await game.startBattle([Species.MAGIKARP]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ game.scene.arena.biomeType = Biome.MOUNTAIN;
+ game.doAttack(getMovePosition(game.scene, 0, Moves.NATURE_POWER));
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ testPokemonTypeMatchesDefaultMoveType(leadPokemon, Moves.AIR_SLASH);
+ },
+ TIMEOUT,
+ );
+
+ test(
+ "ability applies correctly even if the pokemon's move is delayed / charging",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.DIG]);
+
+ await game.startBattle([Species.MAGIKARP]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.DIG));
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ testPokemonTypeMatchesDefaultMoveType(leadPokemon, Moves.DIG);
+ },
+ TIMEOUT,
+ );
+
+ test(
+ "ability applies correctly even if the pokemon's move misses",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE]);
+ vi.spyOn(Overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH, Moves.SPLASH, Moves.SPLASH, Moves.SPLASH]);
+
+ await game.startBattle([Species.MAGIKARP]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.TACKLE));
+ await game.phaseInterceptor.to(MoveEffectPhase, false);
+ vi.spyOn(game.scene.getCurrentPhase() as MoveEffectPhase, "hitCheck").mockReturnValueOnce(false);
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ const enemyPokemon = game.scene.getEnemyPokemon();
+ expect(enemyPokemon.hp).toBe(enemyPokemon.getMaxHp());
+ testPokemonTypeMatchesDefaultMoveType(leadPokemon, Moves.TACKLE);
+ },
+ TIMEOUT,
+ );
+
+ test(
+ "ability applies correctly even if the pokemon's move is protected against",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE]);
+ vi.spyOn(Overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.PROTECT, Moves.PROTECT, Moves.PROTECT, Moves.PROTECT]);
+
+ await game.startBattle([Species.MAGIKARP]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.TACKLE));
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ testPokemonTypeMatchesDefaultMoveType(leadPokemon, Moves.TACKLE);
+ },
+ TIMEOUT,
+ );
+
+ test(
+ "ability applies correctly even if the pokemon's move fails because of type immunity",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE]);
+ vi.spyOn(Overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.GASTLY);
+
+ await game.startBattle([Species.MAGIKARP]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.TACKLE));
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ testPokemonTypeMatchesDefaultMoveType(leadPokemon, Moves.TACKLE);
+ },
+ TIMEOUT,
+ );
+
+ test(
+ "ability is not applied if pokemon's type is the same as the move's type",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH]);
+
+ await game.startBattle([Species.MAGIKARP]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ leadPokemon.summonData.types = [allMoves[Moves.SPLASH].defaultType];
+ game.doAttack(getMovePosition(game.scene, 0, Moves.SPLASH));
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(leadPokemon.summonData.abilitiesApplied).not.toContain(Abilities.PROTEAN);
+ },
+ TIMEOUT,
+ );
+
+ test(
+ "ability is not applied if pokemon is terastallized",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH]);
+
+ await game.startBattle([Species.MAGIKARP]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ vi.spyOn(leadPokemon, "isTerastallized").mockReturnValue(true);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.SPLASH));
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(leadPokemon.summonData.abilitiesApplied).not.toContain(Abilities.PROTEAN);
+ },
+ TIMEOUT,
+ );
+
+ test(
+ "ability is not applied if pokemon uses struggle",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.STRUGGLE]);
+
+ await game.startBattle([Species.MAGIKARP]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.STRUGGLE));
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(leadPokemon.summonData.abilitiesApplied).not.toContain(Abilities.PROTEAN);
+ },
+ TIMEOUT,
+ );
+
+ test(
+ "ability is not applied if the pokemon's move fails",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.BURN_UP]);
+
+ await game.startBattle([Species.MAGIKARP]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.BURN_UP));
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(leadPokemon.summonData.abilitiesApplied).not.toContain(Abilities.PROTEAN);
+ },
+ TIMEOUT,
+ );
+
+ test(
+ "ability applies correctly even if the pokemon's Trick-or-Treat fails",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TRICK_OR_TREAT]);
+ vi.spyOn(Overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.GASTLY);
+
+ await game.startBattle([Species.MAGIKARP]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.TRICK_OR_TREAT));
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ testPokemonTypeMatchesDefaultMoveType(leadPokemon, Moves.TRICK_OR_TREAT);
+ },
+ TIMEOUT,
+ );
+
+ test(
+ "ability applies correctly and the pokemon curses itself",
+ async () => {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.CURSE]);
+
+ await game.startBattle([Species.MAGIKARP]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.CURSE));
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ testPokemonTypeMatchesDefaultMoveType(leadPokemon, Moves.CURSE);
+ expect(leadPokemon.getTag(BattlerTagType.CURSED)).not.toBe(undefined);
+ },
+ TIMEOUT,
+ );
+});
+
+function testPokemonTypeMatchesDefaultMoveType(pokemon: PlayerPokemon, move: Moves) {
+ expect(pokemon.summonData.abilitiesApplied).toContain(Abilities.PROTEAN);
+ expect(pokemon.getTypes()).toHaveLength(1);
+ const pokemonType = Type[pokemon.getTypes()[0]],
+ moveType = Type[allMoves[move].defaultType];
+ expect(pokemonType).toBe(moveType);
+}
diff --git a/src/test/abilities/quick_draw.test.ts b/src/test/abilities/quick_draw.test.ts
new file mode 100644
index 00000000000..884b108381d
--- /dev/null
+++ b/src/test/abilities/quick_draw.test.ts
@@ -0,0 +1,90 @@
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as Overrides from "#app/overrides";
+import { Abilities } from "#enums/abilities";
+import { Species } from "#enums/species";
+import { FaintPhase } from "#app/phases";
+import { Moves } from "#enums/moves";
+import { getMovePosition } from "#app/test/utils/gameManagerUtils";
+import { allAbilities, BypassSpeedChanceAbAttr } from "#app/data/ability";
+import { afterEach, beforeAll, beforeEach, describe, expect, test, vi } from "vitest";
+
+describe("Abilities - Quick Draw", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ vi.spyOn(Overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(Overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.QUICK_DRAW);
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE, Moves.TAIL_WHIP]);
+ vi.spyOn(Overrides, "OPP_LEVEL_OVERRIDE", "get").mockReturnValue(100);
+ vi.spyOn(Overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.RATTATA);
+ vi.spyOn(Overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE, Moves.TACKLE, Moves.TACKLE, Moves.TACKLE]);
+
+ vi.spyOn(allAbilities[Abilities.QUICK_DRAW].getAttrs(BypassSpeedChanceAbAttr)[0], "chance", "get").mockReturnValue(100);
+ });
+
+ test("makes pokemon going first in its priority bracket", async () => {
+ await game.startBattle([Species.SLOWBRO]);
+
+ const pokemon = game.scene.getPlayerPokemon();
+ const enemy = game.scene.getEnemyPokemon();
+
+ pokemon.hp = 1;
+ enemy.hp = 1;
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.TACKLE));
+ await game.phaseInterceptor.to(FaintPhase, false);
+
+ expect(pokemon.isFainted()).toBe(false);
+ expect(enemy.isFainted()).toBe(true);
+ expect(pokemon.battleData.abilitiesApplied).contain(Abilities.QUICK_DRAW);
+ }, 20000);
+
+ test("does not triggered by non damage moves", async () => {
+ await game.startBattle([Species.SLOWBRO]);
+
+ const pokemon = game.scene.getPlayerPokemon();
+ const enemy = game.scene.getEnemyPokemon();
+
+ pokemon.hp = 1;
+ enemy.hp = 1;
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.TAIL_WHIP));
+ await game.phaseInterceptor.to(FaintPhase, false);
+
+ expect(pokemon.isFainted()).toBe(true);
+ expect(enemy.isFainted()).toBe(false);
+ expect(pokemon.battleData.abilitiesApplied).not.contain(Abilities.QUICK_DRAW);
+ }, 20000);
+
+ test("does not increase priority", async () => {
+ vi.spyOn(Overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue(Array(4).fill(Moves.EXTREME_SPEED));
+
+ await game.startBattle([Species.SLOWBRO]);
+
+ const pokemon = game.scene.getPlayerPokemon();
+ const enemy = game.scene.getEnemyPokemon();
+
+ pokemon.hp = 1;
+ enemy.hp = 1;
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.TACKLE));
+ await game.phaseInterceptor.to(FaintPhase, false);
+
+ expect(pokemon.isFainted()).toBe(true);
+ expect(enemy.isFainted()).toBe(false);
+ expect(pokemon.battleData.abilitiesApplied).contain(Abilities.QUICK_DRAW);
+ }, 20000);
+});
diff --git a/src/test/abilities/sand_veil.test.ts b/src/test/abilities/sand_veil.test.ts
new file mode 100644
index 00000000000..221d48d3ca1
--- /dev/null
+++ b/src/test/abilities/sand_veil.test.ts
@@ -0,0 +1,83 @@
+import Phaser from "phaser";
+import { afterEach, beforeAll, beforeEach, describe, expect, test, vi } from "vitest";
+import GameManager from "../utils/gameManager";
+import * as Overrides from "#app/overrides";
+import { Species } from "#enums/species";
+import { Abilities } from "#enums/abilities";
+import { Moves } from "#enums/moves";
+import { getMovePosition } from "../utils/gameManagerUtils";
+import { CommandPhase, MoveEffectPhase, MoveEndPhase } from "#app/phases.js";
+import { BattleStat } from "#app/data/battle-stat.js";
+import { WeatherType } from "#app/data/weather.js";
+import { BattleStatMultiplierAbAttr, allAbilities } from "#app/data/ability.js";
+
+const TIMEOUT = 20 * 1000;
+
+describe("Abilities - Sand Veil", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ vi.spyOn(Overrides, "DOUBLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH]);
+ vi.spyOn(Overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.MEOWSCARADA);
+ vi.spyOn(Overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.INSOMNIA);
+ vi.spyOn(Overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TWISTER, Moves.TWISTER, Moves.TWISTER, Moves.TWISTER]);
+ vi.spyOn(Overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(100);
+ vi.spyOn(Overrides, "OPP_LEVEL_OVERRIDE", "get").mockReturnValue(100);
+ vi.spyOn(Overrides, "WEATHER_OVERRIDE", "get").mockReturnValue(WeatherType.SANDSTORM);
+ });
+
+ test(
+ "ability should increase the evasiveness of the source",
+ async () => {
+ await game.startBattle([Species.SNORLAX, Species.BLISSEY]);
+
+ const leadPokemon = game.scene.getPlayerField();
+ leadPokemon.forEach(p => expect(p).toBeDefined());
+
+ const enemyPokemon = game.scene.getEnemyField();
+ enemyPokemon.forEach(p => expect(p).toBeDefined());
+
+ vi.spyOn(leadPokemon[0], "getAbility").mockReturnValue(allAbilities[Abilities.SAND_VEIL]);
+
+ const sandVeilAttr = allAbilities[Abilities.SAND_VEIL].getAttrs(BattleStatMultiplierAbAttr)[0];
+ vi.spyOn(sandVeilAttr, "applyBattleStat").mockImplementation(
+ (pokemon, passive, battleStat, statValue, args) => {
+ if (battleStat === BattleStat.EVA && game.scene.arena.weather?.weatherType === WeatherType.SANDSTORM) {
+ statValue.value *= -1; // will make all attacks miss
+ return true;
+ }
+ return false;
+ }
+ );
+
+ expect(leadPokemon[0].hasAbility(Abilities.SAND_VEIL)).toBe(true);
+ expect(leadPokemon[1].hasAbility(Abilities.SAND_VEIL)).toBe(false);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.SPLASH));
+
+ await game.phaseInterceptor.to(CommandPhase);
+
+ game.doAttack(getMovePosition(game.scene, 1, Moves.SPLASH));
+
+ await game.phaseInterceptor.to(MoveEffectPhase, false);
+
+ await game.phaseInterceptor.to(MoveEndPhase, false);
+
+ expect(leadPokemon[0].hp).toBe(leadPokemon[0].getMaxHp());
+ expect(leadPokemon[1].hp).toBeLessThan(leadPokemon[1].getMaxHp());
+ }, TIMEOUT
+ );
+});
diff --git a/src/test/abilities/sap_sipper.test.ts b/src/test/abilities/sap_sipper.test.ts
new file mode 100644
index 00000000000..403ac1bf4ff
--- /dev/null
+++ b/src/test/abilities/sap_sipper.test.ts
@@ -0,0 +1,166 @@
+import {afterEach, beforeAll, beforeEach, describe, expect, it, vi} from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import {
+ MoveEndPhase, TurnEndPhase,
+} from "#app/phases";
+import {getMovePosition} from "#app/test/utils/gameManagerUtils";
+import { BattleStat } from "#app/data/battle-stat.js";
+import { TerrainType } from "#app/data/terrain.js";
+import { Abilities } from "#enums/abilities";
+import { BattlerTagType } from "#enums/battler-tag-type";
+import { Moves } from "#enums/moves";
+import { Species } from "#enums/species";
+
+// See also: TypeImmunityAbAttr
+describe("Abilities - Sap Sipper", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "NEVER_CRIT_OVERRIDE", "get").mockReturnValue(true);
+ });
+
+ it("raise attack 1 level and block effects when activated against a grass attack", async() => {
+ const moveToUse = Moves.LEAFAGE;
+ const enemyAbility = Abilities.SAP_SIPPER;
+
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([moveToUse]);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH, Moves.NONE, Moves.NONE, Moves.NONE]);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.DUSKULL);
+ vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(enemyAbility);
+
+ await game.startBattle();
+
+ const startingOppHp = game.scene.currentBattle.enemyParty[0].hp;
+
+ game.doAttack(getMovePosition(game.scene, 0, moveToUse));
+
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(startingOppHp - game.scene.getEnemyParty()[0].hp).toBe(0);
+ expect(game.scene.getEnemyParty()[0].summonData.battleStats[BattleStat.ATK]).toBe(1);
+ });
+
+ it("raise attack 1 level and block effects when activated against a grass status move", async() => {
+ const moveToUse = Moves.SPORE;
+ const enemyAbility = Abilities.SAP_SIPPER;
+
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([moveToUse]);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH, Moves.NONE, Moves.NONE, Moves.NONE]);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.RATTATA);
+ vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(enemyAbility);
+
+ await game.startBattle();
+
+ game.doAttack(getMovePosition(game.scene, 0, moveToUse));
+
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(game.scene.getEnemyParty()[0].status).toBeUndefined();
+ expect(game.scene.getEnemyParty()[0].summonData.battleStats[BattleStat.ATK]).toBe(1);
+ });
+
+ it("do not activate against status moves that target the field", async() => {
+ const moveToUse = Moves.GRASSY_TERRAIN;
+ const enemyAbility = Abilities.SAP_SIPPER;
+
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([moveToUse]);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH, Moves.NONE, Moves.NONE, Moves.NONE]);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.RATTATA);
+ vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(enemyAbility);
+
+ await game.startBattle();
+
+ game.doAttack(getMovePosition(game.scene, 0, moveToUse));
+
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(game.scene.arena.terrain).toBeDefined();
+ expect(game.scene.arena.terrain.terrainType).toBe(TerrainType.GRASSY);
+ expect(game.scene.getEnemyParty()[0].summonData.battleStats[BattleStat.ATK]).toBe(0);
+ });
+
+ it("activate once against multi-hit grass attacks", async() => {
+ const moveToUse = Moves.BULLET_SEED;
+ const enemyAbility = Abilities.SAP_SIPPER;
+
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([moveToUse]);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH, Moves.NONE, Moves.NONE, Moves.NONE]);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.RATTATA);
+ vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(enemyAbility);
+
+ await game.startBattle();
+
+ const startingOppHp = game.scene.currentBattle.enemyParty[0].hp;
+
+ game.doAttack(getMovePosition(game.scene, 0, moveToUse));
+
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(startingOppHp - game.scene.getEnemyParty()[0].hp).toBe(0);
+ expect(game.scene.getEnemyParty()[0].summonData.battleStats[BattleStat.ATK]).toBe(1);
+ });
+
+ it("do not activate against status moves that target the user", async() => {
+ const moveToUse = Moves.SPIKY_SHIELD;
+ const ability = Abilities.SAP_SIPPER;
+
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([moveToUse]);
+ vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(ability);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH, Moves.NONE, Moves.NONE, Moves.NONE]);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.RATTATA);
+ vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.NONE);
+
+ await game.startBattle();
+
+ game.doAttack(getMovePosition(game.scene, 0, moveToUse));
+
+ await game.phaseInterceptor.to(MoveEndPhase);
+
+ expect(game.scene.getParty()[0].getTag(BattlerTagType.SPIKY_SHIELD)).toBeDefined();
+
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(game.scene.getParty()[0].summonData.battleStats[BattleStat.ATK]).toBe(0);
+ expect(game.phaseInterceptor.log).not.toContain("ShowAbilityPhase");
+ });
+
+ /*
+ // TODO Add METRONOME outcome override
+ // To run this testcase, manually modify the METRONOME move to always give SAP_SIPPER, then uncomment
+ it("activate once against multi-hit grass attacks (metronome)", async() => {
+ const moveToUse = Moves.METRONOME;
+ const enemyAbility = Abilities.SAP_SIPPER;
+
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([moveToUse]);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH, Moves.NONE, Moves.NONE, Moves.NONE]);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.RATTATA);
+ vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(enemyAbility);
+
+ await game.startBattle();
+
+ const startingOppHp = game.scene.currentBattle.enemyParty[0].hp;
+
+ game.doAttack(getMovePosition(game.scene, 0, moveToUse));
+
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(startingOppHp - game.scene.getEnemyParty()[0].hp).toBe(0);
+ expect(game.scene.getEnemyParty()[0].summonData.battleStats[BattleStat.ATK]).toBe(1);
+ });
+ */
+});
diff --git a/src/test/abilities/schooling.test.ts b/src/test/abilities/schooling.test.ts
new file mode 100644
index 00000000000..4fd64b97246
--- /dev/null
+++ b/src/test/abilities/schooling.test.ts
@@ -0,0 +1,67 @@
+import { afterEach, beforeAll, beforeEach, describe, expect, test, vi } from "vitest";
+import GameManager from "#test/utils/gameManager";
+import { getMovePosition } from "#test/utils/gameManagerUtils";
+import * as Overrides from "#app/overrides";
+import { Moves } from "#enums/moves";
+import { Abilities } from "#enums/abilities";
+import { Species } from "#enums/species";
+import { Status, StatusEffect } from "#app/data/status-effect.js";
+import { TurnEndPhase } from "#app/phases.js";
+import { QuietFormChangePhase } from "#app/form-change-phase.js";
+
+const TIMEOUT = 20 * 1000;
+
+describe("Abilities - SCHOOLING", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ const moveToUse = Moves.SPLASH;
+ vi.spyOn(Overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(Overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.SCHOOLING);
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([moveToUse]);
+ vi.spyOn(Overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE, Moves.TACKLE, Moves.TACKLE, Moves.TACKLE]);
+ });
+
+ test(
+ "check if fainted pokemon switches to base form on arena reset",
+ async () => {
+ const soloForm = 0,
+ schoolForm = 1;
+ vi.spyOn(Overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(4);
+ vi.spyOn(Overrides, "STARTER_FORM_OVERRIDES", "get").mockReturnValue({
+ [Species.WISHIWASHI]: schoolForm,
+ });
+
+ await game.startBattle([Species.MAGIKARP, Species.WISHIWASHI]);
+
+ const wishiwashi = game.scene.getParty().find((p) => p.species.speciesId === Species.WISHIWASHI);
+ expect(wishiwashi).not.toBe(undefined);
+ expect(wishiwashi.formIndex).toBe(schoolForm);
+
+ wishiwashi.hp = 0;
+ wishiwashi.status = new Status(StatusEffect.FAINT);
+ expect(wishiwashi.isFainted()).toBe(true);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.SPLASH));
+ await game.doKillOpponents();
+ await game.phaseInterceptor.to(TurnEndPhase);
+ game.doSelectModifier();
+ await game.phaseInterceptor.to(QuietFormChangePhase);
+
+ expect(wishiwashi.formIndex).toBe(soloForm);
+ },
+ TIMEOUT
+ );
+});
diff --git a/src/test/abilities/screen_cleaner.test.ts b/src/test/abilities/screen_cleaner.test.ts
new file mode 100644
index 00000000000..d790469e952
--- /dev/null
+++ b/src/test/abilities/screen_cleaner.test.ts
@@ -0,0 +1,84 @@
+import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import { Species } from "#enums/species";
+import { PostSummonPhase, TurnEndPhase, } from "#app/phases";
+import { Moves } from "#enums/moves";
+import { getMovePosition } from "#app/test/utils/gameManagerUtils";
+import { Abilities } from "#enums/abilities";
+import { ArenaTagType } from "#app/enums/arena-tag-type.js";
+
+describe("Abilities - Screen Cleaner", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.SCREEN_CLEANER);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.SHUCKLE);
+ });
+
+ it("removes Aurora Veil", async () => {
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.HAIL]);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.AURORA_VEIL, Moves.AURORA_VEIL, Moves.AURORA_VEIL, Moves.AURORA_VEIL]);
+
+ await game.startBattle([Species.MAGIKARP, Species.MAGIKARP]);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.HAIL));
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(game.scene.arena.getTag(ArenaTagType.AURORA_VEIL)).toBeDefined();
+
+ await game.toNextTurn();
+ game.doSwitchPokemon(1);
+ await game.phaseInterceptor.to(PostSummonPhase);
+
+ expect(game.scene.arena.getTag(ArenaTagType.AURORA_VEIL)).toBeUndefined();
+ });
+
+ it("removes Light Screen", async () => {
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.LIGHT_SCREEN, Moves.LIGHT_SCREEN, Moves.LIGHT_SCREEN, Moves.LIGHT_SCREEN]);
+
+ await game.startBattle([Species.MAGIKARP, Species.MAGIKARP]);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.SPLASH));
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(game.scene.arena.getTag(ArenaTagType.LIGHT_SCREEN)).toBeDefined();
+
+ await game.toNextTurn();
+ game.doSwitchPokemon(1);
+ await game.phaseInterceptor.to(PostSummonPhase);
+
+ expect(game.scene.arena.getTag(ArenaTagType.LIGHT_SCREEN)).toBeUndefined();
+ });
+
+ it("removes Reflect", async () => {
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.REFLECT, Moves.REFLECT, Moves.REFLECT, Moves.REFLECT]);
+
+ await game.startBattle([Species.MAGIKARP, Species.MAGIKARP]);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.SPLASH));
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(game.scene.arena.getTag(ArenaTagType.REFLECT)).toBeDefined();
+
+ await game.toNextTurn();
+ game.doSwitchPokemon(1);
+ await game.phaseInterceptor.to(PostSummonPhase);
+
+ expect(game.scene.arena.getTag(ArenaTagType.REFLECT)).toBeUndefined();
+ });
+});
diff --git a/src/test/abilities/serene_grace.test.ts b/src/test/abilities/serene_grace.test.ts
new file mode 100644
index 00000000000..cf283ea92a8
--- /dev/null
+++ b/src/test/abilities/serene_grace.test.ts
@@ -0,0 +1,110 @@
+import {afterEach, beforeAll, beforeEach, describe, expect, it, vi} from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import {Abilities} from "#enums/abilities";
+import {applyAbAttrs ,MoveEffectChanceMultiplierAbAttr} from "#app/data/ability";
+import {Species} from "#enums/species";
+import {
+ CommandPhase,
+ MoveEffectPhase,
+} from "#app/phases";
+import {Mode} from "#app/ui/ui";
+import {Stat} from "#app/data/pokemon-stat";
+import {Moves} from "#enums/moves";
+import {getMovePosition} from "#app/test/utils/gameManagerUtils";
+import {Command} from "#app/ui/command-ui-handler";
+import * as Utils from "#app/utils";
+
+
+describe("Abilities - Serene Grace", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ const movesToUse = [Moves.AIR_SLASH, Moves.TACKLE];
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.ONIX);
+ vi.spyOn(overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(100);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue(movesToUse);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE,Moves.TACKLE,Moves.TACKLE,Moves.TACKLE]);
+ });
+
+ it("Move chance without Serene Grace", async() => {
+ const moveToUse = Moves.AIR_SLASH;
+ await game.startBattle([
+ Species.PIDGEOT
+ ]);
+
+
+ game.scene.getEnemyParty()[0].stats[Stat.SPDEF] = 10000;
+ game.scene.getEnemyParty()[0].stats[Stat.SPD] = 1;
+ expect(game.scene.getParty()[0].formIndex).toBe(0);
+
+ game.onNextPrompt("CommandPhase", Mode.COMMAND, () => {
+ game.scene.ui.setMode(Mode.FIGHT, (game.scene.getCurrentPhase() as CommandPhase).getFieldIndex());
+ });
+ game.onNextPrompt("CommandPhase", Mode.FIGHT, () => {
+ const movePosition = getMovePosition(game.scene, 0, moveToUse);
+ (game.scene.getCurrentPhase() as CommandPhase).handleCommand(Command.FIGHT, movePosition, false);
+ });
+
+ await game.phaseInterceptor.to(MoveEffectPhase, false);
+
+ // Check chance of Air Slash without Serene Grace
+ const phase = game.scene.getCurrentPhase() as MoveEffectPhase;
+ const move = phase.move.getMove();
+ expect(move.id).toBe(Moves.AIR_SLASH);
+
+ const chance = new Utils.IntegerHolder(move.chance);
+ console.log(move.chance + " Their ability is " + phase.getUserPokemon().getAbility().name);
+ applyAbAttrs(MoveEffectChanceMultiplierAbAttr, phase.getUserPokemon(), null, chance, move, phase.getTarget(), false);
+ expect(chance.value).toBe(30);
+
+ }, 20000);
+
+ it("Move chance with Serene Grace", async() => {
+ const moveToUse = Moves.AIR_SLASH;
+ vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.SERENE_GRACE);
+ await game.startBattle([
+ Species.TOGEKISS
+ ]);
+
+ game.scene.getEnemyParty()[0].stats[Stat.SPDEF] = 10000;
+ game.scene.getEnemyParty()[0].stats[Stat.SPD] = 1;
+ expect(game.scene.getParty()[0].formIndex).toBe(0);
+
+ game.onNextPrompt("CommandPhase", Mode.COMMAND, () => {
+ game.scene.ui.setMode(Mode.FIGHT, (game.scene.getCurrentPhase() as CommandPhase).getFieldIndex());
+ });
+ game.onNextPrompt("CommandPhase", Mode.FIGHT, () => {
+ const movePosition = getMovePosition(game.scene, 0, moveToUse);
+ (game.scene.getCurrentPhase() as CommandPhase).handleCommand(Command.FIGHT, movePosition, false);
+ });
+
+ await game.phaseInterceptor.to(MoveEffectPhase, false);
+
+ // Check chance of Air Slash with Serene Grace
+ const phase = game.scene.getCurrentPhase() as MoveEffectPhase;
+ const move = phase.move.getMove();
+ expect(move.id).toBe(Moves.AIR_SLASH);
+
+ const chance = new Utils.IntegerHolder(move.chance);
+ applyAbAttrs(MoveEffectChanceMultiplierAbAttr, phase.getUserPokemon(), null, chance, move, phase.getTarget(), false);
+ expect(chance.value).toBe(60);
+
+ }, 20000);
+
+ //TODO King's Rock Interaction Unit Test
+});
diff --git a/src/test/abilities/sheer_force.test.ts b/src/test/abilities/sheer_force.test.ts
new file mode 100644
index 00000000000..c01ec176f4d
--- /dev/null
+++ b/src/test/abilities/sheer_force.test.ts
@@ -0,0 +1,208 @@
+import {afterEach, beforeAll, beforeEach, describe, expect, it, vi} from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import {Abilities} from "#enums/abilities";
+import {applyAbAttrs ,applyPreAttackAbAttrs,applyPostDefendAbAttrs, MoveEffectChanceMultiplierAbAttr, MovePowerBoostAbAttr, PostDefendTypeChangeAbAttr} from "#app/data/ability";
+import {Species} from "#enums/species";
+import {
+ CommandPhase,
+ MoveEffectPhase,
+} from "#app/phases";
+import {Mode} from "#app/ui/ui";
+import {Stat} from "#app/data/pokemon-stat";
+import {Moves} from "#enums/moves";
+import {getMovePosition} from "#app/test/utils/gameManagerUtils";
+import {Command} from "#app/ui/command-ui-handler";
+import * as Utils from "#app/utils";
+
+
+describe("Abilities - Sheer Force", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ const movesToUse = [Moves.AIR_SLASH, Moves.BIND, Moves.CRUSH_CLAW, Moves.TACKLE];
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.ONIX);
+ vi.spyOn(overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(100);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue(movesToUse);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE,Moves.TACKLE,Moves.TACKLE,Moves.TACKLE]);
+ });
+
+ it("Sheer Force", async() => {
+ const moveToUse = Moves.AIR_SLASH;
+ vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.SHEER_FORCE);
+ await game.startBattle([
+ Species.PIDGEOT
+ ]);
+
+
+ game.scene.getEnemyParty()[0].stats[Stat.SPDEF] = 10000;
+ game.scene.getEnemyParty()[0].stats[Stat.SPD] = 1;
+ expect(game.scene.getParty()[0].formIndex).toBe(0);
+
+ game.onNextPrompt("CommandPhase", Mode.COMMAND, () => {
+ game.scene.ui.setMode(Mode.FIGHT, (game.scene.getCurrentPhase() as CommandPhase).getFieldIndex());
+ });
+ game.onNextPrompt("CommandPhase", Mode.FIGHT, () => {
+ const movePosition = getMovePosition(game.scene, 0, moveToUse);
+ (game.scene.getCurrentPhase() as CommandPhase).handleCommand(Command.FIGHT, movePosition, false);
+ });
+
+ await game.phaseInterceptor.to(MoveEffectPhase, false);
+
+ const phase = game.scene.getCurrentPhase() as MoveEffectPhase;
+ const move = phase.move.getMove();
+ expect(move.id).toBe(Moves.AIR_SLASH);
+
+ //Verify the move is boosted and has no chance of secondary effects
+ const power = new Utils.IntegerHolder(move.power);
+ const chance = new Utils.IntegerHolder(move.chance);
+
+ applyAbAttrs(MoveEffectChanceMultiplierAbAttr, phase.getUserPokemon(), null, chance, move, phase.getTarget(), false);
+ applyPreAttackAbAttrs(MovePowerBoostAbAttr, phase.getUserPokemon(), phase.getTarget(), move, power);
+
+ expect(chance.value).toBe(0);
+ expect(power.value).toBe(move.power * 5461/4096);
+
+
+ }, 20000);
+
+ it("Sheer Force with exceptions including binding moves", async() => {
+ const moveToUse = Moves.BIND;
+ vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.SHEER_FORCE);
+ await game.startBattle([
+ Species.PIDGEOT
+ ]);
+
+
+ game.scene.getEnemyParty()[0].stats[Stat.DEF] = 10000;
+ game.scene.getEnemyParty()[0].stats[Stat.SPD] = 1;
+ expect(game.scene.getParty()[0].formIndex).toBe(0);
+
+ game.onNextPrompt("CommandPhase", Mode.COMMAND, () => {
+ game.scene.ui.setMode(Mode.FIGHT, (game.scene.getCurrentPhase() as CommandPhase).getFieldIndex());
+ });
+ game.onNextPrompt("CommandPhase", Mode.FIGHT, () => {
+ const movePosition = getMovePosition(game.scene, 0, moveToUse);
+ (game.scene.getCurrentPhase() as CommandPhase).handleCommand(Command.FIGHT, movePosition, false);
+ });
+
+ await game.phaseInterceptor.to(MoveEffectPhase, false);
+
+ const phase = game.scene.getCurrentPhase() as MoveEffectPhase;
+ const move = phase.move.getMove();
+ expect(move.id).toBe(Moves.BIND);
+
+ //Binding moves and other exceptions are not affected by Sheer Force and have a chance.value of -1
+ const power = new Utils.IntegerHolder(move.power);
+ const chance = new Utils.IntegerHolder(move.chance);
+
+ applyAbAttrs(MoveEffectChanceMultiplierAbAttr, phase.getUserPokemon(), null, chance, move, phase.getTarget(), false);
+ applyPreAttackAbAttrs(MovePowerBoostAbAttr, phase.getUserPokemon(), phase.getTarget(), move, power);
+
+ expect(chance.value).toBe(-1);
+ expect(power.value).toBe(move.power);
+
+
+ }, 20000);
+
+ it("Sheer Force with moves with no secondary effect", async() => {
+ const moveToUse = Moves.TACKLE;
+ vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.SHEER_FORCE);
+ await game.startBattle([
+ Species.PIDGEOT
+ ]);
+
+
+ game.scene.getEnemyParty()[0].stats[Stat.DEF] = 10000;
+ game.scene.getEnemyParty()[0].stats[Stat.SPD] = 1;
+ expect(game.scene.getParty()[0].formIndex).toBe(0);
+
+ game.onNextPrompt("CommandPhase", Mode.COMMAND, () => {
+ game.scene.ui.setMode(Mode.FIGHT, (game.scene.getCurrentPhase() as CommandPhase).getFieldIndex());
+ });
+ game.onNextPrompt("CommandPhase", Mode.FIGHT, () => {
+ const movePosition = getMovePosition(game.scene, 0, moveToUse);
+ (game.scene.getCurrentPhase() as CommandPhase).handleCommand(Command.FIGHT, movePosition, false);
+ });
+
+ await game.phaseInterceptor.to(MoveEffectPhase, false);
+
+ const phase = game.scene.getCurrentPhase() as MoveEffectPhase;
+ const move = phase.move.getMove();
+ expect(move.id).toBe(Moves.TACKLE);
+
+ //Binding moves and other exceptions are not affected by Sheer Force and have a chance.value of -1
+ const power = new Utils.IntegerHolder(move.power);
+ const chance = new Utils.IntegerHolder(move.chance);
+
+ applyAbAttrs(MoveEffectChanceMultiplierAbAttr, phase.getUserPokemon(), null, chance, move, phase.getTarget(), false);
+ applyPreAttackAbAttrs(MovePowerBoostAbAttr, phase.getUserPokemon(), phase.getTarget(), move, power);
+
+ expect(chance.value).toBe(-1);
+ expect(power.value).toBe(move.power);
+
+
+ }, 20000);
+
+ it("Sheer Force Disabling Specific Abilities", async() => {
+ const moveToUse = Moves.CRUSH_CLAW;
+ vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.COLOR_CHANGE);
+ vi.spyOn(overrides, "STARTING_HELD_ITEMS_OVERRIDE", "get").mockReturnValue([{name: "KINGS_ROCK", count: 1}]);
+ vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.SHEER_FORCE);
+ await game.startBattle([
+ Species.PIDGEOT
+ ]);
+
+
+ game.scene.getEnemyParty()[0].stats[Stat.DEF] = 10000;
+ game.scene.getEnemyParty()[0].stats[Stat.SPD] = 1;
+ expect(game.scene.getParty()[0].formIndex).toBe(0);
+
+ game.onNextPrompt("CommandPhase", Mode.COMMAND, () => {
+ game.scene.ui.setMode(Mode.FIGHT, (game.scene.getCurrentPhase() as CommandPhase).getFieldIndex());
+ });
+ game.onNextPrompt("CommandPhase", Mode.FIGHT, () => {
+ const movePosition = getMovePosition(game.scene, 0, moveToUse);
+ (game.scene.getCurrentPhase() as CommandPhase).handleCommand(Command.FIGHT, movePosition, false);
+ });
+
+ await game.phaseInterceptor.to(MoveEffectPhase, false);
+
+ const phase = game.scene.getCurrentPhase() as MoveEffectPhase;
+ const move = phase.move.getMove();
+ expect(move.id).toBe(Moves.CRUSH_CLAW);
+
+ //Disable color change due to being hit by Sheer Force
+ const power = new Utils.IntegerHolder(move.power);
+ const chance = new Utils.IntegerHolder(move.chance);
+ const user = phase.getUserPokemon();
+ const target = phase.getTarget();
+ const opponentType = target.getTypes()[0];
+
+ applyAbAttrs(MoveEffectChanceMultiplierAbAttr, user, null, chance, move, target, false);
+ applyPreAttackAbAttrs(MovePowerBoostAbAttr, user, target, move, power);
+ applyPostDefendAbAttrs(PostDefendTypeChangeAbAttr, target, user, move, target.apply(user, move));
+
+ expect(chance.value).toBe(0);
+ expect(power.value).toBe(move.power * 5461/4096);
+ expect(target.getTypes().length).toBe(2);
+ expect(target.getTypes()[0]).toBe(opponentType);
+
+ }, 20000);
+
+ //TODO King's Rock Interaction Unit Test
+});
diff --git a/src/test/abilities/shield_dust.test.ts b/src/test/abilities/shield_dust.test.ts
new file mode 100644
index 00000000000..f52a1d6c7d4
--- /dev/null
+++ b/src/test/abilities/shield_dust.test.ts
@@ -0,0 +1,79 @@
+import {afterEach, beforeAll, beforeEach, describe, expect, it, vi} from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import { Abilities } from "#enums/abilities";
+import {applyAbAttrs ,applyPreDefendAbAttrs,IgnoreMoveEffectsAbAttr,MoveEffectChanceMultiplierAbAttr} from "#app/data/ability";
+import {Species} from "#enums/species";
+import {
+ CommandPhase,
+ MoveEffectPhase,
+} from "#app/phases";
+import {Mode} from "#app/ui/ui";
+import {Stat} from "#app/data/pokemon-stat";
+import {Moves} from "#enums/moves";
+import {getMovePosition} from "#app/test/utils/gameManagerUtils";
+import {Command} from "#app/ui/command-ui-handler";
+import * as Utils from "#app/utils";
+
+
+describe("Abilities - Shield Dust", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ const movesToUse = [Moves.AIR_SLASH];
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.ONIX);
+ vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.SHIELD_DUST);
+ vi.spyOn(overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(100);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue(movesToUse);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE,Moves.TACKLE,Moves.TACKLE,Moves.TACKLE]);
+ });
+
+ it("Shield Dust", async() => {
+ const moveToUse = Moves.AIR_SLASH;
+ await game.startBattle([
+ Species.PIDGEOT
+ ]);
+
+
+ game.scene.getEnemyParty()[0].stats[Stat.SPDEF] = 10000;
+ game.scene.getEnemyParty()[0].stats[Stat.SPD] = 1;
+ expect(game.scene.getParty()[0].formIndex).toBe(0);
+
+ game.onNextPrompt("CommandPhase", Mode.COMMAND, () => {
+ game.scene.ui.setMode(Mode.FIGHT, (game.scene.getCurrentPhase() as CommandPhase).getFieldIndex());
+ });
+ game.onNextPrompt("CommandPhase", Mode.FIGHT, () => {
+ const movePosition = getMovePosition(game.scene, 0, moveToUse);
+ (game.scene.getCurrentPhase() as CommandPhase).handleCommand(Command.FIGHT, movePosition, false);
+ });
+
+ await game.phaseInterceptor.to(MoveEffectPhase, false);
+
+ // Shield Dust negates secondary effect
+ const phase = game.scene.getCurrentPhase() as MoveEffectPhase;
+ const move = phase.move.getMove();
+ expect(move.id).toBe(Moves.AIR_SLASH);
+
+ const chance = new Utils.IntegerHolder(move.chance);
+ applyAbAttrs(MoveEffectChanceMultiplierAbAttr, phase.getUserPokemon(), null, chance, move, phase.getTarget(), false);
+ applyPreDefendAbAttrs(IgnoreMoveEffectsAbAttr, phase.getTarget(),phase.getUserPokemon(),null,null, chance);
+ expect(chance.value).toBe(0);
+
+ }, 20000);
+
+ //TODO King's Rock Interaction Unit Test
+});
diff --git a/src/test/abilities/shields_down.test.ts b/src/test/abilities/shields_down.test.ts
new file mode 100644
index 00000000000..f35fdd9ed79
--- /dev/null
+++ b/src/test/abilities/shields_down.test.ts
@@ -0,0 +1,67 @@
+import { afterEach, beforeAll, beforeEach, describe, expect, test, vi } from "vitest";
+import GameManager from "#test/utils/gameManager";
+import { getMovePosition } from "#test/utils/gameManagerUtils";
+import * as Overrides from "#app/overrides";
+import { Moves } from "#enums/moves";
+import { Abilities } from "#enums/abilities";
+import { Species } from "#enums/species";
+import { Status, StatusEffect } from "#app/data/status-effect.js";
+import { TurnEndPhase } from "#app/phases.js";
+import { QuietFormChangePhase } from "#app/form-change-phase.js";
+
+const TIMEOUT = 20 * 1000;
+
+describe("Abilities - SHIELDS DOWN", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ const moveToUse = Moves.SPLASH;
+ vi.spyOn(Overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(Overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.SHIELDS_DOWN);
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([moveToUse]);
+ vi.spyOn(Overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE, Moves.TACKLE, Moves.TACKLE, Moves.TACKLE]);
+ });
+
+ test(
+ "check if fainted pokemon switched to base form on arena reset",
+ async () => {
+ const meteorForm = 0,
+ coreForm = 7;
+ vi.spyOn(Overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(4);
+ vi.spyOn(Overrides, "STARTER_FORM_OVERRIDES", "get").mockReturnValue({
+ [Species.MINIOR]: coreForm,
+ });
+
+ await game.startBattle([Species.MAGIKARP, Species.MINIOR]);
+
+ const minior = game.scene.getParty().find((p) => p.species.speciesId === Species.MINIOR);
+ expect(minior).not.toBe(undefined);
+ expect(minior.formIndex).toBe(coreForm);
+
+ minior.hp = 0;
+ minior.status = new Status(StatusEffect.FAINT);
+ expect(minior.isFainted()).toBe(true);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.SPLASH));
+ await game.doKillOpponents();
+ await game.phaseInterceptor.to(TurnEndPhase);
+ game.doSelectModifier();
+ await game.phaseInterceptor.to(QuietFormChangePhase);
+
+ expect(minior.formIndex).toBe(meteorForm);
+ },
+ TIMEOUT
+ );
+});
diff --git a/src/test/abilities/steely_spirit.test.ts b/src/test/abilities/steely_spirit.test.ts
new file mode 100644
index 00000000000..e9c673a102a
--- /dev/null
+++ b/src/test/abilities/steely_spirit.test.ts
@@ -0,0 +1,115 @@
+import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import { Species } from "#enums/species";
+import { Moves } from "#enums/moves";
+import { getMovePosition } from "#app/test/utils/gameManagerUtils";
+import Pokemon, { PlayerPokemon } from "#app/field/pokemon.js";
+import Move, { allMoves } from "#app/data/move.js";
+import { NumberHolder } from "#app/utils.js";
+import { allAbilities, applyPreAttackAbAttrs, UserFieldMoveTypePowerBoostAbAttr } from "#app/data/ability.js";
+import { Abilities } from "#app/enums/abilities.js";
+
+describe("Abilities - Steely Spirit", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+ const steelySpiritMultiplier = 1.5;
+ const moveToCheck = Moves.IRON_HEAD;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ vi.spyOn(overrides, "DOUBLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.MAGIKARP);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.IRON_HEAD, Moves.SPLASH]);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH, Moves.SPLASH, Moves.SPLASH, Moves.SPLASH]);
+ });
+
+ it("increases Steel-type moves used by the user and its allies", async () => {
+ await game.startBattle([Species.MAGIKARP, Species.PERRSERKER]);
+ const perserrker = game.scene.getPlayerField()[1];
+
+ vi.spyOn(perserrker, "getAbility").mockReturnValue(allAbilities[Abilities.STEELY_SPIRIT]);
+
+ expect(perserrker.hasAbility(Abilities.STEELY_SPIRIT)).toBe(true);
+
+ game.doAttack(getMovePosition(game.scene, 0, moveToCheck));
+ game.doAttack(getMovePosition(game.scene, 1, Moves.SPLASH));
+
+ const mockedMovePower = getMockedMovePower(game.scene.getEnemyPokemon(), perserrker, allMoves[moveToCheck]);
+
+ expect(mockedMovePower).toBe(allMoves[moveToCheck].power * steelySpiritMultiplier);
+ });
+
+ it("stacks if multiple users with this ability are on the field.", async () => {
+ await game.startBattle([Species.PERRSERKER, Species.PERRSERKER]);
+
+ game.scene.getPlayerField().forEach(p => {
+ vi.spyOn(p, "getAbility").mockReturnValue(allAbilities[Abilities.STEELY_SPIRIT]);
+ });
+
+ expect(game.scene.getPlayerField().every(p => p.hasAbility(Abilities.STEELY_SPIRIT))).toBe(true);
+
+ game.doAttack(getMovePosition(game.scene, 0, moveToCheck));
+ game.doAttack(getMovePosition(game.scene, 1, Moves.SPLASH));
+
+ const mockedMovePower = getMockedMovePower(game.scene.getEnemyPokemon(), game.scene.getPlayerPokemon(), allMoves[moveToCheck]);
+
+ expect(mockedMovePower).toBe(allMoves[moveToCheck].power * Math.pow(steelySpiritMultiplier, 2));
+ });
+
+ it("does not take effect when suppressed", async () => {
+ await game.startBattle([Species.MAGIKARP, Species.PERRSERKER]);
+ const perserrker = game.scene.getPlayerField()[1];
+
+ vi.spyOn(perserrker, "getAbility").mockReturnValue(allAbilities[Abilities.STEELY_SPIRIT]);
+ expect(perserrker.hasAbility(Abilities.STEELY_SPIRIT)).toBe(true);
+
+ perserrker.summonData.abilitySuppressed = true;
+
+ expect(perserrker.hasAbility(Abilities.STEELY_SPIRIT)).toBe(false);
+ expect(perserrker.summonData.abilitySuppressed).toBe(true);
+
+ game.doAttack(getMovePosition(game.scene, 0, moveToCheck));
+ game.doAttack(getMovePosition(game.scene, 1, Moves.SPLASH));
+
+ const mockedMovePower = getMockedMovePower(game.scene.getEnemyPokemon(), perserrker, allMoves[moveToCheck]);
+
+ expect(mockedMovePower).toBe(allMoves[moveToCheck].power);
+ });
+});
+
+/**
+ * Calculates the mocked power of a move.
+ * Note this does not consider other damage calculations
+ * except the power multiplier from Steely Spirit.
+ *
+ * @param defender - The defending Pokémon.
+ * @param attacker - The attacking Pokémon.
+ * @param move - The move being used by the attacker.
+ * @returns The adjusted power of the move.
+ */
+const getMockedMovePower = (defender: Pokemon, attacker: Pokemon, move: Move) => {
+ const powerHolder = new NumberHolder(move.power);
+
+ /**
+ * Check if pokemon has the specified ability and is in effect.
+ * See Pokemon.hasAbility {@linkcode Pokemon.hasAbility}
+ */
+ if (attacker.hasAbility(Abilities.STEELY_SPIRIT)) {
+ const alliedField: Pokemon[] = attacker instanceof PlayerPokemon ? attacker.scene.getPlayerField() : attacker.scene.getEnemyField();
+ alliedField.forEach(p => applyPreAttackAbAttrs(UserFieldMoveTypePowerBoostAbAttr, p, this, move, powerHolder));
+ }
+
+ return powerHolder.value;
+};
diff --git a/src/test/abilities/sturdy.test.ts b/src/test/abilities/sturdy.test.ts
new file mode 100644
index 00000000000..b9d764971f0
--- /dev/null
+++ b/src/test/abilities/sturdy.test.ts
@@ -0,0 +1,101 @@
+import {afterEach, beforeAll, beforeEach, describe, expect, test, vi} from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import {
+ DamagePhase,
+ MoveEndPhase,
+} from "#app/phases";
+import {getMovePosition} from "#app/test/utils/gameManagerUtils";
+import { Abilities } from "#enums/abilities";
+import { Moves } from "#enums/moves";
+import { Species } from "#enums/species";
+import { EnemyPokemon } from "#app/field/pokemon.js";
+
+const TIMEOUT = 20 * 1000;
+
+describe("Abilities - Sturdy", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+
+ vi.spyOn(overrides, "STARTER_SPECIES_OVERRIDE", "get").mockReturnValue(Species.LUCARIO);
+ vi.spyOn(overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(100);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.CLOSE_COMBAT, Moves.FISSURE]);
+
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.ARON);
+ vi.spyOn(overrides, "OPP_LEVEL_OVERRIDE", "get").mockReturnValue(5);
+ vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.STURDY);
+ });
+
+ test(
+ "Sturdy activates when user is at full HP",
+ async () => {
+ await game.startBattle();
+ game.doAttack(getMovePosition(game.scene, 0, Moves.CLOSE_COMBAT));
+ await game.phaseInterceptor.to(MoveEndPhase);
+ expect(game.scene.getEnemyParty()[0].hp).toBe(1);
+ },
+ TIMEOUT
+ );
+
+ test(
+ "Sturdy doesn't activate when user is not at full HP",
+ async () => {
+ await game.startBattle();
+
+ const enemyPokemon: EnemyPokemon = game.scene.getEnemyParty()[0];
+ enemyPokemon.hp = enemyPokemon.getMaxHp() - 1;
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.CLOSE_COMBAT));
+ await game.phaseInterceptor.to(DamagePhase);
+
+ expect(enemyPokemon.hp).toBe(0);
+ expect(enemyPokemon.isFainted()).toBe(true);
+ },
+ TIMEOUT
+ );
+
+ test(
+ "Sturdy pokemon should be immune to OHKO moves",
+ async () => {
+ await game.startBattle();
+ game.doAttack(getMovePosition(game.scene, 0, Moves.FISSURE));
+ await game.phaseInterceptor.to(MoveEndPhase);
+
+ const enemyPokemon: EnemyPokemon = game.scene.getEnemyParty()[0];
+ expect(enemyPokemon.hp).toBe(enemyPokemon.getMaxHp());
+ },
+ TIMEOUT
+ );
+
+ test(
+ "Sturdy is ignored by pokemon with `Abilities.MOLD_BREAKER`",
+ async () => {
+ vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.MOLD_BREAKER);
+
+ await game.startBattle();
+ game.doAttack(getMovePosition(game.scene, 0, Moves.CLOSE_COMBAT));
+ await game.phaseInterceptor.to(DamagePhase);
+
+ const enemyPokemon: EnemyPokemon = game.scene.getEnemyParty()[0];
+ expect(enemyPokemon.hp).toBe(0);
+ expect(enemyPokemon.isFainted()).toBe(true);
+ },
+ TIMEOUT
+ );
+
+});
diff --git a/src/test/abilities/unseen_fist.test.ts b/src/test/abilities/unseen_fist.test.ts
new file mode 100644
index 00000000000..c53be8c82a4
--- /dev/null
+++ b/src/test/abilities/unseen_fist.test.ts
@@ -0,0 +1,92 @@
+import Phaser from "phaser";
+import { afterEach, beforeAll, beforeEach, describe, expect, test, vi } from "vitest";
+import GameManager from "../utils/gameManager";
+import * as Overrides from "#app/overrides";
+import { Species } from "#enums/species";
+import { Abilities } from "#enums/abilities";
+import { Moves } from "#enums/moves";
+import { getMovePosition } from "../utils/gameManagerUtils";
+import { TurnEndPhase } from "#app/phases.js";
+
+const TIMEOUT = 20 * 1000;
+
+describe("Abilities - Unseen Fist", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ vi.spyOn(Overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(Overrides, "STARTER_SPECIES_OVERRIDE", "get").mockReturnValue(Species.URSHIFU);
+ vi.spyOn(Overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.SNORLAX);
+ vi.spyOn(Overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.PROTECT, Moves.PROTECT, Moves.PROTECT, Moves.PROTECT]);
+ vi.spyOn(Overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(100);
+ vi.spyOn(Overrides, "OPP_LEVEL_OVERRIDE", "get").mockReturnValue(100);
+ });
+
+ test(
+ "ability causes a contact move to ignore Protect",
+ () => testUnseenFistHitResult(game, Moves.QUICK_ATTACK, Moves.PROTECT, true),
+ TIMEOUT
+ );
+
+ test(
+ "ability does not cause a non-contact move to ignore Protect",
+ () => testUnseenFistHitResult(game, Moves.ABSORB, Moves.PROTECT, false),
+ TIMEOUT
+ );
+
+ test(
+ "ability does not apply if the source has Long Reach",
+ () => {
+ vi.spyOn(Overrides, "PASSIVE_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.LONG_REACH);
+ testUnseenFistHitResult(game, Moves.QUICK_ATTACK, Moves.PROTECT, false);
+ }, TIMEOUT
+ );
+
+ test(
+ "ability causes a contact move to ignore Wide Guard",
+ () => testUnseenFistHitResult(game, Moves.BREAKING_SWIPE, Moves.WIDE_GUARD, true),
+ TIMEOUT
+ );
+
+ test(
+ "ability does not cause a non-contact move to ignore Wide Guard",
+ () => testUnseenFistHitResult(game, Moves.BULLDOZE, Moves.WIDE_GUARD, false),
+ TIMEOUT
+ );
+});
+
+async function testUnseenFistHitResult(game: GameManager, attackMove: Moves, protectMove: Moves, shouldSucceed: boolean = true): Promise {
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([attackMove]);
+ vi.spyOn(Overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([protectMove, protectMove, protectMove, protectMove]);
+
+ await game.startBattle();
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).not.toBe(undefined);
+
+ const enemyPokemon = game.scene.getEnemyPokemon();
+ expect(enemyPokemon).not.toBe(undefined);
+
+ const enemyStartingHp = enemyPokemon.hp;
+
+ game.doAttack(getMovePosition(game.scene, 0, attackMove));
+ await game.phaseInterceptor.to(TurnEndPhase, false);
+
+ if (shouldSucceed) {
+ expect(enemyPokemon.hp).toBeLessThan(enemyStartingHp);
+ } else {
+ expect(enemyPokemon.hp).toBe(enemyStartingHp);
+ }
+}
diff --git a/src/test/abilities/volt_absorb.test.ts b/src/test/abilities/volt_absorb.test.ts
new file mode 100644
index 00000000000..86efd1a9d93
--- /dev/null
+++ b/src/test/abilities/volt_absorb.test.ts
@@ -0,0 +1,56 @@
+import {afterEach, beforeAll, beforeEach, describe, expect, it, vi} from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import {
+ TurnEndPhase,
+} from "#app/phases";
+import {getMovePosition} from "#app/test/utils/gameManagerUtils";
+import { BattleStat } from "#app/data/battle-stat.js";
+import { Abilities } from "#enums/abilities";
+import { BattlerTagType } from "#enums/battler-tag-type";
+import { Moves } from "#enums/moves";
+import { Species } from "#enums/species";
+
+// See also: TypeImmunityAbAttr
+describe("Abilities - Volt Absorb", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "NEVER_CRIT_OVERRIDE", "get").mockReturnValue(true);
+ });
+
+ it("does not activate when CHARGE is used", async () => {
+ const moveToUse = Moves.CHARGE;
+ const ability = Abilities.VOLT_ABSORB;
+
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([moveToUse]);
+ vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(ability);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH, Moves.NONE, Moves.NONE, Moves.NONE]);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.DUSKULL);
+ vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.BALL_FETCH);
+
+ await game.startBattle();
+
+ game.doAttack(getMovePosition(game.scene, 0, moveToUse));
+
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(game.scene.getParty()[0].summonData.battleStats[BattleStat.SPDEF]).toBe(1);
+ expect(game.scene.getParty()[0].getTag(BattlerTagType.CHARGED)).toBeDefined();
+ expect(game.phaseInterceptor.log).not.toContain("ShowAbilityPhase");
+ });
+});
diff --git a/src/test/abilities/wind_power.test.ts b/src/test/abilities/wind_power.test.ts
new file mode 100644
index 00000000000..89957362268
--- /dev/null
+++ b/src/test/abilities/wind_power.test.ts
@@ -0,0 +1,97 @@
+import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import { Species } from "#enums/species";
+import {
+ TurnEndPhase,
+} from "#app/phases";
+import { Moves } from "#enums/moves";
+import { getMovePosition } from "#app/test/utils/gameManagerUtils";
+import { Abilities } from "#enums/abilities";
+import { BattlerTagType } from "#app/enums/battler-tag-type.js";
+
+describe("Abilities - Wind Power", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.SHIFTRY);
+ vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.WIND_POWER);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TAILWIND, Moves.SPLASH, Moves.PETAL_BLIZZARD, Moves.SANDSTORM]);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH, Moves.SPLASH, Moves.SPLASH, Moves.SPLASH]);
+ });
+
+ it("it becomes charged when hit by wind moves", async () => {
+ await game.startBattle([Species.MAGIKARP]);
+ const shiftry = game.scene.getEnemyPokemon();
+
+ expect(shiftry.getTag(BattlerTagType.CHARGED)).toBeUndefined();
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.PETAL_BLIZZARD));
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(shiftry.getTag(BattlerTagType.CHARGED)).toBeDefined();
+ });
+
+ it("it becomes charged when Tailwind takes effect on its side", async () => {
+ vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.WIND_POWER);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.MAGIKARP);
+
+ await game.startBattle([Species.SHIFTRY]);
+ const shiftry = game.scene.getPlayerPokemon();
+
+ expect(shiftry.getTag(BattlerTagType.CHARGED)).toBeUndefined();
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.TAILWIND));
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(shiftry.getTag(BattlerTagType.CHARGED)).toBeDefined();
+ });
+
+ it("does not become charged when Tailwind takes effect on opposing side", async () => {
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.MAGIKARP);
+ vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.WIND_POWER);
+
+ await game.startBattle([Species.SHIFTRY]);
+ const magikarp = game.scene.getEnemyPokemon();
+ const shiftry = game.scene.getPlayerPokemon();
+
+ expect(shiftry.getTag(BattlerTagType.CHARGED)).toBeUndefined();
+ expect(magikarp.getTag(BattlerTagType.CHARGED)).toBeUndefined();
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.TAILWIND));
+
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(shiftry.getTag(BattlerTagType.CHARGED)).toBeDefined();
+ expect(magikarp.getTag(BattlerTagType.CHARGED)).toBeUndefined();
+ });
+
+ it("does not interact with Sandstorm", async () => {
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.MAGIKARP);
+
+ await game.startBattle([Species.SHIFTRY]);
+ const shiftry = game.scene.getPlayerPokemon();
+
+ expect(shiftry.getTag(BattlerTagType.CHARGED)).toBeUndefined();
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.SANDSTORM));
+
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(shiftry.getTag(BattlerTagType.CHARGED)).toBeUndefined();
+ });
+});
diff --git a/src/test/abilities/wind_rider.test.ts b/src/test/abilities/wind_rider.test.ts
new file mode 100644
index 00000000000..2b9361f5839
--- /dev/null
+++ b/src/test/abilities/wind_rider.test.ts
@@ -0,0 +1,120 @@
+import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import { Species } from "#enums/species";
+import {
+ TurnEndPhase,
+} from "#app/phases";
+import { Moves } from "#enums/moves";
+import { getMovePosition } from "#app/test/utils/gameManagerUtils";
+import { Abilities } from "#enums/abilities";
+import { BattleStat } from "#app/data/battle-stat.js";
+
+describe("Abilities - Wind Rider", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.SHIFTRY);
+ vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.WIND_RIDER);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TAILWIND, Moves.SPLASH, Moves.PETAL_BLIZZARD, Moves.SANDSTORM]);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH, Moves.SPLASH, Moves.SPLASH, Moves.SPLASH]);
+ });
+
+ it("takes no damage from wind moves and its Attack is increased by one stage when hit by one", async () => {
+ await game.startBattle([Species.MAGIKARP]);
+ const shiftry = game.scene.getEnemyPokemon();
+
+ expect(shiftry.summonData.battleStats[BattleStat.ATK]).toBe(0);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.PETAL_BLIZZARD));
+
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(shiftry.hp).equals(shiftry.getMaxHp());
+ expect(shiftry.summonData.battleStats[BattleStat.ATK]).toBe(1);
+ });
+
+ it("Attack is increased by one stage when Tailwind is present on its side", async () => {
+ vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.WIND_RIDER);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.MAGIKARP);
+
+ await game.startBattle([Species.SHIFTRY]);
+ const shiftry = game.scene.getPlayerPokemon();
+
+ expect(shiftry.summonData.battleStats[BattleStat.ATK]).toBe(0);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.TAILWIND));
+
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(shiftry.summonData.battleStats[BattleStat.ATK]).toBe(1);
+ });
+
+ it("does not increase Attack when Tailwind is present on opposing side", async () => {
+ vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.WIND_RIDER);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.MAGIKARP);
+
+ await game.startBattle([Species.SHIFTRY]);
+ const magikarp = game.scene.getEnemyPokemon();
+ const shiftry = game.scene.getPlayerPokemon();
+
+ expect(shiftry.summonData.battleStats[BattleStat.ATK]).toBe(0);
+ expect(magikarp.summonData.battleStats[BattleStat.ATK]).toBe(0);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.TAILWIND));
+
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(shiftry.summonData.battleStats[BattleStat.ATK]).toBe(1);
+ expect(magikarp.summonData.battleStats[BattleStat.ATK]).toBe(0);
+ });
+
+ it("does not increase Attack when Tailwind is present on opposing side", async () => {
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.MAGIKARP);
+
+ await game.startBattle([Species.SHIFTRY]);
+ const magikarp = game.scene.getEnemyPokemon();
+ const shiftry = game.scene.getPlayerPokemon();
+
+ expect(shiftry.summonData.battleStats[BattleStat.ATK]).toBe(0);
+ expect(magikarp.summonData.battleStats[BattleStat.ATK]).toBe(0);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.TAILWIND));
+
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(shiftry.summonData.battleStats[BattleStat.ATK]).toBe(1);
+ expect(magikarp.summonData.battleStats[BattleStat.ATK]).toBe(0);
+ });
+
+ it("does not interact with Sandstorm", async () => {
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.MAGIKARP);
+
+ await game.startBattle([Species.SHIFTRY]);
+ const shiftry = game.scene.getPlayerPokemon();
+
+ expect(shiftry.summonData.battleStats[BattleStat.ATK]).toBe(0);
+ expect(shiftry.hp).equals(shiftry.getMaxHp());
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.SANDSTORM));
+
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(shiftry.summonData.battleStats[BattleStat.ATK]).toBe(0);
+ expect(shiftry.hp).lessThan(shiftry.getMaxHp());
+ });
+});
diff --git a/src/test/abilities/wonder_skin.test.ts b/src/test/abilities/wonder_skin.test.ts
new file mode 100644
index 00000000000..4dc4b1d4282
--- /dev/null
+++ b/src/test/abilities/wonder_skin.test.ts
@@ -0,0 +1,141 @@
+import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import { Species } from "#enums/species";
+import { TurnEndPhase, } from "#app/phases";
+import { Moves } from "#enums/moves";
+import { getMovePosition } from "#app/test/utils/gameManagerUtils";
+import { Abilities } from "#enums/abilities";
+import Move, { allMoves } from "#app/data/move.js";
+import { MoveAbilityBypassAbAttr, WonderSkinAbAttr } from "#app/data/ability.js";
+import { NumberHolder } from "#app/utils.js";
+import Pokemon from "#app/field/pokemon.js";
+
+describe("Abilities - Wonder Skin", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.WONDER_SKIN);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE, Moves.CHARM]);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH, Moves.SPLASH, Moves.SPLASH, Moves.SPLASH]);
+ });
+
+ it("lowers accuracy of status moves to 50%", async () => {
+ await game.startBattle([Species.MAGIKARP]);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.CHARM));
+
+ const mockedAccuracy = getMockedMoveAccuracy(game.scene.getEnemyPokemon(), game.scene.getPlayerPokemon(), allMoves[Moves.CHARM]);
+
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(mockedAccuracy).not.toBe(undefined);
+ expect(mockedAccuracy).not.toBe(100);
+ expect(mockedAccuracy).toBe(50);
+ });
+
+ it("does not lower accuracy of non-status moves", async () => {
+ await game.startBattle([Species.MAGIKARP]);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.TACKLE));
+
+ const mockedAccuracy = getMockedMoveAccuracy(game.scene.getEnemyPokemon(), game.scene.getPlayerPokemon(), allMoves[Moves.TACKLE]);
+
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(mockedAccuracy).not.toBe(undefined);
+ expect(mockedAccuracy).toBe(100);
+ expect(mockedAccuracy).not.toBe(50);
+ });
+
+ it("does not affect pokemon with Mold Breaker", async () => {
+ vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.MOLD_BREAKER);
+
+ await game.startBattle([Species.MAGIKARP]);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.CHARM));
+
+ const mockedAccuracy = getMockedMoveAccuracy(game.scene.getEnemyPokemon(), game.scene.getPlayerPokemon(), allMoves[Moves.CHARM]);
+
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(mockedAccuracy).not.toBe(undefined);
+ expect(mockedAccuracy).toBe(100);
+ expect(mockedAccuracy).not.toBe(50);
+ });
+
+ it("does not affect pokemon with Teravolt", async () => {
+ vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.TERAVOLT);
+
+ await game.startBattle([Species.MAGIKARP]);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.CHARM));
+
+ const mockedAccuracy = getMockedMoveAccuracy(game.scene.getEnemyPokemon(), game.scene.getPlayerPokemon(), allMoves[Moves.CHARM]);
+
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(mockedAccuracy).not.toBe(undefined);
+ expect(mockedAccuracy).toBe(100);
+ expect(mockedAccuracy).not.toBe(50);
+ });
+
+ it("does not affect pokemon with Turboblaze", async () => {
+ vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.TURBOBLAZE);
+
+ await game.startBattle([Species.MAGIKARP]);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.CHARM));
+
+ const mockedAccuracy = getMockedMoveAccuracy(game.scene.getEnemyPokemon(), game.scene.getPlayerPokemon(), allMoves[Moves.CHARM]);
+
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(mockedAccuracy).not.toBe(undefined);
+ expect(mockedAccuracy).toBe(100);
+ expect(mockedAccuracy).not.toBe(50);
+ });
+});
+
+/**
+ * Calculates the mocked accuracy of a move.
+ * Note this does not consider other accuracy calculations
+ * except the power multiplier from Wonder Skin.
+ * Bypassed by MoveAbilityBypassAbAttr {@linkcode MoveAbilityBypassAbAttr}
+ *
+ * @param defender - The defending Pokémon.
+ * @param attacker - The attacking Pokémon.
+ * @param move - The move being used by the attacker.
+ * @returns The adjusted accuracy of the move.
+ */
+const getMockedMoveAccuracy = (defender: Pokemon, attacker: Pokemon, move: Move) => {
+ const accuracyHolder = new NumberHolder(move.accuracy);
+
+ /**
+ * Simulate ignoring ability
+ * @see MoveAbilityBypassAbAttr
+ */
+ if (attacker.hasAbilityWithAttr(MoveAbilityBypassAbAttr)) {
+ return accuracyHolder.value;
+ }
+
+ const wonderSkinInstance = new WonderSkinAbAttr();
+
+ wonderSkinInstance.applyPreDefend(defender, false, attacker, move, { value: false }, [ accuracyHolder ]);
+
+ return accuracyHolder.value;
+};
diff --git a/src/test/abilities/zen_mode.test.ts b/src/test/abilities/zen_mode.test.ts
new file mode 100644
index 00000000000..4a3caaaa157
--- /dev/null
+++ b/src/test/abilities/zen_mode.test.ts
@@ -0,0 +1,181 @@
+import { afterEach, beforeAll, beforeEach, describe, expect, test, vi } from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as Overrides from "#app/overrides";
+import {
+ CommandPhase,
+ DamagePhase,
+ EnemyCommandPhase,
+ MessagePhase,
+ PostSummonPhase,
+ SwitchPhase,
+ SwitchSummonPhase,
+ TurnEndPhase,
+ TurnInitPhase,
+ TurnStartPhase,
+} from "#app/phases";
+import { Mode } from "#app/ui/ui";
+import { Stat } from "#app/data/pokemon-stat";
+import { getMovePosition } from "#app/test/utils/gameManagerUtils";
+import { Command } from "#app/ui/command-ui-handler";
+import { QuietFormChangePhase } from "#app/form-change-phase";
+import { Status, StatusEffect } from "#app/data/status-effect.js";
+import { Abilities } from "#enums/abilities";
+import { Moves } from "#enums/moves";
+import { Species } from "#enums/species";
+
+const TIMEOUT = 20 * 1000;
+
+describe("Abilities - ZEN MODE", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ const moveToUse = Moves.SPLASH;
+ vi.spyOn(Overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(Overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.RATTATA);
+ vi.spyOn(Overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.HYDRATION);
+ vi.spyOn(Overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.ZEN_MODE);
+ vi.spyOn(Overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(100);
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([moveToUse]);
+ vi.spyOn(Overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE, Moves.TACKLE, Moves.TACKLE, Moves.TACKLE]);
+ });
+
+ test(
+ "not enough damage to change form",
+ async () => {
+ const moveToUse = Moves.SPLASH;
+ await game.startBattle([Species.DARMANITAN]);
+ game.scene.getParty()[0].stats[Stat.SPD] = 1;
+ game.scene.getParty()[0].stats[Stat.HP] = 100;
+ game.scene.getParty()[0].hp = 100;
+ expect(game.scene.getParty()[0].formIndex).toBe(0);
+
+ game.onNextPrompt("CommandPhase", Mode.COMMAND, () => {
+ game.scene.ui.setMode(Mode.FIGHT, (game.scene.getCurrentPhase() as CommandPhase).getFieldIndex());
+ });
+ game.onNextPrompt("CommandPhase", Mode.FIGHT, () => {
+ const movePosition = getMovePosition(game.scene, 0, moveToUse);
+ (game.scene.getCurrentPhase() as CommandPhase).handleCommand(Command.FIGHT, movePosition, false);
+ });
+ await game.phaseInterceptor.runFrom(EnemyCommandPhase).to(DamagePhase, false);
+ // await game.phaseInterceptor.runFrom(DamagePhase).to(DamagePhase, false);
+ const damagePhase = game.scene.getCurrentPhase() as DamagePhase;
+ damagePhase.updateAmount(40);
+ await game.phaseInterceptor.runFrom(DamagePhase).to(TurnEndPhase, false);
+ expect(game.scene.getParty()[0].hp).toBeLessThan(100);
+ expect(game.scene.getParty()[0].formIndex).toBe(0);
+ },
+ TIMEOUT
+ );
+
+ test(
+ "enough damage to change form",
+ async () => {
+ const moveToUse = Moves.SPLASH;
+ await game.startBattle([Species.DARMANITAN]);
+ game.scene.getParty()[0].stats[Stat.SPD] = 1;
+ game.scene.getParty()[0].stats[Stat.HP] = 1000;
+ game.scene.getParty()[0].hp = 100;
+ expect(game.scene.getParty()[0].formIndex).toBe(0);
+
+ game.onNextPrompt("CommandPhase", Mode.COMMAND, () => {
+ game.scene.ui.setMode(Mode.FIGHT, (game.scene.getCurrentPhase() as CommandPhase).getFieldIndex());
+ });
+ game.onNextPrompt("CommandPhase", Mode.FIGHT, () => {
+ const movePosition = getMovePosition(game.scene, 0, moveToUse);
+ (game.scene.getCurrentPhase() as CommandPhase).handleCommand(Command.FIGHT, movePosition, false);
+ });
+ await game.phaseInterceptor.runFrom(EnemyCommandPhase).to(QuietFormChangePhase);
+ await game.phaseInterceptor.to(TurnInitPhase, false);
+ expect(game.scene.getParty()[0].hp).not.toBe(100);
+ expect(game.scene.getParty()[0].formIndex).not.toBe(0);
+ },
+ TIMEOUT
+ );
+
+ test(
+ "kill pokemon while on zen mode",
+ async () => {
+ const moveToUse = Moves.SPLASH;
+ await game.startBattle([Species.DARMANITAN, Species.CHARIZARD]);
+ game.scene.getParty()[0].stats[Stat.SPD] = 1;
+ game.scene.getParty()[0].stats[Stat.HP] = 1000;
+ game.scene.getParty()[0].hp = 100;
+ expect(game.scene.getParty()[0].formIndex).toBe(0);
+
+ game.onNextPrompt("CommandPhase", Mode.COMMAND, () => {
+ game.scene.ui.setMode(Mode.FIGHT, (game.scene.getCurrentPhase() as CommandPhase).getFieldIndex());
+ });
+ game.onNextPrompt("CommandPhase", Mode.FIGHT, () => {
+ const movePosition = getMovePosition(game.scene, 0, moveToUse);
+ (game.scene.getCurrentPhase() as CommandPhase).handleCommand(Command.FIGHT, movePosition, false);
+ });
+ await game.phaseInterceptor.runFrom(EnemyCommandPhase).to(DamagePhase, false);
+ // await game.phaseInterceptor.runFrom(DamagePhase).to(DamagePhase, false);
+ const damagePhase = game.scene.getCurrentPhase() as DamagePhase;
+ damagePhase.updateAmount(80);
+ await game.phaseInterceptor.runFrom(DamagePhase).to(QuietFormChangePhase);
+ expect(game.scene.getParty()[0].hp).not.toBe(100);
+ expect(game.scene.getParty()[0].formIndex).not.toBe(0);
+ await game.killPokemon(game.scene.getParty()[0]);
+ expect(game.scene.getParty()[0].isFainted()).toBe(true);
+ await game.phaseInterceptor.run(MessagePhase);
+ await game.phaseInterceptor.run(EnemyCommandPhase);
+ await game.phaseInterceptor.run(TurnStartPhase);
+ game.onNextPrompt("SwitchPhase", Mode.PARTY, () => {
+ game.scene.unshiftPhase(new SwitchSummonPhase(game.scene, 0, 1, false, false));
+ game.scene.ui.setMode(Mode.MESSAGE);
+ });
+ game.onNextPrompt("SwitchPhase", Mode.MESSAGE, () => {
+ game.endPhase();
+ });
+ await game.phaseInterceptor.run(SwitchPhase);
+ await game.phaseInterceptor.to(PostSummonPhase);
+ expect(game.scene.getParty()[1].formIndex).toBe(1);
+ },
+ TIMEOUT
+ );
+
+ test(
+ "check if fainted pokemon switches to base form on arena reset",
+ async () => {
+ const baseForm = 0,
+ zenForm = 1;
+ vi.spyOn(Overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(4);
+ vi.spyOn(Overrides, "STARTER_FORM_OVERRIDES", "get").mockReturnValue({
+ [Species.DARMANITAN]: zenForm,
+ });
+
+ await game.startBattle([Species.MAGIKARP, Species.DARMANITAN]);
+
+ const darmanitan = game.scene.getParty().find((p) => p.species.speciesId === Species.DARMANITAN);
+ expect(darmanitan).not.toBe(undefined);
+ expect(darmanitan.formIndex).toBe(zenForm);
+
+ darmanitan.hp = 0;
+ darmanitan.status = new Status(StatusEffect.FAINT);
+ expect(darmanitan.isFainted()).toBe(true);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.SPLASH));
+ await game.doKillOpponents();
+ await game.phaseInterceptor.to(TurnEndPhase);
+ game.doSelectModifier();
+ await game.phaseInterceptor.to(QuietFormChangePhase);
+
+ expect(darmanitan.formIndex).toBe(baseForm);
+ },
+ TIMEOUT
+ );
+});
diff --git a/src/test/abilities/zero_to_hero.test.ts b/src/test/abilities/zero_to_hero.test.ts
new file mode 100644
index 00000000000..e0264729125
--- /dev/null
+++ b/src/test/abilities/zero_to_hero.test.ts
@@ -0,0 +1,67 @@
+import { afterEach, beforeAll, beforeEach, describe, expect, test, vi } from "vitest";
+import GameManager from "#test/utils/gameManager";
+import { getMovePosition } from "#test/utils/gameManagerUtils";
+import * as Overrides from "#app/overrides";
+import { Moves } from "#enums/moves";
+import { Abilities } from "#enums/abilities";
+import { Species } from "#enums/species";
+import { Status, StatusEffect } from "#app/data/status-effect.js";
+import { TurnEndPhase } from "#app/phases.js";
+import { QuietFormChangePhase } from "#app/form-change-phase.js";
+
+const TIMEOUT = 20 * 1000;
+
+describe("Abilities - ZERO TO HERO", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ const moveToUse = Moves.SPLASH;
+ vi.spyOn(Overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(Overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.ZERO_TO_HERO);
+ vi.spyOn(Overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([moveToUse]);
+ vi.spyOn(Overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE, Moves.TACKLE, Moves.TACKLE, Moves.TACKLE]);
+ });
+
+ test(
+ "check if fainted pokemon switches to base form on arena reset",
+ async () => {
+ const baseForm = 0,
+ heroForm = 1;
+ vi.spyOn(Overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(4);
+ vi.spyOn(Overrides, "STARTER_FORM_OVERRIDES", "get").mockReturnValue({
+ [Species.PALAFIN]: heroForm,
+ });
+
+ await game.startBattle([Species.MAGIKARP, Species.PALAFIN]);
+
+ const palafin = game.scene.getParty().find((p) => p.species.speciesId === Species.PALAFIN);
+ expect(palafin).not.toBe(undefined);
+ expect(palafin.formIndex).toBe(heroForm);
+
+ palafin.hp = 0;
+ palafin.status = new Status(StatusEffect.FAINT);
+ expect(palafin.isFainted()).toBe(true);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.SPLASH));
+ await game.doKillOpponents();
+ await game.phaseInterceptor.to(TurnEndPhase);
+ game.doSelectModifier();
+ await game.phaseInterceptor.to(QuietFormChangePhase);
+
+ expect(palafin.formIndex).toBe(baseForm);
+ },
+ TIMEOUT
+ );
+});
diff --git a/src/test/account.spec.ts b/src/test/account.spec.ts
new file mode 100644
index 00000000000..28e48ce9933
--- /dev/null
+++ b/src/test/account.spec.ts
@@ -0,0 +1,74 @@
+import * as battleScene from "#app/battle-scene.js";
+import { describe, expect, it, vi } from "vitest";
+import { initLoggedInUser, loggedInUser, updateUserInfo } from "../account";
+import * as utils from "../utils";
+
+describe("account", () => {
+ describe("initLoggedInUser", () => {
+ it("should set loggedInUser to Guest and lastSessionSlot to -1", () => {
+ initLoggedInUser();
+
+ expect(loggedInUser.username).toBe("Guest");
+ expect(loggedInUser.lastSessionSlot).toBe(-1);
+ });
+ });
+
+ describe("updateUserInfo", () => {
+ it("should set loggedInUser to Guest if bypassLogin is true", async () => {
+ vi.spyOn(battleScene, "bypassLogin", "get").mockReturnValue(true);
+
+ const [success, status] = await updateUserInfo();
+
+ expect(success).toBe(true);
+ expect(status).toBe(200);
+ expect(loggedInUser.username).toBe("Guest");
+ expect(loggedInUser.lastSessionSlot).toBe(-1);
+ });
+
+ it("should fetch user info from the API if bypassLogin is false", async () => {
+ vi.spyOn(battleScene, "bypassLogin", "get").mockReturnValue(false);
+ vi.spyOn(utils, "apiFetch").mockResolvedValue(
+ new Response(
+ JSON.stringify({
+ username: "test",
+ lastSessionSlot: 99,
+ }),
+ {
+ status: 200,
+ }
+ )
+ );
+
+ const [success, status] = await updateUserInfo();
+
+ expect(success).toBe(true);
+ expect(status).toBe(200);
+ expect(loggedInUser.username).toBe("test");
+ expect(loggedInUser.lastSessionSlot).toBe(99);
+ });
+
+ it("should handle resolved API errors", async () => {
+ vi.spyOn(battleScene, "bypassLogin", "get").mockReturnValue(false);
+ vi.spyOn(utils, "apiFetch").mockResolvedValue(
+ new Response(null, { status: 401 })
+ );
+
+ const [success, status] = await updateUserInfo();
+
+ expect(success).toBe(false);
+ expect(status).toBe(401);
+ });
+
+ it("should handle rejected API errors", async () => {
+ const consoleErrorSpy = vi.spyOn(console, "error");
+ vi.spyOn(battleScene, "bypassLogin", "get").mockReturnValue(false);
+ vi.spyOn(utils, "apiFetch").mockRejectedValue(new Error("Api failed!"));
+
+ const [success, status] = await updateUserInfo();
+
+ expect(success).toBe(false);
+ expect(status).toBe(500);
+ expect(consoleErrorSpy).toHaveBeenCalled();
+ });
+ });
+});
diff --git a/src/test/achievement.test.ts b/src/test/achievement.test.ts
deleted file mode 100644
index c33707cf5b2..00000000000
--- a/src/test/achievement.test.ts
+++ /dev/null
@@ -1,9 +0,0 @@
-import { MoneyAchv } from "#app/system/achv";
-import { describe, expect, it } from "vitest";
-
-describe("check some Achievement related stuff", () => {
- it ("should check Achievement creation", () => {
- const ach = new MoneyAchv("", "Achievement", 1000, null, 100);
- expect(ach.name).toBe("Achievement");
- });
-});
diff --git a/src/test/achievements/achievement.test.ts b/src/test/achievements/achievement.test.ts
new file mode 100644
index 00000000000..f24529187c6
--- /dev/null
+++ b/src/test/achievements/achievement.test.ts
@@ -0,0 +1,274 @@
+import {afterEach, beforeAll, beforeEach, describe, expect, it, vi} from "vitest";
+import {MoneyAchv, Achv, AchvTier, RibbonAchv, DamageAchv, HealAchv, LevelAchv, ModifierAchv, achvs} from "#app/system/achv";
+import BattleScene from "../../battle-scene";
+import { IntegerHolder, NumberHolder } from "#app/utils.js";
+import { TurnHeldItemTransferModifier } from "#app/modifier/modifier.js";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+
+describe("check some Achievement related stuff", () => {
+ it ("should check Achievement creation", () => {
+ const ach = new MoneyAchv("", "Achievement", 1000, null, 100);
+ expect(ach.name).toBe("Achievement");
+ });
+});
+
+
+describe("Achv", () => {
+ let achv: Achv;
+
+ beforeEach(() => {
+ achv = new Achv("", "Test Achievement", "This is a test achievement", "test_icon", 10);
+ });
+
+ it("should have the correct name", () => {
+ expect(achv.getDescription()).toBe("This is a test achievement");
+ });
+
+ it("should have the correct icon image", () => {
+ expect(achv.getIconImage()).toBe("test_icon");
+ });
+
+ it("should set the achievement as secret", () => {
+ achv.setSecret();
+ expect(achv.secret).toBe(true);
+ expect(achv.hasParent).toBe(false);
+
+ achv.setSecret(true);
+ expect(achv.secret).toBe(true);
+ expect(achv.hasParent).toBe(true);
+
+ achv.setSecret(false);
+ expect(achv.secret).toBe(true);
+ expect(achv.hasParent).toBe(false);
+ });
+
+ it("should return the correct tier based on the score", () => {
+ const achv1 = new Achv("", "Test Achievement 1", "Test Description", "test_icon", 10);
+ const achv2 = new Achv("", "Test Achievement 2", "Test Description", "test_icon", 25);
+ const achv3 = new Achv("", "Test Achievement 3", "Test Description", "test_icon", 50);
+ const achv4 = new Achv("", "Test Achievement 4", "Test Description", "test_icon", 75);
+ const achv5 = new Achv("", "Test Achievement 5", "Test Description", "test_icon", 100);
+
+ expect(achv1.getTier()).toBe(AchvTier.COMMON);
+ expect(achv2.getTier()).toBe(AchvTier.GREAT);
+ expect(achv3.getTier()).toBe(AchvTier.ULTRA);
+ expect(achv4.getTier()).toBe(AchvTier.ROGUE);
+ expect(achv5.getTier()).toBe(AchvTier.MASTER);
+ });
+
+ it("should validate the achievement based on the condition function", () => {
+ const conditionFunc = jest.fn((scene: BattleScene, args: any[]) => args[0] === 10);
+ const achv = new Achv("", "Test Achievement", "Test Description", "test_icon", 10, conditionFunc);
+
+ expect(achv.validate(new BattleScene(), [5])).toBe(false);
+ expect(achv.validate(new BattleScene(), [10])).toBe(true);
+ expect(conditionFunc).toHaveBeenCalledTimes(2);
+ });
+});
+
+describe("MoneyAchv", () => {
+ it("should create an instance of MoneyAchv", () => {
+ const moneyAchv = new MoneyAchv("", "Test Money Achievement", 10000, "money_icon", 10);
+ expect(moneyAchv).toBeInstanceOf(MoneyAchv);
+ expect(moneyAchv instanceof Achv).toBe(true);
+ });
+
+ it("should validate the achievement based on the money amount", () => {
+ const moneyAchv = new MoneyAchv("", "Test Money Achievement", 10000, "money_icon", 10);
+ const scene = new BattleScene();
+ scene.money = 5000;
+
+ expect(moneyAchv.validate(scene, [])).toBe(false);
+
+ scene.money = 15000;
+ expect(moneyAchv.validate(scene, [])).toBe(true);
+ });
+});
+
+describe("RibbonAchv", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+ let scene: BattleScene;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ vi.spyOn(overrides, "STARTER_SPECIES_OVERRIDE", "get").mockReturnValue(0);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(0);
+ vi.spyOn(overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(0);
+ vi.spyOn(overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(0);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([]);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([]);
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(false);
+ vi.spyOn(overrides, "DOUBLE_BATTLE_OVERRIDE", "get").mockReturnValue(false);
+ game = new GameManager(phaserGame);
+ scene = game.scene;
+ });
+
+ it("should create an instance of RibbonAchv", () => {
+ const ribbonAchv = new RibbonAchv("", "Test Ribbon Achievement", 10, "ribbon_icon", 10);
+ expect(ribbonAchv).toBeInstanceOf(RibbonAchv);
+ expect(ribbonAchv instanceof Achv).toBe(true);
+ });
+
+ it("should validate the achievement based on the ribbon amount", () => {
+ const ribbonAchv = new RibbonAchv("", "Test Ribbon Achievement", 10, "ribbon_icon", 10);
+ scene.gameData.gameStats.ribbonsOwned = 5;
+
+ expect(ribbonAchv.validate(scene, [])).toBe(false);
+
+ scene.gameData.gameStats.ribbonsOwned = 15;
+ expect(ribbonAchv.validate(scene, [])).toBe(true);
+ });
+});
+
+describe("DamageAchv", () => {
+ it("should create an instance of DamageAchv", () => {
+ const damageAchv = new DamageAchv("", "Test Damage Achievement", 250, "damage_icon", 10);
+ expect(damageAchv).toBeInstanceOf(DamageAchv);
+ expect(damageAchv instanceof Achv).toBe(true);
+ });
+
+ it("should validate the achievement based on the damage amount", () => {
+ const damageAchv = new DamageAchv("", "Test Damage Achievement", 250, "damage_icon", 10);
+ const scene = new BattleScene();
+ const numberHolder = new NumberHolder(200);
+
+ expect(damageAchv.validate(scene, [numberHolder])).toBe(false);
+
+ numberHolder.value = 300;
+ expect(damageAchv.validate(scene, [numberHolder])).toBe(true);
+ });
+});
+
+describe("HealAchv", () => {
+ it("should create an instance of HealAchv", () => {
+ const healAchv = new HealAchv("", "Test Heal Achievement", 250, "heal_icon", 10);
+ expect(healAchv).toBeInstanceOf(HealAchv);
+ expect(healAchv instanceof Achv).toBe(true);
+ });
+
+ it("should validate the achievement based on the heal amount", () => {
+ const healAchv = new HealAchv("", "Test Heal Achievement", 250, "heal_icon", 10);
+ const scene = new BattleScene();
+ const numberHolder = new NumberHolder(200);
+
+ expect(healAchv.validate(scene, [numberHolder])).toBe(false);
+
+ numberHolder.value = 300;
+ expect(healAchv.validate(scene, [numberHolder])).toBe(true);
+ });
+});
+
+describe("LevelAchv", () => {
+ it("should create an instance of LevelAchv", () => {
+ const levelAchv = new LevelAchv("", "Test Level Achievement", 100, "level_icon", 10);
+ expect(levelAchv).toBeInstanceOf(LevelAchv);
+ expect(levelAchv instanceof Achv).toBe(true);
+ });
+
+ it("should validate the achievement based on the level", () => {
+ const levelAchv = new LevelAchv("", "Test Level Achievement", 100, "level_icon", 10);
+ const scene = new BattleScene();
+ const integerHolder = new IntegerHolder(50);
+
+ expect(levelAchv.validate(scene, [integerHolder])).toBe(false);
+
+ integerHolder.value = 150;
+ expect(levelAchv.validate(scene, [integerHolder])).toBe(true);
+ });
+});
+
+describe("ModifierAchv", () => {
+ it("should create an instance of ModifierAchv", () => {
+ const modifierAchv = new ModifierAchv("", "Test Modifier Achievement", "Test Description", "modifier_icon", 10, () => true);
+ expect(modifierAchv).toBeInstanceOf(ModifierAchv);
+ expect(modifierAchv instanceof Achv).toBe(true);
+ });
+
+ it("should validate the achievement based on the modifier function", () => {
+ const modifierAchv = new ModifierAchv("", "Test Modifier Achievement", "Test Description", "modifier_icon", 10, () => true);
+ const scene = new BattleScene();
+ const modifier = new TurnHeldItemTransferModifier(null, 3, 1);
+
+ expect(modifierAchv.validate(scene, [modifier])).toBe(true);
+ });
+});
+
+describe("achvs", () => {
+ it("should contain the predefined achievements", () => {
+ expect(achvs._10K_MONEY).toBeInstanceOf(MoneyAchv);
+ expect(achvs._100K_MONEY).toBeInstanceOf(MoneyAchv);
+ expect(achvs._1M_MONEY).toBeInstanceOf(MoneyAchv);
+ expect(achvs._10M_MONEY).toBeInstanceOf(MoneyAchv);
+ expect(achvs._250_DMG).toBeInstanceOf(DamageAchv);
+ expect(achvs._1000_DMG).toBeInstanceOf(DamageAchv);
+ expect(achvs._2500_DMG).toBeInstanceOf(DamageAchv);
+ expect(achvs._10000_DMG).toBeInstanceOf(DamageAchv);
+ expect(achvs._250_HEAL).toBeInstanceOf(HealAchv);
+ expect(achvs._1000_HEAL).toBeInstanceOf(HealAchv);
+ expect(achvs._2500_HEAL).toBeInstanceOf(HealAchv);
+ expect(achvs._10000_HEAL).toBeInstanceOf(HealAchv);
+ expect(achvs.LV_100).toBeInstanceOf(LevelAchv);
+ expect(achvs.LV_250).toBeInstanceOf(LevelAchv);
+ expect(achvs.LV_1000).toBeInstanceOf(LevelAchv);
+ expect(achvs._10_RIBBONS).toBeInstanceOf(RibbonAchv);
+ expect(achvs._25_RIBBONS).toBeInstanceOf(RibbonAchv);
+ expect(achvs._50_RIBBONS).toBeInstanceOf(RibbonAchv);
+ expect(achvs._75_RIBBONS).toBeInstanceOf(RibbonAchv);
+ expect(achvs._100_RIBBONS).toBeInstanceOf(RibbonAchv);
+ expect(achvs.TRANSFER_MAX_BATTLE_STAT).toBeInstanceOf(Achv);
+ expect(achvs.MAX_FRIENDSHIP).toBeInstanceOf(Achv);
+ expect(achvs.MEGA_EVOLVE).toBeInstanceOf(Achv);
+ expect(achvs.GIGANTAMAX).toBeInstanceOf(Achv);
+ expect(achvs.TERASTALLIZE).toBeInstanceOf(Achv);
+ expect(achvs.STELLAR_TERASTALLIZE).toBeInstanceOf(Achv);
+ expect(achvs.SPLICE).toBeInstanceOf(Achv);
+ expect(achvs.MINI_BLACK_HOLE).toBeInstanceOf(ModifierAchv);
+ expect(achvs.CATCH_MYTHICAL).toBeInstanceOf(Achv);
+ expect(achvs.CATCH_SUB_LEGENDARY).toBeInstanceOf(Achv);
+ expect(achvs.CATCH_LEGENDARY).toBeInstanceOf(Achv);
+ expect(achvs.SEE_SHINY).toBeInstanceOf(Achv);
+ expect(achvs.SHINY_PARTY).toBeInstanceOf(Achv);
+ expect(achvs.HATCH_MYTHICAL).toBeInstanceOf(Achv);
+ expect(achvs.HATCH_SUB_LEGENDARY).toBeInstanceOf(Achv);
+ expect(achvs.HATCH_LEGENDARY).toBeInstanceOf(Achv);
+ expect(achvs.HATCH_SHINY).toBeInstanceOf(Achv);
+ expect(achvs.HIDDEN_ABILITY).toBeInstanceOf(Achv);
+ expect(achvs.PERFECT_IVS).toBeInstanceOf(Achv);
+ expect(achvs.CLASSIC_VICTORY).toBeInstanceOf(Achv);
+ });
+
+ it("should initialize the achievements with IDs and parent IDs", () => {
+
+ expect(achvs._10K_MONEY.id).toBe("_10K_MONEY");
+ expect(achvs._10K_MONEY.hasParent).toBe(undefined);
+ expect(achvs._100K_MONEY.id).toBe("_100K_MONEY");
+ expect(achvs._100K_MONEY.hasParent).toBe(true);
+ expect(achvs._100K_MONEY.parentId).toBe("_10K_MONEY");
+ expect(achvs._1M_MONEY.id).toBe("_1M_MONEY");
+ expect(achvs._1M_MONEY.hasParent).toBe(true);
+ expect(achvs._1M_MONEY.parentId).toBe("_100K_MONEY");
+ expect(achvs._10M_MONEY.id).toBe("_10M_MONEY");
+ expect(achvs._10M_MONEY.hasParent).toBe(true);
+ expect(achvs._10M_MONEY.parentId).toBe("_1M_MONEY");
+ expect(achvs.LV_100.id).toBe("LV_100");
+ expect(achvs.LV_100.hasParent).toBe(false);
+ expect(achvs.LV_250.id).toBe("LV_250");
+ expect(achvs.LV_250.hasParent).toBe(true);
+ expect(achvs.LV_250.parentId).toBe("LV_100");
+ expect(achvs.LV_1000.id).toBe("LV_1000");
+ expect(achvs.LV_1000.hasParent).toBe(true);
+ expect(achvs.LV_1000.parentId).toBe("LV_250");
+ });
+});
diff --git a/src/test/arena/weather_strong_winds.test.ts b/src/test/arena/weather_strong_winds.test.ts
new file mode 100644
index 00000000000..d022d69a772
--- /dev/null
+++ b/src/test/arena/weather_strong_winds.test.ts
@@ -0,0 +1,82 @@
+import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import { Species } from "#enums/species";
+import {
+ TurnStartPhase,
+} from "#app/phases";
+import { Moves } from "#enums/moves";
+import { getMovePosition } from "#app/test/utils/gameManagerUtils";
+import { Abilities } from "#enums/abilities";
+import { allMoves } from "#app/data/move.js";
+
+describe("Weather - Strong Winds", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(10);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.TAILLOW);
+ vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.DELTA_STREAM);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.THUNDERBOLT, Moves.ICE_BEAM, Moves.ROCK_SLIDE]);
+ });
+
+ it("electric type move is not very effective on Rayquaza", async () => {
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.RAYQUAZA);
+
+ await game.startBattle([Species.PIKACHU]);
+ const pikachu = game.scene.getPlayerPokemon();
+ const enemy = game.scene.getEnemyPokemon();
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.THUNDERBOLT));
+
+ await game.phaseInterceptor.to(TurnStartPhase);
+ expect(enemy.getAttackTypeEffectiveness(allMoves[Moves.THUNDERBOLT].type, pikachu)).toBe(0.5);
+ });
+
+ it("electric type move is neutral for flying type pokemon", async () => {
+ await game.startBattle([Species.PIKACHU]);
+ const pikachu = game.scene.getPlayerPokemon();
+ const enemy = game.scene.getEnemyPokemon();
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.THUNDERBOLT));
+
+ await game.phaseInterceptor.to(TurnStartPhase);
+ expect(enemy.getAttackTypeEffectiveness(allMoves[Moves.THUNDERBOLT].type, pikachu)).toBe(1);
+ });
+
+ it("ice type move is neutral for flying type pokemon", async () => {
+ await game.startBattle([Species.PIKACHU]);
+ const pikachu = game.scene.getPlayerPokemon();
+ const enemy = game.scene.getEnemyPokemon();
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.ICE_BEAM));
+
+ await game.phaseInterceptor.to(TurnStartPhase);
+ expect(enemy.getAttackTypeEffectiveness(allMoves[Moves.ICE_BEAM].type, pikachu)).toBe(1);
+ });
+
+ it("rock type move is neutral for flying type pokemon", async () => {
+ await game.startBattle([Species.PIKACHU]);
+ const pikachu = game.scene.getPlayerPokemon();
+ const enemy = game.scene.getEnemyPokemon();
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.ROCK_SLIDE));
+
+ await game.phaseInterceptor.to(TurnStartPhase);
+ expect(enemy.getAttackTypeEffectiveness(allMoves[Moves.ROCK_SLIDE].type, pikachu)).toBe(1);
+ });
+});
diff --git a/src/test/battle-stat.spec.ts b/src/test/battle-stat.spec.ts
new file mode 100644
index 00000000000..46f25f66bcd
--- /dev/null
+++ b/src/test/battle-stat.spec.ts
@@ -0,0 +1,149 @@
+import {
+ BattleStat,
+ getBattleStatLevelChangeDescription,
+ getBattleStatName,
+} from "#app/data/battle-stat.js";
+import { describe, expect, it } from "vitest";
+import { arrayOfRange, mockI18next } from "./utils/testUtils";
+
+const TEST_BATTLE_STAT = -99 as unknown as BattleStat;
+const TEST_POKEMON = "Testmon";
+const TEST_STAT = "Teststat";
+
+describe("battle-stat", () => {
+ describe("getBattleStatName", () => {
+ it("should return the correct name for each BattleStat", () => {
+ mockI18next();
+
+ expect(getBattleStatName(BattleStat.ATK)).toBe("pokemonInfo:Stat.ATK");
+ expect(getBattleStatName(BattleStat.DEF)).toBe("pokemonInfo:Stat.DEF");
+ expect(getBattleStatName(BattleStat.SPATK)).toBe(
+ "pokemonInfo:Stat.SPATK"
+ );
+ expect(getBattleStatName(BattleStat.SPDEF)).toBe(
+ "pokemonInfo:Stat.SPDEF"
+ );
+ expect(getBattleStatName(BattleStat.SPD)).toBe("pokemonInfo:Stat.SPD");
+ expect(getBattleStatName(BattleStat.ACC)).toBe("pokemonInfo:Stat.ACC");
+ expect(getBattleStatName(BattleStat.EVA)).toBe("pokemonInfo:Stat.EVA");
+ });
+
+ it("should fall back to ??? for an unknown BattleStat", () => {
+ expect(getBattleStatName(TEST_BATTLE_STAT)).toBe("???");
+ });
+ });
+
+ describe("getBattleStatLevelChangeDescription", () => {
+ it("should return battle:statRose for +1", () => {
+ mockI18next();
+
+ const message = getBattleStatLevelChangeDescription(
+ TEST_POKEMON,
+ TEST_STAT,
+ 1,
+ true
+ );
+
+ expect(message).toBe("battle:statRose");
+ });
+
+ it("should return battle:statSharplyRose for +2", () => {
+ mockI18next();
+
+ const message = getBattleStatLevelChangeDescription(
+ TEST_POKEMON,
+ TEST_STAT,
+ 2,
+ true
+ );
+
+ expect(message).toBe("battle:statSharplyRose");
+ });
+
+ it("should return battle:statRoseDrastically for +3 to +6", () => {
+ mockI18next();
+
+ arrayOfRange(3, 6).forEach((n) => {
+ const message = getBattleStatLevelChangeDescription(
+ TEST_POKEMON,
+ TEST_STAT,
+ n,
+ true
+ );
+
+ expect(message).toBe("battle:statRoseDrastically");
+ });
+ });
+
+ it("should return battle:statWontGoAnyHigher for 7 or higher", () => {
+ mockI18next();
+
+ arrayOfRange(7, 10).forEach((n) => {
+ const message = getBattleStatLevelChangeDescription(
+ TEST_POKEMON,
+ TEST_STAT,
+ n,
+ true
+ );
+
+ expect(message).toBe("battle:statWontGoAnyHigher");
+ });
+ });
+
+ it("should return battle:statFell for -1", () => {
+ mockI18next();
+
+ const message = getBattleStatLevelChangeDescription(
+ TEST_POKEMON,
+ TEST_STAT,
+ 1,
+ false
+ );
+
+ expect(message).toBe("battle:statFell");
+ });
+
+ it("should return battle:statHarshlyFell for -2", () => {
+ mockI18next();
+
+ const message = getBattleStatLevelChangeDescription(
+ TEST_POKEMON,
+ TEST_STAT,
+ 2,
+ false
+ );
+
+ expect(message).toBe("battle:statHarshlyFell");
+ });
+
+ it("should return battle:statSeverelyFell for -3 to -6", () => {
+ mockI18next();
+
+ arrayOfRange(3, 6).forEach((n) => {
+ const message = getBattleStatLevelChangeDescription(
+ TEST_POKEMON,
+ TEST_STAT,
+ n,
+ false
+ );
+
+ expect(message).toBe("battle:statSeverelyFell");
+ });
+ });
+
+ it("should return battle:statWontGoAnyLower for -7 or lower", () => {
+ mockI18next();
+
+ arrayOfRange(7, 10).forEach((n) => {
+ const message = getBattleStatLevelChangeDescription(
+ TEST_POKEMON,
+ TEST_STAT,
+ n,
+ false
+ );
+
+ expect(message).toBe("battle:statWontGoAnyLower");
+ });
+ });
+ });
+});
diff --git a/src/test/battle/battle-order.test.ts b/src/test/battle/battle-order.test.ts
new file mode 100644
index 00000000000..5d8f9d2c98f
--- /dev/null
+++ b/src/test/battle/battle-order.test.ts
@@ -0,0 +1,212 @@
+import {afterEach, beforeAll, beforeEach, describe, expect, it, vi} from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import {
+ CommandPhase, EnemyCommandPhase, SelectTargetPhase,
+ TurnStartPhase
+} from "#app/phases";
+import {Mode} from "#app/ui/ui";
+import {getMovePosition} from "#app/test/utils/gameManagerUtils";
+import {Command} from "#app/ui/command-ui-handler";
+import {Stat} from "#app/data/pokemon-stat";
+import TargetSelectUiHandler from "#app/ui/target-select-ui-handler";
+import { Abilities } from "#enums/abilities";
+import { Moves } from "#enums/moves";
+import { Species } from "#enums/species";
+import {Button} from "#enums/buttons";
+
+
+describe("Battle order", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.MEWTWO);
+ vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.INSOMNIA);
+ vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.INSOMNIA);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE]);
+ });
+
+ it("opponent faster than player 50 vs 150", async() => {
+ await game.startBattle([
+ Species.BULBASAUR,
+ ]);
+ game.scene.getParty()[0].stats[Stat.SPD] = 50;
+ game.scene.currentBattle.enemyParty[0].stats[Stat.SPD] = 150;
+
+ game.onNextPrompt("CommandPhase", Mode.COMMAND, () => {
+ game.scene.ui.setMode(Mode.FIGHT, (game.scene.getCurrentPhase() as CommandPhase).getFieldIndex());
+ });
+ game.onNextPrompt("CommandPhase", Mode.FIGHT, () => {
+ const movePosition = getMovePosition(game.scene, 0, Moves.TACKLE);
+ (game.scene.getCurrentPhase() as CommandPhase).handleCommand(Command.FIGHT, movePosition, false);
+ });
+ await game.phaseInterceptor.run(EnemyCommandPhase);
+ const phase = game.scene.getCurrentPhase() as TurnStartPhase;
+ const order = phase.getOrder();
+ expect(order[0]).toBe(2);
+ expect(order[1]).toBe(0);
+ }, 20000);
+
+ it("Player faster than opponent 150 vs 50", async() => {
+ await game.startBattle([
+ Species.BULBASAUR,
+ ]);
+ game.scene.getParty()[0].stats[Stat.SPD] = 150;
+ game.scene.currentBattle.enemyParty[0].stats[Stat.SPD] = 50;
+
+ game.onNextPrompt("CommandPhase", Mode.COMMAND, () => {
+ game.scene.ui.setMode(Mode.FIGHT, (game.scene.getCurrentPhase() as CommandPhase).getFieldIndex());
+ });
+ game.onNextPrompt("CommandPhase", Mode.FIGHT, () => {
+ const movePosition = getMovePosition(game.scene, 0, Moves.TACKLE);
+ (game.scene.getCurrentPhase() as CommandPhase).handleCommand(Command.FIGHT, movePosition, false);
+ });
+ await game.phaseInterceptor.run(EnemyCommandPhase);
+ const phase = game.scene.getCurrentPhase() as TurnStartPhase;
+ const order = phase.getOrder();
+ expect(order[0]).toBe(0);
+ expect(order[1]).toBe(2);
+ }, 20000);
+
+ it("double - both opponents faster than player 50/50 vs 150/150", async() => {
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(false);
+ vi.spyOn(overrides, "DOUBLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ await game.startBattle([
+ Species.BULBASAUR,
+ Species.BLASTOISE,
+ ]);
+ game.scene.getParty()[0].stats[Stat.SPD] = 50;
+ game.scene.getParty()[1].stats[Stat.SPD] = 50;
+ game.scene.currentBattle.enemyParty[0].stats[Stat.SPD] = 150;
+ game.scene.currentBattle.enemyParty[1].stats[Stat.SPD] = 150;
+
+ game.onNextPrompt("CommandPhase", Mode.COMMAND, () => {
+ game.scene.ui.setMode(Mode.FIGHT, (game.scene.getCurrentPhase() as CommandPhase).getFieldIndex());
+ });
+ game.onNextPrompt("CommandPhase", Mode.FIGHT, () => {
+ const movePosition = getMovePosition(game.scene, 0, Moves.TACKLE);
+ (game.scene.getCurrentPhase() as CommandPhase).handleCommand(Command.FIGHT, movePosition, false);
+ });
+ game.onNextPrompt("SelectTargetPhase", Mode.TARGET_SELECT, () => {
+ const handler = game.scene.ui.getHandler() as TargetSelectUiHandler;
+ handler.processInput(Button.ACTION);
+ });
+ game.onNextPrompt("CommandPhase", Mode.COMMAND, () => {
+ game.scene.ui.setMode(Mode.FIGHT, (game.scene.getCurrentPhase() as CommandPhase).getFieldIndex());
+ });
+ game.onNextPrompt("CommandPhase", Mode.FIGHT, () => {
+ const movePosition = getMovePosition(game.scene, 0, Moves.TACKLE);
+ (game.scene.getCurrentPhase() as CommandPhase).handleCommand(Command.FIGHT, movePosition, false);
+ });
+ game.onNextPrompt("SelectTargetPhase", Mode.TARGET_SELECT, () => {
+ const handler = game.scene.ui.getHandler() as TargetSelectUiHandler;
+ handler.processInput(Button.ACTION);
+ });
+ await game.phaseInterceptor.runFrom(SelectTargetPhase).to(TurnStartPhase, false);
+ const phase = game.scene.getCurrentPhase() as TurnStartPhase;
+ const order = phase.getOrder();
+ expect(order.indexOf(0)).toBeGreaterThan(order.indexOf(2));
+ expect(order.indexOf(0)).toBeGreaterThan(order.indexOf(3));
+ expect(order.indexOf(1)).toBeGreaterThan(order.indexOf(2));
+ expect(order.indexOf(1)).toBeGreaterThan(order.indexOf(3));
+ }, 20000);
+
+ it("double - speed tie except 1 - 100/100 vs 100/150", async() => {
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(false);
+ vi.spyOn(overrides, "DOUBLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ await game.startBattle([
+ Species.BULBASAUR,
+ Species.BLASTOISE,
+ ]);
+ game.scene.getParty()[0].stats[Stat.SPD] = 100;
+ game.scene.getParty()[1].stats[Stat.SPD] = 100;
+ game.scene.currentBattle.enemyParty[0].stats[Stat.SPD] = 100;
+ game.scene.currentBattle.enemyParty[1].stats[Stat.SPD] = 150;
+
+ game.onNextPrompt("CommandPhase", Mode.COMMAND, () => {
+ game.scene.ui.setMode(Mode.FIGHT, (game.scene.getCurrentPhase() as CommandPhase).getFieldIndex());
+ });
+ game.onNextPrompt("CommandPhase", Mode.FIGHT, () => {
+ const movePosition = getMovePosition(game.scene, 0, Moves.TACKLE);
+ (game.scene.getCurrentPhase() as CommandPhase).handleCommand(Command.FIGHT, movePosition, false);
+ });
+ game.onNextPrompt("SelectTargetPhase", Mode.TARGET_SELECT, () => {
+ const handler = game.scene.ui.getHandler() as TargetSelectUiHandler;
+ handler.processInput(Button.ACTION);
+ });
+ game.onNextPrompt("CommandPhase", Mode.COMMAND, () => {
+ game.scene.ui.setMode(Mode.FIGHT, (game.scene.getCurrentPhase() as CommandPhase).getFieldIndex());
+ });
+ game.onNextPrompt("CommandPhase", Mode.FIGHT, () => {
+ const movePosition = getMovePosition(game.scene, 0, Moves.TACKLE);
+ (game.scene.getCurrentPhase() as CommandPhase).handleCommand(Command.FIGHT, movePosition, false);
+ });
+ game.onNextPrompt("SelectTargetPhase", Mode.TARGET_SELECT, () => {
+ const handler = game.scene.ui.getHandler() as TargetSelectUiHandler;
+ handler.processInput(Button.ACTION);
+ });
+ await game.phaseInterceptor.runFrom(SelectTargetPhase).to(TurnStartPhase, false);
+ const phase = game.scene.getCurrentPhase() as TurnStartPhase;
+ const order = phase.getOrder();
+ expect(order.indexOf(3)).toBeLessThan(order.indexOf(0));
+ expect(order.indexOf(3)).toBeLessThan(order.indexOf(1));
+ expect(order.indexOf(3)).toBeLessThan(order.indexOf(2));
+ }, 20000);
+
+ it("double - speed tie 100/150 vs 100/150", async() => {
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(false);
+ vi.spyOn(overrides, "DOUBLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ await game.startBattle([
+ Species.BULBASAUR,
+ Species.BLASTOISE,
+ ]);
+ game.scene.getParty()[0].stats[Stat.SPD] = 100;
+ game.scene.getParty()[1].stats[Stat.SPD] = 150;
+ game.scene.currentBattle.enemyParty[0].stats[Stat.SPD] = 100;
+ game.scene.currentBattle.enemyParty[1].stats[Stat.SPD] = 150;
+
+ game.onNextPrompt("CommandPhase", Mode.COMMAND, () => {
+ game.scene.ui.setMode(Mode.FIGHT, (game.scene.getCurrentPhase() as CommandPhase).getFieldIndex());
+ });
+ game.onNextPrompt("CommandPhase", Mode.FIGHT, () => {
+ const movePosition = getMovePosition(game.scene, 0, Moves.TACKLE);
+ (game.scene.getCurrentPhase() as CommandPhase).handleCommand(Command.FIGHT, movePosition, false);
+ });
+ game.onNextPrompt("SelectTargetPhase", Mode.TARGET_SELECT, () => {
+ const handler = game.scene.ui.getHandler() as TargetSelectUiHandler;
+ handler.processInput(Button.ACTION);
+ });
+ game.onNextPrompt("CommandPhase", Mode.COMMAND, () => {
+ game.scene.ui.setMode(Mode.FIGHT, (game.scene.getCurrentPhase() as CommandPhase).getFieldIndex());
+ });
+ game.onNextPrompt("CommandPhase", Mode.FIGHT, () => {
+ const movePosition = getMovePosition(game.scene, 0, Moves.TACKLE);
+ (game.scene.getCurrentPhase() as CommandPhase).handleCommand(Command.FIGHT, movePosition, false);
+ });
+ game.onNextPrompt("SelectTargetPhase", Mode.TARGET_SELECT, () => {
+ const handler = game.scene.ui.getHandler() as TargetSelectUiHandler;
+ handler.processInput(Button.ACTION);
+ });
+ await game.phaseInterceptor.runFrom(SelectTargetPhase).to(TurnStartPhase, false);
+ const phase = game.scene.getCurrentPhase() as TurnStartPhase;
+ const order = phase.getOrder();
+ expect(order.indexOf(1)).toBeLessThan(order.indexOf(0));
+ expect(order.indexOf(1)).toBeLessThan(order.indexOf(2));
+ expect(order.indexOf(3)).toBeLessThan(order.indexOf(0));
+ expect(order.indexOf(3)).toBeLessThan(order.indexOf(2));
+ }, 20000);
+});
diff --git a/src/test/battle/battle.test.ts b/src/test/battle/battle.test.ts
new file mode 100644
index 00000000000..87949be70a8
--- /dev/null
+++ b/src/test/battle/battle.test.ts
@@ -0,0 +1,327 @@
+import {afterEach, beforeAll, beforeEach, describe, expect, it, vi} from "vitest";
+import {generateStarter, getMovePosition,} from "#app/test/utils/gameManagerUtils";
+import {Mode} from "#app/ui/ui";
+import {GameModes} from "#app/game-mode";
+import * as overrides from "../../overrides";
+import {Command} from "#app/ui/command-ui-handler";
+import {
+ CommandPhase, DamagePhase,
+ EncounterPhase,
+ EnemyCommandPhase,
+ LoginPhase,
+ SelectGenderPhase,
+ SelectModifierPhase,
+ SelectStarterPhase,
+ SummonPhase,
+ TitlePhase,
+ TurnInitPhase, VictoryPhase,
+} from "#app/phases";
+import GameManager from "#app/test/utils/gameManager";
+import Phaser from "phaser";
+import {allSpecies} from "#app/data/pokemon-species";
+import { getGameMode } from "#app/game-mode.js";
+import { Abilities } from "#enums/abilities";
+import { Moves } from "#enums/moves";
+import { PlayerGender } from "#enums/player-gender";
+import { Species } from "#enums/species";
+
+describe("Test Battle Phase", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ });
+
+ it("test phase interceptor with prompt", async() => {
+ await game.phaseInterceptor.run(LoginPhase);
+
+ game.onNextPrompt("SelectGenderPhase", Mode.OPTION_SELECT, () => {
+ game.scene.gameData.gender = PlayerGender.MALE;
+ game.endPhase();
+ });
+
+ await game.phaseInterceptor.run(SelectGenderPhase);
+
+ await game.phaseInterceptor.run(TitlePhase);
+ await game.waitMode(Mode.TITLE);
+
+
+ expect(game.scene.ui?.getMode()).toBe(Mode.TITLE);
+ expect(game.scene.gameData.gender).toBe(PlayerGender.MALE);
+ }, 20000);
+
+ it("test phase interceptor with prompt with preparation for a future prompt", async() => {
+ await game.phaseInterceptor.run(LoginPhase);
+
+ game.onNextPrompt("SelectGenderPhase", Mode.OPTION_SELECT, () => {
+ game.scene.gameData.gender = PlayerGender.MALE;
+ game.endPhase();
+ });
+
+ game.onNextPrompt("CheckSwitchPhase", Mode.CONFIRM, () => {
+ game.setMode(Mode.MESSAGE);
+ game.endPhase();
+ });
+ await game.phaseInterceptor.run(SelectGenderPhase);
+
+ await game.phaseInterceptor.run(TitlePhase);
+ await game.waitMode(Mode.TITLE);
+
+
+ expect(game.scene.ui?.getMode()).toBe(Mode.TITLE);
+ expect(game.scene.gameData.gender).toBe(PlayerGender.MALE);
+ }, 20000);
+
+ it("newGame one-liner", async() => {
+ await game.startBattle();
+ expect(game.scene.ui?.getMode()).toBe(Mode.COMMAND);
+ expect(game.scene.getCurrentPhase().constructor.name).toBe(CommandPhase.name);
+ }, 20000);
+
+ it("do attack wave 3 - single battle - regular - OHKO", async() => {
+ vi.spyOn(overrides, "STARTER_SPECIES_OVERRIDE", "get").mockReturnValue(Species.MEWTWO);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.RATTATA);
+ vi.spyOn(overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(2000);
+ vi.spyOn(overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(3);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE]);
+ vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.HYDRATION);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE, Moves.TACKLE, Moves.TACKLE, Moves.TACKLE]);
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ await game.startBattle();
+ game.onNextPrompt("CommandPhase", Mode.COMMAND, () => {
+ game.scene.ui.setMode(Mode.FIGHT, (game.scene.getCurrentPhase() as CommandPhase).getFieldIndex());
+ });
+ game.onNextPrompt("CommandPhase", Mode.FIGHT, () => {
+ const movePosition = getMovePosition(game.scene, 0, Moves.TACKLE);
+ (game.scene.getCurrentPhase() as CommandPhase).handleCommand(Command.FIGHT, movePosition, false);
+ });
+ await game.phaseInterceptor.runFrom(EnemyCommandPhase).to(SelectModifierPhase, false);
+ }, 20000);
+
+ it("do attack wave 3 - single battle - regular - NO OHKO with opponent using non damage attack", async() => {
+ vi.spyOn(overrides, "STARTER_SPECIES_OVERRIDE", "get").mockReturnValue(Species.MEWTWO);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.RATTATA);
+ vi.spyOn(overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(5);
+ vi.spyOn(overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(3);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE]);
+ vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.HYDRATION);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TAIL_WHIP, Moves.TAIL_WHIP, Moves.TAIL_WHIP, Moves.TAIL_WHIP]);
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ await game.startBattle();
+ game.onNextPrompt("CommandPhase", Mode.COMMAND, () => {
+ game.scene.ui.setMode(Mode.FIGHT, (game.scene.getCurrentPhase() as CommandPhase).getFieldIndex());
+ });
+ game.onNextPrompt("CommandPhase", Mode.FIGHT, () => {
+ const movePosition = getMovePosition(game.scene, 0, Moves.TACKLE);
+ (game.scene.getCurrentPhase() as CommandPhase).handleCommand(Command.FIGHT, movePosition, false);
+ });
+ await game.phaseInterceptor.runFrom(EnemyCommandPhase).to(TurnInitPhase, false);
+ }, 20000);
+
+ it("load 100% data file", async() => {
+ await game.importData("src/test/utils/saves/everything.prsv");
+ const caughtCount = Object.keys(game.scene.gameData.dexData).filter((key) => {
+ const species = game.scene.gameData.dexData[key];
+ return species.caughtAttr !== 0n;
+ }).length;
+ expect(caughtCount).toBe(Object.keys(allSpecies).length);
+ }, 20000);
+
+ it("start battle with selected team", async() => {
+ await game.startBattle([
+ Species.CHARIZARD,
+ Species.CHANSEY,
+ Species.MEW
+ ]);
+ expect(game.scene.getParty()[0].species.speciesId).toBe(Species.CHARIZARD);
+ expect(game.scene.getParty()[1].species.speciesId).toBe(Species.CHANSEY);
+ expect(game.scene.getParty()[2].species.speciesId).toBe(Species.MEW);
+ }, 20000);
+
+ it("test remove random battle seed int", async() => {
+ for (let i=0; i<10; i++) {
+ const rand = game.scene.randBattleSeedInt(15);
+ expect(rand).toBe(14);
+ }
+ });
+
+ it("wrong phase", async() => {
+ await game.phaseInterceptor.run(LoginPhase);
+ await game.phaseInterceptor.run(LoginPhase).catch((e) => {
+ expect(e).toBe("Wrong phase: this is SelectGenderPhase and not LoginPhase");
+ });
+ }, 20000);
+
+ it("wrong phase but skip", async() => {
+ await game.phaseInterceptor.run(LoginPhase);
+ await game.phaseInterceptor.run(LoginPhase, () => game.isCurrentPhase(SelectGenderPhase));
+ }, 20000);
+
+ it("good run", async() => {
+ await game.phaseInterceptor.run(LoginPhase);
+ game.onNextPrompt("SelectGenderPhase", Mode.OPTION_SELECT, () => {
+ game.scene.gameData.gender = PlayerGender.MALE;
+ game.endPhase();
+ }, () => game.isCurrentPhase(TitlePhase));
+ await game.phaseInterceptor.run(SelectGenderPhase, () => game.isCurrentPhase(TitlePhase));
+ await game.phaseInterceptor.run(TitlePhase);
+ }, 20000);
+
+ it("good run from select gender to title", async() => {
+ await game.phaseInterceptor.run(LoginPhase);
+ game.onNextPrompt("SelectGenderPhase", Mode.OPTION_SELECT, () => {
+ game.scene.gameData.gender = PlayerGender.MALE;
+ game.endPhase();
+ }, () => game.isCurrentPhase(TitlePhase));
+ await game.phaseInterceptor.runFrom(SelectGenderPhase).to(TitlePhase);
+ }, 20000);
+
+ it("good run to SummonPhase phase", async() => {
+ await game.phaseInterceptor.run(LoginPhase);
+ game.onNextPrompt("SelectGenderPhase", Mode.OPTION_SELECT, () => {
+ game.scene.gameData.gender = PlayerGender.MALE;
+ game.endPhase();
+ }, () => game.isCurrentPhase(TitlePhase));
+ game.onNextPrompt("TitlePhase", Mode.TITLE, () => {
+ game.scene.gameMode = getGameMode(GameModes.CLASSIC);
+ const starters = generateStarter(game.scene);
+ const selectStarterPhase = new SelectStarterPhase(game.scene);
+ game.scene.pushPhase(new EncounterPhase(game.scene, false));
+ selectStarterPhase.initBattle(starters);
+ });
+ await game.phaseInterceptor.runFrom(SelectGenderPhase).to(SummonPhase);
+ }, 20000);
+
+ it("2vs1", async() => {
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.MIGHTYENA);
+ vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.HYDRATION);
+ vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.HYDRATION);
+ await game.startBattle([
+ Species.BLASTOISE,
+ Species.CHARIZARD,
+ ]);
+ expect(game.scene.ui?.getMode()).toBe(Mode.COMMAND);
+ expect(game.scene.getCurrentPhase().constructor.name).toBe(CommandPhase.name);
+ }, 20000);
+
+ it("1vs1", async() => {
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.MIGHTYENA);
+ vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.HYDRATION);
+ vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.HYDRATION);
+ await game.startBattle([
+ Species.BLASTOISE,
+ ]);
+ expect(game.scene.ui?.getMode()).toBe(Mode.COMMAND);
+ expect(game.scene.getCurrentPhase().constructor.name).toBe(CommandPhase.name);
+ }, 20000);
+
+ it("2vs2", async() => {
+ vi.spyOn(overrides, "DOUBLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.MIGHTYENA);
+ vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.HYDRATION);
+ vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.HYDRATION);
+ vi.spyOn(overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(3);
+ await game.startBattle([
+ Species.BLASTOISE,
+ Species.CHARIZARD,
+ ]);
+ expect(game.scene.ui?.getMode()).toBe(Mode.COMMAND);
+ expect(game.scene.getCurrentPhase().constructor.name).toBe(CommandPhase.name);
+ }, 20000);
+
+ it("4vs2", async() => {
+ vi.spyOn(overrides, "DOUBLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.MIGHTYENA);
+ vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.HYDRATION);
+ vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.HYDRATION);
+ vi.spyOn(overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(3);
+ await game.startBattle([
+ Species.BLASTOISE,
+ Species.CHARIZARD,
+ Species.DARKRAI,
+ Species.GABITE,
+ ]);
+ expect(game.scene.ui?.getMode()).toBe(Mode.COMMAND);
+ expect(game.scene.getCurrentPhase().constructor.name).toBe(CommandPhase.name);
+ }, 20000);
+
+ it("kill opponent pokemon", async() => {
+ const moveToUse = Moves.SPLASH;
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "STARTER_SPECIES_OVERRIDE", "get").mockReturnValue(Species.MEWTWO);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.RATTATA);
+ vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.HYDRATION);
+ vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.ZEN_MODE);
+ vi.spyOn(overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(2000);
+ vi.spyOn(overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(3);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([moveToUse]);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE,Moves.TACKLE,Moves.TACKLE,Moves.TACKLE]);
+ await game.startBattle([
+ Species.DARMANITAN,
+ Species.CHARIZARD,
+ ]);
+
+ game.onNextPrompt("CommandPhase", Mode.COMMAND, () => {
+ game.scene.ui.setMode(Mode.FIGHT, (game.scene.getCurrentPhase() as CommandPhase).getFieldIndex());
+ });
+ game.onNextPrompt("CommandPhase", Mode.FIGHT, () => {
+ const movePosition = getMovePosition(game.scene, 0, moveToUse);
+ (game.scene.getCurrentPhase() as CommandPhase).handleCommand(Command.FIGHT, movePosition, false);
+ });
+ await game.phaseInterceptor.to(DamagePhase, false);
+ await game.killPokemon(game.scene.currentBattle.enemyParty[0]);
+ expect(game.scene.currentBattle.enemyParty[0].isFainted()).toBe(true);
+ await game.phaseInterceptor.to(VictoryPhase, false);
+ }, 200000);
+
+ it("to next turn", async() => {
+ const moveToUse = Moves.SPLASH;
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "STARTER_SPECIES_OVERRIDE", "get").mockReturnValue(Species.MEWTWO);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.RATTATA);
+ vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.HYDRATION);
+ vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.ZEN_MODE);
+ vi.spyOn(overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(2000);
+ vi.spyOn(overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(3);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([moveToUse]);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE,Moves.TACKLE,Moves.TACKLE,Moves.TACKLE]);
+ await game.startBattle();
+ const turn = game.scene.currentBattle.turn;
+ game.doAttack(0);
+ await game.toNextTurn();
+ expect(game.scene.currentBattle.turn).toBeGreaterThan(turn);
+ }, 20000);
+
+ it("to next wave with pokemon killed, single", async() => {
+ const moveToUse = Moves.SPLASH;
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "STARTER_SPECIES_OVERRIDE", "get").mockReturnValue(Species.MEWTWO);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.RATTATA);
+ vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.HYDRATION);
+ vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.ZEN_MODE);
+ vi.spyOn(overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(2000);
+ vi.spyOn(overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(3);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([moveToUse]);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE,Moves.TACKLE,Moves.TACKLE,Moves.TACKLE]);
+ await game.startBattle();
+ const waveIndex = game.scene.currentBattle.waveIndex;
+ game.doAttack(0);
+ await game.doKillOpponents();
+ await game.toNextWave();
+ expect(game.scene.currentBattle.waveIndex).toBeGreaterThan(waveIndex);
+ }, 20000);
+});
+
diff --git a/src/test/battle/error-handling.test.ts b/src/test/battle/error-handling.test.ts
new file mode 100644
index 00000000000..d46d8bcf7e8
--- /dev/null
+++ b/src/test/battle/error-handling.test.ts
@@ -0,0 +1,45 @@
+import {afterEach, beforeAll, beforeEach, describe, expect, it, vi} from "vitest";
+import GameManager from "#app/test/utils/gameManager";
+import Phaser from "phaser";
+import * as overrides from "#app/overrides";
+import { Abilities } from "#enums/abilities";
+import { Moves } from "#enums/moves";
+import { Species } from "#enums/species";
+
+describe("Test Battle Phase", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ const moveToUse = Moves.SPLASH;
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "STARTER_SPECIES_OVERRIDE", "get").mockReturnValue(Species.MEWTWO);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.RATTATA);
+ vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.HYDRATION);
+ vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.ZEN_MODE);
+ vi.spyOn(overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(2000);
+ vi.spyOn(overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(3);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([moveToUse]);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE,Moves.TACKLE,Moves.TACKLE,Moves.TACKLE]);
+ });
+
+ it.skip("to next turn", async() => {
+ await game.startBattle();
+ const turn = game.scene.currentBattle.turn;
+ game.doAttack(0);
+ await game.toNextTurn();
+ expect(game.scene.currentBattle.turn).toBeGreaterThan(turn);
+ }, 20000);
+});
+
diff --git a/src/test/battle/special_battle.test.ts b/src/test/battle/special_battle.test.ts
new file mode 100644
index 00000000000..01ae7d05359
--- /dev/null
+++ b/src/test/battle/special_battle.test.ts
@@ -0,0 +1,137 @@
+import {afterEach, beforeAll, beforeEach, describe, expect, it, vi} from "vitest";
+import {Mode} from "#app/ui/ui";
+import * as overrides from "../../overrides";
+import {
+ CommandPhase,
+} from "#app/phases";
+import GameManager from "#app/test/utils/gameManager";
+import Phaser from "phaser";
+import { Abilities } from "#enums/abilities";
+import { Moves } from "#enums/moves";
+import { Species } from "#enums/species";
+
+describe("Test Battle Phase", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.RATTATA);
+ vi.spyOn(overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(2000);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE]);
+ vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.HYDRATION);
+ vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.HYDRATION);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE, Moves.TACKLE, Moves.TACKLE, Moves.TACKLE]);
+ });
+
+ it("startBattle 2vs1 boss", async() => {
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(10);
+ await game.startBattle([
+ Species.BLASTOISE,
+ Species.CHARIZARD,
+ ]);
+ expect(game.scene.ui?.getMode()).toBe(Mode.COMMAND);
+ expect(game.scene.getCurrentPhase().constructor.name).toBe(CommandPhase.name);
+ }, 20000);
+
+ it("startBattle 2vs2 boss", async() => {
+ vi.spyOn(overrides, "DOUBLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(10);
+ await game.startBattle([
+ Species.BLASTOISE,
+ Species.CHARIZARD,
+ ]);
+ expect(game.scene.ui?.getMode()).toBe(Mode.COMMAND);
+ expect(game.scene.getCurrentPhase().constructor.name).toBe(CommandPhase.name);
+ }, 20000);
+
+ it("startBattle 2vs2 trainer", async() => {
+ vi.spyOn(overrides, "DOUBLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(5);
+ await game.startBattle([
+ Species.BLASTOISE,
+ Species.CHARIZARD,
+ ]);
+ expect(game.scene.ui?.getMode()).toBe(Mode.COMMAND);
+ expect(game.scene.getCurrentPhase().constructor.name).toBe(CommandPhase.name);
+ }, 20000);
+
+ it("startBattle 2vs1 trainer", async() => {
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(5);
+ await game.startBattle([
+ Species.BLASTOISE,
+ Species.CHARIZARD,
+ ]);
+ expect(game.scene.ui?.getMode()).toBe(Mode.COMMAND);
+ expect(game.scene.getCurrentPhase().constructor.name).toBe(CommandPhase.name);
+ }, 20000);
+
+ it("startBattle 2vs1 rival", async() => {
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(8);
+ await game.startBattle([
+ Species.BLASTOISE,
+ Species.CHARIZARD,
+ ]);
+ expect(game.scene.ui?.getMode()).toBe(Mode.COMMAND);
+ expect(game.scene.getCurrentPhase().constructor.name).toBe(CommandPhase.name);
+ }, 20000);
+
+ it("startBattle 2vs2 rival", async() => {
+ vi.spyOn(overrides, "DOUBLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(8);
+ await game.startBattle([
+ Species.BLASTOISE,
+ Species.CHARIZARD,
+ ]);
+ expect(game.scene.ui?.getMode()).toBe(Mode.COMMAND);
+ expect(game.scene.getCurrentPhase().constructor.name).toBe(CommandPhase.name);
+ }, 20000);
+
+ it("startBattle 1vs1 trainer", async() => {
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(5);
+ await game.startBattle([
+ Species.BLASTOISE,
+ ]);
+ expect(game.scene.ui?.getMode()).toBe(Mode.COMMAND);
+ expect(game.scene.getCurrentPhase().constructor.name).toBe(CommandPhase.name);
+ }, 20000);
+
+ it("startBattle 2vs2 trainer", async() => {
+ vi.spyOn(overrides, "DOUBLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(5);
+ await game.startBattle([
+ Species.BLASTOISE,
+ Species.CHARIZARD,
+ ]);
+ expect(game.scene.ui?.getMode()).toBe(Mode.COMMAND);
+ expect(game.scene.getCurrentPhase().constructor.name).toBe(CommandPhase.name);
+ }, 20000);
+
+ it("startBattle 4vs2 trainer", async() => {
+ vi.spyOn(overrides, "DOUBLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(5);
+ await game.startBattle([
+ Species.BLASTOISE,
+ Species.CHARIZARD,
+ Species.DARKRAI,
+ Species.GABITE,
+ ]);
+ expect(game.scene.ui?.getMode()).toBe(Mode.COMMAND);
+ expect(game.scene.getCurrentPhase().constructor.name).toBe(CommandPhase.name);
+ }, 20000);
+});
+
diff --git a/src/test/debugImports.test.ts b/src/test/debugImports.test.ts
deleted file mode 100644
index c164813a3cd..00000000000
--- a/src/test/debugImports.test.ts
+++ /dev/null
@@ -1,35 +0,0 @@
-import { describe, expect, it} from "vitest";
-import {initStatsKeys} from "#app/ui/game-stats-ui-handler";
-
-async function importModule() {
- try {
- initStatsKeys();
- const { PokemonMove } = await import("#app/field/pokemon");
- const { Species } = await import("#app/data/enums/species");
- return {
- PokemonMove,
- Species,
- };
- // Dynamically import the module
- } catch (error) {
- // Log the error stack trace
- console.error("Error during import:", error.stack);
- // Rethrow the error to ensure the test fails
- throw error;
- }
-}
-
-describe("tests to debug the import, with trace", () => {
- it("import PokemonMove module", async () => {
- const module = await importModule();
- // Example assertion
- expect(module.PokemonMove).toBeDefined();
- });
-
- it("import Species module", async () => {
- const module = await importModule();
- // Example assertion
- expect(module.Species).toBeDefined();
- });
-});
-
diff --git a/src/test/eggs/egg.test.ts b/src/test/eggs/egg.test.ts
new file mode 100644
index 00000000000..a098620f5eb
--- /dev/null
+++ b/src/test/eggs/egg.test.ts
@@ -0,0 +1,306 @@
+import {afterEach, beforeAll, beforeEach, describe, expect, it, vi} from "vitest";
+import BattleScene from "../../battle-scene";
+import { Egg, getLegendaryGachaSpeciesForTimestamp } from "#app/data/egg.js";
+import { Species } from "#enums/species";
+import Phaser from "phaser";
+import { EggSourceType } from "#app/enums/egg-source-types.js";
+import { EggTier } from "#app/enums/egg-type.js";
+import { VariantTier } from "#app/enums/variant-tiers.js";
+import GameManager from "../utils/gameManager";
+import EggData from "#app/system/egg-data.js";
+import * as Utils from "#app/utils.js";
+
+describe("Egg Generation Tests", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ vi.restoreAllMocks();
+ });
+
+ beforeEach(async() => {
+ game = new GameManager(phaserGame);
+ await game.importData("src/test/utils/saves/everything.prsv");
+ });
+
+ it("should return Arceus for the 10th of June", () => {
+ const scene = new BattleScene();
+ const timestamp = new Date(2024, 5, 10, 15, 0, 0, 0).getTime();
+ const expectedSpecies = Species.ARCEUS;
+
+ const result = getLegendaryGachaSpeciesForTimestamp(scene, timestamp);
+
+ expect(result).toBe(expectedSpecies);
+ });
+ it("should return Arceus for the 10th of July", () => {
+ const scene = new BattleScene();
+ const timestamp = new Date(2024, 6, 10, 15, 0, 0, 0).getTime();
+ const expectedSpecies = Species.ARCEUS;
+
+ const result = getLegendaryGachaSpeciesForTimestamp(scene, timestamp);
+
+ expect(result).toBe(expectedSpecies);
+ });
+ it("should hatch an Arceus. Set from legendary gacha", async() => {
+ const scene = game.scene;
+ const timestamp = new Date(2024, 6, 10, 15, 0, 0, 0).getTime();
+ const expectedSpecies = Species.ARCEUS;
+
+ const result = new Egg({scene, timestamp, sourceType: EggSourceType.GACHA_LEGENDARY, tier: EggTier.MASTER}).generatePlayerPokemon(scene).species.speciesId;
+
+ expect(result).toBe(expectedSpecies);
+ });
+ it("should hatch an Arceus. Set from species", () => {
+ const scene = game.scene;
+ const expectedSpecies = Species.ARCEUS;
+
+ const result = new Egg({scene,species: expectedSpecies}).generatePlayerPokemon(scene).species.speciesId;
+
+ expect(result).toBe(expectedSpecies);
+ });
+ it("should return an common tier egg", () => {
+ const scene = game.scene;
+ const expectedTier = EggTier.COMMON;
+
+ const result = new Egg({scene, tier: expectedTier}).tier;
+
+ expect(result).toBe(expectedTier);
+ });
+ it("should return an rare tier egg", () => {
+ const scene = game.scene;
+ const expectedTier = EggTier.GREAT;
+
+ const result = new Egg({scene, tier: expectedTier}).tier;
+
+ expect(result).toBe(expectedTier);
+ });
+ it("should return an epic tier egg", () => {
+ const scene = game.scene;
+ const expectedTier = EggTier.ULTRA;
+
+ const result = new Egg({scene, tier: expectedTier}).tier;
+
+ expect(result).toBe(expectedTier);
+ });
+ it("should return an legendary tier egg", () => {
+ const scene = game.scene;
+ const expectedTier = EggTier.MASTER;
+
+ const result = new Egg({scene, tier: expectedTier}).tier;
+
+ expect(result).toBe(expectedTier);
+ });
+ it("should return a manaphy egg set via species", () => {
+ const scene = game.scene;
+ const expectedResult = true;
+
+ const result = new Egg({scene, species: Species.MANAPHY}).isManaphyEgg();
+
+ expect(result).toBe(expectedResult);
+ });
+ it("should return a manaphy egg set via id", () => {
+ const scene = game.scene;
+ const expectedResult = true;
+
+ const result = new Egg({scene, tier: EggTier.COMMON, id: 204}).isManaphyEgg();
+
+ expect(result).toBe(expectedResult);
+ });
+ it("should return an egg with 1000 hatch waves", () => {
+ const scene = game.scene;
+ const expectedHatchWaves = 1000;
+
+ const result = new Egg({scene, hatchWaves: expectedHatchWaves}).hatchWaves;
+
+ expect(result).toBe(expectedHatchWaves);
+ });
+ it("should return an shiny pokemon", () => {
+ const scene = game.scene;
+ const expectedResult = true;
+
+ const result = new Egg({scene, isShiny: expectedResult, species: Species.BULBASAUR}).generatePlayerPokemon(scene).isShiny();
+
+ expect(result).toBe(expectedResult);
+ });
+ it("should return a shiny common variant", () => {
+ const scene = game.scene;
+ const expectedVariantTier = VariantTier.COMMON;
+
+ const result = new Egg({scene, isShiny: true, variantTier: expectedVariantTier, species: Species.BULBASAUR}).generatePlayerPokemon(scene).variant;
+
+ expect(result).toBe(expectedVariantTier);
+ });
+ it("should return a shiny rare variant", () => {
+ const scene = game.scene;
+ const expectedVariantTier = VariantTier.RARE;
+
+ const result = new Egg({scene, isShiny: true, variantTier: expectedVariantTier, species: Species.BULBASAUR}).generatePlayerPokemon(scene).variant;
+
+ expect(result).toBe(expectedVariantTier);
+ });
+ it("should return a shiny epic variant", () => {
+ const scene = game.scene;
+ const expectedVariantTier = VariantTier.EPIC;
+
+ const result = new Egg({scene, isShiny: true, variantTier: expectedVariantTier, species: Species.BULBASAUR}).generatePlayerPokemon(scene).variant;
+
+ expect(result).toBe(expectedVariantTier);
+ });
+ it("should return an egg with an egg move index of 0, 1, 2 or 3", () => {
+ const scene = game.scene;
+
+ const eggMoveIndex = new Egg({scene}).eggMoveIndex;
+ const result = eggMoveIndex && eggMoveIndex >= 0 && eggMoveIndex <= 3;
+
+ expect(result).toBe(true);
+ });
+ it("should return an egg with an rare egg move. Egg move index should be 3", () => {
+ const scene = game.scene;
+ const expectedEggMoveIndex = 3;
+
+ const result = new Egg({scene, eggMoveIndex: expectedEggMoveIndex}).eggMoveIndex;
+
+ expect(result).toBe(expectedEggMoveIndex);
+ });
+ it("should return a hatched pokemon with a hidden ability", () => {
+ const scene = game.scene;
+
+ const playerPokemon = new Egg({scene, overrideHiddenAbility: true, species: Species.BULBASAUR}).generatePlayerPokemon(scene);
+ const expectedAbilityIndex = playerPokemon.species.ability2 ? 2 : 1;
+
+ const result = playerPokemon.abilityIndex;
+
+ expect(result).toBe(expectedAbilityIndex);
+ });
+ it("should add the egg to the game data", () => {
+ const scene = game.scene;
+ const expectedEggCount = 1;
+
+ new Egg({scene, sourceType: EggSourceType.GACHA_LEGENDARY, pulled: true});
+
+ const result = scene.gameData.eggs.length;
+
+ expect(result).toBe(expectedEggCount);
+ });
+ it("should override the egg tier to common", () => {
+ const scene = game.scene;
+ const expectedEggTier = EggTier.COMMON;
+
+ const result = new Egg({scene, tier: EggTier.MASTER, species: Species.BULBASAUR}).tier;
+
+ expect(result).toBe(expectedEggTier);
+ });
+ it("should override the egg hatch waves", () => {
+ const scene = game.scene;
+ const expectedHatchWaves = 10;
+
+ const result = new Egg({scene, tier: EggTier.MASTER, species: Species.BULBASAUR}).hatchWaves;
+
+ expect(result).toBe(expectedHatchWaves);
+ });
+ it("should correctly load a legacy egg", () => {
+ const legacyEgg = {
+ gachaType: 1,
+ hatchWaves: 25,
+ id: 2077000788,
+ timestamp: 1718908955085,
+ isShiny: false,
+ overrideHiddenAbility: false,
+ sourceType: 0,
+ species: 0,
+ tier: 0,
+ variantTier: 0,
+ eggMoveIndex: 0,
+ };
+
+ const result = new EggData(legacyEgg).toEgg();
+
+ expect(result.tier).toBe(EggTier.GREAT);
+ expect(result.id).toBe(legacyEgg.id);
+ expect(result.timestamp).toBe(legacyEgg.timestamp);
+ expect(result.hatchWaves).toBe(legacyEgg.hatchWaves);
+ expect(result.sourceType).toBe(legacyEgg.gachaType);
+ });
+ it("should increase egg pity", () => {
+ const scene = game.scene;
+ const startPityValues = [...scene.gameData.eggPity];
+
+ new Egg({scene, sourceType: EggSourceType.GACHA_MOVE, pulled: true, tier: EggTier.COMMON});
+
+ expect(scene.gameData.eggPity[EggTier.GREAT]).toBe(startPityValues[EggTier.GREAT] + 1);
+ expect(scene.gameData.eggPity[EggTier.ULTRA]).toBe(startPityValues[EggTier.ULTRA] + 1);
+ expect(scene.gameData.eggPity[EggTier.MASTER]).toBe(startPityValues[EggTier.MASTER] + 1);
+ });
+ it("should increase legendary egg pity by two", () => {
+ const scene = game.scene;
+ const startPityValues = [...scene.gameData.eggPity];
+
+ new Egg({scene, sourceType: EggSourceType.GACHA_LEGENDARY, pulled: true, tier: EggTier.COMMON});
+
+ expect(scene.gameData.eggPity[EggTier.GREAT]).toBe(startPityValues[EggTier.GREAT] + 1);
+ expect(scene.gameData.eggPity[EggTier.ULTRA]).toBe(startPityValues[EggTier.ULTRA] + 1);
+ expect(scene.gameData.eggPity[EggTier.MASTER]).toBe(startPityValues[EggTier.MASTER] + 2);
+ });
+ it("should not increase manaphy egg count if bulbasaurs are pulled", () => {
+ const scene = game.scene;
+ const startingManaphyEggCount = scene.gameData.gameStats.manaphyEggsPulled;
+
+ for (let i = 0; i < 200; i++) {
+ new Egg({scene, sourceType: EggSourceType.GACHA_MOVE, pulled: true, species: Species.BULBASAUR});
+ }
+
+ expect(scene.gameData.gameStats.manaphyEggsPulled).toBe(startingManaphyEggCount);
+ });
+ it("should increase manaphy egg count", () => {
+ const scene = game.scene;
+ const startingManaphyEggCount = scene.gameData.gameStats.manaphyEggsPulled;
+
+ new Egg({scene, sourceType: EggSourceType.GACHA_MOVE, pulled: true, id: 204, tier: EggTier.COMMON});
+
+ expect(scene.gameData.gameStats.manaphyEggsPulled).toBe(startingManaphyEggCount + 1);
+ });
+ it("should increase rare eggs pulled statistic", () => {
+ const scene = game.scene;
+ const startingRareEggsPulled = scene.gameData.gameStats.rareEggsPulled;
+
+ new Egg({scene, sourceType: EggSourceType.GACHA_MOVE, pulled: true, tier: EggTier.GREAT});
+
+ expect(scene.gameData.gameStats.rareEggsPulled).toBe(startingRareEggsPulled + 1);
+ });
+ it("should increase epic eggs pulled statistic", () => {
+ const scene = game.scene;
+ const startingEpicEggsPulled = scene.gameData.gameStats.epicEggsPulled;
+
+ new Egg({scene, sourceType: EggSourceType.GACHA_MOVE, pulled: true, tier: EggTier.ULTRA});
+
+ expect(scene.gameData.gameStats.epicEggsPulled).toBe(startingEpicEggsPulled + 1);
+ });
+ it("should increase legendary eggs pulled statistic", () => {
+ const scene = game.scene;
+ const startingLegendaryEggsPulled = scene.gameData.gameStats.legendaryEggsPulled;
+
+ new Egg({scene, sourceType: EggSourceType.GACHA_MOVE, pulled: true, tier: EggTier.MASTER});
+
+ expect(scene.gameData.gameStats.legendaryEggsPulled).toBe(startingLegendaryEggsPulled + 1);
+ });
+ it("should increase legendary egg rate", () => {
+ vi.spyOn(Utils, "randInt").mockReturnValue(1);
+
+ const scene = game.scene;
+ const expectedTier1 = EggTier.MASTER;
+ const expectedTier2 = EggTier.ULTRA;
+
+ const result1 = new Egg({scene, sourceType: EggSourceType.GACHA_LEGENDARY, pulled: true}).tier;
+ const result2 = new Egg({scene, sourceType: EggSourceType.GACHA_MOVE, pulled: true}).tier;
+
+ expect(result1).toBe(expectedTier1);
+ expect(result2).toBe(expectedTier2);
+ });
+});
diff --git a/src/test/game-mode.test.ts b/src/test/game-mode.test.ts
new file mode 100644
index 00000000000..04376c20361
--- /dev/null
+++ b/src/test/game-mode.test.ts
@@ -0,0 +1,52 @@
+import { GameMode, GameModes, getGameMode } from "#app/game-mode.js";
+import {
+ afterEach,
+ beforeAll,
+ beforeEach,
+ describe,
+ expect,
+ it,
+ vi,
+} from "vitest";
+import GameManager from "./utils/gameManager";
+import * as Utils from "../utils";
+describe("game-mode", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ vi.resetAllMocks();
+ });
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ });
+ describe("classic", () => {
+ let classicGameMode: GameMode;
+ beforeEach(() => {
+ classicGameMode = getGameMode(GameModes.CLASSIC);
+ });
+ it("does NOT spawn trainers within 3 waves of fixed battle", () => {
+ const { arena } = game.scene;
+ /** set wave 16 to be a fixed trainer fight meaning wave 13-19 don't allow trainer spawns */
+ vi.spyOn(classicGameMode, "isFixedBattle").mockImplementation(
+ (n: number) => (n === 16 ? true : false)
+ );
+ vi.spyOn(arena, "getTrainerChance").mockReturnValue(1);
+ vi.spyOn(Utils, "randSeedInt").mockReturnValue(0);
+ expect(classicGameMode.isWaveTrainer(11, arena)).toBeFalsy();
+ expect(classicGameMode.isWaveTrainer(12, arena)).toBeTruthy();
+ expect(classicGameMode.isWaveTrainer(13, arena)).toBeFalsy();
+ expect(classicGameMode.isWaveTrainer(14, arena)).toBeFalsy();
+ expect(classicGameMode.isWaveTrainer(15, arena)).toBeFalsy();
+ // Wave 16 is a fixed trainer battle
+ expect(classicGameMode.isWaveTrainer(17, arena)).toBeFalsy();
+ expect(classicGameMode.isWaveTrainer(18, arena)).toBeFalsy();
+ expect(classicGameMode.isWaveTrainer(19, arena)).toBeFalsy();
+ });
+ });
+});
diff --git a/src/test/imports.test.ts b/src/test/imports.test.ts
new file mode 100644
index 00000000000..5c0272e191d
--- /dev/null
+++ b/src/test/imports.test.ts
@@ -0,0 +1,35 @@
+import { describe, expect, it} from "vitest";
+import {initStatsKeys} from "#app/ui/game-stats-ui-handler";
+
+async function importModule() {
+ try {
+ initStatsKeys();
+ const { PokemonMove } = await import("#app/field/pokemon");
+ const { Species } = await import("#enums/species");
+ return {
+ PokemonMove,
+ Species,
+ };
+ // Dynamically import the module
+ } catch (error) {
+ // Log the error stack trace
+ console.error("Error during import:", error.stack);
+ // Rethrow the error to ensure the test fails
+ throw error;
+ }
+}
+
+describe("tests to debug the import, with trace", () => {
+ it("import PokemonMove module", async () => {
+ const module = await importModule();
+ // Example assertion
+ expect(module.PokemonMove).toBeDefined();
+ });
+
+ it("import Species module", async () => {
+ const module = await importModule();
+ // Example assertion
+ expect(module.Species).toBeDefined();
+ });
+});
+
diff --git a/src/test/inputs/inputs.test.ts b/src/test/inputs/inputs.test.ts
new file mode 100644
index 00000000000..5acee145011
--- /dev/null
+++ b/src/test/inputs/inputs.test.ts
@@ -0,0 +1,90 @@
+import {afterEach, beforeAll, beforeEach, describe, expect, it} from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import pad_xbox360 from "#app/configs/inputs/pad_xbox360";
+import cfg_keyboard_qwerty from "#app/configs/inputs/cfg_keyboard_qwerty";
+import InputsHandler from "#app/test/utils/inputsHandler";
+
+
+describe("Inputs", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+ let originalDocument: Document;
+
+ beforeAll(() => {
+ originalDocument = window.document;
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ Object.defineProperty(window, "document", {
+ value: originalDocument,
+ configurable: true,
+ writable: true,
+ });
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ game.inputsHandler = new InputsHandler(game.scene);
+ });
+
+ it("Mobile - test touch holding for 1ms - 1 input", async () => {
+ await game.inputsHandler.pressTouch("dpadUp", 1);
+ expect(game.inputsHandler.log.length).toBe(1);
+ });
+
+ it("Mobile - test touch holding for 200ms - 1 input", async () => {
+ await game.inputsHandler.pressTouch("dpadUp", 200);
+ expect(game.inputsHandler.log.length).toBe(1);
+ });
+
+ it("Mobile - test touch holding for 300ms - 2 input", async () => {
+ await game.inputsHandler.pressTouch("dpadUp", 300);
+ expect(game.inputsHandler.log.length).toBe(2);
+ });
+
+ it("Mobile - test touch holding for 1000ms - 4 input", async () => {
+ await game.inputsHandler.pressTouch("dpadUp", 1050);
+ expect(game.inputsHandler.log.length).toBe(5);
+ });
+
+ it("keyboard - test input holding for 200ms - 1 input", async() => {
+ await game.inputsHandler.pressKeyboardKey(cfg_keyboard_qwerty.deviceMapping.KEY_ARROW_UP, 200);
+ expect(game.inputsHandler.log.length).toBe(1);
+ });
+
+ it("keyboard - test input holding for 300ms - 2 input", async() => {
+ await game.inputsHandler.pressKeyboardKey(cfg_keyboard_qwerty.deviceMapping.KEY_ARROW_UP, 300);
+ expect(game.inputsHandler.log.length).toBe(2);
+ });
+
+ it("keyboard - test input holding for 1000ms - 4 input", async() => {
+ await game.inputsHandler.pressKeyboardKey(cfg_keyboard_qwerty.deviceMapping.KEY_ARROW_UP, 1050);
+ expect(game.inputsHandler.log.length).toBe(5);
+ });
+
+ it("gamepad - test input holding for 1ms - 1 input", async() => {
+ await game.inputsHandler.pressGamepadButton(pad_xbox360.deviceMapping.RC_S, 1);
+ expect(game.inputsHandler.log.length).toBe(1);
+ });
+
+ it("gamepad - test input holding for 200ms - 1 input", async() => {
+ await game.inputsHandler.pressGamepadButton(pad_xbox360.deviceMapping.RC_S, 200);
+ expect(game.inputsHandler.log.length).toBe(1);
+ });
+
+ it("gamepad - test input holding for 300ms - 2 input", async() => {
+ await game.inputsHandler.pressGamepadButton(pad_xbox360.deviceMapping.RC_S, 300);
+ expect(game.inputsHandler.log.length).toBe(2);
+ });
+
+ it("gamepad - test input holding for 1000ms - 4 input", async() => {
+ await game.inputsHandler.pressGamepadButton(pad_xbox360.deviceMapping.RC_S, 1050);
+ expect(game.inputsHandler.log.length).toBe(5);
+ });
+});
+
diff --git a/src/test/items/eviolite.test.ts b/src/test/items/eviolite.test.ts
new file mode 100644
index 00000000000..5b4561d4877
--- /dev/null
+++ b/src/test/items/eviolite.test.ts
@@ -0,0 +1,278 @@
+import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
+import Phase from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import { Stat } from "#app/data/pokemon-stat";
+import { EvolutionStatBoosterModifier } from "#app/modifier/modifier";
+import { modifierTypes } from "#app/modifier/modifier-type";
+import * as Utils from "#app/utils";
+import i18next from "#app/plugins/i18n";
+import { Species } from "#enums/species";
+
+describe("Items - Eviolite", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phase.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ });
+
+ it("EVIOLITE activates in battle correctly", async() => {
+ vi.spyOn(overrides, "STARTING_HELD_ITEMS_OVERRIDE", "get").mockReturnValue([{ name: "EVIOLITE" }]);
+ const consoleSpy = vi.spyOn(console, "log");
+ await game.startBattle([
+ Species.PICHU
+ ]);
+
+ const partyMember = game.scene.getParty()[0];
+
+ // Checking consoe log to make sure Eviolite is applied when getBattleStat (with the appropriate stat) is called
+ partyMember.getBattleStat(Stat.DEF);
+ expect(consoleSpy).toHaveBeenLastCalledWith("Applied", i18next.t("modifierType:ModifierType.EVIOLITE.name"), "");
+
+ // Printing dummy console messages along the way so subsequent checks don't pass because of the first
+ console.log("");
+
+ partyMember.getBattleStat(Stat.SPDEF);
+ expect(consoleSpy).toHaveBeenLastCalledWith("Applied", i18next.t("modifierType:ModifierType.EVIOLITE.name"), "");
+
+ console.log("");
+
+ partyMember.getBattleStat(Stat.ATK);
+ expect(consoleSpy).not.toHaveBeenLastCalledWith("Applied", i18next.t("modifierType:ModifierType.EVIOLITE.name"), "");
+
+ console.log("");
+
+ partyMember.getBattleStat(Stat.SPATK);
+ expect(consoleSpy).not.toHaveBeenLastCalledWith("Applied", i18next.t("modifierType:ModifierType.EVIOLITE.name"), "");
+
+ console.log("");
+
+ partyMember.getBattleStat(Stat.SPD);
+ expect(consoleSpy).not.toHaveBeenLastCalledWith("Applied", i18next.t("modifierType:ModifierType.EVIOLITE.name"), "");
+ });
+
+ it("EVIOLITE held by unevolved, unfused pokemon", async() => {
+ await game.startBattle([
+ Species.PICHU
+ ]);
+
+ const partyMember = game.scene.getParty()[0];
+
+ const defStat = partyMember.getStat(Stat.DEF);
+ const spDefStat = partyMember.getStat(Stat.SPDEF);
+
+ // Making sure modifier is not applied without holding item
+ const defValue = new Utils.NumberHolder(defStat);
+ partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.DEF, defValue);
+ const spDefValue = new Utils.NumberHolder(spDefStat);
+ partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.SPDEF, spDefValue);
+
+ expect(defValue.value / defStat).toBe(1);
+ expect(spDefValue.value / spDefStat).toBe(1);
+
+ // Giving Eviolite to party member and testing if it applies
+ partyMember.scene.addModifier(modifierTypes.EVIOLITE().newModifier(partyMember), true);
+ partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.DEF, defValue);
+ partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.SPDEF, spDefValue);
+
+ expect(defValue.value / defStat).toBe(1.5);
+ expect(spDefValue.value / spDefStat).toBe(1.5);
+ }, 20000);
+
+ it("EVIOLITE held by fully evolved, unfused pokemon", async() => {
+ await game.startBattle([
+ Species.RAICHU,
+ ]);
+
+ const partyMember = game.scene.getParty()[0];
+
+ const defStat = partyMember.getStat(Stat.DEF);
+ const spDefStat = partyMember.getStat(Stat.SPDEF);
+
+ // Making sure modifier is not applied without holding item
+ const defValue = new Utils.NumberHolder(defStat);
+ partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.DEF, defValue);
+ const spDefValue = new Utils.NumberHolder(spDefStat);
+ partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.SPDEF, spDefValue);
+
+ expect(defValue.value / defStat).toBe(1);
+ expect(spDefValue.value / spDefStat).toBe(1);
+
+ // Giving Eviolite to party member and testing if it applies
+ partyMember.scene.addModifier(modifierTypes.EVIOLITE().newModifier(partyMember), true);
+ partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.DEF, defValue);
+ partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.SPDEF, spDefValue);
+
+ expect(defValue.value / defStat).toBe(1);
+ expect(spDefValue.value / spDefStat).toBe(1);
+ }, 20000);
+
+ it("EVIOLITE held by completely unevolved, fused pokemon", async() => {
+ await game.startBattle([
+ Species.PICHU,
+ Species.CLEFFA
+ ]);
+
+ const partyMember = game.scene.getParty()[0];
+ const ally = game.scene.getParty()[1];
+
+ // Fuse party members (taken from PlayerPokemon.fuse(...) function)
+ partyMember.fusionSpecies = ally.species;
+ partyMember.fusionFormIndex = ally.formIndex;
+ partyMember.fusionAbilityIndex = ally.abilityIndex;
+ partyMember.fusionShiny = ally.shiny;
+ partyMember.fusionVariant = ally.variant;
+ partyMember.fusionGender = ally.gender;
+ partyMember.fusionLuck = ally.luck;
+
+ const defStat = partyMember.getStat(Stat.DEF);
+ const spDefStat = partyMember.getStat(Stat.SPDEF);
+
+ // Making sure modifier is not applied without holding item
+ const defValue = new Utils.NumberHolder(defStat);
+ partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.DEF, defValue);
+ const spDefValue = new Utils.NumberHolder(spDefStat);
+ partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.SPDEF, spDefValue);
+
+ expect(defValue.value / defStat).toBe(1);
+ expect(spDefValue.value / spDefStat).toBe(1);
+
+ // Giving Eviolite to party member and testing if it applies
+ partyMember.scene.addModifier(modifierTypes.EVIOLITE().newModifier(partyMember), true);
+ partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.DEF, defValue);
+ partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.SPDEF, spDefValue);
+
+ expect(defValue.value / defStat).toBe(1.5);
+ expect(spDefValue.value / spDefStat).toBe(1.5);
+ }, 20000);
+
+ it("EVIOLITE held by partially unevolved (base), fused pokemon", async() => {
+ await game.startBattle([
+ Species.PICHU,
+ Species.CLEFABLE
+ ]);
+
+ const partyMember = game.scene.getParty()[0];
+ const ally = game.scene.getParty()[1];
+
+ // Fuse party members (taken from PlayerPokemon.fuse(...) function)
+ partyMember.fusionSpecies = ally.species;
+ partyMember.fusionFormIndex = ally.formIndex;
+ partyMember.fusionAbilityIndex = ally.abilityIndex;
+ partyMember.fusionShiny = ally.shiny;
+ partyMember.fusionVariant = ally.variant;
+ partyMember.fusionGender = ally.gender;
+ partyMember.fusionLuck = ally.luck;
+
+ const defStat = partyMember.getStat(Stat.DEF);
+ const spDefStat = partyMember.getStat(Stat.SPDEF);
+
+ // Making sure modifier is not applied without holding item
+ const defValue = new Utils.NumberHolder(defStat);
+ partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.DEF, defValue);
+ const spDefValue = new Utils.NumberHolder(spDefStat);
+ partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.SPDEF, spDefValue);
+
+ expect(defValue.value / defStat).toBe(1);
+ expect(spDefValue.value / spDefStat).toBe(1);
+
+ // Giving Eviolite to party member and testing if it applies
+ partyMember.scene.addModifier(modifierTypes.EVIOLITE().newModifier(partyMember), true);
+ partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.DEF, defValue);
+ partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.SPDEF, spDefValue);
+
+ expect(defValue.value / defStat).toBe(1.25);
+ expect(spDefValue.value / spDefStat).toBe(1.25);
+ }, 20000);
+
+ it("EVIOLITE held by partially unevolved (fusion), fused pokemon", async() => {
+ await game.startBattle([
+ Species.RAICHU,
+ Species.CLEFFA
+ ]);
+
+ const partyMember = game.scene.getParty()[0];
+ const ally = game.scene.getParty()[1];
+
+ // Fuse party members (taken from PlayerPokemon.fuse(...) function)
+ partyMember.fusionSpecies = ally.species;
+ partyMember.fusionFormIndex = ally.formIndex;
+ partyMember.fusionAbilityIndex = ally.abilityIndex;
+ partyMember.fusionShiny = ally.shiny;
+ partyMember.fusionVariant = ally.variant;
+ partyMember.fusionGender = ally.gender;
+ partyMember.fusionLuck = ally.luck;
+
+ const defStat = partyMember.getStat(Stat.DEF);
+ const spDefStat = partyMember.getStat(Stat.SPDEF);
+
+ // Making sure modifier is not applied without holding item
+ const defValue = new Utils.NumberHolder(defStat);
+ partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.DEF, defValue);
+ const spDefValue = new Utils.NumberHolder(spDefStat);
+ partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.SPDEF, spDefValue);
+
+ expect(defValue.value / defStat).toBe(1);
+ expect(spDefValue.value / spDefStat).toBe(1);
+
+ // Giving Eviolite to party member and testing if it applies
+ partyMember.scene.addModifier(modifierTypes.EVIOLITE().newModifier(partyMember), true);
+ partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.DEF, defValue);
+ partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.SPDEF, spDefValue);
+
+ expect(defValue.value / defStat).toBe(1.25);
+ expect(spDefValue.value / spDefStat).toBe(1.25);
+ }, 20000);
+
+ it("EVIOLITE held by completely evolved, fused pokemon", async() => {
+ await game.startBattle([
+ Species.RAICHU,
+ Species.CLEFABLE
+ ]);
+
+ const partyMember = game.scene.getParty()[0];
+ const ally = game.scene.getParty()[1];
+
+ // Fuse party members (taken from PlayerPokemon.fuse(...) function)
+ partyMember.fusionSpecies = ally.species;
+ partyMember.fusionFormIndex = ally.formIndex;
+ partyMember.fusionAbilityIndex = ally.abilityIndex;
+ partyMember.fusionShiny = ally.shiny;
+ partyMember.fusionVariant = ally.variant;
+ partyMember.fusionGender = ally.gender;
+ partyMember.fusionLuck = ally.luck;
+
+ const defStat = partyMember.getStat(Stat.DEF);
+ const spDefStat = partyMember.getStat(Stat.SPDEF);
+
+ // Making sure modifier is not applied without holding item
+ const defValue = new Utils.NumberHolder(defStat);
+ partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.DEF, defValue);
+ const spDefValue = new Utils.NumberHolder(spDefStat);
+ partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.SPDEF, spDefValue);
+
+ expect(defValue.value / defStat).toBe(1);
+ expect(spDefValue.value / spDefStat).toBe(1);
+
+ // Giving Eviolite to party member and testing if it applies
+ partyMember.scene.addModifier(modifierTypes.EVIOLITE().newModifier(partyMember), true);
+ partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.DEF, defValue);
+ partyMember.scene.applyModifiers(EvolutionStatBoosterModifier, true, partyMember, Stat.SPDEF, spDefValue);
+
+ expect(defValue.value / defStat).toBe(1);
+ expect(spDefValue.value / spDefStat).toBe(1);
+ }, 20000);
+});
diff --git a/src/test/items/grip_claw.test.ts b/src/test/items/grip_claw.test.ts
new file mode 100644
index 00000000000..ae621770da6
--- /dev/null
+++ b/src/test/items/grip_claw.test.ts
@@ -0,0 +1,75 @@
+import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
+import Phase from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import { Moves } from "#app/enums/moves.js";
+import { Species } from "#app/enums/species.js";
+import { BerryType } from "#app/enums/berry-type.js";
+import { Abilities } from "#app/enums/abilities.js";
+import { getMovePosition } from "../utils/gameManagerUtils";
+import { CommandPhase, MoveEndPhase, SelectTargetPhase } from "#app/phases.js";
+import { BattlerIndex } from "#app/battle.js";
+import { allMoves } from "#app/data/move.js";
+
+const TIMEOUT = 20 * 1000; // 20 seconds
+
+describe("Items - Grip Claw", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phase.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+
+ vi.spyOn(overrides, "DOUBLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([ Moves.POPULATION_BOMB, Moves.SPLASH ]);
+ vi.spyOn(overrides, "STARTING_HELD_ITEMS_OVERRIDE", "get").mockReturnValue([{name: "GRIP_CLAW", count: 5}, {name: "MULTI_LENS", count: 3}]);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.SNORLAX);
+ vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.KLUTZ);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([ Moves.SPLASH, Moves.SPLASH, Moves.SPLASH, Moves.SPLASH ]);
+ vi.spyOn(overrides, "OPP_HELD_ITEMS_OVERRIDE", "get").mockReturnValue([
+ {name: "BERRY", type: BerryType.SITRUS, count: 2},
+ {name: "BERRY", type: BerryType.LUM, count: 2}
+ ]);
+ vi.spyOn(overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(100);
+ vi.spyOn(overrides, "OPP_LEVEL_OVERRIDE", "get").mockReturnValue(100);
+
+ vi.spyOn(allMoves[Moves.POPULATION_BOMB], "accuracy", "get").mockReturnValue(100);
+ });
+
+ it(
+ "should only steal items from the attack target",
+ async () => {
+ await game.startBattle([Species.PANSEAR, Species.ROWLET, Species.PANPOUR, Species.PANSAGE, Species.CHARMANDER, Species.SQUIRTLE]);
+
+ const playerPokemon = game.scene.getPlayerField();
+ playerPokemon.forEach(p => expect(p).toBeDefined());
+
+ const enemyPokemon = game.scene.getEnemyField();
+ enemyPokemon.forEach(p => expect(p).toBeDefined());
+
+ const enemyHeldItemCt = enemyPokemon.map(p => p.getHeldItems.length);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.POPULATION_BOMB));
+
+ await game.phaseInterceptor.to(SelectTargetPhase, false);
+ game.doSelectTarget(BattlerIndex.ENEMY);
+
+ await game.phaseInterceptor.to(CommandPhase, false);
+ game.doAttack(getMovePosition(game.scene, 1, Moves.SPLASH));
+
+ await game.phaseInterceptor.to(MoveEndPhase, false);
+
+ expect(enemyPokemon[1].getHeldItems.length).toBe(enemyHeldItemCt[1]);
+ }, TIMEOUT
+ );
+});
diff --git a/src/test/items/light_ball.test.ts b/src/test/items/light_ball.test.ts
new file mode 100644
index 00000000000..52fab7b044a
--- /dev/null
+++ b/src/test/items/light_ball.test.ts
@@ -0,0 +1,200 @@
+import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
+import Phase from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import { Species } from "#enums/species";
+import { Stat } from "#app/data/pokemon-stat";
+import { SpeciesStatBoosterModifier } from "#app/modifier/modifier";
+import { modifierTypes } from "#app/modifier/modifier-type";
+import * as Utils from "#app/utils";
+import i18next from "#app/plugins/i18n";
+
+describe("Items - Light Ball", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phase.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ });
+
+ it("LIGHT_BALL activates in battle correctly", async() => {
+ vi.spyOn(overrides, "STARTING_HELD_ITEMS_OVERRIDE", "get").mockReturnValue([{ name: "SPECIES_STAT_BOOSTER", type: "LIGHT_BALL" }]);
+ const consoleSpy = vi.spyOn(console, "log");
+ await game.startBattle([
+ Species.PIKACHU
+ ]);
+
+ const partyMember = game.scene.getParty()[0];
+
+ // Checking consoe log to make sure Light Ball is applied when getBattleStat (with the appropriate stat) is called
+ partyMember.getBattleStat(Stat.DEF);
+ expect(consoleSpy).not.toHaveBeenLastCalledWith("Applied", i18next.t("modifierType:SpeciesBoosterItem.LIGHT_BALL.name"), "");
+
+ // Printing dummy console messages along the way so subsequent checks don't pass because of the first
+ console.log("");
+
+ partyMember.getBattleStat(Stat.SPDEF);
+ expect(consoleSpy).not.toHaveBeenLastCalledWith("Applied", i18next.t("modifierType:SpeciesBoosterItem.LIGHT_BALL.name"), "");
+
+ console.log("");
+
+ partyMember.getBattleStat(Stat.ATK);
+ expect(consoleSpy).toHaveBeenLastCalledWith("Applied", i18next.t("modifierType:SpeciesBoosterItem.LIGHT_BALL.name"), "");
+
+ console.log("");
+
+ partyMember.getBattleStat(Stat.SPATK);
+ expect(consoleSpy).toHaveBeenLastCalledWith("Applied", i18next.t("modifierType:SpeciesBoosterItem.LIGHT_BALL.name"), "");
+
+ console.log("");
+
+ partyMember.getBattleStat(Stat.SPD);
+ expect(consoleSpy).not.toHaveBeenLastCalledWith("Applied", i18next.t("modifierType:SpeciesBoosterItem.LIGHT_BALL.name"), "");
+ });
+
+ it("LIGHT_BALL held by PIKACHU", async() => {
+ await game.startBattle([
+ Species.PIKACHU
+ ]);
+
+ const partyMember = game.scene.getParty()[0];
+
+ const atkStat = partyMember.getStat(Stat.ATK);
+ const spAtkStat = partyMember.getStat(Stat.SPATK);
+
+ // Making sure modifier is not applied without holding item
+ const atkValue = new Utils.NumberHolder(atkStat);
+ partyMember.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.DEF, atkValue);
+ const spAtkValue = new Utils.NumberHolder(spAtkStat);
+ partyMember.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.SPDEF, spAtkValue);
+
+ expect(atkValue.value / atkStat).toBe(1);
+ expect(spAtkValue.value / spAtkStat).toBe(1);
+
+ // Giving Eviolite to party member and testing if it applies
+ partyMember.scene.addModifier(modifierTypes.SPECIES_STAT_BOOSTER().generateType(null, ["LIGHT_BALL"]).newModifier(partyMember), true);
+ partyMember.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.ATK, atkValue);
+ partyMember.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.SPATK, spAtkValue);
+
+ expect(atkValue.value / atkStat).toBe(2);
+ expect(spAtkValue.value / spAtkStat).toBe(2);
+ }, 20000);
+
+ it("LIGHT_BALL held by fused PIKACHU (base)", async() => {
+ await game.startBattle([
+ Species.PIKACHU,
+ Species.MAROWAK
+ ]);
+
+ const partyMember = game.scene.getParty()[0];
+ const ally = game.scene.getParty()[1];
+
+ // Fuse party members (taken from PlayerPokemon.fuse(...) function)
+ partyMember.fusionSpecies = ally.species;
+ partyMember.fusionFormIndex = ally.formIndex;
+ partyMember.fusionAbilityIndex = ally.abilityIndex;
+ partyMember.fusionShiny = ally.shiny;
+ partyMember.fusionVariant = ally.variant;
+ partyMember.fusionGender = ally.gender;
+ partyMember.fusionLuck = ally.luck;
+
+ const atkStat = partyMember.getStat(Stat.ATK);
+ const spAtkStat = partyMember.getStat(Stat.SPATK);
+
+ // Making sure modifier is not applied without holding item
+ const atkValue = new Utils.NumberHolder(atkStat);
+ partyMember.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.DEF, atkValue);
+ const spAtkValue = new Utils.NumberHolder(spAtkStat);
+ partyMember.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.SPDEF, spAtkValue);
+
+ expect(atkValue.value / atkStat).toBe(1);
+ expect(spAtkValue.value / spAtkStat).toBe(1);
+
+ // Giving Eviolite to party member and testing if it applies
+ partyMember.scene.addModifier(modifierTypes.SPECIES_STAT_BOOSTER().generateType(null, ["LIGHT_BALL"]).newModifier(partyMember), true);
+ partyMember.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.ATK, atkValue);
+ partyMember.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.SPATK, spAtkValue);
+
+ expect(atkValue.value / atkStat).toBe(2);
+ expect(spAtkValue.value / spAtkStat).toBe(2);
+ }, 20000);
+
+ it("LIGHT_BALL held by fused PIKACHU (part)", async() => {
+ await game.startBattle([
+ Species.MAROWAK,
+ Species.PIKACHU
+ ]);
+
+ const partyMember = game.scene.getParty()[0];
+ const ally = game.scene.getParty()[1];
+
+ // Fuse party members (taken from PlayerPokemon.fuse(...) function)
+ partyMember.fusionSpecies = ally.species;
+ partyMember.fusionFormIndex = ally.formIndex;
+ partyMember.fusionAbilityIndex = ally.abilityIndex;
+ partyMember.fusionShiny = ally.shiny;
+ partyMember.fusionVariant = ally.variant;
+ partyMember.fusionGender = ally.gender;
+ partyMember.fusionLuck = ally.luck;
+
+ const atkStat = partyMember.getStat(Stat.ATK);
+ const spAtkStat = partyMember.getStat(Stat.SPATK);
+
+ // Making sure modifier is not applied without holding item
+ const atkValue = new Utils.NumberHolder(atkStat);
+ partyMember.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.DEF, atkValue);
+ const spAtkValue = new Utils.NumberHolder(spAtkStat);
+ partyMember.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.SPDEF, spAtkValue);
+
+ expect(atkValue.value / atkStat).toBe(1);
+ expect(spAtkValue.value / spAtkStat).toBe(1);
+
+ // Giving Eviolite to party member and testing if it applies
+ partyMember.scene.addModifier(modifierTypes.SPECIES_STAT_BOOSTER().generateType(null, ["LIGHT_BALL"]).newModifier(partyMember), true);
+ partyMember.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.ATK, atkValue);
+ partyMember.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.SPATK, spAtkValue);
+
+ expect(atkValue.value / atkStat).toBe(2);
+ expect(spAtkValue.value / spAtkStat).toBe(2);
+ }, 20000);
+
+ it("LIGHT_BALL not held by PIKACHU", async() => {
+ await game.startBattle([
+ Species.MAROWAK
+ ]);
+
+ const partyMember = game.scene.getParty()[0];
+
+ const atkStat = partyMember.getStat(Stat.ATK);
+ const spAtkStat = partyMember.getStat(Stat.SPATK);
+
+ // Making sure modifier is not applied without holding item
+ const atkValue = new Utils.NumberHolder(atkStat);
+ partyMember.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.DEF, atkValue);
+ const spAtkValue = new Utils.NumberHolder(spAtkStat);
+ partyMember.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.SPDEF, spAtkValue);
+
+ expect(atkValue.value / atkStat).toBe(1);
+ expect(spAtkValue.value / spAtkStat).toBe(1);
+
+ // Giving Eviolite to party member and testing if it applies
+ partyMember.scene.addModifier(modifierTypes.SPECIES_STAT_BOOSTER().generateType(null, ["LIGHT_BALL"]).newModifier(partyMember), true);
+ partyMember.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.ATK, atkValue);
+ partyMember.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.SPATK, spAtkValue);
+
+ expect(atkValue.value / atkStat).toBe(1);
+ expect(spAtkValue.value / spAtkStat).toBe(1);
+ }, 20000);
+});
diff --git a/src/test/items/metal_powder.test.ts b/src/test/items/metal_powder.test.ts
new file mode 100644
index 00000000000..5aa2c517ac9
--- /dev/null
+++ b/src/test/items/metal_powder.test.ts
@@ -0,0 +1,176 @@
+import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
+import Phase from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import { Species } from "#enums/species";
+import { Stat } from "#app/data/pokemon-stat";
+import { SpeciesStatBoosterModifier } from "#app/modifier/modifier";
+import { modifierTypes } from "#app/modifier/modifier-type";
+import * as Utils from "#app/utils";
+import i18next from "#app/plugins/i18n";
+
+describe("Items - Metal Powder", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phase.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ });
+
+ it("METAL_POWDER activates in battle correctly", async() => {
+ vi.spyOn(overrides, "STARTING_HELD_ITEMS_OVERRIDE", "get").mockReturnValue([{ name: "SPECIES_STAT_BOOSTER", type: "METAL_POWDER" }]);
+ const consoleSpy = vi.spyOn(console, "log");
+ await game.startBattle([
+ Species.DITTO
+ ]);
+
+ const partyMember = game.scene.getParty()[0];
+
+ // Checking consoe log to make sure Metal Powder is applied when getBattleStat (with the appropriate stat) is called
+ partyMember.getBattleStat(Stat.DEF);
+ expect(consoleSpy).toHaveBeenLastCalledWith("Applied", i18next.t("modifierType:SpeciesBoosterItem.METAL_POWDER.name"), "");
+
+ // Printing dummy console messages along the way so subsequent checks don't pass because of the first
+ console.log("");
+
+ partyMember.getBattleStat(Stat.SPDEF);
+ expect(consoleSpy).not.toHaveBeenLastCalledWith("Applied", i18next.t("modifierType:SpeciesBoosterItem.METAL_POWDER.name"), "");
+
+ console.log("");
+
+ partyMember.getBattleStat(Stat.ATK);
+ expect(consoleSpy).not.toHaveBeenLastCalledWith("Applied", i18next.t("modifierType:SpeciesBoosterItem.METAL_POWDER.name"), "");
+
+ console.log("");
+
+ partyMember.getBattleStat(Stat.SPATK);
+ expect(consoleSpy).not.toHaveBeenLastCalledWith("Applied", i18next.t("modifierType:SpeciesBoosterItem.METAL_POWDER.name"), "");
+
+ console.log("");
+
+ partyMember.getBattleStat(Stat.SPD);
+ expect(consoleSpy).not.toHaveBeenLastCalledWith("Applied", i18next.t("modifierType:SpeciesBoosterItem.METAL_POWDER.name"), "");
+ });
+
+ it("METAL_POWDER held by DITTO", async() => {
+ await game.startBattle([
+ Species.DITTO
+ ]);
+
+ const partyMember = game.scene.getParty()[0];
+
+ const defStat = partyMember.getStat(Stat.DEF);
+
+ // Making sure modifier is not applied without holding item
+ const defValue = new Utils.NumberHolder(defStat);
+ partyMember.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.DEF, defValue);
+
+ expect(defValue.value / defStat).toBe(1);
+
+ // Giving Eviolite to party member and testing if it applies
+ partyMember.scene.addModifier(modifierTypes.SPECIES_STAT_BOOSTER().generateType(null, ["METAL_POWDER"]).newModifier(partyMember), true);
+ partyMember.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.DEF, defValue);
+
+ expect(defValue.value / defStat).toBe(2);
+ }, 20000);
+
+ it("METAL_POWDER held by fused DITTO (base)", async() => {
+ await game.startBattle([
+ Species.DITTO,
+ Species.MAROWAK
+ ]);
+
+ const partyMember = game.scene.getParty()[0];
+ const ally = game.scene.getParty()[1];
+
+ // Fuse party members (taken from PlayerPokemon.fuse(...) function)
+ partyMember.fusionSpecies = ally.species;
+ partyMember.fusionFormIndex = ally.formIndex;
+ partyMember.fusionAbilityIndex = ally.abilityIndex;
+ partyMember.fusionShiny = ally.shiny;
+ partyMember.fusionVariant = ally.variant;
+ partyMember.fusionGender = ally.gender;
+ partyMember.fusionLuck = ally.luck;
+
+ const defStat = partyMember.getStat(Stat.DEF);
+
+ // Making sure modifier is not applied without holding item
+ const defValue = new Utils.NumberHolder(defStat);
+ partyMember.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.DEF, defValue);
+
+ expect(defValue.value / defStat).toBe(1);
+
+ // Giving Eviolite to party member and testing if it applies
+ partyMember.scene.addModifier(modifierTypes.SPECIES_STAT_BOOSTER().generateType(null, ["METAL_POWDER"]).newModifier(partyMember), true);
+ partyMember.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.DEF, defValue);
+
+ expect(defValue.value / defStat).toBe(2);
+ }, 20000);
+
+ it("METAL_POWDER held by fused DITTO (part)", async() => {
+ await game.startBattle([
+ Species.MAROWAK,
+ Species.DITTO
+ ]);
+
+ const partyMember = game.scene.getParty()[0];
+ const ally = game.scene.getParty()[1];
+
+ // Fuse party members (taken from PlayerPokemon.fuse(...) function)
+ partyMember.fusionSpecies = ally.species;
+ partyMember.fusionFormIndex = ally.formIndex;
+ partyMember.fusionAbilityIndex = ally.abilityIndex;
+ partyMember.fusionShiny = ally.shiny;
+ partyMember.fusionVariant = ally.variant;
+ partyMember.fusionGender = ally.gender;
+ partyMember.fusionLuck = ally.luck;
+
+ const defStat = partyMember.getStat(Stat.DEF);
+
+ // Making sure modifier is not applied without holding item
+ const defValue = new Utils.NumberHolder(defStat);
+ partyMember.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.DEF, defValue);
+
+ expect(defValue.value / defStat).toBe(1);
+
+ // Giving Eviolite to party member and testing if it applies
+ partyMember.scene.addModifier(modifierTypes.SPECIES_STAT_BOOSTER().generateType(null, ["METAL_POWDER"]).newModifier(partyMember), true);
+ partyMember.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.DEF, defValue);
+
+ expect(defValue.value / defStat).toBe(2);
+ }, 20000);
+
+ it("METAL_POWDER not held by DITTO", async() => {
+ await game.startBattle([
+ Species.MAROWAK
+ ]);
+
+ const partyMember = game.scene.getParty()[0];
+
+ const defStat = partyMember.getStat(Stat.DEF);
+
+ // Making sure modifier is not applied without holding item
+ const defValue = new Utils.NumberHolder(defStat);
+ partyMember.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.DEF, defValue);
+
+ expect(defValue.value / defStat).toBe(1);
+
+ // Giving Eviolite to party member and testing if it applies
+ partyMember.scene.addModifier(modifierTypes.SPECIES_STAT_BOOSTER().generateType(null, ["METAL_POWDER"]).newModifier(partyMember), true);
+ partyMember.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.DEF, defValue);
+
+ expect(defValue.value / defStat).toBe(1);
+ }, 20000);
+});
diff --git a/src/test/items/quick_powder.test.ts b/src/test/items/quick_powder.test.ts
new file mode 100644
index 00000000000..753f62e36eb
--- /dev/null
+++ b/src/test/items/quick_powder.test.ts
@@ -0,0 +1,176 @@
+import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
+import Phase from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import { Species } from "#enums/species";
+import { Stat } from "#app/data/pokemon-stat";
+import { SpeciesStatBoosterModifier } from "#app/modifier/modifier";
+import { modifierTypes } from "#app/modifier/modifier-type";
+import * as Utils from "#app/utils";
+import i18next from "#app/plugins/i18n";
+
+describe("Items - Quick Powder", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phase.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ });
+
+ it("QUICK_POWDER activates in battle correctly", async() => {
+ vi.spyOn(overrides, "STARTING_HELD_ITEMS_OVERRIDE", "get").mockReturnValue([{ name: "SPECIES_STAT_BOOSTER", type: "QUICK_POWDER" }]);
+ const consoleSpy = vi.spyOn(console, "log");
+ await game.startBattle([
+ Species.DITTO
+ ]);
+
+ const partyMember = game.scene.getParty()[0];
+
+ // Checking consoe log to make sure Quick Powder is applied when getBattleStat (with the appropriate stat) is called
+ partyMember.getBattleStat(Stat.DEF);
+ expect(consoleSpy).not.toHaveBeenLastCalledWith("Applied", i18next.t("modifierType:SpeciesBoosterItem.QUICK_POWDER.name"), "");
+
+ // Printing dummy console messages along the way so subsequent checks don't pass because of the first
+ console.log("");
+
+ partyMember.getBattleStat(Stat.SPDEF);
+ expect(consoleSpy).not.toHaveBeenLastCalledWith("Applied", i18next.t("modifierType:SpeciesBoosterItem.QUICK_POWDER.name"), "");
+
+ console.log("");
+
+ partyMember.getBattleStat(Stat.ATK);
+ expect(consoleSpy).not.toHaveBeenLastCalledWith("Applied", i18next.t("modifierType:SpeciesBoosterItem.QUICK_POWDER.name"), "");
+
+ console.log("");
+
+ partyMember.getBattleStat(Stat.SPATK);
+ expect(consoleSpy).not.toHaveBeenLastCalledWith("Applied", i18next.t("modifierType:SpeciesBoosterItem.QUICK_POWDER.name"), "");
+
+ console.log("");
+
+ partyMember.getBattleStat(Stat.SPD);
+ expect(consoleSpy).toHaveBeenLastCalledWith("Applied", i18next.t("modifierType:SpeciesBoosterItem.QUICK_POWDER.name"), "");
+ });
+
+ it("QUICK_POWDER held by DITTO", async() => {
+ await game.startBattle([
+ Species.DITTO
+ ]);
+
+ const partyMember = game.scene.getParty()[0];
+
+ const spdStat = partyMember.getStat(Stat.SPD);
+
+ // Making sure modifier is not applied without holding item
+ const spdValue = new Utils.NumberHolder(spdStat);
+ partyMember.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.SPD, spdValue);
+
+ expect(spdValue.value / spdStat).toBe(1);
+
+ // Giving Eviolite to party member and testing if it applies
+ partyMember.scene.addModifier(modifierTypes.SPECIES_STAT_BOOSTER().generateType(null, ["QUICK_POWDER"]).newModifier(partyMember), true);
+ partyMember.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.SPD, spdValue);
+
+ expect(spdValue.value / spdStat).toBe(2);
+ }, 20000);
+
+ it("QUICK_POWDER held by fused DITTO (base)", async() => {
+ await game.startBattle([
+ Species.DITTO,
+ Species.MAROWAK
+ ]);
+
+ const partyMember = game.scene.getParty()[0];
+ const ally = game.scene.getParty()[1];
+
+ // Fuse party members (taken from PlayerPokemon.fuse(...) function)
+ partyMember.fusionSpecies = ally.species;
+ partyMember.fusionFormIndex = ally.formIndex;
+ partyMember.fusionAbilityIndex = ally.abilityIndex;
+ partyMember.fusionShiny = ally.shiny;
+ partyMember.fusionVariant = ally.variant;
+ partyMember.fusionGender = ally.gender;
+ partyMember.fusionLuck = ally.luck;
+
+ const spdStat = partyMember.getStat(Stat.SPD);
+
+ // Making sure modifier is not applied without holding item
+ const spdValue = new Utils.NumberHolder(spdStat);
+ partyMember.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.SPD, spdValue);
+
+ expect(spdValue.value / spdStat).toBe(1);
+
+ // Giving Eviolite to party member and testing if it applies
+ partyMember.scene.addModifier(modifierTypes.SPECIES_STAT_BOOSTER().generateType(null, ["QUICK_POWDER"]).newModifier(partyMember), true);
+ partyMember.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.SPD, spdValue);
+
+ expect(spdValue.value / spdStat).toBe(2);
+ }, 20000);
+
+ it("QUICK_POWDER held by fused DITTO (part)", async() => {
+ await game.startBattle([
+ Species.MAROWAK,
+ Species.DITTO
+ ]);
+
+ const partyMember = game.scene.getParty()[0];
+ const ally = game.scene.getParty()[1];
+
+ // Fuse party members (taken from PlayerPokemon.fuse(...) function)
+ partyMember.fusionSpecies = ally.species;
+ partyMember.fusionFormIndex = ally.formIndex;
+ partyMember.fusionAbilityIndex = ally.abilityIndex;
+ partyMember.fusionShiny = ally.shiny;
+ partyMember.fusionVariant = ally.variant;
+ partyMember.fusionGender = ally.gender;
+ partyMember.fusionLuck = ally.luck;
+
+ const spdStat = partyMember.getStat(Stat.SPD);
+
+ // Making sure modifier is not applied without holding item
+ const spdValue = new Utils.NumberHolder(spdStat);
+ partyMember.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.SPD, spdValue);
+
+ expect(spdValue.value / spdStat).toBe(1);
+
+ // Giving Eviolite to party member and testing if it applies
+ partyMember.scene.addModifier(modifierTypes.SPECIES_STAT_BOOSTER().generateType(null, ["QUICK_POWDER"]).newModifier(partyMember), true);
+ partyMember.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.SPD, spdValue);
+
+ expect(spdValue.value / spdStat).toBe(2);
+ }, 20000);
+
+ it("QUICK_POWDER not held by DITTO", async() => {
+ await game.startBattle([
+ Species.MAROWAK
+ ]);
+
+ const partyMember = game.scene.getParty()[0];
+
+ const spdStat = partyMember.getStat(Stat.SPD);
+
+ // Making sure modifier is not applied without holding item
+ const spdValue = new Utils.NumberHolder(spdStat);
+ partyMember.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.SPD, spdValue);
+
+ expect(spdValue.value / spdStat).toBe(1);
+
+ // Giving Eviolite to party member and testing if it applies
+ partyMember.scene.addModifier(modifierTypes.SPECIES_STAT_BOOSTER().generateType(null, ["QUICK_POWDER"]).newModifier(partyMember), true);
+ partyMember.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.SPD, spdValue);
+
+ expect(spdValue.value / spdStat).toBe(1);
+ }, 20000);
+});
diff --git a/src/test/items/thick_club.test.ts b/src/test/items/thick_club.test.ts
new file mode 100644
index 00000000000..3356196e8c5
--- /dev/null
+++ b/src/test/items/thick_club.test.ts
@@ -0,0 +1,228 @@
+import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
+import Phase from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import { Species } from "#enums/species";
+import { Stat } from "#app/data/pokemon-stat";
+import { SpeciesStatBoosterModifier } from "#app/modifier/modifier";
+import { modifierTypes } from "#app/modifier/modifier-type";
+import * as Utils from "#app/utils";
+import i18next from "#app/plugins/i18n";
+
+describe("Items - Thick Club", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phase.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ });
+
+ it("THICK_CLUB activates in battle correctly", async() => {
+ vi.spyOn(overrides, "STARTING_HELD_ITEMS_OVERRIDE", "get").mockReturnValue([{ name: "SPECIES_STAT_BOOSTER", type: "THICK_CLUB" }]);
+ const consoleSpy = vi.spyOn(console, "log");
+ await game.startBattle([
+ Species.CUBONE
+ ]);
+
+ const partyMember = game.scene.getParty()[0];
+
+ // Checking consoe log to make sure Thick Club is applied when getBattleStat (with the appropriate stat) is called
+ partyMember.getBattleStat(Stat.DEF);
+ expect(consoleSpy).not.toHaveBeenLastCalledWith("Applied", i18next.t("modifierType:SpeciesBoosterItem.THICK_CLUB.name"), "");
+
+ // Printing dummy console messages along the way so subsequent checks don't pass because of the first
+ console.log("");
+
+ partyMember.getBattleStat(Stat.SPDEF);
+ expect(consoleSpy).not.toHaveBeenLastCalledWith("Applied", i18next.t("modifierType:SpeciesBoosterItem.THICK_CLUB.name"), "");
+
+ console.log("");
+
+ partyMember.getBattleStat(Stat.ATK);
+ expect(consoleSpy).toHaveBeenLastCalledWith("Applied", i18next.t("modifierType:SpeciesBoosterItem.THICK_CLUB.name"), "");
+
+ console.log("");
+
+ partyMember.getBattleStat(Stat.SPATK);
+ expect(consoleSpy).not.toHaveBeenLastCalledWith("Applied", i18next.t("modifierType:SpeciesBoosterItem.THICK_CLUB.name"), "");
+
+ console.log("");
+
+ partyMember.getBattleStat(Stat.SPD);
+ expect(consoleSpy).not.toHaveBeenLastCalledWith("Applied", i18next.t("modifierType:SpeciesBoosterItem.THICK_CLUB.name"), "");
+ });
+
+ it("THICK_CLUB held by CUBONE", async() => {
+ await game.startBattle([
+ Species.CUBONE
+ ]);
+
+ const partyMember = game.scene.getParty()[0];
+
+ const atkStat = partyMember.getStat(Stat.ATK);
+
+ // Making sure modifier is not applied without holding item
+ const atkValue = new Utils.NumberHolder(atkStat);
+ partyMember.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.ATK, atkValue);
+
+ expect(atkValue.value / atkStat).toBe(1);
+
+ // Giving Eviolite to party member and testing if it applies
+ partyMember.scene.addModifier(modifierTypes.SPECIES_STAT_BOOSTER().generateType(null, ["THICK_CLUB"]).newModifier(partyMember), true);
+ partyMember.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.ATK, atkValue);
+
+ expect(atkValue.value / atkStat).toBe(2);
+ }, 20000);
+
+ it("THICK_CLUB held by MAROWAK", async() => {
+ await game.startBattle([
+ Species.MAROWAK
+ ]);
+
+ const partyMember = game.scene.getParty()[0];
+
+ const atkStat = partyMember.getStat(Stat.ATK);
+
+ // Making sure modifier is not applied without holding item
+ const atkValue = new Utils.NumberHolder(atkStat);
+ partyMember.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.ATK, atkValue);
+
+ expect(atkValue.value / atkStat).toBe(1);
+
+ // Giving Eviolite to party member and testing if it applies
+ partyMember.scene.addModifier(modifierTypes.SPECIES_STAT_BOOSTER().generateType(null, ["THICK_CLUB"]).newModifier(partyMember), true);
+ partyMember.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.ATK, atkValue);
+
+ expect(atkValue.value / atkStat).toBe(2);
+ }, 20000);
+
+ it("THICK_CLUB held by ALOLA_MAROWAK", async() => {
+ await game.startBattle([
+ Species.ALOLA_MAROWAK
+ ]);
+
+ const partyMember = game.scene.getParty()[0];
+
+ const atkStat = partyMember.getStat(Stat.ATK);
+
+ // Making sure modifier is not applied without holding item
+ const atkValue = new Utils.NumberHolder(atkStat);
+ partyMember.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.ATK, atkValue);
+
+ expect(atkValue.value / atkStat).toBe(1);
+
+ // Giving Eviolite to party member and testing if it applies
+ partyMember.scene.addModifier(modifierTypes.SPECIES_STAT_BOOSTER().generateType(null, ["THICK_CLUB"]).newModifier(partyMember), true);
+ partyMember.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.ATK, atkValue);
+
+ expect(atkValue.value / atkStat).toBe(2);
+ }, 20000);
+
+ it("THICK_CLUB held by fused CUBONE line (base)", async() => {
+ // Randomly choose from the Cubone line
+ const species = [ Species.CUBONE, Species.MAROWAK, Species.ALOLA_MAROWAK ];
+ const randSpecies = Utils.randInt(species.length);
+
+ await game.startBattle([
+ species[randSpecies],
+ Species.PIKACHU
+ ]);
+
+ const partyMember = game.scene.getParty()[0];
+ const ally = game.scene.getParty()[1];
+
+ // Fuse party members (taken from PlayerPokemon.fuse(...) function)
+ partyMember.fusionSpecies = ally.species;
+ partyMember.fusionFormIndex = ally.formIndex;
+ partyMember.fusionAbilityIndex = ally.abilityIndex;
+ partyMember.fusionShiny = ally.shiny;
+ partyMember.fusionVariant = ally.variant;
+ partyMember.fusionGender = ally.gender;
+ partyMember.fusionLuck = ally.luck;
+
+ const atkStat = partyMember.getStat(Stat.ATK);
+
+ // Making sure modifier is not applied without holding item
+ const atkValue = new Utils.NumberHolder(atkStat);
+ partyMember.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.ATK, atkValue);
+
+ expect(atkValue.value / atkStat).toBe(1);
+
+ // Giving Eviolite to party member and testing if it applies
+ partyMember.scene.addModifier(modifierTypes.SPECIES_STAT_BOOSTER().generateType(null, ["THICK_CLUB"]).newModifier(partyMember), true);
+ partyMember.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.ATK, atkValue);
+
+ expect(atkValue.value / atkStat).toBe(2);
+ }, 20000);
+
+ it("THICK_CLUB held by fused CUBONE line (part)", async() => {
+ // Randomly choose from the Cubone line
+ const species = [ Species.CUBONE, Species.MAROWAK, Species.ALOLA_MAROWAK ];
+ const randSpecies = Utils.randInt(species.length);
+
+ await game.startBattle([
+ Species.PIKACHU,
+ species[randSpecies]
+ ]);
+
+ const partyMember = game.scene.getParty()[0];
+ const ally = game.scene.getParty()[1];
+
+ // Fuse party members (taken from PlayerPokemon.fuse(...) function)
+ partyMember.fusionSpecies = ally.species;
+ partyMember.fusionFormIndex = ally.formIndex;
+ partyMember.fusionAbilityIndex = ally.abilityIndex;
+ partyMember.fusionShiny = ally.shiny;
+ partyMember.fusionVariant = ally.variant;
+ partyMember.fusionGender = ally.gender;
+ partyMember.fusionLuck = ally.luck;
+
+ const atkStat = partyMember.getStat(Stat.ATK);
+
+ // Making sure modifier is not applied without holding item
+ const atkValue = new Utils.NumberHolder(atkStat);
+ partyMember.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.ATK, atkValue);
+
+ expect(atkValue.value / atkStat).toBe(1);
+
+ // Giving Eviolite to party member and testing if it applies
+ partyMember.scene.addModifier(modifierTypes.SPECIES_STAT_BOOSTER().generateType(null, ["THICK_CLUB"]).newModifier(partyMember), true);
+ partyMember.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.ATK, atkValue);
+
+ expect(atkValue.value / atkStat).toBe(2);
+ }, 20000);
+
+ it("THICK_CLUB not held by CUBONE", async() => {
+ await game.startBattle([
+ Species.PIKACHU
+ ]);
+
+ const partyMember = game.scene.getParty()[0];
+
+ const atkStat = partyMember.getStat(Stat.ATK);
+
+ // Making sure modifier is not applied without holding item
+ const atkValue = new Utils.NumberHolder(atkStat);
+ partyMember.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.ATK, atkValue);
+
+ expect(atkValue.value / atkStat).toBe(1);
+
+ // Giving Eviolite to party member and testing if it applies
+ partyMember.scene.addModifier(modifierTypes.SPECIES_STAT_BOOSTER().generateType(null, ["THICK_CLUB"]).newModifier(partyMember), true);
+ partyMember.scene.applyModifiers(SpeciesStatBoosterModifier, true, partyMember, Stat.ATK, atkValue);
+
+ expect(atkValue.value / atkStat).toBe(1);
+ }, 20000);
+});
diff --git a/src/test/items/toxic_orb.test.ts b/src/test/items/toxic_orb.test.ts
new file mode 100644
index 00000000000..64dc3191d88
--- /dev/null
+++ b/src/test/items/toxic_orb.test.ts
@@ -0,0 +1,83 @@
+import {afterEach, beforeAll, beforeEach, describe, expect, it, vi} from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import {
+ CommandPhase,
+ EnemyCommandPhase,
+ MessagePhase,
+ TurnEndPhase,
+} from "#app/phases";
+import {Mode} from "#app/ui/ui";
+import {getMovePosition} from "#app/test/utils/gameManagerUtils";
+import {Command} from "#app/ui/command-ui-handler";
+import {StatusEffect} from "#app/data/status-effect";
+import { Abilities } from "#enums/abilities";
+import { Moves } from "#enums/moves";
+import { Species } from "#enums/species";
+import i18next, { initI18n } from "#app/plugins/i18n";
+
+
+describe("Items - Toxic orb", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ const moveToUse = Moves.GROWTH;
+ const oppMoveToUse = Moves.TACKLE;
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.RATTATA);
+ vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.INSOMNIA);
+ vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.INSOMNIA);
+ vi.spyOn(overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(2000);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([moveToUse]);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([oppMoveToUse, oppMoveToUse, oppMoveToUse, oppMoveToUse]);
+ vi.spyOn(overrides, "STARTING_HELD_ITEMS_OVERRIDE", "get").mockReturnValue([{
+ name: "TOXIC_ORB",
+ }]);
+ });
+
+ it("TOXIC ORB", async() => {
+ initI18n();
+ i18next.changeLanguage("en");
+ const moveToUse = Moves.GROWTH;
+ await game.startBattle([
+ Species.MIGHTYENA,
+ Species.MIGHTYENA,
+ ]);
+ expect(game.scene.modifiers[0].type.id).toBe("TOXIC_ORB");
+
+ game.onNextPrompt("CommandPhase", Mode.COMMAND, () => {
+ // Select Attack
+ game.scene.ui.setMode(Mode.FIGHT, (game.scene.getCurrentPhase() as CommandPhase).getFieldIndex());
+ });
+ game.onNextPrompt("CommandPhase", Mode.FIGHT, () => {
+ // Select Move Growth
+ const movePosition = getMovePosition(game.scene, 0, moveToUse);
+ (game.scene.getCurrentPhase() as CommandPhase).handleCommand(Command.FIGHT, movePosition, false);
+ });
+
+ // will run the 13 phase from enemyCommandPhase to TurnEndPhase
+ await game.phaseInterceptor.runFrom(EnemyCommandPhase).to(TurnEndPhase);
+ // Toxic orb should trigger here
+ await game.phaseInterceptor.run(MessagePhase);
+ const message = game.textInterceptor.getLatestMessage();
+ expect(message).toContain("was badly poisoned by Toxic Orb");
+ await game.phaseInterceptor.run(MessagePhase);
+ const message2 = game.textInterceptor.getLatestMessage();
+ expect(message2).toContain("is hurt");
+ expect(message2).toContain("by poison");
+ expect(game.scene.getParty()[0].status.effect).toBe(StatusEffect.TOXIC);
+ }, 20000);
+});
diff --git a/src/test/localization/battle-stat.test.ts b/src/test/localization/battle-stat.test.ts
new file mode 100644
index 00000000000..d894d705947
--- /dev/null
+++ b/src/test/localization/battle-stat.test.ts
@@ -0,0 +1,208 @@
+import {beforeAll, describe, expect, it} from "vitest";
+import { getBattleStatName, getBattleStatLevelChangeDescription } from "#app/data/battle-stat.js";
+import { BattleStat } from "#app/data/battle-stat.js";
+import { pokemonInfo as enPokemonInfo } from "#app/locales/en/pokemon-info.js";
+import { battle as enBattleStat } from "#app/locales/en/battle.js";
+import { pokemonInfo as dePokemonInfo } from "#app/locales/de/pokemon-info.js";
+import { battle as deBattleStat } from "#app/locales/de/battle.js";
+import { pokemonInfo as esPokemonInfo } from "#app/locales/es/pokemon-info.js";
+import { battle as esBattleStat } from "#app/locales/es/battle.js";
+import { pokemonInfo as frPokemonInfo } from "#app/locales/fr/pokemon-info.js";
+import { battle as frBattleStat } from "#app/locales/fr/battle.js";
+import { pokemonInfo as itPokemonInfo } from "#app/locales/it/pokemon-info.js";
+import { battle as itBattleStat } from "#app/locales/it/battle.js";
+import { pokemonInfo as koPokemonInfo } from "#app/locales/ko/pokemon-info.js";
+import { battle as koBattleStat } from "#app/locales/ko/battle.js";
+import { pokemonInfo as ptBrPokemonInfo } from "#app/locales/pt_BR/pokemon-info.js";
+import { battle as ptBrBattleStat } from "#app/locales/pt_BR/battle.js";
+import { pokemonInfo as zhCnPokemonInfo } from "#app/locales/zh_CN/pokemon-info.js";
+import { battle as zhCnBattleStat } from "#app/locales/zh_CN/battle.js";
+import { pokemonInfo as zhTwPokemonInfo } from "#app/locales/zh_TW/pokemon-info.js";
+import { battle as zhTwBattleStat } from "#app/locales/zh_TW/battle.js";
+
+import i18next, {initI18n} from "#app/plugins/i18n";
+import { KoreanPostpositionProcessor } from "i18next-korean-postposition-processor";
+
+interface BattleStatTestUnit {
+ stat: BattleStat,
+ key: string
+}
+
+interface BattleStatLevelTestUnit {
+ levels: integer,
+ up: boolean,
+ key: string
+}
+
+function testBattleStatName(stat: BattleStat, expectMessage: string) {
+ const message = getBattleStatName(stat);
+ console.log(`message ${message}, expected ${expectMessage}`);
+ expect(message).toBe(expectMessage);
+}
+
+function testBattleStatLevelChangeDescription(levels: integer, up: boolean, expectMessage: string) {
+ const message = getBattleStatLevelChangeDescription("{{pokemonNameWithAffix}}", "{{stats}}", levels, up);
+ console.log(`message ${message}, expected ${expectMessage}`);
+ expect(message).toBe(expectMessage);
+}
+
+describe("Test for BattleStat Localization", () => {
+ const battleStatUnits: BattleStatTestUnit[] = [];
+ const battleStatLevelUnits: BattleStatLevelTestUnit[] = [];
+
+ beforeAll(() => {
+ initI18n();
+
+ battleStatUnits.push({ stat: BattleStat.ATK, key: "Stat.ATK" });
+ battleStatUnits.push({ stat: BattleStat.DEF, key: "Stat.DEF" });
+ battleStatUnits.push({ stat: BattleStat.SPATK, key: "Stat.SPATK" });
+ battleStatUnits.push({ stat: BattleStat.SPDEF, key: "Stat.SPDEF" });
+ battleStatUnits.push({ stat: BattleStat.SPD, key: "Stat.SPD" });
+ battleStatUnits.push({ stat: BattleStat.ACC, key: "Stat.ACC" });
+ battleStatUnits.push({ stat: BattleStat.EVA, key: "Stat.EVA" });
+
+ battleStatLevelUnits.push({ levels: 1, up: true, key: "statRose" });
+ battleStatLevelUnits.push({ levels: 2, up: true, key: "statSharplyRose" });
+ battleStatLevelUnits.push({ levels: 3, up: true, key: "statRoseDrastically" });
+ battleStatLevelUnits.push({ levels: 4, up: true, key: "statRoseDrastically" });
+ battleStatLevelUnits.push({ levels: 5, up: true, key: "statRoseDrastically" });
+ battleStatLevelUnits.push({ levels: 6, up: true, key: "statRoseDrastically" });
+ battleStatLevelUnits.push({ levels: 7, up: true, key: "statWontGoAnyHigher" });
+ battleStatLevelUnits.push({ levels: 1, up: false, key: "statFell" });
+ battleStatLevelUnits.push({ levels: 2, up: false, key: "statHarshlyFell" });
+ battleStatLevelUnits.push({ levels: 3, up: false, key: "statSeverelyFell" });
+ battleStatLevelUnits.push({ levels: 4, up: false, key: "statSeverelyFell" });
+ battleStatLevelUnits.push({ levels: 5, up: false, key: "statSeverelyFell" });
+ battleStatLevelUnits.push({ levels: 6, up: false, key: "statSeverelyFell" });
+ battleStatLevelUnits.push({ levels: 7, up: false, key: "statWontGoAnyLower" });
+ });
+
+ it("Test getBattleStatName() in English", async () => {
+ i18next.changeLanguage("en");
+ battleStatUnits.forEach(unit => {
+ testBattleStatName(unit.stat, enPokemonInfo[unit.key.split(".")[0]][unit.key.split(".")[1]]);
+ });
+ });
+
+ it("Test getBattleStatLevelChangeDescription() in English", async () => {
+ i18next.changeLanguage("en");
+ battleStatLevelUnits.forEach(unit => {
+ testBattleStatLevelChangeDescription(unit.levels, unit.up, enBattleStat[unit.key]);
+ });
+ });
+
+ it("Test getBattleStatName() in Español", async () => {
+ i18next.changeLanguage("es");
+ battleStatUnits.forEach(unit => {
+ testBattleStatName(unit.stat, esPokemonInfo[unit.key.split(".")[0]][unit.key.split(".")[1]]);
+ });
+ });
+
+ it("Test getBattleStatLevelChangeDescription() in Español", async () => {
+ i18next.changeLanguage("es");
+ battleStatLevelUnits.forEach(unit => {
+ testBattleStatLevelChangeDescription(unit.levels, unit.up, esBattleStat[unit.key]);
+ });
+ });
+
+ it("Test getBattleStatName() in Italiano", async () => {
+ i18next.changeLanguage("it");
+ battleStatUnits.forEach(unit => {
+ testBattleStatName(unit.stat, itPokemonInfo[unit.key.split(".")[0]][unit.key.split(".")[1]]);
+ });
+ });
+
+ it("Test getBattleStatLevelChangeDescription() in Italiano", async () => {
+ i18next.changeLanguage("it");
+ battleStatLevelUnits.forEach(unit => {
+ testBattleStatLevelChangeDescription(unit.levels, unit.up, itBattleStat[unit.key]);
+ });
+ });
+
+ it("Test getBattleStatName() in Français", async () => {
+ i18next.changeLanguage("fr");
+ battleStatUnits.forEach(unit => {
+ testBattleStatName(unit.stat, frPokemonInfo[unit.key.split(".")[0]][unit.key.split(".")[1]]);
+ });
+ });
+
+ it("Test getBattleStatLevelChangeDescription() in Français", async () => {
+ i18next.changeLanguage("fr");
+ battleStatLevelUnits.forEach(unit => {
+ testBattleStatLevelChangeDescription(unit.levels, unit.up, frBattleStat[unit.key]);
+ });
+ });
+
+ it("Test getBattleStatName() in Deutsch", async () => {
+ i18next.changeLanguage("de");
+ battleStatUnits.forEach(unit => {
+ testBattleStatName(unit.stat, dePokemonInfo[unit.key.split(".")[0]][unit.key.split(".")[1]]);
+ });
+ });
+
+ it("Test getBattleStatLevelChangeDescription() in Deutsch", async () => {
+ i18next.changeLanguage("de");
+ battleStatLevelUnits.forEach(unit => {
+ testBattleStatLevelChangeDescription(unit.levels, unit.up, deBattleStat[unit.key]);
+ });
+ });
+
+ it("Test getBattleStatName() in Português (BR)", async () => {
+ i18next.changeLanguage("pt-BR");
+ battleStatUnits.forEach(unit => {
+ testBattleStatName(unit.stat, ptBrPokemonInfo[unit.key.split(".")[0]][unit.key.split(".")[1]]);
+ });
+ });
+
+ it("Test getBattleStatLevelChangeDescription() in Português (BR)", async () => {
+ i18next.changeLanguage("pt-BR");
+ battleStatLevelUnits.forEach(unit => {
+ testBattleStatLevelChangeDescription(unit.levels, unit.up, ptBrBattleStat[unit.key]);
+ });
+ });
+
+ it("Test getBattleStatName() in 简体中文", async () => {
+ i18next.changeLanguage("zh-CN");
+ battleStatUnits.forEach(unit => {
+ testBattleStatName(unit.stat, zhCnPokemonInfo[unit.key.split(".")[0]][unit.key.split(".")[1]]);
+ });
+ });
+
+ it("Test getBattleStatLevelChangeDescription() in 简体中文", async () => {
+ i18next.changeLanguage("zh-CN");
+ battleStatLevelUnits.forEach(unit => {
+ testBattleStatLevelChangeDescription(unit.levels, unit.up, zhCnBattleStat[unit.key]);
+ });
+ });
+
+ it("Test getBattleStatName() in 繁體中文", async () => {
+ i18next.changeLanguage("zh-TW");
+ battleStatUnits.forEach(unit => {
+ testBattleStatName(unit.stat, zhTwPokemonInfo[unit.key.split(".")[0]][unit.key.split(".")[1]]);
+ });
+ });
+
+ it("Test getBattleStatLevelChangeDescription() in 繁體中文", async () => {
+ i18next.changeLanguage("zh-TW");
+ battleStatLevelUnits.forEach(unit => {
+ testBattleStatLevelChangeDescription(unit.levels, unit.up, zhTwBattleStat[unit.key]);
+ });
+ });
+
+ it("Test getBattleStatName() in 한국어", async () => {
+ await i18next.changeLanguage("ko");
+ battleStatUnits.forEach(unit => {
+ testBattleStatName(unit.stat, koPokemonInfo[unit.key.split(".")[0]][unit.key.split(".")[1]]);
+ });
+ });
+
+ it("Test getBattleStatLevelChangeDescription() in 한국어", async () => {
+ i18next.changeLanguage("ko", () => {
+ battleStatLevelUnits.forEach(unit => {
+ const processor = new KoreanPostpositionProcessor();
+ const message = processor.process(koBattleStat[unit.key]);
+ testBattleStatLevelChangeDescription(unit.levels, unit.up, message);
+ });
+ });
+ });
+});
diff --git a/src/test/localization/french.test.ts b/src/test/localization/french.test.ts
new file mode 100644
index 00000000000..45429b1b157
--- /dev/null
+++ b/src/test/localization/french.test.ts
@@ -0,0 +1,42 @@
+import {afterEach, beforeAll, describe, expect, it} from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import {Species} from "#enums/species";
+import i18next from "i18next";
+import {initI18n} from "#app/plugins/i18n";
+
+describe("Lokalization - french", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ initI18n();
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ it("test bulbasaur name english", async () => {
+ game = new GameManager(phaserGame);
+ await game.startBattle([
+ Species.BULBASAUR,
+ ]);
+ expect(game.scene.getParty()[0].name).toBe("Bulbasaur");
+ }, 20000);
+
+ it("test bulbasaure name french", async () => {
+ const locale = "fr";
+ i18next.changeLanguage(locale);
+ localStorage.setItem("prLang", locale);
+ game = new GameManager(phaserGame);
+
+ await game.startBattle([
+ Species.BULBASAUR,
+ ]);
+ expect(game.scene.getParty()[0].name).toBe("Bulbizarre");
+ }, 20000);
+});
diff --git a/src/test/localization/status-effect.test.ts b/src/test/localization/status-effect.test.ts
new file mode 100644
index 00000000000..ad33a59a675
--- /dev/null
+++ b/src/test/localization/status-effect.test.ts
@@ -0,0 +1,300 @@
+import { beforeAll, describe, afterEach, expect, it, vi } from "vitest";
+import {
+ StatusEffect,
+ getStatusEffectActivationText,
+ getStatusEffectDescriptor,
+ getStatusEffectHealText,
+ getStatusEffectObtainText,
+ getStatusEffectOverlapText,
+} from "#app/data/status-effect";
+import i18next from "i18next";
+import { mockI18next } from "../utils/testUtils";
+
+const pokemonName = "PKM";
+const sourceText = "SOURCE";
+
+describe("status-effect", () => {
+ beforeAll(() => {
+ i18next.init();
+ });
+
+ describe("NONE", () => {
+ const statusEffect = StatusEffect.NONE;
+
+ it("should return the obtain text", () => {
+ mockI18next();
+
+ const text = getStatusEffectObtainText(statusEffect, pokemonName);
+ expect(text).toBe("statusEffect:none.obtain");
+
+ const emptySourceText = getStatusEffectObtainText(statusEffect, pokemonName, "");
+ expect(emptySourceText).toBe("statusEffect:none.obtain");
+ });
+
+ it("should return the source-obtain text", () => {
+ mockI18next();
+
+ const text = getStatusEffectObtainText(statusEffect, pokemonName, sourceText);
+ expect(text).toBe("statusEffect:none.obtainSource");
+
+ const emptySourceText = getStatusEffectObtainText(statusEffect, pokemonName, "");
+ expect(emptySourceText).not.toBe("statusEffect:none.obtainSource");
+ });
+
+ it("should return the activation text", () => {
+ mockI18next();
+ const text = getStatusEffectActivationText(statusEffect, pokemonName);
+ expect(text).toBe("statusEffect:none.activation");
+ });
+
+ it("should return the overlap text", () => {
+ mockI18next();
+ const text = getStatusEffectOverlapText(statusEffect, pokemonName);
+ expect(text).toBe("statusEffect:none.overlap");
+ });
+
+ it("should return the heal text", () => {
+ mockI18next();
+ const text = getStatusEffectHealText(statusEffect, pokemonName);
+ expect(text).toBe("statusEffect:none.heal");
+ });
+
+ it("should return the descriptor", () => {
+ mockI18next();
+ const text = getStatusEffectDescriptor(statusEffect);
+ expect(text).toBe("statusEffect:none.description");
+ });
+ });
+
+ describe("POISON", () => {
+ const statusEffect = StatusEffect.POISON;
+
+ it("should return the obtain text", () => {
+ mockI18next();
+
+ const text = getStatusEffectObtainText(statusEffect, pokemonName);
+ expect(text).toBe("statusEffect:poison.obtain");
+
+ const emptySourceText = getStatusEffectObtainText(statusEffect, pokemonName, "");
+ expect(emptySourceText).toBe("statusEffect:poison.obtain");
+ });
+
+ it("should return the activation text", () => {
+ mockI18next();
+ const text = getStatusEffectActivationText(statusEffect, pokemonName);
+ expect(text).toBe("statusEffect:poison.activation");
+ });
+
+ it("should return the descriptor", () => {
+ mockI18next();
+ const text = getStatusEffectDescriptor(statusEffect);
+ expect(text).toBe("statusEffect:poison.description");
+ });
+
+ it("should return the heal text", () => {
+ mockI18next();
+ const text = getStatusEffectHealText(statusEffect, pokemonName);
+ expect(text).toBe("statusEffect:poison.heal");
+ });
+
+ it("should return the overlap text", () => {
+ mockI18next();
+ const text = getStatusEffectOverlapText(statusEffect, pokemonName);
+ expect(text).toBe("statusEffect:poison.overlap");
+ });
+ });
+
+ describe("TOXIC", () => {
+ const statusEffect = StatusEffect.TOXIC;
+
+ it("should return the obtain text", () => {
+ mockI18next();
+
+ const text = getStatusEffectObtainText(statusEffect, pokemonName);
+ expect(text).toBe("statusEffect:toxic.obtain");
+
+ const emptySourceText = getStatusEffectObtainText(statusEffect, pokemonName, "");
+ expect(emptySourceText).toBe("statusEffect:toxic.obtain");
+ });
+
+ it("should return the activation text", () => {
+ mockI18next();
+ const text = getStatusEffectActivationText(statusEffect, pokemonName);
+ expect(text).toBe("statusEffect:toxic.activation");
+ });
+
+ it("should return the descriptor", () => {
+ mockI18next();
+ const text = getStatusEffectDescriptor(statusEffect);
+ expect(text).toBe("statusEffect:toxic.description");
+ });
+
+ it("should return the heal text", () => {
+ mockI18next();
+ const text = getStatusEffectHealText(statusEffect, pokemonName);
+ expect(text).toBe("statusEffect:toxic.heal");
+ });
+
+ it("should return the overlap text", () => {
+ mockI18next();
+ const text = getStatusEffectOverlapText(statusEffect, pokemonName);
+ expect(text).toBe("statusEffect:toxic.overlap");
+ });
+ });
+
+ describe("PARALYSIS", () => {
+ const statusEffect = StatusEffect.PARALYSIS;
+
+ it("should return the obtain text", () => {
+ mockI18next();
+
+ const text = getStatusEffectObtainText(statusEffect, pokemonName);
+ expect(text).toBe("statusEffect:paralysis.obtain");
+
+ const emptySourceText = getStatusEffectObtainText(statusEffect, pokemonName, "");
+ expect(emptySourceText).toBe("statusEffect:paralysis.obtain");
+ });
+
+ it("should return the activation text", () => {
+ mockI18next();
+ const text = getStatusEffectActivationText(statusEffect, pokemonName);
+ expect(text).toBe("statusEffect:paralysis.activation");
+ });
+
+ it("should return the descriptor", () => {
+ mockI18next();
+ const text = getStatusEffectDescriptor(statusEffect);
+ expect(text).toBe("statusEffect:paralysis.description");
+ });
+
+ it("should return the heal text", () => {
+ mockI18next();
+ const text = getStatusEffectHealText(statusEffect, pokemonName);
+ expect(text).toBe("statusEffect:paralysis.heal");
+ });
+
+ it("should return the overlap text", () => {
+ mockI18next();
+ const text = getStatusEffectOverlapText(statusEffect, pokemonName);
+ expect(text).toBe("statusEffect:paralysis.overlap");
+ });
+ });
+
+ describe("SLEEP", () => {
+ const statusEffect = StatusEffect.SLEEP;
+
+ it("should return the obtain text", () => {
+ mockI18next();
+
+ const text = getStatusEffectObtainText(statusEffect, pokemonName);
+ expect(text).toBe("statusEffect:sleep.obtain");
+
+ const emptySourceText = getStatusEffectObtainText(statusEffect, pokemonName, "");
+ expect(emptySourceText).toBe("statusEffect:sleep.obtain");
+ });
+
+ it("should return the activation text", () => {
+ mockI18next();
+ const text = getStatusEffectActivationText(statusEffect, pokemonName);
+ expect(text).toBe("statusEffect:sleep.activation");
+ });
+
+ it("should return the descriptor", () => {
+ mockI18next();
+ const text = getStatusEffectDescriptor(statusEffect);
+ expect(text).toBe("statusEffect:sleep.description");
+ });
+
+ it("should return the heal text", () => {
+ mockI18next();
+ const text = getStatusEffectHealText(statusEffect, pokemonName);
+ expect(text).toBe("statusEffect:sleep.heal");
+ });
+
+ it("should return the overlap text", () => {
+ mockI18next();
+ const text = getStatusEffectOverlapText(statusEffect, pokemonName);
+ expect(text).toBe("statusEffect:sleep.overlap");
+ });
+ });
+
+ describe("FREEZE", () => {
+ const statusEffect = StatusEffect.FREEZE;
+
+ it("should return the obtain text", () => {
+ mockI18next();
+
+ const text = getStatusEffectObtainText(statusEffect, pokemonName);
+ expect(text).toBe("statusEffect:freeze.obtain");
+
+ const emptySourceText = getStatusEffectObtainText(statusEffect, pokemonName, "");
+ expect(emptySourceText).toBe("statusEffect:freeze.obtain");
+ });
+
+ it("should return the activation text", () => {
+ mockI18next();
+ const text = getStatusEffectActivationText(statusEffect, pokemonName);
+ expect(text).toBe("statusEffect:freeze.activation");
+ });
+
+ it("should return the descriptor", () => {
+ mockI18next();
+ const text = getStatusEffectDescriptor(statusEffect);
+ expect(text).toBe("statusEffect:freeze.description");
+ });
+
+ it("should return the heal text", () => {
+ mockI18next();
+ const text = getStatusEffectHealText(statusEffect, pokemonName);
+ expect(text).toBe("statusEffect:freeze.heal");
+ });
+
+ it("should return the overlap text", () => {
+ mockI18next();
+ const text = getStatusEffectOverlapText(statusEffect, pokemonName);
+ expect(text).toBe("statusEffect:freeze.overlap");
+ });
+ });
+
+ describe("BURN", () => {
+ const statusEffect = StatusEffect.BURN;
+
+ it("should return the obtain text", () => {
+ mockI18next();
+
+ const text = getStatusEffectObtainText(statusEffect, pokemonName);
+ expect(text).toBe("statusEffect:burn.obtain");
+
+ const emptySourceText = getStatusEffectObtainText(statusEffect, pokemonName, "");
+ expect(emptySourceText).toBe("statusEffect:burn.obtain");
+ });
+
+ it("should return the activation text", () => {
+ mockI18next();
+ const text = getStatusEffectActivationText(statusEffect, pokemonName);
+ expect(text).toBe("statusEffect:burn.activation");
+ });
+
+ it("should return the descriptor", () => {
+ mockI18next();
+ const text = getStatusEffectDescriptor(statusEffect);
+ expect(text).toBe("statusEffect:burn.description");
+ });
+
+ it("should return the heal text", () => {
+ mockI18next();
+ const text = getStatusEffectHealText(statusEffect, pokemonName);
+ expect(text).toBe("statusEffect:burn.heal");
+ });
+
+ it("should return the overlap text", () => {
+ mockI18next();
+ const text = getStatusEffectOverlapText(statusEffect, pokemonName);
+ expect(text).toBe("statusEffect:burn.overlap");
+ });
+ });
+
+ afterEach(() => {
+ vi.resetAllMocks();
+ });
+});
diff --git a/src/test/localization/terrain.test.ts b/src/test/localization/terrain.test.ts
new file mode 100644
index 00000000000..89884290e00
--- /dev/null
+++ b/src/test/localization/terrain.test.ts
@@ -0,0 +1,192 @@
+import { beforeAll, describe, beforeEach, afterEach, expect, it, vi } from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import { Species } from "#enums/species";
+import { TerrainType, getTerrainName } from "#app/data/terrain";
+import { getTerrainStartMessage, getTerrainClearMessage, getTerrainBlockMessage } from "#app/data/weather";
+import i18next from "i18next";
+import { mockI18next } from "../utils/testUtils";
+
+describe("terrain", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ i18next.init();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ });
+
+ describe("NONE", () => {
+ const terrainType = TerrainType.NONE;
+
+ it("should return the obtain text", () => {
+ mockI18next();
+
+ const text = getTerrainName(terrainType);
+ expect(text).toBe("");
+ });
+
+ it("should return the start text", () => {
+ mockI18next();
+
+ const text = getTerrainStartMessage(terrainType);
+ expect(text).toBe(undefined);
+ });
+
+ it("should return the clear text", () => {
+ mockI18next();
+ const text = getTerrainClearMessage(terrainType);
+ expect(text).toBe(undefined);
+ });
+
+ it("should return the block text", async () => {
+ await game.startBattle([Species.MAGIKARP]);
+ const pokemon = game.scene.getPlayerPokemon();
+ mockI18next();
+ const text = getTerrainBlockMessage(pokemon, terrainType);
+ expect(text).toBe("terrain:defaultBlockMessage");
+ });
+ });
+
+ describe("MISTY", () => {
+ const terrainType = TerrainType.MISTY;
+
+ it("should return the obtain text", () => {
+ mockI18next();
+
+ const text = getTerrainName(terrainType);
+ expect(text).toBe("terrain:misty");
+ });
+
+ it("should return the start text", () => {
+ mockI18next();
+
+ const text = getTerrainStartMessage(terrainType);
+ expect(text).toBe("terrain:mistyStartMessage");
+ });
+
+ it("should return the clear text", () => {
+ mockI18next();
+ const text = getTerrainClearMessage(terrainType);
+ expect(text).toBe("terrain:mistyClearMessage");
+ });
+
+ it("should return the block text", async () => {
+ await game.startBattle([Species.MAGIKARP]);
+ const pokemon = game.scene.getPlayerPokemon();
+ mockI18next();
+ const text = getTerrainBlockMessage(pokemon, terrainType);
+ expect(text).toBe("terrain:mistyBlockMessage");
+ });
+ });
+
+ describe("ELECTRIC", () => {
+ const terrainType = TerrainType.ELECTRIC;
+
+ it("should return the obtain text", () => {
+ mockI18next();
+
+ const text = getTerrainName(terrainType);
+ expect(text).toBe("terrain:electric");
+ });
+
+ it("should return the start text", () => {
+ mockI18next();
+
+ const text = getTerrainStartMessage(terrainType);
+ expect(text).toBe("terrain:electricStartMessage");
+ });
+
+ it("should return the clear text", () => {
+ mockI18next();
+ const text = getTerrainClearMessage(terrainType);
+ expect(text).toBe("terrain:electricClearMessage");
+ });
+
+ it("should return the block text", async () => {
+ await game.startBattle([Species.MAGIKARP]);
+ const pokemon = game.scene.getPlayerPokemon();
+ mockI18next();
+ const text = getTerrainBlockMessage(pokemon, terrainType);
+ expect(text).toBe("terrain:defaultBlockMessage");
+ });
+ });
+
+ describe("GRASSY", () => {
+ const terrainType = TerrainType.GRASSY;
+
+ it("should return the obtain text", () => {
+ mockI18next();
+
+ const text = getTerrainName(terrainType);
+ expect(text).toBe("terrain:grassy");
+ });
+
+ it("should return the start text", () => {
+ mockI18next();
+
+ const text = getTerrainStartMessage(terrainType);
+ expect(text).toBe("terrain:grassyStartMessage");
+ });
+
+ it("should return the clear text", () => {
+ mockI18next();
+ const text = getTerrainClearMessage(terrainType);
+ expect(text).toBe("terrain:grassyClearMessage");
+ });
+
+ it("should return the block text", async () => {
+ await game.startBattle([Species.MAGIKARP]);
+ const pokemon = game.scene.getPlayerPokemon();
+ mockI18next();
+ const text = getTerrainBlockMessage(pokemon, terrainType);
+ expect(text).toBe("terrain:defaultBlockMessage");
+ });
+ });
+
+ describe("PSYCHIC", () => {
+ const terrainType = TerrainType.PSYCHIC;
+
+ it("should return the obtain text", () => {
+ mockI18next();
+
+ const text = getTerrainName(terrainType);
+ expect(text).toBe("terrain:psychic");
+ });
+
+ it("should return the start text", () => {
+ mockI18next();
+
+ const text = getTerrainStartMessage(terrainType);
+ expect(text).toBe("terrain:psychicStartMessage");
+ });
+
+ it("should return the clear text", () => {
+ mockI18next();
+ const text = getTerrainClearMessage(terrainType);
+ expect(text).toBe("terrain:psychicClearMessage");
+ });
+
+ it("should return the block text", async () => {
+ await game.startBattle([Species.MAGIKARP]);
+ const pokemon = game.scene.getPlayerPokemon();
+ mockI18next();
+ const text = getTerrainBlockMessage(pokemon, terrainType);
+ expect(text).toBe("terrain:defaultBlockMessage");
+ });
+ });
+
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ vi.resetAllMocks();
+ });
+});
diff --git a/src/test/moves/aurora_veil.test.ts b/src/test/moves/aurora_veil.test.ts
new file mode 100644
index 00000000000..e9c3d920717
--- /dev/null
+++ b/src/test/moves/aurora_veil.test.ts
@@ -0,0 +1,124 @@
+import {afterEach, beforeAll, beforeEach, describe, expect, it, vi} from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import {
+ TurnEndPhase,
+} from "#app/phases";
+import {getMovePosition} from "#app/test/utils/gameManagerUtils";
+import { Moves } from "#enums/moves";
+import { Species } from "#enums/species";
+import { Abilities } from "#app/enums/abilities.js";
+import Pokemon from "#app/field/pokemon.js";
+import Move, { allMoves } from "#app/data/move.js";
+import { NumberHolder } from "#app/utils.js";
+import { ArenaTagSide } from "#app/data/arena-tag.js";
+import { WeatherType } from "#app/data/weather.js";
+import { ArenaTagType } from "#app/enums/arena-tag-type.js";
+
+
+describe("Moves - Aurora Veil", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+ const singleBattleMultiplier = 0.5;
+ const doubleBattleMultiplier = 2732/4096;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.NONE);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.ABSORB, Moves.ROCK_SLIDE, Moves.TACKLE]);
+ vi.spyOn(overrides, "OPP_LEVEL_OVERRIDE", "get").mockReturnValue(100);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.MAGIKARP);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.AURORA_VEIL, Moves.AURORA_VEIL, Moves.AURORA_VEIL, Moves.AURORA_VEIL]);
+ vi.spyOn(overrides, "NEVER_CRIT_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "WEATHER_OVERRIDE", "get").mockReturnValue(WeatherType.HAIL);
+ });
+
+ it("reduces damage of physical attacks by half in a single battle", async() => {
+ const moveToUse = Moves.TACKLE;
+ await game.startBattle([Species.SHUCKLE]);
+
+ game.doAttack(getMovePosition(game.scene, 0, moveToUse));
+
+ await game.phaseInterceptor.to(TurnEndPhase);
+ const mockedDmg = getMockedMoveDamage(game.scene.getEnemyPokemon(), game.scene.getPlayerPokemon(), allMoves[moveToUse]);
+
+ expect(mockedDmg).toBe(allMoves[moveToUse].power * singleBattleMultiplier);
+ });
+
+ it("reduces damage of physical attacks by a third in a double battle", async() => {
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(false);
+ vi.spyOn(overrides, "DOUBLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+
+ const moveToUse = Moves.ROCK_SLIDE;
+ await game.startBattle([Species.SHUCKLE, Species.SHUCKLE]);
+
+ game.doAttack(getMovePosition(game.scene, 0, moveToUse));
+ game.doAttack(getMovePosition(game.scene, 1, moveToUse));
+
+ await game.phaseInterceptor.to(TurnEndPhase);
+ const mockedDmg = getMockedMoveDamage(game.scene.getEnemyPokemon(), game.scene.getPlayerPokemon(), allMoves[moveToUse]);
+
+ expect(mockedDmg).toBe(allMoves[moveToUse].power * doubleBattleMultiplier);
+ });
+
+ it("reduces damage of special attacks by half in a single battle", async() => {
+ const moveToUse = Moves.ABSORB;
+ await game.startBattle([Species.SHUCKLE]);
+
+ game.doAttack(getMovePosition(game.scene, 0, moveToUse));
+
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ const mockedDmg = getMockedMoveDamage(game.scene.getEnemyPokemon(), game.scene.getPlayerPokemon(), allMoves[moveToUse]);
+
+ expect(mockedDmg).toBe(allMoves[moveToUse].power * singleBattleMultiplier);
+ });
+
+ it("reduces damage of special attacks by a third in a double battle", async() => {
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(false);
+ vi.spyOn(overrides, "DOUBLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+
+ const moveToUse = Moves.DAZZLING_GLEAM;
+ await game.startBattle([Species.SHUCKLE, Species.SHUCKLE]);
+
+ game.doAttack(getMovePosition(game.scene, 0, moveToUse));
+ game.doAttack(getMovePosition(game.scene, 1, moveToUse));
+
+ await game.phaseInterceptor.to(TurnEndPhase);
+ const mockedDmg = getMockedMoveDamage(game.scene.getEnemyPokemon(), game.scene.getPlayerPokemon(), allMoves[moveToUse]);
+
+ expect(mockedDmg).toBe(allMoves[moveToUse].power * doubleBattleMultiplier);
+ });
+});
+
+/**
+ * Calculates the damage of a move multiplied by screen's multiplier, Auroa Veil in this case {@linkcode Moves.AURORA_VEIL}.
+ * Please note this does not consider other damage calculations except the screen multiplier.
+ *
+ * @param defender - The defending Pokémon.
+ * @param attacker - The attacking Pokémon.
+ * @param move - The move being used.
+ * @returns The calculated move damage considering any weakening effects.
+ */
+const getMockedMoveDamage = (defender: Pokemon, attacker: Pokemon, move: Move) => {
+ const multiplierHolder = new NumberHolder(1);
+ const side = defender.isPlayer() ? ArenaTagSide.PLAYER : ArenaTagSide.ENEMY;
+
+ if (defender.scene.arena.getTagOnSide(ArenaTagType.AURORA_VEIL, side)) {
+ defender.scene.arena.applyTagsForSide(ArenaTagType.AURORA_VEIL, side, move.category, defender.scene.currentBattle.double, multiplierHolder);
+ }
+
+ return move.power * multiplierHolder.value;
+};
diff --git a/src/test/moves/flower_shield.test.ts b/src/test/moves/flower_shield.test.ts
new file mode 100644
index 00000000000..f94af93fc66
--- /dev/null
+++ b/src/test/moves/flower_shield.test.ts
@@ -0,0 +1,120 @@
+import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import { Species } from "#enums/species";
+import {
+ TurnEndPhase,
+} from "#app/phases";
+import { Moves } from "#enums/moves";
+import { getMovePosition } from "#app/test/utils/gameManagerUtils";
+import { Abilities } from "#enums/abilities";
+import { BattleStat } from "#app/data/battle-stat.js";
+import { Biome } from "#app/enums/biome.js";
+import { Type } from "#app/data/type.js";
+import { SemiInvulnerableTag } from "#app/data/battler-tags.js";
+
+describe("Moves - Flower Shield", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.NONE);
+ vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.NONE);
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.FLOWER_SHIELD, Moves.SPLASH]);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH, Moves.SPLASH, Moves.SPLASH, Moves.SPLASH]);
+ });
+
+ it("increases defense of all Grass-type Pokemon on the field by one stage - single battle", async () => {
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.CHERRIM);
+
+ await game.startBattle([Species.MAGIKARP]);
+ const cherrim = game.scene.getEnemyPokemon();
+ const magikarp = game.scene.getPlayerPokemon();
+
+ expect(magikarp.summonData.battleStats[BattleStat.DEF]).toBe(0);
+ expect(cherrim.summonData.battleStats[BattleStat.DEF]).toBe(0);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.FLOWER_SHIELD));
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(magikarp.summonData.battleStats[BattleStat.DEF]).toBe(0);
+ expect(cherrim.summonData.battleStats[BattleStat.DEF]).toBe(1);
+ });
+
+ it("increases defense of all Grass-type Pokemon on the field by one stage - double battle", async () => {
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.MAGIKARP);
+ vi.spyOn(overrides, "STARTING_BIOME_OVERRIDE", "get").mockReturnValue(Biome.GRASS);
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(false);
+ vi.spyOn(overrides, "DOUBLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+
+ await game.startBattle([Species.CHERRIM, Species.MAGIKARP]);
+ const field = game.scene.getField(true);
+
+ const grassPokemons = field.filter(p => p.getTypes().includes(Type.GRASS));
+ const nonGrassPokemons = field.filter(pokemon => !grassPokemons.includes(pokemon));
+
+ grassPokemons.forEach(p => expect(p.summonData.battleStats[BattleStat.DEF]).toBe(0));
+ nonGrassPokemons.forEach(p => expect(p.summonData.battleStats[BattleStat.DEF]).toBe(0));
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.FLOWER_SHIELD));
+ game.doAttack(getMovePosition(game.scene, 1, Moves.SPLASH));
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ grassPokemons.forEach(p => expect(p.summonData.battleStats[BattleStat.DEF]).toBe(1));
+ nonGrassPokemons.forEach(p => expect(p.summonData.battleStats[BattleStat.DEF]).toBe(0));
+ });
+
+ /**
+ * See semi-vulnerable state tags. {@linkcode SemiInvulnerableTag}
+ */
+ it("does not increase defense of a pokemon in semi-vulnerable state", async () => {
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.PARAS);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.DIG, Moves.DIG, Moves.DIG, Moves.DIG]);
+ vi.spyOn(overrides, "OPP_LEVEL_OVERRIDE", "get").mockReturnValue(50);
+
+ await game.startBattle([Species.CHERRIM]);
+ const paras = game.scene.getEnemyPokemon();
+ const cherrim = game.scene.getPlayerPokemon();
+
+ expect(paras.summonData.battleStats[BattleStat.DEF]).toBe(0);
+ expect(cherrim.summonData.battleStats[BattleStat.DEF]).toBe(0);
+ expect(paras.getTag(SemiInvulnerableTag)).toBeUndefined;
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.FLOWER_SHIELD));
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(paras.getTag(SemiInvulnerableTag)).toBeDefined();
+ expect(paras.summonData.battleStats[BattleStat.DEF]).toBe(0);
+ expect(cherrim.summonData.battleStats[BattleStat.DEF]).toBe(1);
+ });
+
+ it("does nothing if there are no Grass-type pokemon on the field", async () => {
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.MAGIKARP);
+
+ await game.startBattle([Species.MAGIKARP]);
+ const enemy = game.scene.getEnemyPokemon();
+ const ally = game.scene.getPlayerPokemon();
+
+ expect(enemy.summonData.battleStats[BattleStat.DEF]).toBe(0);
+ expect(ally.summonData.battleStats[BattleStat.DEF]).toBe(0);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.FLOWER_SHIELD));
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(enemy.summonData.battleStats[BattleStat.DEF]).toBe(0);
+ expect(ally.summonData.battleStats[BattleStat.DEF]).toBe(0);
+ });
+});
diff --git a/src/test/moves/follow_me.test.ts b/src/test/moves/follow_me.test.ts
new file mode 100644
index 00000000000..f0b80ab90c0
--- /dev/null
+++ b/src/test/moves/follow_me.test.ts
@@ -0,0 +1,169 @@
+import {afterEach, beforeAll, beforeEach, describe, expect, test, vi} from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import {
+ CommandPhase,
+ SelectTargetPhase,
+ TurnEndPhase,
+} from "#app/phases";
+import {Stat} from "#app/data/pokemon-stat";
+import {getMovePosition} from "#app/test/utils/gameManagerUtils";
+import { Moves } from "#enums/moves";
+import { Species } from "#enums/species";
+import { BattlerIndex } from "#app/battle.js";
+import { Abilities } from "#app/enums/abilities.js";
+
+const TIMEOUT = 20 * 1000;
+
+describe("Moves - Follow Me", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ vi.spyOn(overrides, "DOUBLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "STARTER_SPECIES_OVERRIDE", "get").mockReturnValue(Species.AMOONGUSS);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.SNORLAX);
+ vi.spyOn(overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(100);
+ vi.spyOn(overrides, "OPP_LEVEL_OVERRIDE", "get").mockReturnValue(100);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([ Moves.FOLLOW_ME, Moves.RAGE_POWDER, Moves.SPOTLIGHT, Moves.QUICK_ATTACK ]);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE,Moves.TACKLE,Moves.TACKLE,Moves.TACKLE]);
+ });
+
+ test(
+ "move should redirect enemy attacks to the user",
+ async () => {
+ await game.startBattle([ Species.AMOONGUSS, Species.CHARIZARD ]);
+
+ const playerPokemon = game.scene.getPlayerField();
+ expect(playerPokemon.length).toBe(2);
+ playerPokemon.forEach(p => expect(p).not.toBe(undefined));
+
+ const enemyPokemon = game.scene.getEnemyField();
+ expect(enemyPokemon.length).toBe(2);
+ enemyPokemon.forEach(p => expect(p).not.toBe(undefined));
+
+ const playerStartingHp = playerPokemon.map(p => p.hp);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.FOLLOW_ME));
+ await game.phaseInterceptor.to(CommandPhase);
+
+ game.doAttack(getMovePosition(game.scene, 1, Moves.QUICK_ATTACK));
+ await game.phaseInterceptor.to(SelectTargetPhase, false);
+
+ game.doSelectTarget(BattlerIndex.ENEMY);
+ await game.phaseInterceptor.to(TurnEndPhase, false);
+
+ expect(playerPokemon[0].hp).toBeLessThan(playerStartingHp[0]);
+ expect(playerPokemon[1].hp).toBe(playerStartingHp[1]);
+ }, TIMEOUT
+ );
+
+ test(
+ "move should redirect enemy attacks to the first ally that uses it",
+ async () => {
+ await game.startBattle([ Species.AMOONGUSS, Species.CHARIZARD ]);
+
+ const playerPokemon = game.scene.getPlayerField();
+ expect(playerPokemon.length).toBe(2);
+ playerPokemon.forEach(p => expect(p).not.toBe(undefined));
+
+ const enemyPokemon = game.scene.getEnemyField();
+ expect(enemyPokemon.length).toBe(2);
+ enemyPokemon.forEach(p => expect(p).not.toBe(undefined));
+
+ const playerStartingHp = playerPokemon.map(p => p.hp);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.FOLLOW_ME));
+ await game.phaseInterceptor.to(CommandPhase);
+
+ game.doAttack(getMovePosition(game.scene, 1, Moves.FOLLOW_ME));
+ await game.phaseInterceptor.to(TurnEndPhase, false);
+
+ playerPokemon.sort((a, b) => a.getBattleStat(Stat.SPD) - b.getBattleStat(Stat.SPD));
+
+ expect(playerPokemon[1].hp).toBeLessThan(playerStartingHp[1]);
+ expect(playerPokemon[0].hp).toBe(playerStartingHp[0]);
+ }, TIMEOUT
+ );
+
+ test(
+ "move effect should be bypassed by Stalwart",
+ async () => {
+ vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.STALWART);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([ Moves.QUICK_ATTACK ]);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([ Moves.FOLLOW_ME, Moves.FOLLOW_ME, Moves.FOLLOW_ME, Moves.FOLLOW_ME ]);
+
+ await game.startBattle([ Species.AMOONGUSS, Species.CHARIZARD ]);
+
+ const playerPokemon = game.scene.getPlayerField();
+ expect(playerPokemon.length).toBe(2);
+ playerPokemon.forEach(p => expect(p).not.toBe(undefined));
+
+ const enemyPokemon = game.scene.getEnemyField();
+ expect(enemyPokemon.length).toBe(2);
+ enemyPokemon.forEach(p => expect(p).not.toBe(undefined));
+
+ const enemyStartingHp = enemyPokemon.map(p => p.hp);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.QUICK_ATTACK));
+ await game.phaseInterceptor.to(SelectTargetPhase, false);
+ game.doSelectTarget(BattlerIndex.ENEMY);
+ await game.phaseInterceptor.to(CommandPhase);
+
+ game.doAttack(getMovePosition(game.scene, 1, Moves.QUICK_ATTACK));
+ await game.phaseInterceptor.to(SelectTargetPhase, false);
+ game.doSelectTarget(BattlerIndex.ENEMY_2);
+ await game.phaseInterceptor.to(TurnEndPhase, false);
+
+ // If redirection was bypassed, both enemies should be damaged
+ expect(enemyPokemon[0].hp).toBeLessThan(enemyStartingHp[0]);
+ expect(enemyPokemon[1].hp).toBeLessThan(enemyStartingHp[1]);
+ }, TIMEOUT
+ );
+
+ test(
+ "move effect should be bypassed by Snipe Shot",
+ async () => {
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([ Moves.SNIPE_SHOT ]);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([ Moves.FOLLOW_ME, Moves.FOLLOW_ME, Moves.FOLLOW_ME, Moves.FOLLOW_ME ]);
+
+ await game.startBattle([ Species.AMOONGUSS, Species.CHARIZARD ]);
+
+ const playerPokemon = game.scene.getPlayerField();
+ expect(playerPokemon.length).toBe(2);
+ playerPokemon.forEach(p => expect(p).not.toBe(undefined));
+
+ const enemyPokemon = game.scene.getEnemyField();
+ expect(enemyPokemon.length).toBe(2);
+ enemyPokemon.forEach(p => expect(p).not.toBe(undefined));
+
+ const enemyStartingHp = enemyPokemon.map(p => p.hp);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.SNIPE_SHOT));
+ await game.phaseInterceptor.to(SelectTargetPhase, false);
+ game.doSelectTarget(BattlerIndex.ENEMY);
+ await game.phaseInterceptor.to(CommandPhase);
+
+ game.doAttack(getMovePosition(game.scene, 1, Moves.SNIPE_SHOT));
+ await game.phaseInterceptor.to(SelectTargetPhase, false);
+ game.doSelectTarget(BattlerIndex.ENEMY_2);
+ await game.phaseInterceptor.to(TurnEndPhase, false);
+
+ // If redirection was bypassed, both enemies should be damaged
+ expect(enemyPokemon[0].hp).toBeLessThan(enemyStartingHp[0]);
+ expect(enemyPokemon[1].hp).toBeLessThan(enemyStartingHp[1]);
+ }, TIMEOUT
+ );
+});
diff --git a/src/test/moves/gastro_acid.test.ts b/src/test/moves/gastro_acid.test.ts
new file mode 100644
index 00000000000..063a17aead9
--- /dev/null
+++ b/src/test/moves/gastro_acid.test.ts
@@ -0,0 +1,93 @@
+import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
+import GameManager from "../utils/gameManager";
+import {
+ Moves
+} from "#app/enums/moves.js";
+import * as overrides from "#app/overrides";
+import { Abilities } from "#app/enums/abilities.js";
+import { BattlerIndex } from "#app/battle.js";
+import { getMovePosition } from "../utils/gameManagerUtils";
+import { MoveResult } from "#app/field/pokemon.js";
+import { Stat } from "#app/data/pokemon-stat.js";
+import { Species } from "#app/enums/species.js";
+
+const TIMEOUT = 20 * 1000;
+
+describe("Moves - Gastro Acid", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ vi.spyOn(overrides, "DOUBLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(1);
+ vi.spyOn(overrides, "OPP_LEVEL_OVERRIDE", "get").mockReturnValue(100);
+ vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.NONE);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.GASTRO_ACID, Moves.WATER_GUN, Moves.SPLASH, Moves.CORE_ENFORCER]);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.BIDOOF);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH, Moves.SPLASH, Moves.SPLASH, Moves.SPLASH]);
+ vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.WATER_ABSORB);
+ });
+
+ it("suppresses effect of ability", async () => {
+ /*
+ * Expected flow (enemies have WATER ABSORD, can only use SPLASH)
+ * - player mon 1 uses GASTRO ACID, player mon 2 uses SPLASH
+ * - both player mons use WATER GUN on their respective enemy mon
+ * - player mon 1 should have dealt damage, player mon 2 should have not
+ */
+
+ await game.startBattle();
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.GASTRO_ACID));
+ game.doSelectTarget(BattlerIndex.ENEMY);
+ game.doAttack(getMovePosition(game.scene, 0, Moves.SPLASH));
+ game.doSelectTarget(BattlerIndex.PLAYER_2);
+
+ await game.phaseInterceptor.to("TurnInitPhase");
+
+ const enemyField = game.scene.getEnemyField();
+ expect(enemyField[0].summonData.abilitySuppressed).toBe(true);
+ expect(enemyField[1].summonData.abilitySuppressed).toBe(false);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.WATER_GUN));
+ game.doSelectTarget(BattlerIndex.ENEMY);
+ game.doAttack(getMovePosition(game.scene, 0, Moves.WATER_GUN));
+ game.doSelectTarget(BattlerIndex.ENEMY_2);
+
+ await game.phaseInterceptor.to("TurnEndPhase");
+
+ expect(enemyField[0].hp).toBeLessThan(enemyField[0].getMaxHp());
+ expect(enemyField[1].hp).toBe(enemyField[1].getMaxHp());
+ }, TIMEOUT);
+
+ it("fails if used on an enemy with an already-suppressed ability", async () => {
+ vi.spyOn(overrides, "DOUBLE_BATTLE_OVERRIDE", "get").mockReturnValue(false);
+
+ await game.startBattle();
+
+ // Force player to be slower to enable Core Enforcer to proc its suppression effect
+ game.scene.getPlayerPokemon().stats[Stat.SPD] = 1;
+ game.scene.getEnemyPokemon().stats[Stat.SPD] = 2;
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.CORE_ENFORCER));
+
+ await game.phaseInterceptor.to("TurnInitPhase");
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.GASTRO_ACID));
+
+ await game.phaseInterceptor.to("TurnInitPhase");
+
+ expect(game.scene.getPlayerPokemon().getLastXMoves()[0].result).toBe(MoveResult.FAIL);
+ }, TIMEOUT);
+});
diff --git a/src/test/moves/growth.test.ts b/src/test/moves/growth.test.ts
new file mode 100644
index 00000000000..4e5add26207
--- /dev/null
+++ b/src/test/moves/growth.test.ts
@@ -0,0 +1,69 @@
+import {afterEach, beforeAll, beforeEach, describe, expect, it, vi} from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import {
+ CommandPhase,
+ EnemyCommandPhase,
+ TurnInitPhase,
+} from "#app/phases";
+import {Mode} from "#app/ui/ui";
+import {Stat} from "#app/data/pokemon-stat";
+import {getMovePosition} from "#app/test/utils/gameManagerUtils";
+import {Command} from "#app/ui/command-ui-handler";
+import {BattleStat} from "#app/data/battle-stat";
+import { Abilities } from "#enums/abilities";
+import { Moves } from "#enums/moves";
+import { Species } from "#enums/species";
+
+
+describe("Moves - Growth", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ const moveToUse = Moves.GROWTH;
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.RATTATA);
+ vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.MOXIE);
+ vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.INSOMNIA);
+ vi.spyOn(overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(2000);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([moveToUse]);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE,Moves.TACKLE,Moves.TACKLE,Moves.TACKLE]);
+ });
+
+ it("GROWTH", async() => {
+ const moveToUse = Moves.GROWTH;
+ await game.startBattle([
+ Species.MIGHTYENA,
+ Species.MIGHTYENA,
+ ]);
+ let battleStatsPokemon = game.scene.getParty()[0].summonData.battleStats;
+ expect(battleStatsPokemon[Stat.SPATK]).toBe(0);
+
+ const battleStatsOpponent = game.scene.currentBattle.enemyParty[0].summonData.battleStats;
+ expect(battleStatsOpponent[BattleStat.SPATK]).toBe(0);
+
+ game.onNextPrompt("CommandPhase", Mode.COMMAND, () => {
+ game.scene.ui.setMode(Mode.FIGHT, (game.scene.getCurrentPhase() as CommandPhase).getFieldIndex());
+ });
+ game.onNextPrompt("CommandPhase", Mode.FIGHT, () => {
+ const movePosition = getMovePosition(game.scene, 0, moveToUse);
+ (game.scene.getCurrentPhase() as CommandPhase).handleCommand(Command.FIGHT, movePosition, false);
+ });
+ await game.phaseInterceptor.runFrom(EnemyCommandPhase).to(TurnInitPhase);
+ battleStatsPokemon = game.scene.getParty()[0].summonData.battleStats;
+ expect(battleStatsPokemon[BattleStat.SPATK]).toBe(1);
+ }, 20000);
+});
diff --git a/src/test/moves/hard_press.test.ts b/src/test/moves/hard_press.test.ts
new file mode 100644
index 00000000000..c6f071a699f
--- /dev/null
+++ b/src/test/moves/hard_press.test.ts
@@ -0,0 +1,83 @@
+import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import { Species } from "#enums/species";
+import {
+ MoveEffectPhase,
+} from "#app/phases";
+import { Moves } from "#enums/moves";
+import { getMovePosition } from "#app/test/utils/gameManagerUtils";
+import { Abilities } from "#enums/abilities";
+import { NumberHolder } from "#app/utils.js";
+import Move from "#app/data/move.js";
+import Pokemon from "#app/field/pokemon.js";
+import { allMoves, OpponentHighHpPowerAttr } from "#app/data/move.js";
+
+describe("Moves - Hard Press", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.SNORLAX);
+ vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.NONE);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.HARD_PRESS]);
+ });
+
+ it("power varies between 1 and 100, and is greater the more HP the target has", async () => {
+ await game.startBattle([Species.GRAVELER]);
+ const moveToBeUsed = allMoves[Moves.HARD_PRESS];
+
+ game.doAttack(getMovePosition(game.scene, 0, moveToBeUsed));
+ await game.phaseInterceptor.to(MoveEffectPhase);
+
+ const enemy = game.scene.getEnemyPokemon();
+ const movePower = getMockedMovePower(enemy, game.scene.getPlayerPokemon(), moveToBeUsed);
+ const moveMaxBasePower = getMoveMaxBasePower(moveToBeUsed);
+
+ expect(movePower).toBe(moveMaxBasePower * enemy.getHpRatio());
+ });
+});
+
+/**
+ * Calculates the mocked move power based on the attributes of the move and the opponent's high HP.
+ *
+ * @param defender - The defending Pokémon.
+ * @param attacker - The attacking Pokémon.
+ * @param move - The move being used.
+ * @returns The calculated move power.
+ */
+const getMockedMovePower = (defender: Pokemon, attacker: Pokemon, move: Move) => {
+ const powerHolder = new NumberHolder(move.power);
+
+ if (move.hasAttr(OpponentHighHpPowerAttr)) {
+ const attr = move.getAttrs(OpponentHighHpPowerAttr);
+ attr[0].apply(attacker, defender, move, [ powerHolder ]);
+ }
+
+ return powerHolder.value;
+};
+
+/**
+ * Retrieves the maximum base power of a move based on its attributes.
+ *
+ * @param move - The move which maximum base power is being retrieved.
+ * @returns The maximum base power of the move.
+ */
+const getMoveMaxBasePower = (move: Move) => {
+ const attr = move.getAttrs(OpponentHighHpPowerAttr);
+
+ return (attr[0] as OpponentHighHpPowerAttr)["maxBasePower"];
+};
diff --git a/src/test/moves/light_screen.test.ts b/src/test/moves/light_screen.test.ts
new file mode 100644
index 00000000000..30a27ce4412
--- /dev/null
+++ b/src/test/moves/light_screen.test.ts
@@ -0,0 +1,106 @@
+import {afterEach, beforeAll, beforeEach, describe, expect, it, vi} from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import {
+ TurnEndPhase,
+} from "#app/phases";
+import {getMovePosition} from "#app/test/utils/gameManagerUtils";
+import { Moves } from "#enums/moves";
+import { Species } from "#enums/species";
+import { Abilities } from "#app/enums/abilities.js";
+import Pokemon from "#app/field/pokemon.js";
+import Move, { allMoves } from "#app/data/move.js";
+import { NumberHolder } from "#app/utils.js";
+import { ArenaTagSide } from "#app/data/arena-tag.js";
+import { ArenaTagType } from "#app/enums/arena-tag-type.js";
+
+
+describe("Moves - Light Screen", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+ const singleBattleMultiplier = 0.5;
+ const doubleBattleMultiplier = 2732/4096;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.NONE);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.ABSORB, Moves.DAZZLING_GLEAM, Moves.TACKLE]);
+ vi.spyOn(overrides, "OPP_LEVEL_OVERRIDE", "get").mockReturnValue(100);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.MAGIKARP);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.LIGHT_SCREEN, Moves.LIGHT_SCREEN, Moves.LIGHT_SCREEN, Moves.LIGHT_SCREEN]);
+ vi.spyOn(overrides, "NEVER_CRIT_OVERRIDE", "get").mockReturnValue(true);
+ });
+
+ it("reduces damage of special attacks by half in a single battle", async() => {
+ const moveToUse = Moves.ABSORB;
+ await game.startBattle([Species.SHUCKLE]);
+
+ game.doAttack(getMovePosition(game.scene, 0, moveToUse));
+
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ const mockedDmg = getMockedMoveDamage(game.scene.getEnemyPokemon(), game.scene.getPlayerPokemon(), allMoves[moveToUse]);
+
+ expect(mockedDmg).toBe(allMoves[moveToUse].power * singleBattleMultiplier);
+ });
+
+ it("reduces damage of special attacks by a third in a double battle", async() => {
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(false);
+ vi.spyOn(overrides, "DOUBLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+
+ const moveToUse = Moves.DAZZLING_GLEAM;
+ await game.startBattle([Species.SHUCKLE, Species.SHUCKLE]);
+
+ game.doAttack(getMovePosition(game.scene, 0, moveToUse));
+ game.doAttack(getMovePosition(game.scene, 1, moveToUse));
+
+ await game.phaseInterceptor.to(TurnEndPhase);
+ const mockedDmg = getMockedMoveDamage(game.scene.getEnemyPokemon(), game.scene.getPlayerPokemon(), allMoves[moveToUse]);
+
+ expect(mockedDmg).toBe(allMoves[moveToUse].power * doubleBattleMultiplier);
+ });
+
+ it("does not affect physical attacks", async() => {
+ const moveToUse = Moves.TACKLE;
+ await game.startBattle([Species.SHUCKLE]);
+
+ game.doAttack(getMovePosition(game.scene, 0, moveToUse));
+
+ await game.phaseInterceptor.to(TurnEndPhase);
+ const mockedDmg = getMockedMoveDamage(game.scene.getEnemyPokemon(), game.scene.getPlayerPokemon(), allMoves[moveToUse]);
+
+ expect(mockedDmg).toBe(allMoves[moveToUse].power);
+ });
+});
+
+/**
+ * Calculates the damage of a move multiplied by screen's multiplier, Light Screen in this case {@linkcode Moves.LIGHT_SCREEN}.
+ * Please note this does not consider other damage calculations except the screen multiplier.
+ *
+ * @param defender - The defending Pokémon.
+ * @param attacker - The attacking Pokémon.
+ * @param move - The move being used.
+ * @returns The calculated move damage considering any weakening effects.
+ */
+const getMockedMoveDamage = (defender: Pokemon, attacker: Pokemon, move: Move) => {
+ const multiplierHolder = new NumberHolder(1);
+ const side = defender.isPlayer() ? ArenaTagSide.PLAYER : ArenaTagSide.ENEMY;
+
+ if (defender.scene.arena.getTagOnSide(ArenaTagType.LIGHT_SCREEN, side)) {
+ defender.scene.arena.applyTagsForSide(ArenaTagType.LIGHT_SCREEN, side, move.category, defender.scene.currentBattle.double, multiplierHolder);
+ }
+
+ return move.power * multiplierHolder.value;
+};
diff --git a/src/test/moves/magnet_rise.test.ts b/src/test/moves/magnet_rise.test.ts
new file mode 100644
index 00000000000..7ed5b84654c
--- /dev/null
+++ b/src/test/moves/magnet_rise.test.ts
@@ -0,0 +1,61 @@
+import {beforeAll, afterEach, beforeEach, describe, vi, it, expect} from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import {Moves} from "#enums/moves";
+import {Species} from "#enums/species";
+import {CommandPhase, TurnEndPhase} from "#app/phases.js";
+
+describe("Moves - Magnet Rise", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ const moveToUse = Moves.MAGNET_RISE;
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "STARTER_SPECIES_OVERRIDE", "get").mockReturnValue(Species.MAGNEZONE);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.RATTATA);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.DRILL_RUN, Moves.DRILL_RUN, Moves.DRILL_RUN, Moves.DRILL_RUN]);
+ vi.spyOn(overrides, "NEVER_CRIT_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "OPP_LEVEL_OVERRIDE", "get").mockReturnValue(1);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([moveToUse, Moves.SPLASH, Moves.GRAVITY, Moves.BATON_PASS]);
+ });
+
+ it("MAGNET RISE", async () => {
+ await game.startBattle();
+
+ const startingHp = game.scene.getParty()[0].hp;
+ game.doAttack(0);
+ await game.phaseInterceptor.to(TurnEndPhase);
+ const finalHp = game.scene.getParty()[0].hp;
+ const hpLost = finalHp - startingHp;
+ expect(hpLost).toBe(0);
+ }, 20000);
+
+ it("MAGNET RISE - Gravity", async () => {
+ await game.startBattle();
+
+ const startingHp = game.scene.getParty()[0].hp;
+ game.doAttack(0);
+ await game.phaseInterceptor.to(CommandPhase);
+ let finalHp = game.scene.getParty()[0].hp;
+ let hpLost = finalHp - startingHp;
+ expect(hpLost).toBe(0);
+ game.doAttack(2);
+ await game.phaseInterceptor.to(TurnEndPhase);
+ finalHp = game.scene.getParty()[0].hp;
+ hpLost = finalHp - startingHp;
+ expect(hpLost).not.toBe(0);
+ }, 20000);
+});
diff --git a/src/test/moves/make_it_rain.test.ts b/src/test/moves/make_it_rain.test.ts
new file mode 100644
index 00000000000..a700ff10aae
--- /dev/null
+++ b/src/test/moves/make_it_rain.test.ts
@@ -0,0 +1,106 @@
+import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import { Species } from "#enums/species";
+import {
+ CommandPhase,
+ MoveEndPhase,
+ StatChangePhase,
+} from "#app/phases";
+import { Moves } from "#enums/moves";
+import { getMovePosition } from "#app/test/utils/gameManagerUtils";
+import { Abilities } from "#enums/abilities";
+import { BattleStat } from "#app/data/battle-stat.js";
+
+const TIMEOUT = 20 * 1000;
+
+describe("Moves - Make It Rain", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ vi.spyOn(overrides, "DOUBLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.MAKE_IT_RAIN, Moves.SPLASH]);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.SNORLAX);
+ vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.INSOMNIA);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH, Moves.SPLASH, Moves.SPLASH, Moves.SPLASH]);
+ vi.spyOn(overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(100);
+ vi.spyOn(overrides, "OPP_LEVEL_OVERRIDE", "get").mockReturnValue(100);
+ });
+
+ it("should only reduce Sp. Atk. once in a double battle", async () => {
+ await game.startBattle([Species.CHARIZARD, Species.BLASTOISE]);
+
+ const playerPokemon = game.scene.getPlayerField();
+ expect(playerPokemon.length).toBe(2);
+ playerPokemon.forEach(p => expect(p).toBeDefined());
+
+ const enemyPokemon = game.scene.getEnemyField();
+ expect(enemyPokemon.length).toBe(2);
+ enemyPokemon.forEach(p => expect(p).toBeDefined());
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.MAKE_IT_RAIN));
+
+ await game.phaseInterceptor.to(CommandPhase);
+ game.doAttack(getMovePosition(game.scene, 1, Moves.SPLASH));
+
+ await game.phaseInterceptor.to(MoveEndPhase);
+
+ expect(playerPokemon[0].summonData.battleStats[BattleStat.SPATK]).toBe(-1);
+ }, TIMEOUT);
+
+ it("should apply effects even if the target faints", async () => {
+ vi.spyOn(overrides, "OPP_LEVEL_OVERRIDE", "get").mockReturnValue(1); // ensures the enemy will faint
+ vi.spyOn(overrides, "DOUBLE_BATTLE_OVERRIDE", "get").mockReturnValue(false);
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+
+ await game.startBattle([Species.CHARIZARD]);
+
+ const playerPokemon = game.scene.getPlayerPokemon();
+ expect(playerPokemon).toBeDefined();
+
+ const enemyPokemon = game.scene.getEnemyPokemon();
+ expect(enemyPokemon).toBeDefined();
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.MAKE_IT_RAIN));
+
+ await game.phaseInterceptor.to(StatChangePhase);
+
+ expect(enemyPokemon.isFainted()).toBe(true);
+ expect(playerPokemon.summonData.battleStats[BattleStat.SPATK]).toBe(-1);
+ }, TIMEOUT);
+
+ it("should reduce Sp. Atk. once after KOing two enemies", async () => {
+ vi.spyOn(overrides, "OPP_LEVEL_OVERRIDE", "get").mockReturnValue(1); // ensures the enemy will faint
+
+ await game.startBattle([Species.CHARIZARD, Species.BLASTOISE]);
+
+ const playerPokemon = game.scene.getPlayerField();
+ playerPokemon.forEach(p => expect(p).toBeDefined());
+
+ const enemyPokemon = game.scene.getEnemyField();
+ enemyPokemon.forEach(p => expect(p).toBeDefined());
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.MAKE_IT_RAIN));
+
+ await game.phaseInterceptor.to(CommandPhase);
+ game.doAttack(getMovePosition(game.scene, 1, Moves.SPLASH));
+
+ await game.phaseInterceptor.to(StatChangePhase);
+
+ enemyPokemon.forEach(p => expect(p.isFainted()).toBe(true));
+ expect(playerPokemon[0].summonData.battleStats[BattleStat.SPATK]).toBe(-1);
+ }, TIMEOUT);
+});
diff --git a/src/test/moves/purify.test.ts b/src/test/moves/purify.test.ts
new file mode 100644
index 00000000000..21ebb3d5515
--- /dev/null
+++ b/src/test/moves/purify.test.ts
@@ -0,0 +1,81 @@
+import {afterEach, beforeAll, beforeEach, describe, expect, test, vi} from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import {
+ MoveEndPhase,
+} from "#app/phases";
+import {getMovePosition} from "#app/test/utils/gameManagerUtils";
+import { Moves } from "#enums/moves";
+import { Species } from "#enums/species";
+import { EnemyPokemon, PlayerPokemon } from "#app/field/pokemon.js";
+import { Status, StatusEffect } from "#app/data/status-effect.js";
+
+const TIMEOUT = 20 * 1000;
+
+describe("Moves - Purify", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+
+ vi.spyOn(overrides, "STARTER_SPECIES_OVERRIDE", "get").mockReturnValue(Species.PYUKUMUKU);
+ vi.spyOn(overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(10);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.PURIFY, Moves.SIZZLY_SLIDE]);
+
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.MAGIKARP);
+ vi.spyOn(overrides, "OPP_LEVEL_OVERRIDE", "get").mockReturnValue(10);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH, Moves.NONE, Moves.NONE, Moves.NONE]);
+ });
+
+ test(
+ "Purify heals opponent status effect and restores user hp",
+ async () => {
+ await game.startBattle();
+
+ const enemyPokemon: EnemyPokemon = game.scene.getEnemyPokemon();
+ const playerPokemon: PlayerPokemon = game.scene.getPlayerPokemon();
+
+ playerPokemon.hp = playerPokemon.getMaxHp() - 1;
+ enemyPokemon.status = new Status(StatusEffect.BURN);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.PURIFY));
+ await game.phaseInterceptor.to(MoveEndPhase);
+
+ expect(enemyPokemon.status).toBe(undefined);
+ expect(playerPokemon.hp).toBe(playerPokemon.getMaxHp());
+ },
+ TIMEOUT
+ );
+
+ test(
+ "Purify does not heal if opponent doesnt have any status effect",
+ async () => {
+ await game.startBattle();
+
+ const playerPokemon: PlayerPokemon = game.scene.getPlayerPokemon();
+
+ playerPokemon.hp = playerPokemon.getMaxHp() - 1;
+ const playerInitialHp = playerPokemon.hp;
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.PURIFY));
+ await game.phaseInterceptor.to(MoveEndPhase);
+
+ expect(playerPokemon.hp).toBe(playerInitialHp);
+ },
+ TIMEOUT
+ );
+
+});
diff --git a/src/test/moves/rage_powder.test.ts b/src/test/moves/rage_powder.test.ts
new file mode 100644
index 00000000000..1116810f743
--- /dev/null
+++ b/src/test/moves/rage_powder.test.ts
@@ -0,0 +1,110 @@
+import {afterEach, beforeAll, beforeEach, describe, expect, test, vi} from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import {
+ CommandPhase,
+ SelectTargetPhase,
+ TurnEndPhase,
+} from "#app/phases";
+import {getMovePosition} from "#app/test/utils/gameManagerUtils";
+import { Abilities } from "#enums/abilities";
+import { Moves } from "#enums/moves";
+import { Species } from "#enums/species";
+import { BattlerIndex } from "#app/battle.js";
+
+const TIMEOUT = 20 * 1000;
+
+describe("Moves - Rage Powder", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ vi.spyOn(overrides, "DOUBLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "STARTER_SPECIES_OVERRIDE", "get").mockReturnValue(Species.AMOONGUSS);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.SNORLAX);
+ vi.spyOn(overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(100);
+ vi.spyOn(overrides, "OPP_LEVEL_OVERRIDE", "get").mockReturnValue(100);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([ Moves.FOLLOW_ME, Moves.RAGE_POWDER, Moves.SPOTLIGHT, Moves.QUICK_ATTACK ]);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE,Moves.TACKLE,Moves.TACKLE,Moves.TACKLE]);
+ });
+
+ test(
+ "move effect should be bypassed by Grass type",
+ async () => {
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([ Moves.RAGE_POWDER, Moves.RAGE_POWDER, Moves.RAGE_POWDER, Moves.RAGE_POWDER ]);
+
+ await game.startBattle([ Species.AMOONGUSS, Species.VENUSAUR ]);
+
+ const playerPokemon = game.scene.getPlayerField();
+ expect(playerPokemon.length).toBe(2);
+ playerPokemon.forEach(p => expect(p).not.toBe(undefined));
+
+ const enemyPokemon = game.scene.getEnemyField();
+ expect(enemyPokemon.length).toBe(2);
+ enemyPokemon.forEach(p => expect(p).not.toBe(undefined));
+
+ const enemyStartingHp = enemyPokemon.map(p => p.hp);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.QUICK_ATTACK));
+ await game.phaseInterceptor.to(SelectTargetPhase, false);
+ game.doSelectTarget(BattlerIndex.ENEMY);
+ await game.phaseInterceptor.to(CommandPhase);
+
+ game.doAttack(getMovePosition(game.scene, 1, Moves.QUICK_ATTACK));
+ await game.phaseInterceptor.to(SelectTargetPhase, false);
+ game.doSelectTarget(BattlerIndex.ENEMY_2);
+ await game.phaseInterceptor.to(TurnEndPhase, false);
+
+ // If redirection was bypassed, both enemies should be damaged
+ expect(enemyPokemon[0].hp).toBeLessThan(enemyStartingHp[0]);
+ expect(enemyPokemon[1].hp).toBeLessThan(enemyStartingHp[1]);
+ }, TIMEOUT
+ );
+
+ test(
+ "move effect should be bypassed by Overcoat",
+ async () => {
+ vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.OVERCOAT);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([ Moves.RAGE_POWDER, Moves.RAGE_POWDER, Moves.RAGE_POWDER, Moves.RAGE_POWDER ]);
+
+ // Test with two non-Grass type player Pokemon
+ await game.startBattle([ Species.BLASTOISE, Species.CHARIZARD ]);
+
+ const playerPokemon = game.scene.getPlayerField();
+ expect(playerPokemon.length).toBe(2);
+ playerPokemon.forEach(p => expect(p).not.toBe(undefined));
+
+ const enemyPokemon = game.scene.getEnemyField();
+ expect(enemyPokemon.length).toBe(2);
+ enemyPokemon.forEach(p => expect(p).not.toBe(undefined));
+
+ const enemyStartingHp = enemyPokemon.map(p => p.hp);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.QUICK_ATTACK));
+ await game.phaseInterceptor.to(SelectTargetPhase, false);
+ game.doSelectTarget(BattlerIndex.ENEMY);
+ await game.phaseInterceptor.to(CommandPhase);
+
+ game.doAttack(getMovePosition(game.scene, 1, Moves.QUICK_ATTACK));
+ await game.phaseInterceptor.to(SelectTargetPhase, false);
+ game.doSelectTarget(BattlerIndex.ENEMY_2);
+ await game.phaseInterceptor.to(TurnEndPhase, false);
+
+ // If redirection was bypassed, both enemies should be damaged
+ expect(enemyPokemon[0].hp).toBeLessThan(enemyStartingHp[0]);
+ expect(enemyPokemon[1].hp).toBeLessThan(enemyStartingHp[1]);
+ }, TIMEOUT
+ );
+});
diff --git a/src/test/moves/reflect.test.ts b/src/test/moves/reflect.test.ts
new file mode 100644
index 00000000000..00fb9a69f2f
--- /dev/null
+++ b/src/test/moves/reflect.test.ts
@@ -0,0 +1,106 @@
+import {afterEach, beforeAll, beforeEach, describe, expect, it, vi} from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import {
+ TurnEndPhase,
+} from "#app/phases";
+import {getMovePosition} from "#app/test/utils/gameManagerUtils";
+import { Moves } from "#enums/moves";
+import { Species } from "#enums/species";
+import { Abilities } from "#app/enums/abilities.js";
+import Pokemon from "#app/field/pokemon.js";
+import Move, { allMoves } from "#app/data/move.js";
+import { NumberHolder } from "#app/utils.js";
+import { ArenaTagSide } from "#app/data/arena-tag.js";
+import { ArenaTagType } from "#app/enums/arena-tag-type.js";
+
+
+describe("Moves - Reflect", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+ const singleBattleMultiplier = 0.5;
+ const doubleBattleMultiplier = 2732/4096;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.NONE);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.ABSORB, Moves.ROCK_SLIDE, Moves.TACKLE]);
+ vi.spyOn(overrides, "OPP_LEVEL_OVERRIDE", "get").mockReturnValue(100);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.MAGIKARP);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.REFLECT, Moves.REFLECT, Moves.REFLECT, Moves.REFLECT]);
+ vi.spyOn(overrides, "NEVER_CRIT_OVERRIDE", "get").mockReturnValue(true);
+ });
+
+ it("reduces damage of physical attacks by half in a single battle", async() => {
+ const moveToUse = Moves.TACKLE;
+ await game.startBattle([Species.SHUCKLE]);
+
+ game.doAttack(getMovePosition(game.scene, 0, moveToUse));
+
+ await game.phaseInterceptor.to(TurnEndPhase);
+ const mockedDmg = getMockedMoveDamage(game.scene.getEnemyPokemon(), game.scene.getPlayerPokemon(), allMoves[moveToUse]);
+
+ expect(mockedDmg).toBe(allMoves[moveToUse].power * singleBattleMultiplier);
+ });
+
+ it("reduces damage of physical attacks by a third in a double battle", async() => {
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(false);
+ vi.spyOn(overrides, "DOUBLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+
+ const moveToUse = Moves.ROCK_SLIDE;
+ await game.startBattle([Species.SHUCKLE, Species.SHUCKLE]);
+
+ game.doAttack(getMovePosition(game.scene, 0, moveToUse));
+ game.doAttack(getMovePosition(game.scene, 1, moveToUse));
+
+ await game.phaseInterceptor.to(TurnEndPhase);
+ const mockedDmg = getMockedMoveDamage(game.scene.getEnemyPokemon(), game.scene.getPlayerPokemon(), allMoves[moveToUse]);
+
+ expect(mockedDmg).toBe(allMoves[moveToUse].power * doubleBattleMultiplier);
+ });
+
+ it("does not affect special attacks", async() => {
+ const moveToUse = Moves.ABSORB;
+ await game.startBattle([Species.SHUCKLE]);
+
+ game.doAttack(getMovePosition(game.scene, 0, moveToUse));
+
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ const mockedDmg = getMockedMoveDamage(game.scene.getEnemyPokemon(), game.scene.getPlayerPokemon(), allMoves[moveToUse]);
+
+ expect(mockedDmg).toBe(allMoves[moveToUse].power);
+ });
+});
+
+/**
+ * Calculates the damage of a move multiplied by screen's multiplier, Reflect in this case {@linkcode Moves.REFLECT}.
+ * Please note this does not consider other damage calculations except the screen multiplier.
+ *
+ * @param defender - The defending Pokémon.
+ * @param attacker - The attacking Pokémon.
+ * @param move - The move being used.
+ * @returns The calculated move damage considering any weakening effects.
+ */
+const getMockedMoveDamage = (defender: Pokemon, attacker: Pokemon, move: Move) => {
+ const multiplierHolder = new NumberHolder(1);
+ const side = defender.isPlayer() ? ArenaTagSide.PLAYER : ArenaTagSide.ENEMY;
+
+ if (defender.scene.arena.getTagOnSide(ArenaTagType.REFLECT, side)) {
+ defender.scene.arena.applyTagsForSide(ArenaTagType.REFLECT, side, move.category, defender.scene.currentBattle.double, multiplierHolder);
+ }
+
+ return move.power * multiplierHolder.value;
+};
diff --git a/src/test/moves/roost.test.ts b/src/test/moves/roost.test.ts
new file mode 100644
index 00000000000..db9363313a1
--- /dev/null
+++ b/src/test/moves/roost.test.ts
@@ -0,0 +1,64 @@
+import {afterEach, beforeAll, beforeEach, describe, expect, test, vi} from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import { Species } from "#app/enums/species.js";
+import { Moves } from "#app/enums/moves.js";
+import { getMovePosition } from "../utils/gameManagerUtils";
+import { MoveEffectPhase, TurnEndPhase } from "#app/phases.js";
+import { BattlerTagType } from "#app/enums/battler-tag-type.js";
+import { Abilities } from "#app/enums/abilities.js";
+
+const TIMEOUT = 20 * 1000;
+
+describe("Moves - Roost", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.STARAPTOR);
+ vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.INSOMNIA);
+ vi.spyOn(overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(100);
+ vi.spyOn(overrides, "OPP_LEVEL_OVERRIDE", "get").mockReturnValue(100);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([ Moves.STOMPING_TANTRUM ]);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.ROOST,Moves.ROOST,Moves.ROOST,Moves.ROOST]);
+ });
+
+ test(
+ "move should ground the user until the end of turn",
+ async () => {
+ await game.startBattle([Species.MAGIKARP]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).toBeDefined();
+
+ const enemyPokemon = game.scene.getEnemyPokemon();
+ expect(enemyPokemon).toBeDefined();
+
+ const enemyStartingHp = enemyPokemon.hp;
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.STOMPING_TANTRUM));
+
+ await game.phaseInterceptor.to(MoveEffectPhase);
+
+ expect(enemyPokemon.getTag(BattlerTagType.ROOSTED)).toBeDefined();
+
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(enemyPokemon.hp).toBeLessThan(enemyStartingHp);
+ expect(enemyPokemon.getTag(BattlerTagType.ROOSTED)).toBeUndefined();
+ }, TIMEOUT
+ );
+});
diff --git a/src/test/moves/spikes.test.ts b/src/test/moves/spikes.test.ts
new file mode 100644
index 00000000000..0544442f31e
--- /dev/null
+++ b/src/test/moves/spikes.test.ts
@@ -0,0 +1,128 @@
+import {afterEach, beforeAll, beforeEach, describe, expect, it, vi} from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import {
+ CommandPhase
+} from "#app/phases";
+import { Abilities } from "#enums/abilities";
+import { Moves } from "#enums/moves";
+import { Species } from "#enums/species";
+
+
+describe("Moves - Spikes", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ game.scene.battleStyle = 1;
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.RATTATA);
+ vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.HYDRATION);
+ vi.spyOn(overrides, "OPP_PASSIVE_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.HYDRATION);
+ vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.HYDRATION);
+ vi.spyOn(overrides, "PASSIVE_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.HYDRATION);
+ vi.spyOn(overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(3);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH,Moves.SPLASH,Moves.SPLASH,Moves.SPLASH]);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPIKES,Moves.SPLASH, Moves.ROAR]);
+ });
+
+ it("single - wild - stay on field - no damage", async() => {
+ // player set spikes on the field and do splash for 3 turns
+ // opponent do splash for 4 turns
+ // nobody should take damage
+ await game.runToSummon([
+ Species.MIGHTYENA,
+ Species.POOCHYENA,
+ ]);
+ await game.phaseInterceptor.to(CommandPhase, true);
+ const initialHp = game.scene.getParty()[0].hp;
+ expect(game.scene.getParty()[0].hp).toBe(initialHp);
+ game.doAttack(0);
+ await game.toNextTurn();
+ game.doAttack(1);
+ await game.toNextTurn();
+ game.doAttack(1);
+ await game.toNextTurn();
+ game.doAttack(1);
+ await game.toNextTurn();
+ game.doAttack(1);
+ await game.toNextTurn();
+ expect(game.scene.getParty()[0].hp).toBe(initialHp);
+ console.log(game.textInterceptor.logs);
+ }, 20000);
+
+ it("single - wild - take some damage", async() => {
+ // player set spikes on the field and switch back to back
+ // opponent do splash for 2 turns
+ // nobody should take damage
+ await game.runToSummon([
+ Species.MIGHTYENA,
+ Species.POOCHYENA,
+ ]);
+ await game.phaseInterceptor.to(CommandPhase, false);
+
+ const initialHp = game.scene.getParty()[0].hp;
+ game.doSwitchPokemon(1);
+ await game.phaseInterceptor.run(CommandPhase);
+ await game.phaseInterceptor.to(CommandPhase, false);
+
+ game.doSwitchPokemon(1);
+ await game.phaseInterceptor.run(CommandPhase);
+ await game.phaseInterceptor.to(CommandPhase, false);
+
+ expect(game.scene.getParty()[0].hp).toBe(initialHp);
+ }, 20000);
+
+ it("trainer - wild - force switch opponent - should take damage", async() => {
+ vi.spyOn(overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(5);
+ // player set spikes on the field and do splash for 3 turns
+ // opponent do splash for 4 turns
+ // nobody should take damage
+ await game.runToSummon([
+ Species.MIGHTYENA,
+ Species.POOCHYENA,
+ ]);
+ await game.phaseInterceptor.to(CommandPhase, true);
+ const initialHpOpponent = game.scene.currentBattle.enemyParty[1].hp;
+ game.doAttack(0);
+ await game.toNextTurn();
+ game.doAttack(2);
+ await game.toNextTurn();
+ expect(game.scene.currentBattle.enemyParty[0].hp).toBeLessThan(initialHpOpponent);
+ }, 20000);
+
+ it("trainer - wild - force switch by himself opponent - should take damage", async() => {
+ vi.spyOn(overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(5);
+ vi.spyOn(overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(5000);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(0);
+ // turn 1: player set spikes, opponent do splash
+ // turn 2: player do splash, opponent switch pokemon
+ // opponent pokemon should trigger spikes and lose HP
+ await game.runToSummon([
+ Species.MIGHTYENA,
+ Species.POOCHYENA,
+ ]);
+ await game.phaseInterceptor.to(CommandPhase, true);
+ const initialHpOpponent = game.scene.currentBattle.enemyParty[1].hp;
+ game.doAttack(0);
+ await game.toNextTurn();
+
+ game.forceOpponentToSwitch();
+ game.doAttack(1);
+ await game.toNextTurn();
+ expect(game.scene.currentBattle.enemyParty[0].hp).toBeLessThan(initialHpOpponent);
+ }, 20000);
+
+});
diff --git a/src/test/moves/spotlight.test.ts b/src/test/moves/spotlight.test.ts
new file mode 100644
index 00000000000..ec3f4977007
--- /dev/null
+++ b/src/test/moves/spotlight.test.ts
@@ -0,0 +1,112 @@
+import {afterEach, beforeAll, beforeEach, describe, expect, test, vi} from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import {
+ CommandPhase,
+ SelectTargetPhase,
+ TurnEndPhase,
+} from "#app/phases";
+import {Stat} from "#app/data/pokemon-stat";
+import {getMovePosition} from "#app/test/utils/gameManagerUtils";
+import { Moves } from "#enums/moves";
+import { Species } from "#enums/species";
+import { BattlerIndex } from "#app/battle.js";
+
+const TIMEOUT = 20 * 1000;
+
+describe("Moves - Spotlight", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ vi.spyOn(overrides, "DOUBLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "STARTER_SPECIES_OVERRIDE", "get").mockReturnValue(Species.AMOONGUSS);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.SNORLAX);
+ vi.spyOn(overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(100);
+ vi.spyOn(overrides, "OPP_LEVEL_OVERRIDE", "get").mockReturnValue(100);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([ Moves.FOLLOW_ME, Moves.RAGE_POWDER, Moves.SPOTLIGHT, Moves.QUICK_ATTACK ]);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE,Moves.TACKLE,Moves.TACKLE,Moves.TACKLE]);
+ });
+
+ test(
+ "move should redirect attacks to the target",
+ async () => {
+ await game.startBattle([ Species.AMOONGUSS, Species.CHARIZARD ]);
+
+ const playerPokemon = game.scene.getPlayerField();
+ expect(playerPokemon.length).toBe(2);
+ playerPokemon.forEach(p => expect(p).not.toBe(undefined));
+
+ const enemyPokemon = game.scene.getEnemyField();
+ expect(enemyPokemon.length).toBe(2);
+ enemyPokemon.forEach(p => expect(p).not.toBe(undefined));
+
+ const enemyStartingHp = enemyPokemon.map(p => p.hp);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.SPOTLIGHT));
+ await game.phaseInterceptor.to(SelectTargetPhase, false);
+ game.doSelectTarget(BattlerIndex.ENEMY);
+ await game.phaseInterceptor.to(CommandPhase);
+
+ game.doAttack(getMovePosition(game.scene, 1, Moves.QUICK_ATTACK));
+ await game.phaseInterceptor.to(SelectTargetPhase, false);
+ game.doSelectTarget(BattlerIndex.ENEMY_2);
+ await game.phaseInterceptor.to(TurnEndPhase, false);
+
+ expect(enemyPokemon[0].hp).toBeLessThan(enemyStartingHp[0]);
+ expect(enemyPokemon[1].hp).toBe(enemyStartingHp[1]);
+ }, TIMEOUT
+ );
+
+ test(
+ "move should cause other redirection moves to fail",
+ async () => {
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([ Moves.FOLLOW_ME, Moves.FOLLOW_ME, Moves.FOLLOW_ME, Moves.FOLLOW_ME ]);
+
+ await game.startBattle([ Species.AMOONGUSS, Species.CHARIZARD ]);
+
+ const playerPokemon = game.scene.getPlayerField();
+ expect(playerPokemon.length).toBe(2);
+ playerPokemon.forEach(p => expect(p).not.toBe(undefined));
+
+ const enemyPokemon = game.scene.getEnemyField();
+ expect(enemyPokemon.length).toBe(2);
+ enemyPokemon.forEach(p => expect(p).not.toBe(undefined));
+
+ /**
+ * Spotlight will target the slower enemy. In this situation without Spotlight being used,
+ * the faster enemy would normally end up with the Center of Attention tag.
+ */
+ enemyPokemon.sort((a, b) => b.getBattleStat(Stat.SPD) - a.getBattleStat(Stat.SPD));
+ const spotTarget = enemyPokemon[1].getBattlerIndex();
+ const attackTarget = enemyPokemon[0].getBattlerIndex();
+
+ const enemyStartingHp = enemyPokemon.map(p => p.hp);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.SPOTLIGHT));
+ await game.phaseInterceptor.to(SelectTargetPhase, false);
+ game.doSelectTarget(spotTarget);
+ await game.phaseInterceptor.to(CommandPhase);
+
+ game.doAttack(getMovePosition(game.scene, 1, Moves.QUICK_ATTACK));
+ await game.phaseInterceptor.to(SelectTargetPhase, false);
+ game.doSelectTarget(attackTarget);
+ await game.phaseInterceptor.to(TurnEndPhase, false);
+
+ expect(enemyPokemon[1].hp).toBeLessThan(enemyStartingHp[1]);
+ expect(enemyPokemon[0].hp).toBe(enemyStartingHp[0]);
+ }, TIMEOUT
+ );
+});
diff --git a/src/test/moves/tackle.test.ts b/src/test/moves/tackle.test.ts
new file mode 100644
index 00000000000..dabf7db5f7e
--- /dev/null
+++ b/src/test/moves/tackle.test.ts
@@ -0,0 +1,85 @@
+import {afterEach, beforeAll, beforeEach, describe, expect, it, vi} from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import {
+ CommandPhase,
+ EnemyCommandPhase, TurnEndPhase,
+} from "#app/phases";
+import {Mode} from "#app/ui/ui";
+import {getMovePosition} from "#app/test/utils/gameManagerUtils";
+import {Command} from "#app/ui/command-ui-handler";
+import {Stat} from "#app/data/pokemon-stat";
+import { Moves } from "#enums/moves";
+import { Species } from "#enums/species";
+
+
+describe("Moves - Tackle", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ const moveToUse = Moves.TACKLE;
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.MAGIKARP);
+ vi.spyOn(overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(1);
+ vi.spyOn(overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(97);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([moveToUse]);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.GROWTH,Moves.GROWTH,Moves.GROWTH,Moves.GROWTH]);
+ vi.spyOn(overrides, "NEVER_CRIT_OVERRIDE", "get").mockReturnValue(true);
+ });
+
+ it("TACKLE against ghost", async() => {
+ const moveToUse = Moves.TACKLE;
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.GENGAR);
+ await game.startBattle([
+ Species.MIGHTYENA,
+ ]);
+ const hpOpponent = game.scene.currentBattle.enemyParty[0].hp;
+ game.onNextPrompt("CommandPhase", Mode.COMMAND, () => {
+ game.scene.ui.setMode(Mode.FIGHT, (game.scene.getCurrentPhase() as CommandPhase).getFieldIndex());
+ });
+ game.onNextPrompt("CommandPhase", Mode.FIGHT, () => {
+ const movePosition = getMovePosition(game.scene, 0, moveToUse);
+ (game.scene.getCurrentPhase() as CommandPhase).handleCommand(Command.FIGHT, movePosition, false);
+ });
+ await game.phaseInterceptor.runFrom(EnemyCommandPhase).to(TurnEndPhase);
+ const hpLost = hpOpponent - game.scene.currentBattle.enemyParty[0].hp;
+ expect(hpLost).toBe(0);
+ }, 20000);
+
+ it("TACKLE against not resistant", async() => {
+ const moveToUse = Moves.TACKLE;
+ await game.startBattle([
+ Species.MIGHTYENA,
+ ]);
+ game.scene.currentBattle.enemyParty[0].stats[Stat.DEF] = 50;
+ game.scene.getParty()[0].stats[Stat.ATK] = 50;
+
+
+ const hpOpponent = game.scene.currentBattle.enemyParty[0].hp;
+
+ game.onNextPrompt("CommandPhase", Mode.COMMAND, () => {
+ game.scene.ui.setMode(Mode.FIGHT, (game.scene.getCurrentPhase() as CommandPhase).getFieldIndex());
+ });
+ game.onNextPrompt("CommandPhase", Mode.FIGHT, () => {
+ const movePosition = getMovePosition(game.scene, 0, moveToUse);
+ (game.scene.getCurrentPhase() as CommandPhase).handleCommand(Command.FIGHT, movePosition, false);
+ });
+ await game.phaseInterceptor.runFrom(EnemyCommandPhase).to(TurnEndPhase);
+ const hpLost = hpOpponent - game.scene.currentBattle.enemyParty[0].hp;
+ expect(hpLost).toBeGreaterThan(0);
+ expect(hpLost).toBe(4);
+ }, 20000);
+});
diff --git a/src/test/moves/tail_whip.test.ts b/src/test/moves/tail_whip.test.ts
new file mode 100644
index 00000000000..3e89e9cb14e
--- /dev/null
+++ b/src/test/moves/tail_whip.test.ts
@@ -0,0 +1,66 @@
+import {afterEach, beforeAll, beforeEach, describe, expect, it, vi} from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import {
+ CommandPhase,
+ EnemyCommandPhase,
+ TurnInitPhase,
+} from "#app/phases";
+import {Mode} from "#app/ui/ui";
+import {getMovePosition} from "#app/test/utils/gameManagerUtils";
+import {Command} from "#app/ui/command-ui-handler";
+import {BattleStat} from "#app/data/battle-stat";
+import { Abilities } from "#enums/abilities";
+import { Moves } from "#enums/moves";
+import { Species } from "#enums/species";
+
+
+describe("Moves - Tail whip", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ const moveToUse = Moves.TAIL_WHIP;
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.RATTATA);
+ vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.INSOMNIA);
+ vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.INSOMNIA);
+ vi.spyOn(overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(2000);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([moveToUse]);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TACKLE,Moves.TACKLE,Moves.TACKLE,Moves.TACKLE]);
+ });
+
+ it("TAIL_WHIP", async() => {
+ const moveToUse = Moves.TAIL_WHIP;
+ await game.startBattle([
+ Species.MIGHTYENA,
+ Species.MIGHTYENA,
+ ]);
+
+ let battleStatsOpponent = game.scene.currentBattle.enemyParty[0].summonData.battleStats;
+ expect(battleStatsOpponent[BattleStat.DEF]).toBe(0);
+
+ game.onNextPrompt("CommandPhase", Mode.COMMAND, () => {
+ game.scene.ui.setMode(Mode.FIGHT, (game.scene.getCurrentPhase() as CommandPhase).getFieldIndex());
+ });
+ game.onNextPrompt("CommandPhase", Mode.FIGHT, () => {
+ const movePosition = getMovePosition(game.scene, 0, moveToUse);
+ (game.scene.getCurrentPhase() as CommandPhase).handleCommand(Command.FIGHT, movePosition, false);
+ });
+ await game.phaseInterceptor.runFrom(EnemyCommandPhase).to(TurnInitPhase);
+ battleStatsOpponent = game.scene.currentBattle.enemyParty[0].summonData.battleStats;
+ expect(battleStatsOpponent[BattleStat.DEF]).toBe(-1);
+ }, 20000);
+});
diff --git a/src/test/moves/tailwind.test.ts b/src/test/moves/tailwind.test.ts
new file mode 100644
index 00000000000..efba97f8fe1
--- /dev/null
+++ b/src/test/moves/tailwind.test.ts
@@ -0,0 +1,108 @@
+import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import { Species } from "#enums/species";
+import {
+ TurnEndPhase,
+} from "#app/phases";
+import { Moves } from "#enums/moves";
+import { getMovePosition } from "#app/test/utils/gameManagerUtils";
+import { Stat } from "#app/data/pokemon-stat.js";
+import { ArenaTagType } from "#app/enums/arena-tag-type.js";
+import { ArenaTagSide } from "#app/data/arena-tag.js";
+
+describe("Abilities - Wind Rider", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ vi.spyOn(overrides, "DOUBLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TAILWIND, Moves.SPLASH, Moves.PETAL_BLIZZARD, Moves.SANDSTORM]);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH, Moves.SPLASH, Moves.SPLASH, Moves.SPLASH]);
+ });
+
+ it("doubles the Speed stat of the Pokemons on its side", async () => {
+ await game.startBattle([Species.MAGIKARP, Species.MEOWTH]);
+ const magikarp = game.scene.getPlayerField()[0];
+ const meowth = game.scene.getPlayerField()[1];
+
+ const magikarpSpd = magikarp.getStat(Stat.SPD);
+ const meowthSpd = meowth.getStat(Stat.SPD);
+
+ expect(magikarp.getBattleStat(Stat.SPD)).equal(magikarpSpd);
+ expect(meowth.getBattleStat(Stat.SPD)).equal(meowthSpd);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.TAILWIND));
+ game.doAttack(getMovePosition(game.scene, 1, Moves.SPLASH));
+
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(magikarp.getBattleStat(Stat.SPD)).toBe(magikarpSpd * 2);
+ expect(meowth.getBattleStat(Stat.SPD)).toBe(meowthSpd * 2);
+ expect(game.scene.arena.getTagOnSide(ArenaTagType.TAILWIND, ArenaTagSide.PLAYER)).toBeDefined();
+ });
+
+ it("lasts for 4 turns", async () => {
+ vi.spyOn(overrides, "DOUBLE_BATTLE_OVERRIDE", "get").mockReturnValue(false);
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+
+ await game.startBattle([Species.MAGIKARP]);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.TAILWIND));
+ await game.toNextTurn();
+ expect(game.scene.arena.getTagOnSide(ArenaTagType.TAILWIND, ArenaTagSide.PLAYER)).toBeDefined();
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.SPLASH));
+ await game.toNextTurn();
+ expect(game.scene.arena.getTagOnSide(ArenaTagType.TAILWIND, ArenaTagSide.PLAYER)).toBeDefined();
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.SPLASH));
+ await game.toNextTurn();
+ expect(game.scene.arena.getTagOnSide(ArenaTagType.TAILWIND, ArenaTagSide.PLAYER)).toBeDefined();
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.SPLASH));
+ await game.toNextTurn();
+
+ expect(game.scene.arena.getTagOnSide(ArenaTagType.TAILWIND, ArenaTagSide.PLAYER)).toBeUndefined();
+ });
+
+ it("does not affect the opposing side", async () => {
+ vi.spyOn(overrides, "DOUBLE_BATTLE_OVERRIDE", "get").mockReturnValue(false);
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+
+ await game.startBattle([Species.MAGIKARP]);
+
+ const ally = game.scene.getPlayerPokemon();
+ const enemy = game.scene.getEnemyPokemon();
+
+ const allySpd = ally.getStat(Stat.SPD);
+ const enemySpd = enemy.getStat(Stat.SPD);
+
+
+ expect(ally.getBattleStat(Stat.SPD)).equal(allySpd);
+ expect(enemy.getBattleStat(Stat.SPD)).equal(enemySpd);
+ expect(game.scene.arena.getTagOnSide(ArenaTagType.TAILWIND, ArenaTagSide.PLAYER)).toBeUndefined();
+ expect(game.scene.arena.getTagOnSide(ArenaTagType.TAILWIND, ArenaTagSide.ENEMY)).toBeUndefined();
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.TAILWIND));
+
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(ally.getBattleStat(Stat.SPD)).toBe(allySpd * 2);
+ expect(enemy.getBattleStat(Stat.SPD)).equal(enemySpd);
+ expect(game.scene.arena.getTagOnSide(ArenaTagType.TAILWIND, ArenaTagSide.PLAYER)).toBeDefined();
+ expect(game.scene.arena.getTagOnSide(ArenaTagType.TAILWIND, ArenaTagSide.ENEMY)).toBeUndefined();
+ });
+});
diff --git a/src/test/moves/thousand_arrows.test.ts b/src/test/moves/thousand_arrows.test.ts
new file mode 100644
index 00000000000..c641643593e
--- /dev/null
+++ b/src/test/moves/thousand_arrows.test.ts
@@ -0,0 +1,95 @@
+import {afterEach, beforeAll, beforeEach, describe, expect, test, vi} from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import {
+ MoveEffectPhase,
+ TurnEndPhase
+} from "#app/phases";
+import {getMovePosition} from "#app/test/utils/gameManagerUtils";
+import { Moves } from "#enums/moves";
+import { Species } from "#enums/species";
+import { BattlerTagType } from "#app/enums/battler-tag-type.js";
+import { Abilities } from "#app/enums/abilities.js";
+
+const TIMEOUT = 20 * 1000;
+
+describe("Moves - Thousand Arrows", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.TOGETIC);
+ vi.spyOn(overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(100);
+ vi.spyOn(overrides, "OPP_LEVEL_OVERRIDE", "get").mockReturnValue(100);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([ Moves.THOUSAND_ARROWS ]);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH,Moves.SPLASH,Moves.SPLASH,Moves.SPLASH]);
+ });
+
+ test(
+ "move should hit and ground Flying-type targets",
+ async () => {
+ await game.startBattle([ Species.ILLUMISE ]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).toBeDefined();
+
+ const enemyPokemon = game.scene.getEnemyPokemon();
+ expect(enemyPokemon).toBeDefined();
+
+ const enemyStartingHp = enemyPokemon.hp;
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.THOUSAND_ARROWS));
+
+ await game.phaseInterceptor.to(MoveEffectPhase, false);
+ // Enemy should not be grounded before move effect is applied
+ expect(enemyPokemon.getTag(BattlerTagType.IGNORE_FLYING)).toBeUndefined();
+
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(enemyPokemon.getTag(BattlerTagType.IGNORE_FLYING)).toBeDefined();
+ expect(enemyPokemon.hp).toBeLessThan(enemyStartingHp);
+ }, TIMEOUT
+ );
+
+ test(
+ "move should hit and ground targets with Levitate",
+ async () => {
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.SNORLAX);
+ vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.LEVITATE);
+
+ await game.startBattle([ Species.ILLUMISE ]);
+
+ const leadPokemon = game.scene.getPlayerPokemon();
+ expect(leadPokemon).toBeDefined();
+
+ const enemyPokemon = game.scene.getEnemyPokemon();
+ expect(enemyPokemon).toBeDefined();
+
+ const enemyStartingHp = enemyPokemon.hp;
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.THOUSAND_ARROWS));
+
+ await game.phaseInterceptor.to(MoveEffectPhase, false);
+ // Enemy should not be grounded before move effect is applied
+ expect(enemyPokemon.getTag(BattlerTagType.IGNORE_FLYING)).toBeUndefined();
+
+ await game.phaseInterceptor.to(TurnEndPhase, false);
+
+ expect(enemyPokemon.getTag(BattlerTagType.IGNORE_FLYING)).toBeDefined();
+ expect(enemyPokemon.hp).toBeLessThan(enemyStartingHp);
+ }, TIMEOUT
+ );
+});
diff --git a/src/test/moves/tidy_up.test.ts b/src/test/moves/tidy_up.test.ts
new file mode 100644
index 00000000000..78b72492e04
--- /dev/null
+++ b/src/test/moves/tidy_up.test.ts
@@ -0,0 +1,122 @@
+import {afterEach, beforeAll, beforeEach, describe, expect, it, vi} from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import * as overrides from "#app/overrides";
+import { MoveEndPhase, TurnEndPhase } from "#app/phases";
+import { Abilities } from "#enums/abilities";
+import { Moves } from "#enums/moves";
+import { Species } from "#enums/species";
+import { getMovePosition } from "#app/test/utils/gameManagerUtils";
+import { ArenaTagType } from "#app/enums/arena-tag-type.js";
+import { BattleStat } from "#app/data/battle-stat.js";
+
+
+describe("Moves - Tidy Up", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.MAGIKARP);
+ vi.spyOn(overrides, "OPP_ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.BALL_FETCH);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH, Moves.SPLASH, Moves.SPLASH, Moves.SPLASH]);
+ vi.spyOn(overrides, "STARTER_SPECIES_OVERRIDE", "get").mockReturnValue(Species.FEEBAS);
+ vi.spyOn(overrides, "ABILITY_OVERRIDE", "get").mockReturnValue(Abilities.BALL_FETCH);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TIDY_UP]);
+ vi.spyOn(overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(50);
+ });
+
+ it("spikes are cleared", async() => {
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPIKES, Moves.TIDY_UP]);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPIKES, Moves.SPIKES, Moves.SPIKES, Moves.SPIKES]);
+ await game.startBattle();
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.SPIKES));
+ await game.phaseInterceptor.to(TurnEndPhase);
+ game.doAttack(getMovePosition(game.scene, 0, Moves.TIDY_UP));
+ await game.phaseInterceptor.to(MoveEndPhase);
+ expect(game.scene.arena.getTag(ArenaTagType.SPIKES)).toBeUndefined();
+
+ }, 20000);
+
+ it("stealth rocks are cleared", async() => {
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.STEALTH_ROCK, Moves.TIDY_UP]);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.STEALTH_ROCK, Moves.STEALTH_ROCK, Moves.STEALTH_ROCK, Moves.STEALTH_ROCK]);
+ await game.startBattle();
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.STEALTH_ROCK));
+ await game.phaseInterceptor.to(TurnEndPhase);
+ game.doAttack(getMovePosition(game.scene, 0, Moves.TIDY_UP));
+ await game.phaseInterceptor.to(MoveEndPhase);
+ expect(game.scene.arena.getTag(ArenaTagType.STEALTH_ROCK)).toBeUndefined();
+
+ }, 20000);
+
+ it("toxic spikes are cleared", async() => {
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TOXIC_SPIKES, Moves.TIDY_UP]);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.TOXIC_SPIKES, Moves.TOXIC_SPIKES, Moves.TOXIC_SPIKES, Moves.TOXIC_SPIKES]);
+ await game.startBattle();
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.TOXIC_SPIKES));
+ await game.phaseInterceptor.to(TurnEndPhase);
+ game.doAttack(getMovePosition(game.scene, 0, Moves.TIDY_UP));
+ await game.phaseInterceptor.to(MoveEndPhase);
+ expect(game.scene.arena.getTag(ArenaTagType.TOXIC_SPIKES)).toBeUndefined();
+
+ }, 20000);
+
+ it("sticky webs are cleared", async() => {
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.STICKY_WEB, Moves.TIDY_UP]);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.STICKY_WEB, Moves.STICKY_WEB, Moves.STICKY_WEB, Moves.STICKY_WEB]);
+
+ await game.startBattle();
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.STICKY_WEB));
+ await game.phaseInterceptor.to(TurnEndPhase);
+ game.doAttack(getMovePosition(game.scene, 0, Moves.TIDY_UP));
+ await game.phaseInterceptor.to(MoveEndPhase);
+ expect(game.scene.arena.getTag(ArenaTagType.STICKY_WEB)).toBeUndefined();
+
+ }, 20000);
+
+ it.skip("substitutes are cleared", async() => {
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SUBSTITUTE, Moves.TIDY_UP]);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SUBSTITUTE, Moves.SUBSTITUTE, Moves.SUBSTITUTE, Moves.SUBSTITUTE]);
+
+ await game.startBattle();
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.SUBSTITUTE));
+ await game.phaseInterceptor.to(TurnEndPhase);
+ game.doAttack(getMovePosition(game.scene, 0, Moves.TIDY_UP));
+ await game.phaseInterceptor.to(MoveEndPhase);
+ // TODO: check for subs here once the move is implemented
+
+ }, 20000);
+
+ it("user's stats are raised with no traps set", async() => {
+ await game.startBattle();
+ const player = game.scene.getPlayerPokemon().summonData.battleStats;
+
+ expect(player[BattleStat.ATK]).toBe(0);
+ expect(player[BattleStat.SPD]).toBe(0);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.TIDY_UP));
+ await game.phaseInterceptor.to(TurnEndPhase);
+
+ expect(player[BattleStat.ATK]).toBe(+1);
+ expect(player[BattleStat.SPD]).toBe(+1);
+
+ }, 20000);
+
+});
diff --git a/src/test/phaser.setup.ts b/src/test/phaser.setup.ts
deleted file mode 100644
index 1776e8134e2..00000000000
--- a/src/test/phaser.setup.ts
+++ /dev/null
@@ -1,5 +0,0 @@
-import Phaser from "phaser";
-
-export default new Phaser.Game({
- type: Phaser.HEADLESS,
-});
diff --git a/src/test/phases/phases.test.ts b/src/test/phases/phases.test.ts
new file mode 100644
index 00000000000..3d6da362004
--- /dev/null
+++ b/src/test/phases/phases.test.ts
@@ -0,0 +1,54 @@
+import BattleScene from "#app/battle-scene.js";
+import { LoginPhase, TitlePhase, UnavailablePhase } from "#app/phases.js";
+import { Mode } from "#app/ui/ui.js";
+import {afterEach, beforeAll, beforeEach, describe, expect, it} from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+
+describe("Phases", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+ let scene: BattleScene;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ scene = game.scene;
+ });
+
+ describe("LoginPhase", () => {
+ it("should start the login phase", async () => {
+ const loginPhase = new LoginPhase(scene);
+ scene.unshiftPhase(loginPhase);
+ await game.phaseInterceptor.run(LoginPhase);
+ expect(scene.ui.getMode()).to.equal(Mode.MESSAGE);
+ });
+ });
+
+ describe("TitlePhase", () => {
+ it("should start the title phase", async () => {
+ const titlePhase = new TitlePhase(scene);
+ scene.unshiftPhase(titlePhase);
+ await game.phaseInterceptor.run(TitlePhase);
+ expect(scene.ui.getMode()).to.equal(Mode.TITLE);
+ });
+ });
+
+ describe("UnavailablePhase", () => {
+ it("should start the unavailable phase", async () => {
+ const unavailablePhase = new UnavailablePhase(scene);
+ scene.unshiftPhase(unavailablePhase);
+ await game.phaseInterceptor.run(UnavailablePhase);
+ expect(scene.ui.getMode()).to.equal(Mode.UNAVAILABLE);
+ }, 20000);
+ });
+});
diff --git a/src/test/pokemon.test.ts b/src/test/pokemon.test.ts
deleted file mode 100644
index d1f7da45256..00000000000
--- a/src/test/pokemon.test.ts
+++ /dev/null
@@ -1,57 +0,0 @@
-import {describe, expect, it} from "vitest";
-import {getPokemonSpecies} from "#app/data/pokemon-species";
-import {PokemonMove} from "#app/field/pokemon";
-import {Species} from "#app/data/enums/species";
-import {Moves} from "#app/data/enums/moves";
-import PokemonData from "#app/system/pokemon-data";
-
-describe("some tests related to PokemonData and Species", () => {
- it("should create a species", () => {
- const species = getPokemonSpecies(Species.MEW);
- expect(species).not.toBeNull();
- });
-
- it("should create a pokemon", () => {
- const pokemon = new PokemonData({
- species: Species.MEW,
- level: 1,
- });
- expect(pokemon).not.toBeNull();
- expect(pokemon.level).toEqual(1);
- expect(pokemon.species).toEqual(Species.MEW);
- });
-
- it("should generate a moveset", () => {
- const pokemon = new PokemonData({
- species: Species.MEW,
- level: 1,
- });
- expect(pokemon.moveset[0].moveId).toBe(Moves.TACKLE);
- expect(pokemon.moveset[1].moveId).toBe(Moves.GROWL);
- });
-
- it("should create an ennemypokemon", () => {
- const ennemyPokemon = new PokemonData({
- species: Species.MEWTWO,
- level: 100,
- });
- expect(ennemyPokemon).not.toBeNull();
- expect(ennemyPokemon.level).toEqual(100);
- expect(ennemyPokemon.species).toEqual(Species.MEWTWO);
- });
-
- it("should create an ennemypokemon with specified moveset", () => {
- const ennemyPokemon = new PokemonData({
- species: Species.MEWTWO,
- level: 100,
- moveset: [
- new PokemonMove(Moves.ACID),
- new PokemonMove(Moves.ACROBATICS),
- new PokemonMove(Moves.FOCUS_ENERGY),
- ]
- });
- expect(ennemyPokemon.moveset[0].moveId).toBe(Moves.ACID);
- expect(ennemyPokemon.moveset[1].moveId).toBe(Moves.ACROBATICS);
- expect(ennemyPokemon.moveset[2].moveId).toBe(Moves.FOCUS_ENERGY);
- });
-});
diff --git a/src/test/helpers/inGameManip.ts b/src/test/settingMenu/helpers/inGameManip.ts
similarity index 100%
rename from src/test/helpers/inGameManip.ts
rename to src/test/settingMenu/helpers/inGameManip.ts
diff --git a/src/test/helpers/menuManip.ts b/src/test/settingMenu/helpers/menuManip.ts
similarity index 100%
rename from src/test/helpers/menuManip.ts
rename to src/test/settingMenu/helpers/menuManip.ts
diff --git a/src/test/rebinding_setting.test.ts b/src/test/settingMenu/rebinding_setting.test.ts
similarity index 99%
rename from src/test/rebinding_setting.test.ts
rename to src/test/settingMenu/rebinding_setting.test.ts
index 03e8cbb51c4..010ad427d6e 100644
--- a/src/test/rebinding_setting.test.ts
+++ b/src/test/settingMenu/rebinding_setting.test.ts
@@ -1,16 +1,16 @@
import {beforeEach, describe, expect, it} from "vitest";
-import {Button} from "#app/enums/buttons";
import {deepCopy} from "#app/utils";
import {
getKeyWithKeycode,
getKeyWithSettingName,
} from "#app/configs/inputs/configHandler";
-import {MenuManip} from "#app/test/helpers/menuManip";
-import {InGameManip} from "#app/test/helpers/inGameManip";
-import {Device} from "#app/enums/devices";
+import {MenuManip} from "#app/test/settingMenu/helpers/menuManip";
+import {InGameManip} from "#app/test/settingMenu/helpers/inGameManip";
import {InterfaceConfig} from "#app/inputs-controller";
import cfg_keyboard_qwerty from "#app/configs/inputs/cfg_keyboard_qwerty";
import {SettingKeyboard} from "#app/system/settings/settings-keyboard";
+import { Device } from "#enums/devices";
+import { Button } from "#enums/buttons";
describe("Test Rebinding", () => {
diff --git a/src/test/pokemonSprite.test.ts b/src/test/sprites/pokemonSprite.test.ts
similarity index 98%
rename from src/test/pokemonSprite.test.ts
rename to src/test/sprites/pokemonSprite.test.ts
index 07b3cd01cc7..5c1db85fa6f 100644
--- a/src/test/pokemonSprite.test.ts
+++ b/src/test/sprites/pokemonSprite.test.ts
@@ -1,8 +1,8 @@
import {beforeAll, describe, expect, it} from "vitest";
-import _masterlist from "../../public/images/pokemon/variant/_masterlist.json";
+import _masterlist from "../../../public/images/pokemon/variant/_masterlist.json";
import fs from "fs";
import path from "path";
-import {getAppRootDir} from "#app/test/testUtils";
+import {getAppRootDir} from "#app/test/sprites/spritesUtils";
const deepCopy = (data) => {
return JSON.parse(JSON.stringify(data));
diff --git a/src/test/testUtils.ts b/src/test/sprites/spritesUtils.ts
similarity index 100%
rename from src/test/testUtils.ts
rename to src/test/sprites/spritesUtils.ts
diff --git a/src/test/ui/starter-select.test.ts b/src/test/ui/starter-select.test.ts
new file mode 100644
index 00000000000..2b5df315a70
--- /dev/null
+++ b/src/test/ui/starter-select.test.ts
@@ -0,0 +1,594 @@
+import {afterEach, beforeAll, beforeEach, describe, expect, it} from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import {
+ EncounterPhase,
+ SelectStarterPhase,
+ TitlePhase,
+} from "#app/phases";
+import {Mode} from "#app/ui/ui";
+import {GameModes} from "#app/game-mode";
+import StarterSelectUiHandler from "#app/ui/starter-select-ui-handler";
+import OptionSelectUiHandler from "#app/ui/settings/option-select-ui-handler";
+import SaveSlotSelectUiHandler from "#app/ui/save-slot-select-ui-handler";
+import {OptionSelectItem} from "#app/ui/abstact-option-select-ui-handler";
+import {Gender} from "#app/data/gender";
+import {allSpecies} from "#app/data/pokemon-species";
+import {Nature} from "#app/data/nature";
+import { Button } from "#enums/buttons";
+import { Abilities } from "#enums/abilities";
+import { Species } from "#enums/species";
+
+
+describe("UI - Starter select", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ });
+
+ it("Bulbasaur - shiny - variant 2 male", async() => {
+ await game.importData("src/test/utils/saves/everything.prsv");
+ const caughtCount = Object.keys(game.scene.gameData.dexData).filter((key) => {
+ const species = game.scene.gameData.dexData[key];
+ return species.caughtAttr !== 0n;
+ }).length;
+ expect(caughtCount).toBe(Object.keys(allSpecies).length);
+ await game.runToTitle();
+ game.onNextPrompt("TitlePhase", Mode.TITLE, () => {
+ const currentPhase = game.scene.getCurrentPhase() as TitlePhase;
+ currentPhase.gameMode = GameModes.CLASSIC;
+ currentPhase.end();
+ });
+ game.onNextPrompt("SelectStarterPhase", Mode.STARTER_SELECT, () => {
+ const handler = game.scene.ui.getHandler() as StarterSelectUiHandler;
+ handler.processInput(Button.RIGHT);
+ handler.processInput(Button.ACTION);
+ game.phaseInterceptor.unlock();
+ });
+ await game.phaseInterceptor.run(SelectStarterPhase);
+ let options: OptionSelectItem[];
+ let optionSelectUiHandler: OptionSelectUiHandler;
+ await new Promise((resolve) => {
+ game.onNextPrompt("SelectStarterPhase", Mode.OPTION_SELECT, () => {
+ optionSelectUiHandler = game.scene.ui.getHandler() as OptionSelectUiHandler;
+ options = optionSelectUiHandler.getOptionsWithScroll();
+ resolve();
+ });
+ });
+ expect(options.some(option => option.label === "Add to Party")).toBe(true);
+ expect(options.some(option => option.label === "Toggle IVs")).toBe(true);
+ expect(options.some(option => option.label === "Manage Moves")).toBe(true);
+ expect(options.some(option => option.label === "Use Candies")).toBe(true);
+ expect(options.some(option => option.label === "Cancel")).toBe(true);
+ optionSelectUiHandler.processInput(Button.ACTION);
+
+ await new Promise((resolve) => {
+ game.onNextPrompt("SelectStarterPhase", Mode.STARTER_SELECT, () => {
+ const handler = game.scene.ui.getHandler() as StarterSelectUiHandler;
+ handler.processInput(Button.SUBMIT);
+ });
+ game.onNextPrompt("SelectStarterPhase", Mode.CONFIRM, () => {
+ const handler = game.scene.ui.getHandler() as StarterSelectUiHandler;
+ handler.processInput(Button.ACTION);
+ });
+ game.onNextPrompt("SelectStarterPhase", Mode.SAVE_SLOT, () => {
+ const saveSlotSelectUiHandler = game.scene.ui.getHandler() as SaveSlotSelectUiHandler;
+ saveSlotSelectUiHandler.processInput(Button.ACTION);
+ resolve();
+ });
+ });
+ await game.phaseInterceptor.whenAboutToRun(EncounterPhase);
+
+ expect(game.scene.getParty()[0].species.speciesId).toBe(Species.BULBASAUR);
+ expect(game.scene.getParty()[0].shiny).toBe(true);
+ expect(game.scene.getParty()[0].variant).toBe(2);
+ expect(game.scene.getParty()[0].gender).toBe(Gender.MALE);
+ }, 20000);
+
+ it("Bulbasaur - shiny - variant 2 female hardy overgrow", async() => {
+ await game.importData("src/test/utils/saves/everything.prsv");
+ const caughtCount = Object.keys(game.scene.gameData.dexData).filter((key) => {
+ const species = game.scene.gameData.dexData[key];
+ return species.caughtAttr !== 0n;
+ }).length;
+ expect(caughtCount).toBe(Object.keys(allSpecies).length);
+ await game.runToTitle();
+ game.onNextPrompt("TitlePhase", Mode.TITLE, () => {
+ const currentPhase = game.scene.getCurrentPhase() as TitlePhase;
+ currentPhase.gameMode = GameModes.CLASSIC;
+ currentPhase.end();
+ });
+ game.onNextPrompt("SelectStarterPhase", Mode.STARTER_SELECT, () => {
+ const handler = game.scene.ui.getHandler() as StarterSelectUiHandler;
+ handler.processInput(Button.RIGHT);
+ handler.processInput(Button.CYCLE_GENDER);
+ handler.processInput(Button.ACTION);
+ game.phaseInterceptor.unlock();
+ });
+ await game.phaseInterceptor.run(SelectStarterPhase);
+ let options: OptionSelectItem[];
+ let optionSelectUiHandler: OptionSelectUiHandler;
+ await new Promise((resolve) => {
+ game.onNextPrompt("SelectStarterPhase", Mode.OPTION_SELECT, () => {
+ optionSelectUiHandler = game.scene.ui.getHandler() as OptionSelectUiHandler;
+ options = optionSelectUiHandler.getOptionsWithScroll();
+ resolve();
+ });
+ });
+ expect(options.some(option => option.label === "Add to Party")).toBe(true);
+ expect(options.some(option => option.label === "Toggle IVs")).toBe(true);
+ expect(options.some(option => option.label === "Manage Moves")).toBe(true);
+ expect(options.some(option => option.label === "Use Candies")).toBe(true);
+ expect(options.some(option => option.label === "Cancel")).toBe(true);
+ optionSelectUiHandler.processInput(Button.ACTION);
+
+ await new Promise((resolve) => {
+ game.onNextPrompt("SelectStarterPhase", Mode.STARTER_SELECT, () => {
+ const handler = game.scene.ui.getHandler() as StarterSelectUiHandler;
+ handler.processInput(Button.SUBMIT);
+ });
+ game.onNextPrompt("SelectStarterPhase", Mode.CONFIRM, () => {
+ const handler = game.scene.ui.getHandler() as StarterSelectUiHandler;
+ handler.processInput(Button.ACTION);
+ });
+ game.onNextPrompt("SelectStarterPhase", Mode.SAVE_SLOT, () => {
+ const saveSlotSelectUiHandler = game.scene.ui.getHandler() as SaveSlotSelectUiHandler;
+ saveSlotSelectUiHandler.processInput(Button.ACTION);
+ resolve();
+ });
+ });
+ await game.phaseInterceptor.whenAboutToRun(EncounterPhase);
+
+ expect(game.scene.getParty()[0].species.speciesId).toBe(Species.BULBASAUR);
+ expect(game.scene.getParty()[0].shiny).toBe(true);
+ expect(game.scene.getParty()[0].variant).toBe(2);
+ expect(game.scene.getParty()[0].nature).toBe(Nature.HARDY);
+ expect(game.scene.getParty()[0].getAbility().id).toBe(Abilities.OVERGROW);
+ }, 20000);
+
+ it("Bulbasaur - shiny - variant 2 female lonely chlorophyl", async() => {
+ await game.importData("src/test/utils/saves/everything.prsv");
+ const caughtCount = Object.keys(game.scene.gameData.dexData).filter((key) => {
+ const species = game.scene.gameData.dexData[key];
+ return species.caughtAttr !== 0n;
+ }).length;
+ expect(caughtCount).toBe(Object.keys(allSpecies).length);
+ await game.runToTitle();
+ game.onNextPrompt("TitlePhase", Mode.TITLE, () => {
+ const currentPhase = game.scene.getCurrentPhase() as TitlePhase;
+ currentPhase.gameMode = GameModes.CLASSIC;
+ currentPhase.end();
+ });
+ game.onNextPrompt("SelectStarterPhase", Mode.STARTER_SELECT, () => {
+ const handler = game.scene.ui.getHandler() as StarterSelectUiHandler;
+ handler.processInput(Button.RIGHT);
+ handler.processInput(Button.CYCLE_GENDER);
+ handler.processInput(Button.CYCLE_NATURE);
+ handler.processInput(Button.CYCLE_ABILITY);
+ handler.processInput(Button.ACTION);
+ game.phaseInterceptor.unlock();
+ });
+ await game.phaseInterceptor.run(SelectStarterPhase);
+ let options: OptionSelectItem[];
+ let optionSelectUiHandler: OptionSelectUiHandler;
+ await new Promise((resolve) => {
+ game.onNextPrompt("SelectStarterPhase", Mode.OPTION_SELECT, () => {
+ optionSelectUiHandler = game.scene.ui.getHandler() as OptionSelectUiHandler;
+ options = optionSelectUiHandler.getOptionsWithScroll();
+ resolve();
+ });
+ });
+ expect(options.some(option => option.label === "Add to Party")).toBe(true);
+ expect(options.some(option => option.label === "Toggle IVs")).toBe(true);
+ expect(options.some(option => option.label === "Manage Moves")).toBe(true);
+ expect(options.some(option => option.label === "Use Candies")).toBe(true);
+ expect(options.some(option => option.label === "Cancel")).toBe(true);
+ optionSelectUiHandler.processInput(Button.ACTION);
+
+ await new Promise((resolve) => {
+ game.onNextPrompt("SelectStarterPhase", Mode.STARTER_SELECT, () => {
+ const handler = game.scene.ui.getHandler() as StarterSelectUiHandler;
+ handler.processInput(Button.SUBMIT);
+ });
+ game.onNextPrompt("SelectStarterPhase", Mode.CONFIRM, () => {
+ const handler = game.scene.ui.getHandler() as StarterSelectUiHandler;
+ handler.processInput(Button.ACTION);
+ });
+ game.onNextPrompt("SelectStarterPhase", Mode.SAVE_SLOT, () => {
+ const saveSlotSelectUiHandler = game.scene.ui.getHandler() as SaveSlotSelectUiHandler;
+ saveSlotSelectUiHandler.processInput(Button.ACTION);
+ resolve();
+ });
+ });
+ await game.phaseInterceptor.whenAboutToRun(EncounterPhase);
+
+ expect(game.scene.getParty()[0].species.speciesId).toBe(Species.BULBASAUR);
+ expect(game.scene.getParty()[0].shiny).toBe(true);
+ expect(game.scene.getParty()[0].variant).toBe(2);
+ expect(game.scene.getParty()[0].nature).toBe(Nature.LONELY);
+ expect(game.scene.getParty()[0].getAbility().id).toBe(Abilities.CHLOROPHYLL);
+ }, 20000);
+
+ it("Bulbasaur - shiny - variant 2 female lonely chlorophyl", async() => {
+ await game.importData("src/test/utils/saves/everything.prsv");
+ const caughtCount = Object.keys(game.scene.gameData.dexData).filter((key) => {
+ const species = game.scene.gameData.dexData[key];
+ return species.caughtAttr !== 0n;
+ }).length;
+ expect(caughtCount).toBe(Object.keys(allSpecies).length);
+ await game.runToTitle();
+ game.onNextPrompt("TitlePhase", Mode.TITLE, () => {
+ const currentPhase = game.scene.getCurrentPhase() as TitlePhase;
+ currentPhase.gameMode = GameModes.CLASSIC;
+ currentPhase.end();
+ });
+ game.onNextPrompt("SelectStarterPhase", Mode.STARTER_SELECT, () => {
+ const handler = game.scene.ui.getHandler() as StarterSelectUiHandler;
+ handler.processInput(Button.RIGHT);
+ handler.processInput(Button.CYCLE_GENDER);
+ handler.processInput(Button.ACTION);
+ game.phaseInterceptor.unlock();
+ });
+ await game.phaseInterceptor.run(SelectStarterPhase);
+ let options: OptionSelectItem[];
+ let optionSelectUiHandler: OptionSelectUiHandler;
+ await new Promise((resolve) => {
+ game.onNextPrompt("SelectStarterPhase", Mode.OPTION_SELECT, () => {
+ optionSelectUiHandler = game.scene.ui.getHandler() as OptionSelectUiHandler;
+ options = optionSelectUiHandler.getOptionsWithScroll();
+ resolve();
+ });
+ });
+ expect(options.some(option => option.label === "Add to Party")).toBe(true);
+ expect(options.some(option => option.label === "Toggle IVs")).toBe(true);
+ expect(options.some(option => option.label === "Manage Moves")).toBe(true);
+ expect(options.some(option => option.label === "Use Candies")).toBe(true);
+ expect(options.some(option => option.label === "Cancel")).toBe(true);
+ optionSelectUiHandler.processInput(Button.ACTION);
+
+ await new Promise((resolve) => {
+ game.onNextPrompt("SelectStarterPhase", Mode.STARTER_SELECT, () => {
+ const handler = game.scene.ui.getHandler() as StarterSelectUiHandler;
+ handler.processInput(Button.SUBMIT);
+ });
+ game.onNextPrompt("SelectStarterPhase", Mode.CONFIRM, () => {
+ const handler = game.scene.ui.getHandler() as StarterSelectUiHandler;
+ handler.processInput(Button.ACTION);
+ });
+ game.onNextPrompt("SelectStarterPhase", Mode.SAVE_SLOT, () => {
+ const saveSlotSelectUiHandler = game.scene.ui.getHandler() as SaveSlotSelectUiHandler;
+ saveSlotSelectUiHandler.processInput(Button.ACTION);
+ resolve();
+ });
+ });
+ await game.phaseInterceptor.whenAboutToRun(EncounterPhase);
+
+ expect(game.scene.getParty()[0].species.speciesId).toBe(Species.BULBASAUR);
+ expect(game.scene.getParty()[0].shiny).toBe(true);
+ expect(game.scene.getParty()[0].variant).toBe(2);
+ expect(game.scene.getParty()[0].gender).toBe(Gender.FEMALE);
+ }, 20000);
+
+ it("Bulbasaur - not shiny", async() => {
+ await game.importData("src/test/utils/saves/everything.prsv");
+ const caughtCount = Object.keys(game.scene.gameData.dexData).filter((key) => {
+ const species = game.scene.gameData.dexData[key];
+ return species.caughtAttr !== 0n;
+ }).length;
+ expect(caughtCount).toBe(Object.keys(allSpecies).length);
+ await game.runToTitle();
+ game.onNextPrompt("TitlePhase", Mode.TITLE, () => {
+ const currentPhase = game.scene.getCurrentPhase() as TitlePhase;
+ currentPhase.gameMode = GameModes.CLASSIC;
+ currentPhase.end();
+ });
+ game.onNextPrompt("SelectStarterPhase", Mode.STARTER_SELECT, () => {
+ const handler = game.scene.ui.getHandler() as StarterSelectUiHandler;
+ handler.processInput(Button.RIGHT);
+ handler.processInput(Button.CYCLE_SHINY);
+ handler.processInput(Button.ACTION);
+ game.phaseInterceptor.unlock();
+ });
+ await game.phaseInterceptor.run(SelectStarterPhase);
+ let options: OptionSelectItem[];
+ let optionSelectUiHandler: OptionSelectUiHandler;
+ await new Promise((resolve) => {
+ game.onNextPrompt("SelectStarterPhase", Mode.OPTION_SELECT, () => {
+ optionSelectUiHandler = game.scene.ui.getHandler() as OptionSelectUiHandler;
+ options = optionSelectUiHandler.getOptionsWithScroll();
+ resolve();
+ });
+ });
+ expect(options.some(option => option.label === "Add to Party")).toBe(true);
+ expect(options.some(option => option.label === "Toggle IVs")).toBe(true);
+ expect(options.some(option => option.label === "Manage Moves")).toBe(true);
+ expect(options.some(option => option.label === "Use Candies")).toBe(true);
+ expect(options.some(option => option.label === "Cancel")).toBe(true);
+ optionSelectUiHandler.processInput(Button.ACTION);
+
+ await new Promise((resolve) => {
+ game.onNextPrompt("SelectStarterPhase", Mode.STARTER_SELECT, () => {
+ const handler = game.scene.ui.getHandler() as StarterSelectUiHandler;
+ handler.processInput(Button.SUBMIT);
+ });
+ game.onNextPrompt("SelectStarterPhase", Mode.CONFIRM, () => {
+ const handler = game.scene.ui.getHandler() as StarterSelectUiHandler;
+ handler.processInput(Button.ACTION);
+ });
+ game.onNextPrompt("SelectStarterPhase", Mode.SAVE_SLOT, () => {
+ const saveSlotSelectUiHandler = game.scene.ui.getHandler() as SaveSlotSelectUiHandler;
+ saveSlotSelectUiHandler.processInput(Button.ACTION);
+ resolve();
+ });
+ });
+ await game.phaseInterceptor.whenAboutToRun(EncounterPhase);
+
+ expect(game.scene.getParty()[0].species.speciesId).toBe(Species.BULBASAUR);
+ expect(game.scene.getParty()[0].shiny).toBe(false);
+ expect(game.scene.getParty()[0].variant).toBe(0);
+ }, 20000);
+
+ it("Bulbasaur - shiny - variant 1", async() => {
+ await game.importData("src/test/utils/saves/everything.prsv");
+ const caughtCount = Object.keys(game.scene.gameData.dexData).filter((key) => {
+ const species = game.scene.gameData.dexData[key];
+ return species.caughtAttr !== 0n;
+ }).length;
+ expect(caughtCount).toBe(Object.keys(allSpecies).length);
+ await game.runToTitle();
+ game.onNextPrompt("TitlePhase", Mode.TITLE, () => {
+ const currentPhase = game.scene.getCurrentPhase() as TitlePhase;
+ currentPhase.gameMode = GameModes.CLASSIC;
+ currentPhase.end();
+ });
+ game.onNextPrompt("SelectStarterPhase", Mode.STARTER_SELECT, () => {
+ const handler = game.scene.ui.getHandler() as StarterSelectUiHandler;
+ handler.processInput(Button.RIGHT);
+ handler.processInput(Button.V);
+ handler.processInput(Button.V);
+ handler.processInput(Button.ACTION);
+ game.phaseInterceptor.unlock();
+ });
+ await game.phaseInterceptor.run(SelectStarterPhase);
+ let options: OptionSelectItem[];
+ let optionSelectUiHandler: OptionSelectUiHandler;
+ await new Promise((resolve) => {
+ game.onNextPrompt("SelectStarterPhase", Mode.OPTION_SELECT, () => {
+ optionSelectUiHandler = game.scene.ui.getHandler() as OptionSelectUiHandler;
+ options = optionSelectUiHandler.getOptionsWithScroll();
+ resolve();
+ });
+ });
+ expect(options.some(option => option.label === "Add to Party")).toBe(true);
+ expect(options.some(option => option.label === "Toggle IVs")).toBe(true);
+ expect(options.some(option => option.label === "Manage Moves")).toBe(true);
+ expect(options.some(option => option.label === "Use Candies")).toBe(true);
+ expect(options.some(option => option.label === "Cancel")).toBe(true);
+ optionSelectUiHandler.processInput(Button.ACTION);
+
+ await new Promise((resolve) => {
+ game.onNextPrompt("SelectStarterPhase", Mode.STARTER_SELECT, () => {
+ const handler = game.scene.ui.getHandler() as StarterSelectUiHandler;
+ handler.processInput(Button.SUBMIT);
+ });
+ game.onNextPrompt("SelectStarterPhase", Mode.CONFIRM, () => {
+ const handler = game.scene.ui.getHandler() as StarterSelectUiHandler;
+ handler.processInput(Button.ACTION);
+ });
+ game.onNextPrompt("SelectStarterPhase", Mode.SAVE_SLOT, () => {
+ const saveSlotSelectUiHandler = game.scene.ui.getHandler() as SaveSlotSelectUiHandler;
+ saveSlotSelectUiHandler.processInput(Button.ACTION);
+ resolve();
+ });
+ });
+ await game.phaseInterceptor.whenAboutToRun(EncounterPhase);
+
+ expect(game.scene.getParty()[0].species.speciesId).toBe(Species.BULBASAUR);
+ expect(game.scene.getParty()[0].shiny).toBe(true);
+ expect(game.scene.getParty()[0].variant).toBe(1);
+ }, 20000);
+
+ it("Bulbasaur - shiny - variant 2", async() => {
+ await game.importData("src/test/utils/saves/everything.prsv");
+ const caughtCount = Object.keys(game.scene.gameData.dexData).filter((key) => {
+ const species = game.scene.gameData.dexData[key];
+ return species.caughtAttr !== 0n;
+ }).length;
+ expect(caughtCount).toBe(Object.keys(allSpecies).length);
+ await game.runToTitle();
+ game.onNextPrompt("TitlePhase", Mode.TITLE, () => {
+ const currentPhase = game.scene.getCurrentPhase() as TitlePhase;
+ currentPhase.gameMode = GameModes.CLASSIC;
+ currentPhase.end();
+ });
+ game.onNextPrompt("SelectStarterPhase", Mode.STARTER_SELECT, () => {
+ const handler = game.scene.ui.getHandler() as StarterSelectUiHandler;
+ handler.processInput(Button.RIGHT);
+ handler.processInput(Button.V);
+ handler.processInput(Button.V);
+ handler.processInput(Button.V);
+ handler.processInput(Button.ACTION);
+ game.phaseInterceptor.unlock();
+ });
+ await game.phaseInterceptor.run(SelectStarterPhase);
+ let options: OptionSelectItem[];
+ let optionSelectUiHandler: OptionSelectUiHandler;
+ await new Promise((resolve) => {
+ game.onNextPrompt("SelectStarterPhase", Mode.OPTION_SELECT, () => {
+ optionSelectUiHandler = game.scene.ui.getHandler() as OptionSelectUiHandler;
+ options = optionSelectUiHandler.getOptionsWithScroll();
+ resolve();
+ });
+ });
+ expect(options.some(option => option.label === "Add to Party")).toBe(true);
+ expect(options.some(option => option.label === "Toggle IVs")).toBe(true);
+ expect(options.some(option => option.label === "Manage Moves")).toBe(true);
+ expect(options.some(option => option.label === "Use Candies")).toBe(true);
+ expect(options.some(option => option.label === "Cancel")).toBe(true);
+ optionSelectUiHandler.processInput(Button.ACTION);
+
+ await new Promise((resolve) => {
+ game.onNextPrompt("SelectStarterPhase", Mode.STARTER_SELECT, () => {
+ const handler = game.scene.ui.getHandler() as StarterSelectUiHandler;
+ handler.processInput(Button.SUBMIT);
+ });
+ game.onNextPrompt("SelectStarterPhase", Mode.CONFIRM, () => {
+ const handler = game.scene.ui.getHandler() as StarterSelectUiHandler;
+ handler.processInput(Button.ACTION);
+ });
+ game.onNextPrompt("SelectStarterPhase", Mode.SAVE_SLOT, () => {
+ const saveSlotSelectUiHandler = game.scene.ui.getHandler() as SaveSlotSelectUiHandler;
+ saveSlotSelectUiHandler.processInput(Button.ACTION);
+ resolve();
+ });
+ });
+ await game.phaseInterceptor.whenAboutToRun(EncounterPhase);
+
+ expect(game.scene.getParty()[0].species.speciesId).toBe(Species.BULBASAUR);
+ expect(game.scene.getParty()[0].shiny).toBe(true);
+ expect(game.scene.getParty()[0].variant).toBe(2);
+ }, 20000);
+
+ it("Check if first pokemon in party is caterpie from gen 1 and 1rd row, 3rd column", async() => {
+ await game.importData("src/test/utils/saves/everything.prsv");
+ const caughtCount = Object.keys(game.scene.gameData.dexData).filter((key) => {
+ const species = game.scene.gameData.dexData[key];
+ return species.caughtAttr !== 0n;
+ }).length;
+ expect(caughtCount).toBe(Object.keys(allSpecies).length);
+ await game.runToTitle();
+ game.onNextPrompt("TitlePhase", Mode.TITLE, () => {
+ const currentPhase = game.scene.getCurrentPhase() as TitlePhase;
+ currentPhase.gameMode = GameModes.CLASSIC;
+ currentPhase.end();
+ });
+ game.onNextPrompt("SelectStarterPhase", Mode.STARTER_SELECT, () => {
+ const handler = game.scene.ui.getHandler() as StarterSelectUiHandler;
+ handler.processInput(Button.RIGHT);
+ handler.processInput(Button.RIGHT);
+ handler.processInput(Button.RIGHT);
+ handler.processInput(Button.RIGHT);
+ handler.processInput(Button.ACTION);
+ game.phaseInterceptor.unlock();
+ });
+ await game.phaseInterceptor.run(SelectStarterPhase);
+ let options: OptionSelectItem[];
+ let optionSelectUiHandler: OptionSelectUiHandler;
+ await new Promise((resolve) => {
+ game.onNextPrompt("SelectStarterPhase", Mode.OPTION_SELECT, () => {
+ optionSelectUiHandler = game.scene.ui.getHandler() as OptionSelectUiHandler;
+ options = optionSelectUiHandler.getOptionsWithScroll();
+ resolve();
+ });
+ });
+ expect(options.some(option => option.label === "Add to Party")).toBe(true);
+ expect(options.some(option => option.label === "Toggle IVs")).toBe(true);
+ expect(options.some(option => option.label === "Manage Moves")).toBe(true);
+ expect(options.some(option => option.label === "Use Candies")).toBe(true);
+ expect(options.some(option => option.label === "Cancel")).toBe(true);
+ optionSelectUiHandler.processInput(Button.ACTION);
+
+ let starterSelectUiHandler: StarterSelectUiHandler;
+ await new Promise((resolve) => {
+ game.onNextPrompt("SelectStarterPhase", Mode.STARTER_SELECT, () => {
+ starterSelectUiHandler = game.scene.ui.getHandler() as StarterSelectUiHandler;
+ starterSelectUiHandler.processInput(Button.SUBMIT);
+ resolve();
+ });
+ });
+
+ expect(starterSelectUiHandler.starterGens[0]).toBe(0);
+ expect(starterSelectUiHandler.starterCursors[0]).toBe(3);
+ expect(starterSelectUiHandler.cursorObj.x).toBe(132 + 4 * 18);
+ expect(starterSelectUiHandler.cursorObj.y).toBe(10);
+
+ game.onNextPrompt("SelectStarterPhase", Mode.CONFIRM, () => {
+ const handler = game.scene.ui.getHandler() as StarterSelectUiHandler;
+ handler.processInput(Button.ACTION);
+ });
+ game.onNextPrompt("SelectStarterPhase", Mode.SAVE_SLOT, () => {
+ const saveSlotSelectUiHandler = game.scene.ui.getHandler() as SaveSlotSelectUiHandler;
+ saveSlotSelectUiHandler.processInput(Button.ACTION);
+ });
+ await game.phaseInterceptor.whenAboutToRun(EncounterPhase);
+ expect(game.scene.getParty()[0].species.speciesId).toBe(Species.CATERPIE);
+ }, 20000);
+
+ it("Check if first pokemon in party is nidoran_m from gen 1 and 2nd row, 4th column (cursor (9+4)-1)", async() => {
+ await game.importData("src/test/utils/saves/everything.prsv");
+ const caughtCount = Object.keys(game.scene.gameData.dexData).filter((key) => {
+ const species = game.scene.gameData.dexData[key];
+ return species.caughtAttr !== 0n;
+ }).length;
+ expect(caughtCount).toBe(Object.keys(allSpecies).length);
+ await game.runToTitle();
+ game.onNextPrompt("TitlePhase", Mode.TITLE, () => {
+ const currentPhase = game.scene.getCurrentPhase() as TitlePhase;
+ currentPhase.gameMode = GameModes.CLASSIC;
+ currentPhase.end();
+ });
+ game.onNextPrompt("SelectStarterPhase", Mode.STARTER_SELECT, () => {
+ const handler = game.scene.ui.getHandler() as StarterSelectUiHandler;
+ handler.processInput(Button.RIGHT);
+ handler.processInput(Button.RIGHT);
+ handler.processInput(Button.RIGHT);
+ handler.processInput(Button.RIGHT);
+ handler.processInput(Button.DOWN);
+ handler.processInput(Button.ACTION);
+ game.phaseInterceptor.unlock();
+ });
+ await game.phaseInterceptor.run(SelectStarterPhase);
+ let options: OptionSelectItem[];
+ let optionSelectUiHandler: OptionSelectUiHandler;
+ await new Promise((resolve) => {
+ game.onNextPrompt("SelectStarterPhase", Mode.OPTION_SELECT, () => {
+ optionSelectUiHandler = game.scene.ui.getHandler() as OptionSelectUiHandler;
+ options = optionSelectUiHandler.getOptionsWithScroll();
+ resolve();
+ });
+ });
+ expect(options.some(option => option.label === "Add to Party")).toBe(true);
+ expect(options.some(option => option.label === "Toggle IVs")).toBe(true);
+ expect(options.some(option => option.label === "Manage Moves")).toBe(true);
+ expect(options.some(option => option.label === "Use Candies")).toBe(true);
+ expect(options.some(option => option.label === "Cancel")).toBe(true);
+ optionSelectUiHandler.processInput(Button.ACTION);
+
+ let starterSelectUiHandler: StarterSelectUiHandler;
+ await new Promise((resolve) => {
+ game.onNextPrompt("SelectStarterPhase", Mode.STARTER_SELECT, () => {
+ starterSelectUiHandler = game.scene.ui.getHandler() as StarterSelectUiHandler;
+ starterSelectUiHandler.processInput(Button.SUBMIT);
+ resolve();
+ });
+ });
+
+ expect(starterSelectUiHandler.starterGens[0]).toBe(0);
+ expect(starterSelectUiHandler.starterCursors[0]).toBe(12);
+ expect(starterSelectUiHandler.cursorObj.x).toBe(132 + 4 * 18);
+ expect(starterSelectUiHandler.cursorObj.y).toBe(28);
+
+ game.onNextPrompt("SelectStarterPhase", Mode.CONFIRM, () => {
+ const handler = game.scene.ui.getHandler() as StarterSelectUiHandler;
+ handler.processInput(Button.ACTION);
+ });
+ game.onNextPrompt("SelectStarterPhase", Mode.SAVE_SLOT, () => {
+ const saveSlotSelectUiHandler = game.scene.ui.getHandler() as SaveSlotSelectUiHandler;
+ saveSlotSelectUiHandler.processInput(Button.ACTION);
+ });
+ await game.phaseInterceptor.whenAboutToRun(EncounterPhase);
+ expect(game.scene.getParty()[0].species.speciesId).toBe(Species.NIDORAN_M);
+ }, 20000);
+});
diff --git a/src/test/ui/transfer-item.test.ts b/src/test/ui/transfer-item.test.ts
new file mode 100644
index 00000000000..336e5bccd26
--- /dev/null
+++ b/src/test/ui/transfer-item.test.ts
@@ -0,0 +1,100 @@
+import { BerryType } from "#app/enums/berry-type";
+import { Moves } from "#app/enums/moves";
+import { Species } from "#app/enums/species";
+import { Button } from "#app/enums/buttons";
+import * as overrides from "#app/overrides";
+import {
+ BattleEndPhase,
+ SelectModifierPhase
+} from "#app/phases";
+import GameManager from "#app/test/utils/gameManager";
+import ModifierSelectUiHandler from "#app/ui/modifier-select-ui-handler";
+import PartyUiHandler, { PartyUiMode } from "#app/ui/party-ui-handler";
+import { Mode } from "#app/ui/ui";
+import Phaser from "phaser";
+import BBCodeText from "phaser3-rex-plugins/plugins/bbcodetext";
+import { afterEach, beforeAll, beforeEach, describe, expect, it, vi } from "vitest";
+import { getMovePosition } from "../utils/gameManagerUtils";
+
+
+describe("UI - Transfer Items", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(async () => {
+ game = new GameManager(phaserGame);
+ vi.spyOn(overrides, "SINGLE_BATTLE_OVERRIDE", "get").mockReturnValue(true);
+ vi.spyOn(overrides, "STARTING_LEVEL_OVERRIDE", "get").mockReturnValue(100);
+ vi.spyOn(overrides, "STARTING_WAVE_OVERRIDE", "get").mockReturnValue(1);
+ vi.spyOn(overrides, "STARTING_HELD_ITEMS_OVERRIDE", "get").mockReturnValue([
+ { name: "BERRY", count: 1, type: BerryType.SITRUS },
+ { name: "BERRY", count: 2, type: BerryType.APICOT },
+ { name: "BERRY", count: 2, type: BerryType.LUM },
+ ]);
+ vi.spyOn(overrides, "MOVESET_OVERRIDE", "get").mockReturnValue([Moves.DRAGON_CLAW]);
+ vi.spyOn(overrides, "OPP_SPECIES_OVERRIDE", "get").mockReturnValue(Species.MAGIKARP);
+ vi.spyOn(overrides, "OPP_MOVESET_OVERRIDE", "get").mockReturnValue([Moves.SPLASH]);
+
+ await game.startBattle([Species.RAYQUAZA, Species.RAYQUAZA, Species.RAYQUAZA]);
+
+ game.doAttack(getMovePosition(game.scene, 0, Moves.DRAGON_CLAW));
+
+ game.onNextPrompt("SelectModifierPhase", Mode.MODIFIER_SELECT, () => {
+ expect(game.scene.ui.getHandler()).toBeInstanceOf(ModifierSelectUiHandler);
+
+ const handler = game.scene.ui.getHandler() as ModifierSelectUiHandler;
+ handler.setCursor(1);
+ handler.processInput(Button.ACTION);
+
+ game.scene.ui.setModeWithoutClear(Mode.PARTY, PartyUiMode.MODIFIER_TRANSFER);
+ });
+
+ await game.phaseInterceptor.to(BattleEndPhase);
+ });
+
+ it("check red tint for held item limit in transfer menu", async () => {
+ game.onNextPrompt("SelectModifierPhase", Mode.PARTY, () => {
+ expect(game.scene.ui.getHandler()).toBeInstanceOf(PartyUiHandler);
+
+ const handler = game.scene.ui.getHandler() as PartyUiHandler;
+ handler.processInput(Button.ACTION);
+
+ expect(handler.optionsContainer.list.some((option) => (option as BBCodeText).text?.includes("Sitrus Berry"))).toBe(true);
+ expect(handler.optionsContainer.list.some((option) => (option as BBCodeText).text?.includes("Apicot Berry (2)"))).toBe(true);
+ expect(handler.optionsContainer.list.some((option) => RegExp(/Lum Berry\[color.*(2)/).exec((option as BBCodeText).text))).toBe(true);
+
+ game.phaseInterceptor.unlock();
+ });
+
+ await game.phaseInterceptor.to(SelectModifierPhase);
+ }, 20000);
+
+ it("check transfer option for pokemon to transfer to", async () => {
+ game.onNextPrompt("SelectModifierPhase", Mode.PARTY, () => {
+ expect(game.scene.ui.getHandler()).toBeInstanceOf(PartyUiHandler);
+
+ const handler = game.scene.ui.getHandler() as PartyUiHandler;
+ handler.processInput(Button.ACTION); // select Pokemon
+ handler.processInput(Button.ACTION); // select held item (Sitrus Berry)
+
+ handler.setCursor(1); // move to other Pokemon
+ handler.processInput(Button.ACTION); // select Pokemon
+
+ expect(handler.optionsContainer.list.some((option) => (option as BBCodeText).text?.includes("Transfer"))).toBe(true);
+
+ game.phaseInterceptor.unlock();
+ });
+
+ await game.phaseInterceptor.to(SelectModifierPhase);
+ }, 20000);
+});
diff --git a/src/test/utils/TextInterceptor.ts b/src/test/utils/TextInterceptor.ts
new file mode 100644
index 00000000000..34b55aa30ac
--- /dev/null
+++ b/src/test/utils/TextInterceptor.ts
@@ -0,0 +1,17 @@
+export default class TextInterceptor {
+ private scene;
+ public logs = [];
+ constructor(scene) {
+ this.scene = scene;
+ scene.messageWrapper = this;
+ }
+
+ showText(text: string, delay?: integer, callback?: Function, callbackDelay?: integer, prompt?: boolean, promptDelay?: integer): void {
+ console.log(text);
+ this.logs.push(text);
+ }
+
+ getLatestMessage(): string {
+ return this.logs.pop();
+ }
+}
diff --git a/src/test/utils/errorInterceptor.ts b/src/test/utils/errorInterceptor.ts
new file mode 100644
index 00000000000..7f06c47fd39
--- /dev/null
+++ b/src/test/utils/errorInterceptor.ts
@@ -0,0 +1,50 @@
+export default class ErrorInterceptor {
+ private static instance: ErrorInterceptor;
+ public running;
+
+ constructor() {
+ this.running = [];
+ }
+
+ public static getInstance(): ErrorInterceptor {
+ if (!ErrorInterceptor.instance) {
+ ErrorInterceptor.instance = new ErrorInterceptor();
+ }
+ return ErrorInterceptor.instance;
+ }
+
+ clear() {
+ this.running = [];
+ }
+
+ add(obj) {
+ this.running.push(obj);
+ }
+
+ remove(obj) {
+ const index = this.running.indexOf(obj);
+ if (index !== -1) {
+ this.running.splice(index, 1);
+ }
+ }
+}
+
+
+process.on("uncaughtException", (error) => {
+ console.log(error);
+ const toStop = ErrorInterceptor.getInstance().running;
+ for (const elm of toStop) {
+ elm.rejectAll(error);
+ }
+ global.testFailed = true;
+});
+
+// Global error handler for unhandled promise rejections
+process.on("unhandledRejection", (reason, promise) => {
+ console.log(reason);
+ const toStop = ErrorInterceptor.getInstance().running;
+ for (const elm of toStop) {
+ elm.rejectAll(reason);
+ }
+ global.testFailed = true;
+});
diff --git a/src/test/utils/fakeMobile.html b/src/test/utils/fakeMobile.html
new file mode 100644
index 00000000000..6fa0406f361
--- /dev/null
+++ b/src/test/utils/fakeMobile.html
@@ -0,0 +1,50 @@
+
+
+
+
+
+
+ A
+
+
+ B
+
+
+
+ R
+
+
+ V
+
+
+ C
+
+
+
+
+
+ F
+
+
+ G
+
+
+ E
+
+
+ N
+
+
+
+
+
\ No newline at end of file
diff --git a/src/test/utils/gameManager.ts b/src/test/utils/gameManager.ts
new file mode 100644
index 00000000000..84d39024dc9
--- /dev/null
+++ b/src/test/utils/gameManager.ts
@@ -0,0 +1,318 @@
+import GameWrapper from "#app/test/utils/gameWrapper";
+import {Mode} from "#app/ui/ui";
+import {generateStarter, waitUntil} from "#app/test/utils/gameManagerUtils";
+import {
+ CommandPhase,
+ EncounterPhase,
+ FaintPhase,
+ LoginPhase,
+ NewBattlePhase,
+ SelectStarterPhase,
+ TitlePhase, TurnInitPhase,
+ TurnStartPhase,
+} from "#app/phases";
+import BattleScene from "#app/battle-scene.js";
+import PhaseInterceptor from "#app/test/utils/phaseInterceptor";
+import TextInterceptor from "#app/test/utils/TextInterceptor";
+import {GameModes, getGameMode} from "#app/game-mode";
+import fs from "fs";
+import {AES, enc} from "crypto-js";
+import {updateUserInfo} from "#app/account";
+import InputsHandler from "#app/test/utils/inputsHandler";
+import ErrorInterceptor from "#app/test/utils/errorInterceptor";
+import {EnemyPokemon, PlayerPokemon} from "#app/field/pokemon";
+import {MockClock} from "#app/test/utils/mocks/mockClock";
+import {Command} from "#app/ui/command-ui-handler";
+import ModifierSelectUiHandler from "#app/ui/modifier-select-ui-handler";
+import PartyUiHandler, {PartyUiMode} from "#app/ui/party-ui-handler";
+import Trainer from "#app/field/trainer";
+import { ExpNotification } from "#enums/exp-notification";
+import { GameDataType } from "#enums/game-data-type";
+import { PlayerGender } from "#enums/player-gender";
+import { Species } from "#enums/species";
+import { Button } from "#enums/buttons";
+import { BattlerIndex } from "#app/battle.js";
+import TargetSelectUiHandler from "#app/ui/target-select-ui-handler.js";
+
+/**
+ * Class to manage the game state and transitions between phases.
+ */
+export default class GameManager {
+ public gameWrapper: GameWrapper;
+ public scene: BattleScene;
+ public phaseInterceptor: PhaseInterceptor;
+ public textInterceptor: TextInterceptor;
+ public inputsHandler: InputsHandler;
+
+ /**
+ * Creates an instance of GameManager.
+ * @param phaserGame - The Phaser game instance.
+ * @param bypassLogin - Whether to bypass the login phase.
+ */
+ constructor(phaserGame: Phaser.Game, bypassLogin: boolean = true) {
+ localStorage.clear();
+ ErrorInterceptor.getInstance().clear();
+ BattleScene.prototype.randBattleSeedInt = (arg) => arg-1;
+ this.gameWrapper = new GameWrapper(phaserGame, bypassLogin);
+ this.scene = new BattleScene();
+ this.phaseInterceptor = new PhaseInterceptor(this.scene);
+ this.textInterceptor = new TextInterceptor(this.scene);
+ this.gameWrapper.setScene(this.scene);
+ }
+
+ /**
+ * Sets the game mode.
+ * @param mode - The mode to set.
+ */
+ setMode(mode: Mode) {
+ this.scene.ui?.setMode(mode);
+ }
+
+ /**
+ * Waits until the specified mode is set.
+ * @param mode - The mode to wait for.
+ * @returns A promise that resolves when the mode is set.
+ */
+ waitMode(mode: Mode): Promise {
+ return new Promise(async (resolve) => {
+ await waitUntil(() => this.scene.ui?.getMode() === mode);
+ return resolve();
+ });
+ }
+
+ /**
+ * Ends the current phase.
+ */
+ endPhase() {
+ this.scene.getCurrentPhase().end();
+ }
+
+ /**
+ * Adds an action to be executed on the next prompt.
+ * @param phaseTarget - The target phase.
+ * @param mode - The mode to wait for.
+ * @param callback - The callback to execute.
+ * @param expireFn - Optional function to determine if the prompt has expired.
+ */
+ onNextPrompt(phaseTarget: string, mode: Mode, callback: () => void, expireFn?: () => void, awaitingActionInput: boolean = false) {
+ this.phaseInterceptor.addToNextPrompt(phaseTarget, mode, callback, expireFn, awaitingActionInput);
+ }
+
+ /**
+ * Runs the game to the title phase.
+ * @returns A promise that resolves when the title phase is reached.
+ */
+ async runToTitle(): Promise {
+ await this.phaseInterceptor.whenAboutToRun(LoginPhase);
+ this.phaseInterceptor.pop();
+ await this.phaseInterceptor.run(TitlePhase);
+
+ this.scene.gameSpeed = 5;
+ this.scene.moveAnimations = false;
+ this.scene.showLevelUpStats = false;
+ this.scene.expGainsSpeed = 3;
+ this.scene.expParty = ExpNotification.SKIP;
+ this.scene.hpBarSpeed = 3;
+ this.scene.enableTutorials = false;
+ this.scene.gameData.gender = PlayerGender.MALE;
+
+ }
+
+ /**
+ * Runs the game to the summon phase.
+ * @param species - Optional array of species to summon.
+ * @returns A promise that resolves when the summon phase is reached.
+ */
+ async runToSummon(species?: Species[]) {
+ await this.runToTitle();
+
+ this.onNextPrompt("TitlePhase", Mode.TITLE, () => {
+ this.scene.gameMode = getGameMode(GameModes.CLASSIC);
+ const starters = generateStarter(this.scene, species);
+ const selectStarterPhase = new SelectStarterPhase(this.scene);
+ this.scene.pushPhase(new EncounterPhase(this.scene, false));
+ selectStarterPhase.initBattle(starters);
+ });
+
+ await this.phaseInterceptor.run(EncounterPhase);
+ }
+
+ /**
+ * Transitions to the start of a battle.
+ * @param species - Optional array of species to start the battle with.
+ * @returns A promise that resolves when the battle is started.
+ */
+ async startBattle(species?: Species[]) {
+ await this.runToSummon(species);
+
+ this.onNextPrompt("CheckSwitchPhase", Mode.CONFIRM, () => {
+ this.setMode(Mode.MESSAGE);
+ this.endPhase();
+ }, () => this.isCurrentPhase(CommandPhase) || this.isCurrentPhase(TurnInitPhase));
+
+ this.onNextPrompt("CheckSwitchPhase", Mode.CONFIRM, () => {
+ this.setMode(Mode.MESSAGE);
+ this.endPhase();
+ }, () => this.isCurrentPhase(CommandPhase) || this.isCurrentPhase(TurnInitPhase));
+
+ await this.phaseInterceptor.to(CommandPhase);
+ console.log("==================[New Turn]==================");
+ }
+
+ /**
+ * Emulate a player attack
+ * @param movePosition the index of the move in the pokemon's moveset array
+ */
+ doAttack(movePosition: integer) {
+ this.onNextPrompt("CommandPhase", Mode.COMMAND, () => {
+ this.scene.ui.setMode(Mode.FIGHT, (this.scene.getCurrentPhase() as CommandPhase).getFieldIndex());
+ });
+ this.onNextPrompt("CommandPhase", Mode.FIGHT, () => {
+ (this.scene.getCurrentPhase() as CommandPhase).handleCommand(Command.FIGHT, movePosition, false);
+ });
+ }
+
+ /**
+ * Emulate a player's target selection after an attack is chosen,
+ * usually called after {@linkcode doAttack} in a double battle.
+ * @param {BattlerIndex} targetIndex the index of the attack target
+ */
+ doSelectTarget(targetIndex: BattlerIndex) {
+ this.onNextPrompt("SelectTargetPhase", Mode.TARGET_SELECT, () => {
+ const handler = this.scene.ui.getHandler() as TargetSelectUiHandler;
+ handler.setCursor(targetIndex);
+ handler.processInput(Button.ACTION);
+ }, () => this.isCurrentPhase(CommandPhase) || this.isCurrentPhase(TurnStartPhase));
+ }
+
+ /** Faint all opponents currently on the field */
+ async doKillOpponents() {
+ await this.killPokemon(this.scene.currentBattle.enemyParty[0]);
+ if (this.scene.currentBattle.double) {
+ await this.killPokemon(this.scene.currentBattle.enemyParty[1]);
+ }
+ }
+
+ /** Emulate selecting a modifier (item) */
+ doSelectModifier() {
+ this.onNextPrompt("SelectModifierPhase", Mode.MODIFIER_SELECT, () => {
+ const handler = this.scene.ui.getHandler() as ModifierSelectUiHandler;
+ handler.processInput(Button.CANCEL);
+ }, () => this.isCurrentPhase(CommandPhase) || this.isCurrentPhase(NewBattlePhase), true);
+
+ this.onNextPrompt("SelectModifierPhase", Mode.CONFIRM, () => {
+ const handler = this.scene.ui.getHandler() as ModifierSelectUiHandler;
+ handler.processInput(Button.ACTION);
+ }, () => this.isCurrentPhase(CommandPhase) || this.isCurrentPhase(NewBattlePhase));
+ }
+
+ forceOpponentToSwitch() {
+ const originalMatchupScore = Trainer.prototype.getPartyMemberMatchupScores;
+ Trainer.prototype.getPartyMemberMatchupScores = () => {
+ Trainer.prototype.getPartyMemberMatchupScores = originalMatchupScore;
+ return [[1, 100], [1, 100]];
+ };
+ }
+
+ /** Transition to the next upcoming {@linkcode CommandPhase} */
+ async toNextTurn() {
+ await this.phaseInterceptor.to(CommandPhase);
+ }
+
+ /** Emulate selecting a modifier (item) and transition to the next upcoming {@linkcode CommandPhase} */
+ async toNextWave() {
+ this.doSelectModifier();
+
+ this.onNextPrompt("CheckSwitchPhase", Mode.CONFIRM, () => {
+ this.setMode(Mode.MESSAGE);
+ this.endPhase();
+ }, () => this.isCurrentPhase(TurnInitPhase));
+
+ await this.toNextTurn();
+ }
+
+ /**
+ * Checks if the player has won the battle.
+ * @returns True if the player has won, otherwise false.
+ */
+ isVictory() {
+ return this.scene.currentBattle.enemyParty.every(pokemon => pokemon.isFainted());
+ }
+
+ /**
+ * Checks if the current phase matches the target phase.
+ * @param phaseTarget - The target phase.
+ * @returns True if the current phase matches the target phase, otherwise false.
+ */
+ isCurrentPhase(phaseTarget) {
+ const targetName = typeof phaseTarget === "string" ? phaseTarget : phaseTarget.name;
+ return this.scene.getCurrentPhase().constructor.name === targetName;
+ }
+
+ /**
+ * Checks if the current mode matches the target mode.
+ * @param mode - The target mode.
+ * @returns True if the current mode matches the target mode, otherwise false.
+ */
+ isCurrentMode(mode: Mode) {
+ return this.scene.ui?.getMode() === mode;
+ }
+
+ /**
+ * Exports the save data to import it in a test game.
+ * @returns A promise that resolves with the exported save data.
+ */
+ exportSaveToTest(): Promise {
+ return new Promise(async (resolve) => {
+ await this.scene.gameData.saveAll(this.scene, true, true, true, true);
+ this.scene.reset(true);
+ await waitUntil(() => this.scene.ui?.getMode() === Mode.TITLE);
+ await this.scene.gameData.tryExportData(GameDataType.SESSION, 0);
+ await waitUntil(() => localStorage.hasOwnProperty("toExport"));
+ return resolve(localStorage.getItem("toExport"));
+ });
+ }
+
+ /**
+ * Imports game data from a file.
+ * @param path - The path to the data file.
+ * @returns A promise that resolves with a tuple containing a boolean indicating success and an integer status code.
+ */
+ async importData(path): Promise<[boolean, integer]> {
+ const saveKey = "x0i2O7WRiANTqPmZ";
+ const dataRaw = fs.readFileSync(path, {encoding: "utf8", flag: "r"});
+ let dataStr = AES.decrypt(dataRaw, saveKey).toString(enc.Utf8);
+ dataStr = this.scene.gameData.convertSystemDataStr(dataStr);
+ const systemData = this.scene.gameData.parseSystemData(dataStr);
+ const valid = !!systemData.dexData && !!systemData.timestamp;
+ if (valid) {
+ await updateUserInfo();
+ await this.scene.gameData.initSystem(dataStr);
+ }
+ return updateUserInfo();
+ }
+
+ async killPokemon(pokemon: PlayerPokemon | EnemyPokemon) {
+ (this.scene.time as MockClock).overrideDelay = 0.01;
+ return new Promise(async(resolve, reject) => {
+ pokemon.hp = 0;
+ this.scene.pushPhase(new FaintPhase(this.scene, pokemon.getBattlerIndex(), true));
+ await this.phaseInterceptor.to(FaintPhase).catch((e) => reject(e));
+ (this.scene.time as MockClock).overrideDelay = undefined;
+ resolve();
+ });
+ }
+
+ /**
+ * Switch pokemon and transition to the enemy command phase
+ * @param pokemonIndex the index of the pokemon in your party to switch to
+ */
+ doSwitchPokemon(pokemonIndex: number) {
+ this.onNextPrompt("CommandPhase", Mode.COMMAND, () => {
+ this.scene.ui.setMode(Mode.PARTY, PartyUiMode.SWITCH, (this.scene.getCurrentPhase() as CommandPhase).getPokemon().getFieldIndex(), null, PartyUiHandler.FilterNonFainted);
+ });
+ this.onNextPrompt("CommandPhase", Mode.PARTY, () => {
+ (this.scene.getCurrentPhase() as CommandPhase).handleCommand(Command.POKEMON, pokemonIndex, false);
+ });
+ }
+}
diff --git a/src/test/utils/gameManagerUtils.ts b/src/test/utils/gameManagerUtils.ts
new file mode 100644
index 00000000000..db9ba7174a9
--- /dev/null
+++ b/src/test/utils/gameManagerUtils.ts
@@ -0,0 +1,87 @@
+// Function to convert Blob to string
+import {getDailyRunStarters} from "#app/data/daily-run";
+import {Gender} from "#app/data/gender";
+import {Species} from "#enums/species";
+import {Starter} from "#app/ui/starter-select-ui-handler";
+import {GameModes, getGameMode} from "#app/game-mode";
+import {getPokemonSpecies, getPokemonSpeciesForm} from "#app/data/pokemon-species";
+import {PlayerPokemon} from "#app/field/pokemon";
+
+export function blobToString(blob) {
+ return new Promise((resolve, reject) => {
+ const reader = new FileReader();
+
+ reader.onloadend = () => {
+ resolve(reader.result);
+ };
+
+ reader.onerror = () => {
+ reject(new Error("Error reading Blob as string"));
+ };
+
+ reader.readAsText(blob);
+ });
+}
+
+
+export function holdOn(ms: number) {
+ return new Promise(resolve => setTimeout(resolve, ms));
+}
+
+export function generateStarter(scene, species?: Species[]) {
+ const seed = "test";
+ const starters = getTestRunStarters(scene, seed, species);
+ const startingLevel = scene.gameMode.getStartingLevel();
+ for (const starter of starters) {
+ const starterProps = scene.gameData.getSpeciesDexAttrProps(starter.species, starter.dexAttr);
+ const starterFormIndex = Math.min(starterProps.formIndex, Math.max(starter.species.forms.length - 1, 0));
+ const starterGender = starter.species.malePercent !== null
+ ? !starterProps.female ? Gender.MALE : Gender.FEMALE
+ : Gender.GENDERLESS;
+ const starterPokemon = scene.addPlayerPokemon(starter.species, startingLevel, starter.abilityIndex, starterFormIndex, starterGender, starterProps.shiny, starterProps.variant, undefined, starter.nature);
+ starter.moveset = starterPokemon.moveset;
+ }
+ return starters;
+}
+
+function getTestRunStarters(scene, seed, species) {
+ if (!species) {
+ return getDailyRunStarters(scene, seed);
+ }
+ const starters: Starter[] = [];
+ const startingLevel = getGameMode(GameModes.CLASSIC).getStartingLevel();
+
+ for (const specie of species) {
+ const starterSpeciesForm = getPokemonSpeciesForm(specie, 0);
+ const starterSpecies = getPokemonSpecies(starterSpeciesForm.speciesId);
+ const pokemon = new PlayerPokemon(scene, starterSpecies, startingLevel, undefined, 0, undefined, undefined, undefined, undefined, undefined, undefined);
+ const starter: Starter = {
+ species: starterSpecies,
+ dexAttr: pokemon.getDexAttr(),
+ abilityIndex: pokemon.abilityIndex,
+ passive: false,
+ nature: pokemon.getNature(),
+ pokerus: pokemon.pokerus
+ };
+ starters.push(starter);
+ }
+ return starters;
+}
+
+export function waitUntil(truth) {
+ return new Promise(resolve => {
+ const interval = setInterval(() => {
+ if (truth()) {
+ clearInterval(interval);
+ resolve(true);
+ }
+ }, 1000);
+ });
+}
+
+export function getMovePosition(scene, pokemonIndex, moveIndex) {
+ const playerPokemon = scene.getPlayerField()[pokemonIndex];
+ const moveSet = playerPokemon.getMoveset();
+ const index = moveSet.findIndex((move) => move.moveId === moveIndex);
+ return index;
+}
diff --git a/src/test/utils/gameWrapper.ts b/src/test/utils/gameWrapper.ts
new file mode 100644
index 00000000000..b1b00c8e15d
--- /dev/null
+++ b/src/test/utils/gameWrapper.ts
@@ -0,0 +1,260 @@
+/* eslint-disable */
+// @ts-nocheck
+import * as main from "#app/main";
+import fs from "fs";
+import InputManager = Phaser.Input.InputManager;
+import KeyboardManager = Phaser.Input.Keyboard.KeyboardManager;
+import KeyboardPlugin = Phaser.Input.Keyboard.KeyboardPlugin;
+import GamepadPlugin = Phaser.Input.Gamepad.GamepadPlugin;
+import EventEmitter = Phaser.Events.EventEmitter;
+import UpdateList = Phaser.GameObjects.UpdateList;
+import MockGraphics from "#app/test/utils/mocks/mocksContainer/mockGraphics";
+import MockTextureManager from "#app/test/utils/mocks/mockTextureManager";
+import Phaser from "phaser";
+import {blobToString} from "#app/test/utils/gameManagerUtils";
+import {vi} from "vitest";
+import mockLocalStorage from "#app/test/utils/mocks/mockLocalStorage";
+import mockConsoleLog from "#app/test/utils/mocks/mockConsoleLog";
+import MockLoader from "#app/test/utils/mocks/mockLoader";
+import {MockFetch} from "#app/test/utils/mocks/mockFetch";
+import * as Utils from "#app/utils";
+import InputText from "phaser3-rex-plugins/plugins/inputtext";
+import {MockClock} from "#app/test/utils/mocks/mockClock";
+import BattleScene from "#app/battle-scene.js";
+import {MoveAnim} from "#app/data/battle-anims";
+import Pokemon from "#app/field/pokemon";
+import * as battleScene from "#app/battle-scene";
+import MockImage from "#app/test/utils/mocks/mocksContainer/mockImage.js";
+
+Object.defineProperty(window, "localStorage", {
+ value: mockLocalStorage(),
+});
+Object.defineProperty(window, "console", {
+ value: mockConsoleLog(false),
+});
+
+
+InputText.prototype.setElement = () => null;
+InputText.prototype.resize = () => null;
+Phaser.GameObjects.Image = MockImage;
+window.URL.createObjectURL = (blob: Blob) => {
+ blobToString(blob).then((data: string) => {
+ localStorage.setItem("toExport", data);
+ })
+ return null;
+};
+navigator.getGamepads = vi.fn().mockReturnValue([]);
+global.fetch = vi.fn(MockFetch);
+Utils.setCookie(Utils.sessionIdKey, 'fake_token');
+
+
+window.matchMedia = () => ({
+ matches: false,
+});
+
+
+/**
+ * Sets this object's position relative to another object with a given offset
+ * @param guideObject {@linkcode Phaser.GameObjects.GameObject} to base the position off of
+ * @param x The relative x position
+ * @param y The relative y position
+ */
+const setPositionRelative = function (guideObject: any, x: number, y: number) {
+ const offsetX = guideObject.width * (-0.5 + (0.5 - guideObject.originX));
+ const offsetY = guideObject.height * (-0.5 + (0.5 - guideObject.originY));
+ this.setPosition(guideObject.x + offsetX + x, guideObject.y + offsetY + y);
+};
+
+Phaser.GameObjects.Container.prototype.setPositionRelative = setPositionRelative;
+Phaser.GameObjects.Sprite.prototype.setPositionRelative = setPositionRelative;
+Phaser.GameObjects.Image.prototype.setPositionRelative = setPositionRelative;
+Phaser.GameObjects.NineSlice.prototype.setPositionRelative = setPositionRelative;
+Phaser.GameObjects.Text.prototype.setPositionRelative = setPositionRelative;
+Phaser.GameObjects.Rectangle.prototype.setPositionRelative = setPositionRelative;
+
+
+export default class GameWrapper {
+ public game: Phaser.Game;
+ public scene: BattleScene;
+
+ constructor(phaserGame: Phaser.Game, bypassLogin: boolean) {
+ Phaser.Math.RND.sow([ 'test' ]);
+ vi.spyOn(Utils, "apiFetch", "get").mockReturnValue(fetch);
+ if (bypassLogin) {
+ vi.spyOn(battleScene, "bypassLogin", "get").mockReturnValue(true);
+ }
+ this.game = phaserGame;
+ MoveAnim.prototype.getAnim = () => ({
+ frames: {},
+ });
+ Pokemon.prototype.enableMask = () => null;
+ }
+
+ setScene(scene: BattleScene) {
+ this.scene = scene;
+ this.injectMandatory();
+ this.scene.preload && this.scene.preload();
+ this.scene.create();
+ }
+
+ injectMandatory() {
+ this.game.config = {
+ seed: ["test"],
+ }
+ this.scene.game = this.game;
+ this.game.renderer = {
+ maxTextures: -1,
+ gl: {},
+ deleteTexture: () => null,
+ canvasToTexture: () => ({}),
+ createCanvasTexture: () => ({}),
+ pipelines: {
+ add: () => null,
+ },
+ };
+ this.scene.renderer = this.game.renderer;
+ this.scene.children = {
+ removeAll: () => null,
+ };
+
+ this.scene.sound = {
+ play: () => null,
+ pause: () => null,
+ setRate: () => null,
+ add: () => this.scene.sound,
+ get: () => ({...this.scene.sound, totalDuration: 0}),
+ getAllPlaying: () => [],
+ manager: {
+ game: this.game,
+ },
+ setVolume: () => null,
+ stopByKey: () => null,
+ on: (evt, callback) => callback(),
+ key: "",
+ };
+
+ this.scene.cameras = {
+ main: {
+ setPostPipeline: () => null,
+ removePostPipeline: () => null,
+ },
+ }
+
+ this.scene.tweens = {
+ add: (data) => {
+ if (data.onComplete) {
+ data.onComplete();
+ }
+ },
+ getTweensOf: () => ([]),
+ killTweensOf: () => ([]),
+ chain: () => null,
+ addCounter: (data) => {
+ if (data.onComplete) {
+ data.onComplete();
+ }
+ },
+ };
+
+ this.scene.anims = this.game.anims;
+ this.scene.cache = this.game.cache;
+ this.scene.plugins = this.game.plugins;
+ this.scene.registry = this.game.registry;
+ this.scene.scale = this.game.scale;
+ this.scene.textures = this.game.textures;
+ this.scene.events = this.game.events;
+ this.scene.manager = new InputManager(this.game, {});
+ this.scene.manager.keyboard = new KeyboardManager(this.scene);
+ this.scene.pluginEvents = new EventEmitter();
+ this.scene.domContainer = {} as HTMLDivElement;
+ this.scene.spritePipeline = {};
+ this.scene.fieldSpritePipeline = {};
+ this.scene.load = new MockLoader(this.scene);
+ this.scene.sys = {
+ queueDepthSort: () => null,
+ anims: this.game.anims,
+ game: this.game,
+ textures: {
+ addCanvas: () => ({
+ get: () => ({ // this.frame in Text.js
+ source: {},
+ setSize: () => null,
+ glTexture: () => ({
+ spectorMetadata: {},
+ }),
+ }),
+ })
+ },
+ cache: this.scene.load.cacheManager,
+ scale: this.game.scale,
+ // _scene.sys.scale = new ScaleManager(_scene);
+ // events: {
+ // on: () => null,
+ // },
+ events: new EventEmitter(),
+ settings: {
+ loader: {
+ key: 'battle',
+ }
+ },
+ input: this.game.input,
+ };
+ const mockTextureManager = new MockTextureManager(this.scene);
+ this.scene.add = mockTextureManager.add;
+ this.scene.sys.displayList = this.scene.add.displayList;
+ this.scene.sys.updateList = new UpdateList(this.scene);
+ this.scene.systems = this.scene.sys;
+ this.scene.input = this.game.input;
+ this.scene.scene = this.scene;
+ this.scene.input.keyboard = new KeyboardPlugin(this.scene);
+ this.scene.input.gamepad = new GamepadPlugin(this.scene);
+ this.scene.cachedFetch = (url, init) => {
+ return new Promise((resolve) => {
+ // need to remove that if later we want to test battle-anims
+ const newUrl = url.includes('./battle-anims/') ? prependPath('./battle-anims/tackle.json') : prependPath(url);
+ let raw;
+ try {
+ raw = fs.readFileSync(newUrl, {encoding: "utf8", flag: "r"});
+ } catch(e) {
+ return resolve(createFetchBadResponse({}));
+ }
+ const data = JSON.parse(raw);
+ const response = createFetchResponse(data);
+ return resolve(response);
+ });
+ };
+ this.scene.make = {
+ graphics: (config) => new MockGraphics(mockTextureManager, config),
+ rexTransitionImagePack: () => ({
+ transit: () => null,
+ }),
+ };
+ this.scene.time = new MockClock(this.scene);
+ }
+}
+
+function prependPath(originalPath) {
+ const prefix = "public";
+ if (originalPath.startsWith("./")) {
+ return originalPath.replace("./", `${prefix}/`);
+ }
+ return originalPath;
+}
+// Simulate fetch response
+function createFetchResponse(data) {
+ return {
+ ok: true,
+ status: 200,
+ json: () => Promise.resolve(data),
+ text: () => Promise.resolve(JSON.stringify(data)),
+ };
+}
+// Simulate fetch response
+function createFetchBadResponse(data) {
+ return {
+ ok: false,
+ status: 404,
+ json: () => Promise.resolve(data),
+ text: () => Promise.resolve(JSON.stringify(data)),
+ };
+}
\ No newline at end of file
diff --git a/src/test/utils/inputsHandler.ts b/src/test/utils/inputsHandler.ts
new file mode 100644
index 00000000000..043dcffbdb9
--- /dev/null
+++ b/src/test/utils/inputsHandler.ts
@@ -0,0 +1,113 @@
+import BattleScene from "#app/battle-scene";
+import Phaser from "phaser";
+import {InputsController} from "#app/inputs-controller";
+import pad_xbox360 from "#app/configs/inputs/pad_xbox360";
+import {holdOn} from "#app/test/utils/gameManagerUtils";
+import TouchControl from "#app/touch-controls";
+import { JSDOM } from "jsdom";
+import fs from "fs";
+
+
+export default class InputsHandler {
+ private scene: BattleScene;
+ private events: Phaser.Events.EventEmitter;
+ private inputController: InputsController;
+ public log = [];
+ public logUp = [];
+ private fakePad: Fakepad;
+ private fakeMobile: FakeMobile;
+
+ constructor(scene: BattleScene) {
+ this.scene = scene;
+ this.inputController = this.scene.inputController;
+ this.fakePad = new Fakepad(pad_xbox360);
+ this.fakeMobile = new FakeMobile();
+ this.scene.input.gamepad.gamepads.push(this.fakePad);
+ this.init();
+ }
+
+ pressTouch(button: string, duration: integer): Promise {
+ return new Promise(async (resolve) => {
+ this.fakeMobile.touchDown(button);
+ await holdOn(duration);
+ this.fakeMobile.touchUp(button);
+ resolve();
+ });
+ }
+
+ pressGamepadButton(button: integer, duration: integer): Promise {
+ return new Promise(async (resolve) => {
+ this.scene.input.gamepad.emit("down", this.fakePad, {index: button});
+ await holdOn(duration);
+ this.scene.input.gamepad.emit("up", this.fakePad, {index: button});
+ resolve();
+ });
+ }
+
+ pressKeyboardKey(key: integer, duration: integer): Promise {
+ return new Promise(async (resolve) => {
+ this.scene.input.keyboard.emit("keydown", {keyCode: key});
+ await holdOn(duration);
+ this.scene.input.keyboard.emit("keyup", {keyCode: key});
+ resolve();
+ });
+ }
+
+ init(): void {
+ const touchControl = new TouchControl(this.scene);
+ touchControl.deactivatePressedKey(); //test purpose
+ this.events = this.inputController.events;
+ this.scene.input.gamepad.emit("connected", this.fakePad);
+ this.listenInputs();
+ }
+
+ listenInputs(): void {
+ this.events.on("input_down", (event) => {
+ this.log.push({type: "input_down", button: event.button});
+ }, this);
+
+ this.events.on("input_up", (event) => {
+ this.logUp.push({type: "input_up", button: event.button});
+ }, this);
+ }
+}
+
+class Fakepad extends Phaser.Input.Gamepad.Gamepad {
+ public id: string;
+ public index: number;
+
+ constructor(pad) {
+ super(undefined, {...pad, buttons: pad.deviceMapping, axes: []});
+ this.id = "xbox_360_fakepad";
+ this.index = 0;
+ }
+}
+
+class FakeMobile {
+ constructor() {
+ const fakeMobilePage = fs.readFileSync("./src/test/utils/fakeMobile.html", {encoding: "utf8", flag: "r"});
+ const dom = new JSDOM(fakeMobilePage);
+ Object.defineProperty(window, "document", {
+ value: dom.window.document,
+ configurable: true,
+ });
+ }
+
+ touchDown(button: string) {
+ const node = document.querySelector(`[data-key][id='${button}']`);
+ if (!node) {
+ return;
+ }
+ const event = new Event("touchstart");
+ node.dispatchEvent(event);
+ }
+
+ touchUp(button: string) {
+ const node = document.querySelector(`[data-key][id='${button}']`);
+ if (!node) {
+ return;
+ }
+ const event = new Event("touchend");
+ node.dispatchEvent(event);
+ }
+}
diff --git a/src/test/utils/misc.test.ts b/src/test/utils/misc.test.ts
new file mode 100644
index 00000000000..da67fb48192
--- /dev/null
+++ b/src/test/utils/misc.test.ts
@@ -0,0 +1,79 @@
+import {afterEach, beforeAll, beforeEach, describe, expect, it, vi} from "vitest";
+import Phaser from "phaser";
+import GameManager from "#app/test/utils/gameManager";
+import {apiFetch} from "#app/utils";
+import {waitUntil} from "#app/test/utils/gameManagerUtils";
+
+describe("Test misc", () => {
+ let phaserGame: Phaser.Game;
+ let game: GameManager;
+
+ beforeAll(() => {
+ phaserGame = new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
+
+ afterEach(() => {
+ game.phaseInterceptor.restoreOg();
+ });
+
+ beforeEach(() => {
+ game = new GameManager(phaserGame);
+ });
+
+ it("test fetch mock async", async () => {
+ const spy = vi.fn();
+ await fetch("https://localhost:8080/account/info").then(response => {
+ expect(response.status).toBe(200);
+ expect(response.ok).toBe(true);
+ return response.json();
+ }).then(data => {
+ spy(); // Call the spy function
+ expect(data).toEqual({"username":"greenlamp","lastSessionSlot":0});
+ });
+ expect(spy).toHaveBeenCalled();
+ });
+
+ it("test apifetch mock async", async () => {
+ const spy = vi.fn();
+ await apiFetch("https://localhost:8080/account/info").then(response => {
+ expect(response.status).toBe(200);
+ expect(response.ok).toBe(true);
+ return response.json();
+ }).then(data => {
+ spy(); // Call the spy function
+ expect(data).toEqual({"username":"greenlamp","lastSessionSlot":0});
+ });
+ expect(spy).toHaveBeenCalled();
+ });
+
+ it("test fetch mock sync", async () => {
+ const response = await fetch("https://localhost:8080/account/info");
+ const data = await response.json();
+
+ expect(response.ok).toBe(true);
+ expect(response.status).toBe(200);
+ expect(data).toEqual({"username":"greenlamp","lastSessionSlot":0});
+ });
+
+ it("test apifetch mock sync", async () => {
+ const data = await game.scene.cachedFetch("./battle-anims/splishy-splash.json");
+ expect(data).not.toBeUndefined();
+ });
+
+ it("testing wait phase queue", async () => {
+ const fakeScene = {
+ phaseQueue: [1, 2, 3] // Initially not empty
+ };
+ setTimeout(() => {
+ fakeScene.phaseQueue = [];
+ }, 500);
+ const spy = vi.fn();
+ await waitUntil(() => fakeScene.phaseQueue.length === 0).then(result => {
+ expect(result).toBe(true);
+ spy(); // Call the spy function
+ });
+ expect(spy).toHaveBeenCalled();
+ });
+});
diff --git a/src/test/utils/mocks/mockClock.ts b/src/test/utils/mocks/mockClock.ts
new file mode 100644
index 00000000000..ba12dc002cc
--- /dev/null
+++ b/src/test/utils/mocks/mockClock.ts
@@ -0,0 +1,24 @@
+import Clock = Phaser.Time.Clock;
+
+
+export class MockClock extends Clock {
+ public overrideDelay: number;
+ constructor(scene) {
+ super(scene);
+ this.overrideDelay = undefined;
+ setInterval(() => {
+ /*
+ To simulate frame update
+ eventEmitter.on(SceneEvents.PRE_UPDATE, this.preUpdate, this);
+ eventEmitter.on(SceneEvents.UPDATE, this.update, this);
+ */
+ this.preUpdate(this.systems.game.loop.time, 100);
+ this.update(this.systems.game.loop.time, 100);
+ }, 100);
+ }
+
+ addEvent(config: Phaser.Time.TimerEvent | Phaser.Types.Time.TimerEventConfig): Phaser.Time.TimerEvent {
+ const cfg = { ...config, delay: this.overrideDelay || config.delay};
+ return super.addEvent(cfg);
+ }
+}
diff --git a/src/test/utils/mocks/mockConsoleLog.ts b/src/test/utils/mocks/mockConsoleLog.ts
new file mode 100644
index 00000000000..61c6c14b989
--- /dev/null
+++ b/src/test/utils/mocks/mockConsoleLog.ts
@@ -0,0 +1,82 @@
+const MockConsoleLog = (_logDisabled= false, _phaseText=false) => {
+ let logs = [];
+ const logDisabled: boolean = _logDisabled;
+ const phaseText: boolean = _phaseText;
+ const originalLog = console.log;
+ const originalError = console.error;
+ const originalDebug = console.debug;
+ const originalWarn = console.warn;
+ const notified = [];
+
+ const blacklist = ["Phaser", "variant icon does not exist", "Texture \"%s\" not found"];
+ const whitelist = ["Phase"];
+
+ return ({
+ log(...args) {
+ const argsStr = this.getStr(args);
+ logs.push(argsStr);
+ if (logDisabled && (!phaseText)) {
+ return;
+ }
+ if ((phaseText && !whitelist.some((b) => argsStr.includes(b))) || blacklist.some((b) => argsStr.includes(b))) {
+ return;
+ }
+ originalLog(args);
+ },
+ error(...args) {
+ const argsStr = this.getStr(args);
+ logs.push(argsStr);
+ originalError(args); // Appelle le console.error originel
+ },
+ debug(...args) {
+ const argsStr = this.getStr(args);
+ logs.push(argsStr);
+ if (logDisabled && (!phaseText)) {
+ return;
+ }
+ if (!whitelist.some((b) => argsStr.includes(b)) || blacklist.some((b) => argsStr.includes(b))) {
+ return;
+ }
+ originalDebug(args);
+ },
+ warn(...args) {
+ const argsStr = this.getStr(args);
+ logs.push(args);
+ if (logDisabled && (!phaseText)) {
+ return;
+ }
+ if (!whitelist.some((b) => argsStr.includes(b)) || blacklist.some((b) => argsStr.includes(b))) {
+ return;
+ }
+ originalWarn(args);
+ },
+ notify(msg) {
+ originalLog(msg);
+ notified.push(msg);
+ },
+ getLogs() {
+ return logs;
+ },
+ clearLogs() {
+ logs = [];
+ },
+ getStr(...args) {
+ return args.map(arg => {
+ if (typeof arg === "object" && arg !== null) {
+ // Handle objects including arrays
+ return JSON.stringify(arg, (key, value) =>
+ typeof value === "bigint" ? value.toString() : value
+ );
+ } else if (typeof arg === "bigint") {
+ // Handle BigInt values
+ return arg.toString();
+ } else {
+ // Handle all other types
+ return arg.toString();
+ }
+ }).join(";");
+ },
+ });
+};
+
+export default MockConsoleLog;
diff --git a/src/test/utils/mocks/mockFetch.ts b/src/test/utils/mocks/mockFetch.ts
new file mode 100644
index 00000000000..ad364a95885
--- /dev/null
+++ b/src/test/utils/mocks/mockFetch.ts
@@ -0,0 +1,32 @@
+export const MockFetch = (input, init) => {
+ const url = typeof input === "string" ? input : input.url;
+
+ let responseHandler;
+ let responseText;
+
+ const handlers = {
+ "account/info": {"username":"greenlamp","lastSessionSlot":0},
+ "savedata/session": {},
+ "savedata/system": {},
+ "savedata/updateall": "",
+ "daily/rankingpagecount": { data: 0 },
+ "game/titlestats": {"playerCount":0,"battleCount":5},
+ "daily/rankings": [],
+ };
+
+
+ for (const key of Object.keys(handlers)) {
+ if (url.includes(key)) {
+ responseHandler = async() => handlers[key];
+ responseText = async() => handlers[key] ? JSON.stringify(handlers[key]) : handlers[key];
+ break;
+ }
+ }
+
+ return Promise.resolve({
+ ok: true,
+ status: 200,
+ json: responseHandler,
+ text: responseText,
+ });
+};
diff --git a/src/test/utils/mocks/mockLoader.ts b/src/test/utils/mocks/mockLoader.ts
new file mode 100644
index 00000000000..661eb72f2c2
--- /dev/null
+++ b/src/test/utils/mocks/mockLoader.ts
@@ -0,0 +1,42 @@
+import CacheManager = Phaser.Cache.CacheManager;
+
+
+export default class MockLoader {
+ public cacheManager;
+ constructor(scene) {
+ this.cacheManager = new CacheManager(scene);
+ }
+
+ once(event, callback) {
+ callback();
+ }
+
+ setBaseURL(url) {
+ return null;
+ }
+
+ video() {
+ return null;
+ }
+
+ spritesheet(key, url, frameConfig) {
+ }
+
+ audio(key, url) {
+
+ }
+
+ isLoading() {
+ return false;
+ }
+
+ start() {
+ }
+
+ image() {
+
+ }
+
+ atlas(key, textureUrl, atlasUrl) {
+ }
+}
diff --git a/src/test/utils/mocks/mockLocalStorage.ts b/src/test/utils/mocks/mockLocalStorage.ts
new file mode 100644
index 00000000000..bb4ea4e890d
--- /dev/null
+++ b/src/test/utils/mocks/mockLocalStorage.ts
@@ -0,0 +1,27 @@
+const mockLocalStorage = (() => {
+ let store = {} as Storage;
+
+ return {
+ getItem(key: string) {
+ return store[key];
+ },
+
+ setItem(key: string, value: string) {
+ store[key] = value;
+ },
+
+ hasOwnProperty(key: string) {
+ return store.hasOwnProperty(key);
+ },
+
+ removeItem(key: string) {
+ delete store[key];
+ },
+
+ clear() {
+ store = {} as Storage;
+ },
+ };
+});
+
+export default mockLocalStorage;
diff --git a/src/test/utils/mocks/mockTextureManager.ts b/src/test/utils/mocks/mockTextureManager.ts
new file mode 100644
index 00000000000..e207f96b722
--- /dev/null
+++ b/src/test/utils/mocks/mockTextureManager.ts
@@ -0,0 +1,85 @@
+import MockContainer from "#app/test/utils/mocks/mocksContainer/mockContainer";
+import MockSprite from "#app/test/utils/mocks/mocksContainer/mockSprite";
+import MockRectangle from "#app/test/utils/mocks/mocksContainer/mockRectangle";
+import MockNineslice from "#app/test/utils/mocks/mocksContainer/mockNineslice";
+import MockImage from "#app/test/utils/mocks/mocksContainer/mockImage";
+import MockText from "#app/test/utils/mocks/mocksContainer/mockText";
+import MockPolygon from "#app/test/utils/mocks/mocksContainer/mockPolygon";
+
+
+export default class MockTextureManager {
+ private textures: Map;
+ private scene;
+ public add;
+ public displayList;
+ public list = [];
+
+ constructor(scene) {
+ this.scene = scene;
+ this.textures = new Map();
+ this.displayList = new Phaser.GameObjects.DisplayList(scene);
+ this.add = {
+ container: this.container.bind(this),
+ sprite: this.sprite.bind(this),
+ tileSprite: this.sprite.bind(this),
+ existing: this.existing.bind(this),
+ rectangle: this.rectangle.bind(this),
+ nineslice: this.nineslice.bind(this),
+ image: this.image.bind(this),
+ polygon: this.polygon.bind(this),
+ text: this.text.bind(this),
+ bitmapText: this.text.bind(this),
+ displayList: this.displayList,
+ };
+ }
+
+ container(x, y) {
+ const container = new MockContainer(this, x, y);
+ this.list.push(container);
+ return container;
+ }
+
+ sprite(x,y, texture) {
+ const sprite = new MockSprite(this, x, y, texture);
+ this.list.push(sprite);
+ return sprite;
+ }
+
+ existing(obj) {
+ // const whitelist = ["ArenaBase", "PlayerPokemon", "EnemyPokemon"];
+ // const key = obj.constructor.name;
+ // if (whitelist.includes(key) || obj.texture?.key?.includes("trainer_")) {
+ // this.containers.push(obj);
+ // }
+ }
+
+ rectangle(x, y, width, height, fillColor) {
+ const rectangle = new MockRectangle(this, x, y, width, height, fillColor);
+ this.list.push(rectangle);
+ return rectangle;
+ }
+
+ nineslice(x, y, texture, frame, width, height, leftWidth, rightWidth, topHeight, bottomHeight) {
+ const nineSlice = new MockNineslice(this, x, y, texture, frame, width, height, leftWidth, rightWidth, topHeight, bottomHeight);
+ this.list.push(nineSlice);
+ return nineSlice;
+ }
+
+ image(x, y, texture) {
+ const image = new MockImage(this, x, y, texture);
+ this.list.push(image);
+ return image;
+ }
+
+ text(x, y, content, styleOptions) {
+ const text = new MockText(this, x, y, content, styleOptions);
+ this.list.push(text);
+ return text;
+ }
+
+ polygon(x, y, content, fillColor, fillAlpha) {
+ const polygon = new MockPolygon(this, x, y, content, fillColor, fillAlpha);
+ this.list.push(polygon);
+ return polygon;
+ }
+}
diff --git a/src/test/utils/mocks/mocksContainer/mockContainer.ts b/src/test/utils/mocks/mocksContainer/mockContainer.ts
new file mode 100644
index 00000000000..2e2b9567796
--- /dev/null
+++ b/src/test/utils/mocks/mocksContainer/mockContainer.ts
@@ -0,0 +1,207 @@
+import MockTextureManager from "#app/test/utils/mocks/mockTextureManager";
+
+export default class MockContainer {
+ protected x;
+ protected y;
+ protected scene;
+ protected width;
+ protected height;
+ protected visible;
+ private alpha;
+ private style;
+ public frame;
+ protected textureManager;
+ public list = [];
+
+ constructor(textureManager: MockTextureManager, x, y) {
+ this.x = x;
+ this.y = y;
+ this.frame = {};
+ this.textureManager = textureManager;
+ }
+ setVisible(visible) {
+ this.visible = visible;
+ }
+
+ once(event, callback, source) {
+ }
+
+ off(event, callback, source) {
+ }
+
+ removeFromDisplayList() {
+ // same as remove or destroy
+ }
+
+ addedToScene() {
+ // This callback is invoked when this Game Object is added to a Scene.
+ }
+
+ setSize(width, height) {
+ // Sets the size of this Game Object.
+ }
+
+ setMask() {
+ /// Sets the mask that this Game Object will use to render with.
+ }
+
+ setPositionRelative(source, x, y) {
+ /// Sets the position of this Game Object to be a relative position from the source Game Object.
+ }
+
+ setInteractive(hitArea?, callback?, dropZone?) {
+ /// Sets the InteractiveObject to be a drop zone for a drag and drop operation.
+ }
+ setOrigin(x, y) {
+ this.x = x;
+ this.y = y;
+ }
+
+ setAlpha(alpha) {
+ this.alpha = alpha;
+ }
+
+ setFrame(frame, updateSize?: boolean, updateOrigin?: boolean) {
+ // Sets the frame this Game Object will use to render with.
+ }
+
+ setScale(scale) {
+ // Sets the scale of this Game Object.
+ }
+
+ setPosition(x, y) {
+ this.x = x;
+ this.y = y;
+ }
+
+ setX(x) {
+ this.x = x;
+ }
+
+ setY(y) {
+ this.y = y;
+ }
+
+ destroy() {
+ this.list = [];
+ }
+
+ setShadow(shadowXpos, shadowYpos, shadowColor) {
+ // Sets the shadow settings for this Game Object.
+ }
+
+ setLineSpacing(lineSpacing) {
+ // Sets the line spacing value of this Game Object.
+ }
+
+ setText(text) {
+ // Sets the text this Game Object will display.
+ }
+
+ setAngle(angle) {
+ // Sets the angle of this Game Object.
+ }
+
+ setShadowOffset(offsetX, offsetY) {
+ // Sets the shadow offset values.
+ }
+
+ setWordWrapWidth(width) {
+ // Sets the width (in pixels) to use for wrapping lines.
+ }
+
+ setFontSize(fontSize) {
+ // Sets the font size of this Game Object.
+ }
+ getBounds() {
+ return { width: this.width, height: this.height };
+ }
+
+ setColor(color) {
+ // Sets the tint of this Game Object.
+ }
+
+ setShadowColor(color) {
+ // Sets the shadow color.
+ }
+
+ setTint(color) {
+ // Sets the tint of this Game Object.
+ }
+
+ setStrokeStyle(thickness, color) {
+ // Sets the stroke style for the graphics.
+ return this;
+ }
+
+ setDepth(depth) {
+ // Sets the depth of this Game Object.
+ }
+
+ setTexture(texture) {
+ // Sets the texture this Game Object will use to render with.
+ }
+
+ clearTint() {
+ // Clears any previously set tint.
+ }
+
+ sendToBack() {
+ // Sends this Game Object to the back of its parent's display list.
+ }
+
+ moveAbove(obj) {
+ // Moves this Game Object to be above the given Game Object in the display list.
+ }
+
+ moveBelow(obj) {
+ // Moves this Game Object to be below the given Game Object in the display list.
+ }
+
+ setName(name) {
+ // return this.phaserSprite.setName(name);
+ }
+
+ bringToTop(obj) {
+ // Brings this Game Object to the top of its parents display list.
+ }
+
+ on(event, callback, source) {
+ }
+
+ add(obj) {
+ // Adds a child to this Game Object.
+ this.list.push(obj);
+ }
+
+ removeAll() {
+ // Removes all Game Objects from this Container.
+ this.list = [];
+ }
+
+ addAt(obj, index) {
+ // Adds a Game Object to this Container at the given index.
+ this.list.splice(index, 0, obj);
+ }
+
+ remove(obj) {
+ const index = this.list.indexOf(obj);
+ if (index !== -1) {
+ this.list.splice(index, 1);
+ }
+ }
+
+ getIndex(obj) {
+ const index = this.list.indexOf(obj);
+ return index || -1;
+ }
+
+ getAt(index) {
+ return this.list[index];
+ }
+
+ getAll() {
+ return this.list;
+ }
+
+}
diff --git a/src/test/utils/mocks/mocksContainer/mockGraphics.ts b/src/test/utils/mocks/mocksContainer/mockGraphics.ts
new file mode 100644
index 00000000000..a08f150fe61
--- /dev/null
+++ b/src/test/utils/mocks/mocksContainer/mockGraphics.ts
@@ -0,0 +1,96 @@
+export default class MockGraphics {
+ private scene;
+ public list = [];
+ constructor(textureManager, config) {
+ this.scene = textureManager.scene;
+ }
+
+ fillStyle(color) {
+ // Sets the fill style to be used by the fill methods.
+ }
+
+ beginPath() {
+ // Starts a new path by emptying the list of sub-paths. Call this method when you want to create a new path.
+ }
+
+ fillRect(x, y, width, height) {
+ // Adds a rectangle shape to the path which is filled when you call fill().
+ }
+
+ createGeometryMask() {
+ // Creates a geometry mask.
+ }
+
+ setOrigin(x, y) {
+ }
+
+ setAlpha(alpha) {
+ }
+
+ setVisible(visible) {
+ }
+
+ setName(name) {
+ }
+
+ once(event, callback, source) {
+ }
+
+ removeFromDisplayList() {
+ // same as remove or destroy
+ }
+
+ addedToScene() {
+ // This callback is invoked when this Game Object is added to a Scene.
+ }
+
+ setPositionRelative(source, x, y) {
+ /// Sets the position of this Game Object to be a relative position from the source Game Object.
+ }
+
+ destroy() {
+ this.list = [];
+ }
+
+ setScale(scale) {
+ // Sets the scale of this Game Object.
+ }
+
+ off(event, callback, source) {
+ }
+
+ add(obj) {
+ // Adds a child to this Game Object.
+ this.list.push(obj);
+ }
+
+ removeAll() {
+ // Removes all Game Objects from this Container.
+ this.list = [];
+ }
+
+ addAt(obj, index) {
+ // Adds a Game Object to this Container at the given index.
+ this.list.splice(index, 0, obj);
+ }
+
+ remove(obj) {
+ const index = this.list.indexOf(obj);
+ if (index !== -1) {
+ this.list.splice(index, 1);
+ }
+ }
+
+ getIndex(obj) {
+ const index = this.list.indexOf(obj);
+ return index || -1;
+ }
+
+ getAt(index) {
+ return this.list[index];
+ }
+
+ getAll() {
+ return this.list;
+ }
+}
diff --git a/src/test/utils/mocks/mocksContainer/mockImage.ts b/src/test/utils/mocks/mocksContainer/mockImage.ts
new file mode 100644
index 00000000000..601dfd22811
--- /dev/null
+++ b/src/test/utils/mocks/mocksContainer/mockImage.ts
@@ -0,0 +1,11 @@
+import MockContainer from "#app/test/utils/mocks/mocksContainer/mockContainer";
+
+
+export default class MockImage extends MockContainer {
+ private texture;
+
+ constructor(textureManager, x, y, texture) {
+ super(textureManager, x, y);
+ this.texture = texture;
+ }
+}
diff --git a/src/test/utils/mocks/mocksContainer/mockNineslice.ts b/src/test/utils/mocks/mocksContainer/mockNineslice.ts
new file mode 100644
index 00000000000..3edbbb18c31
--- /dev/null
+++ b/src/test/utils/mocks/mocksContainer/mockNineslice.ts
@@ -0,0 +1,20 @@
+import MockContainer from "#app/test/utils/mocks/mocksContainer/mockContainer";
+
+
+export default class MockNineslice extends MockContainer {
+ private texture;
+ private leftWidth;
+ private rightWidth;
+ private topHeight;
+ private bottomHeight;
+
+ constructor(textureManager, x, y, texture, frame, width, height, leftWidth, rightWidth, topHeight, bottomHeight) {
+ super(textureManager, x, y);
+ this.texture = texture;
+ this.frame = frame;
+ this.leftWidth = leftWidth;
+ this.rightWidth = rightWidth;
+ this.topHeight = topHeight;
+ this.bottomHeight = bottomHeight;
+ }
+}
diff --git a/src/test/utils/mocks/mocksContainer/mockPolygon.ts b/src/test/utils/mocks/mocksContainer/mockPolygon.ts
new file mode 100644
index 00000000000..cf448883ce0
--- /dev/null
+++ b/src/test/utils/mocks/mocksContainer/mockPolygon.ts
@@ -0,0 +1,9 @@
+import MockContainer from "#app/test/utils/mocks/mocksContainer/mockContainer";
+
+
+export default class MockPolygon extends MockContainer {
+ constructor(textureManager, x, y, content, fillColor, fillAlpha) {
+ super(textureManager, x, y);
+ }
+}
+
diff --git a/src/test/utils/mocks/mocksContainer/mockRectangle.ts b/src/test/utils/mocks/mocksContainer/mockRectangle.ts
new file mode 100644
index 00000000000..db323268037
--- /dev/null
+++ b/src/test/utils/mocks/mocksContainer/mockRectangle.ts
@@ -0,0 +1,77 @@
+export default class MockRectangle {
+ private fillColor;
+ private scene;
+ public list = [];
+
+ constructor(textureManager, x, y, width, height, fillColor) {
+ this.fillColor = fillColor;
+ this.scene = textureManager.scene;
+ }
+ setOrigin(x, y) {
+ }
+
+ setAlpha(alpha) {
+ }
+ setVisible(visible) {
+ }
+
+ setName(name) {
+ }
+
+ once(event, callback, source) {
+ }
+
+ removeFromDisplayList() {
+ // same as remove or destroy
+ }
+
+ addedToScene() {
+ // This callback is invoked when this Game Object is added to a Scene.
+ }
+
+ setPositionRelative(source, x, y) {
+ /// Sets the position of this Game Object to be a relative position from the source Game Object.
+ }
+
+ destroy() {
+ this.list = [];
+ }
+
+ add(obj) {
+ // Adds a child to this Game Object.
+ this.list.push(obj);
+ }
+
+ removeAll() {
+ // Removes all Game Objects from this Container.
+ this.list = [];
+ }
+
+ addAt(obj, index) {
+ // Adds a Game Object to this Container at the given index.
+ this.list.splice(index, 0, obj);
+ }
+
+ remove(obj) {
+ const index = this.list.indexOf(obj);
+ if (index !== -1) {
+ this.list.splice(index, 1);
+ }
+ }
+
+ getIndex(obj) {
+ const index = this.list.indexOf(obj);
+ return index || -1;
+ }
+
+ getAt(index) {
+ return this.list[index];
+ }
+
+ getAll() {
+ return this.list;
+ }
+ setScale(scale) {
+ // return this.phaserText.setScale(scale);
+ }
+}
diff --git a/src/test/utils/mocks/mocksContainer/mockSprite.ts b/src/test/utils/mocks/mocksContainer/mockSprite.ts
new file mode 100644
index 00000000000..2eb77f81302
--- /dev/null
+++ b/src/test/utils/mocks/mocksContainer/mockSprite.ts
@@ -0,0 +1,210 @@
+import Sprite = Phaser.GameObjects.Sprite;
+import Frame = Phaser.Textures.Frame;
+import Phaser from "phaser";
+
+
+export default class MockSprite {
+ private phaserSprite;
+ public pipelineData;
+ public texture;
+ public key;
+ public frame;
+ public textureManager;
+ public scene;
+ public anims;
+ public list = [];
+ constructor(textureManager, x, y, texture) {
+ this.textureManager = textureManager;
+ this.scene = textureManager.scene;
+ Phaser.GameObjects.Sprite.prototype.setInteractive = this.setInteractive;
+ // @ts-ignore
+ Phaser.GameObjects.Sprite.prototype.setTexture = this.setTexture;
+ Phaser.GameObjects.Sprite.prototype.setSizeToFrame = this.setSizeToFrame;
+ Phaser.GameObjects.Sprite.prototype.setFrame = this.setFrame;
+ // Phaser.GameObjects.Sprite.prototype.disable = this.disable;
+
+ // Phaser.GameObjects.Sprite.prototype.texture = { frameTotal: 1, get: () => null };
+ this.phaserSprite = new Phaser.GameObjects.Sprite(textureManager.scene, x, y, texture);
+ this.pipelineData = {};
+ this.texture = {
+ key: texture || "",
+ };
+ this.anims = {
+ pause: () => null,
+ };
+ }
+
+ setTexture(key: string, frame?: string | number) {
+ return this;
+ }
+
+ setSizeToFrame(frame?: boolean | Frame): Sprite {
+ return {} as Sprite;
+ }
+
+ setPipeline(obj) {
+ // Sets the pipeline of this Game Object.
+ return this.phaserSprite.setPipeline(obj);
+ }
+
+ off(event, callback, source) {
+ }
+
+ setTintFill(color) {
+ // Sets the tint fill color.
+ return this.phaserSprite.setTintFill(color);
+ }
+
+ setScale(scale) {
+ return this.phaserSprite.setScale(scale);
+ }
+
+ setOrigin(x, y) {
+ return this.phaserSprite.setOrigin(x, y);
+ }
+
+ setSize(width, height) {
+ // Sets the size of this Game Object.
+ return this.phaserSprite.setSize(width, height);
+ }
+
+ once(event, callback, source) {
+ return this.phaserSprite.once(event, callback, source);
+ }
+
+ removeFromDisplayList() {
+ // same as remove or destroy
+ return this.phaserSprite.removeFromDisplayList();
+ }
+
+ addedToScene() {
+ // This callback is invoked when this Game Object is added to a Scene.
+ return this.phaserSprite.addedToScene();
+ }
+
+ setVisible(visible) {
+ return this.phaserSprite.setVisible(visible);
+ }
+
+ setPosition(x, y) {
+ return this.phaserSprite.setPosition(x, y);
+ }
+
+ stop() {
+ return this.phaserSprite.stop();
+ }
+
+ setInteractive(hitArea, hitAreaCallback, dropZone) {
+ return null;
+ }
+
+ on(event, callback, source) {
+ return this.phaserSprite.on(event, callback, source);
+ }
+
+ setAlpha(alpha) {
+ return this.phaserSprite.setAlpha(alpha);
+ }
+
+ setTint(color) {
+ // Sets the tint of this Game Object.
+ return this.phaserSprite.setTint(color);
+ }
+
+ setFrame(frame, updateSize?: boolean, updateOrigin?: boolean) {
+ // Sets the frame this Game Object will use to render with.
+ this.frame = frame;
+ return frame;
+ }
+
+ setPositionRelative(source, x, y) {
+ /// Sets the position of this Game Object to be a relative position from the source Game Object.
+ return this.phaserSprite.setPositionRelative(source, x, y);
+ }
+
+ setY(y) {
+ return this.phaserSprite.setY(y);
+ }
+
+ setCrop(x, y, width, height) {
+ // Sets the crop size of this Game Object.
+ return this.phaserSprite.setCrop(x, y, width, height);
+ }
+
+ clearTint() {
+ // Clears any previously set tint.
+ return this.phaserSprite.clearTint();
+ }
+
+ disableInteractive() {
+ // Disables Interactive features of this Game Object.
+ return null;
+ }
+
+ apply() {
+ return this.phaserSprite.apply();
+ }
+
+ play() {
+ // return this.phaserSprite.play();
+ return this;
+ }
+
+ setPipelineData(key, value) {
+ this.pipelineData[key] = value;
+ }
+
+ destroy() {
+ return this.phaserSprite.destroy();
+ }
+
+ setName(name) {
+ return this.phaserSprite.setName(name);
+ }
+
+ setAngle(angle) {
+ return this.phaserSprite.setAngle(angle);
+ }
+
+ setMask() {
+
+ }
+
+ add(obj) {
+ // Adds a child to this Game Object.
+ this.list.push(obj);
+ }
+
+ removeAll() {
+ // Removes all Game Objects from this Container.
+ this.list = [];
+ }
+
+ addAt(obj, index) {
+ // Adds a Game Object to this Container at the given index.
+ this.list.splice(index, 0, obj);
+ }
+
+ remove(obj) {
+ const index = this.list.indexOf(obj);
+ if (index !== -1) {
+ this.list.splice(index, 1);
+ }
+ }
+
+ getIndex(obj) {
+ const index = this.list.indexOf(obj);
+ return index || -1;
+ }
+
+ getAt(index) {
+ return this.list[index];
+ }
+
+ getAll() {
+ return this.list;
+ }
+
+
+
+}
diff --git a/src/test/utils/mocks/mocksContainer/mockText.ts b/src/test/utils/mocks/mocksContainer/mockText.ts
new file mode 100644
index 00000000000..1dd440fde7c
--- /dev/null
+++ b/src/test/utils/mocks/mocksContainer/mockText.ts
@@ -0,0 +1,277 @@
+import UI from "#app/ui/ui";
+
+export default class MockText {
+ private phaserText;
+ private wordWrapWidth;
+ private splitRegExp;
+ private scene;
+ private textureManager;
+ public list = [];
+ public style;
+
+ constructor(textureManager, x, y, content, styleOptions) {
+ this.scene = textureManager.scene;
+ this.textureManager = textureManager;
+ this.style = {};
+ // Phaser.GameObjects.TextStyle.prototype.setStyle = () => null;
+ // Phaser.GameObjects.Text.prototype.updateText = () => null;
+ // Phaser.Textures.TextureManager.prototype.addCanvas = () => {};
+ UI.prototype.showText = this.showText;
+ // super(scene, x, y);
+ // this.phaserText = new Phaser.GameObjects.Text(scene, x, y, content, styleOptions);
+ }
+
+ runWordWrap(text) {
+ if (!text) {
+ return "";
+ }
+ let result = "";
+ this.splitRegExp = /(?:\r\n|\r|\n)/;
+ const lines = text.split(this.splitRegExp);
+ const lastLineIndex = lines.length - 1;
+ const whiteSpaceWidth = 2;
+
+ for (let i = 0; i <= lastLineIndex; i++) {
+ let spaceLeft = this.wordWrapWidth;
+ const words = lines[i].split(" ");
+ const lastWordIndex = words.length - 1;
+
+ for (let j = 0; j <= lastWordIndex; j++) {
+ const word = words[j];
+ const wordWidth = word.length * 2;
+ let wordWidthWithSpace = wordWidth;
+
+ if (j < lastWordIndex) {
+ wordWidthWithSpace += whiteSpaceWidth;
+ }
+
+ if (wordWidthWithSpace > spaceLeft) {
+ // Skip printing the newline if it's the first word of the line that is greater
+ // than the word wrap width.
+ if (j > 0) {
+ result += "\n";
+ spaceLeft = this.wordWrapWidth;
+ }
+ }
+
+ result += word;
+
+ if (j < lastWordIndex) {
+ result += " ";
+ spaceLeft -= wordWidthWithSpace;
+ } else {
+ spaceLeft -= wordWidth;
+ }
+ }
+
+ if (i < lastLineIndex) {
+ result += "\n";
+ }
+ }
+
+ return result;
+ }
+
+ showText(text, delay, callback, callbackDelay, prompt, promptDelay) {
+ this.scene.messageWrapper.showText(text, delay, callback, callbackDelay, prompt, promptDelay);
+ if (callback) {
+ callback();
+ }
+ }
+
+ setScale(scale) {
+ // return this.phaserText.setScale(scale);
+ }
+
+ setShadow(shadowXpos, shadowYpos, shadowColor) {
+ // Sets the shadow settings for this Game Object.
+ // return this.phaserText.setShadow(shadowXpos, shadowYpos, shadowColor);
+ }
+
+ setLineSpacing(lineSpacing) {
+ // Sets the line spacing value of this Game Object.
+ // return this.phaserText.setLineSpacing(lineSpacing);
+ }
+
+ setOrigin(x, y) {
+ // return this.phaserText.setOrigin(x, y);
+ }
+
+ once(event, callback, source) {
+ // return this.phaserText.once(event, callback, source);
+ }
+
+ off(event, callback, obj) {
+ }
+
+ removedFromScene() {
+
+ }
+
+ addToDisplayList() {
+
+ }
+
+ setStroke(color, thickness) {
+ // Sets the stroke color and thickness.
+ // return this.phaserText.setStroke(color, thickness);
+ }
+
+ removeFromDisplayList() {
+ // same as remove or destroy
+ // return this.phaserText.removeFromDisplayList();
+ }
+
+ addedToScene() {
+ // This callback is invoked when this Game Object is added to a Scene.
+ // return this.phaserText.addedToScene();
+ }
+
+ setVisible(visible) {
+ // return this.phaserText.setVisible(visible);
+ }
+
+ setY(y) {
+ // return this.phaserText.setY(y);
+ }
+
+ setX(x) {
+ // return this.phaserText.setX(x);
+ }
+
+ /**
+ * Sets the position of this Game Object.
+ * @param x The x position of this Game Object. Default 0.
+ * @param y The y position of this Game Object. If not set it will use the `x` value. Default x.
+ * @param z The z position of this Game Object. Default 0.
+ * @param w The w position of this Game Object. Default 0.
+ */
+ setPosition(x?: number, y?: number, z?: number, w?: number) { }
+
+ setText(text) {
+ // Sets the text this Game Object will display.
+ // return this.phaserText.setText(text);
+ }
+
+ setAngle(angle) {
+ // Sets the angle of this Game Object.
+ // return this.phaserText.setAngle(angle);
+ }
+
+ setPositionRelative(source, x, y) {
+ /// Sets the position of this Game Object to be a relative position from the source Game Object.
+ // return this.phaserText.setPositionRelative(source, x, y);
+ }
+
+ setShadowOffset(offsetX, offsetY) {
+ // Sets the shadow offset values.
+ // return this.phaserText.setShadowOffset(offsetX, offsetY);
+ }
+
+ setWordWrapWidth(width) {
+ // Sets the width (in pixels) to use for wrapping lines.
+ this.wordWrapWidth = width;
+ }
+
+ setFontSize(fontSize) {
+ // Sets the font size of this Game Object.
+ // return this.phaserText.setFontSize(fontSize);
+ }
+
+ getBounds() {
+ // return this.phaserText.getBounds();
+ return {
+ width: 1,
+ };
+ }
+
+ setColor(color) {
+ // Sets the tint of this Game Object.
+ // return this.phaserText.setColor(color);
+ }
+
+ setShadowColor(color) {
+ // Sets the shadow color.
+ // return this.phaserText.setShadowColor(color);
+ }
+
+ setTint(color) {
+ // Sets the tint of this Game Object.
+ // return this.phaserText.setTint(color);
+ }
+
+ setStrokeStyle(thickness, color) {
+ // Sets the stroke style for the graphics.
+ // return this.phaserText.setStrokeStyle(thickness, color);
+ }
+
+ destroy() {
+ // return this.phaserText.destroy();
+ this.list = [];
+ }
+
+ setAlpha(alpha) {
+ // return this.phaserText.setAlpha(alpha);
+ }
+
+ setName(name) {
+ // return this.phaserText.setName(name);
+ }
+
+ setAlign(align) {
+ // return this.phaserText.setAlign(align);
+ }
+
+ setMask() {
+ /// Sets the mask that this Game Object will use to render with.
+ }
+
+ getBottomLeft() {
+ return {
+ x: 0,
+ y: 0,
+ };
+ }
+
+ getTopLeft() {
+ return {
+ x: 0,
+ y: 0,
+ };
+ }
+
+ add(obj) {
+ // Adds a child to this Game Object.
+ this.list.push(obj);
+ }
+
+ removeAll() {
+ // Removes all Game Objects from this Container.
+ this.list = [];
+ }
+
+ addAt(obj, index) {
+ // Adds a Game Object to this Container at the given index.
+ this.list.splice(index, 0, obj);
+ }
+
+ remove(obj) {
+ const index = this.list.indexOf(obj);
+ if (index !== -1) {
+ this.list.splice(index, 1);
+ }
+ }
+
+ getIndex(obj) {
+ const index = this.list.indexOf(obj);
+ return index || -1;
+ }
+
+ getAt(index) {
+ return this.list[index];
+ }
+
+ getAll() {
+ return this.list;
+ }
+}
diff --git a/src/test/utils/phaseInterceptor.ts b/src/test/utils/phaseInterceptor.ts
new file mode 100644
index 00000000000..e8cec7c9989
--- /dev/null
+++ b/src/test/utils/phaseInterceptor.ts
@@ -0,0 +1,350 @@
+import {
+ BattleEndPhase,
+ BerryPhase,
+ CheckSwitchPhase,
+ CommandPhase,
+ DamagePhase,
+ EggLapsePhase,
+ EncounterPhase,
+ EnemyCommandPhase,
+ FaintPhase,
+ LoginPhase,
+ MessagePhase,
+ MoveEffectPhase,
+ MoveEndPhase,
+ MovePhase,
+ NewBattlePhase,
+ NextEncounterPhase,
+ PostSummonPhase,
+ SelectGenderPhase,
+ SelectModifierPhase,
+ SelectStarterPhase,
+ SelectTargetPhase,
+ ShinySparklePhase,
+ ShowAbilityPhase,
+ StatChangePhase,
+ SummonPhase,
+ SwitchPhase,
+ SwitchSummonPhase,
+ TitlePhase,
+ ToggleDoublePositionPhase,
+ TurnEndPhase,
+ TurnInitPhase,
+ TurnStartPhase,
+ UnavailablePhase,
+ VictoryPhase
+} from "#app/phases";
+import UI, {Mode} from "#app/ui/ui";
+import {Phase} from "#app/phase";
+import ErrorInterceptor from "#app/test/utils/errorInterceptor";
+import {QuietFormChangePhase} from "#app/form-change-phase";
+
+export default class PhaseInterceptor {
+ public scene;
+ public phases = {};
+ public log;
+ private onHold;
+ private interval;
+ private promptInterval;
+ private intervalRun;
+ private prompts;
+ private phaseFrom;
+ private inProgress;
+ private originalSetMode;
+ private originalSuperEnd;
+
+ /**
+ * List of phases with their corresponding start methods.
+ */
+ private PHASES = [
+ [LoginPhase, this.startPhase],
+ [TitlePhase, this.startPhase],
+ [SelectGenderPhase, this.startPhase],
+ [EncounterPhase, this.startPhase],
+ [SelectStarterPhase, this.startPhase],
+ [PostSummonPhase, this.startPhase],
+ [SummonPhase, this.startPhase],
+ [ToggleDoublePositionPhase, this.startPhase],
+ [CheckSwitchPhase, this.startPhase],
+ [ShowAbilityPhase, this.startPhase],
+ [MessagePhase, this.startPhase],
+ [TurnInitPhase, this.startPhase],
+ [CommandPhase, this.startPhase],
+ [EnemyCommandPhase, this.startPhase],
+ [TurnStartPhase, this.startPhase],
+ [MovePhase, this.startPhase],
+ [MoveEffectPhase, this.startPhase],
+ [DamagePhase, this.startPhase],
+ [FaintPhase, this.startPhase],
+ [BerryPhase, this.startPhase],
+ [TurnEndPhase, this.startPhase],
+ [BattleEndPhase, this.startPhase],
+ [EggLapsePhase, this.startPhase],
+ [SelectModifierPhase, this.startPhase],
+ [NextEncounterPhase, this.startPhase],
+ [NewBattlePhase, this.startPhase],
+ [VictoryPhase, this.startPhase],
+ [MoveEndPhase, this.startPhase],
+ [StatChangePhase, this.startPhase],
+ [ShinySparklePhase, this.startPhase],
+ [SelectTargetPhase, this.startPhase],
+ [UnavailablePhase, this.startPhase],
+ [QuietFormChangePhase, this.startPhase],
+ [SwitchPhase, this.startPhase],
+ [SwitchSummonPhase, this.startPhase],
+ ];
+
+ private endBySetMode = [
+ TitlePhase, SelectGenderPhase, CommandPhase
+ ];
+
+ /**
+ * Constructor to initialize the scene and properties, and to start the phase handling.
+ * @param scene - The scene to be managed.
+ */
+ constructor(scene) {
+ this.scene = scene;
+ this.log = [];
+ this.onHold = [];
+ this.prompts = [];
+ this.startPromptHandler();
+ this.initPhases();
+ }
+
+ rejectAll(error) {
+ if (this.inProgress) {
+ clearInterval(this.promptInterval);
+ clearInterval(this.interval);
+ clearInterval(this.intervalRun);
+ this.inProgress.onError(error);
+ }
+ }
+
+ /**
+ * Method to set the starting phase.
+ * @param phaseFrom - The phase to start from.
+ * @returns The instance of the PhaseInterceptor.
+ */
+ runFrom(phaseFrom) {
+ this.phaseFrom = phaseFrom;
+ return this;
+ }
+
+ /**
+ * Method to transition to a target phase.
+ * @param phaseTo - The phase to transition to.
+ * @returns A promise that resolves when the transition is complete.
+ */
+ async to(phaseTo, runTarget: boolean = true): Promise {
+ return new Promise(async (resolve, reject) => {
+ ErrorInterceptor.getInstance().add(this);
+ if (this.phaseFrom) {
+ await this.run(this.phaseFrom).catch((e) => reject(e));
+ this.phaseFrom = null;
+ }
+ const targetName = typeof phaseTo === "string" ? phaseTo : phaseTo.name;
+ this.intervalRun = setInterval(async() => {
+ const currentPhase = this.onHold?.length && this.onHold[0];
+ if (currentPhase && currentPhase.name === targetName) {
+ clearInterval(this.intervalRun);
+ if (!runTarget) {
+ return resolve();
+ }
+ await this.run(currentPhase).catch((e) => {
+ clearInterval(this.intervalRun);
+ return reject(e);
+ });
+ return resolve();
+ }
+ if (currentPhase && currentPhase.name !== targetName) {
+ await this.run(currentPhase).catch((e) => {
+ clearInterval(this.intervalRun);
+ return reject(e);
+ });
+ }
+ });
+ });
+ }
+
+ /**
+ * Method to run a phase with an optional skip function.
+ * @param phaseTarget - The phase to run.
+ * @param skipFn - Optional skip function.
+ * @returns A promise that resolves when the phase is run.
+ */
+ run(phaseTarget, skipFn?): Promise {
+ const targetName = typeof phaseTarget === "string" ? phaseTarget : phaseTarget.name;
+ this.scene.moveAnimations = null; // Mandatory to avoid crash
+ return new Promise(async (resolve, reject) => {
+ ErrorInterceptor.getInstance().add(this);
+ const interval = setInterval(async () => {
+ const currentPhase = this.onHold.shift();
+ if (currentPhase) {
+ if (currentPhase.name !== targetName) {
+ clearInterval(interval);
+ const skip = skipFn && skipFn(currentPhase.name);
+ if (skip) {
+ this.onHold.unshift(currentPhase);
+ ErrorInterceptor.getInstance().remove(this);
+ return resolve();
+ }
+ clearInterval(interval);
+ return reject(`Wrong phase: this is ${currentPhase.name} and not ${targetName}`);
+ }
+ clearInterval(interval);
+ this.inProgress = {
+ name: currentPhase.name,
+ callback: () => {
+ ErrorInterceptor.getInstance().remove(this);
+ resolve();
+ },
+ onError: (error) => reject(error),
+ };
+ currentPhase.call();
+ }
+ });
+ });
+ }
+
+ whenAboutToRun(phaseTarget, skipFn?): Promise {
+ const targetName = typeof phaseTarget === "string" ? phaseTarget : phaseTarget.name;
+ this.scene.moveAnimations = null; // Mandatory to avoid crash
+ return new Promise(async (resolve, reject) => {
+ ErrorInterceptor.getInstance().add(this);
+ const interval = setInterval(async () => {
+ const currentPhase = this.onHold[0];
+ if (currentPhase?.name === targetName) {
+ clearInterval(interval);
+ resolve();
+ }
+ });
+ });
+ }
+
+ pop() {
+ this.onHold.pop();
+ this.scene.shiftPhase();
+ }
+
+ /**
+ * Method to initialize phases and their corresponding methods.
+ */
+ initPhases() {
+ this.originalSetMode = UI.prototype.setMode;
+ this.originalSuperEnd = Phase.prototype.end;
+ UI.prototype.setMode = (mode, ...args) => this.setMode.call(this, mode, ...args);
+ Phase.prototype.end = () => this.superEndPhase.call(this);
+ for (const [phase, methodStart] of this.PHASES) {
+ const originalStart = phase.prototype.start;
+ this.phases[phase.name] = {
+ start: originalStart,
+ endBySetMode: this.endBySetMode.some((elm) => elm.name === phase.name),
+ };
+ phase.prototype.start = () => methodStart.call(this, phase);
+ }
+ }
+
+ /**
+ * Method to start a phase and log it.
+ * @param phase - The phase to start.
+ */
+ startPhase(phase) {
+ this.log.push(phase.name);
+ const instance = this.scene.getCurrentPhase();
+ this.onHold.push({
+ name: phase.name,
+ call: () => {
+ this.phases[phase.name].start.apply(instance);
+ }
+ });
+ }
+
+ unlock() {
+ this.inProgress?.callback();
+ this.inProgress = undefined;
+ }
+
+ /**
+ * Method to end a phase and log it.
+ * @param phase - The phase to start.
+ */
+ superEndPhase() {
+ const instance = this.scene.getCurrentPhase();
+ this.originalSuperEnd.apply(instance);
+ this.inProgress?.callback();
+ this.inProgress = undefined;
+ }
+
+ /**
+ * m2m to set mode.
+ * @param phase - The phase to start.
+ */
+ setMode(mode: Mode, ...args: any[]): Promise {
+ const currentPhase = this.scene.getCurrentPhase();
+ const instance = this.scene.ui;
+ console.log("setMode", mode, args);
+ const ret = this.originalSetMode.apply(instance, [mode, ...args]);
+ if (!this.phases[currentPhase.constructor.name]) {
+ throw new Error(`missing ${currentPhase.constructor.name} in phaseInterceptior PHASES list`);
+ }
+ if (this.phases[currentPhase.constructor.name].endBySetMode) {
+ this.inProgress?.callback();
+ this.inProgress = undefined;
+ }
+ return ret;
+ }
+
+ /**
+ * Method to start the prompt handler.
+ */
+ startPromptHandler() {
+ this.promptInterval = setInterval(() => {
+ if (this.prompts.length) {
+ const actionForNextPrompt = this.prompts[0];
+ const expireFn = actionForNextPrompt.expireFn && actionForNextPrompt.expireFn();
+ const currentMode = this.scene.ui.getMode();
+ const currentPhase = this.scene.getCurrentPhase().constructor.name;
+ const currentHandler = this.scene.ui.getHandler();
+ if (expireFn) {
+ this.prompts.shift();
+ } else if (currentMode === actionForNextPrompt.mode && currentPhase === actionForNextPrompt.phaseTarget && currentHandler.active && (!actionForNextPrompt.awaitingActionInput || (actionForNextPrompt.awaitingActionInput && currentHandler.awaitingActionInput))) {
+ this.prompts.shift().callback();
+ }
+ }
+ });
+ }
+
+ /**
+ * Method to add an action to the next prompt.
+ * @param phaseTarget - The target phase for the prompt.
+ * @param mode - The mode of the UI.
+ * @param callback - The callback function to execute.
+ * @param expireFn - The function to determine if the prompt has expired.
+ */
+ addToNextPrompt(phaseTarget: string, mode: Mode, callback: () => void, expireFn: () => void, awaitingActionInput: boolean = false) {
+ this.prompts.push({
+ phaseTarget,
+ mode,
+ callback,
+ expireFn,
+ awaitingActionInput
+ });
+ }
+
+ /**
+ * Restores the original state of phases and clears intervals.
+ *
+ * This function iterates through all phases and resets their `start` method to the original
+ * function stored in `this.phases`. Additionally, it clears the `promptInterval` and `interval`.
+ */
+ restoreOg() {
+ for (const [phase] of this.PHASES) {
+ phase.prototype.start = this.phases[phase.name].start;
+ }
+ UI.prototype.setMode = this.originalSetMode;
+ Phase.prototype.end = this.originalSuperEnd;
+ clearInterval(this.promptInterval);
+ clearInterval(this.interval);
+ clearInterval(this.intervalRun);
+ }
+}
diff --git a/src/test/utils/saves/everything.prsv b/src/test/utils/saves/everything.prsv
new file mode 100644
index 00000000000..2e4a851eb8f
--- /dev/null
+++ b/src/test/utils/saves/everything.prsv
@@ -0,0 +1 @@
+U2FsdGVkX18MDWJUMG1IAj6PNoJ0MdLbA7p5OHjZmOMeI33tI8HYH9aoFDTpEOqldDfq0OGMCqDg0dRHMgB1nCtEIqA9gtWNL82bhIT4uYozaNmWJ4vWm6M1IDKpeWrwjdy5KCb2ufIzrwDYeH/XkbsI6KCh2t1JrYOiCblY+VuUW0Ha0m5xvnq/6Ac13Qo1Iv2C7prgIS0oOrrTQuwvP2KR2h5am9WFCRWtvMYHaYKI8KxXbxxD6DGN7W1yQJj4GDNvZ8WwWbCC8Okj5h6Yp3MuJ7RTj1XFHmWRwSJJ5Fp+asq8ToWmlrE2OszTEA6yYx8ncywOJHns/sW7108rix7NuSe5loyw2ZFL7pCbIKXuuZcrIfyic+TlG9rstkb64tPyAmF4wZEnCmERrPdcmhgqeEU/aJkDsUtQDwLRPeGejGA4Kif3W9o3yDAcTNO8woESyxqUjdbcb71CJ36HHIZMU8WwqcE26P9OTa3UwemxS0kcortUPK+T86NwgoGnZA/4Em1BuhcYFjOlohDJXH0l1QoLKzRZZCNUdqt4qZY30fVMMOpGUbt3NCbtBPazG/g8bYehqsM/9xTUwaoCgS/DtJ/LbKGo4ByBpoNJzlWtSus6BfrXcQSGFJoWhsLEVHFJ6oMbS8ZupTiX5nEfEiJGCY3exRp1bbQ5a2UwEheIyfGk5GhEF8026PQ9011BVBNerOfmvCqEgBFlJVfcUEHUbIRkpOM11QctMAmjTuROfBd+8LFHt/CbsnpEv4sVwZExMDoyaHSDY6sCMrQWPfbUf28NC2MxW6X0dV7ylKwZXrSyGJlro68dqlDI86hjltbocrUuLZykMoNT5iSZzGVYe/7r4Bo4jjF+AeUh0NQUE7Q69/3Klts83oEla9/xn0eR1RToffidW/b8C01DUpv+++zFB7d1Zq5b4MV/HFlhvc/eRya3Mr/vLHvWXk603rs1LxIF/PGY7p8QSgU+50/T2XS1gzbO6m6Pu9N6TzV/lk+MK4XnxdOEtTVBZsK8cQ94KUVjADds6vN1TiGr/QgngXvyQGZgmDhFbDAwQWKlOIItcGw30NHzFU8oxP3B8L/6ERgIJdBhco7cLEKXF3GeiUGxaW//+OCoAVqxt81Nggf9h28MBIO9s7YQl6dWNOm+tkigpxgVcFEBybuzEVmzPIZKnEMq269JCtWZ/b6RyPaa1uPIvP1986txHZs4uIJtqr7Ed7E2542OwpCxITqQNu2M5ffVBEC8RfSVFKdvUfsOM6zvTH0/f8Q12kmYIWU4tzUbkTkf0Bna53uosz0LyDvKRWc5lwEATs4Akp5IUkbGGiIXUaXUXSuSN+Wlmy6any5Ibz+fxoQaCsbapQTzoti1AaCY2VJ8Ih4K5n0Lj2M8aX7GHHplswVDMUSzuL9nml4AJk0fkMUMy66Pjw/zxVqBfE/tLd+zTCpI6YAMbcXo3gxs4tTYMxwwltvmKcl1o2ugTSxKJ64iEV/hqHdgyFu9u7lqKdJ56Wag0NftZO0ba0ruzd1OzXDTlQhFXSckeOFjagiUHiGO4nhs3L7Acoyi84eBgB0StCAC0uQgqUGiIvvOEPMHV9FTHOdewqFRtHOE/iBJ6hqTsJoMaCDwaZV5KHwDpdl/XUTBKXmeWqVa8CbbjTYZd6+zYx5WkJ3EUQ9XulgHHCJQsDEjn9nZt4NEJYVX+iket/PzVtOXAV3+NGa4raiNUFZQChf0q3sgumyj5EVKwLEUkAdht5qpEuOV2I4GFb791iCoXVmODGI70uyukRFiilh3wH+SQFIDdB3F5D9tx+lDDNpLWx4/rSK8VjGqzAFAO/OkErHLtkP/Ao2jgqJVHqI48GhQLsTUx6DQ7PxNtM7KiqH+DKml8UICyWolwTj/di4zXcuFyr86uA6kH9UdL2viouJneaMM8ZtzQVOUqxm3VEMb6wr60ooe86oxKAqYkWtCSRB/kDaDmBAP5LcAgIr1+8QZcm/qNJYJATO7gDWQohT4E/NHQGd3jnF9+zN6Kz3O8VXe96VOscjS4QCLJlOnjqAFuu/t79JFZLgXZCYU2Ybj0DIADYUlj08Me3KeEr+z4GF/8Z2oE2f0PoR1AOs50TIaFmJOy4arR3hDXiY1MKbi2H534rGlbwDg//NOEoawkO5SYzXsZK4oZMWC7FTTMfX7iOkTNkPE///vb3AUexPOkDrp+kfZH/xdD0sNlggyNy2uDu91NjramnjvFIqQ5KKu0AXhGt4NfSbZtODJhZukqt4IadmAjKPIQn2Kq+KzajY22cd+Drw/XCM1oSItIuad/z0+rUOhbKw/3ImKc4XJEgWGixz8A7RptGMZ5qrs9RJgwso+1Jzb+++8D4cMmbqIGrZNDycJbqT8IjFUaydlh8IIijay1K6H5FBC9zzsZs4mRk6W4bvJt0LpvpxwK//BmwDAywi1KtPiUeqgRQ3fYmLNyS1OZTha0ivZ16TPTbuq+UMdL7wLmLkNPvfaNz6er5l6G3mR6ieghxRUjvLTdrGaxaiXjAiSuIrNdBcUHGkypviSwZM+p/t/vtJa0LZqLwKRoo/LiSj8zEvbQtv1aiYpy+0gRBXSt9c9EzGzWGwr/gIrLr87BlK3vvNNy5utM54YG+iCVBmGXyqdBUxpabV9Uxm20ISgtQhKU51jtSmpGByHa+M0IHjeeuouhxAbis/s5sV9po6fILdlo53FZzTJveky/RzMA3POxfG2zNcmv/ZL1L+29oJHC6mhJuttdAccU+lPmdHkKsC2VJcu0c1kR2GZJO1WguqHo5pg84dn5sysi2MCsq+Rfypqme6VAqTMB2Mi3Lg/RLbiDp4vIDLv8OQoLI+yQ6ODx31pQGPt6dPUv8bJWST6VkKi3WMCibYutWnVnVbjSqK5d+Cuvl7pU4knD+gIYFmlvMxFJm2OpCl55XK8VtWboPWsv4ZTWq4CPlZO4mXg0L2x0+ohbPnixqvot0p3f20tIqSHWI3eA38v/9B54heWBCZrsxOxJmF+ys0UbkK9VJs1R5ZpNKJcnZnvQIOp7rFN9Wt8orQ47/wjvOFhTpuiWQMXOAxk0TSk9opPXKU93xdJmmjCrHHitR39E9ZT18qfAHU17aSUc5a8zbLeBvhd80APJQmpgPvLbvvMw72nGp6oeXNthC8rQ4mJapn2ozLVSSA5JVvmUNLRLhP0O0sTvDrXguu0yKWc62bP9/QC2fFae+0oGoT8pHatQeVzjc4jWWwsIuBfjebWf52sJClRoY9iRfID+Hu7emgt8GqSvS/TI7V6YCzwreFXZSt+C0RzHlLntsV0jqeGIs2vLrrZ8rV5LwcynDqlE0S5N9x/j5EyYHf6SJu7OO8pf+vh33qHqfdDmOSHX5fOvxE8snmk6cgR7MQFBbW5JinELdAzoB0uuGoNJGlXqS2xUpmtwYAX8Wh4dm5TW4mhMuo2WFBaWU1ejFquQkkFNXjEwaR87t5nyo45CkWqKmZ6xVNbkoVDqEMc+wCRcsGgp9aQ5o1fFrtKTef91gyrF3b1fhKlhSn3X/r5gOqo9y/i80vT09L9byIN1v1dBqz2zC0Bd8kGeaCZFEezgQeznOZ02TbPBhePJL/qH3ZsEm0CPItb/O16l4UZb/uPgdWLsIvH0VN1i91jwR5v3IEvyHw7t/y1c0/0LjbNoewaX+CQ2iW9E1P6tQd32ctIhGCfj18SBLzZyayxCZtFZjJekT8zRDIN7bLFkVKGQP5/qeTTplV2fQ0CHyAA71WfUYzGgRxtd5DjecBa0JuW15LrY7OaCtifMea1xUMm+MVtA2yY0UQGK4M6UWAuWQfYyOUfFL5bXcmvWANuY7we3CLRxuIlo8OkbGtzQNfMxytMEX39X5tIVhiW9GyqlqaYIT95DwFW9JFiIz9o/JdeOZyN24HXhVlmJLzTGUP1KLnRX7XDLF7n+3p2HZdJHSg7HoUBooYaVOwY9FQW25AH/UlP3/wBwPdBBDtLviRwTfuQSlV1TyujfiQoyeaYRGIwrxYZMLyRNoro+XWn9/s742weUSUqZ+qeviWifpAMHM/mH6sYYTKWzny3gX+PLWOEkHFCAcpPC6QJAiEIFK85eW5KzWVEumhpgljmGazvxYMrrCW6engEzM9U6Cl+Yp4lQaZ+HtOwGxeTiRorihLLpW9LI4gbzG4v+DG7bfSwQY6d380fEs2MYM7bx8c4D6TyDHwu8OBJU9liYsC3CRvCf8zbvgDe0jkrjyhcVJJctKmmSuzJdykJdGvGXOf74q6JXX9Lg3V+ODVc6g7tJhuOYscQyQNM8G+VhT0Ayu+eHCdlNZWUeO3j6ejCCFzDtgtz7FdFRBjJ8zTIvkikf9CoWAxW7NCRgOHE69Hg778o/u6pBcGqQS43SdKOdrGxEzTyuU4HI7a1hd+v91qeKD4MS7rSFQ4K+WhdsTpsxr0M8qEfZa9S8HnPXW9XaZH1hLUWaAosxDGYg/2JDS7nNQn6k2oW5VeaKrogCneFp9waQGGcLGsK5oxUoYAmCJgvJaHNTcr43XukNT+35tyEtiEWhDwl5rHPnoAcgBMkAAugidpGe9h46JrDECU/XHc5B4sV+NAdMF/YiWQXMcomu9nvpAOjzcqFvmK+15+jrBJL4OTVu7ZL/B2pPOC+Dtr7yxAL8XKbtXJTAWBH7wa7/vu54xqWsbNLJCVh65//LPJD7Dz6nKFwnRpXh2D483e8QWPGgR2VQQAXV0mwvrqCLm1njnYPPpQYnYcEgEESUrJpjuFYMx7zL2p+sb7LDSkVgVLvopsvNejRc0T18p78ELQZq9FBpRI5ucKxpZb7C7ZVHskT0qwj98wV8hKN2DjavfHyjAILEFeQpV36NO5CQLRTAbPbm4n21qFqi4PZwB0lcX/N0sNRd5w1z3g/isA5pRh3xwB+HK03uln1VKLTN2pPbCVKc5OEXSD2Y+aigSknYvYbsoex6Wa0JIbyibb8TpktTJp171F7Lg+c+C0CBxcy1s6MQPj4GVLc+/mE+3nEMwbD5OBa9W73sZP/B7ZjisGNevRzaLX1dMn4CiPGRQiLYd+Gf3d4Aa1OF8C7fp1KJVEEvzrjhp4kCpZI2jsw3YppoPLrYhFDLHnEfogJvm3cXotGzRHcX5iCCe5XD79Erno9OXfBpbkDYUyTf6vOu6IU1XKXxjGQoJgus6M8IU0V+pM0fWzDwPLTwDHTstkF01/pyzeGLklHUoRCvd+SIKKULZPZCLOE2tuZnuxJ0tgBszAigEv7YxUwqMqPxcqgQyZ+/tqiHggPyx54n9oYjuDYPQ3nWj/55dOEHzvm2Mv7mjTt5XxOhHvphZWyBPoIcrM9B/te4VOsEXu4axnZkRmA70Ycf7bDUERbKJoPd6mH7Valzwfod6M9NreiRIc4HYijdZRr4Jm//+BB2IgSVPKLVxeJrNBYusJPQKa2eAYPrq0MtrYozJucBVEIcLhCOm80RbYqCyS30uPWINHu3/RIkyzVvNB9DS7sR7b/F8T1REcjJD7YWVZNT77HMSuhcWPzugWcX5BaKb7+eyM6/EzALsgZGGyn2FNKI5YHhLry9g2xbv9/sAAev9FAl6VTlOgEUH4sJDYlUWSia5NyKOu4Dq1cr3ql1PbxopGXyxxCPZOVdn6SFLLDms8S8HZX+hhhFjgT9ngzZL3k6ye7mQ9ICuLRjolCDRHwN6hwfZkvoB1J4smMTl0C48EZ51+3RRlkf0iZUzVugbGYmKEhcgOdxEM03z6XRzmallbxUbet1Nl5Ft4IL4el41vTtMgngtuICDjiaDIA+Ye/12Z+xlTBGGlxC+xbUosYjovTm8doP26jyRneSl+3KVTv2DpCCg0ieux4CESqtqVVXePK0RR4Rq7RGumL7O7i4+UUEPvwHsaBGuqvAS8aVaGYkH2r4dhjvxMHvR4FKGZc8doZgA5dmqLOGv7d7u422kS9XJvWsPpKwV9r1QM/jZ9EZHVh/Wg06f6MbMEb4BShMwYlo5zdtd7/0HSZTBhcJq7rmK6FLm735vQJ49xnbXSUXHEUaTumQK0gkUO9g3HfhqosN/ykUS4Sjx5PfM1jv5PTXGtQMqxLuZE6dhfXO69P88bdbHWHjSwtUmbNzX/06fJFJPaKrTVSnGr3faAx5VeBUDGKkJYHrrNWzFBy//gwgzctOFDBbK/y9P40ztO46txGvEMn2bGzKwdiSSWalesF1A2dR2/UAv/pQ/i6KguKNMqqd53vKcQVFYd3hhHiuBu0GtazAobGiBuX0FRyeK4pR81hDrwmbpyh+e+Ra/jffCDJfwcg/YNXK8vb3W+MZXznHygq05ghOPhv4dbKAya4KNeYHTSfBD+qkXWSbpbDvZwYXictUjpb1gvV0LnlWaY+kl3UH7z4HSojzr2iLgDv/viXcbHPDfgGV1DFft2x5pALwa2EhjovJfItnoaUpqIQ0ub70lzELW2+T+8x6ovJt+jwpNWyl28xj1NBNsX5dwPXKuYMw+O0s9tHSdv70jR0PKKhA0ovSOpqt2FoKCgKahO9FCMBqU8cTzmE1vCbC3GvNHRIaXBbveyGl3LX9/ADyVjt6itgie7ezoovql5/1yCDx7qgukAbaejm2011v3smxDK+Dmqf26wOCWWgtPM+hQM/5VSPJzt0y6BksDKbigm0TOdLinLCGYKCGobQPKArn1ucZBFWj3NzoGWkaI1VZNmhxHQPo7mScJg8fLKXYupiRyWkMGKVObMWQm/17tN7YtVFsMP3oEzopqhOCnwuOr/rQ9qkx5WlbfTeDWiZGR1dHd/K1WQOBd856iNwRYKWxRjBo2pW52FE98SkLwwbcQ25cqflIZHl1Zfqu/C7RYvuMODGZI8vCecaZoai28zko7Y+2INQiLMRks+143WgiPzK2nO/B6ElGzCpEI2bAw+DdcfXSYX4tBoP2SzvzXxFGWd7ComtifENwyUxq3lPwAtpEU0388nDRaCQxeqKCpqAsNNtLE9QPcy4wiRjViGPpQlR40uJXzzfSmsAMCeYXx/76WwULrBSQtY07VJm/W6ZZPJI8hppIgb6zUM/kXC0XeLdilggPqPFHMVPt7eLrbjOsR0vOiomk1oj0QBCSW+hETZDy1MbN5TvJ8N+tnbzTQHZXnUq2jddyear29dplqluZL9G+gUw8NLB1rFDju+vhV4y8y9Hbhu6Kfl6FIC/629i2KkRMYs+f26EuD3O3sXDlAGlKEduxL0J2qpkG+hESZAQqiVtqJBtDya+2RreSDl8ZT7cRtf0SRs+YeJxo1T0miR3Q67eFOayiwlubyvkSkvLuErxuyCOORzjYLmeL5/Jolb7yWT7JKo1aL1Ec2Asdc2pMtMqf2M43eZnVG3Y/LKs0MEnvnIRqDsWa7d1QZrLs7TlSuCSPmkuEC0Z66fWqCTGAwT9po1HuO/I5xiqjp4nBUM4/23abQt4k248YrtBTkH/FbLHZYSGtafFjbk7d5t4lBQYOLJNpeOlyIUDX93/Y9YrbTPhL/dOYzXaJ4YILr/aNxXYgIsjKyt9x32T3MCif3qkRV2jeTqwDa1jfERLpWhZEkH9Rdpm7NvPc7S02truuTokzMzMQCQAdVNq5T8CswvBgZ5u/rew6niJH3a6abvgKvQ97cH3AtnguExrPZvUSdsOCv3e9FHgJnTAYOdh7AfGq7CP5E+BqdZlM0ljFTmoFgtwavNR4RHktbSyMJY8CTsf19TcI6GFcUTKT5mOnsX7+cz33rP43GArSOSI8CrbxHKvmENM/cKlFQkYsejuLvRMIkPFPY+YshcONGu7vCKJL9nXBQwRWE3lAMcq3ds3oqbVEnA0isCmg9VvjnTzJQXkIyM1p1/aw8VVO5ch2unUm1s2WMbnNQ5OnLcSZV+3ZFd9jAUxcilZZ1u07fNz6md6aIzBCO5HJhVsC91ozsNV/0jp7D8gqXZblhoXqUodFs7P1vMJvkxiTrQGLSNbgHNNvsvCYXGHNPrRLWCScYHr50lYTUAhc8bhD+O6EhejD+DGKGGDrfNcyAUatcsj3JJa2fc5M6y3SaHahi/wRMZTqUDnRy0lqfvlaInC9BvTNl5/W1MWrixcTZ2rEPsq+HFQrNkVY+cxIAebL2wSlBE55wKSL8AvYe0inVHsX0mYyJkiDjIo8/oQhNTVRHyKItRbnWosNRey0GNConQHcV/K28v6JZm2f1YaSSvaiv4DjeUt8cXVCfbs2cRCvqdRbEh4WuPbp9icLyrAIl1d8c46IQdmDHBsSUf0m7blWVpykfE+1xqmSFdsSY4dfc+QSZ3j6Bg+9K1iwut0TX1OIbo4K+z/e+3MewkwZ3GBEjG1het3TTc2Jj14eTqRcgfUES927mLXoxL3BTRI0Tf06HTp9dgUG1p8e0d92YVSRufY6D8YUVaF6YhMls5IMNHpEX8GUd2OCC4jni7bJ7/Z8IEmjzEj5dj24q120h1l6EH+/PvzHrRlbdUk8xfLF6vk7Vu1Q3SEfUfQimxCOc/Z53xTSRlnZ84IYnnti0LZYCiYvhG4Zi7iKkZ0jXoeKgYGsolHj254LcTx1jNXkad0DFU4atpDaYDz/Sd+t/8lWAUNikmDN3fKOqEizLQobnWl71He1nHVh+stQ3yLefY9sTIE1Xaczy3EaKKr7RqpdXdh3+d44JJYEHrOZaFj5ygWOMRVN1gMVL5Mc1+Ah21RYzIhb+Bu5utbQCmZdhi9YTUud1PDuRQlrCpeasLB8uXb2/npE4e01o+tm28uz96SHbXICSwO/Pdvf8eLhOR+/P13jlj876wKndWqVm4nBFZ086XYef2L20WyOnQWYlpkCHf9VRPzH5tnW0d24k3sRqi26DCA34K5V6xSWngPDux+HaCGvl6ZujE5lb/g6F4jneDvxCkiQxtHOgucg9SuS3BvT3XX1lCA12nRujcVDBhEvMZice4vM41so3nu7NG1UULeC8G5s41wrmCWJkP70tcV/ngGhLJVvZg5VG3nPviVcw1Ow3mKvsrSnzdUau+yiUqtWjBeQTgRwtHmhIxfggN5BHz3bfFhPO9HZeBGCmid0v/WEcfGsdFRzQQBtKYSLrQIcU6ugMdhmd+f7J6ZI81zc0gEnEx1ilZU8VU7czN9TQS8A1vy/q7c8visEp0lSxHvsxhmwNzwN/lVlRnK3GbODKmMt2lysoK2mTvuhMungErL/4DUThdBnU1l1E4Zec54prSXkTZ8Bs3LSgEU1Pexp32d+vGY69DXXF7RyXGIQ2cJThKjfrEY9Ep2/KgZiW+26zN+NOuHCPyN1z8de9cAKbGMyPE9EdlCYWUJkDuxMLNYFay+nTZcPIrp+opzwSw2/frz218+/i3sXBsVmNewXrWd2xZAxDTlQYa7n9sbZhOVy2xnGPXOgbTlEvEJyQL0IGfPy/9msTSnMsFrN0j5n18hwa9IiiGNr5nKOFgjRgP17Cas0bh/22eK0EIUwlovGE6XYD3GEZ8MYMmtY2elFzVYpd8Kyt2jaTj9IyCEGCy/gnNyK3DqI3oNyGp6Vo2lxnWBAt1aDqh8Iy3BacgMSiEj3PFsN6vOFXYv1ikWRu1RoNv9yBK8BzhLsBi8YcCPx3EZ0FEGf56B3VzAIrG3KkfOFA1uQfkMLcCBBVdJHVyt1IsYzEDHvl/Xdr0v1ffT5r1sloOxTclUGbi5wdA8OVSer5//QpcUzygqSqrE7dhZ7uWFrRp+jcp0yQrgL1fTsTXN8ANErrjXXfJw9EYNqyXnkCmxvqb7R4ydjeAiQpFNc+QCOg0ZalK0C7XBj4rdrj3b0mbNIhug0NNIeisajKXQGer+R2J34wTFvWlPMqo8hv/9e5a5zWLKjX/qLLgzso6637KNdJXHbwvUMd4aSQHX//z/afXlMF3QvR60wakDWBFLOJb6VITnx6HAK9/Ja33WpCnrY7h+iHoOr1CVzc61PyD8SE3E/mAHWXjy1YQVrKJVg3/f9hgGnE4l2iWPj5QxHw+VOpGYd8eThTITE1nHCpx0q9gUhpu5l49wPxmyMZ1RjZslDgy2mOX83XbLwHmOSGOZPs/UkuSAAYkk/+kyH0abK7Z3OvWEH2jCQZLWTzWbc4cdjONErmt+Glc7EB+5ftfgOVK/uEjtahLaCA1gPivhnu95cghW6CSXfnSiD1gk8KPp3iI7ATFFOGfan5Y2YWqjZDR59YU/l6f19L1pVZMg/cXX7ipSfZQ4/95+BJOvb+gj9DcQdZmQkvQx+krKy3+SAPc1QrJiqIfGduvgYwSPvtsLRPX0fr+dmBm/VK1D3aMgPNShUfV0VHTgyRw7+jXQC3EQ6ivyCoEacrRK2qC5zucY/EUPSqoiVlaLwlFoc6gX9AhRu2ufra3IEV9I8zEJsfI+/IWBOmn+07Jdrr4QZNXgNUJn5JfjcmT6J1KQGT2Dq7W4oCffNuwdNtul9N56uhprJrzBG5j9gJEgpbwv6rDQC9GcUlGYTCI79EXPn/K5KjesNkRZtikCD9RIZoJl3IqC87DJlYX9h8GXoZC7cVbswOWiBaI3W/mZeoZKsBKLIqy13YuqsKseW+VwSLWoR3moLf98TLTKtnlRCFDN7ZN2uXonBHTVkwv4twqK1rLpK1X/5RT0QUbDKZOaCgl7Pbne8tOZcWceq2K96A2cFrHsRuLYdo4FbIn1lzw1+8+0QeIbNNi2vYUbf/D+nSx7s2fe1g8rgL93NNyrSpjhcq131jlgpwU8EXGW+eCV5tIZQrihj5biMuGXbYP8xB0VwSsXICU1DyO0Xrr45kCfxkicjm8OxljvtDHuXW/YT2wZ3HbkaAbIHBL+Gchatj5Byz7H8ZQ+RkHcECdlZaH+VHAQhtsroO7ojHrGv1wizF8XxsCHiaEdJ6vfeQ6PtSJpPgs36y5MFXtAWHQnpYCogowhljGQhpLCvk/eRQN5MJcHZap/RPUEPCwIlS2CPcJxQox61if8N48oG3rE6SzAIr9eI6MH2tpVOshzmrMuwQJPlu6FgRaXDoG9qf44+cxQg8S+jWT/RFpyUPbuXUU78z8Px18QKIbBM/wudx8xExwWp2lYXX9s4q99433w6unXJ+4g9lw5ZbH3ocwowxnLUFCR9R48HJRnn4odzrzO9mdyuWpwaZ5N2atYm2qNwMxY3LsfWKtJ2gR73ccJUzjrDnfSThPIDJAf7Bhc2XjA82+1v+30rUmYKa+sZRSl+ysHjzyiYDhqoVI1O7Psv3uuKV08MLpzNRhWp/j+AZkRoAw7rXpgZ/03cri63Kxno/6wN/Xl+w0zCXxbgEhBzbvEi+/IzEd51qz8KcQFmqdTcNvc5j4uqiamuMxEBXUIdxz+IqdxIq09SSNsXIpNiYFKxJ/DywSWmuzj/Nf9+IDB33l/88WhjDi14WmjLbQOK+N7n4bzi85HTkuiC91MrWbCQoyxQbbNQ1waKH995GFpIcugtIJ0uAMrIP5X4CvQ79oy3apJ7+lAbNT9LxIBY6AEjYRfNW4Gt48m+qAB8bYHH2Z4PmS2Wie8syU38vudux8vkJD9ka6pj/TyCduYsgbM3qzk3gU1YtagQPvqTR8xCNHslEXYVorbMm28ul1u7EJ6dKsdBjNmDMVNoP2Xw8MKSGmo7t3my3KH/cfWovX+X1fYoz0sbnb1MRwfqjQEbmZv7XQu3pFYo3n04BK2QuIKXgzkL54skg6H6P+P7wtn9/GqkBh83XIAtnK1fxW2/i5DZlPIEF3XFH75aZAQDSHNEV9/xKLyIo9CYvnQ3ZW5ZIxn/tt6tQzL2bKOOcaDxW5hbpB3UhYZnBZKmPsr3FoO5IwamJWQBsBuOJSUE22XdzwOh4eGsKi8qfBJ4pSp58K4k44GYf7Y4a8606wFUlEX0m70Ghm5kH0pzAhiOwCU3CxmaRzHXe86nYQDXpR/zGdLYUdCyf1/iIvyLEvKdegI+nyOXz5qYQNwlB7H6kyFSe9x674CrvxPzxnlQDPRAg+wqbuFTZbGScfN3Pe2VHa2EQfBaxt1dMXWSfWS+3dJqL+QwB6ddX7DyPcOidJVCI0VaNGIJwwcwx5hcqiZZiIswuXIzr1U/CC2ArUnxQDUku4gvJXggLVW8js5VOxXMEVJa8pejap7GNblHhDTM2MKiUNeS+fHT97oF76aGBHaJR5Jj5uOlrxrWrh5w5YkQRbZ7m8xsc0bH0fjlmFn2trZ/LPELDwqwxLAESP927Hd01znaywRRP6TrN1powwP33LMLTQjySgPIiJ9hA07PtSAkJiv3e+XbpNFMiBtv7kzeFCOi1qmsV099iqnscISCBN31MabV7grViDJntC23ckWwTzzew9X7ZxwCGWSYaSAurBLYnW6LvlaCkS6dmKiW6xQQSVlAQevIU0u180kKb9ETtEpdvylshsIotCqfbyn/bnw4eHxOaCiLxe6WTE6UJMB7yXqKVgzX+CF7JZqSVhk4xIIjHn4W5tundheQYTUecQRj+uaukgufEulk9/FuH4FX+5a+2RhiGWNyWWCkymdaMyCp4RcWKOeHgQuvrXoobDzDoczilI4QeFch19mlIJvj6ns30J96PDevawG+dhryH9f796azVqgVmcFPmRvd9ITj4RylnKwRT0sIzSlnm9N0D/2wJ799jZ+9+1kC3FJoPJM8/UXeGPOrZLwOqJ2jiUCLLV5Bk02yaEhT8ifc1zlQ7uyxmhTdC7nfc3xoo/XCaFCWzTvoPLE5/cYsGzpP7l94lHFkZ8MQUAaG12f8KJYsykRPUnD79KjotGJl5s9yVO2/oJx7k1iXu49pFMwp5+xahBUs0o9UQbymVk7Vfm5ojeKFSjBniNjhmIZshDKGK9LPZflX8KW4eWMB0qgPZ/fnMu2dFoP0NlmCWQpninQKb7ixCLFmQ9ffjtexcBELk48PS6SmSC2HMmbsd2ODlfPnNZcECTDjIXZjnCA2rCMhDtRr2e4iDs3CSvTX4WUst4P015lm2fJos0ps2oHBrDlgpE6HULjKAPd/mw0a6emE60fhitH9zPP1TUCakJK6p8oM38+QfXyR9iJhzHPsRc44/naKdBKJCTfcJJkudEGJMHjTHEiaGCOMe48OBcMs/S6D3w4Q9w+BIIOBSuLwqolf+fnS3BM5dRPCw4BxuU1+7HzIPuJey7G9Va1CsqP/ZB2R8/9JZ1ztEbXk10RDEjZSrA9QDWgek69RTGxarnyTO+PlPR0yWgcGlgDfpMzt1/15bUuL4KKBqLa9Dg4Uy4Sw1rIpzjcvPAZrXjx73aamdccM4XAZYasa9SrP1QubSGwwUaRsTbkegsnpUItmzfFy/Ib3YopKf/yv936zhfi02xMScWksUewvEvASN1Hda1BtDtN32eVWzlpf0OdQk++xPJlCmKgGJR5aZyziTUpTUHCOI/pglxUeDE8+uh2Liz6gtQRkpft68/uAjNGF+YRGBVx3rvMOn5hKQCvSU7IslcEMBHMi+BZkVEKAvKM2xNynl1hvmS2EyGJUVkUdLy4okYvV9JRPiMqhnKsdFx9kYwj6ZlMcRhxhOcD/5kZVFfqzw5T8zMj2v/CBp2AjjFoHtjPqadu3Z/RtRGt7XUSzghzfVJcKf7ON4intCwVdLhm3BRKgOCu4kgGy/tmd6AnJ278Z42eepwA4/faCAFh4KciGZKaRW5imccSqleCGIbtLrLeqKd93k+kS4lUGGAp+Bja+Zi7DWoa+LYQz/x1RtZdPpuA+PCF5M3GbB1F9B3Vcj2QPDs4JwrfBgdhDnoe5YWrILLUXlWMSLmT6ZmlJD4Pn9fnNwg8T1qR5MwLlUXKhS4ZQaUQXBACOqG51UwOeqaBtATK6v71IGSvtcysEUMq5xaMSGHZLUsjloLz6Y4XgSC0xjJol5WAQIlEooArj4kMud29XG9G/HK+XDpEcXLddGpUbNpkLaLIjeoYq4XQCsBIqkp/IKqL/YO4IU0zozvq87HKUTYQTeE0K4x8BjuIysU1owI9xkOzEeU9pVbrstfnaynZwOPzUG/xncuQfJYPrGbjX/H0nH4lcnen/lVmfMb3tcXcLm8EolGpfnbrLbhrAbkdlDfRBh33x4Xu1TlxW8C1IM/DLO58r1O2c8Z0oaWDLiZ9aYMbBwWyZ43xjMmUlUrHcVpWPyHJBfCa6x/v3tiaRwaL+RYvwKEByPEBdT2X21K7UxWMi5JF3FsEhrJlZTpH4IDq6KE0OjlsQbIjpKIUFcNnkMHUbCcxv6n3Pbr9NalMNb/tieeZ8nZMECL4Oj+0pUVXNzfmvBPgYGDhY3pw8QcwDBWiYIT2Cjm20XMA1kuAgKCHIU4YWfPoA7k5OK0ur72tc5SShFrkbHfCv8hB79LUPkAiIATxxRMSwW41XnpZBJ6fRxxkL9TnPI/ucXXdkgClLc/GQKh3rGSHsZorhvmT3xbzKc+jhEnV8xvSSB+WhMGrgFyDgZHvQ5dzeWxz6O4EYW+ToyLRzcSN8JXnPwwqR+vAxWgAuBhe0YNJ0sazUt7BAHOmCN0F7mhCFLrYMQX2K86p8AWj1m6pJNDzIdH0RiJeKV6c8/9N9FLYjHSyWuJjSLRt6dVu/qp7a7aHtYHHxb+NJPHBKObm9dvZA33qcHl1QUkrREL1Y4QAljnbmOeEV9njPmOttqjlODMriFvKdZ/A2FK7Z7xT7xjeL1sJmwwsNilG3IN63VBX6UEQEcpXNvSpQzZO3uz6pW0M8bBSSYHtugQAiaW8MP4+UmuN+d//q4aK1ci7lKfO/oQpIvyGh+zoaFA2HooZUFJLgJZAnW/sAm50yoH7PkLJID0BZvWx0XKR6XFwT7PKjY/DQfvCwT5dlDqCbRKQOahAxLgGNV7dpNI9V5nc58LJ8Q2FskloUNrRs2BxHMjvlip0MaD5tLAwkL3Jjrst/XYm9HskkNJ+R9fNwEBNDSnKcxwTNiOJF3ZYvZ7uFmLElLvGKbu/oD7+wxekZH2wyfJ00lc9b9XM8t/4GKg1UPnzHb29xjRzHh8DivO8VelJUTns11yMIJgbPsqFqNgFofAJEXV1Diyc3zlhEqAsH8qGfl6WMscrK+afogOU89oNa5Kl26dwRfoD1xgNQtco864K3UT8ApVQNLh3afp95ujGJ5KQBobGUD/sERCU/ukRrBft0ITrTyYMD6fBUbAhQm5+QYJWV3MeF92y/JMbpKRxXn5l1A4dR36+uRk/vWP+nWdFE1puPvNCunaTj5yITX8qLYIb1U2lEEreO+4mE19rU2Fx8dfqQ16jl2eQJ+355MMIy7JOw98AYcP6z7vPwE3P+/PsDXkTsfBHdXXZgoyrrEZ3by/G77fVxJuQaCRtMS7KQaYSlk9CJVByhEgqIPGIewbNaElk7Nelt2bZYlYro8EHWyhYxixFZz1Y0r1A5Mx9CxWP3pJQrdfRGxLqRj1CHczv0AtnGsRfGnKBlWD/sKZp7IsX1QegSJ4jB0kGRSmOZ7nDjhg30rYnGvrCBmr7m4EE1UUiZfQvNm1mRoxMXUWOf1J4ssbnnmb7Vo5ED8HxEtbkrYfr1+VvAqR99cRFWvnUg0bDf50P9KCAh6Q5Tq4aPwEBuJghA6+89sSHldW4M0ag+pzc0BPy/D16HbatRHGovGIsXQhq5i+RGbSYOuThakyUOs6BP3O9xp6ZdNPzYrl1xIBGl1MxTBQ59ue7QkP4hO5F572FgV4Q+tGSwPMY3/1TWCP1c3zblimELnxk+Bcm1tB2XTFvAYNAHGKJ4lM5WV1qs2itM59qC/IoEEZto5yZFt5+XowVlTtvs6XgoY0RJ/gO7d3XLL+KbLLWsb6qcwTAnoFCxYo4kZ+rmlJDREkWVYOEW3P1Rk3/V9wqcrcNGfRu4Chz8JKYEpVFM98MCAUewahzHNXZpRT1pUFXs2b9qgvh7qpefZHNT4WJv3LLnF0C1ihI0DXQha6tk7PInvEvZ9ddsLoeSSKCOdBUJJVMZbXhJYBzyFiwUxu619s8I/JL1eWr90Be2i0jfFFyfKLvRSe3q5Czg+Uz6Ui+fVXmyFv4z9TxjkqHCM2uiT80jHMav3EGgLMN43gKojvU5COk/x9DZIFxMBhNk0t2pgTBDIBffKzBwWt/FozHqIGO0yV+O9qNOxTpb3WbL6aerT03a12PMy7ufV8MAsxBA/EJmDfh7LGYLnKYXm2Em9FyCvuFI2hlUjb2Rl5p8gu/Ykqa/DPK0W88yjguPjeqQc0lF+Uv3VbWg+InQLZrGsYmmvHAbfCU4WADDs8bSa07fb2TEjHE+P3T2oXpoSXWYEsZkV/ELtnKjEnlnKpvCHETqwcbZ7NkPgrsGI7unKAd/XmpcsDW7VVlEEIeP9gZLVO81zPwz78r0mreJztwgmu7R6ultIVTKb4wD+8b8UZuFBSYOXnlbjqOo5JWe49aHhFe/ep49fUqLyCkeiVaY7wF8vRPoLlf+7hNb0kPvaI6dTtkyAnD+tVh6sPFq9zf/QG1VWHuk3pckBA5MN0zB9DkCyH1T2PXwtsQugc/q3Mxr+l0yx/SmfmZfrcskXUBBige2+MCywBAAZFNGUqiUr13njBWnVcMC+3NHmtE/HGepeN18cc6hb85iZFdiTovWnXeMxGtte+pvjpr9pbSbZfXk93P80ueTIzvFMbKHO4awrLmWc0AlBEqiBUk+hMSlmQ8mNFMf+FBBiydgxoDn7CpAzkbU7WUdduNlioxsgz442AyLXKmm9jQhkCdAGofQzgxMwmc7n9xXwQrMcOiXpM0eqI0ao3wuvdvq3wBzXdTIL9p7mZGvPgO1fthAfmawTePZmPJO4uviKWpQ/ZSMeRSOji/KP0whZWllF/7E4jKtLFDIQTURWzS+QvBw++dB/Blscz5jQY5+ogSagf9VjTTUVNs/58wFpZNgeoLf4QgUvgmeCT0E+1puJ7GT3h0xC5DjQr8KTaONqZDH++ckawrRDkTpdvrKt9ZA/YnalwHThj9TmIIv+DMGGSN9WwW1q4x7S2exBO4gCAGf77S9StKubbpJ42HcO9dfiIfsmJ/L6x9esG/AqBVoSKfd4tNZhdKkzRNrM2vmFmfbEgyzwPPA+yvnQN91YQcvab1RqeuPsXQTVCA5tGicPKXz9SYfCwgG1CKvCXhFoIOErvvqM3y3IVFOUvBA+ZO+6507YarOF//u3OWL0D6KoUbUE+3d7jDk2g0aeRR3VhpXHT2tIhRA30w25qvP+U9DoWzyPwcjCzpjzRZmK4OKtX0cCsWq7XMnpShlxbmpGv2yQkuXwiqBATIsrN2iDVi7zxl4ccqre1V7yV6Yp4L4IdpAWOYejRhAhQT7Yq/AAtheljWDn2pKIFrxa24zF1pz2rTbtkxeXnqGFDBzTpoM059SpneRyNo4kfFyMzsT9VlkfawtvgmhhE74wJc1yv2dHxgUKYvKexoQg7PygSyhRxSKSohbgPc3nckB+NeWTDXT3+J8+8D9/g45sv2X8vZLh1Wl0IUBx4dIhJyqVKhWe2s17+JoRmVWxAGANSHhynNiHkEUXxtLzS/Iz1PIttDU9STejAfJx5JawheGvV1EfFJylKnRBtdc0U6kZwLTo+7lCbJbjBOo54Sz/oEL1nI8QHY2ojtINLEFMEF8RQHwbMKhDdJJ6Kud1wet2HD0Ih+j35zq9/nnaFYY3siNVPN9Iv6KSSpwhzm/1LcKMzX6rPrRmqulSxcaiTsXLBnQVfKPERK30yk2AjeTUUXsKSJcHcUqyswIzmkE9+04VM8qd5GYtbZZNBnX+6KoEve6f1jFqy0hwn1mAtTHhvpgFlTxui2h6QR8r0xFDx5j9JHjkJ6R7jR8+JQ3XypmKqhcn+R18d21c8FRnaC+cYJCOhWTmn+dJ0kpDgKzcyR6cXlWAeTixZ2GQfyCVAGrktFUPb8FOs0RdLYwHoqePzs/2ML9v7oaJtF+KWdnr8JUlnkP3pZfPVe3PtVnAubuXRfwETlcAOdJNjzUnvWFrcUQKe5xDY2qiuL5nV7Hkft1GXLi4WQ4/EsIApjpsfoo1zXBIj4nRx6lzyjX6qP2eAcL+ngFM2ltkF/1863o2DCvbArRX+3oqc5dC614qVd/E3l2YLPqt3yyfMVqB+D1TQg1Jq2EzELt8znEbQy9xldhaV4cI625LXpdHiFm2S0/Mw5Ik0PN8qC0GU/vaDA5GplD6NOdMG98MtSajlNXki8slvrtLDDm4fk9w1/gcddPh6cByQLMS55hiY/J09O6k4W2sosidpZjrbnwWsFx8GrXw1eeh9dRSZYAAH8QW/0XSoL9J3Ws6W1UZ9dIU7aoQOt4hGJcUplpA8aUBmeqvLH3Xx7gNg8rNRw/N3/Sm/hvuaZ0Xd/T0AJKGMIUqmdQXiG8O+LbawCPRCFwVncyoYrIc9fB3aZ85rZunkQhM50nJdidLoydPrDNKshsjHGg113CbReX0HOujlfKFXoksDLpcVyKmO75SGV1L6w8FC5cSpdG2WAKELeTm4dPt5xGhzPwcVmRer7RvJwNHabjowjo4vWTEeaEM84dKwePl3dvgO2NyTF9WI5g6SAMni9yVqcLZLj7Ww5hV8Y1S4tJ+mShlUyeYZpUdx8NIQUx0FpJYqX3VNJZfEfiX0Y9oMdReRDBWGRUX3fYsVHwxTTNq84LigrGLgNdwY7Q/mNsFrAskNfOAG7wT8B5bhOdAfJFW3NhQ7gDovJw0SHc1BKLk4/U1qf8QgX2l+4i/60Kz0ePNOHeH34z4vx4Txz974Iyr28ZOMZwAOiFJ6SC/dZXAHQLkgDvqdxO2udMfiRLMIybpI7a+gVkNL7HaMudLhhXB/P/8DyVq//T+K/fPgipJp99syUj3l4Yn+bTiS0SRXw5/PmCK+VKPPUXDadg1G6gRLIQua9jvFdvCx8s/dMH2UEks1pn0ho9XFNLxKrpGeceUCsmTLhcvVgum3MtpTAK+3K1NqSlWKklDYhZfLBL5mw4yrCxc/61BSy1HXUF/dXp3/wIqjrZVsy9KXyxHdbuFgBXT+SWFD4dybwhUZhNkfSuT4qkTdJ/WHweBD0FAhdcDQMBeFPNvCSxw8TIjJ+uJALwipbQstInfNQ5hD5qOyOvGb5GoF+6Et9yTyHOLQhgi5TBEvmyGaJWQFNRt+oVeR4kPfwFfPL3JF9agxyM5QotBWJujqRma7ry5fe8bfqlBHjx2b+QPYDHWFYUa4dUyk9ZdHYRJUCJDYvkz0TNaVHMZaYmDQWkD4y1/OrOW0N3ch25mN8sxLfAKsxIU1s9wmx0LCteNbsd9cLVjEI7fU9wdpaxM1Yum0PdKm18v+DjGQeAJyfOMpX15JFheYE28f8SV0HdODwB+5daoCztkSXFBmNTQ3FmPBV0piKYUO5bemLSWtedJFjKRVnQZxRDxlXmPSy+UUElap8k5A/ofvd6KI8Nfc+xYuIeJWAmI+4ulIEve0YGd8eDopws2+fCz8phvUIsL7bHjr9tOEGHX8pQHkZKdkNkyLPOXFrmSHx6m/5Ofw3w1XRBPR76cffn4zbGUXMa6TTBuFdr8/BaiYr7p8waITWds7Eferq0A7jvSZrnVW0/Dt12RlYS5ROj/zII5JsrfWNzyr1GebZvFmLEYvsQnJmr036IcuQ/FypkA7clfXs6ZPsNWCpjxRGTOW+kblK1KtmkIkgFt2hJWDoXQJoqDlAnPKNHiVx/laWokrjhDHsxZZu4Am0e81FU2BzBdReGxn80LywKUJvl3LKePYR++hUm7vqWa8olPVmfZc4RmIb4TjuQV6rhDKLfBxl9g24YPPN9wWvr5kNvk4+d7y95fQfNJci99I/RyND3U/OR2PSFfDGDZLBVRbM7CxCJ4CajvPGW4H9wHicaDCSvE14J0w4BGZinOd8lz8DfblPUNGT5F1aS6IrYAfrz1+KbGKg818oGKGkZAEE76UPl5QBmo9ljVWw33RbCem9aPRZ+GnOK1vdYTEvTb8w5zSt0rPIlzzq7Z8UHP0IJLQYDRv/Hfi2QZUEXvJL0rPtIjUym5RnIMVjLac0FnhD3w0Zz4s6JlDuf/mWF0GD8ikKWdV9IvJtnShGDkYkYvgLNgTS8RjxKscAh+ESuZeAqWhR0jduYmwdw04KUROhadfs0eCBPlT/JUm6lyLA//CAn63gRcmKtKcGdFOdew4OlEYM3QudoyeTHKf5yAOZcAKxEJkD5xV63piC8LObBkvHSnfJV0eEKCKFkOUjqX4M3o6a/MiVl71fhLIaHWKdKArfe5vRbTvmBo1O72jw2A5zzd5+hVRNtHaoH8xyrCuKqTlH+8MhoMZU4aOtVV43Bdcg2u/JFrZ3r5i/rgJdAYzZ+m3e5R3lBRVTWTwZsTptJ1cbz0j9sSxtYBzN0gVxPjXk79IW7hHEry8qcaVAoQZMnq2fjaMQrYQiZcby7ssQMlj4ieESzqJzYQMVjW85roVjHwUSbddhkaB3BIFotKma2YJzoEYSXBajjDW20RUr4V1POHCqUFysVDUeQwolFndPZNvq7PJMsA2oO1sEIEqsWKtGFV7xdczagEPEa6mQM1rSXhoCyQq7A+iRbxID4VxKvvxC7NPwv0Sal3ukyyeu7TwRp6eo9//vamC9/jTIol817fqEuLrHrYF1OvVMu/QJnbwEWRBl12FLmsao5ld1tZLiCW5yIHh47rD7nzrIUMi0uOqDlkPU9B998FhbSxvONxLsqfI+7+f/QEpaAy8lygkNUM3hX37kqbR12mmmLRMyLuZjHJ2mo0yc1sz3ubC206XW9FY5oAzaOrm1kJwJgJpHnKKao4d/srNhgR2teN0duSwTr/6xcUIEz7Z+jkjOMe/ASM4Xxt9YDTh70yxcDK3tBtYWTxj/922NiEYiGJtt2SOvxNvCoMJ03la8Eze2bbBe1NVm2BTqmpDquuWuSy9w5/RTP/LaJ5IEO5SUhM41MwiOJJjzxmds/DieW5OGH7At7fKztaL+VE4EQb1h33MtCMVLs9ZfKpEGEengYVBeJGkK2k6NnuxwsdpbjdhrjtqRI1WYclSGMEEqg7l4wDCnDsmDY9B6KDkg9v3SbpIopaB7knQPCjVEkeiiW/48AOgAc1P4KHrdB9skKEMX4K3BHDRqJfIWEcr0Rb941xiJfhpirgYiwwpN6/llM8bKGaNSiD8mBl6eMSOvWGYsH5b5hMdG2LFQbxmUyUPzZA8sxudqpv/sKiuvPOdPBkXJ5g06iwS5h7E5XvylYQpsmMK+CtHkclBlXPp3gkU03p3ex+7IE0Liyx2okqSmWgAUqwmjld/Pul/3UTtd0/HSfK0NdWgtY+znUqccw8MTcdkcWlGBC9s6PnP/yZQZ07l4QmYfOTjNVTwGx2ytbs7ibd2x3s8F6KhUQDBPpIqs6rUWUNvYII5SNGt1gD+Ia0eqN5MDA+OmrOCW2jSUbK9/nZbHVtJRE6EfMIbDhh+5pgbwLAy8kQQky59IHzCWVBFhOKtoakCAtCJqaGQEICyainZSFr9KG0Rn2XVSVlaa2uvffbknx67u3Hits9SprCGjzR4jW8lYXTMnLZPpj0UZMXRimte1VF3Kn3CM+bPmhmvbI+pxyQsdNT/TNJFrTv8GUdpY+Trko6PZAs7dS7GJ4C8c6i4E6gqcoQW5bFpfK7p1dMbglTfzTPvzbPQHdcff0FC1ENPKQhqfisxvo5p/Eqb0YQOJAbdHQ0Jsl98PXFNCM+7t+1x216POWL9v6Cmt9cWj6BfhZ4XTNs77XfZ2X6py+QUZ3xSUPOAHM27vyJKVxj+LMnYjQEaRl3cc2VfeoHSnfvMqqScnIJ/Ms2Eo6rhROV8Bhd7+h0pl07A+CRi8rp+c99q4K9Gdo/cymoAP4BmHXKA2m53CTrjN2Cl1kHOb0iyFkb0f0mCRJQ43ZkYozqSx55h5rbQOaXz4MtZWpMQuTOwL2htRoTFbzib4BjO4EUEV+KN87GDHS6XfPvwHu31+46tlq/5qXFNiFoPgHSRrRm271heI8yTFSbwroUgP8D9MgQDLubLY0J+67appgnMOZ7nkW/+ija0SA2u+R9LCKCIgdDUmWIVrS0mN0yPH+wc7xxbED8L3rpM3VkGR6R/90wZd8djtR/5ckDU6qprYLxwVv1Gfdn9v5CfpBlyDGPLdyBBlnjglYB2iYIuTJ8rjvUElUUYU+q/6jd/0KDmSwgMEreFEzB88QEZtk3b1FflUlw3CxV6snDJm+orJeieLzDuo5mcyHB7uGmntazAEsILIzS+bCUb0N4To25/93IJU7ldWQPL4f3ohMeXf1gmke/Hd7h+MnAicvZJlFDsZKKYwsGfXHJKdefBwKIgh8/KuHEqYEd5mBxn9x/t2+k5CCseHpoGMeLx2XUZeamKBXaa3iVee9k1SUE/Vpf8j9ooXUXHmT3PR0AiAkZo3/FWlfqYSSRjfYLink1wfg9V90DZQVplCSsexoqUAVcfTV3wVLIYwszyc8sXq9TbtG9Cq1/ocGtqJ4WUM9uufIf3W3CuQG2D4yOfhSUqpGx93uCc9JBSsVMhe3Ypd4TI8ZH/7KWvkj9de6FYVm9g9cURg9FxAvK2+B38H15bu6Llu4+61v5GjbIUanBSmwqWcXO3CxOyWRiHKDuu8jNxLHWv5mImRQRczzxkbu6FhxIYJ8h05wl3yARyfYVR6O/exIAyCL1bWhal0bcvboreDCuQP9/aelFd3FVX1GHOMo1WSkAFv/rZ4fBHaEnd70g4bQzJfcA7vO6IVAR8h+PI9TEa543nj6bB3qjs1sMoanVLORp5uAOIcaM/8tKo9rwo3akUa5cZ9l8ZoDo+bYHAq/Kfk4jxsg9VMePqf6kp/ter98xuRnfTCn8B4yLwEjqhQqlgFNPGTDnxZugasWzrjhNYT7mlKb4Kcz+Bm1r8BhdFO0V/rDFnA+t5UZwyDMfz5dh50SQwhiOquKqCehcBSymGRpQm1EVpJpRk3IPBb02ywNPFdygWWbMvxxuBQSGfSnQX0eWRGp7utNDKQGQkwfR7kMndGWruJWt71TCWGwcuGmkToK2QcQC8VzmAsh2cmQw5UL3fSsAtlKgmEh8lBXdjLcNRZzMUwSqGpPJgDSVYIhRlOpTZYvhtKShN1RzDn/yNHzNSRhz7uh0kyRMkDZdybI/3y4J/nZQUfaxQ6zi1dCp3x8h1LIsvQmWFDCPKbsaWy7JrlZMVapBofIeQHz17WOLjLHaPNdDK947idZBu11WF+Ds1mJhLugWkTOD+SOSAQL/Vc7mcVTOHZcQj5S6cJZqTd8TZZRMZ5/mVCkWueRNdQMFDtFFIMW3vPiGJoFmx+v97KbzcQjOID9iyxhqvFKQulCa1ntyBwv1wleTU1uXGLGVqcLptOr43R8IRtbsbyW/nwNsCd63EI7iqLQ8npj2sAxjRA9H+G5vCaJ4n3gHc/bF/fWk1W/fKF/xKxNm5WJusLvoz28LNVbDV/+yM3T2BB9cZhvwDXBZ4bIiFxrD4V9vIVkeBVZRFZRCPqb798VF+UwdamcgS9yypk3nF0nnvfsg0gbdg+DUEO3XZCx2x7TVWQn0lVvkyi4AdFDJqemFRkuow0eyikNezLwElJ3MSIAQrsn5tno1Dm5ujyBkeflQUU21IRoruzHBoNt9fZfL/JpOAR/62B9sxvqCo2OKyZ9/9YWxvuSJxSgvnrKqYeAAHLDZrEJ0me9ktelaw4bD6WgmZi03i1BUUpbMf/aFbCfenwuANHyABUYMA2HpLHeJc6lzb4zYVvapOMpqSqB5dKQMrCflT4l59r2EQq+Vwf9mo4qPyGoGwHdTFmYSFgxnS2s0kkHjU2AXo+O/MmIRx8DcO0807u3khnklwG9HnCzWfL85BrP9YvAMqM9w2zANkGOKXZBngBTzJGXEdALWR5oYyEvxRF5o8ko+kabV7/i6cMLyM1zJXYAZRdgb7YQ+LujPlEe9EMMJHU6siOPlBBuQnfS06w4sVGrTZ+T0BeeGV0QqOrprBRp8bGkyle6UZuyquxNVaAIMp+MHEESGeUZuvY1ALBpMOXgC8DQMo+1PrylmxGaV/NY6ksNrN4EOwcVyk6ZStaoSFGjEAz3cQzMTFSkTus8mcSlxq7Hb9EGk7Hyr1Rp+ht+ZNpMvgNI5WDvnEpR609d0IauJKNSed0At+nSRewnpmgVjGhavsifk/thOu7HND1n0mVtpTYQLaaWZrR+OyMOakNCVKdwoqFqglEEUgRFq1OnCQzyiYrPo7akePninJoiao8eSl6qbiWdlY8A/ucjy3BWgnSXQZH0q+rFp+lj/FgKV7WqC1SLWOvWAETsXTk0L9vGUW+iKM+WGXxyzIjb4D2z4n4cJp0vexPA95zJLP1oYrfHDDIM1PVlpD8DS4Qn07nkHq67ZEoK0ZjGzSyv4wDRqt1FpznUOhZWLCfBFFupOQnoJ/8CszxnBcLQIKKQPxChCMiHydbXWzrChLTKImUYcqhxi+qBLpW2I4X+MS6zs9cbpCJs4GQE7vS0eceX/WLGLR6vwC53ncjk/e0PdvQsAO3wK981gz0RWavBkctyOjVdZ16QZz/iQRUyIc5j9DSOPcYzb9ZemiVb82VzcOIRZb3JXIYBcO8OOm1zZDW57xnUXoE25VjSs/RKYvBop43sWKjVtj+PgljiRQEOuuOOH7o1jaS9JsOCw40TOPjY/WNH5hqxnpQv5v26A5oKz2laaQ8uHmEWNXhlBHSklkO1NSS74CZSjJ3A4ABFyswBG/GRYiq+D8UiwnS+ijT/NfA7FPXjZc016otzDVmTnqTe5nh9KFbhyFb+z5jqfLPFM/2ylDDGOjmv12FAkb+COROR8nyOaP0EOPQ+TL2D3W3Zf+KHb6gtTWL9iOjG90GtG8AbIDvC74gaaDyiKnv92b+iSpRPVMgNCsMprjoDNTqpQIw0+wl3oLoEzVSks5va/z4JFdM6MHV5DoPn/3Up7cDs8XPRyQHdz0C8eZ2qCQiZ82AJHSEhwpyNO7/romxd0MKzFFVfaGDpTeYhMeqnxkQqkgYtnSCwdrj+RtISyglbsxvATaPpSupIQmhqUsmDePyuqRKiioMBGQviQySuKzaB163ZLDh9lk3VVmnhraUKHpleGt2S+AlOMbsfswfRglvqyl+HayiA1W5XfRimRTv0MiI6yZ1tn0YPv/cVLqYTsygmY1STY1qE80aHcyyAr3wWA9eAO3cUZiWSmaQb0V6UVndOauju6cHBdsEBgYL+pXE7YZTFYc0adNcrPMRr8GlgMDGBLA75gbBvm+CAYI4xuex2oPRzdGDFu4HvR9gP6FZI65IAzxq1qV8jJIoAqbQdO5qKygT3gSSuFExEaEr6HZi5PXJpxzgZIAyTmiizZnlkq2t4hc0XK/M9Si6eBurzjIfADxsU5hA2rPhOOrEp/+bRgb6W7sCaBaXvNWI3eMt0Lg5Y5O+aAEJPvpXrRJmufF3r79BUtzhFis/BbmF9TnCDvbLDLhrz53eY8GvEKPB+N1nwgCJhkNRYpA3UlQuN+ziefaKpOQkV4drsuu5OUtsfRwoAUsfrwWvTRYeSxWxO0I8s6fU9rPO6v61CpttZmsocZCfgpsHuFELDNRwmQZIwhxK1Lohpd5Gq0to8yS3LuWXPgZ3AQVY9ALpfHmJPBZMeHfYtBQjdl+g8GufO2uB96VmvVK00Y/64izoLNge466/s3LfySmrofkWxDrcGtKtNWRe8jXbrlL6szIfexuqJ9Yt962YnGmW/a4zGs1aKX0SafmBFoJnvGl4ZRbQRq9UYrrqW4P+7fYkkGqvnAKESnZN49gPQSzvRz1UjC6MNUhHIEOJhxb9T2/b7wwaM0vAGNZqn3Bts+v3s6G8/cOt/kuNOdYXFk0LdMC4RoyZltl1q3PYPMv75hXInY2ksMmw9t9I9Vcz/+9XMObAgiB2d0zDXIsWyPRrRgAIy2O1pHf+o5s9nxFkLKYXxQP16sV+eZHqmI1KEa9o+JTCly6KsUx0/u6P8ykCt2vdNLBfVN9srQC7XTm3zissiwjn9ZKUhyi+WLYeeUdh+FjB9Xyq2bs1Pe7JwaZJjsxsIstI4FhmUjJcUazfI7Wr1C0yZcF6Ss9FuPrfVdKsS5Lk42L4mHAdZsWG2qvfVUbrhxXtVZB1u78xIva1jRYYDbn54UU/rFNooFzre/PLNebsItbW1XRtOFlAvGffLxzPtCIbjr1ZZdTyxvCbifkHwDI3H2Tvvrtt6l9D7Rry1z7LmD6p9Cgmu0GMqk2j1d5HyzU9FVbJz8aDvcP1e6tWypIBV0O15IGAcwzw+KbLOa3kN7X7GN4FPXRseeEgiwm2Vbh3F4/lMm/fxQKlQ5O+yv65w7Ngvj198fBmsYXDm8gCFgRtjBNvCG4lzBGu5SORJZZnYw6/eSQ82uUMFyxgURlhxwPQS0Px8rv9B2fC0i+Rn/59ctBc6ZKu3PZbPRX4PHM64Xy7Ikg/pC131O/g1nmsawEc8r7zaFa4xH1C3Y6HV4apUBHCsyPgH6aeIIyYkcr6QdZACrH5Wlp0Hg0XcHzBgQqaJ8me6Y/bgbk4XrcFn6aOocOeJy9vcDGwxw5j+qnXOe0yMBnbt+Dj0VVUnQt/IyGYUbv0KLrMavZgG/XBreuVO7AHuYPskafw1lQMFaqjaDEvgEgajcuN/1UMwlbQH2XPxEoBeOSGF8P2zQmtgZrV17Q4VL6uZbmYauI2YRZrh2HzoYNlRmSUmoZoPOn2UrRV2Xr5L9egxWYhMShoFx3cLKjFOCIUMyP/xyEoGQOTrsnQt72bLt9eXUimGHtDiMAmzATpnw6o9sEjzsnoNf8I5XsrIdIzV2Oj1z+4L6lcMNlcEjvhnjvZiz0wTfHjwXcsaIffwfvjvxYha+aO2NXImXLdeuVsBJL8bpBSNGXG6iIbTEvYNZlpkh6oaeJGnvf6kwMuCCCoEudaZPGUtRyyQOczAR3x4UM0LAKmn4+Bf7wIfFbRQd4p7VG55z9J4XXt6jPYIEahUwaWZIKKDNs7JSQ8mb4tLYusiidzN3pUTgIaI7bjU53EBSUcR+bypPkZaIJ2tctuldRB4pCoWOddfgPynayzsclmPHoaKADwSlWTbofYeBJw2cAI0Wz/TZekkSrZrEIIChCQL3uW1qUgmhVMfC0VnuAyPwctTOFv5F31DHJe2w3HkA7LqcuWDT6qllDkHyR58AdOllY20CV1nkhb68hZnoWYHnJ21HT/3x6nhd6wpQCRvwBZ6qTPWZz5PFPC7/+ds40cNUV4nKYUfOv5hNpXGH6d5COMm8nbd3WHaxz1pt4xgDZx9uxPQjm9bF2S9f8x9SbCCw/E4zL9EV7kp8jxyIaUQpBk+IC18qSJS01hL75/P5HLjofbHJtyM2MB+mNZSsbYQaSmSnCCjh7/qpq1gzePEUBF58BHJoDf64ChLBN0tPNnf8kuLK0sJza8HbFmmXZK5bNmtKKfO0Wv/QG94rzm+J01AR9iS+afQzvoNLFcx6LPoN75fW7Nk1vZBqEuRKQrHBIBgxQh4GL7yxEf9wVtiHZ9szAmhBYnnQxJWFfOpW/BPD2jabIMSax42/uxezONi2x1c2G2dd6PMkF78rLLNcGSekla2Y4WrzNS4KPc31I+P/WOBD2uWmRxtQalbWzOcH3Ai8PJxjAuFV6/cuditMr/34tEAqW5MngHkWyBSMpjDr2V0jfVPfg9aI6d+KVp1yXQcX4F7XINJxAo2rXgwuUvsJxw0WqFlg8ivf/sq/AQGkeSLo0MyiXCrE5QFyPFZ/JvQjtcNBZhaX5sjc8uWz8ftMLVwiUCj2QvjNHb7Ln9Zl2SPrCjvYOGy5N9jOaKE7XVG8U5sQhh8FW4mosja4YkJ0pXLJa93ZSknA14z3t+Wjnz8y7w4hOWQ4VBqOaSuV+h4tzG5Ft7GUf/KaQ7z4u0LIs8tQgHUiy36Gge8CU82Vi6YuhkH5V78Pys3LNavuPEWJdPThUnZbJ2D07QlcllG43J4jbOdWvb1g0S/3S/BgausUvn5MSsizu5Zo0SIsuWCwKl0561EDlHSqIQPZhGA4uCJ+HLTXd9pTGu0m4Ucq3wL378ON/9QVSFzdpHfKUlNezS9ntoR16QM7SKJQ06FiiStfyFgwmUdaROjY8WNt1pBT69QB5qN2+qob1Pm9FngqK9pkuh13MzkmpFpWm02rdmRokr0s0B+UtbZDBK68Zwzr+LzCynQ1Mqt0tbsFpBiNUVzOTe6J7idVZi4Uf4QUOw7I4BonVk0Qcng1AgVRFoIO5sot4cs+o0gPMVcZEVEBLoftYR61ps2+4rIbbY0lRVZkP47Z27aF+l+72Xt+GyTvYpuHCXkDqE9cIs/YJGDs+C5EydHViWIZ9c+RKMv+tDLsTq7f/YCkzokmk7h00zXBcfqge5+qlqOKTSTAK9TmTclpsEzk74BANF4WKNDwVmiyv/CHqyTNFJJXuJbP1wfnBvePH8BwJNU76pFl0ZX6fhsJ2b+/FKNd/f17W6Dxs3fCup9xKK8gBdF+PDDHe+7ceI8HGpWGfZIntrBTkv8YINc9xMap0maDfbZS2kZ71acSnyqUsplQN8pf1nr+B00TxfHgqW7TvOeJt/aXAXwnOcEtJ6N6JN8Zt0nw4SmQPyqOxNGaI0iOSIq0Mucr/y0dfbMgGPdHigNQ4Pf4nAcTjNmokjm/y9U8RNUYn/mZRLFtiwbvXR+yS9SsnCnPWFU2+zrMpxON3saj+2uV9OkRGBUdDyNGoI3yz8xfYll2FrtIXxT9d70rT9DLT15Ciaih4UkHrJmriA8VS/gXHiAl97oSfDfKAspb6ESeQwvEyt6Trbjtr5F9FpxF8vdfh8YaAzauyrxFRc9sC73jVf7JruaTHIYMxxnn4AqRxuExipNkohhF81VeDkeJhbDf1j89P1MZ9cpA4GYvjX91YLutTyETkSU5XT2w3u1eNPv6vZ57OuO10zPWFt/Ztm7xwn2E+ThHQa6uL1xvluZNtuXD6zZ1qhqYRKnWFlwLuvlOlzMlzhpRMt0OyAqOPrmDmHNslnH2pZBuVcMYsZF3So6eG0tnymQ1zkFASdwE/6vqMA1JaIzVlxOndw0scrq0O6XMu+zZGHAmr9jWw0a954yBFnaGvNZKNYllT0IOa+LPqyeF2kTwawoEv485YyiwQh2EooIL2dyKy2M0ObWCbEZi6TMY4CGKj8I4o08rSc1dvFa9TfXbpUJSh7EbsUcofhboJe1WwwCpPb1cevUBYC7ocz8X4FTCPiTlE1jxXzjSEX/tPgouf5WmJc7tXI6iBCsLjtk0rwaxVQkampu6jZDkEatTeCl70bfZYu4rUidoUIh47Y3XL4siCOjjjeI4NGxMUnOADFd6UJ6Vp6oubs+D1YOU5HCvGl0Rlpo3CoF3DkPYTS2/4kB849Vl87wA1TT4t1I98Y1r+FJJYNHdjhxr1bDhuslgSIMPZohnZ6iANa3ytzjjDvvM/5ylI9/wL5X24ME3OA/tZhyYHAbNdcLEDkx2jWH6/mpdrs4B8VgdT641+BELBlnYZoC6l7BkdkMRjxGsSjPmnezIHurLgB43CD0zSFpO0lQpK2tmICGhBszf/jDI7CvAVKDPkxotIJnM4uUmyHJrBdvXp3f15i4MntAl3jF9fQej8idHJ4dxfvcXFNTC6XdLdfZ5SNvlsHEB//F0m/vj9p9V/OS+tauaLpDGrZNIx9WDurtOhrHDc32uRSMa8yrvT7gd5da9w7P87irFd3fI4sXvsCyVa1KpwUL5kfzUbxJIO0T56NIvFvOWFcFiUjlG82fAKyhiHXFbN0HAcyNGGqhlgeMHI2UZKhCOvHKdZkvFHFr3FMOyoxc0zdHITtl2HhJ486inQkJ7yzSN7DZF0fI86jTS2NnzVT7pmZ5HDurh30mvaNWvmYCwYV7V3QxgSQO46penGgsUt23QFoMTOJEB5e4hV9S9hnoPBzmywDL692TJD4qaNMx9iiIlI17bkbfCtZnVtrBh2K7MOptWNx+Y8KEv/dO/hE6JuIF6H3jQul83GjunpDmDOkcDroABwldVRzbOBtzjCslBijLxA/TET+Wo+Cp9FpO6QsJTH9NRAb6ve7A4HEVlfxvejDTKKf2q8+fSkuRak2SjKZFrdNyKFlFxt+ynPfUZMCO5kvwhgcCrMYpy7GqQEsVS630Ujaex3dD6YT022kBGouwqBSNznhV5fAZmwhHctxoalwy7hXQ/3ocaq7EYr5RusN8ybxTcnZB11JF4avQACSJ3LyImV/MrjQojQ2Ca1PATdfqeZJrTK+iSXsYlFgWacNQiNYDNkZ4mrzUKLDPKlS7S1+BtWWfvzZlu7+cEOxq9eycpFpqViPNuDnvGw/GNgOUbnPnr9LtRGF8rAScy5F27vuYiAl3EfQ4EEzK7gcWVMVNWnDdGVCgcdT7G/167eXLEt4C8vX/jQipsihzUfza0mpeNMcQLm6ZCgVdV0HUGufUIgPzwop7eUHHznr86uJZeDOSs5WfiMYNF/oeeTylkpkcBjl6HKU34XpGOmqm2i5avArrZDQgM+r8KhPBt85nHZ3LTaLXgbgH4TTpZzpkcBiJF9PMf9mckCFonh9FUwKe3lydmsyXRcb+jtW2bHWI7lCbY/klaQUfbvPEIkVO+T+5KH8td4q6uXNpJxCVzWt6rdYyO9tljGxEjqInbTKYlXzBe7mgp1m7we/PtWUbiCOrAKt9dwcM63sP8HJ6Pf3bTnEEU7m35EkbQW3M/pIqeMeyBxUwZVFM56aIhC3/lSoQVPQVUdYvIc5Mb4/pHcjSTw3YhoVJDcffwJ+TGWHy507E6ShsJxiBK0s9mNrgJcwiiN5FB44pubP+e9JOQN5PVilht9nvXIlaI2HlywQc24ewCQDFZqHoRWrMzyckvboVvY3RFYkx4xVqEb7bUpLKHkb4N2EiSG3yohD0UcpVK8XUt0g6x4Pv78m9rw0pex9wzO930BHcFXOkNjWnDjJMxHmO4YyRqYLKKisXQzGmaaH/PDqTIzUGpzWyQXgF/IqQnmabrnYpvnrZ0ikRxKT1qBzxNE3bT8xwXQlQGc6mzBbDsiDa5Qw9W9o9585RzPid3azYxYEfowws5GMjNkOICeMtddXACRDsE6jwuM689eBGM+1AduA+aTxkcycfWEtHBXv/z93A1oxise7ErxDodSjJgfHOBIpO+ab3+AYIMDK4C3FOOIVy8RrDtu/9l8PudAbtS2tOddQ6GAssaDkx87UXxq15VbUnP0ERERwKhV62TJuVrrhkLNfYTbNa7kz4e/Yj7NcGObBMDuGwWurysBtwfMCxBLvLyVQxuBfwawzdsukCWwuWXepbO7fWQWdBsK3Zb9mePX44Mh27MxGKfvsBfUkxurjyOROecsprrz+HzZR0+gTIuTcZG6u/uR0ZsqPIBiOf9zBUFC1uiV0RmjR8azdqu3z1xYaMac7Fx7I51gqA4HJwy4ZStz4fS1QXD8D06a+XPxXG95TeensL5ys81g7M2F5kkdIZiYo7zrX7NpvnapN0LbQU2pngEVThTuvSPHK9kJMbVDnhRSRxuVphDPgPtqFjf5sybR5cJrfyxXEpEcsAF7PVs9dcF+56QdfrYtHK0ZhQbwyac03ekB2RISzVVbRYf1tYhGTc4zSZOKIRHE/fw4V+YLm0p3KPQV3SWeTg6yj10TCTAkDgayB5GaeK2JIczkKY0e62CjYfRThBXmeMMOdFUNqSloTb+UT9Lym/RzGxoI/cEAgkqmUF4MMo4RsyPnFyqaZlaYwPAbJoICPJza71TUDsAo20SH4khB9CV++zmTdZrrehSpWZ9lWRgtjsuSRzeM/SCBdxmYBMajWooLC18JXN5ONfFnDLfqLDieOBCZv+AwLfSwE5L3mjvlG1liTkhLykgpesqWfNmbzCok0tv7jALwlazYaYc87mVHbaABJFCevNygFEHhessbo13JMoiLJm7JtVV5ETNMaZmVX3QsRFTTHFZWP+cQHLQl7ocN7e3lZ/rAQVXQ6IU4EEV7pesWDRaUuY5Ir/2rHNskN703wknqEcB7FbghPGp4Hv7ofk6NxQgJ028q0/hTKsSLHvTmwZZIJnNb0GHFmQMPtFM/rpofgyrB0O15OJiFjIHLIyu6tmMbn39KlHE64whMfJhJbRQy0Aq+Fpvcd/QvQWWpZng+O+tx2XIItnQfIEEy6u2SbJ8gdWd0qJAV9o02fc+TMfdNQn2doYo4JtHemTxnuXQwz/74ue/CxKn85/mGQxiLQMrjCZFagnRCrxgKxcKRrorPqv0IsKrUv2Ty9k5iOfZihZX7WUicVle19ZwFTAeeeZWUAlcXrtdik9lZRiK6pT32vQmx//Zb23aCvCPJV+JfY48VY+MLMUHyAx/vVFFsuGj+I8bEmI5FjjilhXmCgWiQN48Hs8TOGJ5klKVJMdW19yiF91C4Afz5mU9AhAQ6Tmf0bmyAzAQokFe/ZcjAYYzlb3BM1TwGzrtyQzRXcBCZqV5LyocCpXj9iNObI8hpz4UILT04Uv3rq/XHMdFnNGU/NexGgGufDQGrMTadbU97fNOV1d39BzCzEZ3IkEUX089hdnWCxfOlQd5QEYy2qrX54Qv8YQxdaHoraX6sa15ux8NN4zFP5yt/d7xgs8Hktxdw7tEYTeK5bqsujY20RlGArFsG5Lk8xVFwlPT6KQxDMaRpio4XbJdH/QMkKX5C14LZ9CFC9zxSeJ8tcsx/P5MKyndytwEodPDAwXX/1QNAy0bec07pEaCEJ2fIUzdR6r34lHz0NnXKfXzoy1r9bnlL2dPJ2NZBrYNJnNxKJ42qbSb7bdrlhfly0GXTsAs0/WCcJHEr4daPlAIrIQQ+kWzHUWEnyB6c7XoQr5gK0f9PinH/zpoZZigDP9291g2x7wA81SPp07f2kDIBrVV9HDZB7Dor6dMxFsnPzUNWSFsVg5JfO5fs4PjeAgg80E/XVudk978Ve5jUkWJS6VgRB+GwVzXBpzcJCKBEAQhcwYeZpFoaWJ/NBlBhcsfx0tXPX/LTwIKFg8BlddKl7j4j7Mt6X2G1N90iS9I14cVdIj7sSX0UzZKpZpp81/C2UKlMGKE3EXBXAjEBXI7caPN7M4qzqGZtfjczAtn0J/CPHp13BkBdLz9r51f0APsuCMGdeH/pXCVZMg9V63U3lOAy4ol89TecuRPrxuCklYvuv+cEiWE61pAEUTIDDSj+kShsyEutTAo507Q4fiiUQieeleOwVCnnV12lxo7/u1YCGsOo8WK+twhHazxThESNPgElFXVQgzW68wnDt+fSXKlb9zb/8aXU8ceh4M0DKAuwyHgSA/IpFdxGfXXCzfFeRqcGKs/RJq5/vELvAp/0zQb9BC2fN+dHf3rdj+dwjV1CSFdl6PXAzULURplZ72q3h0i8+sJvhGI0beY2jIrPKedYWibLZMt//1pXvU9Xn2I7ogwI26EILdEqbt9E7586sYopDAoIHkrdGsrfSeDOvFdLtaz6GnwBLMKrXAj3VHzyUGJzU0enewr7JSqIRa3gkNko1gs0WkPjOTNFj9rGgR5ejx8Yzz1YdlwsEc1cVumIF2uXyw7gdsHY7P8urRq6TY0jSC4PPOOvyC3M3FN2102//uWg/Lhy2yNEKlTSH8R1JESKxu0Udr2TFQY4HgYVQ6JwQPfjaHllmvca/R+ZXBkxGFLyK9ShPnvchd9us0azlZdfXZa1GC7eCPfTp9BAwgVeSp8XAp7eQJbgqiWBEMsa+aqpVxwXyT4/J0b22RwHF9mZ1UAFjtIe1L3/aV0c1b4mMdRANozJ1WjNHqyBAQzMyq6N3fsQSeUsPiTwWQsjYB5W6EqKMfRK+kybLnNKpXLiCMCfoPvSx3YMyjGxUbOz3bBh9TusQ0MsuJpYnweAD9f/RlnlUJc/dRqRHTEdZwdB+WqcXsDLSYws40hc93YQHqt/8EQSAEV0QzEymQEt7hM2pk3R0u8md4+Bten37MpM0AcbcKCQvpVZYErRpAh1F1f693r7c1bkUGUoLSZTHwy+VnBX6sovQM4T2yWzgdQTJ6/MUHlPUTYSo4WEgHClHY0L9lyXsdJo/J9jBYdlRBqVPEv4Hf2RoxJljON56mbX01VIDadfQ7+wO8cxgwtWuJqwma9WlKxU0d6yMjmq+OzSvxId9j8YIe7hE+ovFvHP5dDnPMf510khrXpnbEBE5HLdlS+1sb8iHbC7hyNxxTvMzS2EE5hAwx8RY6rHUd+L/4sc9/WM3VFqZpp1eXkNEcvyKle6FEbxR04BrS6+VGPWvTmogp3tmf7Ke/yy0yV7boZoO9YznughRg9bKQiH//cv1arOYnTI6pPbFE0Dibr2nxNUQEjd4lFgyvjQp/m9nmm32YO286fmR+p1GRqGs+YAE50lyeuJRF5Ql74rGDmaWMvu+uqKzOB4mxQyo1w0s39Y2Kp0xQQhi5CF7Hecr2GVmXy9mq1vNfAQKcrp2yEl5mggri39NZ8isVfZrC8QUJgXMlWhGkkW7oCemznIQ+dUdUOU3BGRJPOzbr3SiKl0XZfP8VudGzPJRYJeZaevuon4yMX60uKFMkYW7CVzG7G8fj4sryiFmn22m59RJo7vWPsGnoYGNRwIC9NaR+bJWKKJFd1up+W78RPhNps+hXWB4Y0TGRcmMG1OAZCUpkNQFgczlGh1UA8DqzueX0/XfSx6LYzCf44zQSxVbU23CQ/S/DHvFYg5EcbvHBRHTQfKSpjQuyVevD4znmtLeY90CIzd2sNBTT52sKk6cXU2aXwfXMrZKn2dn7w8YM+lvOUcBYEJlnPln3kbvm2Rrwszpspqsb6/69JB8yEqqpVeIHTWqc1CELlz2T1CqSpC4Tkh5eUUs2SY9JukcxdiEzaGoBy7qyopKm7c2OHq/Sork7mbtiy61cF81vWbdqhUiRjobFE0CF7zibSrgLAb1/bhBmcdPu2ClkcaCfusS+uno3KET+1rZLXPpJwCirEQTolZaGy3C+iPF61qfBJt/Uzq27m478c1WmWVTTRDJAEK4t0hip/fGczLO92ZeuGO72LdHpFeNSJzwtZBMtW1CCw2juIUBD+oDKyK23Rj7rphyhMuH+zrHxXTOLWfRshO6aK9G3feCM7neDpDjzGV9yvP9ykvI1jOyN8mc49DXkNyY+yemtEziJIoZXK/IVyVsMu4mCHSThc3RAJGKOOVWKt9kOjO4it3QfBCTyYi09zO1gQk3bFenDBzv4PuWi7pCHX8HQvy9tr3hssesT/EHCSbwPrzpxuCHZj0vUMZEmkiWUQDM+dNr4REXE4y+TPrIgImQ71IKOlAhXryZmDL1NkHI3hfVXRx3pS52FsCx5p4SaouBnUtsQO1MOa8vryEkQubfg+EG9aoeZlWi8iJJU7W7l9X85dmJfd0ywgy4DTg+XF0S4qY2iY3o4m3sIZSF/YWgdxY/xnlBOIAYPOXYe7E9p+ewGYmjVI7bu+uyqHw0ZOxRzafn0TSnhD91BAo9nm4IB7qXwvG0P0XHEGvXJEhuGyiowgH4uV5D7VcOddFhc/ebvjn598GoUMER8VM+3NpiIxwLW7IreBpocg7pZvrk4FbuY75/YkCmhhjkFRYVu9PI07R6oF4068RZpQhdB0sxCa/cwDeNThDm0XhdMHBRae5ePW+R9hDcG/4ZAmYQ8FUZAZE1Gmd9OWKhxkv+uWrDk/UulM2vL/OEGpCQPXuW7fjgiw5H8HxK3dyVk6NJkyK8Lc56mI0fDiYP24X5dYLRU+pGaxtMhLR/GFEZwIlsp8jZDnwfrDZSWsRif8FWDj8E1SSFrMVh4tAZVEhggl4f56+f8xqEA6pvsCdD/ioOthekWq5jwEPwF9faV8ivsIJfaH7a8CUvRIy52aFXqo6SG7Cudi5ROnnh0IpDcdyPIhEPcA0S/3Mlhernf2+YHSQqtg8mnLYUPXgwrryjiwzf7d4q6qb4ZqwZ76oGxO8LW9BGxjSA0MQE4TQUYPFX3/HbJjIC4oZg/koDS4R7UylZnqs1LDkbn2NItRnH4RaRUaKZFwh5p67piVJU5DINIS+EVKCzdY+EPXNlbrTJ/nA2hpAcaIsntUHO0/wHrJqI28nbUbRvwJQysL4hTpGjmTb2is4Ews6Y5k/9wNxOvryjBANgt7B/Y7BcSx85CRMLAbZwf3dS/SelQ8tK00fdgK+2o0/wMhgFHtENgCVjJYjvRWAa4u4/Le9tV2Mt44IB6XZOzY2MBkgFNUPWtOk3/DYzIQ/712bTTK79QIJqr7wRmR8BKeq8U8UafYf2sQO2k817muFMa6OW+DVbp9yk0dmjR4XGqf2KIYFLm5aJVddvEOR6JeTT+v1Zqe5uCyEg7UcfSeTx8s5xP50LZ9ADbElFoau/MBtlMaR5g9XE5lKiwQAh4Idjf2qkb9jeXQrXR7zO+/bmNmA3GtEqDRdJMemJrOT/U35Gxg1GWra0pLTC8yeiuxAyWHVCpwssRmcz1MSmo8jy0+jcTKdLUuf2iqTlMLBjqDX41YUPo58oOtBJrMBUHknUoXSfksG8/sMvRlaSfbSxl1BJuRnNVU7nhIiuXfrHPPUVOiKYQ/j3KiPVsEwgq3KLrWbaD7JsK1H7rBWKPG0MXTS6DvZvemGbR8Y1UOwVeLUQT2+92mwl8u8cieBVUEW3L5EvoIB/paBkHVJGr1PJJ8SCp4mSHqJ8UpoEk65sS5lPpqqDtoOj8btG2lGSvekWtZjIXQ4tLNRhzrk4gM6nzbwDjn9vftBA2zuY2wouZ0nddPEtXaywoBe1lBsWld7P0QudHWBq6/Fb1kRcqEde3ehrXaa2ZvCBCWh+YeCkZoU35+MMHvK4xmxJv7Iq8PmajJ6JOy4hIlD7pFhckqzjCaRFtH9xeBHP9w0syhnMi1+c4BuRnZATGT7icRfIsaes5ms0uaNJprUWMp4XtbA+WlVrehDrw2IUYP6E0gC5K+f8cCSWk6STnp44AbF5gdEuBDW4m6GzWLga8mZ8ejLhJDy3Qyw3ai4uzxjGRSfAmTMOj2yuwPTuYTh5hXPLatLReN3iwczDE5Cv/tUmpDrC6osoJMV000Kh3WQZiCYYcNRJwk4H6v/ByhGOQQIBOSXN7JnA5CuM0/9WGJ5VlabhMmF3+X8eBW4zNjEqbiqSoYswA125eTYIp/mNdrUtt5EogZy+V9MfhA6OIOFyz3Qxi7HoXOPz5BJJ8t27grgvaMLnpMXSw2wI7CYXlNVNZmle+NFNwr+RXNaOQHjrGuBIVvtE0znbKRBhAR+L7LsXt7iQAqZ2WQr3CJqJaIyrO7gGhTb/YT3zHFMlsjkcsPaZ2CAeWd9jwoCzuSca8/dDsQBdV5isgs+58lzkTslHip4ZEhZbcwtt+IbH727L7uWVfu86Q0fD688b3gJ1hkJKunSzYz2i00br8aqTUPx0TGIFwFR82QpfKYIV3br+/t6qI34dPejf6fyWXMlJkSyPiZcMvzJSu0q5LqjhNWDvgTRNaJTRuUq1wzCb7Sn22s8dzib/gQzkE606Nz7mooIDuYNgKEOYwJnKZoz3ENZbLzgiimBaa6ap1qdG+ekls5j5ZO3sG9p7cLs05l5lCAWAXt1AP31FsPhHAUuxLMU8OxcTmQwjbS7VNVHyKOljYqbdUb6TArcHF/YyVc+iK/ajnB5AwO5wRP2b5kCnAgLxaFdCX3kSak0d8h13Awr6lbyqMl0onM9mFbNHQxQlxgJLjU+fW+2fs6KNTWDLoyLalIQ9n+6XF71v4oAhR2DcqTjw3EZy1BNKjY5X6f3oY8I5yfbCzEjOsVbosz+iIgXvKgzm5cpj5PcLu0MNEvnMcv+wGK14pPPgnYOU2MUxoxqTIBcRY7oLxorMYnQsgJNol/FmgTAWeH17eRCl7xYQxdzcz+NObgD/aF40O7Pbwt+/qLV3RGWkDDsAGcXEd1Ir90CQHC2v3ugg2pgW2u9g8wVql4ndzorLolHX11xh8f6jteWpYIwRAwt3Y8uvBlx0aM+xlPBdjKBLqm9ml635KApk/KbKL7kHaq+CmmTjhbEIBEkMvYwnqvbzp8WSN42nzaI7tt1JTHtH6LGepmpXMfg6aB8nG9pY4xyQT287KP8LZlUBvBeuMSVJy0/xvyowdnaafoc+vmZbut2I1Tqw2pPLSySAKNeYzJIlVzxRv5UsPUIz8xJwqMiOblLRjv/fSMnotE5Bk/B6/QGCUC7k3wEXlgdAY6JzSZEnKoyS+L96S4d/Da9VJX4RfcUUZWKW++t7g/jPY7t0B5SkZYnX/fjl8yhgVwEIH7NGBbdIimzqT+p/t9OJMi6pUwDJsJOJbGOc5CoDPp4Dn79rb8Idy1Kms0Ou0INxRS7sxrqYJrtkdlMvL4NAzFgs0vc3GshWFTWD8GsuRYIwNK3iNDaHqfCjCyVjBOreI+uTiQA05LWGGnW+9vX4THMnRbE1raYN/gYIiUiBBypaU1kX65vgK8OwlIdXbLaqVXsBAwQDUgGSYo7XcxLWNVuSg2p4CdFWvk4W0Fm/E4nsVr/jywANykcm891Ko2JMds2W8Yy2JhhAOWdy3ZZpbUb7jq9ESAzYNgoukQ5YDjdc1qdy+3EpI9lOHOQTVYy7P5sTidl1eeHP5zYP2WrFMcPK05xYWJtpok1W/sqWqijkK2vEu5NhQZnuGzdG8hBr9b3J6rX9j/RK9ZFQSfhtNFm685kOFZZNC5cb/7ynJg9n4uJWhYry5ddl9icNFz24E+w6e04ZOd/ZYdhA+8IljLYpXAXAxq+UTN0fTduBHxvJSxMlSGf1Sz658QlvA9eeXFDfNQfnuNFC6VG9hFMF123n3kI5lmB/iiBfHqMjMyopWc2ZbFz7I6zmDZEU0Qh6ZCYolnUBUKD2PnWGa2jhRbh+VZ7XQVSviuFvcSCa6ZEqrfd0Lnea/tLEu+6vb2bt0NxKIwC3dGZZA7QxxY/uB0DjcBLeeWizuz/tRC1m1Qs4JcfHfpEO3c78pA5C2xmCBnsEwz4N3OkPfilJ/3+m8p/r6T0GQdOU4yzgyZj6pnohWMFcljjSwuTFghHVOOXov0/PhWjib1iDjriDWfov/Aeh8VjC9jlbG4+5CwPg0ti1AmE2KLZoPcsIpN2LCOfPWZwSXb+7j+X30ebzlx+rSiqfsWjPHDq54k38jZct7AWWUz0zATds46VvaK3aqQKfwvz2kQw0pHtZd+pKq6sB6rMEcgfDBv7EYo5Df2opgYEqufD6Vk/nrpdOguCZ6yVUxZPAGVx44ZfMDaed+MZuFn1rdQwg8ZObMg6C/bHx2gb1xowMmTfWDepkGbxYhlRLSllJxH2/968mbn2rmPmPqH8Owst1eincf2cEmIItYWYAXr340y0YGG/Q6/smf1GLcBxSNKlQANH0XcS7zNa6pplZHv+NqS2Wf1GH8x2GiBeowlI/cKjLulw4kiSytS7MdbvbFHIhh8Lm+sJ4X0Ubopwl9qDo4a4PckaMeYX1IX8dArzcJiNOFDeOs+SOMW7jZ2KtGeF7dZNCf15WEG9/67VLZGDjiFR6RogK5pZ1TKqDMn3lhzfYkyfqXpaphyliDsrvuZQw8O/4D2R/FV2j/6bopN53Yd51aQ+eEgi9bKRqbVBjGHVgAU+UcD39NoE3M6a+23/+K6HEaEQiwiL3t89sJ6H6YLYXCEUlL1bGRPiVNqOInH4XthiTf47XXlgJs7XVbX2CcExJQ7e0dCJSuG4Kq3+bwjJLdgkVI1Tpjgeq77f2QMeX7+zTZN+jVenbr1jMGFVE7Xi3YfTh+aH0t/ecuAd9Tp7sbfHyQ7mRlqouRl8M90NzE+inUJjTA2Em531R4VIG+fwMv05dgJ/5aQ/a+KZ3yN6BOdOh8zcIZT8Ur0dHDnBfT7rtOStgWMQNXIGbGNzgr+s0JNv305oCKaxSBu07qJUH7BhbuA8vEDzK/4GVd1PDjs9ocGP+Whe+87a0FTWSr/7wr12GbTkl99W6X/7/Minhmt15G8xq6BLVYj7uDkH+V5iTGGiaeAr11RMntUVS5TD6xScdGdhTlPJSYvmqbEFpGVt7mA3Wwjj/MpXCUIiMQPnmjzOfs4DBPm8je2Swlzr+01jBV82RPAs6onB1fzhdTH0ohjnAvuCA/kv56WZoDvWRZMFyvJlt5REE8uFrJaBLh7CXVuIZO6xyhi+lceMOILr+eIS8/GEfvKaHMe05HdVeXbWYac7jbP2zb2Y1e3KoEq2X5l8gfh5okniw9yIQN/aHw7FKuTyBwh8KU4QdU6P02V+0vtW/juFPOuy9q0sg6kGjO6XdqClOvD8n5aa4D5ywbn2WaLzV0Zs9calO6ud+AlxZZ8kGlhx1k9/qXDahmrWEWeuQbvHjv32SLDggmLvB5ZiKuUSo4uz6xLxlcbxYdIHcoEEVBeKOes9qru+8tmKke0NoyCJPvQaYXm87h1wkmB721UbA70umgvn+pGtNjarQ7Jk+Z8lRnd5MP52gIB0fBocvoDmz8JxQ4kfZ8xMJVqmuWCt0QF9RouUtvvJP6Q4z8W6kaNr4MCHyski6HlQOO+cCl6mCMWLh7hDOsjxxgqUbLw8fsJvtHGFr05p4dJftqYdoDvoFjwRdjifiajqW+kfU3xbm8qoNIjOvHWCwtYNBxaH0PwqV9TTlaXS0DR/zWKbukELgpWMCVUuW2Y9OG+McSgGQDk8o/wtMxMiPSPtqWUSb0VIhJ3fKhmp4iHkxB036iBEmvKxKrv+1xIo9pVtMw1sk+Aa+xKqULIk+nuSq0KMUuaHaww3SEK1gWq/+/0BdRy/6gfYLmHa6Ye5pdpXdJhH9rTKgyuGxHLcrloiDkUzaF66ND3fkvBAqhTMx3aRRoMv4iPaeHYnc1ENoiYZJ3g9CuiATvlh5M2/kQCnTot1PA0iNudu8UQz/4F6ODu76rZ7VyUcVYyxCMhtuRdL23BC9lLbH7HdhAxjdNOd1bnV1dEvK/vJSsGWZipYS2bwQC1T+SbdoZ5KCqw9sjp7MyipcWTtSOpQYxw0FYC1XmU62AsGKswV3R7NbhMjOqwEg6Fhs9FNDCigmXaPeAtBC1ZpBaRZPV4IIH6BY+zTpU++SAWHQcsl64fIRwg7FckThictguIhJ8vupP+wKzOAw45z5mYuydJEbDU8U6GG2DO4IrDkF0jyBmYG+XSqKlKiB67+Qp5NoNaxnstIlQ5/wy0y3azJl06HiwGEYurexij2RoHKEUkHOkZjGKNsrxhQq/KXm21wTCc6lZvxSP8S3p7Q0rlsOdtq3Uy4li5gSfZXwYHQW+FKayRb2WYAIlG8o5u5MDpybGVZU3gAAWI8jteJgfrT9Vl2BDw4hXs7c6i4V+s1bvwySR44hXMbfDO6/IFc+nX6Ng8WBWrK95QO4dz11Xz8qX9XmpXCQLR/cWQV+Eq3ZgvQPq1jaXuP0tADkclEyufaibSi2A+f6syJqQBWudFjVc8vNuLu69w0KvZFOErvGJsMdbQqp5QhEeuSSwwTSti4DBa7Dh+Svh2QBTHvNshauc/+wZ7/Jrm6zJNN+Fj5obd1q+ZonjNqeUPQ6I01zyX8z9qGBovp8sq7RClZkUEu9WCA7BTFwTz7352vA6UgFlF7Uo7gTc9zsDxE+GwPPJbw3cqrfrFkmQIAA9qku3Te2FlhxUy3FLCQ1aWl1XubNnZaE6jHegdg6DZtsVU7bami6wBt0tg4Y2ZMzdABPstD9PuccEmlgH6kjJvAap0g7DeIErX3n39iZbSFBS0cOwvDHGX4TC/g2vy55rPkDToQ72MNN3jR+f90zUqX6VcH6YY9qaCXVQxAk4OZof+BTaxl8YPXMbq2fywZb/xDXXWrQ03qztjCylbSEqP7h6jqZaaS20wRHl0M1yriAseP3zk4x6ywHqhIEiEmr9HYvB6f/i2+FyEm6kKuQtlDXGgWSc68cGuDuMjR34xpUCyxDvTOKVvz4E9sMBMIQb8FOqI6XHVf0wkcagD+ZGBGWmIctQD6R4Jvmu5kFcHC0PoM9fl+hwL6BmGbm+C+uVm/vh2r7Y2wEgcAmZrT19Jd/61gtolVeViv9UAO995N0o0PRuiUg908QF5JLIkebp4OTR0DBSo43Txchi/jh+RwlGs43Mm0OzZ+v7hylcbyzOiZ06ipX4UinC/gTCqx0v1fTGNL2hQs+mSE7j0miEKlHO2Re5ASCkcWtUy6P9SW76rTsRyHElrRnCBzmDNHMFIecwjQHeonSDtJornXmndZNgY+sLmuDLA5TmbSe5C8LGSBGIkGZkof7ldbEMQjkE2T0/bxmuNMC2YcTn8zIEequBtVrmzo99QCziKNSkLCtePSl5bXzxdwRAKQx+IN4PuRS+FXoDVize4Mo191fJts+L0bzdh8TaiAk6bzAAs/5HFCZBOscDs1oTUaLZzRxX3CFnH8P+hMud5iNu4mfxZqStswvdG1Ec3HdvU7E6yA2s2a1skjYLejyGpWkTSbVBD2vDfPMB6J1LoCR7S+thMvaRpXYRu8wwL+juUQGKqfW4wgYDJffGqS2B0gps0fyJDRNTZh/OfbobYF7LvtuDfJbuf8tIpUvVa0G9qe3XpH5RjDgrEjE7f5KSKem6gwS3lcHDXsy2nHiP17FTkcUEvs2wG0W75IwD8okTl3eOcUYNFG5dQf7pd16sLBOyAufERNQmSAVsVqHTPg5yaJENMeYnPS2nMeWR7x4B+86qtsnLB26dpec6HkbMZCrWJbMwoBMljlGUTfJbope3+pWKOjx0tZCKxeXUlA5A72aPbtmyT+4BanXJzFdh0hEHQeWDYAe6fOD36rePIjOVC4/DzgF4IliTSzu/3Nh0K4sTlBZuBGEr/QXyHStORa3Y9rQ52ovZxjtfQiX/Z5Mpian3D0oo9WhTux+FMVv8OsdLwkxZEgaZsCxNYCVrgcFDlrnfdTZX+GbWMQ1W9g8DWAcnSKvavi/EBpObn2zYTGaN5MJc5yqR1vrwdT8fvcpZrDOgEcOfmMrA5Wsxg7QD2RJ9v8ai0mvKAGV9FTMv4YTGclOXDm29FbHfhslTJlhHC6KNtVbic0HBRvedJ6qfpvNodwm+LuTxeXovXCwgM/S9rRVyl25w71cCQ5M37en86WNVaVIqV4zVxSb6mXH8hX00IpUxb77McvV6WJGt1blm6mHaa4KmWIlN3XxDsIkLQt8EaRbJ+vdT+a7E7IMe8f+/yPh4nV4Fu3AoNrfdkJkx8kK4X8oQ7oKppwf0LmrWPdeoUs0RwQhozCFV6hd1rRENuLZusn631mmp2lCfLUE25wyiNGB3p4Jxc+Ta6FmRYxZqlWblcxM8k8AZwJrJYymV40OCpFb8O9mq4VaaSCcIhuIMYZFZzVpMYJoqBITY8P6bCxfBP2quD5CZu/FMOJhdmS0IJsx/6O0yJxTEOeMfg/7MUgvE9hJ9ZQ/b66KzDF+SqYW9Kr6PLBBfQzyX3GEDfqbP9x0XIY9Xoctb3NLIkFI/cKRXcT0HbTVbLhe+Q1DczsMhuNRdUgZs2PJ+PabFt7ovAEmJSPWFiupXCpMdd1TjvqngBhBnhysO7V8jIMgpmkkv40x3Wj+kUnJ7sG8Qnys0IpBC/2MbAe0d9wMT+dbIxhnFwrxWSnvwaLZQ1S/e+b8ezasu9c2ivxRi288VvmXXojsn6axJtL8M9tN1rNJp9rgp0q9wCAESnDO3rqDi6pxfGMF/CpWYeBCefvHdqLr8lP0qNm9alu+uS3mYK+Cpy7wJjOU3gysPofNwX9SqbAhWcDT8ZMB/gcqSTjhivz44U2NUg+Q0Xe2kAi0wYJbsX/YRt/KXoeJoMXrlEUMqqpQlndzsWmBKqjTsf4/ONW8ep7r9vlcvn5sB9Z0XRzwan/wA8W3lBWjt/NVPSfedhrjoALtUTaziKbTp+BRBeDYjCOzmxd1JESNeh+en+Q3AtowQGExVguSsAriPgtq1t25WcnFkGkItE8cvugqvh+yJBGuMMWSCIT1+jQeRc5fiHHxFo+pAJuXwQMNrlpI4s/E5gjlcU25TeQ3aB8PiH/AC/yFIs27rjJtPtnfuIi3+t2ijeXXi2bUaPpzoSQ+Sus19lQ/PBBNZVvqsKJO4X2+lNQjR4MkOhZIutMLiwzFSIR96dheVOrSXkz2y0WxtlYA/RJ0diEPcHYqCTzjx4Z8Xe1CyFmZd05D0lp5KMydgrBNRfiLW2+oKRCE8lMS8NPpRaISeAllMkupFEU1ZlCOLNa3cT1zp/USl2mFDVEFluTKi+D+VycFFxeFzCu/LQSYJumKspZcJmb0GvVAz8tjTsykMTHqatOGhppM0MFaegNJ/5iDb5og1sXipGwcElMG1OHa17deflxTS4/xKtfX9OmfiDy5WLKNd7Yt+BprWm89Z9iOL9fLahC8+MM2twCnj1NP/pFgd4kvMTV/WoeI8I626FNv9+uAoCkhZPlDZouwZZTkPdjBSys9GmGp1Tf4WyAxCkjQ2WO05vxmWq7WwvB8qajNrgz6rtwUiZ1whnSoLGcAoL2ZPJMc9xdUuUrlM3wvzBshP5419aYhSSy9a2EmBAmQyzZ/fVVtQ0IR1n5y3Y7nHP5BtQuUwxCKyCPnK3CBCrDEwxZnlEpyHJAKi6tzbHMUB54AszbH7hFPTznjzkD6iWDMN0OC1nYPuElesBsMxG/r773zcdqAQCMMD0slCbQFJFeHfZyBa1+tp3ydt5SleU5CfacbqzSkuPqAZCpuANv5+ucaeCv5RHzcfzpAt6xxIsRE8/iBLDzeZWQPweto7M/HAEzwDP4mhIjm7Uj2kDY+BdkyhIXgWoNohBKtY0OJXpKykF1CSkde4dfEZ9SN4ocGl6AV9moMDbpnbP/RY3Ej0LuFlhPBgMYtZTuOzw+I3xZe1sc+a+mVZ+A1B9j+ptwfM/+Oh/ce/cpLFzwVTAfPjXLe6VbsvnsJUGe0l7MwtjPUE0PqaZDPo9+Veo8sjiL5sVYxJx0ZcQzT7K+412qLQqFUR1j8gjb7l2NY1sGPokQou5BLwtjqTP/pVIPs93DpS1XLWQF2+SRVEJ9IFrTxWau2I5XLQD9KregZ8uD1rUtJ1mq9gTPvgjQxY69PeGL8IOgkDAJs5nhhxZp1XZ9pIyDVzhEKCyEuynzKwVlY/YBOce+xDN/aMUE2JvWfAFWimrjyeh10CKu3VOEYD91d29IeXUaPt2tlSJsSw1qZOpm4DrZU2hkfDT4d8IA4JW2OfvXKbdG4cDCoqYxadfigTJFT2nGZOdtoYxW7BLrJJN9ZNYWGzxiH1cbsuOd+A2/gq6foB5Ib3juj/PXQ1k0+kLb/e6uvdm2L21pzeZgBEZlSmE3tYjdrdpvcmluGLG2S3LStcdlu3rnvW1VV1YQrwAOYRI2Uxkvdnc2XW65buY9i5mI/9oW+EAxzPBVBeXntCELNbXRc+p3ga4+YZW/ysRMf8xClHSAugqr+ymb+stS5wRjBs9HEFRNVfN9lxNS9PNeM31jEuXVQuAjPYDzL/8yUbVWhRW3o6VwDKn0VlvPMLDnpkJ9zHzMOTTDMnBQalXeKww3ZXUGIdzWVWTIdwuLOj+kr8bqUfV+umRrHUKM1G5P5hRqsOGMvtqEITehw5BK5697KL2q22htHEJ8uZrfqgd8kyFNNrcI8gE2aMn9QFbAh7INfTh1zofqmObR0SefhrELx7ZXadgN4f1faGS3QUgankGEf6j7PFzkFL6x4dX5qMX9xVJ0od+Ko6nzPBFUabnzhLFSH1n+DA3tWJU7FJ7ln5hIPa/sbpXSFpitEi93dQvjMh/pIsi5yt4SBYxgLkovbcWL6hb/AcMYbu0fqLT677jDEuGzcoHxsXG1s3NcYGCNORwxcsREhUhXWOZsyoWOpPmb5URdAMjJ2Yl6jNA1j120kbrg0M/sfXYRkDImDOGqStKcD1Fsk+nsE9WR4PbUyaa57KIgJcMja36K4YzFeOeYpJ33WHagj2/fnXX5waAJd/OvyejqfYuL9JPVwQ7dshy49fMkufpoawxtLvJScOWH/cIiiXxozGR1IpRwpXV82SBpV44nBKgadFNBUMGSEunpdEF0D5tGhNTC5jvySiqLllhUb4i8zf5MIU59XpqjpEVizBZC+Lba+E339nulYlQguqzFnZA+4N2sBLUnvEdhQSei5ZN/dRRzxogmw9o6WtVbNlosgsIWasuXa6WgmQBLBNgS8DOyvVseGVTRcKUT8MxLtSbv2dchPMfvo/+OkggYNEF3TsMPovpwYBSgtVGQo4CPu9Bpj+1cA9N4PifxwN459aS9RFahBTdThMZ9GZLC5ocUeckli76cEQ2cKqBpzY3B3KuF9eweH+3Z2BumlBwWtA1VaDgtCAGrnJMMHAuZgkWTQEzQNv7J/c+7CbSUns/tGp9mp/5dPaEcOUiPSTjMlz4JE87abv5K62dUap/pOBKkBR1AJ7szrI/AkLvfMX129o3znFleXYfexB6FgGlLbc/He/5mD3TNzy5f49KnAuG+qPCx/wN15p6C1ud7ehnsWUOtr9g7/v2v6Kai0VvCgxS1kyohQ+N15hDcLoEQT0KH6Xi6oi6KXh0fIS5X8QNwBH6M9MxINKu5944Rckil+kbUh4+giUhn9yauAjws0tshmVpFibsxLvOd+c0366exk2DdToh8M73axiAq9g/IBwV9jW+V+K2dSAwueZeHkIsFKfG9otj798Fn6YZhJzia+/5QdJobuPJdat+oqZYnvC0r2tZi6mYkML4aGyBCvzPoJpR8FLguIKV1dSiduPFM4Nk8Xzhl2PM6AQhgjrvB9bpboOK+ljGTuCtaxSAJQHMtOTQLPlh6sQLGjOjs2V8Kg/GF5vV569lSXGXtyP8VuW4E92QkB4Mfj2jHE5UufEoZyisPfoP28tmjWN2q1DCYB579Icg880Mu0rCVDKZ3uuQsA1i38HVRyjq0Z2sxu10L0ZKlxU4TGwzB/nmO4t3G4ageMEuvD+mnpSGVzwoj/4ena1vau7YyzK1Gee2I85jJsSLzblA49y8rN+5zPtmEOoi5tjp7jBplNVshqf9S4L6WLzHzUl+iSJmkc7DLg8JJN6DBypvitZUPujAr8xSch7KuqT1A5mAklPGj6/pUyH0bJqTKE9JSwfCr0HbPyvOBWJ6yocyKdf0ZYBJyBoTsZSiBFFyASXyVD7frLJ376BdrXDQhp3b3TtTfjsZF26bV6jS/BB/vQ+tIFVUYqbqsxDd8MR68sQoZG3u/OYLZkqhFUWyFTUo87zI2WzBDVOIjkIu5l9tw1rWRvKokOQkcIaLXkiYQV0UNhFKP1OQ0qiRT9yl2szUZ/PrqHWOpvr3zs5rFu3IgZpb5f3otMkjlBKD5oj6ipjjZd9cuWEsDoe1cgIUOQ8+tUuSmh3OXcnvdi0JFUCU5+ytNGgGJh6rpaA7SLMeC8NBg7F1o6qWwStdXZUgj//RED84jsLwpnKEEAptd74py4j2q6+2VrIF2TNQZKUF1AM/mi/1xQPTiaSGPod+/nSx3ky9f0RlFZnwNiyGxPoc7/iKz5wZqr8BsZ1xFCzVlD8NhtvdUXpzQKT/Jcr8LkP1vxxOmF7ATygvjLa0qm6Q/yR0ATYrgZNUUuVPQ0RmWkMJeO/q/Y7GxIpaFstCV00bb7k+PC0R25rzTF+180J0WjzIlwYJkqvv7+Z1iwSFKNx2e3ztotuFwfaZEaS8HTeATCkJqE2LD3b155FbVkL0XfUhzOMd6FyDYh41jS2tlWIx5+ea2BbE7arNf98wxLmKaffFkkt5zBrsj0gKQSQQF88fOQfOMOmj2kmUAoSGSut16nIF/kVo5vbMOQizf6WEU21HbrqTGKfrhUmUjgcs19h2r8eXvxErnEQ8oQ2vPb4wk/HMz2piQNtL5Dx32IkcD67Ayj9ECageF3iu30jGrvUN1zspPBGMrY8UfY90iqzZspkcxOGQKLTyCkvbd+OrE6qw7ZNlDM41VDHxskzAKyTzX1vD+SFmMT8Ktvfe82yYkwlL+FjERvUw7UsEEIfZ0OG+/Rzu+t/T+S8M2VP7ZdtMF4Q1Hv9p+6S9/zZCjUplkVzCIlKrPHFIC9P2/bNYknZ9np2n8plooEN489bqcVeQi9Y3AU272vnMkshbdVrwLCt+AIsMghqsKOZWv3kHLAss1Os+41BBhZwoogVRQHCx6d8r2fF9bW18N9wwCh/ElOzMGc7/MLIeUAdS5TqT4eKB5x9unR+5yElpdx1VZ0aWb2CQnHprPz82wIS6+9kI5y/1jqwZfhLeGY2IEcCTzqaM9btsGl+cqxPoSQ84T7rEP69Q9FiEwDLBY9L1zgaDdandMCi3AGjBVoIzSmGOz1VP9CssCaCJ7Pg7hLcTniP9bTdUAg/lOKmPkSUJszpgUtBz9oOxtiHL2U/Zx60n2i/I4OLy8lc4O3U9U3X4hzu98ZivRbmjh4WYh828J3WCrWt6e+7vgcO0U9bP+hDCKbYinACfQ+WkWRQQg3SulCnypotiIjOoGz27V2xeIjRC2cQcueyfJ6KMjwtP1fv/4lZRolisI7nabUq+2Np/4jPajWrwrJO1sh5dbIa/73bex2h7az8iI+5wqR1hp8V9FffwXn+EAXDl+k5ZlMvANElFevuLFTlWZYGrGJDp1sDCkdSPOLh/EFp7xTpxhCkH/S7y+NbRsbJtKX0obzm3CrpNapYlpR6J9u2pEGc6MjIwcYp2oj8J8ULWOKdNmn2V0GEvAqsTpGUX+6kOwHCHDDUt+40YYY6p417arRfAwuPUKyi9U5UIG1aU14McXBN8BbfNA1Jc6D8NGyCaOxo2O39HMjsPe8zqUWwBp9+W9fHffvPHaSX8fLo2enBD4gmXFB4IFogRuxj38y/SXV5PwSbHf+M8mN7/JKi0DcNLsDUeXllYTB2cTvp/cBC2HRDHEli/qUFsQqCe3Jt8D8eEpMqJpG//34H8o3wnsw7fVqpLypVI1OuFuz+Mkj+471wZd4GpKNL8wY3RpEqQXGqcfrAnsSbJdFz3ExBkTDpyF8NbUhzQJPUWTVoOYSelW0FDwAk0L6i1lHUtgOqIxLxCG8/RYKXDP3xN/ATjRSTHUg4vtyIibnDq8E2CxkX+QCm7yXhCCptemOJhifgn0zDinXdCTQ4IoIshSHXOg99VHfncqJ7p/0WklEMazW9+B10E38oZi9SMZNHjEu4CXWIKiJZdCm4O55exRwx9Q8i6N35hloJZ95z4zJhla5vo06+6HXdgSvsU34Fp2WI1IEnd/BdXgIiCJc79pLddSDU26mxSgPvmjVWlO++So4bcYWqRbnJByDtGFNcpKPMshHU0MqbQhAFWEeDdyJVC08GI3ZAHdpbIMXHrOZge6LtRjoao13HUe+cdaraCoLMI2fObjuks+VSlsa3EGk48swYSB8gmK8oq04ygPt7VhsS3rs1w0QoQeKYBsyXN1vBOTHdQYydOgWr5FuoatOrrQbR758p59sdFjp+WySrYr/JuD4ekgDXCIdFtcjFjHdFtK1Nc70s+R9IpJapQVDYpu8GpYZ2rh8wtFOiI5FvPrrkE0r+0T6pPO8/iZ0AOTlhko2Me0h/mgHuh3LX7JhUHZ9eWUpxtKJWDdKESxom01INBGvYAyIRT4ZRumN+9bt2/fkyzr+B9Q3eI8bMxm/w8enysdhm7wSdybVyOHbvSak+AL9q0OwujcOGoOLwegMGO4pzf4w8pVJC1VNMY5Lj9VmkvNLXdwcEYtcUi6BfCVOxiAb3Oj4uSmPj1fGGL/VnnJXLXiKjHu6rIcNyiWvq2auJPdYgTaE9REBfkyqIg4VDdkwwjAzrAs94707WYa5b79GgeyJ2Af3fCyfDX68euUJLqaayInHT16b0fRrrrHOP+RUL+2h71A/viVuVdsj2NHoze0qUjhrsH7jDw4AAO/MyIUi3lRdOYZhmg3Eh99ffv+xtkGl95UFa0pCXNA/k0ByjHjb1CXH2i3Ehe2uqFYitAy2OItwA40/4MSYdYxHR1WrXUDYUx/XNGpBvj+SACtq/soe52SPMQwVp9LYH5VhgVmJty6L7OdiaD/OHJBtOYgnxNUaEhA8Rf5rXPx43KSDLpEEp/iNZeYfLQmtzEPt/TR1oSx6ijQbPgi6YVflvf1ggtlTOYqG2qdiQbcvl1dhzqJrstNxeObSeiEjZW6cD9fzRnyYmMcCkB/ifJtwTvxrzBJbu0bE7a7r0q0uDtdkWtLrMhoA/IBS6pMc8iK6hNd0luHIXKe8qqRtBin1VzuyAx8fzevy2jLEkA+o9SZfGHgjilfYD2A4ZX3MX2poi2EGSTugnCgRt/l48YwYuZAvV5CVHObqaEUg229eIPBsp5FRbwkTNwuWEW5Y+rD7naNqgvIpZTShcBR/j2XHqM/quABKU4xqxHwwMErBAAJi8zibd9mAXFmxVeEL7B+J/iwszMa1KQ3EXyeTh/0FUgjM4X35IZNkQnd09lZ40ZGeTF2CzJXzg4kmBl8FxIh9XPz/tCgxAgbK26WCKtlAcyBganqTBjuS3VVRG4od6+t6XHkdaCv4AVpuCZEM2sErP2FBNxDZSCm+LfrrwCIwnbuMAp6ze2XzpzKAPiKWejFE+7At+Aju/nCjEf1QWxgEW9kHjZqdhAdNdaQMrVYStBOELmKK8pyF9scDA9cRIn0Fq/bymldLexmSQykkP4fFdduYwHbiRPZX2BteBlBCoxFi+JX/sGdjTSRDLqFq4r8JYnOoifdHv/XAg1Yndr58qMoOjUwUBx2DG45vKFIMUzIHyrgksUws/pjut4XPEiuw73o5zW8gwbQN0Sae0lgvZPw0Xi/USSiL2YHTsnY+7OZ/oSIq1kxJddBh5xcmW+ba9xbsiA93Hv2INB1E4zueJTXkzK+XGt+OyI9kBiNpZLYZuyFO3/GsHY97tjsTjOFWx1mqMOBNmDV4QtgJsFw7tQK+FCEFw8vz7+Ny3ko+7OWPxqCrFI5uTm7fvNKFUkjFFVCJVBI4JnbZIAcmucLy+1Yse/DgVtkUl2V8t3AfOct5HAHqMAHbWm7fSexCbsa+ZB3LIznwn6yEGNeLmR6gCEO5MbEkxm69m3LtmQOJmU9rn2hK1CyuUmkvsLm/3OUHvmqHo00GBP/b+EMP641bwlyvH0lRGn14BX/5ZSP9yjerOxOpEOs6fcgUmjFgVUurJ08+Sd8yDWgGQuPbUOdA25Hlao/flKeNZZZggaRFVmmiJ88CmcH+A1QqynI0Iivwtx5ocGsq7NpMA8hLUJXk0prgpJKYri+NXPb0Lw8T0R7OSZ6q6y3za1jsa3ZQoLdaiN9EsMPlWF0uo16+NK8JU+0cDolwaPp01t0xa0dSe39Wy10b7fQ+fFNAWfNqkwyHSZpAdWAbcpAEATDAwd8NUfU2HboQpumOXl2JAxoA9qp/eUydM7viVnPcvH6CpellV45jb/P19LAw1tNpm35daqB1+8f6lY5PhjpzZ/LYyj1z8ClCUUKoHOYw0ihSL0/07rfD52VirxDb8RTL6e3vDvASsdQQDSULoXo4K20ZcO4jjqRLZgh74VF/PRZ0efDEM3RZn0n9A/iNDJpPKfvWrtRTLNpXWE6kr6+QZK8Hpr0rV0+tDoHSKW2A7JwcfhYYDAU00Kmg71V61TcApWYjENBMqlqafVErq6xsnvcVVHepWM+70ZiF6ndom/yPjoKbI7m+Bnb/QqcMn+eaADOyUvsMaYxZyR350njd+DFSgaoA+WV+6vssIAv2fEobZ9aEKqJoOFKNqQFy2ZEnBdcmcynqVfUGezeKXVj0/fUj629rnquY7jM/u2ubcGUOpUcRDH+RKYNyjGWPaO7OvKGbqrfDelleXP+rcVHTHT12GzaO52yIifFU87RXvL/xg5LE9rVwBXdYpBh/l8ZBBsM50EEA9maULXJKQ4Q0G0p3U4EH0IRYf+nY8JAGrPJQ8zHAYKPpulbvqZ2Nv2JQwyAMXq0zgu+W0td4wP/TnAm4/X2ZNz7+4VmGHxTyddNxanv867fvp4SngIlo7QW5PsEQYAd5ib7HumAsmgOVNt2KuFbH8q0l70GuWzFt2WV+YBjLhhdBtP1vI+xTT9KHX7RyKtmdORUnV7kh6gNsoY2UokVzAnMREuwGGK33GiCcUgUcrpMUKs2CgYAb9bgJvJa4md4N+yd3kg7cHD6ZyyIol3QEJ5E4h2Qbh8kpCnI/0ohDyUm096fj5rtlUwDlRWEZZNLnGJUibcAA2WCKgVdKXjD/9kF08Tx8mr7ovB20HbQs3/n6hEkSwaGVRue6XCSFeQredZf6dCLDT2PXa2M9rHzVpyzooDswXkAQFPfH5bxd5A/rO3CJG/+5WcbM0qPElsMRiW1nqHorD4FYy4fbpk0XboHL1A04hlKpY7pnAK/apUozoU1AhISNLEr3UOUTeKiQJPnIf9vdcQ3mJLHaT+zvl3QxG1sDFGawTHl2MnJGuQQjh7QJBQqyk5D8WjSTgh0TfrcnO64O5Z6gjvJ6uul+DhpFrF4YZmWH5jWTZFwgCWIqBukkTuh6eS136gAXpVM2IAWYp5X9mO/U0a7l0Njg8d5Ai3j1Sc89UYTxBFgrDgaTtBdR38OmtHEbMrqfZgcDrEq2GvdSzGQJ3vPwMuNBev3h56fiD8zNJOHCk4kgs8giVHvV1S/XkNvaMJOoqzptOHjOGI517X4gr/llLCzp/hrEe6Qg56A0Z2bRFafqvlr6VMQkpiwHz6tDt6SQTMQeprukpXsKo4wlVYMgmSX4+B6+enyqvCDfceVg32LmXAWi11p6ei3xIvM+LfbR/hyqf1r7dt2QdYi3/OJEP/0eP9WW+aVbP9hwsL5GmrewlK70M/7TQPXNnEBm00U1eVLESAqK7L7+Hi8dhwT3htl09hoRmPIC098u8xSLQNRsj+B7CIWQH0XVDLtuG44a25/dg73LIynmWWQd5AVqOXxV6yLbxw5jemx6NaGw3Dx2OTr2YuNJbv42VcBIGnlpdSiGNmzdSPYQaWfhwz/C7igMTtgQpgbRVE4PB/hvBgWf4uqbP3KuuHO0Z57y3KQiC4yWjFR2+dgKy4mOggD9E0l1mRFMMW6AGmp+dQoTLH8p4f+fBUtT31VXBK+7lpiKba3rK4lC+5if0G7D8GkLkocT+yvdu1fNHDl3A6jGUDg36zNxWZVcVWwNOXrkWWcZZ28Q3P5JeJFsbsT3S51jEan3lq0fiKimP//ssbAd8jWQ8OJHZmcMopXSTubryVy07rm+YIl+cUVXmA5DUTkjAxFnH2BInhyVgBJr/MHeqScr2cJSW01RivRr6OfwrKUGuojdbuhpKY8vQiCA1AayNE09JohMiXnTbB9PWjgsl/+mOpBEcFSdGMySyUOIBmcsq1MDtKBnRhsKf6nLRvZ3ohKY+Nd49/s0S2bxMK2N1snDlP/YAWqrDupBJdOe8ZqmEWQkmiJJWQyrS2fJ149k2VLfzZx/HzvZeDklvrVu0Ne3ICSbqBdIyGjbsqZxQ9JMKUI3iVC+We+plYy5MZvJdci21kUX5ztg0QFgF1GROE/nbRvsruA3gtQEU3o7p5ZV3pVK6Raeeg/MIxd5C0K59SzH2q19of0kOo6rhWVnsC0z872ioeddo9DV3ihXTTRVGQnqTRoT7vIz3oajgPx9MS3e8dY8onosaIUxZzU1xZBzFiGw1UhLpDEVtbSezRm6ObJeZvxp+8hJnBRo840xhORzVSBMv6uNaRW6ruM5UOS5RtMXZiwtmoCPsWvJljZ3AnD8LGcKnxsE0OAm5vp58wjx/JD6HnjD9lwD//S3E0FphgIxc+DqpqKzLGjeQPD8AhV3Xr1+L+8CRlJaHfBUkMxmAP958iHzFqvDmD4lNqJXFlGOec4iRsOUpcNGLL28lk39UlLUGofthK25FkJNH/sXDlQdqLRpuCnGBXQdKotsVlGt/Efg1M/y8TLIAN/M7wlt0PYq/BKZ59E8+Ixw33oH1kNwmp4Dbj/TKH2rmIQ59KTvEKaytY3ufS4pE7LPX1fIyUd82PRsrJCk1n+xWUirb9cWsDpVTxY6DQC7u3vPLrl6FX1X5BBv7PpTavnYIu6WFpNIu//PomysfBamuphoFSg0PTi26KIWRzFQKenXGSfLg5kgsunsxNDedDObOXzj5krlFDdYyujNvEQDPdfMNuppwSB5CXv0nm1jSCk8gRbHAXTWIL4DTKEVI0R1SJhq6lhby2YvFlQu5ZfUEJUoZ8/gE8K2NTxI/X8vw7alLTKEgkpkR/EbJleie5/QnZwkfYSgRKrGCIkL7zK49L6PXYz+cJPHT1DYjBGp2SYOpnyaxwm8Wxy0kA3yiqdXsF5VbPR5+Jv3D85MvVLYifTgjUm+tJ8k8OUhMNgFfz7lfoQ/xz6dOUUscvzrWAnijhg9Sa2oZkglK3TxR8Z0NFZp6b5mgInQ/BZrbWrf6YfrUPrcFXfjSUzz3/fmq1fp/ZnmHWL3w4CBP0ovBDbTTeQaqsVh1XJdrd5bZ+Ev5SSMgQoN1LSOADRxWrVVBKFGREKYCHWo8zrlN6BK99/yWrCTKY5SwT09CpZTvz7ueHiZEopHI/ZfeB2T0DkpyWIVrqO010FMOhQhxgigfyLYEmQQQMzIo0YkuobkMtf0yNkLSmt9bmn9VLVc9plDU5bkQw5Dh7h/SXqc8RPrnZAJ4PNMkijhf9ojts0FvUGOPUCkY3MUCXzAO0uyAs9SL2YS3gEooCS3KucpfTOHCrPW325WpmjwkfPAX9mNVFQ124jpUNB+a5aiFctvtvlGFjXW4ZqFm4E9nAMFoJ0NeOMeI6oDVk4HjSpspAAr0Hm8arX2YXw1CMq8KrFwY5oh/kuLwrFOEOZBdTNDK0qDJgaBHH0xxWZ4J6blMBUO6tjcvdbahFect4AzNExS375HswYSieW5fiwrQDu59SdPtCv8OKde1DynwjN3C451N83FTqvKzZLchaosiAm18+OBB5oZSdlLJFaXIJI7X+vbu9HKaulUWrD+9nWw1G2KmJ5QguIIRWyfIRMDXuednyWP8Wd1E5fpZ12fJvzD7wTWeeb4uUJtTm+zLTxAfruzM2dSqcuSCgxmjtSXTynfvwTNWN0ISBqxr7AKDeb/VqC2Yvlwp6/65Vji0MEgjmyuoaQe2H97MaGxZIRxvtnGCiQ9X2ZfveNOhmTqXoMyXqVk7OIYOyKdSKzJj/m9QqIBYIrQ40DU5EHneewJW5RwmdXk7zWB54ErrY5o7r7voLWTq2Jg8blTbC2X7Wv8Cpx5hIhT9Tg+/xeqTaLB2PL9/+e+9/Ed17gmpJbl/k15CcCbhXswaEBhsOT1Lx/flKDZ2f/uk6O/Qx4VoZAv90ynE7dlraZUySKV0uToNPBNYme6KmFghc7Be0Zb+6kZWE4OXRdd7ftJRKpws/TMhHuBEpflkwSdTGN/qjBou7B5HHWM+4hJBF0w7fyrp7QcI9TK+YKlxVAlx0maQQH2Gpx2Zv/mHYyoHsk3F3u+x7gSi1nwo9iaJmY9EdVcXQ7qxD+akZrEAtPZyKdfPPzCJyUqkqT/ugpT8q2hiagQUSDam7QRA3i/3o1EaFJ6eb3ZG98irSD5lCpaImL2ey7eG4f7m99lH1HOKloe6ETNm0ID1zgpuSh01nySKHCjZbDTwSFw6JOKL6vCwmnaKRl5Iw9VuVq4xfMycu0HUnOi0X6jVErObOdflFprG1+vYdHTq7Iv3VBMmthqILiwaWEROhSzp4p5Ytt8aAcSwRNiq4mfQwd5XxW+hWZASSdaXR5pQggW71VqFsNLk4LKNtpzG5STNeDIEaf4qciId2IL1IOSzECtnmToL5jahMYZU9uoAN2ZERWb+Fa2mnK2EuGvO8mp0lbDFBEmEcI7cRYYreGfKGj8QQVMIs+UYoxFrxVncz99IdtGoH28CHBeVDy4f5O6SasYsireP2XY5NA+ZN4l3yXosN7UUtamISUofT4LQdqTEOKkpTDTrUoQWDHmeyRz9kPN7c5otlWQClHAA1qgLmesVRumDYyGgJek0sd+c7/zgBo5K7ERYHnp4pHVLqi8wmp9wW1591J8TrqfVHfrKPYvpqjO/Iau0aPaCenIl8BE7qbDkk1jrycxDx06SzaT07/MFPAZhNYSXi5yIAcZsV87+xMZK1Rsavhs04WhjB6EtyNxwKwr9+jE3t4IMOIYEB0QtCejVDCj5TTZA6P36Od9aUldfSKKKwsQFTALU/PFRcp3raRzBVbMjmwlna0LUj4V+4NkSoNEri3zGdEptQRlQ161zmW2ND1bb3h8HOHOQM+DIYjA5KO9LpCOCIw4y761gzNAv12+ALKSLh1s3c/XdIE25wH75iLBXiYG42mcTNMIN/GmX2XGepIuNfmB4x7IL3kwaGwKUQqZGNhZm8LN9+2PpjmVfAO3pHgR64xws0j2fnwo/cJzgVifJgwvbtnWh4XkBcwWPi9PzkS+RYk5lkDmShhpr3KZk3qUJO9EMBvtNje8miS6Z3bbBHEdZ0GZj4sz7bNtGMrgIXThVgQNClkwHEpaopeKPsL7KCXLBIDjEkXPKP6jXvk5Q5lIiGB8crNMx61eaHYqCJ9ZzfLKXDzSFp4eEelNEwnr3MtemedLN/ezX/CR14lxqGbv0IBGuOPwUJgvYveCwMG3BSanItzm5HV0j8+RlUkP+gMAbi3ltZHNhiCFi7lolx6uw6oJyuXldTga9HtADSWCAhaZAu6jVCCBq4gj2EPM+lmYAdu4L084rdANyVOC5ZkZggfdDS5wtmDzEmumYL3X4SVKOJjnqDjSypKTak5zbcI9p01nfCIhA+Im9HTFWiQn4h2p7NoTMJr6gaEV1lyN+pfgYvcRs5K66L+dMR8gLcWU4rJ8w6cVHDt8pMp8CGJKE3o5NOQAT+rPGKr8vKb4Oryto0+i3Yx1bu5x+ofaY6ApQAbR04EobrJb7RpW/BWUNMa3uyEAo65BRealwFiyAycAgcGBvtXXT9VDRN/N4/n3nLoMwmmR/GwqoJFQALhcwpI1DQrw+mJ2OIeDJxTr7x5BrXbgIjTr6lCWOAOnCJydrCTcigU12Cgt7p4JygnVyMBwUBnKsdtymX/GUx1phDRBDvcyCEelLTZNvqcVnvQGd65xb7hxmSziqdRw20MY9H5VXLnyDI2db0xitq5sR/Y3lqNhpYFKhIZpp/lbTiEOlE8b2RnNdOku4IO/9JV+pdT4ZY5VvOVG7PVKzrWrLCwqCUA5qOdM+SDqg/UtSfzNFF5nL7GxoM0OGnVB5AOOwAmP+giA8mkc6sP7DRP+3GRGdifB/FOzwQIS2vRyjMxSJm0gHI13qXekdN9esvNEeq883Eu95F1OWbkLxrFiS1/8ZvyXJII5sl0rbRDgmtKN52LYg1oZn6Ukn2YZm28wq77wpXpW9zTPpTJuq+P1Rb4HKGkPx3yuI/k6GDk1hHXI46i5krIBgCNCk1dRzp4chNOsqxAIlxuAyj1zf+bOeWzX2Yfuy/XO3AAlePUoB8PfhqOgKKIBWHc96mtr2kRLcbSf2ZdBKOtayxeivkf4qEN2mM+fObQflaU0kDuR8vjfXGxxnGHj9l75u49IXqA25a1RwBs9Jm4C+5FrWXWvJP6hXFgaLAKcJyrAN7rX0jafh15kp8I1FWEwHmcNrsg4kmHQkQ1sWxT/RfLzRTI8gWTGlxS7KIngIY8ORvxWaFbbVn8gcyEEQRFLVr7fbklq60KOJITqMtFcIUtQw8HNP+12N4XktfDXcEg3LIRIM6i7Kqo/1vkcCJ6ZiddwqVuwwakDoZQ+opD61Sa/L9SCr7wcF9t19QXYYp8dCv8NksqVWRkH4tLWlD0WLpPIcE1IrKSbYtqSQtqeqRIku3AB1GqMZrST3qYTMLht9KF7oD+rH5sNuzp2vzhW7KLkJb7gAauyUxCS5K1TKt5Y42IGD14OfQj7JVTS/HX9tK1Gp76fliK4WOQ79jV+TUK1GoPxC35BQFIuYdTyqi7UArp3bXRa0kWkDLoYNI8sx0Eo46iWRLWlmkjXf9gC28ghvzSb8cVB3Qa1dzGvoPJCwbbtDGu2IczzkpzVVcG4nH2MwmeGRZ1nLPIk1UD+098+aL05lQiQ96zE3uHBnBb7yt1x115cLRuUOvTBZ3Oqjxg6W+0l3/PbvHM2rP0nh3tQ5ws6aHLod+Pzw+a6bkFTA8yksB6LogsTMgm9REyBH/AyOdCsdunc2Y3/cd74LWSMOWrHX5Fj4iXMYvF2qKRqt+VL7JSqDF7lK1UDN1KsDys1uqUdML8Ph2YYHa6hn3bnY2/c94mMvM/XfrmjMdX5uqJBGG8dys8WKlRV9vcI6tCJdSEOiXbDPr7rT/5+CTuDi2Dd/CITowON15hsui2zhgdxxfkWOoBUJjuWSv9K2Vl2LZqlWoUCjIYt3QlJJTMIQqOFfVafpbYoeRPAmGhMjuscGCzfvpht4/MW5mk+RnsdmQIrNzVp/Zmd9Q0pkxgsde71wqFsSwqZzGZif4PNHICCeAV6pcCh5Tgk16qRXvrSYTZ2t5hziYR2khzgSRMr2DNrocNtspZlHIQZ9q+R7uk8jrsPhP96r2bEeQTARxYj/IXcDolLHAE9FVVDWHGvFZIYFB7IvZisSMcVRsHqF1yxb9YvRzKqO9wPchXnFm36uP5GaKBU2jkrB7PlYXeOuvw2fL2MJiu6UEg49NcWfwRpYjDnCqISj3WHgSAjyazHcUAnpfuAQTUV89uLG/MBfI2wJcElbIKfu5VSv+ypBUyf3m5tk9yK2RqiT6UUC7QvmPuX0EHUoUK+N6oRzRrT03/nZbs03iYK2hPyslF1vkpGkQp4m5j9h172xiGf280d+n46VSHDTPRA+dpqF3buoRMsO9pRCf1T0gfpGknesnhTnWRJOf79YAonUKAoeK1U5Tzi9yN/8PDvgNnKnqIVubPSKzQ+3I/b5HErIy/5b3tFGIfP0O8HZsCQA9pn9MvCRInBOA6nnIYfw3aY0g5dRGfklQ6iUXQflUnOvw2NiS1tEtn1E4ZnwEsYvB092eS5H6yo3ISdZYUnXwaez3gUsYz2opCl7j5mbzoBZY9zqrAk+8c3IPkxn4nw55rc8Cq5m1ZgGZW75UrOPnAtBq9+hoYjuPrhO+lQkFw7Xd9w54YLDmaMRZaRfsze/aTajWdVzriexHBEwwhLHI+KA/k8lF8Ewu9eBSbAYDPF9ZcOW3bhqXUwvBTFygiF7oceMzkMGfXbMcN3Wyvvbk69y6QDC7g2U9UhWd20l3lan61k7Cu9AQSAAvv4SklJDb5TxdccSm82bCn+BCMnZhYSfAedzVvlvPpSlGG5rPNXfJMJstkP2s3YYJpXWtRyKuWiOtMvD3U4VbtILnZTprxX/QC9sZFSJY1HHiOWx6R1vw7ZR98CP4APnTO3vV1tsbSlw8Z/V1ZBkrTuaCRG8O9luy++UHyJhlbp5bpqeWyZ5+/IlqVXmVeMPNIo0YVOvK7HW1YsTTilCF8X8KGHNc4RV9F74YI6LKScSCAq6RLqjgAAaisFe/Yq3UnnGsE8BRyqvqts/FEdVtEypeBgF7rfUMmjD7ieEkCbSdBP7QN/rgqhytPnpZMnzQRRCkI6fb6r7tf89vsg/1rPTUQjTscl1notFrJTo7GVIgfuBq61Cw0cS86hs24AthKiHi1n/7XC/PhzEpFtISXmw/Ct7jq4QLRYqq8TUztHZ7yWwYRRaBaeY0kTUBV44csdcP/G0aMwvbOVjNyD5GfA1ypC+wQ++tfll4qbOQHVGLwOWSDQCgc/Qzkc6VrAdk2d46HRBjBwOw9dP0pODL/4c/AFq1pkCug4DwYV37r/YnXn10zgwUChFK3q04oKDjs6itPpOxCFyJyMUB9nFeLaK/b2aLCn1odbWQHeZPsDKLHy/F6Cn80BfWdWca5Nfw35hK/1yNvlZen6r3e6XBCg7cjvRX5SiuMtVSVLSiguCdn3W3wdQS5D7naMkBDNiXNsSkCBpXqmn9txV9qJm5+6kraCfM/fCSxltLfM1Unq7rkyYaR1PMujL8OI5a8mCuIDSS72FQUH0l+VLi3OYsB4iuqCyF6/NG5Ro9EYEwjdVffCDC3p9dV1QsZ9ve3wmMGNH4BUT64FxnW6Nj1DU2CofDQrmsdbk9Sl+FEDTgkKGdI6Ndre9ECP2eM0Q1WFLP4SuXvvb3LFFTm7Ijvjqnu8l2pshY6sdTSJ/lyNbG1g7f54bBxETMRhOKq6izPVSfwgIYlInp9rH5VD3e4Ajw2P7Qb8AkLUVYv/ra1MQ+7wi8QHxU5IlkiFe3slIiqukv0Do0NYgf0EIV7ewjcN3nAjEnWMoRVqdVMG7t1sJHelJV9DtX9snjfHHDn3jaV88NEYGXtzlXHz5mCXSRl8CVIACs06Y1N8NMYmlg6Anz6NUUt4hefMyMgrfa9oVF/VGB8haHc4GyqP6auCPMNrmbmi5+OpQYUfLCQ4IT4Lg2ieYOE+ZMVIr2PXQ9Ch3HOXzq3RiKszSB+ZyQPCBXi5XA70/f0whLsaMnll6GzXnIG4cwXo6mHjdTvyKxJF5uanlG7O3nvPETdSYhHKjhg4vYuIp+dsxpQxEOlDZWJMjl8Kmc1I/TF60+hjEVV9NqXelPulr1BKMoNUKUQfkxwmPwrHKeLlMdHutL8+P+crs3SG+EOsTHDSfckQD+g/hTCGK+E55gWyqUvQrOfWw8lNidbLeBAmO3IieoLdD3bhKjPBqqrH+Izr/FoovAd0PumYj1YT33hUq2imvZQHxxqx0I8SIttix/cdk3nMtnI9MlXXTxOIBABKr7FdJtHiNnTCnr5ObWQgAoe6c9W7OHxFbp3irl0Gz07g8zdFYMScfIV3609vuhGHFO2CrW0VkGie7/1zxZnJfrDGlHqfxw5fRwI+PYG3wXJIHaAMjYTyBg4IZCkV5CjWzOKtHYZLBcMv2QXRl3Fsn6ry3YAmwewRrN8g6uMSh/3TYvto5xiMcXposjqgkwl0EcZJqHfE1zQ6d4tcjs6cdQWS11lCvt/VIKYefWnKmoK+lsjXzslVKQEwGx8XLyC8WNl6RI14G7HKeVOEVL29a5ho8Ns8OsCgvr/EFg9JmgbGzx9VYAW1vCEo6l/GSlTLlegh/HcwrZMfI2oYc/Pn2lDnEl3iwgSo6egEhzAhcdJh7x55zJpP6ugxA6wP/5Tuw8hL2oiCOZtwV5AKm3Tb8OiLYqpRh+0Izb8ESCahLfnE/ez7kYoV6guT3ZLeblUAkOEkLFtFp15CXjx5qyYCLUOzjDbBTAzCUmpcQt7jE0g0HwjJs6fi7gOYgfF0eAnprNI+oHgahlyNh/0munU8O1y+wzaSze66c/5r1rjSmorFXy99FKXMY/yHz5vi/e7jyvduguFgxj2+3PEwdBgYbP0OzyVj1pIiJjLSi8qM8p4KhTpZUXyrmo9vI8TGn1fggPMhWq2JrmY6tApIkFD1D4T5EOQVyLf0eUhd4TKPB3b6saq13N/8OsBgyWBDtP8/hN4qpmByyE7FSLwhN+9XQvH3tuK4KX9hsmgkwIbsB1RDTobZyQ+w4xzQYYrxf8Ri4agLQX7n24VR6QvdZkChgpThHZ38nVQeXUVA12Bve2CGBuAfg3BJNqeV/UKsPjwbSUfAorcCuszvAn3Kz4ZMaOYn8BCK9+sOJEOH2LaOZmFTFmBRozWK83vFpjF60JcURmJMuvNQEWpQFMeSHxjggI1zxxjRLkRkQcPoxpW6knHU0uZcKSK/CfqYlkuuEa+1cpIY0BMElTzHr5UyC5qoq7Znv5TgaVPO3C7rWNTOTuzdx4TqaXNytiSC9yQE4EtHRSRkj1EtivRYX3eGhDZ10+tFwCQt14mWXj3Y+XJVobXf/od9aRo/tFtGy/KqLrHa33WIZBrtM+6b5XW8HbBeywszrAblUHrv7XT+LYRV1R8iUKn1BmmZmA8EcWMtPxx+WYFbBgyVeCQbz9etwhNBjG8ay04zUaz43gUjA4Y4QIURQZuGJH6kxKERsoQSo4w/7Dxw71ephcSLDzuES3JMRr+faewEemJHxilIdCQ7re+/YjiXTYqHTn0ryTTUbScpo7iPdqKjwkX7mKGIk3kTdakZPbPnz6c0pwOOzOLbJMEAPtqZ/X11VNvJqlH8He/k5DbAZlETrPajb2ZYCn2vzTOuiHvn1K9N0AdljMkp/YEX2peytySQD7RjjWfOSK65i+ZW6GcRNGmpGoAwcZgMNyFkRGUgrROtwmCEkG9QMwmqYZK0nPO5sI5dhATOJrke/HdLvIyha/GRHj7VMEwK4dRY9AEPyi7P5i5FjpfwR2NM/jyvvasO2jvisSweQ/l/XbccWIiUSKIVnEU+iEHMzWJvKNubUWOxhvslQJRXkXCkZh1HS9TTZLtb6LoKryQfTCfXe/eyokTHhM5JObAjvaXcZDcHVZgzPus1yOqQxuHVYACugwPIENU/lgvGn0ViVh4flstMwxk97HVqzkE8DJFbdtjq7Upw7cFhk+vZTFki0WXf7u2DWgYb6f7+bYz9tZ6a49LYkr5H7DitFkiZQPAteafq74q/173lJ5kniWH/QGZ2VbKIGdafb3uokLezEb3ZLJq5NgpaaCsxgNrOpKmJ/BeQagwec0fa5NYalLlfTrzdNyyLH/wJ0dxEmPwXeA0erUzZn1EqkHEloCRfvW7p7k7es2SEsFeRADpApHdC1YfbLUncRnBzAiYMD19DTSLiV4f4SezdAYgbbjqe5e5njJB7Iu0XG10mwGawPE87FmOo01bnai7hznryoie5Y1+h8iskwJUUo4KL66VrhsGLk68gtG+5763btSLT2FrY18+tN2cIJ4x7x1IvxrF7T9Ek6ad5EDgtbDBgtkX+7/cimrzAw0Vbqi3iXP816qZgo/8Ckx3fipDHrdOqC7QdLskJpM6Q5WN7LoObtKRXQoXasRBvIl6RTpj+d0p/2J2lNjLu/kHoe3VVIKFAPf1l5WsZSTCHJDBj0yMY2M8TNFxTjecf1KEa3mydYYz+BIjoFnq/Pgk2i/kcFmtqX5N/cPfA2mXxJeP4dY980nGlFrtBRV8epnGWvzj/XyVDh8A0aiogjTHOByNdZmDK/XhIKMsJ6NG+DNrvtJAKuh6JVebOScINl+GLFDQW/puK/nxCchDoRwNeC+l+9zeSfny7LblpynNspgL8b4oHgbVndmZLGsUZT2CQqF0OU7YmRLMxrgDZZPjBwB5FTcJCJxiYmPP4PZRvRlebZbmTnwXT+aktW83EG5tMxzd0msH1lHNGP1sU2LVVIvJR4xuAzfU9KqpQLMeqqSJ56Ryr4M9OvCnV/X0GOPEVaV1dwMEYBD1K2pEvjvlU95qUhmkgUg3toG+s1jsXsyEiZBKSoWzgei14TdY+aq9p5DNsFhXRl8pS3FO2BQWoSukZA1TnKR3/pl3fjfigBLBPquQ3sNEjMhExiLKRxM/bHwpLPyXT2/yihjM9Ks5UvnqaPCxFN6gyltk+5J4oH8FGyOafnI3lKFIIngxMXl1AN0z+PuwjbXJZmtk6Y7KqOh+bjNKTRzMTyBR+axLD8xHQEIPHiwrGrw0wndLfcQGTP2A3no/R8bzQm275fsx3WZogsB9nlLelpHia4a7TlUUqBBX5ix2ZGGOs6TFZDsypi+h4ZQIiCzkpBvJ+t8T3YRtBFEx3zrbqavzaSYOd4ypErBDzlkCjCmzSt4fhITMLOfzN/cA6gwfcWkPvJTWxN6Vis/o0Ls4CqDjSu3qwDxYAmUB7RAwTwzps1hU0Jno1LClOrp8jz+JF/jSEn4JYpyzBHpP2xWp/9M1EWkrQPTYtRDKltzudmu///A+cOeN2V0vOkn4RF4vgjEV5tEk4ezlwYUJY3VvIFjsa3YfnYNXheXQ2u+KVmkgppDxWSSUoMwy7tjyMwLEgqsBuJ2vakwkyEAbUeikMnxPbhWViFcYi5ynMIU/Kz+vPAf/ykZt6tsKvU0+T0q2xFjcTYiajbOVQLBKA5FfEm+7qYUk2wIFEe+jd3DvGucz87sSL2GT+AHoQH6Ax2iQxlnmp533QNVKPbAKWa4m0KtHFEiz6jW02AeWyYkeaEMi5EukLPMFjlqTY+M+zXJ9Ep9p2sBtV603HN1USznIzjvWMhUbVVUevDPSzO/boXeDhU674C2FITTvbww76sqau0osNUP+Ozyw25X+K6jeAQmgB3Q2sib6ZdT1crvSK8vnt0h/O4VqYjCQdhSfB0mNPPlRC5h4ZUUcUGZ+mBbcLeR49E6/+0DCuB9FXlzN4s5lXXOaRcjLwX4dZTeXVdQKq5kvsHiCBX1XKjo4p8SXFLIocRPzP3X1hXXsRoAzrH59ewXo6Zm1zuT3Uf/TKeALhh+rg8BBuTzYbpjwlM02o+E1lOhNKcQVICIBC4EFRFFEZbf7SxGaBtFzv+9o41wiNNQT5z2U/UqNuoJqe1cdDRgPCDMu5Krh87uGEd4kpwCHyUWw+VLRl8fFiDQs70qWjJ4kwv3TvfUrjNwJ5kN5tcf8NFDNGPaViPu3PiJvbdl4d4f3oboy6vg86DW/PPmxYJDt19foJ4q/MCQosJCMxT2vcSKb1XSIIFJdbTNYkevjoqFly1p04GVVEKxJ/TJcXDJl2ScgiIaeGabcgjhrqgJupzJFik1+tR2fps5AvRIRelmYPSUQtd1X6QT365CcQ/HFdkoyyzOwrvLv3iASb7RDZekNHwbVJnggRes1SG9ZDo8v9WMefi6hh9BGhPlC8REg8E5XWjmFH5AuzD1VVwZG+QIMEj9fvgZwe00oeG5FF288EH5AnuKD1EtJVhM1W1iQTDpz+E/79y3mZMOXWI46Wa7HKFMMGnNeE0S2GMD/pXQnuZxbs4DerwO+6P7hR1IHJlfqZn9zWizt8A4ZOLGiKrKFErR+ywiZ9GYq1vfvs7gnEnnO5pRiLFErUdsYQLR1ECIChgTCERi1rubv+xusHqOoECXpbdqC1w+nqdUlvqHJfwCHejPbt3TBt0qTzwItV+QP0M2MCQI9ucu8ZbJR3nkk0+bC2qW0cR0sfxH6mfbLRFgn4/CGhPziRE2aRrILqBKfFhVNehD3WFiJLOaB3Uf+oz6dshcVc5c2u38JIMS3//JEXFue5Vh8UwQQF2YeJS/0T0xcExIz0wQ8SxF7LegIek2aNm22P/Pz9k84xJgRexvCO8NdtT/RgXydYm/UWnc+9RsBpMAhD39F6OyX8TCPfoyC8b1HsmZ2IVcFw+mWogpFYBMbU0vaGMNsNyxVTUDDk+7MPz31WzmnuwSLjEs3rRtiIcad4K4wurwMchDJIJPZku2kjlq5utA5wIh9XxfGkoCVA1U7JLfA+tsIRjKmKh7yFATuDDqxpAE2/6ThgeW95eJ3E6+lOhlrAtZTR3Iab/zXMNpbSr1MUiIXr+YsIZDjUipGMgVkIp/NvPX6dRVkXfQelcFQzCKTiT2+6cL2P+fDUPS+yh2/Tf2bAvEHHMv1xVEZeETqm2T+K4T4fObCxvrKRuITj2wgpEeO2nKbKwdgpw5RcLkmH52TY2tIGPoKDB8Vat2cIW9dm9G1BPCiUn7CdroidanNZTDDMlNGwifkvRHrK7bGmdoU/tAdK+EcFsw9267blcn2rGFjxZX/Ngxqd3yOzUS5tAO2ePdTKUmX6rUo9nLQYTXzDnervlU+16xu67O5nR80qDKYM07hCueoakYyga2bX714oRYeWvlC+8qGx3ret9YsgESSkfarj6r/yUmYhB8fQCtvKUojgd11guGnVleYP/s13zeM1X+Ob7Y03S8TpMki0z/01zsXvKYvi2IO/+niTZEOIcTtIHCOYXW2Um9aCA6Bbw0Oove2hTW8yLIkY4pOYYvXfKiQnnXOdZj6FuF0xLiNQMv9/2L2+A8nZmeB89Y/fcSMlYalJehi8E2vaqnpoamCj6UtDHN2YMv8Av+WpDjTvYy1hfUD+hr2bsVKW4DPqfCz9aa/0zE3coVDr3tNTiQ/JC0vUQ7D+oN4K68nPcZU5pbbAtZ8cAUJfjhR8CrbI5Xz0+IL1AGWKW82q/qnAmCJ7GFYPGQJn8p3GqXtBRal/nb/Ew4lwDZbWg7/31rboQsNxwKuwLI+XNjxvfrMpVE1myB1ZyemMsspYrVEbkKb5bTMiH3x0XEpKusu1+mAtMy4tEQiRkzYO/0Zlmtfc+lNiHg6YTnrJsW6PeT1trHQdfm5ZfHMSbIqJWzYlk3E1Cy7G1BFOOiqDqjDgq25ymSeWB9TPWIZWjd7vYh4+NCMR8RycV2MK4imiwG3RPfu4ZWPr4AaA9+U2rATydwLr06TBviuMGwEk3ejxVCUrg6ysUVK33KnIutsOWtIj/VbNhms6mhnlIR7YxsZtmD7o6kL0qdXOYOkr016DzN4ZNdolPJIyvOo47D4tqnD62vcL7+Ifiy1J8rtEjbT7NF5X5RHztQTXXt87BZLXG3MfxINspOMXjs5mPTYtegb8z+Fod0BSaTyA5evOMJaOZbtUcP+v9WIg33pny+Pic1WaTgghvKX+S9VyueSSEKK2BLskGTo+GvkhCwST2W0Ch/L1kHjRHIiux++ONEw07NJ4cdszNs5i//71sucFb2rlAfa/ewbeuYk2fOrnhsD27Z0NUispUGGxccE9VP3ZvUWs9IV+sOt6zPC1GEEIq+oPrW7YcwT8z3wPZ9cxmhvHs4ghjWiSaQlomcKFCBFg3j37Hd3LT4Icl/dO6kTCk50g5kE42+2d24lnl0hyjM42qKnPjA0N63Zs5HOZp/no7ha+5uSkeA3ob73n71BbPiHNs3RxliYrZtoGHtLJed45K5HvZcDT6brjTnfOVpj7hf3EM8LuC3VCHTsgA4kFRtiqN/oU/X+op8konOMc3NRmvWg3Y4A62qfNPRggvjdy/lr7ycDm/e/8vddFs+mLmp3hLH92XJSUX7Y9eceKXPb9E/jK5pT1daMPskAAyEMupJwWB2gFOCO64yUGxyzT9lOH77RbTbQCZSd5vNaCdQCSEITahcIkVmwMGdBDbZgICK4k5RWVc7aC1C7kc8hSGPI2dQne0GfHP5gTWb1fbxKSuaGNOr7eFY/eemEw7hRxaw4ofGpPXTTx4HBu6VOzDmhXdtfUAv3lqUhHFsWKQBnWexZOqZP7A8BO+J73iw8f+Wf7eVGbhdPAc3IMaJ8A/cB2ilxnE6HpU1w0i/ftM26op2lwIfZqnetQpBsLqout5Br5ICT826UEblysGh5v2tte39Ov/n1AGb3MT6QKfNrjDWxG1+BrGJllr2j5XEolKZYIFQIQL4Ic3TRAd1EYWkT6W6jmTz/HlLjTor2ZiAv/Pfg/UtOK8EAXAdjuJC/lYSZMyuBHfbgLrPZHHdoFd3Ur7DM4K5yMgLr4Fe7jooKLUtkzQ7qM4JG6uSubKEvCW9CiWmlEJU9Gg8EI7vbiyijv+WQaS2zTmbifId4Fuyf6Ffx0ahxV20vY0KHstzUPV1FS8EEC6G6dRvH4bOYkSsZxTDg/hcwovz52I353PemyVW2JT1Z/Z7U6hxd19l5pS2vmBow2prpMN5zDHLwAMwyW9UDDm2eyz5RcpDgz4EOKcM4wzUwHrheMuGzVFy6kq0jIGQ4GxAtU/Xsw/exlljWTZv3tVMpYj6iAugNQE83adt5gYVyEJhbuMtsCSso9YgAMeBlnHzwHNQ8auH2k3qCKHn4hX3QO0tp9piMzzTARJHdXbzog2oao3Erj89vbpbmO4A3MUogg1U0cTrmCOJFuHB9EjFQWJahifsy9HLMadXoI1Vj/S2phABOzt95FuNlr0xmIRuuVpyULOQO9YAODPMP7ed5wtcSq52lqOQkbb5MbDiuEMfNtswa/v5LI3c4b6zTd9H/uhg5UipxZ6ptLU7WsAdxkUMNFmDZrNdVJYGCYXF2Ncgg438K5jwkhrvZf5k0uTgGiUMTssR1kLq0uA3j9mwB7e4OYRN+3LA4s7anSldWD2051/Tn3M1mUosfspZQ+XiXpcvMGbxJ4XedMCDdkDRWFpAlvHrZrtARIv5eSH7q4JbgJqb72nK/ajGEfhYizWnKjvj4/TMU+ze8ZEbLdWHoUHMy7bs+ZTuuQ1UjECc0MP6tOJ1EYEGEHtQmr039L5XeY7yn6cIodjr3QH8Dd4h2WnsN+IZYHq/7Lddk3/4pJcGMl83q2V73GaPB5+xRTwBa8AHgfTuHKIUoRO66JF1aOS3d7IutUWqphF61ZEvtWJIXXNlUZWr5Fz3IdYXNC42Ek1Wl1m6ULEqJ5UD0Vxm5b/EqbBPvp0aZ1plfy/UeZ5lBAJyi8b+KLL9/ilQsT2/wfyzflhCcS2dxs/r88A/jNG51Zb39iwBoGD+erSVi1kyttPXrCFQT900kAAu4q0k/IYVJ2se5BmWwd9g+2d1qK9Pyz6qz5jZJ4iZRNfdnJ2VUXfcgqlowoX4f5mKUNLJDIE/tuMELJyI/X8cR2C7B+ylvmsDwjFgjkUBDO6lQpulx8GWUBjdtKTsOZwKu6Gfz3Kr7DsWclmlKuwV48k4OzmdOlxh3NePBn+83aHupCPT4lmK/mLiMN6K2XNxgyrDZFdneDr8s0HPFv71zMNAyYkwm/UctCzMvDAtxzHuLNRJEAnHSkMdmROlk8cTO1twVENdnn4mjhYwCKFnzsNogxe1GRNlFNSl5jmvx07lenVa9u0YYeP6n3X6taizEF/lTHfc8HJ6oGyJsVQtNPfKBC63WFA30DTznAqKkfQHzva/2ahpC4Hpo+bb5QnICaC9VKyNtA94/LG+DVIrZbGi3NpmSc1+wP0Vs3JuRyYVUFe+nxOXeCgtHUul6qej0dbQorj+dfd+gY3StjcHg9nxODtN6LudiEEjTirhBTtpv8myCh704H14AE17KlvE/UUK82cGWGU2reUOOy2BooYMS0KdKFtllZgXPdWtGXRDFjMdhMtBNo5QB6mdr10tWdJJRRLCPDOOgpsUSket2KweY24pMmEk6PwoxnMlFten/8Qkdn6FzvOD3ak/VmbPfjZqUojZXq3cj0G0qNv2zqR6Um6XEi8hVLGeNpQYGiIYJXzIgojL+rZtTsy12VbxPgRojRS5cWMqumlRH2/MFgaxTy8SpqymJ2qBDTT7WiKazUIlMIGHhCcwcp72tDlCwqLLjilmepklh7tiQyJxMvdRYXrtCcRaYSfSTywIjQnEbIrucmvy8MHvlu8qA9pJkJj1GdKJsE6KEvmnT9TqLQ3Y6iGlnhnKzhvQGBXSEvMlg9c9ANU2VrVRejR+9oGwl5v0uw80AE0ODvv6jV0smnmNoDUtfdCco98lpkR0KS1hui227LJTA0P/+Q9Df8kxpFMyASqTcmTWVK8+OVgmWSsOHfndhHpF1GxnLQtPl6vQ7CDZ+LUMMeB0OwlYTDOAmGwhUjE+U9eCviF2IBF+kYltZ/j6RZuW+kb+MosBm4Ak4CAvSdnMjlCS0QTscQvQmzBjhhTpLT3l92b8UudZEJ6njb1SWyQOwGjyG8QUIp0rET7htRQCCvmV4ll4f+Y54+VqVSZXlRa+W2M3Z6cd72YXNsIdLfnCjfgJnug/dCSfZUIlMhDChvzCGmljbCCDEkqMzTjrIVG5Vzi8P4cWVgJ9ktIIaZf2GZkMZ8cRwNaG7qG4AwuTWIY4QPcxtebAYgk/WyPeUb1XF3m9VpSphvml4SlzSmjri+gV7M5m5yc7VjLCQv8zfD3LetxDRfIt8C3Aq0MQ2GFq3iyEmilfT//+gzQ0KDCzOI4ecUufyWBpXWQlIaC6OfiziNwDeiNw3MyI4zHisuZWrdXQIEonb2hmbCy6GU0xZW7zToQ4yWTJEJyVJt3kR8g5i32NCY7sxbYdWKy+A6Ugh0+8FhkD8SV8L+ezplGRBaHzN8+PlLYTRiFSS8ZO+5laj62OQvFQ52bD5c2nlqx8xZx20WxnUSVSxfs479QLm5ToijvsoDxtbCfPa8KmYK4prTbmMt/o/u2tfHcPxP1TXen7O4TVwzAzAWRoNMj3o5eyANIw06QoE2XK1EVko+BB/8G5u8O4b+E0WKrwgJkskVafgmL/NCBUcRz9FVMVyuNBqVH9uizvtGjJl4wYn4d4r+XfdhaTTsMr6gjWuQB2xnOwZiobIvQ/W/kG4cRpYSv/+A58XkWiCsp2U674fcS7j6guAq6SVq7GSMXPbCEi0gubvdJOB0N8g+aMW0DjbKOPA7lCRWoHOg5fcVP3KYhjMo1RnQ/oC3zo8567dGDEBae2FiOPX6G/KwEckHle2cET1WG3UzY6v43Xe03LepsyRPbTCeNn2H6a2veHN+JYTEiF0wr5CvCkDWQn7YwiuSp/rASfQrch3X6IUMyFIeNOzbkAQ/BXjyTPdycZe4d/AmoL2xc2HX8CG7GfeY1fY39XPyCaQmHRnzj9O33X4x2JH3A0b/PDtko3U61lEE3TguoZVKEx9R9js5Eav9xe/LUHKsmCTO7FMJpjm3unyLorTHek3IWk5qI9g0fnNewRqd3jPzzBSU/LOgBdTUexeMvuX44tzwU9mWPffDsjsZJl+f/vXpzoXNJ48wUTmRoOUG4vHqZGqo/NBSwGBdKVyrWMXc1EglAOmVqhghHOKlaGX9uoylocdfSdcz6t/g1/McjGoEXaTxqZHmsrvRFoppvJP4o9g0QuCPtWcelSjP49e6wMh/mQSDdA6K1ZjwEZqaMG+20bSdLEhfryUX1d6q6mTtAUo4fIKYXomoYJDSuLxtDYTuTxz6suqg/iUJ4cHVE1GVsZpzIajp2+d5Sycb+53VG42IJph+ggqvEN/StrArxLQeZ/2ULmmgZtckeL7MrHb/onXoxZsGBorPOnnIZOfFv15P9U+Xj7VPYOFzUJgWXWkjHHcZF/ngFVm4azIqw5JzrZvxsRC+4w2+v3bWmn6KO4zipXKC1vNSfh1ZhWAlTD4kB1BvNepAA9EfAL/3bgS/+wpfKk06WSN/ueMNr0+IXjaLwvCwmn/NncDsW5T8Uar8Ixzv+sFLDo8Gv58gkxjPCvUsWJTUa8RdlsHeKsXc0JQFq19lFOvGbmoDq9M8PPJyHcJnAE11aN/cVbE+UbNgFXEh7MKULniOmb4b2tbCN+D8ONgh7Xzfppg+S+VTpxjloEjCNGs65hhSBV/0lBPhbMHZMGEwoKv+q0vQX7RqTK5+j2+hb1ao/YhaBrv3F3OUmiYT0lDqk7Ndgjl334MjYu3fSuNGLITeafsXUFCygLq+HPV3fFfkXAdE6M7gTl0dFPgvA2G5d3ntqfvjj8NHE2QY4hH+hVpOLMQl9EqWShjMbyHjhzL2wkJ2J5B+kNlJcpTpGr78NloYE5TR0g6QLvv3cumh9PqT6MAzd2Vb+vJ/G5ibwh7xilpkvlB64E5OtR6YMEkFTgki0JXlZgGrPVHR4LSaZo8K+SacjJtYWR5NQt6RP7NsDw4bAhpRZvtNQFlgQzHinckpS46y8XJ+OrRI0bGN6CqTaxbXLpyZDNFIqH6zEAfqL0Md+HCYm5n1b7g48nS/4vr6rpLpaoNvZj3W6f4qqnA5KeJ/INsprLfYLqr4Maiahno5Vzcc0r66u21VrO/2FqmBRVt73gzrzitxcrm3IhsOYZNDRU95ZUC12Mpk9frw3PQUIaJWcclKykZGuiCGsRH4y4FWhs1+4TrUZTtqnWrU3Y2iEr9XQjiQ/1pleaVKdhxd11bQOzesgkVuV5uFxvl37quEwL5xuQbvbICJbDwuiwbav8Ix33IitADv8Ar/u+pelC1/Okm2xU18oYY/eQ+lqg+dySl34rNvuu4+/Bk6JGxX6ikB0PECzLOkss1AeksHIsprchCJoVMU4XFvyklcRBIQx1/ZoiB36/6yRPlOBgl3JaK/X87jvQaY5QixCN42c2OMbhipiYYxIPbvjxBp5ckWKihsgnjbtOJEaqGUNkAHjc/QP/k+2r1tYuJ6Y5n2KnrsEw+YDvJHKZHFnPsQIdf1rZfmtNtTJHjslAtjWOv6XCFRnQIFz5gBY7KjvPHH2uwETAFne8Q61Pol86YVf0CZwr7SkFNGru3ydnJqoKCMKeiAaO04PcTkH/P8JP+5dyiAU8Pfh6dZWf65BN3yySGfkn5l3Fn0HB+s7r288BicT9WbzvRIhpmOJgLOXnbs+mzfuXYQWcv4jgJmYs5+efcz5QxzvCuuyL+tYjZkqgqeUJ03jxk/kg2Xp0cFddCnM/4+ShcnJ2V0CyL/RCY2vfsIyH9WE1OciXV1rd9Cy87zBnCqRFwzBKk99JPXQIQYDKkFJFxllAl6bdCtJ2qL2Q9BqG/mSgmvDk97uPWAYID08zorZF1Z0z+lWEsqs+UcFGb2Z9W6ojS9Yc6YU4gxec9sIYiIn4wBYwifKZz/v/i9SLYgrT/4BiGID87OCayKIEFP3ML8B43sqlm2Ih+nww0KmEj5eiY3AOYOeHFBs6vITFwgDDXk2wrCTVk7H75DHGiXTsZlkiEetDDsc82WbyT21O/MoJAW93+p9LwDSzpxrVkEg0ZqkhFiEh3a7fkKz/bDHU12hN9h5EX3sPE59z/85/6ckj5QjYSKbkMZuaDnmBHqZxI2/yV4kPRcjrsFpAzQhMoiFW/QxnoFcONFGTo1cUOsUoV5LYz79jo1t/67b8KPK7L+Ajwav623ed8VXlnFX9rVwBSk5rEqyzScarjcnwtrKC4EDjL67P31ywb6z7W10LDS+UBhiS/D5NQswk0XcS3T2mzgNsGfGaCu2P6sBFsX3kKEHhhjYDL9OUPgUMuhzGy9125tEIdN+6sWb7ePJWQCayjKjxIFZIxiv91u28Xq4C9Fo7/D5oZiij6wBg42Do7Asm4FkeqeF6hYP+LwdFjapQCyUrF1p46+W3/XgIklHifBm3Rrtf6L8gO6thWnvSRTOlrBOoDRi4ojVzCnLGixEjjqcDWEO4L/N4K2pvaf3iQRQrFj68O78VY2D1HbRFCMcc+JWuJEylh3KAZAO5o7fUelL3otJn4K13yZjHyGzy0ni9ZcjVs+pqgiAyq/e/rGl8vBlZgod5BmRHBDb4acwnLp+jJ2T+cjmpCb6MIFlakvaHSKBD/pYKIkTReOPRTiLBJneNuzaLydTFYUv8fREICD7AUgAnZnbvwVHg0dpM5rg2o/Ovp6HfIkLHVk5bU0i4vcYm6wZwdcAjFfJN3rthq4fIFxSZDXNWtv7AcolnRwodTaeDoTR63Q32t8/7F+mecwfkX9gBCVhu5KNQfrFDxkj7g/kfJHh0clTJ2dsnRzdy6pJ3j43FuYZ95SI8SPTsQzAkVT5CqXgdj4a/SEy+4bAkMehLf6r4s4S3DotYuCbtqUvsvlwZ3ojAgrteKbTMt00Ug2tEReoyn3Viro2+Qvs+vCfi03w/uFcqvHOuoQ7Nif6AzK3ZoTmW7DBRHcZO+iOHbD8+oKbvWvrIomc4qSWE7ZJVIySBx2l/wTEN57iu3HUdSLMzHrGBhyQJ8h5xFKMieKPcENWvUKtEdQeL8EHUc6BIhvn5Eg9VOk9P70k3vgu0zp5fjdDweBEKm36JO7+MXsDA+4bj+rCLnEHfqyDzerrNpDyRYaHXCXuN3kse5qTjfh6C9fy0hreIVaKGv8lBriTVNLbhCv4f8vxJk2Cl7uroz4ruKo5rrIH8nvTNUa0N46tA0QylSw2GFz+cxSZ6gMbpiEAMVUruNzk+RePVZRkGGN/Ww4THwSPYPmngEM4Q0t9+GaVnN8RfMzqVrAKckk/DXTxztklvL4hAQwkVs++HBvqjPjX5su5k3tLXAjYlDzCCQU+cSX2SwbVGot1gvasLlC/552ktozySougfisBeBgdRW8h6WWdAGWocLDcP3rJDfsNC/NlrpMCPam7bUON0qZb7P6nIZctfHXv2ThUmBye7lJAHkcUN2AmzV7wERfxUkpeTov90r8Pi+J9UNyJUnwDI2nWuIygUGiwalSKxKUI8npR8qJxd/UG8gUX+QGrFWoRHBMRlpMjgCZ8RnzwKYPuBc+/rjy1d1x6C5tkPNlLMXGU+18M53t9NKvj2OVCqpJ0rwb6uePpOAtlOQdtaQ81vyETG1C0urOoKVf84bGGSSF4rwNZdwLb6sJTovyWcy0ZZARaGup4et/dgm9NqL6BeYWgAIkGDgbK3HOo1hVH7dlxO/XUto0HYAXT9s6KKHFgV7hu+6q3nT6mvq/sGhrDBBkLjJ6Y5y0DcSFW4uCPQxjbQScrxoYMSsEZ2xjI11d8acjHDMa9rnSOn9DFQl4oMhqiYyvvt7+NWeq9nVu3ZTAcoBBkoEzl0NzW/5dFPDTQxR5lPEsTJX1kzIA8eP5JLD3FGKmdCfCW4pbDSxrPbAbmXIS1U9dubLXrG6mK8GRlFhBkCgDvWbsikPMQZZK5dO2QVSPfeTRbZHu65A5/5CBjYD2ZGxe1/WEQB1aHrUh5jXihrfCAN0JEIax7rSzLpgyw0HCDKh0LftptIpee/o2Sm87WGC6VLHgqFZgRBVMREBEJqS+gf6gsrbPQ9IBnamMGXtDMMcwTJUSl+OE9NGCM4ItbkqIcf+u9u37nkk4sbTtDvBKMhsZ7Fjnja6n87PCQ/xqq6GmIIs7NfuLCLNs1QT0ty3fWQmM+nVD72XIitFfY41F8y2xog344YVAk5mlf811UE4NMNVsR1gs2jMdUDWn2OYdafqI/tkfE43/mifk18B1SbQJo4u1LxF2HChEnlNISJq/Ivtl9fQmsdvsYZhNMCctZLXtUZebHtotFsjHjXpPYnjqM+tWc0dZFHfS4bD9/JxCW8G2cI8jiEimnwFEIB9lQPQe9aGRi8hQLH33pv8xZcN+vhDY5Cme+Bp+zRA58z0000EUYSok8BkgzyRXQNjEbwSlsSXz1t0Ev5gk5XMkF1+wuiB5mkQ3TgsaSFvAh6jKsACGfio76iQVhsf5jjlpVbg0NTSk5WxxbJJRp4Le118AlUCDJ75fvFc3bFeUj32vYTszFUjtOac+YzzjViUKZ7IBnd9Ya+L8xkMmP7+7QUSui77JdiZzeN6NE1quoKV2gFdkFV4DpM8qhISrF37wRS04cjMxpcocTlUW/tnIvm/Th7VZMOjCuVzIsddTNatf7l+jtIxm+WBva0mqNR/woPI9S0gx++qhKlQ5ZY28JDDpG5nn93iNk4B2neGZdnh93sPE+4sw5xUzebhruwyHwOYVLEr71l7UA2iBkpa7VMKqz1+jMxR4/a06xqHQ/uxn8bOmSgI/BkLWgvjLGwtIlh9QdZDzkdsCSVNaUzkdX6zfZSvGAsUAzbvlGJEcwASVstrJPCLucLwzQ4w80PglJ/pvQg5rJ3WU/+9ZYkQTEI9L8KLrRLbKUljkf0rK1sqJ7rULm9llrx3EboXyfA9xhbEnWRzgsL/C3UtU9Gh9vWRyXoBmMKbuN06n0mHDiux1Q4HfFTQ1i3YFAZHeOAvv6X0Xso+L75L7rGMmtH0EkNj5ohHyhR1KQGUocCLex1bZysWUHhqBFinrim5uZdWJBxWLwymFIvwflVB3S5eZGYa7NQfya2n7sri0RXQnJ+Qqr7wg8ZLS7/rCSFouXuPCDS0ZifA5l6Nxjg9hnbc3wGbd54WKs7DbTGV4W0Yd7mq3nRpKnQmu8vpxQdRVP+pMcd9ubJQakGyxByv/53J/wwFvex2w7bnU6QVjqIYY1z/swMJMjItAktfcTMi2B8EimPFdNWoVxfhajLi7//6NekQvlqMmAXAloUs1LQwuiQLg7xz1PoZgu5CIuBGDw7S9rwKo8KRjV1S8lLIMse2isfD0sJvSjDzmEPf76ZSxlCvcxOu5hpEcQs9JiVdPzmf0gZ50pZAeGwzY7bqKhil+/ByVhPPTYw5MTsMAXeAP4lZWzvmq7zWDfR90iYFNXqYCX6TLblz4fKaM6BMfHdCLUhRT99ZbZdurl3V+Kx2LSO0MuUP4Jw7zq3ZElOD6XvBo1H+nbjpmylbG/LDcCeglZH2V/bNMMp6ERmPmAaLGsjeqxTAmbEkd5apa6/BQirH/dCRVMrAg7eKn9foPfsHJbivvXa/HmlpfxkOkoEa0AN6Bg+ftzn6ECCKaAZ/1mCQ6nWjgucB4v3emcli8hSq116Q33yGpcPDW7I7FwWF/bqA+2AGfnWu8ypUasum9rIq8mSIKBkCvqPvOgWupVYeKtSvqxnPu+8Y344JMB9tg/HUCZjDcgYmOCy61WzHl+e93R5xPdN8C50PQ81pWsHyFQ+8D+09S83zN2P76X4TVFYCEgxbuH3pIWEDqXC+phWmpaYqiqA70XnG8V0cx9IaVkZNMfpdAaH/HXSBZSNY9hibfByUrAy438Bi9KFMRWXtARcFTDq5iWo9L/V1nczNdq2eXx1a9RKLLMb2X1CCaT/ETZ7HoxtYo48mQT+H+vghrY8KTTrR0wEKDSHNv6ziBbg8pTHSG8JaZr6dNdPfVyhIzMu8f6i27F5cB/Jpw89ZBl2TiqU6kcFVRpAne2O6WaWc9gutaTopJU/0gXP6dmlOpt4lkIVxF/APftiAuqTRCajSQVrcIMXUz/bEuu+9NyXcakpwFTJ0CnQl5bjMKK6ILmVK5LUNfSNJ7IJJ6bHpZLEqyfPlQykog/N1xg+fTjUuwFn8+BKVulsjek4I5BzEi+/5lOtr17T84lZAm64AGryicS9LwSSqJRqAZ6S+ewtK4J6T7XaQePZaKt3uj3dD6EDmkyeqgAoLUuN6L46bS1SWm3b5yR81wDxVoZn3Jd03bvvPmN+tG2wym7d5RLw24/LRpELIhRVfvTdtdMkJHv/XcEXR7Oa+rPhWZvIpW4JX+LVR1K3RqapZIRpYWGofihdoF5SVCU4rD8i8H/J6WOOOxXphX10mmXraJJhVgBzWT9lj3O8hu5h03ITRtI8tAz9l9DEu/uzixhLaU1rsjU5NMvsm9FMRrQp70W0ERWah8nOPlK2/y/+dwu6rkZkttbeCb0zAX1oL2Ug8wi5fCtplqPKkGEETeX9bLl3CuSbHFiICo5meCdfiXK3SX2gBmm0PjmJfviByPH3UXhbW7lRay4jclw6C+jBdhA2gZyzEmOoYzmQ9nEuEnYjtTaEYEqybmiqH+nkoRr9UlatpmCx5bnEsLuQzwSpXs31yu7vmQWeQ39BoF6nRSlnmc5YtAsfOoOa7ZzEB0odaxTCChr13mZh8ktJxFqo3tiGGGf+rfBrvBbuz1NMydfBsUj1Kpm+Rf9WJhzOnGz7YOCFMh4Y6ECy9kbU0XrI2oxQL/P5fMPcdmPxtdRms62m+KHCbbUdOvikohxhsKo76S3qiZPOiwRCx01uVLGCxn7Tru8j35zYoYPis507uHw8u8cRuryNuuUrVZ+o+CkLcNYXrInb+4A7krCiFnlBikhRrhOuaIprLlSQSzq6UR8ydekITB1FckZ+X266SMCcF/pHBOppj8STxZq+dOPNJ528ar+0slMSPsjdb2iRnH5YxLwiTeBApg4Es5Z0SVvO+r9IOC0m2zjP77LF0V7SGAsuy1/hGlpQljrJbFwy/jtXmWppOfCAuSn0Hu3RnOh+5gIl311jRHZruesIuJNXn0DpV0PGP2oOoAkgLRJS9GWz5KvMPrcTwQZyfLiNU4/u/IznPo6S8BMdFli2T7mIBaa2Ft/eSaHs/EKVDWcmEfryTi4s6t0Gv5Ok8utItTy6snqfvQxIo/XH93pBEnsbtU7GUrmFQtXX2m2wfnGIBMKyGd6tqcTZ12Xxr9zQmFbZVhBwYwFVcpKuwFIScfw53VIb8qmkwvzH37JxWWD5mYuLwkRPu85akGBe0nKvdwNUDK2tb1XzOcapp0QvdtKVHudGbpGV3TqqZYcyFwtyScHD+srZ58riZl2bQ7DSC4BqLM9t+B0aIwrLimYoHAcEeIcrOBdfjGbdyocTUqemuOZMzSp38j/XaCvJIyqDsJppor4lQCTFi3IyBgvu8Jdbi890I1fMgS+P9MEKpjYt/3ZqTybOQXA9PgEdmKowW9AygU7BeWRQXl3MTK63fYiEu9J6C1ZG57tLuMIuA+fKoxdpxrWALkVOLHE2Zm1tesVFyeLioCFMSJmkbo/BOppDn9rz8jnpo3H+G6V9qCdGmI2TwDu3LwA/vANKnBT0j39HLRi5eI6OGZCfxb04U0qe6TANTV6IiImxfzU9aQPt/q+E4HbUgfUIoo3E10La5hww4U7tp3RHMk1aJab7pVdZ/xsK8ziHDLsKOLrv7ogaaWTOKm7v4nlXPyqePSL5ivKvN3pzfEI7VAnvwsTM+tmbbTc6744ehYnrrHzntMn6+O3DTpQAUSLRNeskFyuRDAhbIbaWJWuPf3O9PSCN/o2JVL0l3RlokQ3ND7cm0hvR+e/THbRIDRHQFBrcssRLRwdpeeO/sce1jdUEWW6FrHuqmid+cpxcqtdF+IIGQyRGOEHefZ7BIimOn35FPvLly9vv9VwAaq06VOpz+PrUYPq+6bXeFFlBDrfhmPXKAqmQ9NgikdncChhpJPOU4EjJKYeIABWZBwD951va06uRRfqgFirZZMon4w93VG6AXor+MqiG2MnDNjM/r3BxUlneUW2QUhOZHwhFfGOOx5+prODMZpOvDt/HDhWOQ8CFUqgKFo3DmGnKJ0KJFuSXVqr5ZdzqYy5D/ToRo33OaWQOOf/Hm8szxZB9gY2FKVN2E8/eHW6GcKPqo5whdq3DtH79+LouBriWupg69cYIEWVkuqHs51PqiLIMotg3xsgSqeEhJW6P8wuUr8W3sBfYTdiLVZGT4djwm0QCzaKWGak9zyJT9dha5pGz4kbFYFwBC158ryM44dkekHR48dfnAHtmSKwm32KZekr2zAzao9F4+TJ7JuJuH21diGHRN01LmMwZ+X7tPOyLz5F0ZULvwVpIoavgjxZTNfDYEv6d35Q4tP3e0CKfzbHB7Qf02TDgUNh3tes7za7TScnedN4KqovSPJ38Fe2J/4njAw3WH/PeiG23TIBLERihb/39NfQAm6vZ48oqP+p2qI9p65pqSLvqyGB6JfkZZAbituD05SsFlFmSoMEIC5SLvPSsO1lvzqq9/hFzeiXcbadTGm6VgPW7hoPDSNSEOfNN2gQjV24n9A/1dmGS8hIpJSrBVGr8leHYyMeaDur6Og+i/PNXv9SWBHpwVnmfpxfovqJNyfIXjHvVFoBKRhkrM1VF87RCyQUwRrZ6g6IazrqT1EIiv9Ub1wDTaZWWP2vyAAVJQK/F8r83Gk/+A9tM0DNb5dgHNLsxHCIHBKK2b8qubrfmNubN/dICFKnWYV/8v2pKAxHXZ+WcRqRYL2xW+tQrp0tO6m4m15hkTZrDiVkClF1inK32iDnTG+4xq9thW0zCxyGMzI3d/GfJH/vhwXqpWha21ruLki/t9Kb1Hg4e0RsqT26DFyvknaQ0NY0N4+ITU31aObp+T+wIwYuRvgZqZla38Lg6ABNjh1aBufzFxaNMRqWXuAlxnwa08zm2YcuoDF/mrwgXnGul3kp+2rO9C5hK+VhFXmVWAvVJey19HvPSF7mDeDopchOyMA4xXzhELnv04XHCnrpbbkS+SfLTbU+uGwnLwvPiutUx0ViYvjsZptkoDxqYSJb/tVRzVB05rMwU/8TnxedjiBOsxmuAfQL5GwOmc0fsYDF9XnQsNScNy7IGknSrQrt6H8jxNPGR9J8L++uWoFS7/xpgaYBAevkFjHg0a/c1yilMNKxmd6QA702cbfNVEXBgLTRyIIp1TCqsdNCAGWK/kZEmin7Mz50/LkFZYPtksfVX4IO5wgk9c5aHvvyN2Ye5oAvxrRVLoEb7SBiamoYPsy+9kZQpM2sFm55On9bbwQtQcOUGNwcu7XgCO3rIbQp/qTILsVJ6G2H3dHkzPHPw94DkStMstWtFA7sxjQsbVqOwSqUjJ1UAI/fVYwGjTSK2vI5Nix/rgwuxAIBXKfUzkoVzCKULyF9w0umn5bUvDD8Yu76m5rYjnlV0RAvkTh1Z9YHfNin2wyHUuRMaltExnLFTzVns05KPGW9C+R80w8BoS+9+0aJU6l94xvgXn5Sx+KnAHESd4tSqhTLuF2pgBsSw4RyMjsf8LvRZvtavsMWMSAh/3zw++BLsZhlcCMBEsKI7vQA9yTLaTlxOmKg0xQvZifWRnJdLcsbmHFVfjMY3vBNfTivnX8ROtO+YS7EhEoSzc+PeuGncs3cRckDs0JOBBHCOwAzOhnYtE55rgk1L/NDKdqD34QuNc8XoezB5IYBB65aufXI03C4W6g73Ji3w+6B6KwTneYdoNS9BUGua1pXfR+qSZJbuWSf/3DJu+JCawU+wEKN3Q1ArPfhcU05ePksRQjKBtyn71wfQCtk7WC+Y5+kpsEzxHNFQrEWcA1lpXLGEXE7qWnfFbsxs4qj14EdF6tYVC9h06iriCq3mQgTGhbwmHTmqK7O256SYnkXFkNz2lcvGCgPnx0WSAHr375xsrTws7TggyJlcvKMd9vJ4hcAzN1hdWPy3fxjQQJ/L+PZRa8IVSSqKfVqvk0dJMepTQYYcrWZPsJmtxx6SRJpQhYOsvMPm6qtHvb15HIBiNhx5ZDv06U/sfkElYOqVrCvVQRCYc4HZDM4SYURjYxpVU0qOO6LOqF68Hx398d9+8xjT+85b9aBREZneDFq4pIoLrnil+OCeGe5zZJKUIUKF5JZ0j3P+n+sA/XFTU+lED/g8wrrgq8utm+oI8zu1pb2APbJQNXOZCFUi4ayUk90L4xQ4GzC8H9+yDU/3kJaydzpv/E25jY8d25x6Ozs0j/ze79p1P4KdkuDFgxVJc1jH/aWFE0TD92qnKSOulGDpQUxIY2GEQiRqMagq4HG7lrNpiGt47lfyzjgWLY/VF65/W+IAms9/9d/nW8VZ2pa0LAYD5lk8U+LKuMYbDiWsnMwCi9iWAboAev0lM7dgxxsL6mcfhwYjuxNx6iXAqokx3lAw48r/RLlZeHZTyPgglkXRasqb/VcH2UZcim14SD82S/iWfqYCFvdOsXZbKMFspriYTvteN98W5AZD8EOckw31d3Bvg7j+vL9o1587uIAV3NHHIwq5K0Jr4UrPD0XdZVTErNG3rsSAizaMo6BCddtXoHTYLKQNQ7IoB/mpMlcQXVbBZU5gEBqiNn9vVUwzHzKrLTdssctKZtN6nZWrUC1Zn54iZm8Wy8+Z/ReUFfh1t3nF4jph6xudXatOvAYeE3Yezl6uH8oKWS2D4ksR4oCSwrqU1s0pP6OU+RgKej3KYhFn9vvgfp11E/HuGeUpYHTzerbrBDvLFytG7taqE+k3LskgCgxTY0J9aYXXgzL6EqQjdQK6U0wNK5uL0RNWVIBJtkI7JoAvEDI5/co0BGRLsJINutK9NnSryFix66Zusz/HumetPfRQ+o8fTqiQFSc6EPz4gn5G6aQgVYMxVbDnzKYOyMNsf7xOZ5e15A6hexUGAx7788FxjCU1JJHQqSnuP9wH4XsLm0SVIoD8+ZLCOnT/sha+JVxZt8gTUWlrmaHkGjQ+bTPKk9JY/eKPr77fi7mqqyA+cI3wM40KEOJEx+pzUc/l+uZqOe/ZxcIR2qN3QlPHbLgqygCUMsx4xwlzaW5nME1R2v2JygaB/5Iw+ml0GknyVZvBRHiJ7YC12qjNPhfzl8J/rNRDiX1nQlffOi6neVBTy0J5zj7hbfQwSy04g6kXbp2IBsnuTCVq8zipej+NgikeiAS1uEo3RFFF+8PLJCUr77MQOCIEmO7PlDbcXe+OrwaX8dV3WSn2TVfN0Pej/f1eYpFZ5yqVLf/sNrOFrXt52c7pdYa7FHZmrhA9K54KHLf04QYeLictjD5O/NvzkD/pZNs512kfsdPFSQMhnL75r3uBaLmZd8XH+GRR+dlCnyd0LIlU0oI62Lm6Vt7M/JmPUNV0iZH6oBq+G+JT+pZJKFqAvlS+ByVRzs+L67T3TOXMK3xlVGsf58CUVU7zeexX87ISIS+5ho4lJOsNJcmS8tN4Rn2Ar4HeUfz+7l2puYSP57LCHNlHXFufmPPehB4NzGXoBAm/lPxTwlEPSrfTv/3KAmyt1YYTTW2/XRLyYvrTJij/dAxfUEkGKQ+heTfGXL9q95BrwdzrazHkKoldDPZzZWod0vwYo7Y68+ztQavLsNvumfekvheKKsHn3dV3/Xsj3z/pfelv5XqjHe5yOKE6nzlYRsA66sHzPj2BqrlddJrio8oZ+h2ziZ1XtJadDKA3Jh2wQt8l+MQ22tQYkxnv1cSA1ccac7jKzojk8kMqoPJpRS6HvAzzfKDVCpqcm3LNlhIriO81nWDEohSQD4YbbyI21Dx7DAgu1rkGRdo+5T/zKAJiKyEH9vRnkTP4qHJcpt24TvMCwO7nMXJFKsPnweAXruc3MOXMWzXknbNv3sKg/dKMmKR0qXkhxs2/g6leEeWatildvpnRmlCUsGSTn24jR0AV+8/mptAQXZT2niO2c9WjzVm+mZBEcFClyc1phSoSo0M2RLOBQHH5rLWGEwrSYYFE14lFkCWt6t1fNx+7711xr16HEXdlXP3+LMQP5+Uk9BQw/SBXJ73MScJpvVBwu+WsG6pny0ic/8R1wJmTI5OEAX4BqEtJEenBimtaee7kz2xM+TFaWHZDeYT2TesXZuk2sLABNYkYMMpWH9i4fP6hzI/svuZ7Skv1Ob5abk0HPhMoRzB9Dfsv2h1vuU0mZuNypiDOmX46qJWeE2UEK8Oem/TTqVTG0s//l5URfx9+O2409vFccgHP6kWo5J3b2YrJ8H+UgV4XtLS0vPqoKHhnR7P5keE4j+TZPQBRi3wpLzHpgVBSISjzVaGMeZoPgFwWzxZfQv9QVx4EewWgCHoMqyeguLmQEqPwKhYUL5uMAovD00Dk0qbRGkN2c2sBn8gITmIPohqmmD9YI0vnr1Ffb1PTZlEVF2zLbCS5qp1RPRgfNJcNXbNGk2ymUkNgewiEaLTL6Bj/9SKYH39l36C/R2NnzwaNI0lcwC4F3YisYslgsk/JXxe3H3CnQroO9uXtxyG26BJDS1t4Hk2pc7N6GZsSujRvig7u6UBxCaEwMDSKdr144390LYqHBF2d5xW7isyTP4T6zZ0NjWLCSoDvBJfskjkLzqz+/Cypa4BeUUj1KqQxRVc3FE54I75LjD5BlseU5SCoCgFK25ZPwylyd203d+PFZnMhW4tGTDib9wSldggJZbU1vhlOnpE1rp+RqwcSO/GLYdJOUdazOF715wnV+rL1I+L+IyjUanJEnoFOEuWxGV895hJHM02Zc0jKX5MLFE+EB9r61ZzqHwIXERncMMQbnoTmJ/ETCP4M1q52TArxlfZ0BKdmO6IK/ldc5fL2DWEGZeXmMKGvE30iGby2lXOhWRamU7wTsX9HnAei6dZAJoUYFgXdB8GjGxpvniweJZM2qs2k/7uuRqPaPSozXwr4SWoxxImcTZmaogfe1f9CYSQThKMJGTVw15l194weu49tSml+jrI2Zlk1IY9ELln/0moVdXZYQOApwG16N1Z05RRl9qF85jqCfv66SMq7UeXpoIkeHLRxiB3Tf9Q+CPLA5q824Ryg1ToACBGVlGHNZLhk18e2DGq/J+FV8wgtoVjCiIPzQGHDNYInlGflsRFxhlh1gRdgxkZkp71YFoBVal5JC8X4Y0hHH5akl4YEeMADVeDTnxWTSWNCpQfRqOreS84DHLCXIdPtFpOn7QdUrk8GQcD+cN5Bk5FMgCfnXtdNifQ6uxq1nEFzczmkEzuVd/2K9NVm+zBkOwIxn3F4Fj5My4ShWjicViHUQhfsIXl30OxWLbq7MQ0EMgnhtFoiufTFGi4VZwJMsLXviuyJofcwIBd824RxtrvHLavSMEvy6MeMcUH/gkc/M5GO4raT0X1pr0wYPzmE/j+1xNu8tXdKvDJhaO2N1jbXbkPyGyNr7itMkS8KENKeF3rFJWpUyIAZWnA4GZySl+LdlpUsEGmpwzRHhGzTs+tngcIkQORGNf++a8z9x6cEUbgpTK+4wBhumrUf6E5W+aDWPy9sAPRExuOKncTmdr20tQpKaGcKGojSsB55dx9zXQk6fsWLVZiGC+iWbc0o5GelzCh2YydOP3r8OLS0VZmjpooNiL0bSBJde/br8IAW0WkjhbWQKFObvXPjMDNWXs3gKCnLPN8LtzGyYcVdTbWlNwaWkULNic+nNurHpjOhgyiCv29khTko1gLQC6aTz7rbNqGyEKJAYpNCOYULGoIepmydS+mIrjHx3RoAzLGp/Dx437GpQYUKoap8D2ibebed9zJapcqIdrbivzOWKc3/t38owYnnUUBDpswQr8nrKKDPvSqX+uvQ9fB86u/w4y+e/BSeNk6JGESzal62s87aJJlK7ewa/07uuKVE8YLiQdWcgPGRUsfkJrAc0gc1SchtU5WmtwblW1gIiJ3WSq6iXDm7kxVd5huO6SWaTqK49nrdD+Z9K/ew9ABBc3lVXB51Y0Y2vTocHBIVtsQQIQ71mqOWyMDYY9SdAr5Hl9oIjzHqlGSEMBI+Imwe1puv26khr7NIVXn3dqO/M7ul5iUaWyrBDPMHvEwSl+A6xLq8jdHIU1TUwkdITEF3xVRyZSr/Z6cNFKKi4VLhPV0X0GpF3zVWvNDfny9Y1KtV6oAgdTlRB2tvO8Am86eKlKgMJe1BZPzq5/xrSTNCDAYYU8RLgE9584Qc+h4TtccqfMtqKwFMPRsAdGXUmezUbulW1JxFGEonJpSX++n9nQ60+9yzLdn27iWlO5r596xhxLBw+bISTfohgT3lyN5GDML64pSLImUv4XfXKhj58FZ1eMnSLdyT+sfz4/plNTqMFlZWV/h6ChTVe7rKCDfVOhlzxwWDh2F3kRfica+vwTnr/wxTFhdnPbyV3IVD070qD6i7IqJYslL0umU7gQBcDuQ8EBA5u0nJtq0Hw4hxV9H1RJAG7D3J+3ZBK9hMGgssHo7Xe2q5WpPz37N0YLH44olIi5bYzXQZxT9lrVTADJTt6DDbepek/uGwX6b391FYxHzKcXYupwUK1zvgrBvDsmDUxIbddIsrGd6QIEso+aoVXlhtJ5bhpJhwma2fpThN1WJpTOa0MyuAuqBu7Q6Z2U9QvSVUHoBSKAdSQTN44JaTzHpHev2EAa4fiUENR6LDkkJirt/m38XCsljMcjGjRI20Op4xUGwF2RivUu73QsK1wzMJcZIGZQgcXpdB6nqvooQv8j1YUZv4Wel3s3G97btOash6EG2cI4vCyKga9n8zaFqW/oL5hkXH90IkRUyJ1ca8+RsjHM3UvcOE/8Od6cKadipfxYd3shw5jP7Cossw5xLtYVPGkR1Jwx8Hr3b87kq4NS6zBgBJUgYkabQYG0x/dv0Stb3EFhnBpBgjJF8BVkBWmfrlSGahfDKw1d43dZdOBtR+KiKvYPEiB+Qzp4bI4w5vBWWhFgv2q6e/2FvTINYMNb7owWTfgmA7yLimyHXK0kJJ8aQKFsZGhBo07JBwdBzOiFTMSsiPxNquEmVg5ydZFjJvNuzejhaWyO+kZZ26eV22+gOPY6AuGUPv2ykaTnitJKn6/08cRJcqCbdmvZ46BfJYM4qu9KnZve+NgNmqwltyY5rk7AqkcsH4vyZhUQ2PW1cQvNuFXlVhElWcsanEJtUsOaM4lg/bkYN8Xjb5qFW+n4ND87x1iJyfsWTHOcwD3Qn1eiAAMEdJPGejsXKi4Y7tWPa5f1svEQe4KB0vfrLd4yjObppKlcOWXbi1hM8gh599xwzTZ8pYG+yKOtNqcqbG+IZG2xBMgf16d7mof/oWsgIxSqFtjCalzVCkFg/zUF3cxYy0vvt1LnDnkRH8zHy5Ax5zBLC6IMGIu261hqn7fwoW3FbLoZFM6/BJoNOOVofrxnyJYl8xjtCvwingqUDVYD5Ogrq9+1M6H7YfQ9MZijfr/r6ONnzjPSYXJVXM2oe0qSP6RdXgBeMCLQMX3A4u+y+7WXPU3MB0H4Eb4irKxbJ3pkEkys6eb9Y1k+9TdYDLqxBQKNYH1Sc5kTsxmCgah+auPpHo0fSet7KchKYiEtFvVO/keABSHAXvL/EUYoUsG2pUh18WBbvjLF4UtKpuOPssy0OOcwXOQ7H83f3WTpeLASgaM1aXbYTfgi/9JQ9VfOHsFy9xAWHPlSxc39vEuKyO6dzzEutJ+OnHO971Wtzhx3exrteigCwgP49sf1uUe6mJHbVYI5C+ryvw/mDAeYh6PsZBFPEzdToutLiMrlpZkSMarK8l436+1YwufOlnHB5OcexPG8SdpTaVcl8nD1v411+weQzljCFROqr+M9K7ZWp8FCvmiSuaFAWu0MKH4ZE63kz6DeWUkSg+5bm8CxF+mkvsN3YpnLrA1w2Ro2bzY1wztnSq/fVPShFuWlUi5ELV2NgIEtbKydleDpswBq+XWhTy8mfsYOyAx/+XHz5wXUtvyINZ0yIKP4nxjJym4afP24GjVcAFgFaXtS43wW6f216PZ5CNKnT4DvM0Eexip3cg/ivXZ35HpigrjVIxrSb6JKjv71wXiGNmKC7fYLST2YGnPkiAeckZdWXT/U6IAB7yqg2yWUEKPjSgxHoy5TChJ9E5k+QuHgVI4V4uNgaXJjRE3zpl813lWj0oxUfniBeeFM6bsId2/lAnx/wlhCkTx3Z3Rx6AkZ+hnUqo8lSm/H/GacvLqYlVV1RuaOzibyPALYxHACnrdEE0bBnAq5gIS0h/tkmXdWEde1fwZNiwyPHA6Z0wX0GNlL0DsnlBKdshK74xCWYa5slIeKYUQ0qeK0M5B7AHgEhMHvYMch1pb1N1i8BvM7NUf1YTKpC7fTJMsaW6n+R0v+0PvIW/wT+BG8Vq2F5XblrmvPOLIgMll/MVgPoi5a0H7veul1Q/pvvtiykDmBbLfaBdsNumncTXJ4r5ZHBOma18b+hlWj8WmcjQ+9eVyjORJ9nBh2LseDx3Pvli3d5jYpSMw7LwHJtwjTGc7umE3sUcktOR5bnKXmJRVnF/HXeFgEjsmA9L2/rbBz3bXZEPWvkY6uB6yF7NVK1iD6yhlBdWJka2ouHonQ2wVCUnZxpNwPeVHB/U/OJs8A8MGnWZ8VQk6nTodCGX4lft+n64xX9v3LUAzmFZZFKXOIw1ICAfmED8qja/GUsGCaw3ZwUHx2qizW+kFWvp3zRd2yfGeL64i6/zi4yg1YJ2OmMzviUe+MajtvQlgDcnmP5W9h1kKQi16rSIgE0J/dMqVDJCNyZi/oi6sUVEhuWHSJWTe/qQ8KUaLo5sG8KmYGeM9aQDhDkYigKF6VtpPlb5jmYKJevXYMSgXPD4w5m2Uplo6LptYkNIhswb2PwftPMLeO8rKb+jh17i1gHln35FSUgGJxsOD2+jiXKY58nmpf27nVsZIy2zhdgQri+p28uAr5iLFbKXihEKeeISoAtfjy53XnbA6bp1mF7jMGdeDGk49o0ziKmieH38nPxgVMO5Hmnc85NRWffqLr5Jpuk8shhWOrqNPeL5RBYoWELrzI4nB2F3nz8HTc/0jDK7aPt/nYtOHF4W8IrB3c6Br3drCab0D40i9rzXWd4CE0oBa8XWGXhBAgwEZRL+/+1//QPkhByVNo96zfkHUd0N7Sp6nbI845LUfAdppUMJRyrJ8tJ+ugLLQ/i/8GrAdMIUch0z3V9+kWqJ9Vix1A8K54yRqmH1+DdeBQNmceyamRi6eRXxNiEJfytdmfosQ3qXPlrANuq5WqJ1XW54yiJskxdw17IcEqCkur0cWs5DC5zGTXmfhfnRwzRmlZ4gu+qWSZdX/l3WxwP1OJ484d/WY4hforyOEI3maNJ0LlMBiMd9Ye9a7fZ7B9fV8cqocrQRpuB8iIZjVRk0TVDyQcj7K98DlZIV2f/6AZRDgjZ4NrDX8NWg3EwwmVkhK3LZNNJuxHWJYptZw6iGZGN3HJMB8mH+ZHfsKQRA65BR8uyW41fB7qnROrziEbUeJ0gjVLYKfKcnhcpqNZaY/19s1G7HSYUgKQh2JNgeqWDGEZ6l4wKlDZEisXnzlRLcQto0+7lBxRJz2f/WTXpiaqsBjnZBPPnEu1aYEbTOPTjE2yY8OJfIJ5I4zyB7/rgzk2aRDiqAuny6sPDPFoIlRxLJioOw28wN1F9Qk7yApA6LulKuex1sT/rsMYeKuEwN4EXN9zQxrZpGoH2GSWKw6RwH+1QHtZbDkEWJTfkAvzD4zaaaU2KVHK3joF81yJRV2xUBOrAMhuZyoGPWFcRElBPjZfthJRrIWQM5teeveoYzy7bsMBSdQ9RllbpG0ggOnSfnR5iqbKBOKH4co+bGnnGnP9AflbA+2cl873R7eeDIpPhPQeP4eg1Lai+9nZeFVO1kImLy6IfBKGndoBY48DXuYo6kpQM+DiUGMX3PQ0JS5CcTHsTDvqVM+HRDbGzaDJosQyto+6mms8z/gRcP/VCgD8S6qBYq2x0GdByE1hzrKy5xRi3ol1BSHCCqKIJW3Ezzc99FB/aAwDt4Ot3LCOa2Q7wXf1qJAP5F09/dbiNqhL7GUAwQzFOYIBdrdutZLa3BjUUZq0qV64JUVG4hruc3uiyy3FBL4l3rAUucd/uVsqdNKWUoxmQ1GyUEyV0LEg5x50SgtznibLYIpfpAA6oSVLkomkP1b+7p7HpTi7jsSYHINorBOWsAnQ8/BeFjGtDVhWfJJ/kK9Zh7AqxGe4pxIDEChT1+3L6mEXwQkxMarBXo/r+oLq2K/++JU47vM0ZiHxlApZto8JUYYQg6TPitONICHYhmBRnXq403trQA6XnXSGaw9ixLpvQiZ6as3iDnjqnTXzjVfV9qWwtDORNnsWYmOCDcHBwd+kLvHQrTFnXTYdBvMZ/8tYrk2aNgMi1gFcKSc+HBRM0VGcYI7+WKdEE13ABOiNPgcPMSMcPiX/Ia1lR7kb5r21s2FKDsT7In2sB3HLXchZ6Jj5SlNIvyVHyfGRd0EQ6Z0Xc/5Y1F495Z+V2HR6hvqy9bEZNi71Wiave16LoXeMDuJCWHCcOy5YGga/U53jVmD12OkEjsiUJSepBYGsTys+wAJWukxjayjZW2rsrLLoPl02oNmBLTdDAR2HxRzZ927vHYZbNbolvqvSHWwJXZ501+FFjHcyfPqZ2fZKGQT3uemiaiLAd0lxZyzg1AXf7fmP/JbpFZVxt802Sscycjr6HHUGgh2Lhy2KiOVL9Fp9uwtRIlPHo7qfBWnMo9H8+8UVSzOXnLQ8rUeX2DhLD28UA+1Su1cXK2n7+wXlnilq11Tr8yOd1l+oMA1W0XAeoTX1f7mKdhSvFM1KU+ZpDjsjG5kviRCEDK8WUsFLcpju8gWTiYRe+zzqbr0/vux01qi2iicySqRP78x6SCFleRRIj/Q31ZkWXUxL140o5JeoPYdEXcT1DUHTcsj1Z/OSEFFD+yrV8KsTBrSwr0KQmEQGbGX/j4CBQVLJnoMQqVfb+5B820C20gaBGHAjcCSOTjY234BQ2etIy3Gf4QdF6jkVeue2mUxOQyTs3XrpXln8k+Jq/qOc03IBXFFGbElZLopECLL44kc2UAKTwE9Ls8P5KFZHsWyKO8wJL8VgeV37UscfZaBPDZqLGVMuup3pousjiv+ehQi1xMjUvaX7L/sgCKJt79QhgvoWeEQKXO7tH0+t0wlSXRT97d3c57CVpPfdr5u+GsOmXwB1LSjEpfV90yYDCr1KOl8voGnCsBHkwHlLOtGuz7oI9If7UAewoYHnsktpiIEfeoHr1CxoP8KPI2kr9u5L4FHVSKBfK1iLxTCV1/Sdn79kluvPeEfAX9DUHg8xbA8VpHUJfqK6oUvfE6NLfq1B5sREDksiUDK7BARb3BiO9Vriz0TRpQM09N/P6Qj4+2OnXvkTHplbT/ihUZOp07qmIOmST8/Df6d5FJCYPKdVrmuX7Ii2EvMWvBnGyBEYyND4e8d+TH+YG+d8Cm8H6aQMY8rBo+53bw0KHfO5gji33+HV0V3b8bL1/+it1oF5zj9yKd8YBSyCPBJAOkY5wKku3iumqbA9hDf0yBvwaqPz4CX2jSwjG7+XwemfdZ2nMZnDM4QQuXHe+ticcetBURJkiWgr4DTl7ePDfMWO315FKhsJVEiUtc9HHq4uekqiH3nIdQdOVMSHS1Xeu44d9bn61JaXytmitKBdofDEj9NBXei78QIbr60A8IWUWkEQ9LYLf2P3TOmtEySK9hk37Kpi2RhyAL2w4DVbwO33E7EuAtUTi4TjXXKwpt8yhdY31l4usHWQYpaVewGmJSVLgNpsc5mYhlYB0nVNO+eX3iHopr88j5rWney749IvJ/fe7BEB5DYCcShyM4McOF7fgBB80w2KhyIF82ejr05GMjFG8WaQZOQuKtNpDudsdQyHBbd+UlHfcvfd4mehpixICiGrBmSCfPa9GYGKwtCp2B4Qo4m2AVkX35xRLLP+F+5JkiTx961chjGY3MjVyeoLk/qZe+VFwjufHBQzsVbCijI4kHhZ4iY+nllM9XrK3MZiDoDS4We3iMNHUjZQAzm+/LujmBRkkBw1aR2bC4xtQxWaky+r9FkGZMofjI1eT0MwNFoSPemM/UONBoZRudhYIWBbYeSc5fw2dwwNL0la/o7gsmKEDF9RbJsLr8gIaCvCKpNx/29IMUX96LEAwTEf5S94lOiY8sKvdbP4giuiVZ8kpuk1cu6TLVSvXTCgilJxq3qjsxm4h3+6OvkgdxiBGJ2gRkJs1zg75uIeZ7PysgFkumclsa1b88KefwrLimg7rUzBB1KbamWWD29QPLMFTC7EaScTKvk71MScoS2GwsB3wPW3RYbTcWPU+mJSrTsIEnxQsfhPIBRflpg4pDXxfE0RoRSF7PkQwuVKmcbKnLt8COzKirbEe/Ajho8lVewAlF0dwbp3uqW70dpxr8eli8DM3Bo/WIFo06bkDqo4Swa0OwRmo5kjL/SnT5TUKwVC5XRZoZZ3mq2HosRD0bcbJvDFUKHbMJnUzjTJ8qaxAVQD3BfbsSXUoANTGWUOPnxX11EZAohZAcLM5FZYtGlobkSWGkQmq4thUJ1vSwbWPFQig6sktmqdiG+B/VvH/6VayOJUDGf9o5VKGovkXnzcL0VuOAa/XQCzShY0Il1r4NAcmkFe3iTvWL3uZxutgg2qGr+2IQC3EKlXir01xsPWktREnaRVvO1kVW/UBjZH4JWe+IHI6ywu+N9FYOtP9aDZKA/mq3TrcqgRJ1Cwb4nbksD1GPD2INxn2VseNraivjCKbl+ULkfV5juiMXwSNhPr/Q87xuQe5ulCwDR5egbyBgVpaGttOIfOZJC0IRupJqgzawO0r+jM/tsr8Qcvdqhdh4W/21/ibaOp6d0Xw7gJywgVJh8/zSyGsOW82FVOLCDyRceMbLWjbVSXr87YQ55CD1s2EFoeaMjSaeqy1f26mrgODG9Je8BiWry1I7CIHY7Ny/KgAAsYSBl1OcacNxkfGU1RJda6cH6maKCVQKokTf7nQ+FF7aVczsT4sZrDIlZDzjC3xl7EXrcfKboXDp4YLIv0BIFNlNMetPEiCPi4bT04OvBGuQz7FofVCWdUwb7rXUpz0i2SF3HrGY5kLM9CqNAghdgemKqXt45hBPOoJm87ulMyXVwbJzHu2pWLaIYaN8l/RvWpLNMufdLalhrvwJ1i9ZazJqToC3SNg7Yw90Sh02UVC5ozODxozzK6rBDdl+SVtMvNxhva4SzLB+gQjfUb0dQv/Zof5Z1lyJCyOoC3EksR/vr575Rx3N+QIOduaeGjlGDjL//6kvCQVEri6tM46LOFSL/fHo4i0y18jLSq5fkwvF+reYlR3B/uouEQ3PCpoB61z44nnINfChAUM+qF16NImGa/ZPHrYwPlW5GHUeE+A9dU/Tq2P+no0ltDe644k6Llj+wYmQ6OrM4LWL0C20CM/SLZp8gMo+tFlU4YMSLNJOnnUKM1VsEuJv72Te5wC40baPhxMuakueSaZq8hKHth78FzWZA3rHg3a4nXSv0VxSx+kmL6hEpdFnE0/AmzJhhrgghDtiRDu7ayTxHD2lW30Zoi3NjkMBfGcGOJgstQMjFKZfMyZkROdiAxBhsDgWcWWaxqHxIB+XaAAUP0AHqfCal68PK3BJEmDwGfx68En6XQtW1dKIn1CG8RkZ7YmHCXQxXQKD8vO6t5SKKDpUkqTDrbeXjfeOb2HuhlUTSav/xgdcJ35ZyGD8JNRYfj04YUXUDU0fmz+r3jWqKgLBgbckUr3hdJkZ+Q0I+eCj6v5oUc8YGHnvAUiyEZFSnPqJjoS0X4K/UJCU3JwfgiJchwdU7BDsKtT26R9K25lLakuAI/WGiNHsly7iKrh4SP/cz7j2XCZj3BQmrFNkoei33QpY0m4tVs2vbzN641TI4MmjNU7jZ/Raz13myIJ1Fzj2AF6n3SP6MohAaaJh9uHw8tm+1UOxPlq8VWwtbVWStHgLheFFpQhUphtpvQ5pe+JZepckKvrqSZCLeDxBld4rlUT8dcr1CqXOPiphMD1epXPqNDmxzjWjXgjio36/U4Pxy128falVJt8FLRd4mCgTwT4zJ9wL0ZsIB/eZVyxAv+8RLekb6XApMNg9vphlt3UUf4IFlWx4b84SSsPCN59BQvAXwiGk9uyd0fXHr0SMeqPGLEnrTtlhnw9cQwfO+Finky0ZJvtsPaTc+iqu/7HDgSjcmn0uAX9RRUh3edd+IfLMFFjUSyFKnLvZzvTBgMIqk2DrFeRpcb3DA5xHck6ICCmq7oQ/iRPx9nROx4tyBJgfPJ6ZUl1hz27EKiMKyCMq3npTWktRjDY7eiLT367vLN7WOWlhfNpBGt604QPKv6IbonnErp+GsqVc2l+l4XXiss5aesv3CJibl88KiVQUpWtKB13YYrZKunhfkVrbA68kzbSxdXOwy3Zp3qYWX6qCAsqtuavjypuMQAzMDvSR9vsstkVS1aeKYpG/XPoQkF+Onvtk54aOWNeIkPBV8pBVVUdrRNLRrTYCogaFuf2Z/LxOfzkO1+GdO6yk/T9f1WqcgxfBV6+ANf59ZbvdtVm2nR74Mnd+qsB4fOcUZs1jsuitlDDgZOshpMcVVMRsG2rVWNWe+X0yDNw8EDRiFcc567XoihIZDH0oKbfiOYBZX9MU6qzWYg4P2Scz+BGFXw1AnSNTSaTaOuw3EsQfsPTfIu60d9FOLW0sPhbo3TCGv7DPL0UAegjPlCDbzMaL4fVR/H0yPhPsSc3px7IR08JKseARvdPc+rg2BSX/3bX71ZGubUIdorFter4Cbh3+67idht9Rm0htrRwKxPaU/jfkW3VCzCW1Lmfizo6hiK0Xe5SIUfG95c7UcJ+l8nmlMEmFXYlqU+V/efbX7VUl7WRzQ5KuZ37fPvRP58wczxXFfbYKaTuHK5Q3xQZ2hv7KNlBRYdFQKUEm0WfCbcBiOiSlfLOp0+Uf0ufvMqpnrxOWJgAs5t1YjUGRIkyeU7paQriZkLGV3d8l3WMJBOZqgjYoAJehglmO0Lhf4Tv1G5ePugfxlW2/1RPFfWXH73W/A42QFwMhSIh4gJEIvcJCrmQWrmAfI7QoZaiOHdgPGQg1t19eh25+kogO6Ol1HB1O/+klGljCAJ1c9hN2wMira/1zY9EdJjuMBKVmNjFPzgpA8SroMB0bT5y2YasOC1/zAzr+NfgGVhfPk3VJpujm0c0iR2t5o2vg89ooQVg5NLOj44ZVYlqOKYxwws3nVOYlPLA05cS0t9XBbxs9WnjFlafp6gL7EUdHSC2QY+0dMOyRR1mHBVfFf9W2YjI9jBHsn2qxdB5JdZBOG6UxX7HQVR8Wma0XQYf6phZAObSVnxgWYYLuJl2P+F7dUKMYw7MC94v9ExPEi87an9ZY+6zLXfU2UJ/Isu0NwOKU8ToDAMCW42daZr9Qdb+CZv/rirnIAsq+nTwGNzPAabOTxssumHcnDuabRlkj9gu5tPeVTuEMl+5US0h23sWdC51hJZPgYps/sCOc61qV88YLJeCjfIRch2WWSvlz+4feTxfWTVQWesO6F9xfBuWfN9hk35NinC5evJthX2DJRBu4WMOLFhOJ/fiFBixeSW44LMrt5QSQkrD5PK/a1K8qnd/HqLDL3cqVYRutWXIG4OrYEKC5oQ8KHgqoshd3S8vsGOC6a1I8ZtT+1Ee/rvjhInRWNVGHdxQCr+6ud9qx4n2JgqnQR5rfhFN4L8xQ6m8WFe70/hGRXAgUgSBPCRj2/g2sNA94ORO5DAUP4//McziUGQCjq+dG8nnYm+K68DV55W3spNFIZvbfxGndC6Gt6bq22kFx88150MQmKxkTj0WZ65jS/LFA1YFyTq1/5EOiOE/p6I1GEtbhIj7GFfwa9Cj6iqKvj4qWIoVIWfaFyUYgI1YXXb/inEaxvST7lFcTaWNz/uB1dFyTcfr7McCO+UBdfFU0Cz8KurZP5PKLMyZHmoi7dRO7BjWFcSmJuZUcFGXonyy8OquJmcR50lKcQcVWKHVszrzy2FqOQ6mdsmY2WqyH7QD+MZbqxBqfZhbj1Pihx/W75kot1rBIxh52wkdLm6qMNtTykioadQBEQLUZp+IIxD8kOxRo+cs7s2b2FGRwCPjU3g2GX1pAvZN5282VGXDKS+4SkjYcAy3WQ9ClYRn2gOaBlJ+aljGG2VRuvqLoyw/vtsuKZq3hrz3osm35Ip5vw7cIxzzf9E206Sv/G38fnlPA9bESKDZbp1jhOutMSRDcYc0JroKhBRf8R4bRMYgyoGlyg9ItF1IZkuKGIzz1cwGWA88U4L5tB/+QflICXSa7kIei9cqkDb2gUCXbWhMriZPSmrvqf90A1BFV1BqvS53/cLwQg5k6RUj6onfUDoLz+Dip7QrB1gnXrSJzsZRcIlb9nvqL6SA8CiDjaXaW51J+aTrJmBmaEPxSZjFY6TpQOiDvlrHyP4iWtVcdbeLiHtS1vnJo9hmeoT1RsaQmSWf3eNkQ+7/cbq6IrbdAO3aTDH6o1lquKJ8ioWMhfcI6hb6WuJrTcEMlEDU9KsTYgxQd8OiZqZJBKk+RYwLw8v2ktOZ1AoTy0f8253d3yzocUSb0IrKFcSbBhQlpFIaxujQ2QsIw1Bu56DkSQylIz5ZRVPjkTJrDE68sfu3CgHqdoO4Sdk68cdU7kYQRg4wD603/wf5KIwdO/0p9+i1Bas3XPBtOnQpzEj3BCZzXnFIFgrvITSxdjpl0c3ylRgm6KHa/DlHaFz8tfAz6KgPGCaF7LERoFf4KLsVQMbnQCzheAbgik/fClLruwYHJrkl5P8Z05IaYW29t2dDR+insxh/fE9z0ElQJ0LfDnUeGOpzETWYKP1si4oQY16VAKRx06jraCDMlja09HFYulbR+srg3jCHCzToNM1TNEGPZwO3NwNsJau09+lkwoK66q3roDJTJOoZqAjaJ+e5uQWsvoAoNZ69SDap2pNgXKJpf1lvD7cbzNVZk5y130QDZXkDsRR/xRg221ADz9e7VDXaDzyHbwTx+0/+dwXLNfOcsY1Ky7oD1lON2dNb435DmXq+QFRtj+5E2PLQJWA9Cts1BF+zDozbO1L910jGYV9BJWE3VY4INxbVCfzFRm03jHzQSm1XXsn629DaN1x8evpL9Xv/oTXXRid7T9nLtE6JdZFJBy+10SnjyX9bLciw1tNU0yJ+tLyx5Ah2QXfaZst+Pb0+TY+Nlf9HA/GCEUapO94AkAZDsTcO1XbB4HBT24rAcva+kPa6w7UwswrLo95wxjJVLyYbp3bRAp3/Mmh8nyvBh2A3u5OTIH+YqPzrsGlowULwCHXnxLLQV8vkPITHeghLnrxVKhARIgtRP1r0pOry9o00LXKnmh51aV35E5dPk4mr+Kn4C1tpjk8F60CItGXShIRsSXfCZEPEJNg17hZcsSkieCmhQYLAv/PGByhBgFRvLAPZ/qfh4RUpTDnKuxizdpOUSk7Y9ctNvA029Jc1xWX9kTFyLxznd2he6C0lI00OAAGzJxyYHFa49wJA7geva3zItBh1RtlpVPvr9/akF7TYPBe8ivGzB2BsCrNlfniGRBTCzs0RZyrB7RWcZ+T3X42kJdhm2MeUG0dr3elRWyzvzRYDMrKNBbQmRv9MturICVGRJvxuAnOQCcppfiFk0/vZSGM8k4ns/4AJeL7yCyYAoaq92Y3c91wqYkyiF1Fpy3d61iACOqS3xwo7w87b2KgA7QXSb3URSFV3xrlh2brnD0OksxCLddZwA+dlXBGM08+k++jS2SbZRiipKTWC2azjs5suCyaq1cwbAG6hm5Cd6/DYIji8NDsoSrFtCB37iH9bi6gryWjvGdxNRXyYzL6fLP+6+SH8OaFrRRzFgkkE2KkMuuZMtJF4qCxxflAKL3SbVhD6nnHFRejm9t+ao7r7pcXD0o+zZ+OnAONQV9WPfa1haoZWMAFQOzI2W1T37XiFsHaeG0uHI26W8MsjNN2rp1zE3GyIAymS4UbLAJKNFq9RUqAa8eajpGD3MkbCISpqqte/+FwL8P6bvVAV1mqXLBRuFP21ZD2GxyLbojpMNBa3YmCZNR8fLCigASpWP4rgUpCw+Otq2GSnBHXykc/2JFKzbXl39uwjiGYE2cW73ccZGZ0qNTiYcgb850+tpvQ83XJr8bgItRhbeKCydvQf81kYuWwe08w6k+tPxqLOtIwHx3MBSw8m7CVMaHV5KtZ1P2sYAfs89Z2My7YeswiIhJxgnXGnvyxP37A/6U3VUlLYhS75ZF0X1nlDTsW2OXeUovW4m41bqcXsP7wZgdMfFIUF7XIrsLoL3ACAWa7nuUFF+Tevk147pjxj70n/ki65NPuBS4Ma3koZ0iDK7sNy6PsD37De3BOS+t/knNcJwPvMrN0YEyZSX3apdFcb/ZeVIkkPu9e5sm2y/+gKCWw+fa9kBZTsyeK0uq/KWWN90VidpXPHc/gpQ4rLrKrdPYzlhaFPAofttT7h2spGwbH3/WAUdo80bOb8WRHS+BanOmQC8pl6CNHcNgcHKIwOGY44pv6bjpdBVhuokBacqtJ4WYT8zjyFkdxoVOgFIIkjSftP7L5zy/GQygPshMjr05Hv8p5dtqF+TYMq36VE5jIJp91Xw/d/2220Jbq82RdrHTOo2uslhUusj/zOGNPjfJuK65J4VEH8lgJdY4dk7A30emInmlaHC/GVZR4HUWwDlbGJKG0wA35YnS1wV3cKOexXm7SrN1WYPx+MyAsSSiWjVtZYghsoIJPeNfs8j9RYE2ld6X9om6r2jWRiNT3dy1Gv5l6K0jaCsaWT6R3hiVMYBBJWCsH2y0Uzc19865At1a+FlSVLXSkOloFj61JQU9xAwvPYMNXiq+3bC+GZaziSHvuOLuRzAG75OU7te04x3NCi/L+LD5OPSNDHalat/dfP692uMIEyR7wxQNSSQMwyC3XrDu0k9K2TX8e7GI0IDRcK3azZuyia41ZqMb9wN01AFqf2z3T3yl3UdyBlwNRLRJZzGdmH4G6THWN2ueSK4H1owIXqTJpCAgi4A8fIa8QaJ4YVJZbn98OGhcYn538RKGODfSecSoEpTGBb+0kO9SbgXQvNBTrvBUsVKXm4UfLNzLkH9kTx5edGt4n8LCkvdrpJcA0sMCl/1JtQwnRtKut2kUY5UFQ8B6eeMF+oyXJWiqMKGqiJGGdLftGXmAoNZ5kOD/V0Pfi3ddU/dGpJ5kyKnyGohfPcYwWS54mQ7z0av3N/Ytpvzff7pSfvRFzZ+Jy8UlvuK9271IDz+HaBMQbunc/BAHFkNnO3bvOVLQCJu/f6JtB+w3Lk9W3ROlCN7NiFfllzoaGrDOpguqQL7Mn4tNf3QyIJtm2DNDbPa3eEgtfhkcKI983dR0uW0I1uCvZRINTgHnMhOHQfMgB60V3yNKzftzYnhg6IEamOp0j5i6o2PMI4s0N32XKNlpuhPUjI031ZnT1IgUEDz5q0+Uu3mpF4tQ0ogOU6tm2euNQ9cqBxiDGnMGOpcucMbsp2Ce49QZdaV5zeX7/j4RyeAR2QTCCEuz2usuva3JknpDnGDb2kiaJL/M8Yd5yBEQom3IhGZqnFTtecByT6cOGr377nLJOXPRGMIcPrzS9C8paGhKuNes5zgeMePM4UrZxp8btsIrM2dkOpRymnJo4IdxH6sq6zypXklcDJVCcQq0FXg2aC8NAqPBP2DgJR4nbFNMuTBHouUV0XGkHctlSaMrj7Kj3+FtsaTjrWuL3ir9hcib7FMjUKd8+ASUqtKudEV0ZBAE+JXW1j+hTxHoDx99hwg1drc3npRXDBGwinnUj2JDPWIWwPacse6LjMpzxBdpi/H5PoEb8mSlBdFcxGkD0Wr80DNZuuPJpYqt07C3b0eioTkCWoXsd490OT+OSrhsFtXm4TJTpKn/3IeCsd6z25cxMFxpf/dA69QKfJDeURlDYhRtRz0RuKEbUwULdDZg7+qYFK9681OvMucI+CvIo9d76YqceA4m26GEZy91qrmWztrc3Vr4SVT65iHKu0AvWLC/NVczn4+ttWD5TzxbAGcrECnQ1vq6Zt8ojY1Zb4inU850RSPAf66eN+i3adVqlOfpd8PE4jmuBYfp69Of/hJatWqLaUMhTXGCLpjcG9N5GJ9EGm65lVyVWrzbgppjgqQaBxxuiBspGntJMEUIXj2T4tEw6bPE6SgdUiVFV/DqQ2U14b5yL5cMPatSBNK6To8wpQbPD8lci7tEZ0d0PnNxxp/r6kbLfvWHj/BCegxucAsZCNcalzyL1St+sbuda4vpRbRhI5fPolzhGeA+aFjM03bZanMVQWrPMoVif6pcNIh2S+KTYWuB61NRMKvlzoLvfcGjF7KyEqGicFSrxya/KQRypfa5OWbGu4EAj0d1tuDLi8uqDLiHghShU0CbPjp9HMbopx5YcJOxc8Gh0wprt9TeTkTZ3jp7RIEbtLPIHVqiZDKZqmTjAwpu1gUjG76r8fHrd4fV0SgaCeShXucT3cPHFGUXj1GcYQlOt9o9zXAgxRKEEI4sSrr65xbpghf75sJKO+W+rsdH+CBQQo3NfVJhdSmzypEHU587GqSU9XrlhfNmcSutRLNYLhhYTrzHrraFF4tw2N6JHhRgeYU0QefNWiWXIeF4CtGWLNt4WwhTtQS98+aeMbKhVS1GiRwxFAeYIeoDA+6VV0hn7e/fEZ7u7pTG7sGGUngwJLnxo3ZVBxoDKt30qnwhK05VTqNf5KhUsxHP1FTJhMuET9HuNvtva9MPGEdCi9cny6VDhfmAe1tD47PPDlABhaj248E5iigo0+Qz/vdWxpXA3xw2Z9KWvR24/GHLzwiLnOWv4a3kNZZwqif3QOMaV5dCpeSjy3OK4nTwju2eyoALpbw+SjWxcwFVBOrwIwMrS50o9M9W1zcan4lGIHMD/Tqalx0dJr5jqkyQW4x3CWvm9IXDNs4Hhlwjjxlq8EpmYZ7bOF04VctUNyN7oXX8ZaFrnj/oGI/tOL/U2Kv6Gp7ZJUn+DzWE0/CsEGfgdv1GEdvrZnTbPATTM38G1NXD04lqkxBBVvMEjvVGlZ2Yeu2J78fDl3Doj4fBCst+pmrineSjZFdhoN6D9VmIuHF4mz8O0rJp+dWWvTmsYPpub0XyQIzl9X8AgUVmJjV71Gn82agQDH+Ml1saKhDiwNp/hlr2T0jwzG5EhEZ5ITtwtfQzttD3FdbFnPBl17LbPPt4mgRxMsa7ox9TyWWfo6nEIu1N9kxnXIePw3AyGpi7bYCOLQn5f/sIEipLonaEkuG5DuYcI3vGROt2bl4/J7PEAlcTwSZtyTvme8tamAlKS+SJnXHXFOf6PwshFK+RTxt5EyqxwbG4GVuqktU01SrJ1d+TEp5Lt7ckCUQ+DhApqTsUfgaKZmB17YuKZp73GoZUrBNhUYfJlyyZYvYxAUD6N/adcaDHkJGUrP9NwbllHIhh59E6ZEcfoaNjnDdXLq0bQ9mSPMUYebh1szqipUkYL1p+pt7BG5S0z2wKRrAWBuUcLmJU96+CVe6fXuY1Mv2kn7VKp7WJPfB8bBYQKLwrXPCW6Mp+OJmdtmWosULdaSxrST1n1fUqX9lVA3SFQxpIYjYGmpDw2yyhTbGeWLxQBTD0cZnqJCRrAev+m6P1UyQRqT+OEQtGwD2yJ5lwqAzGa1ur0+EaDFPzmbD7DtbkJQFpVkgDnCztNNvWN1ljTCs3PyAcTRXMIm288fSbOmUnIjSR17dH1cRdUGudhaXHbieznhKTYvLUMZjKX5ql2wUSvT376g0DsbvDYoQntfvP6zd6ZYgtgLxIcRXzOG6ZI54WdAPmzEDwtE3LR+518/cl8VA/yINETGbbd56sL7eiCSVqIMC8BlK//tyfzcZqhJ8AlTCdgw+aYYLOzFhBKbkdFgyrVoNdd9LE7a7ANEVUb/KO68u6wNBuL6teMuKUhorA2px/Td3XXjqzG+dxpotnEQW8xQ+C90vXkjHgfwS/ghy9xinfsj6VY5P6pq9M7DtQ6fncZbNffOycanYhTn6sn8UUufp39F69/4AUmJuoo0rqaH12aR4ZgWDQV+XSrVP2oyxTH9pSrKV/xTETelUtBbI2uBnXZy4JfahiUjYxu/phX3SAENQoMrbRn9Ic/O5larHjZIO3+4eHrNrkc1feNdpAtLeSId4RlhHCzF2W2CuhJeFK0ycTNJpsiIaOLcwlbSAxRZQLy42AxSqiF58agPdcF43BQEUYgqimnaq0NfAAhNQmH8IHqREgpL5Fb7Y+M/VGOxNhYm3yFnA+/gciePzyp2FA0yf3EHjDBIOonwetqllzbAAaSuHR+yq6xA7snyXMNoeka12PfTb/v8XTOpr6Fdi3d+Z8YFC6nVvqqIkN1gAJmvaEzhdpF05r9TpSiO0OxN1ytdGRQe3oLc5PQ/owW+6QSMlJEhuOXsXpXEClFEuQkRY8OQSClJwUSy7ggIIv9WzLWJ499rFurtm4yYZcl5G1dglYc325+iVNKw5zdm4piN1zqwThacinXMnXL4cS+8g2Wp9Un4hA46X+F5M7DgGQlv4oV8F/xOQ8LDS4FHnWAwzKKxQwRNKLccZknPxQMQzp0TJaRSQYMe1iyZtyJ6N/hK+TDOmFSxnsdG6lZHypTUOBFFFZUkyLefwbMeiqp8sG1gvDUycsACfCjZ74wLk2OCmjoKOR64JwitAfv/t2mNwYW6BO09rYkz+QwsKEZcFCTE4gDl5BzKRtA+xS6PJpmiVF4B7VLqoztYmSexPcBSnd7ZFWYXbFjWpr/GcXk6eHRy8dyGHORCxlLh/cfhsk8oGhqNXsL+lBs4176n3ceTey+g3Iq+5IB+N0na2LsU3mYDRf54faF7gZBLnFfQvB4GZoBQgi6h/HfouA320g7KHgmOBTlwjyzULQQozr1cRGISqifw9Ing/5fdytBfjKfsAiIbDOkoUnx0juuDc+EKrma7jyuIICrWabDjIE9t+PZbzVslLF81fPwavRZQYe0rnvVWxVmc/cW46c7pmv8JQc8VWyIgJsoXkrAhovOMiJB+OkF7SFDYLcTIagVxRk7JhmmoZD0HhTqDSSFFFs5zFcQIjV8bT/JSJFdIdnFn8LyKj4hDlDRGiSewicQvSmw0oOSy9s90Rqzb/+VgnYAf/zRGpNg6t85pKFh8X6ZRXt3Ily6ZOZ5IxpzSOPUIkTV7nRNWJDhXOpqZasTOmXepA9muykyMhh8Wut4p7BnRgOrMMJbdjthA2nAfkODq5mjwWiR4CUHGueyu8+WDqZCfBzr2CMJqH6zbyKIbgf1/soYpI97bkOxMUGMJLMUju1ghCrHFulqFAIBOi3UEe8lgWNCHIimht6QQOCJ/nFWPlyZ9Yr42Mas6/kwxZguESkYDYUtLItpXNRLl0G00IsylI7idnTDJgYk77273Odshzft545uM+8oXv5PVtXgIsMCzLPySyQvLMFDyK0rHUfZ7YAG9sl9o8p/VALLcMkiQCJi1qVhxtjD0Bymk8M+2meP/v0Ypih+NNJJxcvZCg7x2fbv0t30FEG2fhnii84kECOIPGKTBXAST/yMENEjsPP2GHBQARv8dZjosX2ZNHX7/1QOC8EnRb2AVGF40DvVfZqCQbCaBPU+97llqFN5A9JSJppcu1x3MqFlgiB9rRbuuZVEK57VM4nxUlwbFv3C9hglQ+P75HIOsNNXF7K1nCcRmPfgavorF6W6QSQWvJOANwsUxyQZO1Uf5z4EdBkhi9JjoNGZ58xjtDzeqKNxgHsGqLNP2DSIEhmxcEj/HRltRfSQzclmd/M+wDmR5Ar2d7cuO4U27xmRMjznxONhdqrGPqzd3c2TL2DJRKyA4L4u4lefIuNdMzxl1w6Pd5zJRsmmBVnphmlt+PMTE0y/nszko4vajPgIA0SZIeVmfWNj3A6zEuiMGm60ieHgsbPi/EHLuck9fr9tSc8h5AGSFddv/NcQ1UqnF8whBegxnC1OFU8z4fu0lgsizLx+HDUS5CE1vHcUqiZ6Jhr4SCJGodsEMhWOPgKNdK+ciA81J4eg+iV8rb8+GUGIqd93nzHOi+OJcWIYMYMe9JYmgk44qJbuDpXSQvWHhWE5vKp236Us/N9N+o38O+Tc0c/Ap0ZrsWklZq8KhFbuH+yWDND53rAUv7OPjwa3K3J6sDXrCmdQif1bZ+v7UHY41rYQfdbc0jknSk16ENG7IilKF2nKKaNaXbF/Tr+lFlmIZGmHW4DFv4ezefjLfF/H8Mtp45bGvwMkgsm6K0tZgd1rC7vhl2fVbmrjbiJsQKQPAQametdNvlqcHHmPBji4QDQOFS2fpGjDcGcbAVe+DXcvjydn74us2Pitb9g3O+l/4ZXC/KYmSd1xmcHu8c0qfj6HYvX3Ghmzw81o3RQGRyBtvp4bo279Dew5Pu6bT0F0eLIVRKI3BXChUJ6+KgCg8QOpQ5vnaGagF1hetcDEiplDVxhoqMR1q5a5YO+Tad1Vv+lKt89IiYOErNRLXGUgpkC3tu8ui0xca5V4CPyzbxaIlPrXycUozpzo7eFzWad7px2glUZ7/77QLdLPvcaTgqH8Ye5gr93YzfgOJa0Pf5IeuF3PuCZp230MX5VUpbjC3uu1l7ge3icBJFiyEAbH3jN9JRGUb40Xj9n5DjoG1cX3d5SSQ2DwAYriKKFa5is1iXQGJ0tuXKsarAIz4vwKJG7LFcD4f985fSCqFot6Z9tM0yayfYjMYs/YCaJPDOKpcHy3vR2zUPoAmdR1ikSaGlM8Kf3vgdPJ8mPZXaI10dETwDGYzDOiSBq+Nado6RAmHwKwcqyu4o1nFWGdalee4/E8vIzZyFzCV9I9imccW1c8LapXOjuC7mc9NZJq4tbBVBpFtcS6zZrRILYFCVazkj+wt8nmkSHuVey/NYwz1P838TDI2y3tcJVE4aPTX008OpkhOwMaHjkJ8/PnxjtCK+ZKGTbYSLpe7/5D+haWfXv+yeOh6B3h/4nhrV7hpqmhrQR2ZQbm6blBz/XiCj7MJdoBFmsjqtTudqtS5I9S5k2MHeOW3uDCg/niiIXp0gYN0NznxNGUeVDBRkFtf61DpjGCTmButj7gWxxER/JiqVSp8du16gY1iT2nR6q0DIJaP8PKRcYyQcLwtDDwHky3kqlh7hqbOwF0vwc38V36MSrtDv057rLTdGoCbGgSWKTFcPZl65gezh1BNDMtHhTavbpGMlhP2f3BOirhzsB77YlinGx1OhdqRfNIXKS4R27tMgz+HLVIRKbMj/BVB8/ZhzutYf53Aw8PsXE5gE/w8XUWhZQyxWcgvFilkzsiK8bP4mXyi95baroKc1yPs4TZxmVIPqIApNqYGO2BXMRYwLi1ixmGFBpPEg5dbEBErkkUGgon5LqN9sxC/L/HxwMQbm2siclzA4KmUUevhAidQ/GXV1CjrsOTkqBWyQYlWnB8vrJbOTGu/qEdDAKzY/8x0pirNSlHk3uBmyCiXVFniXIMUuC6nYXfNXDdamHnHy49gQT90zDZHOGdBfEip26pHMPuJew+8f3b9Xhii6oYbaLwaYWKl4CZuKth4xRF/XV+tVJVqHz4KcoUa8Ve1Afp2dXWqZ+e1ByWjb5SzwrZ/NHD3HMUPRl1ecdZ6r4LujLjuX+pgbhfstDvezmGYGDSq8ANKIN7n8rA+tatFce+Sgr2NqEmnEoCsOTvgB7CIlg+2trCaXEsUCqDp0B17ebK5Va6oABjvJ/e20KDUalyka+tK7sShAArOVPy06JoKpPRwlyYmF34U25pi39hIOozjMUSjp7/XhjKFYXDW4DYGU7hkM1W8taQJKbwHRluCpimGhUqRfUEyLxaD9uy+XfjmmQxsa3aRxIczKb7lErz1N82GA7SJfD/FCnhgW/wJuVTbGB8124XST7xCYZc5jxLGz8g+Wsk6pcDrCuuJFBAGNci0GLsdGJl5AFM703u/jy/wPVt48jO+jxtnpzg68cfsxqqchZr/4z5jSyeVV9XnglizhMXUfsDkiOZZZ2IIKDCytrDYIdarchmJS9QWW+DrsHXiHFkGl0toNsdFogAAhMhAwljFN5Ab/s0gmaSvV3cIEsfu3/hKHuHxe7CY9PeszZ2meqHFTFz7Ird1DHfuguHX3LYaHsYagYzpe3pnhpvT//WQ5akOvnO2SiV0Baj7wfAV1/SfOhycce9OPDaVnianTnOsxEcb2hg/2bZtANibnZRDcg/6y6AiRAopFW+yUYO64DFwClT0VKoKoV+7EJgEe4h1XMjKr8JYq2B2AjGSHP6IAOwu4WQPRU0lE31AD1SFmx5DxJP8+oGV5gPAMKpWmTReCV0oixqixdxm6Zcga1o8pZzTmtA1onadOmg9C+XFvWKHacGHEpOonWFM1grOUf9AX5Gu+bPwmUVlCBrwvWUq5ftiu2Dr1qiuP/FoaUerg9FXs5BJU03IItQ3eKtnkmos33tEJLXs8g3HZs8M1CBIBuHhBd3Mh3Q4osLBuWv0oHCR86YFO3YIGj3i0CZ98wiR5GPq87/pIzYlYA00r/lA9yPSwk7rJqriNLpNJuodRBWqywJ+ZELb5Ut3o1g2P5uozkgLvWW9WfMPW1TySIGYxbyxV82N7m6xpeH720ge1jRuefYovAAwU03PTQMAdeNQxvrurAOqTburJWhUXMdx8EKkQMQpVQgT1yRnOTduqmEL8bEnCwSZILKtL4S36oW2cSVR0StVuOPLq2A97/Urq1ta9jFNXz16RbVb/weexMtmBWbDaNhwLtlZmjV+4Yzw4D3Si02sAUMYrNpIOpTnmp9+VVY8YUp3gyIGLxCPi3Y3dfK0cehybyOyOXi+9CuxFDXXz1/dS1eLq+v393VraphyD4IH706PkXmwjwDjW1cVPurYVpy9iPDWF9UTAXdUkgFQLCYkwHbgLkbRhMvOAwIOqLTD5MLmoPRBMEcI4z53SNfpyfyYp0AsngoEbP07+AuCjvSvKNvFI/GILk6uUtK8xU/xbmb0zNMIfqggL57tDcm3mxyPH5Ylo1yBQ2JswDXqalBkOOUt/24RwVamMclwWEYUmjbOmpVa1Dsztu/yTaIixOERNc6uXWLqqvgbdVXRSF2E4j+r9KMjOjpfJIhK78qxC9cG+wqzx8jx+qHJfGOl1wlB5NbNtOLxfeSoa1R1RIInzlSuo3yQO0FsQbEoTq2zfQGpjYzxrqe0vbDlwkfP+2I4Tfn8ivypbUODqo8cL/O8cKs8Np3xb+JglrtjCnMG7WVZP2l7PvzsMXC7bpaCdRGOSNlp2l3200geSjltJeNgixM5sj8/+F8dnDMOP/c+u7CDTQZaRNvzund8uJ3JxhvrLoDGsbuvSgs5XiEuYK45qwQrw6Fju7moB8rNYkvXCdqv9THLFx0bkgXK5qPi2SYdl+kVvmReErC1X7AKPpNWQBKZdBwZMzgZTDcZr3UBkdDhVcWDx5kC5/iMzcs3suP+RloNQ0VLtNElLT+pmg7qbTCNsimYlaLyvD3LqhQI6aTMV4hpaYKjs7CDYkoxX5QVr2g6sounGlEKz7ZyLa3YiRD1uazHfE1OkOlkEYsj0FftDeakBwdRyFroRFYyEpHqmlAHQVggES6okSTmIHv8nmJry5YqRJLU09LcYOMaGoUUHKAx767kncau/6nOsVwLbWSKJ0TuFzVscbDfgXeireve3KhZsSMAbBjDYDb3BkuQKkiWMuoUJhYVdcsXT7bGoOcG0dcaLUKdOxfN/p2VVprbd1/5Bi8f3cFdPuWy/9NHQUvYmYhuhyQOHbkouP3mg6haJD4BUL5cGQMafb4PEhq7Emnj0110X+jKZ/xwzvKwJwfv9drsqmalfRsWBmrqCj1oPvkAV3kt9P43u+AhGKiNr3J7BajFs/W3ycBt06IywtMSLh2CovFogfmSOFBFp43JGIuEY4mJZyVMbYmZ4uAVDoYEjIQ50laI76patncyLlC+xzKmJk9u9MK0ACMnptYffXtBWeNi5nv4F+XC+HWx0kGHexN9wRs7TsAj0tJJINSj2zktH7R2W/UrC7jV5R1aaxqttfOzQSOOvd6tEZfwCXhmfUpIc5tQrgkTvB2rrXhSmr9Os7tRLPoNTBAMCxn3GqtfT/323gfFks3SgVmjI2n4diUAuHoQHRDzEhBd59KeTz23ans9CQfvCTGw4onoS7TKUkG8b/bdSvYnZ3zDdJutw8heoEJO0WI0tkuIfJSHemHPcwjuZyOCnIXkALLEDAowmnQMXa3LS7RSwT/3+csG0bB0Sh4AQY7SG7n8XuP7/BD8nvsCcFv+TW4ywJSaVyyW3Dfiwj4s0tWLT3Joo1b4nsdTRYF+eWh9ntDCwcAHMt4vLBPmvbA3dv0q/of86pJVbpNcyKltNuwvx92iUtkxEocBOH0wDQ2717ECKit46Ut2XtcvNoapSqmukIh47mrSF8hsv8+/i9mb9V0QIcqDiYpLo9GCsJTibcyIDiEWkr+UKzA5GqNz8mEdaxVVDCCgerFqFNz5nj/gfgMRLt0ABIvd7dvAhFSuGADV88OIHrUy8BG7+bteLkbwoQdVJfBThB3l9QKbtD4iT6xRd605usaGiKBhCNSuIMrTSno0poTdgrlEx4a+0SJK1Yd391B2CLOdao4m3DRXKy99kxdxUr1KA6c7wO4OBlGrleb+cBj8v9kuRiUCplt9E1SViu3ZQjazK4tpNQRr2lnz26y9RF8yg0dBtTam6iH/K/x88HYfD0yYKThHhMxm+UTj+CQFWpQJXylh40faFNXTtUP1NXzieh0/n5iaeTMbAanTHoLlN9YrTSqd+3vbKbemLo+1d3XT7MrjvD6dyvcKD6TG6F/+H8C41X6dvaBgDVDY5vWWaY2h1kiuYD83eYMGw68+DXWg9smvQMRdUxBflxF0WVPWrCEgaihMM9p5eWgaAiXMByAlx2iuZFmV22nqhrmf/5aIMoNqr1feDdDTOH2r6G0veJR/Ff4ckIgBYEJ8IiE815pb2tyodxow/G9B4t693+D5kA8Mw5NYJoqTjw5Cj/2uX1rbbq1bVGEtj2h1EzucIJZ7Jh4BvT93ew0cqu7QFg+O7rqOVxJOLc7bRB5+yATED/HsioTJUMzBw/dHSzRvK98rdwReZXtuyUx56/SToKhvYSeSRJHuk2HoceW+BS9dZ0fkLd+RqMddETJCAbCBaZEGQCJlNh5bKMmzawrghmWeHsnT0QPpZ+D4dmLlO2vWXIzTkNAoRb19PzOAPGoOQXK+j9aM3Q7xgXkazIyAV7xgQ5NNyQxI81q7G3lCvpk/uoh5tVqPLaDzLPoe/hTXcAnPU2FVbKYcebXT/rE8KZUuSysW8K4MQcV4onl6iACPrXGqVBs4XwTDG+QOAL2HOaVAbMoKPWh2z54PS4/+kYEbbJsPvQIxBreyXA884SFr9+hhKKSiu7G0eTEMBjdoujq2vXAktBe0f4jKPfWICrYDnU0EiAcfj8OvmVSfEWadd/9DGv5uLHZ92pLfD7AClQcifXAMLJZKWZPjAf9Zynimd/JzYNbDzfu8efkUsiDX4Et/Fvjq3O4XXGnTfh6yBWO1awkmzrtSVX7R2Zb+AVIAQRqHQkGqdEu3YUQE7z4x6oYlJTKJUobzwUubF09BhS+Fldo8zfkzS+vNdqqOxaRbM1FDBCdNy0P8ZGTg6nYq3PW7ne0Q3yAFnq/zpx9aWNUjNFIVn/OiE++uJ6ZjCeFNvKspmC+S2sMhWe2VwJlbPt9t2bMuFlEOc8iYp/CF2iilk6HMb8BRHdMvVKOGhip4nSJKpzgnMwxYB2mNR9hsPrTUFLYJ87afb9EF2B5UWsCf/unUdtiopb53hOFQZC26TEcm2jELBsjAlKVhgT+jujnwfogKL/x/Je7Qj6kcUxd2F134Phlf9tpv0laNnzjHgp1mqsFTVYs+/fk94hNuEXSud0x2104YiBBTWXxp8u0diV5/1hRysoKlKOyH2kd87UiOoY+pivAD/xgx8y3UnuvuBSZUUSzyB3qSR4LWA4ez+TwpvlL6X0ds2HS6VUOQe3DjlnUuzbVmN0+Q4FRzHrsvxM27gjs8+B6Y6VW5e3dn1WkumcrOZqjeiUzDz7joSikOaR+4Gh7UUqPb5QwTUiGvF/FJ9IYNQfYnaaIJZnA+zs4WiSyAtquTdtXSDtMQ7mVEduFCi5KpdvZC5C1FDKvFn1IbwE8147LMdXG/egGlj3QzAB5EI9aaYcXKrvghJuPq3Ujjhn0+sjqxXTcbsvnhPIWtIpDLbF4l9vCA/StRneuL9hL/rmLt8uQL3XxdqfAFmckYoxjSgT+PKSuIaNN88vjbhWYXxZq1HX1NiyB7F5L7+4X8XO3qA9hHDX1kYKDU3Lj5B0TXRUiqZdLWgA870xI+Q/CwYC4IWc+a4RO+AWMwrBhGeoGbXpum2l+uFBiiU9SpyGBmAsQ5+VmuxXWRZPKfXD3HQLt4pZEWIKtoKnjl1Dx5vqaFeIY+ObLiXPn4XVN/41D36iLAb1g7MyesQ1mg31hsjWvENg7wY2Jta0S5oaLkdAaTmYzAtr2xNlCVrEnlLnAFxcMTV8yTCtKA5w3yM7NZ2zlrvrDROrbud8TAxZYxdCAbvL9KT4/3/dPST/ESm8nW89qb30A5WfyFhvYiPqXMfI7oct0aKVuwsRmGUxqwpoy7BBPKVzs1qfEa/Tl199tmHFMqis8sZLY022RDEHhhM4zphKK6vGt2NV45tMNkHynpS+WO+qObgOtEQkfauwIhuV7yXMmgf/rzYFXp1+haVMehlPN5CNXDjdkBY8pBpL0CZ6jaMxNBfDoADZJHDFq1NGSDs4Je631To8YaaBtWaI0iMFVPMIw8pq8Dw0ywzLQo7mk/aC+XZ3C+JdJjVFLBv98ZiGFL+oUxlVhXBlMIlyTLYkO8XrYqneTnS7PxfVIpMX6+U1fRTrlxb8LMWz8r+WoCVAAEa4aaWMC3CMu+lhtfzppjWfsaELtgb4YedYq5qwUaMIIgtXpLbtHl4LCF3RkRwKWRoKmy5cv33skoe7m8lw3/WFJ4f1yW0BNl9Uic7OXCWeFJB45s0lfreTW6zwgMq/Gx778N6YAh+5LVkGMu/ZmP13teOWbatIIpZMSAbZ1X+VkyCylV01u6Nl9r2VeN6+eIrE9mqEkzqgeNOmxq5TMuJg5rfV7m5w8hkY8tEw2cdSW8npQlO92iF9+aSG3N1ZnzEGM7WoLKaWGN6em/jurOR9ZJTgHkBHYInNCo4zovpkstfq/zQgYYYSPUzHjqA6HGZ0ORhQQwpzQ5JbBwBEhmT9y5qe4F7eiPaQXexWmJ19gkNcWNfMnzyTJrjR49ij6FJQ6qq3qBA3sbk5ykyzbp2KI2pBIufDEhjsB+i9q4wdH1PX/8P4UW+Q9td8kBSSoa6v91vf6k8gRNP70E0isX5LpJch1RkAzhWWdBUYYGxjAY6jY8MbPfqX2zHsiBs3ZHquUgThoEGA87zxAvRfoLlZ03tk1DERP7SH3yotPj1wqKeBMh24WD6Z4OGTbYn68XW7n6wKmUETZPMp6PgJqVZKpd1kUe7WEYbVVWDDVQYyKWdGIgYBx/n7L8ozQYvbEWhiA4C8+it69LAjOhiIR+xIXo0nohmRcGN74IS43PYeUNrl1y/q86t1EsmScbr3qrK66R6uXW1nM4uXXde3Ra9Pg/oz7pr+Ak43E6G5GKA+e4msnoH6ElFVHyuk/Hpt5CmfmtL/VoRDwNp0nLsXCCz3hjgNa1ddVov+qPP/t1wyeSDuZ9rBMHAgnHfuYgaRmHjlmpJlg36EjSddaHmfhCfG7AONTNmdmxNcDvR8+IOFAxKVoKyMZMRkcggj4/hB3XPPj2P5g3wMr4hq9BIy5aZjWfDNCG9thXfMqA36quzjSh0t1DPbUQLSTYYyJgwCe5Y6mvQOs0ce2fkz3wpqeA+CHviVHk9ttapL1JaEEnc2pqIQTJ/v90JiDLSUmLW48zQA5Frj6uINjBfY0vpxpOAMSNQfpDqtvtFWzYDtkpnZNO5ZNlFoq8zyiKE1WM/igiOxM8a5lLDXM38FEymVHuczjXmflmQFKyjoVAs2oYfahkByj20VtjdjK+MS1XnASw14LI5VRUFuJCcSRxLHJ/wbpvpiNi87k/YLJY9NFs7tOLQe6FkzCMF+blVbOS6Gl0G95tb1+aZayM3OxEnqG2cJXLtv9dVFKJmiWyZqbglibOB9YvLzdvDvh0F90h4DmNA4ZJUPn1/8GA2Xr7OkG7nu+xKZ9zzx16fsrD+C8wQFkbE6glzdPo8W3bpKTF+YQeDDwc0Mw4WSQWnr9v9UV5KHQZsq4QTi/5uUSaipHW1bJ8daMxsfrVSkXvljemXTRjQLPEUdSBjfTEa2D5RWGmsj53wMvmgiveO6C6sxuxlF8Fse5mNaTVYjVc74iAHf+/q472UpzBDo6dgSG9f4shjexlhtR8Pn0/c5HRvdZKsr6YI10Do1HsMBG4hN+B8p2fzsi3/XVmSY3+HInTejLPXHuNtABSpCmsL+MYZY9b16LECnXhsUF1Zmgx7ZvoPodKih4N1NDXbXd/xkZkA+KbZzNrSesrhC0Y/iVwKS2wJDQmcavnb1ZwlGDCEWKhQVVHcLj7QmQ0Z/XZ04KuZHjGCy099yq8wkz967Hv9QgUENI9s/dwTPFlCZP5daIEqb3XULGvvyZff3Ettm0MoLgKCSENgv29IKTVzTggSDfJswUgDvcXcdcvuU+2WDxuBvy9MKoqT5GfAfb2qZHN95HLcXQvh9sBv2gKFonxKaDn0zBcbqk2qFYbkGwnnQM2z9ZJ1od+SxccS1/RwdEuFurCYf5CroV8iNvzSjxaj78rue8MJttFditWmjNGVfrc9HXXXXCHC8jVkK4l4EgGosrrsf3AfZ9TWhjKGEnooLfwi7GA69NzJeIEjBB7YdLgQD95BogwQ+mkp1WOQpUhtmtQiKRcUK3r9VbbRzopUXb0y6I+wU1sylM6yRaMHEhtxU/RhdJX2I/wICguveedNTF2RRoiii3m89+HAcKhJ2dTGS2dTzgo5259h/B+kVeWGQEd2DkyOkO2ATtphZLl2ylDkyLM36Fw/s8TXwh9IWVSpSTY4PltEqsJU/k5A043MMvWyH8hB4P2/OXfQnxNVc+7NeIXuQ8x7MpIAMGkbjyGCvsjlbKdvp+XNLSiKPnCrLngCEJfA/3uqMi4OXqkBTFZJ/+XLHMTvzXyR4BDifc30+smTv5b++iA6tYkHuzWa2eIXW40ezIDsHDTO6hZ6D2YqcM71lMqE5Sw6TV/lUU6PFfllqQh1DKBBtPM1ccM0fmnqku9oxXfNJYaiz1K2x03ExX3XBltkrVU1wVben8GBUQ2XNwKlWoAanXKH6mS/CzG462m2Gq1RwwsJO3tUfKX66MNbp45twhpDjuLeSLO7hjycURaS9DXEVs4Xja4llAiTBuYckxhoZarDSsrWqjE7Mgbir8Xh4ZTMVVjJobJ51VUOEkov9tqtT5AKc3kQrJCZX+jzbA2wDVCgxWVOvhbPYvLgsV+mV5MHuF6n4JJrdBEIc2SKvx4qqGgt2hdDdbZF43rxl4RFs0JwQdxJ6yiB/PwGEeddaqreBU+EZkGp3jwPuWkoDDrQQazN5RtbulUjmRP+zzi8YjUG6G6++qjwArPUbC5ATjTLlpiObru4XDACgxIajGxONZjVlUZElyW6JEI9f7G+GNyqPXBCPpKe1kbmQgwhMV8WcuSJLEIoHc55Dn/8v7FEQWAh+KVscAlNPdD+OJCJsKN/Wl3ZvAwo4tUXpqNRB0gvKqKeHMrayvO97UYlAnMgVkUc/lJ4lcFjjl9I4AdqgMSsRkj/ZCvawe+g7zuP0z+xVxTfAXIcvEz+IluFviwf8V88XzW6xMsizbq3EtfHESuRVBEer7evTYqRsXhl/zV6dYvpST+scXFo3ZsUf8DoBNTSbyC4EQCVgGM+k1qSlr8l0keVt9d28bLBoxYtHWxqH1lb/DQW4oovg2vLkT3vPGatBeqI51AaS3VORgzcSuHUw8sFyGdhqyzbojtEY2fJww68HQa6zXJzp95F8mHc2VfXwHBbzR0lcg4t6xMxsLyP8MztkAN747meOjSgFBwVacSz5V8FRMnWgx1ke78q+Ag+hUW+H43QMkuUcOh/n8k867iJOeJwrji6a2yaQj9S2XRqxk61u7cVr4l+A8XaOlXt8HVAf1xCvEcB9wY6Vksv9UXkwVqJ8CUMHvieXjRUmHBPj5xtcY4cH2+E82XPqHLVZcMA9OmPyptCK7c8Xp9aYUxMHKu4+jpnTNiksMmo7/Ek3dEUgw4aR0HELl5LPNYJ+HB+v1WX83fxXn2tOex02D16oaiJ9UxCLX8N1s2G5uGJYknN3Gag8r4FnCd0s6usYD4yarAxoGDOJJUK2yPnF6emUz8Feq6WAvPeuXNQ+IoP6xQd4AwSzxM6FinnNm/dE2nruiX2pTQN/oSK5QyRDeedw5LaFihTDxyNceAhlExRWWtJKSuYG0rWE3Ug4GeSJkZ4rcyetiuPJLf9eKr+HWWGI1YV35Zu6B0133GM2y5qJ3/laTTN7ox/ShYVmTSl6j8HpIm8nF8hnEfnsdtn7uJt0D+B6F7V31/83lTPUPjB+KcAHWZzOmxGnZ0IjGeXQvKprTGNjwtnuEOE8wSly5WRocYVL/in20zz64zrcFjSbIcCqrXy2oMQ+fE6n3R2GSx6GGW1kvRTYqGOzVOGKiBtnZN/hqjgTvL2JJHZqojyZNWdo8cdpMriFb4LSRX/v07x+MdLVoQBOCHORvgQWtShb12satbzQ/mLEwrjRMMIzp3DR1yMsiJGAr9Yh31badEILVQtUxbgf1LF+IcTLWzZL3GpVk7ZfY3irACmdiAAA07ta4ZvUofj9qGE+Q54NNFOp/vVErGSBI5dIQuRdXtg51qxTuXuKWrRLCumfUfHgbug4T225qwCqU6ni6BDaazpqThtTjVNnuPYaQDmtW6+rZRrdH+ZH2wqbGD89FYeso+UOtahpt9jOXB4x7GCHwa9KBKMEHwLbv1Hnwn/CkIMSNOc1tfQYlYvHJXh3XatjaFMlFQFovE63FZW9D2G6x+jHbfDLHgl0BBg9oNMaHGr/T91JM0gJjfTC/c/xMiw1TELYNdXITw5d/qx6lTXp+OcB4Sh3foEF59rYbHZEs13FV3xIlA4jfFjnm2t5WSw2KBJA0FgSDm4TC/3dmKOe+KzS/nQ1CL4UB2TPzdC1dt45YnPu/h5hX1qEq7S2Lu5eZVIHqWMxRQJ9XWED9dF68oQOEQTG7X75SYAnRmImrx8grQD4QX0VKQpnifUcCUTitDNLW3x0MIAiY1h30G79w7wFyVKLPwxq842rXIn/mjv+kxIQZ0zwJ/2GkII2kJO95XQm4QCYoYqK4kVompBH32GwZ7P87TULtu6C4BMHHwfXutGkhYXlStu9JCddPhbZ2pdsVg30oIX8Osc64mq7i8Lpd12YAwAjWtDTzF76Dsq3BH35PhqusGt2SPoJVMUEXV4+8b16W7ach/zNqFP9nWAfHVFrSv7YRHtYI7SySR0cWnSSzLszd9qSG2tPPdyHrZScLH9+JkqYf9ah++PfDdrk+MvsaWauz32JNErzhwGhnrzWCsIrX97dEfq/Il/xm9or3VbuZnhPftaaWoLJBumigYMboRxtFQZzWf0eadbcb3BvT0yzAITdeUuFaKG1P5QHs1MJbDjRvLs0+om3Y6lYLI9J5/qCLahpVBpzZQZfsfdh0hpYaJT5fCADAAqMH9aYNWKFPSsN0342Bhxf4lmt5NxsWys3Q+xbPK3jwqH8sYhxfEHp4QEYQ5tMwD038QNQrXA6dz/0o9MC+vNTyaqHCq04b8FZmByMdEOloIqS73giyHNPQ32yOCfLQ+B8GF6C1EhxDq/yTerZdz7im7WWav4KagcIypYv71XWpTSZ7Kq8XKwcCfa8NNJjPSguVPbwd5DJfglf2WI5nudasG24lPBP1Luc7dGVVamyl7FGBBRfCMwchC3SnUFGp5/SQT8uBuLjX2tMVNbA+Hf+ZhARyy/tSHRik2OsyPADN+LU8jVg1ZCUg6/qbF59/26+APpmEEGuMBcRMU+rrhDZmkV1WjUjbfcVDvjjxneBZ2Q16sJJsahkH1YQbqkgN02hljOoPMlfmNF/P92IzWLSaXKP7hxfHU92JC34vkbTYNfWQG3gjoHpqe5OeiJyFFFQNgH7YaVuuJZUvzB/XJ1XymiKun9bFQEBU9Ae3sdO15R1djaHaRWCIj7JVznpYaMu5DjdpDyU7hXoQW6k5yfz+/HiYnRBzUNlslwdQ9iAXe8DKGVqDM8iG97rlYFguChMdvza4sbZbWz3RF8qmb7RpFnFc57eQZRO7VW1+k8yrUsJyn1zc9p/wOddk9rbu/cEAFGoPKFS+8rHPoQv9QdrxuxBEKCCUGvnedmXXLylFpiWL8KdryrA5Zz7tiPEhcYBEw70Cca36iubeSRSDxMZ8BxGM60pIguryrTebErgYFBncklftg+iyh7Yv4NaniW37TuoDNAhWw/qAOKgiXFJ5gHWVefK4xTZo0ozZ/RcUNrjVHzn6HVyO9laH9qWcBqT1e8EQJxIb5ovF+VlgqvoQ/fnYMPz48Pgatl0EYY7FkRQvfyNEHLGoi7arAzFJ6BUZTFcEpMfI+6EhlZz/ajsjriW46ONdx6t15hR9h2idMNQe18tEXxUznmb7YT9+NxjXGKFg0ynJ4CPzwNj+n17uevKwcj7ktOUzg2aux8paQ4OnHdCNOy+XoETIXvcPAvQFK5pJsxg7Zi5Svd8fqWMZEFP7eLHnwxAu2bRMQuVOj52xjnVUIv4auznLF/AK6Ar3VvVd3FI2lQunCl0zSXQxHb+Smh6Ne3+ZKhVs3yma+Io3zbcelvCN+C4I7vOFsCxuMmXfinyDw+PI4+6TBJUJ75Hkfm4TLfESff9sGkDOJ44B8XutbCqlsuB7pyZQpmiDY81RxxMAelZBryn2CKL6VVievXoxNNE3NREMoqA+q/XfwY/zMWCuNNHupUxs5PtB9K/zyQVkYwV4dEGEAf8C5FXp9VW2eWD508iSxifxMpAGPHd5iayf99I1WSCpqyuutkkoDhYtV7sU4HoHdazNpwTHT4p9oljJo0oml+YVQopktl5CfyQGyr6p6bZRKF8/wJH/qS4xjfLvT3oG0teYkEOYHG3x1E6kKDBCnExEFxxlKyq2WytJpRPdr9U/pY3v4uj5zjWfGVU5oMXdZ6B/O6uwSSzL24jgUD0WxZnytgcJ/81mGFi64rj6NSn0owIXfpl/wIVsHGBf+Ah8QXY/0F08ZH1xrnH5cvr7LhG8ggbK/Go3PGVB6PrP0KiYewUEnkvs4GyNTiO6oF5ZTw6BDNAGHdxCLLplHKkCoDlGDNEdJqeCK1XwIebHW/qD4dOPJHRX4vpWxoqFbBy3rFRvgKzGFteeHBoZ5l56u/43rxs/KN5NIzTK1xrNqnkj3Vfd+QPXYji4klFnm/zLAYN5+jZButrtFPqNDEQd0kaLm+a4cKmTWxqgBHI3Ti7TDD9U4cWRZGdcP2BCt/7v7n0AtnfrL+MPwNJZEcC/NISzwas0qDds3IVWg6MaABSVJcjImSOX47WEbpwiLpoDCZpP3LnpEh6t3pcPasZvwtD4UZogrK+E50oyjHPO13y+1OZflrfY38msk6uTa0/dH7ZjnF+Gq2q2qoQVl1kkFOJVNgCNnY2uxAhSUS5DPzArCnhyVoExDtuOzMya3lYXeAjPGxQAO4uiYyFGPlhMGVFHx1e/gd5UUgy2w+ghjDaqPFcTRSploZY0hOOE7WYYjcUXVuQZPyn+zdsUDF4p6E7Jwx8dHMotBtn2TMyKT9WxtgrCIxCWK1eKI9cJ21FRgTR/AF8+mJ4jvp71Xe4nSWT4fEx6maxkwKHBgnRbnrRvTTSwHfp2plfFyCDAFnukhgWVGujBHL5iDqSnE4KxEtyyo3Z2xONkko5wJsWeF1daGXRneYjKxoS7oAAWUBbtlHjr0JvQnK7kQC0mwO8OzjlpXP271gQ3m6W0GOpFBh3jk1GTJ1Dbu/qu2j9aIN62qapitJCyVrP+lXUiRr6iM9IDwAVstofdPLvNt4Q9TKHIJ7tnar3L/nM1Ekv4WmlwVtbjwC3dFqMxAqFe32dpQbNz/v9pz19zwoTgmRswQKntdHTOYAOLFUY9kHzu7IMgLlLPipRIZVc0cOn6nLXMJ99spm/0WwFDN3RArtQKmFEHS+36klLpZj2QEJUP1MEtvVSx1dM8UcsURpo43B+iRLkpyHE3GpQiNwERgYqgg7b1VW5Ev5KRoF4vgp342wClKg7y8YlrNqGFm7VYgc5SgrQgrKR0BZgYjG1a0cQRPs6I0YoIsAsUlDZKpUGvQJDCos5NpT5PfyQ+dd3/VdGcVnPyheh/Vl7KhLalG3i5szd4VxmxEcq8WXOYWompWUr7Rbk2bYQiKYcrEacetBi71otzklIz1ovnydbtumEhGOPJItOIT+ANpxhR2Qc/nCtD+a82h5pgHWnRIr5Vtzs/LAUFOKVLSt2keSw96o+zsiLT7fkZT0Dfe7nsm+KGxtpWQ5CbV12Tua2dFuT1speyllo57YPVaViVZAgcCtRmKJik1Cs2QRTcp3m6wQBY2COmDniTjlTC35auFeyQ1KA0dnzj9nesf/6+5ks0CqyVmEOgHDRXL7wRUzyIVPxs3N4dJkMbNUO5UV0bFUER19yP7BKxyEtrP6VDXlEe7gn/HG/+A9SOegvTYCTD1IgrEUc1XFehCk0JWzlSLxyVM3ydZM6yleMry8/qeX9iyrjg+PgNorunIyO3J0aetAWYy0IRkU9/G58Oyo0ybPb3QuC7lNblvtiGgGNT1vTm9O4p8D+2smYTiC302eOqFLK9Hlg11QMwH1HEDoyifG/qZ3RKAEKK4XMfxDipnAtSOLzsXwybVHPb/CgpTwz2xrL/SRfYF0wHUUUJcyRgEUy2QqqHjRpBOB2Pkvtj8lg1KUMjtrbtSDm+vzNrEb8q6ndwudhYdhD19AEaGSH7TbKQejgikSqwuTcrYXM/Wd8mlgYUqbRPRwBkxVC8oZcvazqIQ6QXfr9mynzNINXtQwO5IknmtKkBzb7AL4De/YBZf8YVl5D9YaPl4WYVcvaCcIXns3ncyyptf7ukMorBoqJ4610DRqJM+V413JFHHCE+uIBA3SYeAiLEVHdT6+lPnNWgZwh04CQucvhlEyxbrD6YwJTsAzASNVqDdLCcy82m/S+9CH4n3Kwsxxa671GpyJ56PkETiDcLrJf+pqoBKljSi3p2Bq22Z4ZOkj0nPjXwJFQwKAEOjm47/SuW5xSnh7IQFhh/P690XEOOT38xrSUFmRwma/AeRtXZo2VFT9GJIiTMmtdY2nSZMLG9h+nXLCy/VrXPnejGPwle+dI2hWmnUv5QQK5JR1PkQQf91sDJh/ay5eJRyXqBmIQneXzHulFYwOqaOzJBkKBM+aj8zF5NzA6xHbAfzW7B1KeW1nJPduQQ8XV6DRMmQ3J46XqcggLYwzEVm7mWFiBtQ5nVvwxh9sV60o+O8rJpVd10jXFdW0KVYNPXzCa11fxjVXGeC+0GnDlOQuRt8NpWTXG1/K5D+VLIIiZiy9NpwbyeGjEfFA0OWUub4uRyoeylrEg2b9qOFipHfFmHVPZ/g+W817bgTd7+mubIDZiQepTb+fgT8stUxh8pl1Nf7eHKHp6udPpiDLX97JoALb7IbyFnZA1QttEPgoYTWV3kztrRPyYTkJjDJAZIbs0SgH8jP7xcXk+1BMr79aQQazEozxN/5BVSoo7cJUo6WmMKodmCP6dOI6cY/LiJqmsMdQD86/A6XjwPpsNd86koTiZTBb+zDKeb47HgNlAPZlVcRX4MA+0G8wyd+afnFkAqmyCtZg+5el0QgNoCCS278/SY2KS45XqGgm57Axv0vjI/FDhoioAeA9z0ZQ5fCZd4wSzyrbIUD2B2K080Z1peVEJqBwBb7Xu185EhKcHm9RjJehj9jkFf0l7Y2YULJ9XRK3BkcNpEZLCtFb/TolT1b8HyyC4GI1YEv4jH8/4YazA6+sm/m5h8/IuK79BDil1Pl4GnCdry5xomCq4BQqxj8TeVLpY/4dnO8wFad/V2Eph5oh+ERP4nfmWNnHhKl0mNJLAPSuf6+0dOgxznNjpMKNn8AeDLu/g7RH3oLqhLQejM5RX296QSMXBeCVeVyEqTsgmQCIFWpu3nr9TxpzSQIGR0pxN6msuQ6FVs7iGfVrS7d/9EvZI1c4z2JYPShLNs0/nczgTmgaLLtv3/8MeN1zOuqIa4vSGpUqf1DSWQh1KkUSdPmC0Dqz8oD5j8fVQvzRBMJ8K19kHmTtf+K+yBDFliZe76WyPGLTonUGKwnylrzM2QQLq5/0UZ7l39ImzmZjl9xHqp0DHekD6yShg/DHU42Z+yQ5vx83yrNvjI9ggvEPEUtTHl9e6fEZrwoHQp4nm+3DLBiM1KzooLlB7MMiMG2HLMk/aXja7UL0XYc+OCUdu9v8m13iiuOLP6xVf2MP3Agn4kjO+mPYNLlKBIZj4/U9ZgDa+SDj+0qhC/SnGJrsdSJWUDpAmJWXLlauYPbLGyrmWui6zylTphqySZEu0EQ1OVm4nrL9++VkaOD9DHlm+KnKfczjIvauHaJhTzJVtMN5wzlLJBEJ6RMuIdISy6TedQEje8wJNIIsW04NuWHh9mAACSOqhOduJxVrrx3MSBr6GheZULb/H6woYLsCL8IrDBT1py+qsyQrlgkNeK6iWWWJbi+nF2obxFA9zsBEwq0tJW2yOH9WG/0M/lURd+5/65uSe/qQYJc9lJ2nZXc2pCrE+/+p11GHe7QENcPp2Eh78gf37WrCvTlHjVHjaRNlDpQOyIT1k/zzdvMLbBAZlTv/he8omsObgpvWX1BYYmkDpcEtYZQpspX3kX00UAmwNj6EqIUYg0FtRZM9N7jbxle1OycIbmWoh7zRGaOPYapr6y5tY1xDCxdGg3NdIS7AYe+QdpSb/JUdk9kuRy6p3KTw9Bh+a9n5a69S3lCZWng7vHOH9eBpQck1+/2woCnqzUaMB//kIfIgSN2/1ftk/pv3WF8Eit7Ubk9IxZgsko1OR5n3zH9TS4r/2IgfSfo79Iz9JqzRcQsPaJ3nbO0RYmS21IbdXqmFyxiy0H9lqmBl2s5Zps3FMcjHFrxUhrt0ym4FBtCRxJNrDkLz5nYLfvXdG79N4JIUKYdSCK8Sm3xzPfkau3IDGrAi08TRroDzlRSeOa2kWih4KXdEiFCQmBLfwjSyAb/6AqvoU8ObSm/xU1SfAVLWlgLXq13ybBbsX1/6taBBbBXRvOvxa1Tvede6z3kA635uxG9R3uli1o7iMMVG3oZXYlKj4BOBib5zoH8UrRPr2ma9AZ6Usi4VLfNHZ7pZuqARZ0z0aMjtoTq5n9rwm/UdldtVBp38qo71afHK+Hx59fI6KmywIXxxGvLI4WITQnW8FCWrCzJseoQdHvOt9nlfzpDdXe08RO8ooyPUctG5llpJTUfDudgxS3tPu05Y33KzjMHVG3SgC069Ni53z9z5RuYDn0+kADspo6/HoKxx5Qm5zyK3Skh7l8pxVPsRTz2vvpKnHQIguExKgW2SoGWXcGSkOy9iMPBTjN5PsHczsJUhauoUVQ9uH9s5f9x2fwbHu5JNaE1OnvImFBeYGb9qjl+VDeeLURltz1NoZ4Xtm7NYHYgh1PLMilMtDnKceQ0xy0JY5yox5Gl2ScdWHJ2SvWrIUGBW4m2HgpLwXQJMDPRGwtKN9AXdpq+9ZvYdpnXJfHQQjo4AJ3LtDZaWOYuUZ8xFh0cQHqnUoIQfmmUhjjEp5Nvzxk3cSOulcym4D90Aw+nTE2AuhAlKGh18FSjQQjChHqkKwCQHdeAMNObwCjXCJU4M2ANa3xCIDIFMPvvmv8/2NBFDD8CRH7Kub+ij+XD7Fde3xzJxvBFZlJuId8OUGXiNoczZEsCJrIrdbwLj2Ed9ISxWPM8hvJVx8GPmhHRF0m8DmZ9tiU6sP67XPK+mgjxq8tjA08DoqfIoaZjKwir7rNMJ51gXjjIiFGXI+2wh4c5POdZnfV2GqTR7WGUIa8r3SZKB5M1ygy7g0wJXHCR3xTEecvLOPFJAOlzAdDSf1SJEMiIrmEUNRJ4czNuZTf8Mhr6nCeHWvBvMJSsdRly3DjQ9CK2zbqKU6u8GeOSZASWAI6UmS1PVsxMw6jDy5ts/Db5Fmy+mZGIpkSQEtrNVNj4WJztSBxdPwPoUedGm7uZo/N/mJnvT8xPiE5L0tRY6qC6GwqrIUIYMHz49LTCN4y8ctaiYbHHQV7hNKSZKnFOtW3P4eRO5maNUt6V/1qfFEFvPzW5VwDQjxZVmMcpimAFBp9NECE6REG/6CPMzkKWPcLx5oL3IOEjEN06G2ruayE5hSmaVo3iM2ZvW5dTIHWDwWr/rOWMagWligJTSYa0gKlvLzQ88+kcBPXkU7EoohElp3iXW7QXLjNQ883080WyjGS8Kgz4rQnXm2woeJQ5duR1dvls9rV5TKpTnjrOuljbq/lDhvObsMvfmTNJQ+BF780DvDI4emj1ppA2YLVyiZhHRBcM6UulAqdyuCopmDV7SMY97j7jD86uP88FUklSUE1V7fB42r7w3StuFTdkOnGzevOlJplrFgxSpXuzxREz2B5ClwkSujWaf15UKcT+rZmSHRKm+nl4sOi5xBoT3EAoE7xZl0msfDcAZL4ZY/g0HHFQQsm5Ogs+J/j4sWjFj8YI/tHziLgzvPF8P8FHZF88ZhTiHqzrWPgYxpcMKsNM/chob5UDlr2jXkf/vPYjySZLrnsGLquUuxWE/8S5CHiUfvQK7SHqAn4w7HY5D7oWn2WC7pCHYPjT08FJWWEYhd4UmZHY3m2ucjxMAS/phCj20jP6Tu7CmYBcayS6WtGSKdzjAqPpv5HcLaJsoA16Kl7dGCQrBUiDa94utF/awemcDRlcYTe85qqrOf5Dd5eIPM6ovMYgxAsHYF8Yn4aVsw2lS54qKhkNCLnuCRaol+Kajwu1cA65lMLAsaFEYfxwncYDS0Ys9cME84fyr9O01V9eS63e8e3qN1eY6dQ1AgS/4Msj9fICXA3uR6AYzPNTkqxJO1f0eQ+1AQ55gH0D9xaaqQMRAVXUmP35z1yjBn7QK9Swb9sMW+Q/FOFFn+6Vjn633IFQCC0cyhe4Vo8JMUm9ggYSTaX86uSLH2PUhkH/Ep4DoemZRDL0AQWupDUIGF3ZsqaivPyRdZEMl2CstlYHZPxz1Fsu6X2I2z4wW6s2vq4KG7Cy155bf8xmrQ1AzhyXbJTb3k6l1sJP425Afl2BtHfB9r57AxxkKzcGDWyvVUXZho1WIYLFEzherobRq+ihLF+PSzwvP8rm4XeV4Q1i7v9MaXLm0spSd17oJGFCqdbKFuYB740TjwADaUdtrxLICF9YuCCcYEaIBwf5KuuEAqswQK69Lqqn/JG7dVOLSZSMU1VsJqy9iVqRiZbXIN034ZlbTXnntdqMX3TsUJ93OcPJIrTWuHdLoJG0OeZ61NHzyNW5QNTrNIBm4Ce8F+CKjR5rU6JqbGCWgkEbuU7ZhakDqvvv0jW2eI/rJ5Z7ziVuunVT7fe2JU5YVEbYVU3RQ8FV62UFethiSLA+Zxs4syuSHRUwPndG7/ZplV3WQnR9JvfgPNKtXH4XTfITaQhbsD/f8NpseHcO0cFAe3/N1651G78Gw2sWnzq05rOL9w844rxNU/iEMhN46Yuywv0prc37m3u7M8WnQxoLeGWfF+F7FWVIxS6d8jCrbVZkl8ZAtsh+8LeSeQiRn7OD8sWbTFWZoShCoLSHMNOE5P0XSAeR32HKGD3lFesRjb6hzAWYQk8Opt63x0P5iQ4Q98jesZSKxe7xKU/SrmQQ0tYEIBMQLmxfx0qyOoBDkAftATpCwUKeSf3A0dSIfj1fphSuMPZl0pnojeRg3VVJGQ16dLn0LprQDCM+vs7/hUuqf9vkLtx/sEwI0w7hDhY9H1zhghAod4yyBkPAQ4amzd304YsalRNXH12+GO7jzw96HWdTzXoC5pwfjrKhdn+jpetHkHGn8+QfK8ZhP6mkAxR33cJhZrQMtDBQKPZu45xYCNfdpljMEk1XivQsJhktFF9FEBp1fQ37sffVq2ARKmLx58DLt3ztFN6vz6jJVuwTCdOcChLP+nRk6Z9qzqf658PjWG5alQ76qKGbqi2TlWF2E8hEE50bhkGV62tDBWcFkhuXpPXJLgSN+MNGT1HXj/9zLa6PAZS8clqvDIb6i0vVqL/RWsMC1VdV2gA6wsMMN+gJymK3E4iVcRUvaDeg+WeMsyFuI1nvA8RuYMDdLD1JNzY5180hL7cNPzi/oKkyGngguYm3oOlP7l5NotbBwjjHI2936b/NocYWHPOaCata32UKCFx1wy7XEXMJ2Okjo9ih+kZ3FN4InypSHteuSVN37aiNXbWVxGyXfIqHd4DGSNeNKZ88EZ+sR9oLxa2WVeQl28jne6R/pxbrgVoDPgjGOv7ARALUpWiPNVO1jq07YwKgm/pQk2A+Mye9Wm6vcV9PSGIvzgNZrm5omkVaGOG3nxpiL8UASrynGN4PxdBfLyKTU0fPxKCy45QsIUoP+9z0QjYkFgd3DmX64AIPPMQOaC2wR4dg9NVH4CHqDosTmMRFacLGEqfVR1rvOjCrtTkLJ0P7ZHdItPFU07kJxXF6kC/glYdDsy0TUwbAorMSlaw7VI/61MDtsUgnIKGMZJHYjlpUtDmiDlhTAdym/2uRjVUY8rSTRiDEXIPfjnHfnTA0vG1qJObf4ANTnah8WprLw6PbbicbZN7gQhyp60uC93z6iEIoSwIZUGYSUzMD7pyrdpIdCozMOI4Q8izo15iEcixDS1CGT/C+U1N8ZM+j5wvDGYFZfQkXLElZfvVwAMNosLUejW2ZFyI9ZMHyhZNHgl79c6DfAV6mrhopGYSkZ4WDq9nh29mjfaucdBZlVChWq8247fAoqwZbgCLrxFEyfMSZYBKXDHJuKj6ZCmDmiOX1vc61VzdZ/MWRlMKfb89TuerQ/OsMGouz8noeeP6i07ZBLPwEMLGgnKeSxV5VqPN+z0Fs4oJc3uNpRG/S4rdpDCZnUU6NekiFZ5/uy4TeB8teCagAGfrixXPIp51k/hts0c2URKrMBotS8le568IgWOC5cJO0vd6hI244nphYHmtFmiGHnSfyhRdXXc5MnrF7tuODzOB4I5AQlaCnYtEGFLKvs8RxJmekkLHqqiSQ56AZTHPAztF9SPyBNQYbjjxKKaMWoy0RLS2rEvLXPwtIZey0pRro+ozmW2/0JA1v/Dcw2Z/spz1Cds6I9mNs9YsRwhRle8PA1nadaNKK8ul8QVCv3P4xZIuLYnyoI+HNPvcOJPjRdTjGHwhqqLIv6eD6tQcYdU7M6fF1E5SaCDj89MDH+jG/gX+LvN6mABzLlXYC9HJ6g/OxXv/ESd4NEyRDcNx4ezEhY+v7iOyV9v7SBobvZCHBWnZsjYRSHcCdgVdmCroyzO+vLbPEI8NG+xAsLRc8pv87DLncrI+jHKybdRymsymFPqBN00dQ9bnLyuhRJDiZbnw2qhcCw7GHb1qdafDo9UojxQF/oKQIN+K9epQ+OxCb3k+OhvsmsUdggp1tJAD5QowO3DtNkYoEpKc6PIh5jXJvkTgCAOPLnfBgMUGPKI/4NObiOc6b8/VoSHmA72yxWSw176zc65QuuzEaW4ei26pq0gYPP/WfdQ0YzOT1KttsjkXA9B3L0Q0TfTsOJ/i73Snat5useVTylNwgexABraLTGrIB8pnXSBOX8RBRs+gpkN3Il5nKvTbiKIHHFN30E/VthmeRSbLZ2DgvCNsLYfI6Kbdnl6uLLQG9pFIFq6qlogB0gLwqWis17uIClJbw9N/mJq3OaA8wYRWhOX53/b8dgl3hs4nfAaj9QOI3EGV0ww8CYpQaUt3JzJUNkHo4eodlTxei+DV/qlKVhiLWET6flpGGuYwwfVaKswF/fO86GDTNviGqA7UoiGcN1kgy4QnTq/Y5mmDsM+qVtEve8n/t3crbw9cgmYdffkGYV2jXodAOkIwFCL0tXX+Ov5O7sxFAlscXNGPXYCfIzd0YT1H0+pH+s66i3gSNwVKnvDFSj+yENv/kFVl0NGIqjnwtAC7kaIvsJIdaViWNWiy1f5T3UbUbC20xXagMLxePQ6GdFTmB3h/SVhAcB9fadaKr9kHVPrdkWsoQqCUAQ0fb0fnTMSF0Ui0ofznHYDNaZznbyIDr9LFdkCxakhJCcB2PbtYsUv8mInOCZSQ5rw5rdOEwrSAxpYvicOhVBhVUoUuz+YS+z7Jz3/+/Cyl+fbLMPl5RiPq40IfTNaDdQFLT4Eq1Lrfq2QGDZ2BLFgeSZsbFjTp/1OweHsS05mA/el+aljFxfnWTAwNAgrxOBkmJw5tMO9/XHpI8NdwddCW6YvdxMllkDJyID7V9dtWaiZOBt4niiyTWAX8bD8O2TUmt0xRXL5io277HBQolvaISWjQC1juDTt+3iQ6pnJqP9U5yH/apdo860R+4yRpBF5Z0qNtYsQavaGbo8FfXSktrCh+mjhjjUJbumoK4q9WzwnonV8dQ4M1YYaY4dPjajBbqlkWSOgBYN1+b10ZuQx0wQLxT9Gi6/g5Wvw4fb2N+AJplmy6itPFsM7vqIAQfGG0V+YK78WFBU38lC8qMUxKrWaA5RTWis/iDYs1z+X1ZG2CkR4mjiEhzFhr97f9F0/Zor3tPfa2QDs9hBA+Hi20DxFmmhoO7jEN7f1xObpBLnzVFDZTwIBwv0Qphftf9trn2xurWQVt6kgh2/CBtmupyoNXyF4y7J4s45cnzw6Dkxvs3FQW5f7nVLG2UAx2cewnYgW2z2rmeOiE7+8SDGLsxGRAtrw0BUJ26P6NUWZFY75LnSRrZ0hd8N0y1MtAVzPnPeV2PLW0Sd9H2ITWfkea4GwEKcdEEORTukAs9F0pntDSzi79uyBJr03ATh7wcx8r8bbrBVsvVvTdM4d1oLgyUTA8vc6pKS3SUj9ir8kCPJj83a1v1NHjrRHTHuTsZvMIqdTNc3YKWZBUrP9w6qGLOEz8kGzYYqXts8JFCA2EPoqugjngRZp6vH5FuCxTUcKSP30N5q2H308IvdaiELTl9zjT/RgRh4hnkYFE2Xicz4FJTdojK8VXdty6DMhMxbdZv8v3ClJVeDqQ4K+3+L/KUnfncXo6F/wGfClfasq9Zy7ahdeQtDuP8O8fFIEMu92tH5qJI55QaPxZq9eKoAgb7SCJXrhhUJt7lV0KoQshYs2AM2dwZ+vjiUby2UI0HsSZS6qg0eYZHdeBalXzb08/RU1TqtB1FHIGmy57h5c99ycNSA9Z/Xk5uOZXjk9SFXbPWeiBMUIM/gxJeFzbCsUEzcL7EFvfxfwLnmkHPu/A5VxgwanPLGEltSsicJjWr4je/jmfDWCQDXf2h6L7MTOnt5WgodLto55hSD9UmYkkaRzRQLwvfiugG58qkuMjb+SHuC5qHzu8oubUbze06oKD2ExLg59qg0SUsk+ed5P07PWAGU78Y/CGCe/ZKZQappnDZvFTaoNitO6HPLKSh2ChpmAGOCkJeNbi0ljhZVqqv8IExX6b4RPUrVXuAmnQPfV1eMjI51ZZ6hvmorsA4X70r2AZpPzpvsfwUceXPXBXMzgheCsJSy48xA2dNL3VDY6rKQ0cvFtNbZIR1Ii1ARSAwZzH0dHWjADrQMQqXINLDmDfL5pEBts4TwcjBEauaJzmJMDSQUyjX2lC14jS1nkUnIgSJP2BwNZdjjqRdZM4msBd0eJatePn1c8mncd38HXnKJDUNz2NgtoPbfAVN4pukLo6HbKOIJK1CkbkkbKJcAxgF7SE/aeW0wkau9Odm2A8l3NgDVVE2EMTx2J0y2LoYuNPzHyuCBxY9ifp7J/bK90ssr49Zi+82WdfL5y4fWwNIopPoOA7mzSnzIfZKCE9BMybdFXgHqh0Uja4NyssW90tr/YSrBvei7jM4bGaiW4LT8JUqgRGNwCD60/rOab2cdHxEp6QlmXjd8J37kJ/b//00g0+XvbLCxGTpenIIvIQigXKjHkCAksCAwgxoSwHwX8ErUpR2Qj2M4L6mY6wEH33dkp/V+XU77LzfAGj7p0cbyXnRRxYQvtaxokei2OTdc/Zxvw5AOl9+kIm4ItPC4ECmQIIGGusgj0TaKPxUCHzMPCMPBCA4zxHgZQHxKHCdQhCDYsp0az+o8lA1rsWNZKWIhVLBvbXqCuGPUiScmpRM116sYUM2CEccAo0L7GkcTcdJ+eaX+23uB4ukg5FdjZcxUONwd9lpje2ps+irU8m9T5N9iSj7HUF67tJVZZQoNufNj36L/BpPYDMPFC9sn4Qb3tHqcLWp5rehdk2IcSmU85Q2kNF5LrINBovkri89p8/jYl5GtxC0UqXJJE/8ORihhwM9SzpHE4MnLhNdqFBiYCs68yHScvGZw3akznfJdSyKig5DOqf6OvizMuXlm6/YNAbYBmzGLECJ5sCbzcwsPh1RKTWmqW2MNd++FsRc1zKFE6caSt3u0ZGnFXnNFBCFn9xV1cOVUx2QLjkU323e6nyrBiJJPSOsnuKD20Ob+FTPM4gxrwq5BRmhNAy/n6PLgvsR5tdftGSnCNvSXAca75D3l0T3Gi3rEAQO4qvUws828xrU7iDMSJzFDX1d4O/9ACGvyed6DLujpbXPdoi+yoigsx2eqXWQgGkTv+7NR8wkuqKXbyJHXFs/bMdFolTNPrfuxXoba9CKYoT5ylH4I6S+mBa6VExY6y06kHqZGpRWVTn5CjjT+pFBXF5Q1TupSd+MMqrqFdTdSrIyGN9xaHKaiivT8u6rAO8v3wopwOd5mPdB+zOBpuGkLVQdr/wackqH1q0GnjBANAHhtjGjrC/xjZl+di4KRDL+6uURegcXXIPbv8k9GXPImTINYzEJ1PAG2wG/sFh7kjuepcfHwcD1toBtfLyNh4V6VcyXUGHvwguxXLmxQ8qATOj5/2Uyn7ibSJYvt9n6/lXcytwxP/elaTROYunQd9+ovW6x4Z0k+KVtNjg55vQB2RslAtxBYWnX5mSEHAAes9S9d/5SaiMpuyGu3u4jlyI4AEA3yZsx7/j/SYREgtJ0tI8mCIaNSrGB1OnYZrXtArGhQZK9B318uu6lBTj6lvpkrLuQAR4HVJOz7j2IBBAXFTHC/eAUhWQE922L0hZH5Iq6gaEyVOH+fKq9jFAl2hs/7nC9H7s9SPEYcmUA95QwfXXAlZZQ/oi1beW0Eq3SXD+QxAC63rKQx4ZmJeFZBXHRbMUpsz+wa7bUpnYj/8xwbkAF7w9Gwmg/yXy+3fpYcsLZ7OYXIZ8kdHy1qcCxqWFSfqbnnukNJSm7+etUaNGEpo4Mp7paIuSKaajrt+L8DYXd08utmKbHE3Q8u9Spx4bdmzat+t7y7+wr+IZ39fR0y9xEIcsoMf3lyboubta1DrQKP96NoW0bQFHL7NOHlbAyxlbDUltS7ifUnrlD1R/cJ6tZGhJ+nth4LPKIKqfNGeWq/3ma24ExK28KkFr5oegr1H88MrfBXaZG6zzkqhuDzoanP/GHz29TExHezT955QNLmWlq3m3Ml3Oc8saW47Qjfk6f5c8oQ1zwekcyZiV6zYltm7rWbwOw0sV3dZbAQM3MYH/usL1uVVGUKY9MaUU8Sy8Hqy8EkEXeUGEf7Qks9XAII66UHRFUOL7+2TFdHZk553eAXPcXiuvgxNcY2q8DEOlXPR3koa+dF9kbBF0SZ7itvh22Om4crgJEQHRqvfUgdSIa1HdwWrpngruKmWhwjOJolchk/A/5QDNcKjFmoADkVF3zIItptXjJWXpG54FmR6/s+D6udGhyal5Jkawl4HYpRRiAnASa7QE5gdvPsO5cqruxUwAo5eEs689EPu304HP+fTpX6m9KzPwil8Yn3C2wJJCF0lwG9vsi6yN915taJNZ1uzHkTjpqIUeDA998fsirnkMw5BEwVjoiNzE2s0l39V+AUlDX8jkz4Q4isPadAUaKs2tWotmFniTACtRFd5RfcPyF2B/Ee6onIMHRIeRBrMJTSmidrGu7mQawdMjnRwue+HyFoSAOg3VXMSjTdteIsZj5VJZuhev8cPAdsRaZ8CXkaB/4cnyyoFdySmKFKHd4XW88799rFNW02Ne7vundh3/NfZW3ab8fNE6pJ4lYIrbOw6dJ4S/Lb0nkGezQXwggg6fvBjtYvgU/XPxfShUgKSTmtDar2/Lg2pxqaTrMzPR419joIjdSiKkBV3Lwgg9aMvMzu3BvtfN1pkMr1OZK9pt6cFB0EamKiGsdv12bEsg9gN2TaAArnZsGzpcWVYg0KPzX0wQzODFiayCNLVtXY0RFPE16nDpP9O+DIhlKbZzF6kGWkmsRzDss83FKRKZ/WisnaGHxU4VN6yXi/NZuwkVSl/t3NCzwCJN/EayhSQFPOmnP1yTgYLkkZ82MNvopVRoZZoHZ2ohIPyEnX6Ssy72a5WM1r9Vn+RJCufMsR+AGd9bo3MkO6IZd8TAkOkd6NXDIs/uJF3Rn1JoRXdSbBrP/Nt+GvobkFeHz4Jm3XvdVt2gYyi5fWrl14Dr9jj3GvLlCcPpBqlL9TCcUCzX18dqBZC8oNbbXDwB8tHLiuQW/cpjkdtnSD5cCUIFYkG6W9I/JCfsXejEpS/cFFviCPkxxurBZjlP1cYqIZyFPSTLsbcMCG0cGrZEQZiw8HjAeJhN8ZGehcMbHZniA3Lli9J4G9eslXduNxXdPSVMGi+Qvo0wlcsPxB/sTAIN5+qWfh3PEqfI2NsrbRIVgmowSbV1zDCNWLCGqjgSZj5gtoDUXCv9FzPue1ZhcFc7t5xWs1DX5r2z2o+tA4p2y2aHtv6APPAR5Zs9ZlPrrrMlSmuDX/fSsvjDbaQ9T7ZyvZUURV1wSZH4ezFBrdXCY8GBgDHujNqpR6WZO1zMLzeFs7FEy/JI9J+SVDPbdn5gt/tqFk0UwQiqexAHtlCJ27m6VJg9r9UeZ8QrMugvgXz3u3Wh5cEVkfaPx42J1ta5kIUyhgreAojfV+usw3HJqdwR7Els7NiyiYt+ErEI0RkFoQ6D+CxmWv1gknpG26gqr6rZJhmaGbVSIC+g1o251k9VSNhvaq4CgGmgwN/5QH4s2FkD661BLBSp/LHqDf2kZPiBLNMXyPr8RpJOQWFyyr9CeAoDAT5CdJW55wzpcjkWU/22LXwTkLZ3sk/eMF2cQcV473KKkFcgKx14ktLl+Zxo3Uneizzf4+FQu3xFP7aM+vFWZT0PkeJNthWC4y5mmWWlHAJ3ULb5veDl6CGIaP8L3M0CTgV3RGU3XtI4IVZiUsXNe9ijONhnMQ+0uSe6f4vLf/XVdTs0u/Ze6ZIhwhy2FkxGsdffnoTAY2zRhHJKLxcHnS3sT8r+3jYBtneqTeDlyt3SJBJN7ZOQcGcBcnOATZpaR7TilOaSN+BHkHiRuvyQOlBjNi6nBqdsjQhiVCOFOVWZU8NHiBOAemDAry3L9Ti3AJlMfKhwOlVvj2N2JhsbGez+EcaMJcyQV/GbmW4T3D1ojKGjFs4BVx7Zm8Z4nxPEKGz/a7p8itkxbVLA1hRHAlv2YiEdlQuJl5iR+h0T9QZt7zuQIr0RszerWf0tEbs++TlCHqmFVfKeHkJ2G3gG55EBmtIM+VUp9uxDtDW95ciM1Ake/nOwQdud2ydRkeEcw2uDNDimm2H8PBBQKIuh3ctQ/xJPQ1aYIT0idz4nW3cVBwGxHtN0hyvimdIBC2pvQ/Bu21u2bUnpHYwnEmh7nLTDR0okbY5S291DmGQKRjCNWpT5VaV8Y3A1wDgKbYzv6HhSxPMynI5nv/rgxEmbulgXmfsgZLFpjTrG50adI2fBpldaHF3ZbWgb+RBkPKeU8iT3KMA5h9809os/ppSs/bMfheJ6HbFgDxwM1QQuP6wRqPFrAW9uwbOEVGCt+EDLw+6U/Xzq2fHsoN+tLQE1VPcboythblR6t/B4a9paeIUFgh2CWUSxWb/0cnLJxmWLGx83fxcEhZ9Xat2Df4rznE9REfJ40mrdPxJWYhe6a9WfU6/qsXMBhoYJW+9iy1OpGabCK3qIWlruunkKCzt50/pQX9bZnwGVQAgx6XAiA3WX4Qsc7KLYuvRbNjb4wO2riFqw4V2b9tNEQPq16Oab7jDzW6mI0ZsbCjptd1oKBNpMsUFFlms0uRmckuAwGWEbk4qWPrzeDnbENv18+IjM1geXBq1IC/DlDksh93Sb6/GP19cA+J44EWwB1rAvFtAe5oQhb7jIz/OwC6R1Z8tPMRZQUcy5ilEGkN3KcoYCyKwx8SdUN9UYfmZcF/kU9ElQTPKh4PAwNd+Z3U0cGgBjtoCWa8mUh9FsxzF6DHe52HPFleupBKwDdD9Hv08y25PTkuGSJ3Z1WtFjEWFSl3n3eyhAh9xspcjeGxjazWeDE6DJVp/n2WFDTfj9mqDNTFQpc0FBSxhGJWwf9vI4jW5LQQeIr9Rcyg6rLLx8Py52JTwEtdmlsjJQyEfLXqfVg8ZfJ7q1CI8BCj3WhspWqf7FqzBN/5IR9FQ7TCspsDmVx1t7oYX3+45euhjnmeBM9fqLm6EZFQH6hmIkTalwOxiik76GayBFPlfNr8MdsdwirHvdRwP+oySmO7I/OtYFlLhPTrjZWZbMYaN7aS7bYnIGb25ILHK0AcGjuqBZ88Gw3tSqX9RRLP7Lpf1uylv7wR+RZfDRICv0QTQ2ZlBXHcvuZtSnxdhdADJOambHaYMzFOCvlY7pXq8AI5DYouGHzUeaq2GshWXPXcKEBVN+xdTmOL8prTnA1sUdE5IXWIDUIrTPGAmHTX0rgOfhjX9paGVY79us/MMbXnbMSiPs1OAPcCbgpXd5+dqQVK+OdYw/CPn+UOOS1BMGZ1+Iz+UFWSdDIn52acPLLgkDAVr+M+he7P/gv/PFxBGp9lJfzpDyauMHjEP6BVzwUc6j4M21azTD3nnFwJFhsWAqd+rMmEJZR/PxlZaBAmhGRB6Lmyu/9ShngS/1LLywq8eEnU8aIo3izDb7oW1C/AWa/TLSaDxLnE660hMBcGczdWRbcOjbCaSxTFnSFDnhQ454TP1eMYAim1I2BcZ8u7d2XBxs4olTKFsqnL7mdXOJn+xX1S6eU5Rvpb+JOf65wZY6UXGlm2+TTHcfQX6hQwOTYY21XHNsJebwrLppN9q7xdwXPZOgMZFrZ3ENmz/sw0Wtm2h0ZdHnlLq4WDyA1DWNBNjHCVLKxyhebvegAYpAeeHMQqTskfHxaGpeKbNQuIpJ44C48lSVnq3VTnJlJgVXJvoUl0vakwEqlaW6EZDNO8f+3kV5gmQt3Anfys1Kda8FQEjoSTZKLYHhMw2BzLzZSNO7WbZ6DkwJOtlG+RCdCouSYcFPwQnwuaQj6tB4l77XjOExYh0yhTn4hTwJAUb39XM/6vx/E7FbPditbN4/Nde1t9OCRf/2Q3xi4u//0uo+fox+dbny2dyqQSanrgPVQSLOr1x9Y4BSn9Oslbc0hADlcGX6vbtD6F2+t6dD6RFkHYD+6xuxsF87nJWvH/f46Yd77EFdOIAEAajWKCVdk4vjmp8xRIwN1RYrJ7+EoiV6xsikzJgPx+MRdeVX4GYD+pbfmJFaOKGuKnQi4iE41iBdYhJx6c4ZXvaHnghL1ZWzP8u6bmme0NgOMVyS4LIiXOi/c+juh57CPQ4mDSuwit8kUN8szDg98Qoa2ZDsw9J8XqDp7gnBtL5oHili2OtgvfGTMnpyoMdsJsMdbFLtnj1ONT66NTyQAIPt8AHtKHbzW+RdqJC/wehNQFTlYiCXVDHrWrx6TzEXuKIPA5IXUGsCyO6NM+FrWVg/ZaoXB6kv7xA3Ci5THPXz9g8bOYK7tvmmkkGl3yuQe1l2/9ooZGqBlDZwT1s3xf2ZAABnilDSshWDA33eGCmwmwHPP6vpCQgAgw6Lh4sp2pTpXgIybT1hrYVQna1nGYU1FfZG0tHeI4hqlgnId0NKEw9vQgHdHcp6WNtvD8MsSkPvs8u23GR8XhSO+xrzns/kk2TCtZI0nYgkd9wYElSu1fQHVj8QgwNCfNSFVR74449YdsUbq/sk7sR6JpWaagiu7V0yOj4KU0/fagwo1pgSv1ghpzaB7anGQdWFmw90p1u9fgCZOIxG69s4pljiggcAJoNg79JRcVTaOFTliwaPxAhkg/D1nQ9NmlII5Uw4H14lRYvo5cXmYL8iUogXJeC1peiA8tJ3rxYufOyV/oJT+MSp5i6EnQ7Om7Kqndz2MbrheB2FqeLyIdKISUj1dGQakRz3R+a2zqLb8LR8vn+8sKU/M87uAsowBaP5qEHLQD2vhBam1aqiJ++b6JzzCJhyGWkdYzBE7nsGG6i0ZQYdl71d84YB+gbdMc4S3H7OaSDPXCaEHp/JuPWxUn49QOyhSWlCzF8PSVC/ywNZnW9i3DSZCkPSXhBZApvA5gJBKWZ8fxWTDcl6uCYLTHSPQNwo7cOpAe9Dw6lJoJFZD+d/+BB504+ddKFYE7XKRdSJaVHcBQfxml1KDCVNYtftr4ML/l2llbGZj9dq6cc4dkHeHUzuupNXFXax0gdhmrOAOZDIxn+5rGU/6CGf5Pv9PBDyVgFnKfZdScHeyNfxUrVL+T1tEe4w+TezdApoA2R1I8AutsBjRDuC9zsck+niH6RnRysZMdhZUgd6tvHg1/7OUlI0IPoUBBQPBKtyF/cRLjRLUJ/J1YiR2A6t5KGH0xv3bIfK3elXJUDo0ryveEBrmYCAHr2ERqBPqAAUPEErEjEzcRdjigVYiGoNgV5D3Dv0cZbZUYn8RgeGP8XA7lpT/eEjIeN/DDPnLVj1cBTTSbfO2H3QHq+iCfwlGnV4sKljZhbcSf5YePE6IfN5Nub2nr82yvjWBoioKIeM//d4+7Bh37LvE2QF5Oo6Uc+3RH9U+hUli1CgJji4EbA7Fmzcw3sOMIJUvCPld6byil/MbZOSyA7F1/dGed6FIEijX0xDVBgMFAkqQjY6ym2BVJvwg/vGXGdlCexRRhuVAibKwAFRFMzu9w+3+n7URJYQEIAsf1KpynaIBUu/nspDLeHVEOAMWLhgsV+y9vnj+cDtDPfHB2WuzoiX7ldYLwJjSKGnnUcPoJYNNZC4O/xn+0XMyAflLRMzACG0JyAMdInpsp7ciOVeOSml7eAGz7L6tQd8hSTf1rYCYKfhR9wVRXiTl+s5ECt4CkeEzT1ODiy89uLmwehgO5IIRGUM6blFPStPkT36eW7nj1KH9+IDRbXnlMSeDi5leRoqVJORfziLZaN08vT38AHmRQ2Q5PlielMgeRc6Ymwce68xcPV6wl4AjaFBCsxUHsz3hwyGQ6mifrYnTo0doECUmV1JkO9HHOWTynBPZ2AX/JT4BfwlfqTHuahiFHHj/I20d731VpnB2V8Mt3UhyDgYvturPlQZ9hPmUszBdf12lC4emwfcPdAaIV8+BfS8S5ymRdf9uLGFf8310SOhsYP15iQZpwhmWA+x5biJm2nCNuiTrZbI6vl6aI+pp8OlfCgywv7ZnBrz1xUvkHWTooqMRmBRSdAUg9Mwtsu6Gv4lzaQlY0sErPRPRUWI8D9smlJ6RQn8rV2m1h5RiBdzYvbDjOApo2bDHtrJg8/BnldsupQ4id665tXbSekCpz8flOPIwj46N7sxJF2pmOBUDdZCBGi6KA3Ef3ukivYRWtFUtC30Gnqq3kTrwW5WOAkBk92ERfgUndI2t4jRFIiOy1/KgXZM/+FitPcmDtv2XHFgrT92JULsTx9BKwACJIMA4R0gfN/SKYcI+3RHr+4WV7t3aLJl32voIQeT7qodquFtoNphHsLSgZlOIchIhesyXXR8Lneq9kztv352nZ/j9bJYqDFPTnDRA1dP3oTM/VaCQrYspAAzPGBR2EP3dDJ3xYU1RwDFjjIeXCu9kLLtoRxlrippb8U6sM6PRgUO2Z4dlTA5dqikScK4ZxM9z7twrmzv6J69LJVBOVLRiY8C1lLAJ1Ho1yPZsTq2AB6pakAbsgRgiHj4+8xEgRQkvX/IpAlv8CoLRYseSZTdMWN5j9PLtX5vnQKAt0W8ZfJVthXiswzNP4TE8dJYvT7wm5mpyIzg6z906A/gR9tmwuaNUM07dXrB4xzdVQBbmztn3jzqw6Bgxm4RGYhy5dkXeVSEDeObbL7xwPrX41xsfKYEYq94XzjHqXk5/ZcEB+af74qHidIW96fzI32BxwZihMon52+NiGgeh9kHBc/zbSDLJFYz2ekTqv458/gfKq1HLUsVKJDtIZbMStbru97AkCR9pdlzn+78gN4baO3p8qxh1pv3ZEpy8+GinnAIvFFSBAGZEAfT2oJKgw2KwsNzU3k+AMqo4F6RorMrd9cHVhizVkFShcbHDMtbEZwT5JkB3/1Lt6aA9HcflJebVJTZAMmrjo3mi9HYJxVbhzNZbRUo5Ik7ItNthngWM6MsZ4OKvahi76k5dWxey6PBdOu/6snXyytt+oTv13p/qco70y8gQQhFDjqYVdHd+NJ5woLvcxuLVDdVJ5KBeyhAMQGhloYKvy4x/t7VsYUHnEDyzPdhIv6Sr8DsxBzidOfoLcwwiOZ2ekhidwsX9Mp3MemZp1naXnQb/6Y9ffJnWqNe7wtbds9WgxNefwDhIZy3G1KWjSIgJLqXTlZ9oJCjsCgsy51xOR9e72MyZ4OoIO5voG440bnl7rql/d1y3QZFPG04oV0aiKx2skduw5mAb6JrhS4z7P4J3tFhcrD6QJD5NoPb3FOigjginI3nP3Zrg08PldK63IjHEDULry3b/gV7g7za1CMx5a32QNUkgth9y0SR1pX53bG92AWO5ZD6b10cSvnEhmddmJh6bkOHpfgTRJHQ1+Ka4xRxLe8YpfblwnfdHjqp/iGinZ7aXVQE655ftSZP0L5LcwdV/MvmKkssyThk8xbDtGQJ7/0LfkxTQEIs6jKCf9Vj0mXZjvskCmatyW1cZghr67TfSd/eiEjJbf9x0jLS3kS9TLi2RB10qiQVOHPG+0rxKY2d5kQn25cgqRU6hL2XYuWmoL7dmJ6ZM2Ult6x2+4TPCcJzPHUhxxzVhnordxlxSmzPBfTr7UaFwZweh/EMadP3u18SNHdcvulXjCmJlaqemrmzxeA2l0webi7MF1RhstUt7dpH3MIUEozP6lxrnA63p0qE3HHVfQ3GF8VlVePiepu+aYa6V5JOxzwE0PmdPamusAPAkgeqKlBp1xdkHU0odHbhsfpuNCIcw0E/1/XmHnWjWq6Oe0gxRSO6n7XaL5IL72xBiiVRrosCs7xhrRQQMJBDDuyv3e8IYKz1GvnpT5xuo7ZyBCmHQVB1jOoMLKdSyzCOIzN4wvsiwG2GzGocZGmYT3xpJqRp3Adm9tv3KJiI5lIEDqIa73UAbEp8rbBotqq4znpsSonsRu7Ikbpz+JJgb92zVMz7d2JW3X87MmVYYNu/z1uPUKc9kOeP7FBuV64CRpZ77v8yU9Mw4kQxP4f5piTIZLzeS4qbabX9qkbaeQE0OmtAZ7Pp7sS7K/D1bW/KfciZh+KcSAFeU7Bjv2wbOnSIiTK8lyN5ZJivb6Zg1DWmM9yG1ErlBHIqjh0WFqnm//5rrLvKuWus5riycZcjTMA+NyhXCqkCttKbu9rX+vrXd8iDN5S/IJbdqmpBp0Lna1b9oCGWKOS3oOsPbqlMR9Yd0vZhH3nTQU/uy4Co38vgoFa9tkepfMz8nl7hp5j5dHu8ZdIE5jEAWlWShQnW7vJBSZ0qJMnIdY8U0BrUh2GupGaltgBhwR8VyWlFHNzc2Uo64Ex8PgaJ2JI0mF/L49eQ7mUgYRRt2m5eiI526Hbzbgs5XAiWca0qIPAYrT5amTHL9JCNUKerfOZhvETBamebLIwjlPYxggPKxjHjrN0Q9g9teb3R2LemPTG7ON9qdGTqGJfBHxVO45VbjhQFmPyiHcsK86qW4engwuxN3aG/igRAOsBYjJ+l8nasov49wXg3pjdS8AYzYM+JJHynmD0a21FRceCGJEIvnC0vVAoUopMc1m8WQK3nNMX76o8WriTF3MIrHpMzMv5GBV41cgHaE4AAStPwoKkYnVQ39C+DtVBYjP/sU4DnlV+KgoOFUMaezRu0mPg5wNfTkHhNLfPrsghwtHCAaijCdIFfVbBsgEvlxHw8BHeJi4gxTgbubRXLrAs94wDYJb8hvkjllbpHaPaYcIuKjnpJ4GPTIhXWsEZUwozt+ABA6rnu8lM1wxdFPGeI9Namfzr6m7CfNm0FVnemxKEf185BeIyA5k3KvasCkbgi+rfx3EA1rohWWNVUcc2PFtnS0c7kWakg7wMwmXGSJMn3RY1Pn3wOlAVMTlju58h8oXXDq4eICa1WRSCrVr48SpWGZNMUdSOubliP28zDDeQp5PypWL9T1l/1mqySFxZcbl2uFwpwK2ErvIxS1zyNt0k8v4vUl0RNtKlukHKnjFDhTkHhYBYNLpdJiAuT4N7cSzSnkqWeKR5cnMgUg9ph2BylPJhfxTwS/rjqrZcv53p3S5nUzXjLu7XX2ojWfMdU3XjUdMcLeBr0CExTrNMlxWQfM78m9qKJYrR9qwlGp0P7s7Ay7YV2JCg2bI1RJPLRshLWyqN6YWtL/dDmBjxsxg2muF/tQz2dHXP0XooQkgUMZriKZCW8/ZXqjQPiSVAUHJcoMpU45cuqqGShOi1j7qIecBGq4uEr1lHyTL6K4i7KjNU3W3evPQkQO0u6g0mgRE7z8EmKSKiOH0LIjx3vBhK89fyp8VpMAX5fS0fHlouSK57f/a4PYIqFr8qWc6RKqXK7822Dw/7fkEADvon7z8FwG7Dqv/Q+ARs3+uIBnNI8aqtg2zOqmsi95/4nFM55QL5Pne+b7OMPtcOxO7U43ZmBFflAjOhHqqJLyPGbvQbqMy94d2vr6e4vzVF88Wde5mGgBA2ngqV0+EWB8JlHQqB9ej4ymN8/3bmfupKQSkoE7MgoeqYjagMnIBFNmHUElw9U6SZd7j5+5nnaiwioXNp1+PHRmA5JgutQMdcoDThmammzyOuKJvDm6xDeXh1FGx/Dc28LeMBNkMVQCVJvyv4noaKEOrNudukV2AB9tOKxe8CFHS+/7ZmG9xa0G5Oget6jQz6zV2DSRP+YVpn3kuzeIRieOVTKM6f2eJZVJ2p+NJ5NunGh0DiEd2jDSm7oZjKs8zARTs1GMXrcUYyJtcBJfmDBkJ+vo/un8Kp7mTYWGBk1/xzU103QDv1rkq0kWfo5swaglNjEJpar373Oaw0cTgy74lQlunlorFU0xCE5XKu5htVj2R+EPr7ppWLTj3DHvlnwQikAm1euY4MhY6gspT/dkutpukPJOzFU60G+7oc85Awzs5Rgzs4tg8g4EpucAoZ5NFn4coAnYZ9w77DyGK1751/kWuv/w/qODFeWdnKTajqv261I5wrXn2emkBRF7UF4Gjca6mDgAG4tN6Et/RXsSrwaVcUZqo9fejFUeTGMZ3QBtAUDVCyZ2aax6IfWgYhCLqxFlWgB65l+Ce3a6kV68qMYd/0l4pLJnfRJxphNVppPw9OxLmBGkNhJjNdpJWy6SXHm/nArQ0HJnRKaVg/CB1XzAp+bqrxvTJH6oZf4RELOmgkU/NJ1L7s+bJ9XJkJtwF4l62wHKHIF4EGfSf6EVlKcvC4bvheoPKtkuhr86hKokRSnFSqu7VeKdJ58JNwIJYI0OnuySy0PtQA22wZmG50iPAqyc9rGVCCSDd1ulj0knQV/JSo3B2/zpW5tx4Qqy2aEsWBEXA1Gc0j9AB4JBVJKImTbGpxIXaXXvxymhhmRJ+h1lyESWMsY7xc+NHlyyrI+aZSANeK7mU1LqkfJJfPt/BrkZhr32NnVHmMXMzJPyEyh8LL0FQF3KqGWMQb4ALV/sVPl5k0VPAjreRD+nRUAvMqK53jz2J5/q2kwIEPMFdbHqx91BLwCGuATEEiSnYWFBvwD9w/MkUhdwzXf8RoVc8Fm+3P3bnJCghoVawDSqbdRhuWKjlf6cSHz0wgBj9u4QeKX2BsrNOp4h1rKIOlPBdUQy1q37phnHStgNB6Ql/oFfdQ3rcHppyEuaNrooWzkrzi6qpaI7UQI0J7SuwKf+Pi7zhIIef8o31tyj+OFqjS7qXE7NzC0FnCLKVAh3UJ7P/JpqmfjmK1w+7jS48D2/zGRrX0eBG+q0NI6jBMLUrJlDPRj1NvfJGPi8nk8SB5Ikr0C2R4ceDqGB4yJdfwa1tSxdjxgZ0Q7Mvqc0sqPcRdNaNlKT/Tqkm+GpWgspAQqVuh60skvZkgR9+lZSeQekWVrrDGFakjw/IwgkzccqpTKve1gZN+/TvWkfJd9+Jniafl420e2ug7tFDi1y6nJ63OnfjapPenkHtEP5OsId135hc4tSqpjowgLctQvQ5Bp9pJWYe46RYvfrmab7l3+xAsgMHxWmVJh4U0A8AcCr0y/eNaQM7F0huTN9QW4MkFbu/1j/9K6rDur1GkGji716H4TcCAZOiXLmj4JolvdcAc0b3kysGC9v/oD7rb20133ct6ntYvtKDzRoFj+/xBAXyxhGvdnfzxoaqvow+hpLprbVnZ0fnyVXWq5a+IXn3fCfBFRWh+SIrkQ+jCCruUwC49XfuooV1g3xsvQz71yLI/b4QfkRRCloJu30qvTvtdqv1opeU9pfUF4cAMQlkSRHZq87GIsBhL6c5MZyM9tuuv3ghJTUAleCKJ3G8EHzI/iJ6dlr5vrdBQnv+9FAfQcmPwybsa78Zc3y8RTIYCiS+UMee5PK0E+xn/M8xyVBhaXCmMPwCYPryGVFp8jZ9rNmcaXi7KaWG/BVb0xSSQPPHtpAhKRwRDeZ3CsbVP8BfrIUeWvRdRgx4zlG9krN2G3vdS+uzaY+UcaRBso0sGNfRo4G+qEfB0jQq2MMpDCpcYuBhpFaYzLe8yz1XGwMHyYWUOvXy5O4O2DYlk1/JVL59rqAQgVppJAwjKQ3upBGJcCeQcWeoe1GXROgI3GSxdzjl1W71364QTGPrqxlveu89q+L4b6oR1QHo+VbsAMPuT54YqHkYQOIxfIHkCkgPuBE/053sycVe4C0/KOSmIMaf85ZBBOe291yCaQdl+vfq06jlqccbkV8Q1o6fk9YWgX8YLsRdkUM7O8m5cy3wgW6y3YOhblkXvH5jy9EthXWwnt75qkBcFx2hoDxTSCltMWwmO4XZ9ez17zm7JabcNZooU/wFgTNvFNAf1uINHCYwiOKofw/Ql3S6Ngdhm2gDaCsrhIUVvWJLXP504WOBKYQetYm25SpF7VZ/HcGhHTurELubevjKmClkt7PCKfxLEnv0LYq6mmQFJjnAQU31m7iB514v0Pw7ZmsAMU7hndclIgOtl0wUV+rJfmAq5uNzj61C9Cmd1RSI4JbxisaYqBxQqbiY4pz8fPEJNCFsSuV7x9dbIqy36HEc/uqOEqpS6Vv1IaoSvQo+2rF3/al4BCgl8DpJb2KDRm8+tkGQhze7BArJDNsMmQSx0nrvv5cD+YuoSKT/M6cUSM5J2tOk8pTuSdF675zQrW8dL0kjLw0sPZyBppzaP7+A6uicTok95BEExfu5pekExfgwSSlAno8QVEPRtMZPDg09xg6Z60iow5ntjp3ZAnsndaFhfAeFMt0XAfsOOzebsRvsKCHmioCE9TzHN9xVq+JjSqf6DBVstiJNYW9GjLKibVur7QWOhf9kQK3sHXxWrL6ojwl7QhSJvJx1/oNnHddiSwBiaWg53+UVbIXekP/wRKyS7nBwFU9M+ALEzw8pSoxBWTD9L3oSc0G0qfg/iUR+apzmrmsoCdD/OHYQGWbU3xePe63ItgrgrLbax/8RD5a+SGRtypggRHRIJv0nctFXxDtnALwRF88S/q4RMJyA21XInPCdLTbvxuD9PxpEmc4z5spiN9ErjMbK6HH/+fRxyQJke0loQv4wew/U+fJBSdps0tTWGfSxFPEUuLkGr1LYqitV687MdguO+bC76IPeGD6koFtG4kY7KN9eg2Wbwk3rGdBXrkHxWdlzOBS+b5EdFSTG3jltLUEjrQWXrIRxWcxJpje4XexApjR2uiQz9+TMh53vfIMExoe5SUN9/pSf2vGX53ckIaaTdgClnuA8Ahc5r3/GY6DId1FptLQveG36evV5UUCYo3cPkNlOx88iifGJJGLtYmRaQFjJgX9xzmdm/dU0/5trLOYJ5I/IRMh/Yq6HojQQJnQLAa8FNHiu+QSzRZZviorNSNXYp+r0UqY4opDbsC8NiNTcTGajaVMoqL8WwB5/owESdtJ2vsgKkDqAtxS8bl1pgLFoNhG8Zv3xE3ZTe3Y6w74a2cae3CkhO3vT1hPmB5PP92kxcdZAXjIvo6LoYg2CdRqEVNnW+a6nwri6FxXLmBsvum3C7Zov4Uw72jI/2rjx16XsDrEBpoRQ+nX/Oc3okIhQsW2Vx34LiAkwApOKCT5pcGtGvsxSTGFE77mI+VcTJk+tzDxAi8n0zBPaEHGe7FwSpGm5M0zSnqmzNnQWa/vA6fI1/KMSRsMXZPEgdMpGpg8bkh7s9bbxpaSKg9y7uoUgM3VKIH8KY74FUJzthuPFhVrBMU5R4zMOOM7uY04icQ73C6xb/1ccoxwFi3a52AXWJxIW2XmlILTu+MU0XEt/V3WETacx6PXxKPE9Lt9EHb6aJ3kcZoW9VH2frcNOHRDZvcN7KkjKK0JGbX32t5rX0IEsGdmj/d3USvIRgffjYYZ2K4Q9dEiZF9Yis2ik68cTsFu9mQhMse3h4B5k4WHjgF6nWIjPxtgfzDn9CVlDfo6mIkSrDgwcEfTX8iMRVJI4gLm3TkS6NpjVv+Qlk9bRhr6h9fSloxzZ5Qls9fd5pp0Zz5LBadNWi4D3XP5dHc2l0mz7cEAsMW4yeveskEbR9kuuxA5p4cnrwV3QDn5S5HeHNz2jmyl7StljMd7FHbQLJGBE5h++CBVFM8lt4nDYgUmGnUI81swjF6CasWPTZFEXOGvLsPxBxvPRPCg+yL7x7XX/NCxbQrtlzTMpODvGkbxIchX3fZxCazz9lpGbyGRqr7L4smN/gI4lL82xsZ50yC4qFQ3fXlTrkP3mrNMRAmza590DnDnT3lgE5pDUpXlUTpnxbzA8Yx4CYVTm7fJn0ij5M+3mChW1gy6z/89/UQh+A3zThZYJQIVdFnkUbszvJEdpox0spZ1pB6YdL0xWUaP3G3kFfjssa5/b2feDWkfYyNKfeNVXTZj7psgkhLUzKJrrsP/0E8tVfXqVTuSi5LH9KyTQ6jNWdlq01DDxOxVEYrByLNgvGQaKd4PJ7N0Ilhk6DF70NXlRi5jlVgqXqGeJuDcNceIdMCAuw88ta5/Gnt/ZeZdPbGheoKVepmhjkfP2nNBoUuNLJM8bPbFVJF3G1OtYU0YDFSPv2qUj8D0wzb9zBPt18NpOFx1wztxLdx4SJJNobMbTL/PdGRBX6+YNkAVfrl3YfuzRGhJxsWumHN55BhymnZ5ykT2lAntezUd6U1JPJlz0Bt2fE5J6bt5U5jozDinDB2gNVm6NSut4Z0NcyGUqMufju+jldSG/tEUJu3lOHNH2EhC8IsImte6cOEWzlLjYFTuicgQfi9qqmhCB7aA9+LPhvZRp0Iv01YsZFNC4rOuzpu/yZ0OFiSj6XSLcR1Cdrj0079+BzX5uPUuYLof6CquiykrNagjYjF5H/q2j2/fN3iXzsFuiKhthwR+rJ35yr/zEwLHgI2Y0VlAOlcoYlxV6VUONIg4iNGveRZTXyVfil060h8qG1TSOc2PG0TKB7kqmCTZAmxBbSBqyy9pT9dWUPND/t5o1G6yAUS90Tfc8jHE6G0hZYMPD3L8hysk55klWmthVGb+0YJ9CqWDAOFGECWgFyI1UmT9QGYHsGTqezxIPGa6hYFtJJ/ECGdG0oOapd2K9rSd9TO6WVhuSylmUqN73Us2wwOGYHsr75hCNTd3G1VZszdks8n+EvkEqu5ZFJJT+H/ZIEBtzi1KwAvwaXCVAj4TqnADuIH7U6Bt8mmpCWAny3VgsFMyDao+Md0bkETEU4jwBADLEElRDD2oRDl6LBUahYv8cox3xxCEzC37VhrKeezHWci0E/9f44VTsh9yDDXAGmS3lrls1ln6urJ/nbBU1aedLg0nNPq22NwnAvqMTV25X9EOaDnNuRWB/URVfBY6ofryUkeMG1PvbRCHE3BQv+IdS6CNv1qKAMIM0LFVTjqCfQgWS2vv4YBd4zrepDcaqTHqTDbil7YT9Fy0rVKeaDQs8rQUGiiwuL5jtUwk1rZkWZlJzMM6OKKYnFE0CKKG/6su6kqNOjwhTdtLAnsRiqGHfeankNVmV2UNQUrMI1Pm1dyti5jb5cdT0QMRsPHfiHq9tNCwWJGJ9vlufSgjXkQYgW+gLKnqbgCYu9lsviXUq5l8F/BGvB7ZQSgmIEhAdH4TzpZNoZsqo6mwHgeZt+k2XnMRTrNHDuR6XQs/E+y2t+VAEMDMFSruj5DtJoO6l6wolKb6Py7T5bdNvWb7eY3JZf5IdWLnqhzmQGK42CcE8Uoxo+Kxbcvni0pBjfkSX1QKj5PnhvveviZaILCPYjXhAugePF0sY0bJbFrLPReNdVKYtsKYf1J0tPk6avVO91onz4408lFnqEp+o2wQDg1kF11fo4MPuaN+N5+HvtZJyhKz5hLW92G4aH5xVXmESV3Aa9uzgKcPsNtDSJV5ICqdxas8rW8P3uoYtuP9441zABGb5q9penWo1/VIx2qQDAt2aTOCUhPICF8D6/r0o7mJgyD7FSh7gHCAFCXeVp7MYqGupDzcp6n7a+i4YCfzlseVkA3QWhSL8L2OtpzSkQMmWZ5ST1slxCI2wD7lMvWXqrfHzDrfROInH3rKVB9E65ysi91VLmROQvBA2u7/MIaqBBRAdkIXdeP2h9ubdRqLEKfjBQnXyQUroPOKqGVUX0vtAVabZfrn/K6FM+BVpKPwKLwdMtI94FBGi3qWAXuuEWGPFTKz5pM2bi4uPUEE6hIwQujObqOJIKD0nBIjKAve6DdarT9KdYs+dDyM7s243fLKo/gIrB2RH6EwzH9tRN9HJY0SQ5lT11cu0SU3ZMYjogtxbsfTJEbjqCdxYX9Vjx6nNQHl5qhP5LvEri6j1NZbDSqZQZOEW/NzP3Rba9KBspkDANazyo4Sa3bfFcXD0klUqcHAFW9dw97h/BMgnIK6f522sEFscXSMrSKM4mUp9hQjFXPFL05DSTb6DhFC4endFdSEpxMXWuO+a7bru/izlmfTvc2ZsSysROOzOPYd/zzQn5b93jgpZH0dqkQtHNtii0J5cEtLBKp1fFObaPzaZ1HHsDYBZOjby6InV0aXKZwEFwhlsHLnDdaOYyRy6PmFp2rENqRtq6VVfradjMI4/ekMG/66A1kprGsFh84O5mHLErbrWi4PAUey+om09mdUE3Udtcr32I8Ke8gzaQqC9MYGvr4SyRGWGLWn1NuL+frJo1IBkOU7uAr49g3hfZpohaIG4vUuJtjHE1Ntg1uqX1e2e7Pw+RxkDl4uSnJOZT4sbnwHt3q3V52FtYe8GWAhHYQe0sZo8wdZau+l8vZ8DOSmSLVPHx0wR0DKC3YgwJ1cVLZUmfnhjRDkvyvA5+0g2lJDDRdYEi/48VKDifeCTAQC5FEnrsyLU6j6N+jBZJ2DAnOoNYUvsFlu+i8U4rk600/m5eK2VqTXxue29EHlAFAXbzxKLgkaTWSiZD8sIKzR5zEpFPaJcSJkqnIvQjJLWrE1IQ4YoWnCiQcOVe847a2VI4Gef+CdFowXYK93taKO532HJ4a+WUjJKaHru252jQZGAcT1qAfeGftgGkX3ZGjExHgGS4ibJowaTRwFmmJdIIkioBIwSp9bSF/icPVz9PfFbHJoiDP8k6NqyzAvMdTr0kZK5HQfcWVkhel/aPJIJbhDVkJp4DBghCH0xyp8uIA2e+MGbR/kixlbegp1AFCAdepCS0b/vg2ZRy8MhqvZdorU09TN3ua7LMVHCbKEaXJ+SVymVEveuVh/TYanyYL2LCx1eP53r+hNGMzzs6cxU44c/+dL99zlLzED+cV1lbupQlSCbGjk6YT8bQ0NtipvoLmlnBQ65cFQuWaBXtom5WbTG7pH85MpVQJo86QVK1pGsgpWbf6WX1C272lPyNs6No+UYqHaOsOfKO1AS8OWcPkht+9bDvVHSU6/Q2/+WxTuWEB8m5jx0HST6iySNSXIBlVAc1/ieLEAOWZddYzFtVJArmSQtTJc5YeVvjGkwrz4+G+xrhy5B3AgbXUmXfDjZe3bQpDYmYBiJkCKyBKUHP6fSSGSHTa5jl9hznhbwEGQods6oRYPEjuFNyrUnHq2mfhPjdWXTI0AB94AgZ1WcaFnlkG8273eYYcIsp+E8tO6xo5kdPF28o5eTTTR1P3W+7juT+i6tIJ/X+R6jaU4X9tL0wQtYZLu/O38/3im0+g9EpljglWpPRkiiw3rdXR8YLGHaqBJn3oxdBZLTjJ1bVufRm7k3fggUHMDJTcklbh86VW46HTXiTq8VU2G6Q1jx37oUJGK6n5QSZeDnr1hZgTP8vHyu8kVy4XnaHya2HPE8bGC7mzOcAGBp6x2S9lnW5bgbL1FzGBD6e+5SfL+g4kTtay2Gdy94mHa0PDk0dCWy4QSOrYc6D8CZpA+ZlQk03XDTCLhYkJRKmtwZSnfjmq9LrPWfHO7Kta5Dong5upRk9gVuN5tBhID2/fSIgUMfSNjdtcAqCP4au79lxZ+TlgJ4FL6U90JE92ZtnZgVJpRw+l4HdgA971ecca1jZ/JOrUc6mDjW2WcMi2n5CrCgaizPkv1RkKI1TKNx+j1/O8AVVqRA/aCq7xMrNOkNZpByenS4L4gfim9U6K8dYbdSHI6jZeMWxtmN7vDdhaswdnakj9+K0Mjd2F/aY1upSzIxYOUov3jSp8IIbwCyuiyd4m1KOvMalHp/GHHxYrNlhkSt/PR3w1cDq68KjHcA3yASyoSnXRgjFK8iIP2FPuTyo3iOffiebsxfggXQkfXyKVfwk57mTF+h7QCsNgrF67IM6H4W5bTpud8DICuKXhkBf4aHEOSO1mXd+JU07c61Iy7dHX+78Mhq+EF5jiIbcKtsecnwhCgS+DxIghe/HPDXweTmayk23I2nnHYe5ROqwIm3xm7URJzXbxJozk+/439xR3kJNTBCHJY2V0oIz85fsJkNhCQiPZAq3gXtgg/vYO7PSF+TPykyy1E2/ScsyhlapNDBiZGM81i+S8pGUt2/KHBzuLVVtxSInylQyevd8b4pmUZoyTSLvlLoKlAXvb5TehuvKdwptPh+QkoRsVOLrY4Fk69kJVbbpBW4ek0ZKzdJLhKdzNRjY+Gfp07TJn3/i+YoFPQw2ZbgEoF7AQqHg2XivDe4O61SaqAwONe8pG2J+pJb3qv7GLqtIpUnNYp6KGcFivZXqmDaw37kHheL00xuZHSTY3DMPxVThpn7ugvYP/DwZKwFPCCXvkW/2bXrI0ZAPyfvFjYGMGFuM8nIa8JJQvteLz0e5C1Vsx/bj1CvMXQCQtzOAV7xZONl+9bb7eayfjF8IKv5Gae+EnX8Ul7P8m8eA+AO6cM5+DMxHWc9VKIcHuoz2LdZc6JYLwofcuWPu8TJnTMIFVN6ntS49IXUFjJfFmHjbC7VwM48Z2ghn3HEux/hHX7w55n0px3068mlE0qCAvATy4d6akAdkBOz9J4OOAffJwhkbd8Udg9NnQe9kZ69srYVqwMqTbDJdTdQrvtQf5BOhEkfp/mb/vBQn7e5OQwQzhfQgn44VU2qFg+P1PGaTvzW/xNpQ8lyDRoGJy5qfPHVTjsGjppwcee5cj+Nyjc4z0djjM1U6HarD7PniDX8GsDUA252bHvBM8dYlTTw9/1Hl0SFpw2eKUXDAN3KRcRRzDRrx+fnQqvCy9BFADczeEXShRL1MNfnt1vGoB0YMv5tlygSDyNO0Z5hlIwYVrrFMpr1K1xipmCnXx6QlHPh2CL4zwdXnjHIm57JJRX/tPtlSXiVA85JU8QR3+tuMgXgkIraE2E2i5lHzIpvJtoPhtOOw7H36dvqlUaWZQ328W/j30KvK16yWNdNnk0bqFNDMDLppMcAJt3lnUB9DhJcEEBxUfDw92L0Cw96b1kXzC5UTSXsryjb668XFBx8aWW0v9dQVpjsuhOaHQBFVZJGnVOsVxjcjqas9EcnC6nlAfcIkAQ+FGfRwaXSsG7uYrvjaaaBlibTufMcTIapPprovBB4N9uYULk2E6XuLG6mysTDQh4E+Eh7cO19LyJqKuJX6Xa3pF182j3VRNhIt7wwolkajkbfGvNqb+h79lvZn5ZK5Cnjom3FAtkdBBNY0z6U3XuxSBQfLMjf/umS0x8pCMlb/hQpyccfUZqbFpLbscQtsQuceuGMi5PbS8sVM8CXezi/mR6NTmY7bzRqGsZpcoBLvKDPmw4VvdVbcD2CJwPaUSYli+SmfEw9tr2gSuGN3VIKMeHqjDrH6Wwu23XMUYQY2va0yi8/DcwiYFyqfhWqehhVBMYc9KgHL4jOtZ/nY46655zR/jvwhQHxbAw2wa2rdNcgHuMfsufsp7XdI43qn6td2HxOBK7DbP0zP9CFZlTplxNsyuCeRmTaVdpGeKbkMzSqmvLr6iq9KGJjbm0IMIzgevu3iKCzMU+ul6sAVySlTGKUI6IINf4kv2dOz5oQrMmriedc9mn8MSRWkbanvNeemC7h7FHssMGBDR+u5Bz0MZhLS8VbouCSnfuR9SFmiuJ+76iL/q64j9ngsR+qJUk3Y1ZgBawkhlnEdiotyAqlYSBFikZ/U7D/i3y096KFt3GiD09pPzT8AUNHmbbZOnZkVUIlblQsOabuZbSY8MH01iMXPmeeXSDP6cTppSc+V7sXz87qPi+r1HXqWTU/TuU+3rpWcL04EieZjklLqKZUyJ/MzVnGuNrCdYik0RCbcgohyUUmFkcut7rBJ3vfAsTpXqkvW2JXktWkkPeYy9ZkuAIG78K57odw+h7gV7B/dEiWv7y73VQqwDYLzOxmkvkZo8NDrEZSkXFhp1bBBymB/yDGW8CuXE+XDzvMON6ovlU2S+cvJSWHZAhW15/oVZ9Os1EYalsaoiSC8PbO7T19Pkljs1YE88H5tfU30aMvfBeRLu2twlovp+zkmsZ7Lre3TUoaVsNUudos0Cwwu5mZgR+RjszEASCBxYy3UQt8t41UrDvX7rPScJRaa96JT/7lhaFCACHiMHuOMQawogE48Lsp5Rp4+7wL7GNznySppHtvwsLIGb497EJbXT36ldBHdssUwX2vGnB530oHhGRwfclqmNCSU65doZzJNiUkfTWFexANC1fqGn7/i+f2WesEfssJ4/ORSxbh+Smp5mb2LvS/NEGcWoGhg0X2ZMeleZ1M1wVLsbtyAwsDaOKQDmaWozY1ofk20eyAT9SW9UD3FXfsMKv/QngMWHDCdKBbq7ntS611+qyA77DlplCokYenG6e11GT8dYFa8pItPKgBHu4c4gvPeWuTN6YUDiIXJFbTrBtFW9n2IuYM+IRoccnldIPvofkQ7fOOdGaEosmCJGpKLmDAGjEiSqQl/1Aw4h8Wt9oHiEr7G+HzYsZVV6Q4MXbwuwk514Dz9IobYuxT8VHfuyFvg6qLC33aorLDdFypBmJdVJoYEcnhIa9LHf6ubPZFk0H+7VY4/EXuzp3VGhAdFC3IoxTXWWnP06tvU6je15K1IOwiGHbrCnnl702o/oYJTPPk+yimK2kw3E6ShyjuldU3ZkyUuWnQ2B2Kdub6Xw1EG8GT6Q2xpU+dGAZ+OWjfGPoFqg2u8H6ud/wWTqy9yI79R5+bbv6T/2SjhGvaMKMpLDpX+kFtx3spLyqcq+oo2WZS3eDXXrWRELy7Gx6W5uyoDtG1z9dHx9x3kBX9t6PHJGJ0DCX6HGlE7IfsAU29VIdbgMUuG3MUQPZQ8oyZjl9T3rNWBJKF+4STHjGPzfV2EpghVYV3hTYc7+DrJliUijmPmoD/VKuXKSpi3QXk5lkP9XAL4eRTtqkDeF23fYGdjCzNlV0z3N9SsPTW5ujcL1inPJWaE01r95yyQtTy0WhEOpECSUFVZvBGpkeJpDSOhbk0J9Fpelr8mkasCgsisE5dpnjsZerY6PG4nUmkIhzD2HNMRPLYQP3+pX8mDX6tFbCyNIsUv8L2/Qr75AYJdjVweu0L2dInPXFcv3c1kRtIw6neIeR/aaeWCfytyJQbs4hH98jf4s7Lh5n6RfjfRYZNjqRxHS03ibFu8ZU3cfqQItY3VZj3oj5zqU1xbvmzluV2YgryKGo8sg6o80ELVqkE4i6cBFgARGEMXloJfbA1NauzDspPUYeiTbNVFTAPFOZiynGBpxNw8gppDzeguz2kGQqyKWDtV4wYpwrBa8aVFTzTF2rpawR2f2uu5ANOUzDpnqlWIAIFs9iuAFTqK6zqpOOcfRaumkO9Sal2J+nbpz0dDXxHM89/D9XYYTT5ZdC/0MyH9DcpuU2h5Cy53tqbf0a16e85thvkd5XvTg+cylfYLoqEWJqK8SapLPjK8bpw1s9SFRaQd8nM0EKBZEgc5X4CNYth7Q48Y/EdHBq+aSvZHjcVhKaMR+6TrQ0ekiRrNDwcjFrHePTN+I4ge64XVpNvNb4mbvsCH6pGHYvGn+vwc6h1C+AxMb9kbbyKLx9k1FlsSkZAbJpPzxkHKLb49ILzzO4kLbf4pBpqoHcCkox7cpF+bV2qoeLZ/L2pVML5mbYRc1dGYBOgS0+/F4gCtMJGAVSEYPZtjIimXx6bNcrZi/Zn+HHTWXpdLg2adua/FF4tlY22tUuUkS5jTI55GfI1E+uEREwHLIozAlh+EzlN/i6YtiAL4iowI88BSkmEWFT80hTBqvknY0siKg74QW58wBdN2z4GDD8fqOOsfkRfSt0uoOZCrNwhuNddMAUWEC9NmGMYwpBdqrIt+Ij5i+Z3A6yfBCiMCygCuGQaSn1c+Hrc2Uo9SOXUTIYFr9Xa6s2Hcyrz911zGVIyO28Ug0XPUyJ+BCpcadr5oLmZHDVS+YClw+NodWPspkTx5+T8VNej2D7p+81Kt86rwPcVBbL2peHqkK0p/53uueeWhq63hxgbKqTtK3uH4Yw7TMjpYrCvSdnNbqjFLdzVxfZ5prhGss+SMksj2sNKkb8ctiReI01kwnYP/8w++UERKzVSkeBmWK0FoIy7PiiDPB4FD0jBr23SyJ4in2bAsIhTdAK6h1nRrT5UipFiQhq1XRR4abn2FU42tHsr3LXU681lG4R8aXYQ/gGY74pL+m6P92o1PRKQ7/4oZZLwdVhW+ZE00Y9A25aHQGqtoC8Yg3U+71/12MJ5G/BOOL2l1vem3f7GgBbz+k8BcKNN6F2KXKZa8OAPaxmnkn6dtfSc0rSy42Fho9SaSomENpEW4RmFelmhfoMLwvE0oCITOuTBt8l4DPk3kIEcQ/lF7WCS5Z1LDArdaQalYDBU55m47ts95Zt9xFMLT7tGjQDpoE7qA3eqtDmxqZwBTLuT11WXXmGhhs3UswHSISh5FkXGWCVUK8rcDNsSO3+XOqSH1727VUeH1HSjCdu6FKosy/l7K5xDqeYv3axPJGWTvT60gpB5lw5LA7NykL0GEU8gZmHjkqrqFy8+5/2Rrle9MfHOF8/wr2A3nENjoSVtIw1VNeU6jp5VaBoA//RUqc8fXIKg05JPpECJ825cloSjOZUqV9mdyH7h58Hut0d+G1nsLvYQ9Z4w1Xu5XbkgSxbZTnJNnW60UbFffW5yw42sds6T6E4v4DUTQVwio0V3LT9vIDCCp3NdvPLnwSqDBPGIc9DRaurpv0e95jJ2r0ieo7Yg6FK8y17K7A5x7PFbaWRDQK6yA6/fmIlKr0e4l2aVN8Pm5WW/t2dgfPiGyWE9DtVXXf/i+CdtJfppLRWNCUspXUjxyIZtPfIoFxVbkGN2DPZJVMcqFob0NtTUPJbOm89OAOewRlPH+sXXzFluy/jzmxBhSGB5DthmWzbaREq68IWn+SxldZzRtIxhl0AyqqVI2PU74mHZC6Nl7anqJ7WDdjCibzW0dRoDTw5E7gjYwAw9MPk890fzGZPZ8aG2rrnGUwZZ+KLdsiWzeijFn4BmSmxonOrtc8iPoKLgXrbZDPDOwKq4FZyaTZ9/2a7FFDgnDY15wdRp+JWFgvQZnqjzDPIoxaoys6lCWzyIiM8Lw3Hmr2MfUaG7oV95Ji/DZrQtkBzwEA3jdRN3NvL+xbBCbz4FnqxFPoXHn6fsTbc1JB3jmElSX2J6xHjk0Dg/UidKxL+7hSB8++QyQM89EHdOptmNZ4DMe9MOBt+py93Dge0Oh9W88lGfMSFbhczkRtvI57ZmTWCgsma1H9LhJUu6fzLbmqOp+csUwb8HPygUUqUaCag9wZCfyVtDl2BpnT42L8ZqlOLlOZ2H+ERQwMc+PITtBc/CB24qxqVIgGQZYSFbwsfWeuWcUF/G7sE/qUoU30cecvsL/bqJC4ZtVeepEEeDQvqZndsbGIfJ/dX7785/W0SneM4LabkQNdNPdDZWYFa7vVN01x7bzUvKo4SQOZpIMk5llHpTiGkZAzs4rZUtg0xGiEm3sDS8y80nijdSS2DF7lwf+Dk+MkTuxyhAZ61Ar8B7GOfEPKoOqYWp2SnyR/5e5oDCjT/DBQLRiV+OMjQiI4HzBHhdhfvuNoYKWQip+DyHqr4oTnBsNYHiEGMlSejZkpom9EGYYiavBpCPBK0SbEcI6sw08663lYdgfdKSDkg9TE7VWdmYNMA18ALgj6fwV2SwaVZxbz1rNWekcLGL+huGuS3Fc1PNfe98sbSXhTq1i5xWCxy7GMNnaskA8R6W5u6vldy3/7OhiqFF1/FH9TWJHQqO+4K3m/tvhSvseNam71oCknqJV0T4q59Ig5jTelKX1IvrEvSc6UdxPXmM43lGoXdZ531dLvqJZ7SrYb5YSZ5kYLEEMiisjl2NDy67CCKZEuojra6I6V7ngn08tlgwEJsRO1vqdJmqMR4PvMYsKc8bNiLKPQ5KvjGm0kQxEMDIMrDK+oRPiYK/IWvKDay1XL87w+4XhflWAXa6mXoYIL+nZSZrYC6qELuUkeYEUUNvX5/K5QUvm23IrliuRxHR3aHucUdhDunKKIBS5fCCqiD89hlR2wQzWpJt84mVNcTynz40Tuo1nGLGQRdmWrZEvof+wugwOb6PQOfHwDv7/N0MAyZMQ4xV23HOQhzsaOXWnYDKqnk6e6rdi4DOweWnTH8nMk+yw84JUswXJ4ELTkAfp+1VZ7p+OT9I/PpvMDmRgWdqYf2ciPn/7tW+5t+dMKAlDeExRBsordpoYb7MBNS2wSGiPv+vjV0s2Odgc2Rn+T3uNIkq7k/rZpJ71n9ZJx3r83emrrZcjR4MTjaefvmv3pGaG/jNWzMD/wo4YWsK6yS1LPSadeMgtSTS/iZLVEp4ERx+PVisbVsJOHIs0Ps3uQLU+D8oNb8ITXAWMfyvWEPTzLDVp4pRgTXhmy2bTdGZv/XzBul99a5i1E/7r14P7CVzCsiiAQV0cG02iQRuQ419M9qhBIFyLjZMVtV+buQNrJil6PxHflGTD5b4/UDFfuZ+Hmlc+1/ztP5ybRfABdCEH0i/oxpX2MZHWeDbs0NMviGqDWJWT6Auiwt4DuT4LVaRCAGRkUVOrAvVqfDAeAvLI0udGwiYsuYjF7c4vz+jEqAKeJhDpYGmZH+6HNN0G0kyp271cOIiKmUtTEGIA2gQX2QqIUSwir/9gl5kQ7f1aSu0yn+XHHPhzC0SUtPUi05MWYBHJPw++ARRiCAHYAFyWTacXrjvsjHDSpj6XZxBg8q4qGXQPnUE+MOLRxlQ4a0fbSu2X334YfOcUjIDK53aFx9NwdFrv6yiOnmNUcMwBYRQfVP5mSJ3njhhR/WjmfN+D7ouY0c7/lE3LN+/aBTxo1aRvrqKQk5+0/rR08B8gs4Em5/Wx1qNkIFTXFR/GpcLcVPJIIXIrxqVXTycdhKnFWhIH5H9WdnRAEm6hFbETTyTUC9n/lexfGlfDr6Giddt1IyhmYNSl1gTpe0Y4lWpPyxd+3jgDjsf9Al7DjukSfSHLBzhqQuDa0aNxwgkKjRFFiWxCz2EwY+xpfd2O52purlxV3+OKoySkxEW6G0NN8iYdVc1BjA1jwBKVn0orTCfiJzbWhv12zJVRmnBx70PMviYalyu8JNjsMQlEK6CVLFbpNvcjDKrM8Qnl3v6Q/rNUaJ0J5BP6YvaS3fRv+8P+5BAMU6U4EKJwurLv49PXbkshW9YYrC0p94PQiFk77e4qIg/BRa5pKi8SE/3HSJJ4w+oEZY6h4FAuZ6KFQesFuoM+XsnTVLYIX4qhGHfpygOfG1VIaPcgh7UkKQgMxPZ1Wqi8FRAtQOjE/FuTkmocMcbsfW2N6RKbwNu8MEEL5RyBgPzMqfYljq5uFZSU1qTfXsS5n+6PuSKIL8Ri5/PzP+TyHaBmu8XK7DHGAaOr8gsH0FUGbHOmdb1HJc2qjKsfo0e9qsJaWdePSRDL2FAW6+oMgS0WL010SO6wJBbloBVLccD5EdpEAdu5AQXCevtQneoBanRF2NpCbfkpFlZxnCNE1C2tPcJ5ti0xelcBabProa3AEEuzrimcVLP+RMttlTfITVdLFeKswgtZKAIhdR302iwoUW6XjViS2KzR0UZ0WiJet3y73J+FdEuYqpSTyRev2Hd4WHk6ata/lmIKJiO/o4XXIc6KESCtqhJoO8nVihUVxEaPiw/spjIKT3E2XBLtpE+p9kZicx5/vXdquF49yKFF6peg7bYYYD6mPx4QnGM8Rmu1oWD000SUJT1TwlD/7j+22A6OTrVBYvjZF2G8e3bVKvrXBvW9AONSKGGmCXIqYWp39Jlq/Fb0R/zxJNatoRFzz2nmkIAeRyZcasqs6mZW7FKu47BHqPdJfY8OSXCNIrWMRtQFucl6kmSblyoQMbRFhq8Gl6agIw/oVQc6qiM0L28dfgNhoDTf/KDg6chLzByefcjTi8Wl/fevAX08oGyOeoCaEiivj/bk0PrhAEL0Lau6+6o2Yv4IafZh1dD0OeojDO0PX30NPZgxJZ30qeqAJ7EM5Xz5e93/K3L79EQkagX2JQRVAPc6wifYeQTXt1hkmYgPAj9k37ImUweJeyIsa4+2iUtftmpDsU7DFNqVBGtz23gjw9USgPRQSldnMxVbuMYAKl8m7zaLRWMYAZux/xwh1pglWZEULubvexaGCTYtRWn7nxYAHHJMg0YHWychHKkYHTcIetOarHbTEn/0l6+NTICZ2zSqgvS8zqLHON2ilKBLdtLwCDM7Bw0RRlICa2b9KYpfkRU4pqC1I0T7gPQCRzXri/FAzcPp+Y92CC81Cy1VK03+Ki3QoznoVXCIjPSWNbDMzzVOGrtp9+Qugo3KmE14dYYue+6gQvavMDJNiOACCMQtKmlHtmZ75qzS+JCbdWB17w1b2tmg4S7XJJp87Ug7vKUi3w7ZTdeU3WMlAQw3duX3sLJqXd/TNIJX0I06TGnzeOWoNvNbxv/G0NPfuQM5cC22BqSbSlpUudr1nMZkn7FHoufc4T7azdzlDyNC2ogZ0ppl/4vVgPRF34+xUEwFEDaU3NiViPZU2hUF8K2ChyaxKw0Td6c89GNHtTiVMmh8jRSStWNFE/NpLrneRsYzRehOiH2s0S15magMXSc6HatSQjd3YhVsUyBfpAbWi3KjWJSLw/giFmNEdQd5a9ZllHYpxArBZE/IPoit0N4SK9V0tGzchEpGJhvEXmO9H/98Cq4epIYfwootHVAkAV7gT9s/E+wQL/snGMh5kyxjXU7GrmASNg0KVzrumcQ6EGDpGcVJrf4E41DurboJg4pOprVH97HjQglzMmtuO696Xs6VSVQ0Rpjcdrjj91REXo2+Ju7WY0MI34Ehjlx2z+tmLFLysKxyr3yevoC6JGqiJcR2Z3mAibKrYspKba55N8jrq9g34IODXMfM6WEIwe7bF4/Ivo6MQZk8uK9NpLbmfZXxHI75KIDJB6+FnysK1GMG1NZcdWZ7D+jayBJ7qhwq78+rWSIO4JECv+FvB6vt/2DQG23c/i8xw0DphlcEIeC45G99NQezerYhPHBrRj4XRV7W7n2AHK5UKX58YQ3Ddm1qqpoWhM6shHeGmQwlckcH/NFztBgiNi/EQf/4LAnS3WCyx/XQ7JQ+Cm/RDEMtEHEg+aTg+PzRWVa9KxDzbpCeyvN/SLAF75cnZzF7M/4NMcFgdsvarphLjU/lIG6qOAiwnX28HdaELYvJNDJcHIRGvr3tzo1FqXv+dLSYKmSQVcjKuOBJtffjSwx/GIsZCcWccvefCZ412fbH2VAr2j7gkiFXefT/qTk6AqVdRgDTT1HIlRPV+11zUiAcZ924JBmMt87PvPzIRUCDxK72ChKvDhzxqSosOs0FTiy+vcmtvofphgN757OixOSq9dEvb24EC7RXgwO1aMKSJPhzU1oF3rhlX1y+rSlwY5UCscigkhqJyJhvQ/GYYsDl4+ie/uyD1Fzq6eubySMBWA6q6trc9ArFrpP8W0EU+Wz6d7hAR5AjhG/ZMMSngQn9WS1ROfVxjmdxNrBb3zvHK18N4kxeMD3IdcrwWnuGaJhxdNWGjqCWbhNvL3DCmCrvKLm2gjpA6xOSq1HnCIV+Yyw+vz4FAHDrDdLSJtkoehVJm4RuUEeRX9u9RJ6a6tqrrm5p8RLv+hdvnF3Tq2SKvaCNARkNOH1I5aSWZo1rCfbRkj9DUJQzmnHwZP96oa18XdisCmLSFCVNFU9Y8+REbDxBJgI8g5S5wpRAHWmUEalSA5u+Q10i7hxmRRSYGCuq5qgoIRar+XcQbfWnhX4lytP/82CBzXecdbfq2hwQt85rWlfxZgNeqQZOlFTroQuQJ+r7F2WfSbuQ1nauMO82ByQTNUwym/0+rxBnnmi3BCUHGfyBFntYPtEuTFOwYIKcRAJrsh76SI7BWt5q2eGRTNXa2opAxjDfm+l3lL5lBHzsKkoPTq5np1yCUcxgBpe4juKGPJuXGp5n5O+Bo95Tzf78TfPAN8b+aWs707A3Mjj3PL8sSdqP40NqrtL3hcki7ZG6AE4YYZ8YPrL4GRRhwF7FLTCy6mphCqo0SdyMtwbvoGjFFQ1Bak+zy9bAz8+rVwOcZDtOEeFw6ui2XvHV2XcqNO75WzOeUKebrxa9itw82A1hrZbK9/NN0wp5cPy8/pe0eIOHE3ApCsrpgMXPz7XDCv/WjSKxJg1FTdAPZJEyATc5Ywsq6cSg70Yx7yyOr0SD4+aJwl2yAP9YdkfMDDpSyfwLlWW9c7QxxeoIDaHDhl/PDggCI8zNg9rnYTitrXX28k98UdWV8g9oNgUaR3mo7Kwp+JeK++4SOt9THh5Y3b6N0FziomZGMfuZkq4MLHwMAGnXF5QYtoFw6QolUAFgWtdlys9UCIU5rJNo9Nl4O05Qs49uJdGgnxBsl0D8R4EfuTO1bvOkLzhfZE1ktR4JIKfqQPSwqUuYZUcmdrsOX9YzdiT8g/Tncy89gS2ONb+niLdTZvkyVpRqFLfgsdq1yjbkX8IFPaFg9pihlynO7T/e8MqR5uaNcPc+P3+FNrltUjOeyj85aJO8wQrOpQ6eAF4yKEcnpPZ90qOACfHjyqpd17F6SlRS2r09WaRU1qm0AHQRXYXm5NL+CG2dZX3Gj7BDyJfd7nC7nJd+g9rVphODOxpnfdRG4oK/VGfNtRknlEgCpR2Le9i+3XIX0TWUEUbQLqsPiQYzdvVv78iyAfFo+SzheJlXH5YP73mDXRoC6BNq3wy8hpdtaxwJ/O4T4n9tENXDobRW1PStQeOdBtyHg/KuwnVOPwc5oj+iSu3u60F6QFPe8SjVT15bG63QO4QQDiLwq0xdembjP+b2jdjn7RhHHRdfPdQCg4LfZkS14VDJvU8m5JX9ReUfYTRHcXNgiFn6xSMCEX3CastivRgd08xrHMcpowZ/MM3QI4RaLnq3MEBLQtvEn25sQ8n9z6rZNxjvi2DUOGNhLR/4F+eGJql7tL57rrWOLllc9iWdXbkHEiFNAFjUctLKP2b9NL11tzRbcDywQY9h/A78F0j0bTwmj+vhGLZsYd/L8z+8g14LASm9kWd6M7yM/1nRkWT+9pylau4g/za2Whg4+YgIKsUPB7r91B/Lu99AIuwBj/SNCcOz7R6YKtslZB7QeoTGa4wizsG245wZTkVQLiAHcKCXbx07F5PamnEow/p7hFeOFZQrSh+qnNjV2UH01cAvkFp+I/xilf9ElhzBimi9BFEdjO5btqT4xDvFTX5xff6cyOMLtPhDRR/kd7mAugOdpC4YcsDRqJAKiQMAqC4J7loUA8E/faNmLTD5Dd76rzEWBjpY/D7P5Z5e7WHiBfl3gaEvNqcAD+EhFchbDaW8MgIYSs1h8rHx3DBqpYElCsiKEjwUDwr854rNSl7ckS3/oIfeW86hq3dQhSrhE5u1C2IoBESn28F4BdECxI9lzgnqS6LaPu7sdmH1waPh/IH0sfV0DGYv5uS+ZMmiy1wAh/kp6nfjhMvXo+bp0nssBcSAoIeg14BBkPPVQZSVksK6Vfvi+WFhrB0GMgcxHEtp6tE/cgpnIY7QsoOt332dXYQynyeZaIr3v6CIuUIMByTk+DYI6paKz/a+MmQQ5UCliw8VVxmvH8guYgtnNASQPrdI5bVtM5MINGI7TdlBMJRyDWxWTitc1+UV7nuMqky6jN96NgT9u/JDDcQ4rhkqpfAQ/xN8J+CqwxmTp8Tk3Y8Nhx2PXE1XIvtmusJW9jHcsRypuaRtpBlWdpg/+74yqVwr7B6KQSUmbFqyCGFO48j2lWjRgFXldTn/wMRkG/Tahp4haZOJu9X97hV3zs6NS4oqACOyS7dLvu03bIOEpserzW4BHvNQuoXEO4oQHZUEMZlTAkdH7QcrjjelXESvkLvJdAeBGnrZ0B+BsO1jg3IeDQWvpfUMD8pk6217joUT8zqCq6JtO/ossNtr4yQqP+V9rcGNwSJ3HzVOycWu4x64Oufr0KzxI9Bl7gUT+Wb7zsOM0BVHUwyK5RDwDqQZXv5GRvSHi6MjFuMwXEqlIreRC5Ymf8HJmtqQ2Oy2S1EpKG7vkxkwzFk86Z9p6h41WkVl4GNZEGft1OzxtxuFpCjKMxKONucielrW2hvLxO7ta5p2Pjq7kxaza8rCm9OSrR1FMGByJjschIVA3ngxT8bEbmzzzokfO1u06vFF1tuyErZQjYJg7lIZ8X+yWKrgIMCHhIUAHr0Vpw3k3k20TYUY/vvwKfT6LUJ6qRw2srn/WlQC4UhQLzcvjUEymcUzGqPv6zoOjhJ7vP8fJsmtHCBEqr7OzmOU/x1aiHpwwGj8FsutysbretJx3l4d7qVNYoH9z6qmm4GZU8tlSo3TIL9yZ20jpn2KauR8UWx7ITnk+R0JslrwfmrSCAyW9adVzyPijqz1HXaThTLPWf+SC/VHqI2OXIX5IiKCWnlVneqh2ziw+OmCUqdvHXJuJgPG17zvuQwh3pWjtt5GP5ToR4Q8oWUnbUobvlLpID2zPqLP1OGkXZVmf+AzuoYZVCDpZ8GU5oYo8JYLTjYlifpcs1tQL/clnB+Ac8S0Ls6ML4Kcg7XAM8KylLwRjdQn/enNWZuYDxvTnfZDaBGo5zMVb8/RKWjJh+yFHTzEz9tDh07ZoiUPXUg5Jya6Nb4j8mANqwOgFxlJE1AMOCJa95qZsNTeE6CBMR9KLKAPlO99kyHtizaMo0xiBqV2a+rI5o4k9v2DGBGzIp0/oo/S7JQAFFlMBT9xXoyu+4mK8tg1MP1og9sjd8gQ3W+LHIh+tJKmLQdXOmr2smpAW9RfOwmmu/QQ7hkvQ94ORzT33KCxkzpKJh75oVsrm0ujYC7DYdvSgm8NbcaVCoVcDEql3EnumMPsyocPSb9Jt7CtJ4ENjfmzI/zBX84TTpFje8sW7dSIZWUlAsh7LqG307f4G03wGBu3EowZsXjiUpemYbXIx5JxCzLYczuvXE9AAb5N/IwqX5rF9HVGk79Ixa95kUBvJaTJhGlm2rSm/PTqpH72ijBWexGdpejD+dTBMz0ccpuwmKySfAWGOMLVcEa5dW7BJPL4Mdf/LSCASDHjNqzynLrVzU+97hGsYemxCkwtIC7jtLvuMTDoEsORjzSpUuM2e9dVKn/pKX2u9QUSAPUusBjcgf/iByrK02tO8ccY+gqC5ViV0LpS/89Pf4ujgx+Vls0ExXPOpqi5iAx94/fqhlDujGV6sRk4U1rsdUvQ+uXBY1kHxhYpqjzLEFO9HIW/hAkquOK8hQle5fTSepEgi+cQ5qEeSKXkqCUBDQbBxQeCEJU4zaKQTT/4pU1rOUenrnB4fVBfHUx8Pu8iPs0nB0HY+F+QdJGK2tjARfH2VJbo+PimPUSJXrLvcXy1qJjGWMvc2qSCbGRvQlwU6BVZFuQ07Os9tR4ZM/PH6CY/a+Dv26afMNZQ4NQ99e5etWsU9gE4yo7sp8cZERgP4p5FHiXZB/UpTYMbz821Dq8W1GFhREc/wSKHYCylOOasg8v1cOy9jPoWb3XRHZlc4M/9D+6UyoABG3+0q5fs+o3wW2YWyTanYJ+CJtkb9NDwohGLhOnD9hzzOVfidRrHVp0FWX3YIBNIJ2OJ8uwhW2glBsixDPcHtEehaJSPP0zjHGXZvRB8IhTM9kVD0s7jgrQm+DAC/bvb0ckGJQqfq0F8yBiEsgLfjb8stOKtCadUxdYAQrK+9qW0zD+h/zVgrHVFSmlAonNld77stakVMvNRMJWGEnvBjNQGkyVJ7toGuCepQXpdcSrNKoOJemIquUCI6Vy1XUxhfk3jK7rlE013rPdnjJb1x/KgUZ+jd32exonmNY8/f4AD0ALI3BohjxbRYPYn1fDYvcBsy7+gu5xt0NZ021raH5qFEG96jxAa8i8uV3jNlSekGAQrdRPYiV6aj2+u4X+t6I2dN7JiOp6WqhpOPcLSz5NPOPSNqXpLGTPuR9WFfPBMVf350q+fxtTcY8UGCKDv3WLDYblthkc/ug8fSrjwwLOAMBgwoInozpTc47ddA1semlClBvW6FPDobfTBzwyVylQHVxXwy9DUTDFb9IfZcEm/jf5Sy5vI7QHNs5EwkLk4F08t67Z9Y6WIkOCMUU2u3H3OLxyu6B2YVrGKsbDVBh8weEUltN6iXb8O3NJMaBFcusVjkSEK7wzbQ+Y3gkZCJIK9K5vIweUYW4fzZlM/l1osrQ+eLam++d8MZJOTof9cw8c7Qbzn6xDXfQGZxQvR1fDOiovwpm2BXxCZoQt7ZHXj2sssI1eJyXoInO4YwTN24Yff444kwzxcy+I0mx0C5mylXqg3r8OlMvgeYe6gkfOr8bxivTI0cvcXNh2YqPqAtZvBUF8yTPqnc2tcJLI4+QC/DwLV7xBIur7MfIO379YUYeu95J4WX+WBcvFuw2Okbq4WAvzyxG0WA2tGeRXt3sfpus5fXDWdE98fWLocwbSPUp/vrnghsFAuERTdWvesjKFsrGekO20+ai0vfwT8op8Tyof4itq/HBUFlQgN55Ga2wH+IeVKvMbcws8YTMuTuGVEoI3SZru0xEaqbi1j7M6cSHC8CQILr3M8QrOrk6chf64vBP8TEDDavZp16ZKuDWDCZ1ZML/FOTDnvnDlXHdX+nvVhXQW57WJTSKPZdLU9f2i4H1x8YoQKNgL2dWkNqZHtay8sDPJ+hP96ZwFE0aP1pLa2lwPjvqBnMVDS4P2YNfD+buUEGV7ewhiXfvMPa8F6pTdfa0HJJEqK6Q2ibDxSK1CB1p2IpypceOz1bmjQmk935uNcNjqTSxnhj+F5sIVdzrHSf9lwGfhxjpYHOMpjQbicSKh2OAO4J9Za65pb6zGfZdtJBB7hh7rPpeG24V6KrB8AuqFRXA2OSO2ns6F+I7zUUy4lgH/TmneWvSxXuxv9ERALMQ8S3ZloGSNcZT9jn8P5bAu0Fh1vQvxGBFUqqObtgccLEYSmjhJ6tqg9w0cyE8NAKI0N9nHHvVsx0cc6qxYyTr8tr2t5RUNLuckE/D7I1REUIOye9rGGa52A6aT7rEdxDUhpxw/qWMYS86q/cW1WlwihtGCXdnNUXY3Z6lBIfBCn4npiLC7J2JasIgisj9xfArmaHG6GjkZG3KqZ1F60cYeu20iDVixjHDpIfHNYNF5v3Xv4OvsaO065VIJ2iok4jnHW72WAyQm+2Hs3gQJfpD2hB5BeAgtN0EEA/cf+/XM4SazHTOnc+j9K8x+Op2kUSTcUr7alhjoZkD6qVqqt0mD3XklG9xZj/vAeH1d7/QHalMwO9TZFXj+bCKCDQxl1EldHpnxNMiLCl70dgrYXgcwYkI3iTkBrPelfo7BcYNw2vD3wm7sl9IlTFDFjjfvijSaNeZwjejMGCtwjYuCkrHBWRO47bFHoSV5IMZoauSfb6F0JHWx4HxJQ4Qzwv5GyXs3YOtPueSAyUaGYVMXoEZy7s5xFmKMtzwSlQnNhDcKIpQH68d2rIK3BCdwI44skW0DFLyEnGLuTY0YWx8uBs7NYLLNZ6OUQ0i96NddeuFrObkqkcVOM32WPuByaBadA6YHot6ldqLQuYVTSlp1mOyz05CyptnVjlPsEtLGcAS/sFcODAEIc0SAVWkd2Z07GIGlGJCQ2y1l+L6jpWH2asPBT9PYIj+Opgnx+MTO6CG7fSVOySurjjv8DnvKkNXCDVlcBVW6+ob8xIL4StCQYE36kAOHrdp3Sy7hDxGUcDsxiabyuQKCfKQa4wGVVqqKhnPcc0pWw8KYL8c/lOJEpS3w0kdiXiF4N5DNpGx2jNu0CGnlx2qFrdc36F3VFXZHkrJfxHt+EnRv+E9J2/g3o1X9niDUQ28Rr83xVmNq1Gv1Mhiy5YcLLAiksz27GvmywQ9M9I4ImljI34tnh9+wz0avDZwuERLy1axu1zimTSlHMnqrzcZ+05ieEq19yGG4CUvXKNlKezemKBigocralCTKIdb24h9G7cmO8/P3KPQmzcqv/M2KYqUyJ5kt4wmUnqEgO/5jEdMCvXfrDXaPvggs6WU7aMTJep9Ql5aik/MpRCUcDz5R3YTk9Bm0uM941eqhkeu59PrmmYz5WVlDoVLTCIDYWE0H76m9maKPVg/re1lFC3nNcn6eMtH61Rt2vxwxw4o7VeM8OTTLRJ5HJl2xQQOML/Eh33/7u9fC1QkhP2BszvPB0PQ6vBR+T1UbbGvpm2A3NPDi5s6UCjzyOa/y1HXTWyi8Ltf4ZO9Li69avJTVwY16xZEGar+KTIDYLy3+ABkvVAR6y7yQZoMpC6Rx47mTMphTDRW9Np7DBO3KbwysphHK792Bxc7BbOa+ED4co/KSGZTe/IzMC8n36i1B24+IXKFdwRsZFyV/lWXxbaXncWMPP/kVg6gI0AI7PIhDwcUmvnCZ8QLaL1M8YypGq1XOtL8flh653SbsMGmoFVnqn+xtE56kwlAqoGVXBvfGmdpfoQOu39EqUMDWQDuyNmRJiAwx5ECl/jbU3QryGMHnh3GuMgxzrhKCjW71o75YtUu4XpFvhaum5q5Fv5gGWif8wXVJVZILHGACiiAbwgEKiYFUdFdpEHOHQge0jMk6qYAgyE0UmYEm603BSGTGHy0XHoAFMxn9FAwmHCEKUPwoE2WgH98NrSexTSkoflWrYhNglgi6f0mOugjZUmE0SmMDECXb56DobIX9zugunjvzyES95WEGtJIlySler12DlWcxSZxUoUq3IcgHExRFMEcjtamND/0xioK/vJ9cddo9/1cusR2HfgwrelNI7EMC82fdzGxssrsTN20DO4mTZbiwhjaRT9bQafN6A2KBQ1Rp4LYJIv+Y40rG++UPt90rkTj4YXHjrTzg3EsjY9H1/dTzsUvkK8aN1XsfsRkWq8/W5Y0PJHqtg0OTtqQTxoNt8/99k1NEim29rZNqdcjApm4Vzb+3fYGlVte4TZMcHjY2ml8FBlTyfkqPA2tqRqXXGGr2Y90jPnpttQ83jmiGYPKw53xJciq+6qlv2mJ7WGLj0T08CxvlIrfzErR8IdCapUj0Bfuz+UoJIw1jHNgOPJqwJnYnzhCqRABu7uV8kfErk/QqbKlsruj2PyCzyHPzmlL9mzclM44hZuZl27LT3emlG9hfjK3kdSzCEEZLPaNxQjyS6BNJ2ZZGHIKqUyuf0eTRQleEkdazE1H7StIdA/2tD8Cwh550lQZY7EOtjgEcnWCydxFLTaTRv+i2j3qTCI053YmsNzKYg7gaBrGAezYgtJ8ojompzZ7wXclU1eyoSi1dprX0zrOBUo3GqiOw/2zgMoPHDdzi0811hI0iERb1rfXpQXYVj4RIABGA4ObAI1WtuYJF/aDHnath3sIChNvz3ltZbs1JJ1UvLs/T2kCnYQdKF/XQSXvYu6FRLLD+a31TeBDfpc730eEf93FMR8MZiKtY+eb7Tqcesl3lnkEu+7Q6h9ONx7Af0djeol3SyEbRXGjiXP32y51PWPPk/tvYWUCNORrw/30y6QdJ0Fj1PHh5NQgSsdkHVP3gVeSmd5OOwRevmOl8MJcQ/1MUMTf6qW0Ax/6Lu+G0Qeo6w7/QB2XCf9HRO5wXfZQMVOkrB6q3VjgdMv21ip2lO54mYW7a79M5qWY4SVVFJsuqEYxKFzbLjbzDSt3JKGl5+qBMqF79LQGEt+B8tDFLW+erDoZI35PXgTqRNt5N5ww5ax5Zocj8W51n7Ge89Cm+tgDNMQO4aL83DRWesX73DJgR4OTYOogyg5fsYTkhNueI0xshvo9RR8mYWSK6bcl/tJLBUGYm9kRKb9UUrR/Ufc1Ir4Y5Tv55JyG1FUKSEo55QRrfLao0FLDeT3ijLTIeYkT1r3FY0A5c2jBGHqdb4vj/Ym/1oGIHyZlaNXQLqsHRQImOZPkIZufR7wItsQ0zTjzkaFPxMkYWym2qLWF2CvIzcwYROhQ+rNFAuJWgUIkxMKoh3zKBxvJLvHtRSNIpqPwiNHLo7o0hkzKeJ20N2DaM6rZMajc5fNMWB/u0Vpub+qPIPI+wPXl8Z4XFeHiy4i9FLE6MaAA5GnLEEafi9zV3JFc6p0tlXkGnRM/4REn3vGvQSa7CpetWUfFFFGsn+8DX02TeHTyqLIXIqLuvE8aL9nPo1tHIlp7eYvxyQNu6f8Ck/UrUOt54SamlvUDuADVn4+/wCyyoiBEMBPc8c96a8LoiLHeqrY6N8VwkBxSm3r0N0mQWTfO2Ypf5asffhTDn9ycdh/Ag62nrnpa4uHsFw6sWtz7deAe+RBiYSzTeTSVqK8f3bD9qKJKOaeLz+uflervjNHCHwTyQJzhKL4jTOCRzCB0Yt+KvryzOWyVJWR6ZuC17HHzuD+thLK+ILJeNvi5cUM4bYBJiNmOk/u6Cq+XDzIx57dSicq8tpgIemjSI36Tv9QRCUdRTjRyIZeWr1pU0hqF13qi6wak+nUNMMRZiYro2WMKKigKQv2hTdJ3XYnyfnHBVLiOBPhnOjyLhXNd4KYyMPNEheY1j8JrK43P4oXaBVE+/UXebiSHOUohwIz2AYp8TfwHlN+tYiIwya8mcQ7LOxrRGiOTZiJYNIgF9QCb1y0l66oG5hdHWYEpfMas/AnDUNlbo9RS1NWR4a1PKrn7dKIcCucK34/hUsdM765OO275TZ7x7ZjK/p1bH5saAFgjm33lBWPd4/i+Q4FPsnKmBntCNIcb1W2qZfv2gwWfZJshsV4iSrA7A/QZalqKimKRB3Ps3dCI9kIjhcKAhZxNARN85hL1/LIuyT207HOG1ZXKKaiF8WfF30aVzHeZ3DgBUsHzaCYORyq2pPyZ47vrlOjlDMQNV8BKqTCBJOQWzXiiAI3kCIuq1iujTcKIPT9IDa3a6Fv27v0HOIDooyRsa69ekfSU2zDXazT/mG9hbIfhjCtgkliAxnF33ID/fkVWRR8vmiiaMjZxdrk/isx6l7whGNz8i5I0VlcTI9HXOWYlR2SMtEcwEQPFQHD4ZocsWnB46gL2T51voeCMj6Wem2XF7PbZAwm2N8+SVBG5chPCXrcXjgtEZ9bZyI5fT9SstAbY4pKPoWPjpgijkCrOP8WkdtFpKdig+vC/82HeitkFtxXCv7dZBDsM9EcSkBfLO2q8q6Hcw7/KQ+MwVB/yNjv7/ljinanFY/uqFgxZsf6d2+j0C6dthmKXCMXelm6g2tjG5WVY04IrTB1rq6PF0nHckeHWBYvs69cyIvNxNabhjBwPaFn39sXJVxL740JtR9eFQOtFo1utwEIIU6tT9/RLx0wdbqO3rOhE8WW0HYvWPC/2uMnoWXxSa2/2vuvQ5Ati2K5yIhKtvNez8zx2eCxPcBOI5f0YGmGJHypHGeJ80/2VUNRXL5mOYYAo74mG4vTQtxhZ7XY54cji00cZxya7PSYx2dPElKBVcGp4AxNIHa8moQmvZbwEcFIhLXmC0fzoNaywYQVOCUfTZjW0A9rr2VMkzHHbycwvQZVP5HJwq+4ONgZmUdkiRBLP2glBgkOphDWclznByG+zbxIsFfIHlM1ajMyI0J0M9rdjE8PKXCIF/j/ISWBGcK/Bv0uBGaNRgPvptWK2F4q5GaqttDfYJ8LiibGjnDrRArRROLVQASLowZneUg27ePzAJqoiFh6saxbdm2z8HbCOetu0d1DNR7vf7W//TEOxc8hXPaLFyednokEcWNueayu1ExhshdDq83EhlBS1Gd1XMFseKdIS/hKei0owusKn9Mep2K3W+BDvuyGJxInFtwyZjwgQJ3BVTR6C6BfvKTBD/6aUoLTUM2jQT9YAwrq38uRvZWe1F+BLtXmd6erUn8i8m2lYESRiXMdQMsVQMNLnsJmi6Glj0DLyAHtfrPUbEzAQWrOmAxdaDrYKw1n4yZMLKC9szDuXDSjwVR4k5TOPpQ9pgR+KXvwZ0QPna9ZYaG4JbExKiteKOqilG02XDK+kZsoIPZ7eC31d55yTqffEBj5BrjNV6rxWOCZTi9wnNTRdvDSIodGkm2l9hK6cwwaYBUszA4l90Mt9HanxlebA+TCqGmkDFIoDGwo1RFhh64Q//ZWfu99mbBa8BejZ6tVZm4DrhLtfCEgktgfDrCecsX8i+vTJ4yn5kOeiBgW8n6+EexPOTBcWqq7CRQe0hR0Pf+Luz7x5ZN62K1yGvA/C1zS9FOBBuKaOb6U65N6srdX4krpdiA3/KNteyqxs8ueqEc2mLas4yqW6YtLl5mAKwvcH5B5rm4j4hi1R598kp1PEqk7ObPku7P5LEs20lUS6nUKVdXW22SgJcluZjMZjxvFmHaCIqDXL+g7tzuZIk/GPvt3lZ1cyzk1oXM0cPLDiRoBap8jf5xoi0C7TDxcbEgv2umlro3AnWL/XH60ueY38CDESdqJXjRUYlFGcvDIwtOJpbhbb5aoefM2oc6FO+21pkDXqLxdfzcZS2k3yLOlYvUSG2wyUN+5vNcKha/Wf9c9qV9K/PMfFmc+wn3+146TpHuImZYWjtavscurANtB4K+vyB0hceRE2Lnav9q4xnGzidUnksEVAgBSLMHqTTNT+ItnS5iM2b52YiJkMdmDdpR1uadUlZJySEapVMXBhctLCLidFtgDXuSDyPlmRPnqLX3PL7522CPm9b/Fmw7vm33HN4w/81IYxGoO7LbiArzZqLVKoUI9C4JJD9lW4TxBl6frPJw9SRAhU1h1IdRDmYr81kEmfcOQkE59U7WAFE1h07f29Dqfgvc4V1l2MSWaGeU5DTiLH4nhk/d7RsNpojViBH0R4JleLtG4EhccGxA8WamNk2hzkQExxz9aZ99Xj4VfEAOAJbRaNouVOdW5z8wuLkBfPvCsPUfMcQEW+zZYINn1rbfw7citpPfwbh6a8MDFkfkTi3fJQsQhnFADKFJf2pZwPzNM36CHyzg0WrmKNEEa8M4OkgomLD1w0wFF5H0W8P87SAz9TSSxZa9G6mOx+sdY0t7NOTwmlWMq8S73TIXkhsdjL6KRVruRSGE/rT+nVZept5J5o6G8Qz7tsJWhpIZ743oMR9njyB3JgWRcfsf5vASOTfw1U5IjeBZJ465tHsas1IrUzKsQBuL3gRPKPykabt1Z/ZCodnKanHpTNY5ZZ9qmDUQ6TivduAZ+/BUC//g/sl1bJ5Mnfns8mkFS6uTK/jcYvjUpsvu2glvxO6Iu9b3uwzpTTCh5cf1LTHfl3UsA25kipe+s7qRyYQQYn7GaH7I3NlYNq1AgY9pMn/dtXun09Bx9HqCc0NguSc6To6GU33JCjrRzMxCH2NpottSKvtN4MKH/kYfzA1VSyFgAg30CUmElX0vwiIf/oOr3dNaIsNuFPtqc+EDTo9wKzzKQyQHCkc0qL5PhKUwPtfC+rhD5sGKXPF8qMnLOkhwqOleJvHjIy+1QsSHEeU/OWJDU6JuUg/nlOcr+oQn3RLW/s2EDzzYWtDu/OH2caX5r4xuQCCL62LPgAsBgW1jo/YwVzvzxJvayw0sduFiZiSGLIB0rrVXYwW73ZNA2cJttESoGOnGTSrf4jaeQOCnURQf+1V/4SN6KEaRsau1k0vJVi/OMcJVgTOqi2/KCrgtFU1S/wssEBerRzABc/L8pyqBMhplSm+kwu1XnXSWQYjC1902vvFv2hFPc/Q8YaT6f55FMOFXTK1X9ZhmhOLDjTBcO1pC50yuQejNbmm1o3ASmFNRDyx3FchIy0uwG1m9+Hvi911tTwLw8WP3G1tvvCLr9JdLxlmJooVqvhvRuvgdjrLGwmG8dU53wtRr3fbrPvC0gVtfnlmCvkvrQfdmc/PIASnniTq+bur8AKS/D2/1yOn5J6+SuSSLRjXowm7CjVXvgDvzJr8VVcNd7d9IliY3C34GZlI099pcUO5Vp22vWWBmDJo5EFe4Whz+8V8tDAbLsBCYDY46pQqrd7go6Pr20j14L+r9wVE4gVIqLiTxoeCgobEmJwKgZUAZwLtk4b7F+z5x9CRl2k2rZB06VHts0N3CweP6962oU6uPPpXWq9urb5THPizzsBSMe3OezBvNxNnzlfmq0D0d781RVj0J9Bi4YyxiAczQtxm9Nxz/Au5sWXsv/Ywv993PiA1qBJjzbLJQxLU2N9twqS2dfw8/NZYaDM90fX7m+25ViJSTCDq+2HADo5e1oCSln9/GBvXhJOAF+J4GqV1RYJl2C+TlScj1iJ9skSBPcJn7RFAyYMg9R0cAdW0EZWsiUPyLJZvG3rdisHRYQ9M6red/upYss0ZwKMAwIv6EZhWWMgMocVDOo8tz6c9pssrEjkQEM/nRuOu8Y5ToeoyJefBUABx2VLibJ+B1l+j7AXV4cjalTnalk0JGxJtiZKa1quwHMQRyE8O6vnb5/niWdCaj7DULf6Lw9k6/6XGXNcPLSm/BEt43XF1hGlPcTSixMafwU4DquaT/tbzcrYYt1xeqjf1itT6vA7f5ieTtE1ZqPAqxY1lnIPbvsW/uCPo7cg/GuHoceG+WBHRmoFec6cMIoDMErquKeWkNROHdd4kwncYmPqwgqvALdQjTzyrAd58OfzvvPXdYQHbij8a8wUSCrkpmakwKXZN8sqRWVBPv/1qtAgsmmXgDGdTnf+7vR9UDpLRyAgDbaiR89FEGZPld1FIsQyNZ/kb8tcvBHC9UOG4vli2M3FoQVgZSeiWJRTPER27jePqzpGj05ctzqAdE76rkpg8Y8GoBngPqtVm46eTRP37wv4kCDxk/2UwZSwbA8dNe4nVYPu0EXQkBLdiHIQ6GQpqWD5YAjB4GcnUrbI5WjdHuhrv2ddC3FNFd5aJmoklYFJPonVhkQSohC2T2CYG6sZzIIKWk6pwCQ/5g4GdV7tW8kvonnQhXxvP/gOL0170a48GcYSLYsPGu4BmPGiWy6rErK6uGXHm7CUfjsCgN6HWO/D9EJHakpAj18uirzm4exUneE8C8koOWHZHsvtWa0cV10fI/vYqefQUrOGoEUxYhH0PpWTeceIArmdr4ADEw8cMlBQao4LVO23ifRAiW26Ir19el2vSQamMCYbUkj5afRPSHv4F5Gdm+J9ed+v5cI7f/qOtxHArouza7Tk0dEsVLO8Y4clTXh2YqzrCZa1rQ3qPK9lXPc2aRLPxliPIT4dMx57YkI1jBQPaim3XgQbrbINV2nsI9cPo8cPOTrNk6m6667a2DfyGxF28bjDMuVlbCPp4/tVhv5H/Opy/TxYn7DT0aNloIpkztFciA3bFbQU/MKLpN7V6DwNi16a8EkU99VkB7+TK8ON2paI2qFugZcsbbaxLaz2B6vikaXO38y4tgVLxSBhsH9epbx1a4MdHA1C98AoH5N02Hw/D7n0vTwbchV0TYNVyepnA01IU4bbWgIfM/jZrfjsB44KK3VIdzbyj05gk+qRmuoBHJ0X/+oJ1jeNB7XUihdTRZkrNY1STFIuFSVlNcCeOm6i2jThmrOVnojpEiqpZoDsjI2TdFX2IB2/yee/8alrd4tHQ/zy7BJ4Dftztk4klv40mY9Lur+mWy0ghE0jrSoNp5LLz8ykqr3nRzR4oq0zzNB8Kv10O95eHQ6mxh02cvhUTDsSdPNpRggr4sczWbufz2uHh5xRB6aPn/df57EQ+3uNLP1xqBM4xAvs8loD4aatBFNHQsh8hB4BukFq2o1TR4YhHg5uMfmFhcP3MIRSVinvFX9+up0iRg9XojCCrMecT75ogNdPKetHCbqjTgidV/9AG6f1Uav41cQri1KF6aEmPAt59L1zi6gxgnYLbsGXyCRnXN4bKUr8KJwaLA3rvQTQCNaP4iPBSBpIiP/a26KKUnW4JzNKFybFS9pLfTgkeDhn42TK4s6mjQHhSI133/MtF1bjgTF7Xq1vAmZYPiJIEdhhseQh9uWXTSmBSsfFy7OYk3ih1+4ONgIbT26w7mSMtW5J3XUYWkpQmMXv6L7MaJWeFO+JzZ0HKe53QVqgt5VK4FAs1Iz3trGqr2qgUx+wBG5boQ3oULl2JoHDpeJgycgyo8R+DynFqHWYSuQUPQhFy8OxS9k4g7aopk3u4hGXqx1nUOLOfO8sDgIaxm1HaTgZpx4nPaHvW03yH4QtG0gdqzBKR9d7GltNvUPYV5YzQJ44hp8d07eA72Bd7nIR2Hnp3M/aDiCX6E/iyx+c04Cx4Z3x0ViiNBuC/hw2yP5mZ3exLouvZW4nJCgzc5QVTpLbuaYq8ROE+sVgc4ANJGUyohvlPQEozmAicCa8R1A8PkwUl587kIfft41m7wxRHrZgIQkKp26LhzJxvaPWENWzkK5+MnQfmbWvUNjZHZSDqMX5/4ND4RC1EpHH2GY1ZRe4/KKkpQwAipbpLq/1/b4SoSbIePamUyVM1/rtLT/9SB1zlK8qePUWq3abH9a8prLOU1fr3OmctCdTOlTB4rypFzSzHCQ7gW2IJU72ZYj+3uxsX3zPvmeeXmoFlt/WLWKaC2ILGnR8XylX6JMSxvWWno971cNOOMBEzWX5MNK4Q9lap2hfrJ89ZV63kh7nwzNiTtvxnn2smtyKojWlno7gtCUMD6TehmzaX/eEs31SgHzcgFELBJgOcAnU8nFW6kDrA7bM8xjbEvJpIqXIpbxg1W2fCl7LuELf2OOppBs/60ULfKgjc9gr1Cwbc4Q323BAkm59UzzfSJy/xwe2OIcvx9edwagBZQkKw3QP9QpeXJWJeaPX1HhA/CzkSXlipLFY7OmqWx18LWMrH3NSeM4ruiQ3vzj5JOeBGqolv3CaAXsYakJkOu+6/j4YvUH4Ktq7Sip9J5dTnfdyp2SJlIAaKVjr2PH4XNqWJmdhRx4lYmC6VANrK1j6SKDvO4IuiExIKiCs3vZITSM6hgLVIzU+hX2VZoKHr/oabVzCH36S7qnqG2oD4TFeYRwZSQFmsFPpt7+G1m/f9O2xCMrW2bxkDHBmNrxMey42fKpF8nzVOnXJrhtH2q/+Vzc0xG3m2LyUgsY25e7Wqx0hq/D0gPy/P0VWnmWmnYsyHiCpaOHVMosYeGI0JD4sRi1GyOn9iySoSNDn2cjPzs1r3FxlaGf0ugPH1D2BwlViTrLyShELZlreZb1SXNteF8TIpvAGGxD0X7tyRJ6T/aat8eEiPd0kluPi4zW/sb6SF3OoFDz1rGLHBNTFjJI9PWBY5U5amo2neXvoyoH1H86yDARYhxbfhCUuC34Ixuev+kq3yY590Bu/wWDSjc18y5X0wtuUdh9fVGUuocaR2jlRDGzYZUc7nvil/OPswk8ApOuhXC139t8ZkIpU54xW+hZCc6r4S4V/NP+UDnDyA8ky6ZSmDMwFCZlP6XWyGaRjKeAOcggIh1nB89pbpWKHAxBHYCUzvW9x8QRI111Qx6Fmg/Oh95Gu06vttZWDCBUlRKkeioNPIx0eh/eFtzAHL9xMItwh5mnUrIE9GvVWscdjSX7wXzjEY6riDThmN/iL2fPi6F+nuGKDoPafs8jsh6cAq/DWvWAr9A2rQUFwxcE2hUS1+mi0X3M1aysi/D1Nzc6Zech3Zwvk0qxQBPwP04U8G+tbUACnYcfI7jCmgI4eejp2V0a790/4wKiu1O/SwD9BQhpJIjIM6YUJ16N8m4souIfGdGjVdzOMzY+ze1/12XjwqWmqPeo3XRASvtNuwSuxBdaFVgs8kwme08POJWoqh9/qC7xSApPm6NkrJQ8Yqk3KCLmXe4B/OEmpnrmMB6F/Lbz/UEdgGId6wMrKe8K50N+r8mHoyHoqktOzDZ9Jz4YfaZU9dD2N/jmtOEbzSw/T/NDstOnRu+HAm7glO4Jl99Wlq5VewsTyMGm4W2XNnHyGntNi4woKKa8AL6RsWW/yhCp3DJ4i5NBGGVSeR4HSKGTvtc1QPlBfVXPvmerrfbvjG+ZTPqhc7uqQ4BUNtvm04K6R8k/60UMI93qtpHbPW0b3csDFKA2tI/0Uby6dhRZtZ747+DhpRHRTNxtngd/qY3OfdP/+HEqNhdNLd3Z/kEivPOg5vu4v9LmwtiI95/LyxBqEmjgncEITIPSP4T1tF4vToPlc/SgM70X9vcuEhep16rC8YGT9OQdwarcKItJ7GP4MJ5ns6uXM6sx7CZyOpm2gK38eUzt77UQvJtGMF9YIAODDhZGs/H1td5d7rr78iUZHYa8XnrxS3k9yJtoMMg+axw8i+isuWX8jPxRToc/4qWg2QerCuKGbqpi+ulTEypMTWmqwKEk2JJc2SpqZ7FN7ChFZGUb5hujqRIBSaHb0tHZPs1npnJGpGB3i1gitWQinCYDkwudy1HHNvaYEMZMgsnJ8Cu9QHoQBsYEGZVK46aE169mIskIQqSkEHGP+rIttte7Hx8KNpS6A31cwKbhPBZNhHZGzSAGR0C6hnK8Eag8DeJs9Svijlwdc2fRnIw+w49vLrz2UyJzOKTTkfKVViZAswXAYb9n/tWPGfKhEWs05kTM+zNvPj6EZZ98Xu0IJRz7a+2VfjYalTVhLQDQK8umtixlSiCTAXRwcNeyappiP5TKw9i1Gu04oJCSVc4iHDGowsZPx80b28zVWdZJIRKJiYkWj+9kEMo+pK1+MZ/q4CnYjOzA5A0rb4LYo53ar/1HTrpBeveTXr25zxykCZMWu84Ik3ROjPI9K/kKSBazCPeWNtU4BVFXvYiGOyD+LGkpX49xLZmvKa5cQZonGCkhJR2f+bgFDWvY5eExCZtIXTEmEJbh45wi4/neqoP16gA1X4vtUXalM0nTd+2WoFuh3LcydIeApl7Mb+qJ7bv4habwhI/BDGzxtCA+TVSpNsR+ApOnW/+g4HEsKTwZ6D9ie1qyBMXjuoxwbSYTGo7KSPe9rfKqYGx1lVk5fHTZg9J+azGpaYHC7oXym0/Lhzqmo539OYNuzi6ggIsXm2/hbN7+nGxdF8GPNffEKiFukAPM4ezIHZyz1qyVAokWhS4NRhhJB49cbDj8ymeIo4cSjchSjUdzRHZm7+fRLVVoqd8QxovexHZPH0r8A9WmMuByNt2wlIByztdTm0bc7Xsuw3sZQGkK0nWjSVbhk40N6JnNb+5Gbh+qiKI2YjHsDnxO37QITAa1ulc3v/ahPgQssU6dUWsvLAVes0608mhu2ASj/NJpjDscNMUKV1nxpWf4Xiqxt6NV91Udfsgn0lFobsyq8XdrziRJS5Z461IlFpvOkoAzskxxOmahbGvRmYoof67+6jRIu7LI6Zy3OAlaFpDSjJVGFMkhqjeBn4/6WijgpP2PT05cVisCslFSrc/qwv5pDP9W3/2ZVq7MUFSIVvPDxYywcJ0DHfB+MIqcwQQbJ3U8ukNTovW6d/SQaXzxOxJCQEm1r2TRy6bJoFmwxJ3wqXeVLXIZFWB9AiRJo8AmmBRzUyk5feuss0O+Y3md6Wli6JMlt5j+tEiRGdjEXmiyvKGBP0QZDcjP15hkGX125xpKNyyipTvagrFrqVOfU/6RNOyyw00dlzle+ga85kVzoMKgAIOLUVT0PoOlAx9fh+8NqcWVQ4PBS3gInEwjY4cNneNX11OXvRo8CMi/7bErbfrWKhXDAYuT3sgvdo6Vz+AucOTD0G5Q+H4J3TAah+/jnxmOrXYgHCVsHD75A1SyvcngNulHyOXUQwoStEihp+uNtPJ0CHGogcdUJ2+eRa5fwvQ2nss0dY4W945w4uVBA+fn/nC7IVTeeVyLcwFWzQWJiOCKpbOsb2bG+X+Q5EVZdsmjIVediaKutI3vr173DdkRrmhXrMbN62dGo4xavcTG6UtS90BiywfrOzmpECpF1LjOUiNh2m/wJECn41f0Q6iVPcYHvFgAfCa2igY98+aYi7mLaVZ2zNCh/LpV2APIuRKxvPBPOFLPj5OW7ZPi64JVE7Ci/MZWOn3THyA7thpvY3zZ6pNUD3nHJGLmrNO9iEj8dAHFrSnfy+eFo7WXa0EKkZllfnnzlSLM8IlzlUs74tcRmzIbStOUappsp1we0abgQZTqZF+lrBOAv5aPfV5ZIw3t/Xfg0zJrUQLhu+eXX3lSjG2cj4/Rw4d8wuPtT6VzG6N0BNDitup1+jPjlR9YHilwF2FsvyKzSGNnNrkTPjJMCPw/+qwDEVNdhS4dg3ybfQwL0yqol3lsCpDzGQMBK6FpyomPueReKSK+ThPadTjUDgNU0VSlSu38s0Aamsfr3YT/Tmz7NbcxQKpuAfvKvf2wjfk6b3nqGScnFNmzQcRgRQGzllwZ8wKouUEac0Z3UtEnvLqCrBFOkNCM5qbl1mB8XqvNHb+BQr0ZNgbjuzIKnu6iemgU/q2ruL2ii7GXRZl8RzEk+1+mxXOlqTX4HdLwyHT37FiZ/e+MJ2csJH8h2Tw+qj385ybgPEHQjPs19ZnQZfRoPUoULXBM1dtXZCnkrnVL8cMEr8ZiFvFg1jRAI60cA+5PpWsd/ESRZ99vu6PiCdnVTHmLtW5xmhcgWtdRhdaucnK65FKnJF42PVa1NZfm9DgT+ikqcHnJ7Y8dyGayjPR3sMHQbQM5rU8xEDq8UUesmeZYIoXfUuJcujuGKigNUam46Z30Zg6tzvGmGO+6nSzzVzWD8uN1pqUOrWPQqLE9EwH9zSOqoHEPLxhg4h+6/L09qKr4V+2S9+ccBTDk5uQ/EVkQbbbBg24SUv00uNujSAZXY0Ih4vZruyQddRRGe0l4iqjjn6BEiau5VKT2I9eUr5onTV1LR7CuzIWylglx76jGIvLS35w5MJRMcwz6DV3lNWH+8fHqEu+K2a3HwRQ9CJkXXE6TOTjlp5406cqi5c9hlnYWiUxJd9I7QJKAhYCBH0uCCzU4KfFHw/7sUl8niVwXJObEydsG0mk4X9u4mPuJyS3wFYVZHH5eAhyoy0Jcaeom0inEkcykly6R8hED7VyyB2nkI8nGv/eaEXQoCghXnE1omk1TuEulgK9u1RypMuJ/aM+LE2HY20Jtkvle51UDgNrHbSat1Nmukehfgbj6bEtaGNs8reFpNHsbGoKpbCWAC59F06YdUvYA8QBG7vgfTpSBoYPAKx43glcC2dD7RbSdFH6HSPVZsoHm5KOHguhvOIh7SdL+4MU3mu5Y2cXxUq1QZmPhFBID274jVxxFtWJtHL9oHTmG/aj6Hbq+NbNpwuslqsuLKAnlHgk/dCghbxhTA45YRhxWXbZq3ZJHt/HsvuciwRl11LM0VFl2tsx9lgoZI0/FhLjbWD3eSAzIUaYZ1CPJTN27B8SdiZFvi1IpkuZQ/+JNfhzAyhqINsnPYJW1FSoOlU665grvZ+OExNhwHwvsEXY+Fc0/Hhny5cOsRxbBFR82pnFDdT7W5bKx7FLddUrcR3ofMYYnxWBAu5fq3dNVtUrI/uWik3cdIcjXmmfHXxQgTjgPPGiUAh2+P8emxZpjwyy29BxyrLe0p3W3xR7yLya6Kz5B3yn9LGVY/mQdTuHJYj0CNAOe9lTZPewRaaxfOlKWUcvkwDcEtWRcNN+oBAvuFHIa1Af0WvFfPjZGvnrdBfDn4MZw/PC6BWdG5ofEwfMoYw7CxjyCnE8RgPd1QN8X0xKcYEDx+jj7kLCnznGHx3GAwQJDQxxDV7RYTqCZHVTVAZy2JlCy9TbL0lXQcLNxqIsQ3Qxxvcjoeyz/DkOuq6zn6jltmjGi2sSiEkqeqFp2XaE9BV8wyiafOtCEL8ndEtgBfIpbItAdV26FEb+OJNPEMnfK35QkqH4WpCHlYQwA/woy4VuLAUR8hz66fXbmNxQvAvcAG69yDxVanF7rfvaXC5amxpOTGiCimUqvUn/wpfnnFGXLPNC1JaOgYodbkTVQXh8hO9xklKBKvgOQrh1/snLfrFhg8NNXwihSTzizRPyaRQINwqVhy8+/ImoClLQ6msYnjvSwW1rCbkcuYCjAbUT8uBrGIh6RPYeJtEKBHe71GvuC7xKaGtAp5oSHcyTblF8AGn3ri0q2OJqdkVFC02jKfmZIvzQ9omAVDajWkhs+UVcXkTgHC1JlYndgXO+JS6QjmpjNaw9wRt1O8k2xqikKidOnh7CrcYcZ8Y4/sBLEbEBuF0EXaDcXP8JItD+tuyBldZ9cKtvWj/Js1uqX8H14A1zSpWmWE9cEEh21gPlGF2ArVCKpqy/UCAjG4txU1Spw4s3aguNUe3G9FkXaoqbFYzhhdFsky/5QC8h49K24TFont5BT6EIa5VaMlFfeK1G8VMzi+nhT0+1pGo6g5psiNvFyRjLoBQ89DDzxJWqZD7ThpglVuZB30XPLVDOIayL88LxvBag4UoFnS9+ullf+WSWEyDblD4pO+OKXCWpSgWIVH3UDXO5/wgTcPcnVOl6AUpLZ5NtFlSNh74ZxtIkTBw3R5kU3/zT/KwDkm6naKGvudGwbUlGq57t+vOth+2bxsUpZ+KEHVG55An768iRyluDSQD8Bq0WLWHhbYUrfVj8HIlHBO9a5IhjCgO7lzRGO0koD1n3MVIBnp5RLGqdwFs5SDWnwZAMLgt6yZ7h00dNVLvOi2Um2ZP0Bpu7VDh4kVWYTf6HPxXV5/TYvFJY+6UbDwPFL8ybnVpgREbKjaDyumuXGMFtGrRcHJkNYIrWrSwDLbefFsnIBMvzzagGn7ExY4zWprJzYKQZj9/trU7xmTlfxGJHmZustjrkw11Py/oQNWhTK3ACTt702+O9C1AORdQb2dUX+AR7XkQxi2Z4cyGF/EMuVZNkJudWyAsw4DuDUs3x+892f7FIrCSwDqxhCdH+xU2UZwjic67HCcM2tP78zCC5hKXCd4O5ri0wVIcP4w3KhtNZxcgpvIP4r3RrBZGv8uISyJ9tlOVhNPmDhXtGDO1MRue0AO8iqr+fJzhZMXZrIjWDuYLwBOrtyZCDHxMPuBqLVOLZi8iKTe2mjb6nJYOcZQ4jLCLa3bx1xGdjMfCOWkI+yIwSddCmWKc0C0c1+b3RpJbon3aC+vnWYzCMHC0VWXkfQp6gkVFCMoOUdT1MCx47EkddFgS0j5+Vyec7pnFhAXWR9DdqNPcbq6yzrMakyo9xAoHt1OYLgXwYTB7H40LUU0SDmGOhlE+VaYhGQ+kz29kcujFfXSejfkQIKLqOlSCpJQ/8/WtYyrGeaEh3O66bYj1w9Tm6FhiEG4uV/UO1k2+UnXpgQbE4wUeC4DnIUosFw5+YvqnYuKA7Gk+ghLall8tMxXc8NEICXoUz3429RrxQU5YOtpSzk/5+VdkIkN6Ms6QT1/oWWClNU5bYdft1q2o28woiC+g9wxFNriNDpSO4/33g5jNoIgFFIxwOcxbewbIztIfCYDJmPgQdqCzAslU+G1fnIOXHE0hOf/8lwTPf4bwGs1REJUFl787G7iVua68zATMGeNb5DAzbfSbH5sOl9dtLiaZtII57Ca9EFOuTfG3K3GWD8rj2F4WEFxK+TR4ZLzEUufhz3JCR3QLm5L0+DDVOVuGAwLCpw117rDYjeoFY+laFFDEzo2/ZfrT52ayC30k3LcH8F2pg781eFQbVuy9F25jmcCOfPXMnkABwQ+9XmjXEVnbqvsbdPbWWJ5N5SLK6ou1Jp4PM4KYpdwH844r8c5xu35CFRp5L+xYI9rWJAFoq/n2OcYXPM9LEsuhShGwgWNMmPMZnXZr9hYwqucGl/lRezrjQiYWYr1Rv4FPDHz2uH0V6f57/iHWqIGZ0yee55RbDG83gRNY5dLH8qpoSq5CBL8aqWvWoz3JX2sbYEE2gA69zAAesK4uy2a/vt7VoM8SuA+KtWSNFgZo/kUDIx5ukPhogCrL9mxQ1pCjI479NLWsgvatjDm37HtGtdOVIINuQoMSoUeYV86BdUiiqSjlp3hKy1M4jjcIS4RER+pQG/o4blj1+XvPNb8F+S7hi7u+PagC1o0vJoJZonnFXxlTSUnejLsIrdyBQif/8HVvmkSX6u0NMEdM64pg5PcJx+T9hjzO+GDhQ8Fs5DQsaWHNjk1losnFtGCHvMmVTuQlvEXeNnAHIs9VxAyI0/HhgdX5mCujIsBh2ZF5G0UXHTSKHkiYZGzpLegTRh6agDzq5q2jN/78WuyOic+PecPS+MLOW1AFJaTloZOJDqmlRisrODfz0AyTOOpUeH+30VumWkrfZZU/KahIJSqMMwi83neGn5J58LJlNcT8adDRg66qugBmZ3bvED+noITbTNjtOw8sE4lE8fhZD7RT7X4DQjHK5JKJ0WnQXxY0ZlY3Z9XOB+8qW6OdXafYMZqLBWl5WgUSEREMwbODk9TBW3L1U5xjPXMX2VO59pnQ5RxiGTvxT9uItswINaONT8N12hb/N+8I4PY+rpnL0UIguq+sQhcMQpVCEBSvWItdpgH/bmiujN3+ClCgrjwTbX69khfYvbPxkDeTMF2zWq+6tR5WslDr1k11k6chKY8HrjXR0or2awaSz26uFh+cHfVp2gKgigAgHmFU+z4InnbcVL99RHIxOGKOGPhJ6+N2n5qubNGrsTuVqbbMWPuYn00P6Y5k74w3KUqAiTbLuhX1mnlwX39SkiOLGlfWt9o+Krlfwyr/9hkiEUV7q/KPkorerUX1GaD3UZI3QdyyzSQUsGl8J57ZZbvqscgYm5LNvs7GCsd+E1SldM6rYyUK3zOFwyc35cDeEkWMN4FdoZJvnRd1UmWAA7yGRHf1fWTg1jEl/GNBeIZ3MhBxubBcMdGqcGy/dskGlX2BXmlcQx7ljAdiQuSXJqkdw6xazBcrh2F/cobtBrkrFEzQDriSwR64lncfOXX4QSHHREi1PlzamlLMvSsgtRIkozCSEpujiuqcmKAvF0bv4LSmuKt/7/pkIOzGYdQIBXWnqkZU/6Kxiw2FeLYTkezqo3PJstCeRn8AcKfZL1oAu/XJ/Wt8hYDAUkRvaiAl9qWvQtuEISqVz/8qciW23OYmUSDmIulaNvbJZbnBeoSgTIj88EyDP4ps6SaTEjNioIg7NEfFJp+XFU+9ZTdcR80pMPlL8PFpKp1in6hEQc0zwOPTcT6Uu1w8Xd3h9VQnzj8xuiaRNcGp7LFiZXjznuYDxaj0cKIPxsYa10wGoEIANx+orga9r/1KhkcWNK1uBluINvSbIrGT+cV3aoS9wKxd+X8BvXPhEf3Ykziaiu8InUmYZQkZJGd/vLV3doBc6tdOkjSWYK3/v7dcdfZgcT34hoqgA/ZFD1a9m3htP0DuCZgV5iYqLEbQFNl6RuSPS8tuCmF0AQJCzGECNidlqsEq1dlOcSnmQIiiQlVx5JZVsKMjrDV3A0plffoqdkz7I7HxSMu7HmgQgp/LNo2N9HwZZ1eau+sjmzF62NtRABeKpC9N0CfjMYEOSMzr8FhVZpU2qsZtbb9aSAHXXXihwUJZRC0te/lUP1tpDwFHKVut8L+56BL/CIYxiTS6GdXp7WCr/Kum8l/M1kZHxlos+5J5ux+fx65t8FsXPrwF+ALPRPtricU/w7Yb25w8IIzOHZmzbCV+L/0rDdpScvwKsooIeU3GGYIKFLh9tcSPks8HS5Vr4oNb6O+7gBVWzfGaGAKlUjUHKFFvfMau2KLfmBi8AF8p6OYL4HeGcbWJT7GKUO1YODh1MM42CW/hP9HBizzBlfcwvcRLgkdCtGnAUb73cW6VsX1YtA3W9qbyUcrD55aHsaq4pPGbsnMZ+ZTah8JI5wquvUaY8BLMxwW6cCjoAKQJsp9xngMrtgvuTQIwgXGThLMyeJKk09IFdfMJWqv3izuZkgh+Vlkfh0OJ5jwqw3tileK0ge1m1WOhTiQO3qrOth3tTZwmrQlG/8GA3YUkBBOxOAPdK+lly6BJ/xHDADhWSmNAweYm5Nl4Emci0j58cHs+hStJ2zHp71ObnhJ8l+5VMQrGMJweK31/lx0Y0DtUXZlwA0jMocK2I//wFCzuPCqM4e/Q0krEES2s+rqPHQDCURtoJMQZlf107tAvM5hn+OYnnJoNSBokthsgKRw+1WT0bbedlrNW/VrCF8eKxjGEnFafJYX4OOjDmbwK/WrVwXGeLXjYY/4ShXMZ9Oq4ydW1nDS8wrV7r3uOeUTc8NBeZ2xU/7wVGR60u1NU1kjfi5YMvuE4iWCoq0r42l1uPphpnKcndJIFIS1OtKTC71H4b/1OlSrRM0dGjonfFaKRvvaFKtL27M7AtBxj3IB34/rls012CMsYSlOZLdB4cs2SAdGWuOR054QP2cu0sfn/FsQO+EunSeerymIeKqjSkn21oUksPnmpKyDdwLMA/syRos38bH+rI1V8K/7Nj8wrCqQh8EZniFcJJfpZFSA6PhwAKPd7iLwp1ASPz079SumKeplii5oYBs2IhFG2pfHSP4c8KXXHOQ3e4SyiEwbZpJRjBYUqKBFT2mt6p3XiOdYr84Z9iDsgCJhfEBMvtfuwjeMcEUn6OEhZhzJCDIF0sGOMpJhjNdDOTI+fq0u5NuuHoHAzXqtL8DdbpQ6b5q5uMHUlir4mVsrnFp1Cphn60FTuCORk+1z/LkB6PBZeBxgUtZ8vaext3eDVs/mMyoNW1+iS/7lmyuhOtSvvxNlNzMTzAHr9kECC1D8Tm/+aX7wRwAvGXooq53fJmdYlvG7KA3bQbRWyq0HXay2/UBTUJaEU9/D/oNmVnrNnu2HxcnRlVW32hHn/8fcARkfJhZn16zKYqIqjzMnPOu2t+e69TFm+7DSLV7VGgRyQpNtoa2pKvylcica84+puti5RfQqWAcsQ9sgRtLdUDLygkgBbYfmMFmaZpQkaPUF7koaEG6J8FBtCX/nhMKFub4+irfHCKstXWhlcw4SE01ZepcXTOGciSfPG/0omeCnUTRC6zP3K6+hm0CQn8Vzwg+fHpZeh0XUZvVw3HNoKiG5yXovEzAVRhk+RPeJ1U7ntVJ8BiZGhgquQX9LY1Rh6KtX4Kg5JFVFOwENh9Ln7MScKf0JoFVcfmqgyIm8HAPNf8hvVGj/6rkXROCDoH0mczBA/LN4wT6PrwO9F+FtBe+L1jp3ibZTbcOyE3ZvvCEUjmBEQhCBK56ZOHasNedPoqFupUWKZyBunJAOrqijMgo6qr3ZywNTPygcD3+cI0gZxIhrX+NfccNKpWRR0M16wUiUOC3h4BLyEFxQvipSJqSbwD1ixAOorT69EEP/GqfwtUgh78P32VtcMDiND1E2RrOSEAtXHrkt9jFUOZVcYUxnKYVnX8ujvbi8komr5rCw49E5F+lDIJI4UtuIstdWRizuiepsi0KRxjWghg+NvQJGJYR+/w9ejCznWn6mw+y+qEJZZKgZtzEJfuTSXoldBUYBKI6QCFeZXClQmm5SPBWvUUugGip5FLAWuDSxPgkzpEGWK2r62ARcVYgnAIMAyBbkueJPxtPNreFt65tCmRNHpKyrERibR20LzAiVjjJ10kzc0DF5eyMlwfp8ZY7RnOvVpmYc0k4Jjygjxx4HAoACr7FhJiOipxRyaOU8sWz0LLpMKU425IF0+cjLSbznv3gdmRGQCGltIwgB9rnblf3VkaBA383OPqznpxiRN42C9mRlDr8fvzOsJewi/c5x4of8QV//lDQWqrL5A5UNctZfkBScdneEgslQijgPFKcio7v0+Wh5Ga/VB/oPOO7eWcFU//RikecTFObX9Vkf48dRIIGYTsv7JUFTmt0wRuyFddwOM+N4nw+gFziIWU8ug9vkZBo28JzBXtcB/dA+hMNEAKobpdY6yV81WZHKJJwM+3jHxEGToidMqBr71HAelNelZkNznhoOpadVZFOPUAn3U708KzKiqeMO4aBh1zbkuLd+uB72/Kfa947/XvMiWfLa2sZunQ6dslf6vR8tzOS4L2MNBBZonCaPJNzYwUId7NORwDXgUPUBjqJhosms00EFJ1bE4Iy0r0+TXL0aIzt3x+ppgFH8ceFSlezs0SG/X4jbNgMnaCQJpsQUflXSL6UJoF2K8iLWSP43A8etecxqUwE7WUw30KBJF8kQY6XE9yxbggRTW2uL9layoXteSnuDEa2HUSsFsYKP+JNIygpHpSu4wjOnvV+x09k66gffw6808J+Nbcf+oDEihstHKiWX3eOxpYZ6ElwRYKLM7yli6rD8pJiUt7MbLQsgVei1WLCBlSeUYM2V4GdD+p3m+waIoACkfs6oCW0Diup+WUTH+PdGRq/Ep4Ep6v9J3dO84mdMLATAvkyrMUqbMuBBLRoQIzArDmRDCJcMJNCvw7MUhXEmHxLZw3tUa8E/Gv7BprSbPvwg/O0e4gAfV5ThL4L0U4lH3+xzDGusjkkIHu62Gr4VZloG6VEhfL7eQZrvLN/6pFIQwuBkKeGXmAdSJ8B3Eo9zxEbfmTddkohWfkZlq7mvYcQ5kfhlD7ESmPhOcHIYtazMrWLxn5Cxow9m8APRG8sVn/GFCsg1tyQ8raIew0u/l5xKejf31vl+CJYDIyX1G/zsZyroNXNz4+hC7P+I1Pvl8624cTjmVCj0fCLM9wdf+fVQMo7NVx2tQdEVp3ize73jQYf6ZT0AHZ87pPJuz5hA6lA0SGLvHuyMPrf5naFx/nsOegHZTbZfXphbApEWzl7QP4kHVf83W/6gSTb0YunVD0bJ2CD7X1emEqUwispUeSlJ82NkhDIVQ4s3Z1U5OGqX0UdhI1lL3IA7YeC58lVhfjWH/wctjtb4JA3R1E0uQLydUpwWsxE5FOihCeOAC3d9KLdE/7y/cG3nNp0YbdDQGiKUZyqlUXDvrLCaj6T2X3EC3CsjOP11icxcd3qYFCvhhXZeU++fzO68iWsLh51IPxWiLfpA1jY+L3wzxNkvunKuWAsS2NgFhevf4uyfsFTGdgKA6lsBh+aSaDZ0I9vPOdTbsYQHTD7I/MLoyUsrn0VtTCerd4pQmXB8IKziA0TfARgUix1v6idR+A5T/FF/9gxKO2y3wp8JDf/K86HoOH7B6gBxBYeBgrlJuA3l6UbCNVhpwNMoPSDkPyUomjWiE+OBdsI/IFxpsdoWT9mVw3t8RYxCNwE4sP1crztwshvbpNoMC7WPkMGkTo5w5JCeklNJ/H3ottY3yLqWZXooV0of9o10+5WXvSIE25HFxPjD6PS/eK1co6PwDqTIRBmOzb3Lg1/wahKgbP+dcwVlmKLY1+b+EYNEMXMsFF0d/3eG5PMNLU+V6a3sCuMqUtZfjCoLfHbjLbl+k6qB470dV3tvOntr/JDY1vffr7tEP2wqLmcdB37+Du0vtgm7j9THg1/xpgdF6LPZBClOhaEd4GTB8yBpUE8Cil8Mc6UfAVHrE7HhYcPr/UbSQpsbjVnscKhs59aXtYagYz/gShq6nydrNVRLXPIOZhXrL9U4yZFWEtHojQZ9VooW7/70RXRBxLf1rKX4jgpBMOFH4Z16/g6nlWnN/Khcvs+V0FUxw3rHk+Vb/oHw+0MJZ9sXAWCNZIXOVKlCMpoGyn9TmkTjFDO4migei6nNrUgEVUbjfVtTyXemBWRR7bEPiWCPcPCGblzRYquAX491hrNNRsYLZbY6/HMV0KyOxmzpJ3T10HL4UGOoA7A1YNPfTKmWwUmMuTb81znJz2KudPURM+2gl0R1cb4AurhsQYjsiIKJAnL9C8yCVLpowkYns7uyHakyF6G5ddM1ZGEocx3VwqtU0pG3bC/vdEfvm6NJ8Pl6OKh1hxr3E7l+kr7sCi5uGdWtHxRf5BdENOekXGLoqiD4pygDsCzR1WVQ/m0WSJk2OBMtjj9Fh2pOUmXiBzNkWkG2e1zwmP0vDyU8ucBREvJHqJRReW7AzHr2217XQaQDG9yx/TUYO4d0GF/lUGZ3odgY085m2fMF5UjIMLAOEk/KFGD2+/e2f2jrRa22WiNrJiEJwxJeXfXvpXdA3tJglah6MsmZUYxKuCwJuPNb2d0+NLddNautfPP1gC51wgryRFz9rk106XFyVPkuJcAZ/L5dXoUP9j/EW4JzA9p11wLvxXJLoqUvevdkkO1eTVyum4AZf2BMBYsmVMU/7DmjdtJGaZSV6Wi9flrUTEdJmMZcRT77fTQbefEYA6yqP6/FYoZ/QOOfONmTFUSrgtoJX2BDmJKjIZreg/GYZek+bLBkCD4hF3bqemIsq+kpEiS5QfF0qkTpwljWAhaEFmRgZ+vkW66t0q8yXobkTse4oNfX5ag+itmaLPZELlJk+YxeoYNlDDAZfSGmsy9u1I8neMpINJDLgsndevQhfKcYc5V3HrwKDBjvhY+dlb9IaE7XUzO3pbcst9Bm2N4xlL9fWanEMB/aTleeklCaLA2DAR1cyXxYXhTP7HFc+o7bV02UD0Cnxp6MTHrYfu/+uuEBe/pBFkCVuBu4TWmTk1dXWR8PUIrNxoxur5FiG/q9pP85x8MBRJbjVtufuh3wY0b2nlcl1K0YVmvLVS2/GI6VSbXWUeZrswC4swuz8T5Tsg1PkEbA0itCtnKckG/u0eyhf2haXEfnJrm02iWNyfdquUOynehJqwGZtOQC1600QUsb4H+/mOhrTqLP9XOKsD9L9H1XqEZ731oNfVi2yUyHkd+OqNJJIgW2S28itfGzjBBFUXinMWRSfwIOycoMI2PZGj03Bt1x1uaQfdbHU+YL+hZVewavnKfSsa8nlR9hst3H0PJj08ROLj6V6QWBTXTPuBgPg1LpVy6RldYJ4PVqSKHYVIY7ZIZVbMXzCNIKPVSzp1vNrArkpIeKDr+hhqnwISLWGXkwNWxPb3gut5+0WP+1CVVf+XjVI3WAiP50csVKoarnT9/D2sp+aZ6HSu9n5waVM0z3/6ve5sos2rJmhBLenjA8g8j9NWQy8gyGv1lA3j2YS2B50IgHA4AEO2zXMMhuMNkT+TK9bJ+3xISDq6cit26x/HGJU588Bdi2cuhmkncJ3sDhz7UMHStKj1G5tPedzJ6eBgA/ykx0lMeVETU/YJ2Rj6X1AP+evK0LjSJPmmiVQE3S3HjwzPj7S4zmJV+tOGzip/CcGjFqC2BplxFoUthxb1TiXexnTszla3plTCVN3uc/styxwh74BjaIEzVtFSw6k/Hr7QjT4KV0R/w43WzRi17cAPFb2RZvvDRol68Fem9HBswzuLZd3rODGZm7WuG8lsoYbaJAFscqb7etl1PDwIj/n0GJnCBdYkaUFdyWeYZKVOiS+jQI0EN5SPq2D+Q/vSNrYBujiEEWe20BNJIhEtz2yfQjDbDLwHrf/nqzrbfK+SB0Y8R5Z2cKGgEy2ApqleJHvzibAGtErX8ffMBHTt5TLtsQ9ayBfWTk/ihLdpFo49vL9qOi2wJJJ3A9cG1n90GwUtccdbxGqzyCIgMHqgdGa4x/E+V0/SQU0rdC1nE0YFkI8RfGcJtiKtgeYYwEOB77tHv9h1siAYBIrl93f25F0laqvSac7tzV+FxbNAJx09uQNKftU5/rdNkijheIzOWAXaBfb7fbMpYGvlO+Ble4HChQHy3kw6k4l75eL+V55C13MtfkH9nMyxc0vawR5h6PNcc+0g6oABcR/nfv4xZg2Y6VzpiyfVWvL0DVbnummdaZeiTPoG2Fz6FbJ3LmDQPbh840WwjwQIiEZmIjxqUgedJ2hCXBPvX5g7WRrrsa4hls8DVOYKfGma/vh3iaVCDWpf5+8IzaFujmTtdUEuXH2nkZT9EmqF4ZVhiyCmqn2T5pE1zgkpya9YNoSwFlVAfiYzLLcE6DYJj1vOVyu86JCHlAnlRXBNKOKJNVTcLqDbY6ImGZ1X4B9gqYaVjmIrsmk2orWwMUqk6nq2aWcVW9DzuDk890Syc3YsqPcNY+dwlQlvxoq/zFUJ3PdWUpEJLZi0e32Oo/H+Q/cV9HscNAjRqd5ZuF08j6aI7z698SQmE6t/fRSxrzSbXdDEibNI0bcjwk8NkxbGHSE6O8Y3oaQk2llF+00LJ3zXGIL5uaqxqlCY9Ex5/fEckCBCMiU2HN4T44PMMZH3LicKnxoaUNw89LFpW+JMdyAjnvVtD7BLBRKta7AnsFavhTLSf/3QB+EI1eY2x4LTjm+qBnwdRTH3V1sFhsNkmAmh8daCyCF93XVkLcduDvDtH8jkQdcaNc9bWEC93l2SVytS4QIe8fpI9sj18Z6op+nJcPsHTJF0vNv1Opw4tQ438i2lsA4C1+cKrClM88gS/8lhHPkCtmIgL2pZTeC8IVkoGS14VekFOlsGWeCMjeUUNMLxw/W7ork+ajn2Dh17RZNYEEsxqI0eWJEdxeMEqPS3p25BJDhr3aNxGpUIv+0meAPUy0bMumJr+jjOFELDEJP+e5kbSKuWjRNFFwDTxoJd97wH517jBUO2dHpgHX8ed+ywx59L3IbYoBmKJ4wiI7fDyWewmq/9UxzS8o8L4lAg278GyOlPNkoeLZE3ZXa/kdrkgXryO+JDkO3d14IYRp4FDFbvRROcYE28nd6ifYf+BrMBUxvwyfpygVcPm0DwxqZvhAqaN/cEe1lMIMjKL9BqjnI9JYiNbZAaTCArGsLZbuOd/1KIKG1l3Xw+KWQ7kDY/Y7yNfpsNd7/OmjoiAvBhnKTXdHuCCer5B8i//UiQ1p02SH58jbA1C4reVumQ0a5r3oPU8acX8E/JU5DtgpOSgk34iSZJzi3jm8T4PPdpJM7wjLZNxLTG1JnOJzoiRcfYwVYf3Vifb/bwm7O2M/DFYR4U5B0pObjSGvG5mNpUglQsEt0rHWF/VJKVGzBe+rNr+3hkKdMFBeW4BHfmzFgbeA6n5P5m49XuSzwC67QgEEFU1kG3h6Ag4nmh/siDx04ZYbn3srGXWKDqN4f2TZir0waFj0NKFB/Viv6xt6A0UuFycbOymCdmPRrgRUFS370UQkVWNWi8q8h4d6lkZFm5FokAevn0dcDfEkppvUtafeB4XMm7cVctLJpN4vFSUKsFcA1u8bi0JJLnRQqb9M+q3akwrrhNMBspQEnwX6YH775D8tZKkyAQFE3yqQ/C4ALGclWAJ9p0Vuyfd3kqGcWUccOpE1oP8OjwKDl0ynVg+4U6rCtqiYYbhW4dgTjaznzXSIQT8lrSdIEuj9U7DDFuN732jzzGlNw9D7ZFUWWwKtZBpp3B2uxE26xs8fy+jxGS0qfDZPk8dq6rAWvaV1E3oN50qNPit1FE+IYRuJZ49qq6DY+FtIODYx86z/HHszOAN3UnVslOe05fmAxrG5HoZHChjs76WD0H3HPk+a81b7KbUD0oYHa1sbQu+icV1X2+ifFPuzTBp+WVtlZzie49iVrpyKRZje3U6GjyiM3KVAGlEXf3Abi1rAcAp/Wb/TZ4/0Je81rtbGxL4Ka+al4mSiCNYnohM8p9UwkTCl21Fhb2k+nAFxQBGbOPVnxYU7AzdIQ0+htPjgIYi1aWXel3JEudNRxnSjYO6dQZDHaJfv3U3m1V8X/IltSJ8cFEFbCSdWaOn4yNZBagXlcIvP9JG4gSMYsBd9Fta9glj/YV4fwkh2fCcki6+us1ioYQm/GkO594JwY66vyk4PWEcSgR4e5tE2UzgRYCHfLPcJOr+iK5eer5s6XXLDsTkEl+jkiLEWMwVLrKEN2WFWGeY5479KoppM5+ZiWtV0NYfQfVlx3dumWcqm1dLg56pnMUK63EzD4L4PWjcthN+dYXCZqPGw4V+f2yMx3hGLecDEASdmQVYLLDA/nrzxi5qBLuwlH6dqNSEhNPjd7E2jQWo/Kiq3z2xEYa4XNtAErxxTZlxkKXRyXnGJyooeosqdDr+KDsdZ6Xse3Dtd7rgAgcyzdMyTDa3yPcHJBIsIRHEJlQIiz9zPLEGSnB+vj7gItOQCUStJzNitFnbR7rRCXiK5Qmkl/OZOrts8viWQibimadPq/jYbHm3kVlNK7rUDR5GdH7KUtSgJh2tyktUw/Z26un17MGRNqwYBJMXvkLgE4cz9YOucDDyde00D23Vad8lKgklM5PMEEupQe84fU4R+yPV7cefdIaYZAvezf+T7pQul7pYsVhAgaUuB8z1hWeEprdYD7JCXREqseWRDy7DplK16StlJi6Pu/a/VOyYBQtHmIKzfFH/lHxrV71clUf+e16lLVTziCznAk2moO/qLlMr771V0mQNAk2aAb9ZJ/nc+crtbbLlDV0zwdA0ion2cFhJzsm2DktJEkSmttdDKNcwV2qT6oQmtMis4KO8b6wgbwc92pCcPZaEEKqFC3MOZ+sPKxgn74sKWQ9FD5G8IwdVgfkrDretDavJaEAW/XZiw79n9Gh0hiFmjv9f4WlRU1PvJonVS7qSKPy3F3m2IoWyfQVZU2kuvhZAEufMmLTPnQ0Mvsj6pUOMKdUVGnfEqrrST7XqG3ePNB+YdMR+oo1ULg1Qew396YKu3J6e7kWVCjdqXwbVTOMMkdY4X2xlaE2Y2OEduRdiZ4GuJ8DzBxcbD9luT8Nu2py6eq9FKFvjtqyi0YRfO/PxmAaYQ16NFVRP8zXoIYwc2R/QVUapCV+fbPONouBK0MvUBACJ/73Nc5QU6Wefmkz9tziPEKEKJFdEG1K94WiKUf/Oa+2P7MWs/d58o3TVrXpYTV5O4i1LlF/9D1PHiLpAn1SnqSZ2RfByaFuEMaU+R7NurOx1AIm18DlHPccldNApJr6atvboggfQSwLWtUO71nOwMvCRMQaBJt54t34Zfcpe9vael7nYvJhF1VHIrG79OsffBhrDk4fhtZwveF7HGVvafNfYlCO4955Yk+XsKsde/rgmpmQ9YQwi/GYPJg9LlWlTaVmDDAKUno5LXWpYlyaDkq5WqfG+uovNxhnNDjSA8idSwkDeJ6CmwI+pi+lZs2wF+0Se6FJM4Q/uyERe6IXSFR6vNIU1mIk+/vFduWY3JwUgX2ZwFDFC3WmKdW3kBsP9SKI3g58Rfjxve4d4N1/8u5rOQBkMx8km6t36kiSEkEM23vVlqi9yG2ZmC9EI9qPTAqaDNypEeCM+lQrb7Bb9iz2fDbL7wct++MeHr4uaHYO1WNIa4BG6+fQZosjCEp1+0JoWB0nnc1CMTuM/uzp3c8beIUC3K0v4j52RCIiHo4vZTRrd1Yn48xKlgfoPshcfXCN/AkJ3BEUZjkpR5VCTWXuanbrB4BLmM735QII1dvmjgEKfELW0MXjt5E627N3ri+h8ePumNj70jIeK/PFNZyBVMD5JMA7YdQlGwkC+WrZHewoIoibXqkabgC2uoXBr9vRE9LlP/KnXn4/hIsTIqF9bMpD1nWyMI7l6gFVxTjdjErr80Ta/DkKldOWjI4JuxjpE49ntZv5WqT2ynL1f3k0/9284jML2f7kfKzLsksY4mkCX/jtG3S3T+bivFOOfnEn37cvwFo1RZplWI0jQSLDJVVZQ+pLvSHS/4rPrAvtMGdXrIowkEcF86Sk+3yNm5cQkIXYQgUr5HO9pD41j3B2gIWdNbuzx4Kyua+1FnUfNeb8oyvoUY6gLgFRJoDFKJcZa7V/LsFbRFN0cVNVpaBsEcpLkck7eEulpncOAgy7oDsVYnytK50ysIzQHdYw2O44z3DJmwE0Pa2jaGFm7HCBuikgt7UakUZEB9O2rDF3HzbnWEKNhto7Yofn98rr9LraVkHhrQa01v1wnirJV1Y8aqLfoJcEPsuZGJC/Wr4/NakiNzAwXnk34qe+1OEliYu4SKXOt0XegkAaUOpBPaJILfWOa57HCMVurLGnx+U1ZXZH3eltiu3S2vXQwMBtGSJ0P8mMutcel/yxqkf5NTFk7E6SdzWUllQhbufXkOkL6u7bsC0cHCdMjf7X6NXLnSHDd3bM+SYSWZOSCcyKoA46p5LMJ95+TeB0FTHDz+2qyoKamvU4sT0GfzyuJgR3xn57pw1XNLGqxS3fm0z2Z4rl4kXNWgKgtoYw50kqkOItpLip213rYwHO/85/RIJqMpclppZP1SJdtigZ3W6Nh86027fJF4TyAGrQknFQEMeUIjgHPbgFspl9TzvFWmbrzr2DiyeOPM6yCl3H+0ZxNH0nf5GIDro9yk656J7e8rylyq/M7uVUptA4XhVnzqnLmYn8JJ5j3HXHwEVBqQSKletl6FXsvCvB7bFH0eJul+weHk7ySUcOsC3KQYzHXysFNiiMl3aw6urdAQvUlEmDRZMWwtIE8Lqnt9/5JKWylSTwA93LyKMMeFgaWuymefZDxdi4Rf6W1f81L62E0KAHvT9OeVHUX3XpAmOpBGfmjCHa7oEXXi2SGmj3P0IuBjRgiRTVsLhe52PbrMAT/gfDdwzBDmG1UELPm9dJYLqV92ls5l0vZ/orBr/T4R+dldeCSSY0Al2ma7+iJaFDwMDX9HzbYvpDvhtJ7C8jylS1yivWm5L01ZF8XG9Pz9FX/IN0aQTQOAXYIHAJ7ZK2ffyOynSzcvo4SkuUYERivI3Yl/XDVORkG3halZuiwMqByztcjX/KfpKNGZ05ETNKQs1y2nq+NaKM1aleOw8clWSYDK1o3DEul1t2+pZR/ITxjv8iLjXIiRB0sCYI5Bonvl4kAdKTg++6cnt/Ij9lMPKmYHQ78RhF6xbZeuTUZHfgOu6eAG5uHXC6tH/HHI3SgXI1qK88H67CsXB6EzmYfSP/xvjy0qo0FPscU7eV5HZItBdr+ppFHOLxXl+KFjFeijQkZsMGUK1aS9GW7EDvt9yTDduG14SxoeRAlAnl4FTc2lSYF9o92n3+HBB3FZVGp/H6epFSRBuPh9EW4mdP3XwjmvtwyUpUsUKwNwSA1N7DCWD2DYa1cBovKC/8WPKzb2G2kW1xIG/Kb42LvQCkDeT+PQIIxhPYSYdajYeiYKgNmmePtCDBUl1xXP85xmcuNGwO8VkSqr8xwEssOPONLENwmmBh8w45eCO0KETmDfr99yQZxBnlrV8YZT9Ft9pFRwWp4jeb4n9K6pZJjuYI6Rbb5lnqDzzagjkgaDEUw/AH+Jb6VBQyWLM1bF7GWukfbG9qlx14k7Ymb2y7nD4ZpnuwGaFSN1LEWcVOI+9oCAiH0fnN++b6tCGWWqY6gKjkAhzqcs5xInFmDWAyT56SSqufl6KaupZF+kgtZPxIwK080dm8f0KOjv9p6HpCrl4SJ3qLLGmbJqD+6VhMF3dFeQ5AKTtmaBuHsoGLiQM2LjeU0dtvzA7qCmoxvD1nhuf6YHG0yrtVY5wa2aqcoIbdVN1K1fnNWYiLhmKM2pNoGMM1gS+0BMzGVSZS7rk9l6Butp3EX2V8lVpVm1FgO22GZA9y7UvlRYN0ioWmcZ46B/ebT2oVhsD0XM8O7zw8dGw1yIA01RPYtWE1KsUaF8sA9dUARfgSN99aiqG4miLDZu46EL+MClNZ/B3Xwi4M6uS5VwkGxfpRpwlsxaRnrBUPm3/JXSUfAAKK7zCuaUnOwgJvYzcMvtM7UIPVerJeT4RRL44TyxH7mFaQI9dbheX89/Uj5wltgE15W4nq+UDtMD35Qdxa9zedsVFBqq1yA6PiOGtfoWXJSNHUAdhDADuLYs0BqwVuZM/MrfPww+/MblOhgZs/RXBRzQbEdIuy1MOicO3p0fCvMLrRaYxzi9/bIZ9rXwMcCLuFvacR4rk76XguV83KkFu3F75OcPHVi2JrUn/Lvo8Q2h0LGc5FZ3pCAyb/QVWZ7i3xg6bYB7luaKUGBH3Mhpa4Dkk9smaOiCv1FBohCwfzJy50APfBdEga8FRTD9XXrH5PmSb+/tFuB/ecyN7Ej6/WjHahFROY2HgBvaOhxeXFwpnbBGbbppeM/yu1ebr9l1jGrNJh6wNtlkJk5PY44WCh5+dL1xSXDNlJ0ay973heZTbJ64Fg6tJjVF0fCpYZGCybmrs98nfsBbryLkIQ57aXqqA5hJJ6YO7y8s7r2nYztmdRhHq7c4eOa7NBA5pJjc0AtXwb7C+brDUxdB0e57eX9JUw51DFX5ld8ZzyxUq1feNhVuRyoQxtm+zzShAJVM78XLPc+cfnZjOHa404GAfE/GTtSeotFkak+zT+T8qH2CoVYb9s8x28hYUm5OPA5QlWm9HFA3qvAXK6OPzBrttpDUNBChCIsxrwXb2qr4pznWfGlso8yVUn8csX/ZhFBx7tQCKDEwpQGPFuqOFHJ0hRcrBmJDBUpqxEVLrrlPWyI1fIJBlcQ2+Ub/y71jREShDM2JGZ/iTudmQVMN6h+PeqAL6uAYG3YGmuSIZWIidzfeL4TLu9y4M/mz/YX29/ENsdmUvMADX4JvWURk00ufUaqgCP3OrEYLYP6FCbrrDH98hAOglzOYssdD5jniKOAcpHZex6qAnpVPH1u+5BZYDLPWxMkRi7znWJHp6E6+ROXc72SGjRfOo76jkwGDGX+LyWbcRSpOtjFMIloaT3xv9NjpNH1mQ9OajxXBnpu46lSvIGrpCZdH5waZ9CPozLXp9dd48PPEY7G5UFkU3UDO1N9DPh6m/vYOL5+EhiNK5R2wcDN5HGEBxT6dyNc5kCALlxfwRt0xR6TmBwLCuVUwPTnYI9+cPV03aerjAccuBuM5Q2mNdk9aE7Dxjrrol6aamKptnBjma1gwVOI7mea3AoPrU1GgSu8V9oazM2t/2jlU4wMRZ4KJVwuX74n8DvvL0r7q9ftcegcTsaYPPMlIgiq02XrYMFW3ilA28A/nlvOuhpWZinrT8NmJIK5FY7CrsOJG2L1yAVTWlOlzLMnyr/KHHvKvmyG95mYlRoY5iDmHY3Wm3oIO4LHYa+8J91sQ3eQl4jP1CRvI/fbLYuABV2+7UySs6My4z4Y3s7HxsqfbP2eqvHg04Vet96DOgnUbdw3J6sUnijEKuzCLjuCO5++4c/ASG6yZUC6w6klIL7xU2+7nsQlJ7W1kG54ow8jje7WTwb5A0dOuPnxNBz3az5nGzlx2+tGbYgjvKXWzk3eC+Gkla5OqU4BeaQLOANjfBVhgZHx0N7RPWnjhstapU1vLGzGZ8oPed/g6YJoJFmSmO173CTQwJySxHnmvvBlulYzBffc2K2Yzc9sLiEzCxPAyaLZstpPAgfIpnos7AAjESJ6y/mwxk7zDD+4rgyWc14gKmkuIfpZDLfrA4LjONvDk2EDjKs5p5+4GBKfgo+hbgEgO00LKTR6YD7x6/sD0OyPWCYc4TlhsbfwKyqoOeReK3Z/L/zdXnzJ1IvJkIBV1DzZP7GgV3IED+fRDJhj+Mri5M0ILO8HVlFZatcMXKtHVmFCu77tEhs/itq3K1PNEa5CMIx7QE3x8OSBYoJC8Py7V6SEPEn6pLqx50xy7JcFn0SwChjs7QwfxiguZvpB6BvOs70hHQeUyDPQ/mMAXJehelJYNELZdUyZh83Rppg4DZokdS4Gzox5dUcmSLqRAfjqqueQhge0fmQRxM6MKJKI0bimalwAQZjOMcNcN07hr8auIc3ZTTCT/Rl68eUrdhp1wBceVdd/nmGoSk5mLSxvyq8XSyZ5Q29VBYgUZj2KC37Ntz/WYVLpu335RjucJv45cEpnZJmdAZRUbyxYFG4XhzWTGEqhhKIjGSOS4CniQoyRKB2PIh7YfER78/jH8AGKRZxXI0v7LsOzZ/6My/SvjByu/WolUAmRS1URoYrRRmZAOrQUwELkqWCokN+0+IQINYfeUd9J3IYGw6fBjC0kMVvxlDeO18ihZC7DXS2tZ6IMrydZvq/T+M71p0eOjbkvqb9G3U8h5soLOvbqwdIdLIGkDn1BTWPiFBeNiaEcdUhFrHjwgNEvoeI4RHjsHag7veX9a9l4ySRGadv77YNU91ijuymS2rIer7DtEQ/XcYshqRio6kFFQWdtZLxbpNZ9XR0Rv6/YSJkK9DB0NEKHhc6E5+a3ZVpSlDxmDWHUlHN+dO44n8dRMWUgZd0OJySdaDnzFaZ0aNi3qezrb7rlamVYY+6YBs01+XeNhDw1GDSdB+W1EoIUoti3P+8xxQAqvrpbn/7EbMziqVJaOzVAafCJ7/brwzuW+vcKr1ExQZwn99P01rPLm6DehOhl8koCM3OQV1i2iKLYz4+j3kekNUdvRqtc21Oejs6aUcqTA145cnWept4w5ONaEDPdFveJQr/vPJyz0KrLAg3a8O2zV+c60R/Nhx+5sKuse7LHQFYdXcPULpCrj22/EjOzV7xxHVRT1ANjQwxaSzMISusbi8ZaFqnWOE4RoJ5fGC2RF6EZ2FT+YB8mLQ9Farq6vFVq/XYDXbW6i8XECRgC5b9m+uqMgX8g8fjtOZaVhRvvb4RDvMOYRE6wSQ+KHTiXoIjDHf5uDtfkgX+3umPYb670aMGKN6tFVZI46qYGYPnXln0m2OXlZx8pfpGO6H/S0qZWG9qiSY+lsF4X0P4mUvgY+ffBXkEEyKyi2jI/yxpuL83HYcDWHpdlmS8MHWDVX21zF8MvxTSOZjU9Ecg9JBCyVi6Kc44yvUdjq8BycL7HpESCf1un3LMiT1aToDZaCqNMK3b5JBhHyU4T2mWq3q7yS0ttlmHorkYsBR5OC/KZEJMOxrCZLDvGwTdkedNXOC5oP+miKaoNcjpTKxLv9QluezX+rTjlk3tr/lzqGBU4LtoeHe1Rzw8pRaTfzTUSSMLTlx+0YN9s4gkq26+sVGnWJgON6Q4fBuh+9hXtbfLyS2hEcXsge1eW1cKWD6K12t61lQXlWDKqHsmd3O1bKqzYAQFDgrYhRye3yDQOSXM12eqHXoa7lvOeMwrsF4kptoqmhy2KRlLsqavmIyk+6f9Dz4lvLN+UxlkB/x6hBiZr1DP0v1HvqB6O6RvvwEKklqICSbCW8fP54rW4PRfFVgVv7P0a1PvZDjX9LXeB2S0C0VlYbR5xM8BT+T/7qHW8gEl5SlNdo/5rCQqBQTplrPOQNAT2c4/9Xhj05IULXxfhYFVLABet3WykQPn2MQ/Pyfq+/rzD2+6su2y6ESirOiVJBRcPkW/hvWy64n2OvuwcOUe3EvxP/k+BRo0dTfn++8ebFcQOfv2+cmJKBNdHMaDy/k3NbOUVdQ+Qegp15UlVGKiCsrAmwdURjYjDzK8jGtE+IV2yrJWqdE5j1aoAP5KqmbGVUUYq+M2q7J4eFEICDYHfcdhAW9KcCwpk2NLQyHXdYVcYhMikOyiYsqs4blP8RBdkdqDIc7KsNxgxwMYF0Hz+hTu+G/9sK6EZh5RqwZlkODA+0HcaHS7OxoJ/6R0v6zLBgHZ9N+B3H7IIXro57a/nCCXuyMc6WUExVYKHVPZdpZneqe8Juk0UG6jK9IZ2gTtdBsBAGAl6M1kLtCEcUc9P8/qjZ7flfPNl+Dqwp4quSBoqo7l1S+37XOSBPhGCFwuGTIj1puR5lCENbtpsMH8RYW077APJzR8zS2suH//T0wymS2jGcmzIG3ueUR7P0M0Uodp8Bs+bPoZbqxKperssDDBFG1xMppALLqRowLTkHWzZ3lCkpdrBWdPh1iiw03joleLe5ClTcfLIUV7qcJfH35inQsGpS61KI716jUOUXNHrCdcV66eaHSwq8cFze9pQKhtqxIRhMdrtMiHv3pDiqjZNBWLD9dCXAfZT5xfa5OP2mP3Dtyn89mdvyJrNKuZQJhuiwsRZe5jCs+9enAB+zRW73A4FWsInlgJnKhjMJvf/zxe9ta+L8JW1CVf0+IVHpXTcOAaVcq6QH2CuIGiVWUURimiU5cm9Vlh2055y9lwr9ebZMPRpZ+pt2DSRVLK6AV1UPvMdu5TaqwtRJOTgGICvybJgyCVUn0053TBBqQK1fnVQJ6W690BsW+4IFht3pN/1YHX3PtrT0duexTrX9qwYLuY9+ItX5RLjLeisdjWLlHpmhtZql9S9TdAclkudO681xunD8QnKh0XjMCfOqdof32Jk6W6pgXR/o6UQGKHutDIwN/+BrJ4ruXS++DduYDfcv1HqfLO01kewgqsyGebVnkUwdFtIkfWAOhhpHqQldIk/3/IgnlRtGnA7O0Sv/AP2SmOsmOitbDPdqXiJ9JbBNf6ZgJe/Hp27/PttzDLgyO7J1J687hHnfrIPmc73V2rWjysRRP1t/tSLHEqQqAQv2ah3a0nGHkp00A7H7D0lEM06Sg4ju52J78oWLoPe2mXVIvpGwj2SzpOJuHjrafLeWVkOAuZ3N5XUGowY9Fd4602XvZEmwWpjmZbO70GPTtahOwcbjJ7oSc4uMJF0dY1zK6s29ABl1k/q0+1bk/yrrMXPa26SituDksfeUqonKROm8jjiuDjCER+AEc5NmapammCTa2m6FNwBZ/bjP8Plaw+x4N6+1tnbE0y+k5vH+wExC89BN4SbxTUxgkG/w3OaHl57c/TvPqMtNBDrV29+VPn1h/oOS0rwA7cTp8CIShejfwiPb0wIVvgwBLpYl80zLUl/DOutkkD+jmV2dEQAzE6vZq0iaMA4x/wb2g6nDMZqFUVZt1FmcPcUGBhZRFLUg2McAXKL7WWJdLniEAfa4CWLi3XFbZyBwAC6qnn1LVvyp1zDZHBoZMeje+nyoCZmmVKThiTrgPGsLxzDmQYRAMOnNs4rM+g2YL33GlJpDNRzF3u9CAnhusoZqRd22oKKMgBZDYUBX7aQuh0fP3C4krs2C3qW89jQRbkFqMVV26Ph1iWByY8nmyBqSkFMu9h395YcN38q5KE1V+1z7jDbbTAr4E1KVCHEYqCclWX5gqYLDpv2uZSOc+vYYSpNr0xMMXt0NPFVSb45r4F5A/UhGVNFMzxH2PvZdLQ5v/Jw3KG7vz+3K9UuzrmmzNTbEIjWzZzRoux2a3jbjo0Ah92VkbNrXVTg48Le9vxSgtCeFNZxcIUK/2wNV06TPmXUSxe2rZXQvg7BMimggYn6p6bY+vOdX3HpTm82dFwLDZGNimDhEeOg1i5eiFcIEyOe5alu0IVVcQoqaQ1BXg1QBpVDn9rrcpQ+xrXPsiYnb5CiCsQB7MlplUpzV4O4x9koGSdJjcKcf9+hHzcH+OGVxn5lUMRJMn/CIPtmPsDC+x6F/w/vTeoNtyfZ4MHO+KEWjbUwBANvn1yYUWeCnOOHlsfsYzZRSPHOvkTizSN2+BbZI0p6q1UoYlCq8KfsipPEd8drRxB+UPwFZhLIsosn4/Rb1KxvQSv65pVGzDg3qQGUimzyQ/XcKEdqDdhKXfry/3+AoTn2gaEQWgaKNBbEeCTUSB3zmgGVKmum7xOnR9AqnIAyLLovY0+peJr3pLMOAR+DrPLSnJds7QJy+Us0s6WkHT1d5KC3ufbv+oHC9A5ABTEPwidYSDcQKF2GFUZk0SZJKxLOwnmKjcQ5kxu7idtAuNWvMedg5Q1JMCBjxyHOEOSjzAFIB4WIg5cFZ5AeB0XpIXpOndm0riAXP8bseXxhfe+2nFZVby4quqRkae635syBVKzVKzIuqqC7pixcnTDpS+b+TNdd7ArM9ttsP48SlUooU8IQlvoGtxA3XUpYiEv6vy6oRrY4+B1BJzF5RonyFgutAlW4UidkDJ8G3N5hvUsbZirL5bsx9s5b+hUVv72nL3706k1TTDQq1eJhuH6qhjxWMyNmdpnxQcm4Gw3JcvW65yikhzRDDPxiyUGg6xNd5ua99fOzhmNMXn9FWoqT5UgHZ7wfK+uefsQKAZBAS45psAwXzkxQcYL1GF6H3NU2qGY+rtMnwHXBL/wnE1tuj4kOnaenvk9JnRCZSJaLmbSOw09SmfhQ85vFHZ7hqmLmN/PhspBLEyj9oDD8EI8n6jLyE40x0gwX4+kQX1tYVLabPb8VenjYkZcY8E+TfLWy8DwZTZy9RjOAg1gjKqanLnEpbheHesbcIpUq7f9D73oYeWNYlshipmt3Qnrg8Zb0CQKJeqdRBRxTYE5N2g0sNlgkKrqXAlH57YH8AYnl6FqExNGUe92BnC9vN2oO7QgBd1NOfTxId15MX57RxJaVGcoynzsHK9lutLZUyX9K3iPOt9MrUtd/2oRA9YLgSYqc8lJGvyqOSv23IiLosP6hZsjKyHZk69VHL4Tl9RzRG+3eBEYCLjBqWr4h2z9XT9NrIbLSusoqfANMAe/5mN6OYJvHApq05c+q5Mz6y9EEHmp+McxaXTLZEmYFAJCTbO3KURS8bBLXuHOAilOem1D2efi4BmlD/obGfO6CZe1bVxF/Y4Dw4EPJL2Az/g5BRC316u7byXTjuiL0y0Mq10sJU/aAqJHgsxT0ubxezSN1zP6dpWanaPaQ4mf9JSNKcE5s/2F6QkocYBEyxK05E31li98rlSLMfYVJnU4y+/cJ4hBXlWIolguB0AhUu0AD6mP4d0v+4OcFRirjSxFnodqljyTYDCxtf/pxFzWLgRqJU+z8HPdvG0rl8wro31gz+J3LVIhDAFOj06nUqR9KM6jTlXtrWx1pZWBAhouD5mM0T4mKPOlU4x+4pg1IFH5CBRFov8iKDsL9G2q/ed4bt/fS/uLp/ge6Bwuk1Z/RZx2AZivn9ZqrT6qyivY7rO6AepAQU3GiWnPEpNuiZbnFSQX9HYrm8YF+VR18uGFEqZEBFziH7XOW0Llu/9sAEAXD9gHSQJromuq05CZvwzmm1ZB6lQsqVf9D4tCzn/On3wOiheGe3QA7+ipacXEj6z8ZsDwdypsktuj2dxhd73pMZCtmL6z9SUVX55PTVgBIk/l+Isv4LVm/SdmZDoGsOxRuXv40ceOkgtoexSDQRsmGzlsqcgLaS9X/Q9CO0oTZcPl1u6PFCVE+cstHMEqsFBR4YZU7RtnTWx04tExseaYLncdq4Lkv1U40gk6pKrP+1Ea4xoEoDf+WqttSHVKW87boCzCjpRb6oxRxKuOCtIvfbkAKJ0RMzHHrGsGhqo2mvSQ67SkUww+qY2jZJHIYE6BkxEhkC6xtxqKkWfEvGdyPxwiqtcd4tAmmoCpSNezWkDlOz01hP+iVITpskClSs9T6xe6wMCSWuHu20VoM1rOyx0V+MIT4c1CyDxUKdmA0jAB71hInsoreWqukOhl7V+z4DQ/tCj+BJCiQD0f5/fqIy1qqAs/yBntbM+QSnmWMpG+88w+UcWXg/plmXUN5LH6mVcY1PkDeW5nvVS1ZVcwyTTnfRlKWPLklsK+Rgp12PZQTQYTjE8JQOwIYPxMmEwJwbL8uRODC8Kjle4U9Hd/ApJTe8CWWpCqMJ1g9PtjH1ojiuuz/E0Q4q8ofvRSHnaIVW9Zpya1SjaJ7vLoJETCPsGgza30l+cUXMVVvPEp39wXV3mgRSeGoBloEJu/UcK0Nj20j76Gk/ioz+OwPz4UkylcyLocFpqCTTTuhStFEooseLOdS8vx0aiEU+JFDfEIBd1ZSxHXzS3kicjMd4lH39ea9txS/o4Uh7yL4EihVI1hOZuoyH8UatYqz7m9KFSMyj8mVTfR7HRFziL3qSA1KHV+SLxvaNvGReBS38r2v9XOI2dHhDVLxUPJ7Q4MVVXhlDhQrDIqqqAXnJupv/B0fY2CioTArK4drB/nO+sIjO6RtWQzaLL7W8brGREWpYqERC9LvEbay2D7sIG4W8L4rkzJv72Uym99UjlgADn/ewIWoomB8H2HbjE9cQd6SPRSZixF8iW4gn71+Ae8LiPIxhx/dFi4WcekleaSRlGH4rUiabAom+oTYHnhyvbIdjMgx9y7dAz0KKqkIeKGKUph3LbbHQNaGPnJLQvX4UM2xqJEkejeVuaL0MdsiFhy/Bf2VP3AtlPBr4TuVzVwHIJCjhGeuRX6eMYwILlEPsGblagWPsOLRaIepiH75iwJE86UZHClqI2CG5iH6nHsH7PszCHIOBewH0sLhXhBBUVM1A7J15ggSWbqjjR9LONcz1IsUhWHWbA7KVa/iKWk55W/X3ZYF8pGdgGLAJx17VnA16JDuWor6nJZxnn6q3Hi+TzrscYlgQlpSr38kpgbPc94/2bKtpVTYdIDRz6fSPX1sW9C9ZINqZtYl2FlpofquBm1JZbxXY8nEpJdypc/omzU7Uu3bGhzI//ZiH2fbuBftPDX0pX7IyqVwOa1DjBR2wVWM79ttvo0/Ngx1Zf0r0JqgAzxef1FlQn7I5yy0/JzSe31kQwpUs/UaDjbB0cgjjokZ9Rg9lcow4i3WRXTtyyHReomJ1NZJVHDPUiuyy6zBpnSf21Lq9bqtBJ0uXvzxqwQEbl4oJ97tjVcZ6Pq4It4rUuXqagr5znWyvW7Fow3bl7paEiBysD+tu0vYLn4TryDGxvjcp7bosFXpXYkNL9kJdwU+pZE2zarFDVwZFXNDcH/oGoad9fS8AZe0+1Zl7H5noVUgIYu1kUdnXlIg+e1W9kw9ZsNgcLalI2ifUPu4/chS7FeEv108Kcy9Fl4AqSnIf+sVGcrlG/e4u+hqYAqNTOSmFtcOLjB++utWozyAreOAElVKfAzjSJtG4etdSchR580sADyNDx7w64FzVwkWF6qfDEI8lU7jkL6huUktbOIJgcKW6NatTD3Mmpn4b9SD81Tl0PRohAn+uRoRiXBcSSLiqgSbBilzn5CJGjA7Ok919aGZ+flhuP7y6/irj6/oX4SLTLx8lGzlPQarN/nx6vxY3T9rHOPgeqWBUHkNGgA4CLLAMmzrRDHA2xbw0H946x+hfEIEvd0errClMF/cGyQXmwFu/C7H6EsxFt9ny27CZxJMZCUIqKt381ynsZQ4H9eWn2Gnz5z7Fi+hha4rMO2HATh/aSCzEsBjXoASAAB8V8+Ll9I00lsn7JT5KH2Yp+Hk+tsksE15j6WBObW5jqI+9XC55IcgNENp4YFw9zzPBEmGHjrQedjyoz/H+LWNWJl+oRUrVlQUisX6KhZTx/nxH0chJ2dStaJwn7yiMyZTUF+5d7bbl1RjlY94AdQoJjP7Flq5BEDnYpr0JlYHm/J0bfQMclXDRCJwkgkM9YTkt8FgjE0kiN+zL7VSnCeErPBIO5TlRUaEBhB8tYBkt6l56/OfWCeLI3An93CBVQU6GaFc8HKeAvPW3BceT67JDAufs3ViqQL3O4ji6wpRuxXBEF/Xh3NrVNi+LYCpOPVoitR8KTIVE3liKYw+lvqdD4Jl0ezpPerwJ2ws/9xXA1x3JePFBqZQL9wNrBk/e6ETJlEQz0QlZPw8EI2pNEh+yFde2JeIM5XZ+7NiP4uVxNwhCBLveCV0Gy2+KgPCpEFORnhcrPc71DAdNrn+AxLIBe20VT1lbf5a4FgXrjKXc946iN8bvup2zgNrYnv56Xr6/fYPLxb+v2/EqfAwRv7sybYN0acJEqafjIhgb0l30fSKVBEEfnX7axFoD+3Br7Hx0STV+f+uMBULkQz+iclRIEFb5pXGS+6rnpfxcMqHefjDBLkOhVgjRU1c3Vd/nJwBQkXjdF7CHG5hvFCxMrT6LUrzpmImF4+Ku/vL1sjxg17ebfIjuoy66Rh6tEKAz+XNrkyI4z1ySHxWKQVTOG04279JdPEDgbbHXsY7JUY5IauQvbWyiUQhpYRhCctq6qOOT+Xfwqksp8g4//LRJgvwfRneochOxso/V/kqBByI+AuTLpmFksw7uQ6qb7V3hhXX1HZ0RX3P4wAQ2bowT6Z/ezsEDbeqixa+ZQM9vgYjf9tgrL1bqIWEmh1w5Fm+On+MKCt6PPYp9qTJbyC3HgQyyxuAg/AKQHMk2S6OkqaZupAYRIqwbAecOwYqv5pz+5qgl4TT3hJlLunj7g12BPjSFWuFuhMlGUYTRzaE30uRpsH5T/hkGPeNQvI5kyrTKbogX/WghlzJhK0cp/Z+GxfvDXaWAI4+NnlRFHZl+3vRcXGawoURm+vveZoFGMN2D4GI0Hb7QRqaFNXT98ITS1Npai8nsdSmXSj4m+yCDi3nrjhLW0QGsjbUNEAkLfxifQCaoinuKbn3rK9xAhEqHhWnq0cA+5Q2JwELQJeaCGroajEiAh/0UqPKncv9Ff1YjZzDkuyyZAxVrq2YwB+wH5uX1vTZaiA1zHglRQMd3ipecWQmht6tXjyziUHwDYeBGdGrFtxKveOj8LqOr5GemZFxZ0ADyjQX2VvMBpPBKazY9p0U5QkGcC7D95uvOEaoVzeD7wCYChM9ldjr9aL7ht+rAn7LMjwJ/9F/eDDqlEveT1ZjSOvM3NpRh2av4Wz/ZtQFSf4NkWgqzQdpBiDizTfA82+WNuAIrZLUewqDGIA+BBl26IPtaB4ECh+L+gmo0RJyzkIHlrrfKvfj6NkEvjyjM+rs4pu0SgAMrBt/mY0V/WSPjR84RsG2cS5XcGyBPtck4p8cFE6YHwnwcSfOvnw2AF8w+510DFbNLryZu5S4TRiiX4qQMqHYiq6cCKImy5YAuwNtXH+TdF3IF3PTLj/Ng0pk4kvwuiD8g6SfggOpsUhR6qlbNAURi04Gzra2+3yRJhXqbjKUIiTCNroWSH4d3s9dBJC6DvXq1K2QO/SMMIJ36W4AKIvo0MV1opQDOACbsSZJjQ3s+9gv4NdnxIVQ+yb9Ki8iu7AJB1sNfzR6VaLH+ddAX1RBq9vu5ttSl0jOhXplrHl9T/qF1JYv80uX8qybwWYZrgIhIO9jvJW6DTcjMICVyHks36I5lP8qsyEGl3yRn3a3k58Ge0J8nNyw1VT6JGRHe6iMYmr2uUJoG3jxnwl/5iOBAh8LrVO/+Y5dXa2ev3SAY6OvoEcv6v8kjNm8ewbSmp8TJ8vLKDGClzLy/S1khZJJc8617ppFYvQhb85bEu/WQywmTa7p6gDXj22e6xhoUo6wyngs8WWgvydR1gEtWSh1bY2ox6YYVDggdpthcpY8sBXSzYoxkCJf0pLcV4GTJcRBVWtGAHu7Zhx8ogOAeqH7fvMixwegpn6VYVWxiw0fHDQC71x/qSVh1np6x4dMSHpJbeju7KXckginXYu4JCACVbg9xil2TUifiS7ze7LRbGzIwvpUVIlF7fzMv7eQHfDtqoWACaRbD8Oq1n3fZF2CPNYxkDFwLFeCdRR7bj6lb3CIy7xImbUGBHFakPbTK518/s+VPQ+s3owNVE35yvEDAgvuVHkJamB7/MZrSIDEqedkQ/RWfGqDl7LbQCCmgcRNxFS5wvzwTeufJY4dvPqVu37fb84DhyHJoMkmS26pqbQJFwuEMv7w63F10VTtoOk5Vz7/RQ85HenDyahNWtUmSao/nnoHPUc4kV2+ASTeFPas3VJtvVFFancaXWQoPRi7upB/3BY//rqwha8rurgbH5sNJDTz5UbfRxB84HqmMRSpZ1hC2Kq5TK5f4hYUNrnGhNB9CKa3jZYRceFBcuMUafQLAZRqVX1DukxKQZ2VPKTRuSJyVBFZZs9/R/YfXMHP1o5qU9oVHa9Iw/KcYjWjlkT0nqwxyB7TI2fpxsrBcbLIUbSGBBriTj6QzcDfIhibjWgYKcLXNTT40WCyqSJ27wjOC1uiogN68LhNync8BPlh1f53V2CWdtWOxkOX++tYYHOQWMwRFKOmjp/OtISyyBVTBHHXiFlTZYMPV18cEu0FvXa+9ZUrMvfxs+92OnGkLzUkHa94rgfOELoiprijp4qKKKca/Mym5lLvTMCFowySRe4zIB59s2z6cCIIoVhG6REv4BoLGX46//LkFC1hFxPeUwGLwKAF5oNuT0qMTQCOuqsF8TXLoeOFWyEpV9ujaFfgcZbbQ2CgCNzpgGrGPMTbQORtEhbG5d6SJsHG/UevPevwHidrWoIC2/U5EJecPv0ibBCv3ih3siO5Neqnr7S3s+9PtFpjzJaleRhPgEL44OByj8iyAiccNoyNZ/AsWftx5brccqlwLB21+zrhAPq2NKXC0SL1F30gyND0hrMBKPl/5hmyYHiYNtk1GDXzagBKCCVVYVrBaVMGbC57l6Muu0Lr6itxEWPrRbs6cISqYD3XVEsUk/oldogNxSnC9dJ1IOXfZdeS5XVpGn5ZE9a068+OgL9pAhR35Kmw8KzQ0djuOiOYrSAj/HtUJfZLWH1a4eoj4ioEPoRFBESYCiQFUXFixqqX/+fUM73Zv0KlAWbjeJVR8dl/T0x/5WSB1uY1TaN57KUFW95rLRg6tgEUD3v4vMzP9KVcYonlYXqtn4Z9AyvYWzsIkcbpRpH+2vEHEvtycCXBCu991QJZmFBVQCD6R9JEuQIhlWzmm9Ry/ziQ7dW813EIC+4T+yfA6SyxrnF/7r6ar3VV0R5W/pH18CWVagcDuATSrRXIM/5ulY+3BGlbKg5rTVmfJEKivjlXFdhGPiYAffnluMTQ+7CdiZh8joTuvVA/hsU25lmFrajAymIn0ysuDeCQHA2Uo0jVs42kk0aMqwU7omHO92vuEosd6JH6nGKdl0VHEXnADg5d22TGccPD9WzHvTamE+84YmjUwKSIwXD5kIJZ3uT6rvto4iwATXc1mHHNeGxkuIXhwr++3wLHrVTDMyJqZlZ97Dwc7Bw3XdkgyM/fx+UYhs5GMHlu59Js64YrxLi+HIeE3KhcbradpSOvYoJx7Teif4fNSyVWXW5X5+kXANwICDeDZXaVJsqBvIHtaJMOrCL1dy1VC2P/vFg6DmJv35U8eTYHurt8dGygwG7B0TpUXq3cXP2nJBhj8v52HV+4TltMkpsmKCnOKQFqvUXfw1a6IfKwiJXGvjvOJSowGzyQqXdC5YD2NLnzFlkCV9/NmtXBxCIhFThCU057N9JTq5m5HqKlVEV2QsjfwqN11BUJNOEd9jjoyWbzTvqGtg/1RvNhMJWa253JqJgCxrvHGJ9RB1GdOLiqbkcRBtS4Vj9JNJbAvk24r7xW9E4WG9rf82yVc+3gsbp8g7lXDwy52sPD1wCIeaXDRcAm3pR1/csy1Fc89VuE7E+mQDhQWqhUCvAuRzempbuWtdPMnVJUVV91VXvgusJ8k53Q1CirMJJ2/+/0A9M4QGZD+kj/PoE06cNaOFobPQjfAjXWmVgiyi4Vv0tX5hJNFzZcPrNCW6mgsiBXJggaqtob9pf/cnfS4n0Kih0hdw3MmbiVhTQo93EkaaVJ5TeDAraJoMhhpL9ER+oVDaYZfZ831WyzcM27UUKqw0n82Uv4/TdUS4rGC5Ue/h2CFAAU2JX/iDhoxEz4woGhMxRB9+uHp1wcuGQ7m0ok42ZcQzdZlvGmMOdB4UlzMfNDqM4dlT9bZK1npJnQfzKAWw7Xksc9oR5xsrBtUh91R0JkiYrPHxD6mvLLpiyr2tfCrhEGGL20c30cbYrK58jOO/1meMliPQfdKLTOxjyh8eaazyteoYSrkiKY/KeKtyWplPkAJ7Q0j5qgACk8yYgZpNzp9KsojfpsHgbMS3oLYvgdrcp1Vnhqg8DE1M/FRogboc0fLq+54Mk/LN3Ls1ZhBYvt0S79doR7D02rq5i0sNO948mxf6PURRp/hQcNsJmsxzAtod95RM1vq5vzibrgH6IDIWBDnU1csbjwC2XRABRRR5tPUtXk1SWyWKdq2zeBubZfsYuiOb2MgEDHaLdxqr3GdRJCmR6f2X4cxzhbtZ5tuG2PrOiV9W1Hl8Fe9rxxoN1Fr309CG9+jYmIzXa+ZDQWJPEva23ndm6ry6ZxD2Vhs/xXewZWyU0NkM+w41T2MsC/gGDL+r/DcjxsdhWUtuH82Im8BxJ6LionFT0zb2h+fR8liEuZRipQksfh/6XjIiPMa7eKQyvBcKbn3ONJQxqOszIf6rgl9nm8ydWLkOapgGgNjDQIffFLFb1CZirlR1v/GWZNXBQq741+MIQQ9y9/qKmJLgHVVy3W8h/H/LKUXR84Zl/bYqkm49UflAKDG0tIfbhxIXFx9jYP+NdCFDLTFPN6z8ogmX4EE02qMNRtO3/h8pyUF9kW7YYcpmCiXX4chSwelneWoJYUIyPhQjaDvjzNldIL636cGbex+r34PVmvOerB3CFGN+8+MMsOIGa03jkPBd9E1xoOb2mgx3urf8kAgRwSozD1kJmOb1wxRcNG3+P6M+jlNHGSSokvDV0D9akO0dWPmKO9f2RhNSmbyxkqJV0nVFnGAMiI1w4CnQ4skTDTp+gdKUDDrXw0XQziDVAIpRnBrJ/4LzGkj+Q6y9CucT/2qwvMeoYk2xAtmm/qdFh5HPmjoJrRLHYTMP5AooxPeJAaumdzoB1fOU/gEPCwUghZmnb60PPgFeY6wqGBCRQ4yHMqwosDw78rxi1NGW9VQSA7OvBXHmORx2ILvntzYILCWTK4Rwn70X2XMjEF32DNeTQBCxzrfuM7Sbk9odSY7YogPEYG0WFBaBaw7l/jxClH6PVibPe7uCzbF8gbOE+A0ztLAlsZtJrvuUGDx02IMTRdHnKkAnofcbJuwQa8cukyKtFEyRNNc5MwoZLX/UwtLFOCsZ6eqR4c41ngzaD0SGXrTKTfiNjGwNd3EiGxFZsP/0dHRmiIWASLOlYYnOrW99te9LTQDzPE+VxXjdT/+Txar92JQgdpWaIH93+n0YTs6xI87oqLnHQJp6CXDXob3OB63i4GBtK85gHnWWQXIk4pUNQZvV+U7rVR3m6bZ/czHRndjQidJprJhVsshQ+v9jaqYRGekcpAWWeilYlvbHp/1GaVD2HCLKANAeavgRQ5PDuhsZwEAYi26l53ZaaDVRrgSxp8/DemNPSHy3JoGWks1O9mkBTU6ms3y2VRGA3yfJIftCAAIkac9NePv4wsBjRMaEkeynjDI6MKuXOXplomnuX760Ja/Bj4j/c24+89Q1m5DzuSxbt7mQmq+cIVVSoBGVa6/wvMCPGctd1JRM6ExHgb/vDWLs876Rp2Z8O9f9Kh0cff/E1vB+g2WL4W2tAGZU69432PMxBL0haSqcEgxioRTca5q6aML/0dgGm7fG3is2Y64KFSrHw64s+O5Q+gg9Qu6N/15AiifEisFHqhSEWL/j/PREJJb0SZt0+FKhrx6EzopM5Tz7z3I/0dwo7Z+5TDPl7oCpe2eS8VN+FwyoxXGNGBUvyN7X6BmcYwHfKiK698hxLgeZAHOXZzXtfY5ZJwnUv/htrMRNj3cZ7emmnIFjJe5tFnojVU+7OPVz8E8Q+LU7kNFARiAsGbHhzCgbKA/Z1cxnpX3+z17iJn+hU19UN5VZHPffCqxOYFByd19flq9lU7cE14EQ8m18jYzj2ImpsvMj43KUA98kp/vQa4Nr8aUWII7S5l9P8TwcLJY4Cq2slyR8fLheewmr4Q9+6QJKU707sqsHGPXupIUHvt5FEgdZPFuqmFMlONivviLpAWfW3PBSkZn3Ktae4KHRev55fiT4NsVCVCWH2busBTMgXudBytH03E3beTwkYD5vqp417EpPNUePwsb5ztPiu/dj2BMcmKF87hxHsAJ3GLcOUFjg5+NgAKnn3ld4Pp/+y0uYxPB4bT6AqAh7eDKN74WXGSLjJ8B8Qh6VhvrhONgbrJkbfR9fL6eCkvULuFxX0E0+2wI5Tly2XIPHgJIT15ISzUQw7eTYMseAVBmTdwNrbFF34gs7Fl38NV73lv3TTqhjpXYmmOlzo27FxGENK0+af2NGU51rB7YowmJ9uLkL+Vg23jQ+xt0q385ZMQy3RLrtZ8Tcq53SWV4DK/D+l9ZtrpN+2CYGG66TS2L617PcjF8DHGoftJNjx7xDYJ02w1ijCCYwCQD8acOlPibRzLbZxvhJawUcpADUQvaWrxkMivvP6eIpFccPeb4HsM6L0mCp+PGWQ3/llM5WkZIgU7wUXS4WVFM4o5CLfvcveXkxdafRJ8L0kaDSMR90YohTmc6MG7xjQmP8L8w+IjlkWadIqyX+R7RmqJTLzMiBnyjLr2p9lyA8RxOGqtc9NviWi1gODBU0JMU12m3oLRfJNUxF9K58uD0f1TzAc8NLrnwYpYaJQeV5gmIdg0nUZLMEW9pc4mu/+uDEk+F7cZqxgYfTwDvVv7PQFhxUtq4Ay3PFsPNhIpqHDIBN0q/53+CpkYxuVhmknwoqc0y91QyVoeM9zWCLjV+RXUGtolJyPxGu0YTD4l8wkOLTBURl42nIRbw5iUKTVzm4Sotw5M+jhZ29iGmx3smHlqH5xTlyouhfGiPWBEhYAm6kzCST1d9UawdLA0DG+2e6UdV8hdT9XPxErhaubAeTg0CC7LLYuAjx9e55RSuukCSRGGJduBPZf4c5/v4RRiDbGffUps3hQQ9eaoE90nMN5qZneHPo/X3h2s1RpAIyg14dwbH5gsbP4O0lSoYLdTpAE6buZGsdyzC5HJFb+RSoN63teWjYma6qnAWkq61SaIHGqQ/ng0u2dW/qQEoxlhXUlXw2iThjv+cQtN6Nv5rbLb1K/4JeKa6Lsq+lTfE/xfmSI9Wfr2U2mxdB5vkzxbrivKhe9rFHj1FrkV7IcM7vDYjN1Hy6xKTrpq85r2WA0bii4/YElkx54bw7qSaY8U7IYPSgJ5pnnrdId24Cs3p5poX5Q2CSTaY1r9i6jsTdazrCXvOiRQ2rwQm0kWDzJj8UXy+bq8ju+3LR72PgcIlJL8ejVlu4667Cf3SLN7hKTmfm+Bnt0DnLx1hpQd4m18ZwdoRihYKsKqap0EvvVfxP1K13yAzwhOarF2DvzWdvxN6jypFBMkJJW/BNtawXcsxemwvP+AJbqDl1fwsm4MvT9UHwRI1AFeg5VP8FylGqQhgt8zCa3zIly1Xeh2K9tD/yatXHJSosCf+j0jk+gLAyBYANfrg0rNEkJAG59MOTDSIiNl7oVTHFKczTsSG0fCshOrkrARDJ68yHB40ZKsYlsj8VO+SFSNfWNLUZwuy0LpcWfiheHDiEnEm+7vL3e6J4fMtMqrgPweHXr0iHgmjPzG2TQsHtDxMx6zr1Zmq9hwidIVTS4wgADCheLO4d3PwmConxCoOslSrL0IqbIwQXcKTE8w6A3psGveUzFh6rnVA2BJnUf6ztsiE8M9zNsjbiBO5VxELfjUseMWP/mV9M/CUn7JuBvKnYXpLvApxo/fpQbJLz5GsLxep8tMuVToY2yjRAMYbcA3PGBnpGy2mneCdpRUUE0ZCQgsgqdg6Tsgz7+SHsGxffuW9/DvHwv7VC5pDeE0vBmgEZdEAasHX0OwKI+ins0PMHUqKJwAp2vwM+UhjxALAFu2GkxGqFVJnkHoDEJeLJ1Nb2lZC8qdnm6tb2a+ej3BAWvOl5xai55UtXi99kCJEOve2HJB0rEz4CB9IbbnwiefMhBNBQW81noVySXDnrkIB5pBiuK8GUhY44cWeVHQaFFbwENGDTFpz3300KVBUph6KhoSQmMJYDm/QtXcxr9kAvbaCbSYhw8ektitNu4J7x4KjBMF5KjANNUCnLVKUZhPyuuiayO8CzLhcK7ChpKLqk5TZap8iewhW4x5droFjn51rhpdqne6GVBZZB2FgdZMLb6zzI7hM2kxgZ8/czHyVAEl3KXZVGHoqs0nQnlDbseDTTa2NCMbq+8BCNwn/Ksb7r4WTQK0YO3J8JulBHkHsNsD48rkqtAOnqeVZxiW2BZ8b1iWKCxiTN9i3ngviLxugkjjaGQ9UteicoxrpTFlHhVIw+K9j5RQNfy2RVr4vttaM6p68ujB8Sw0bUApTr0jH8/FAXbgo0XdldG43xha0+OGwO+mmptLKSkz00LCizMUvyE6BkUVH4r7AYAzIR9edO1hsqXPiNB1M04qdLmWmrOUZIv6b6nIw+54Y79xQuSBBWjxuiboVZp3+n0riVfninuds+YuKGZaPpnlOHOvYDzHOWCtH51hfQi0m/pNykM7g+TX5vAgkBboE06ijg1Riypqv/COO5n+JAoiq4YMnvjg1D35WAp5/WsDHVCMLDbIY8e8L4oRJ6nXPdqMYwkSNy0Vcf7/ZfelpYSIQ7qUPROD33jhzVSnsrfB8DNZ7UZctB1SFW5CRRJ4ipUyWeXOATjOXwcQJBBNxBo6n8geGcJoTBCTvbBMICtBelhpcKXllaOExAeXpZ2JFtLUsmOqJXebdkNxJd6gJIMLrQtFccUn/33PxWH023R3c15Y9vRRTl5Y76SzaHEvrnwyGFHqtEIgGV6IYslMLzu6R2MtTkrs5cXy7/uS2HjIsg6WzVhkCpUJPPoEZnw38Ki4f0mTv5XZ9lbmGqOZsPN+TLBn6SZBDbtOgJyZ4m0W1XscXAjOVqgNMbHQzQ5mu6tH+PgamsqWD5oeIs1HCABZvfeyub0CLN1UrXE/QoDOPpmgFgcbUzuUIEw66wxD7sVrZMaDN+5Fk07u0fA34j09RgyBE3vPkTasqz3R85aKAYuOjFo7jr+TFDqJbIhx/+IxVL7o1vogD1Lz2f2vU6FQkWZzU2z8HegLlXnvVt05bjd4OKb0h3mrsqJf9TkAfU37XNAH6oBwv3xBPXm/ru6epiwhOIfJjtfWkEE1PQJanNXYy3eVPKdB5EftGQ1m1PU1E/PQQcO23Wn8RgsG5rGQ+7oRBmc9tswh+OyRFNnznZo3u6zOtZrnw0SvwdJ50qbM3W/Ocnur4DeCK4KxroSSW5pClloAn4JmJqJ0H2TTr96Kw1M/RDB3W4Yz0QTgqP7BF8vT5dUo+yqqEM7mybtNDFThwbPs1oy9fuddKh88cFvGSoiQ+TkcxNt5aZqFa4482fTNtmEip+DhLmKL1QLIV6XD0vLGWvBGrtg3InjHTaiD21hnO3UduBA9AmL+Y+tR7TSgapl1i041mNsQYtHj6BUuz0ZmT5e8E9fox7JXQMCwTE/9HIvPfGBW2Z+dDa6AIAWr20nrlo9vCsUi/YEX2Og3ZBj5UZq3bYyS+UfyprqbQXTNCfglJBOybf6TuZaE1QNmwSR3bZrCeIEvnY5Wj7scF0h500c4gDulAVLJzkLy2unvNJm0eyso4TZvhKzJ37+MF32s8cWOygUp9DB6nGJDIwE6bnfHtiWOFhVytP5E59e7zk80Ph0J7jFSVju7KsgQ1TTgEvOABAHCoPHXNiPELJPVje6Oa16xOhIyKWY3cbTd/w3+dpN1geSdOrMhWFQ1CTwnnQ+TSbq67X7rO0eJsxr8jU9uVArclxlLXS2Wq0XqFIpnKGKNhWZVThg6LFjkVJw9iGdVxLN2cqdsbEFWm3Opkf+wfPMCc0lV1sL/QtQvD2wV++cNH1YW3mWpcio5r5sNSkYOXwCheY3y/sdy3v+SJV/e//r6eZ1eLnHl1BM/980epdjzMXAgJRw0t/ZXM6AxmytGWJF6LBxgr+TjjpjnLZCJMFCxjmrpJpqaXnhnKzcyhTM5NrL2htqvOMirMWYKzohBAoKN++7LiRB6Ve8hEHdvjuH5hjBMdHwucyEWWpid+PtDXPF+pUyqaGq4+ikZnbiyvzJyd/pYhX8DH9Bv5ZKmrljswmmW9OjkPBcZd6KpjdVxRyXbYbfYEjBEogJuNSKsAc2L8PelWFnT3bLPg/z+JOfG6csJ1h58TSZft4H4H+m0RbDbvSWKUonrPN0soowbESQjlimA0u0YZKm+mCnjfdq6hPZ+nB8U1UZ3ISqzmdgvAMC9ItJc6imdWqdY1NNKklAixxHYNxAjJ1FhrCFTlmsQopI+TANML7hiB3ifFHcuszbLEF6jFpZdT1spq5c7nIrusWvC2mORtDIFcZhpRcKFANPqAlPPjgnKF5GkOYW/hZcKq5YKmMsuGc4ZMbHbSe1ATyNLOlnPkVvKMh/qyqofeYhSrNJiiz/np4jXOAFMea4yK3iY6EaGy0RF56l9/TPN+V1bcpKpr7s1DBuIiz70vAbJjH0iuUgEymNMbCJc1qZ5a9cCFSl+qaM2LzNPE3IN2pEiOubbQeho3/YaJArmmYS6nhv2lODshZt7BE51R7E2aU71qVC7TKqCcHNZTqQNTB+x6KgdMM+hCDowLOUqFxg7hvJeogwPOZHtfeug4fqQ3jRyHefkOrj9Tc8Q4IcSwdGA5pRUdZ4NL4FE6S4+3mJ6hi32HY5lMtwcczBww7FsBnwSDOiGyyeIdf7Srlh2d5LGF+Z6qvmc7Y3x0W0rCwFB/lNHkZp49bQijbU7ss2Tqed0+8Vx9x16aIMby/4upSVg7/LxUObFSEWRE79PlyLlobP8qDfcVczNs2+4d2Ild9lWevELAUwPzUDD5QINf1R8FvS9sel4KxjBejgLcmuWCSapdlhGTDacflzerCWUXtVQJC5cW+3z4eJms0kqjaMClskLA4A3Mu3atoPOdZ7TNHLkc59j50YVkV0cn7Wr2RtZ4rKA+La3N8V+at89YTs2YzVwgA2bnNEzb08FsHXfxgrRDB3CerKyBA+FBkeWTvepGnS2JvQb73UYjazUnEJ/TjtfpB8fb+MAj3PV10KC0l//1Z+3aMMJxbojwgkdIFm8eeR4NCc5goJpX22dFXedCwp030Gs4FuYrJtWrMMq7ydlg1cAn5Ts7tCu2zcWwbuAPnxyoGHsPcRn+DLpWCUHMmWDhhpmh/4Uzf04a/y8PgN9mmUUw0LN9k5VRoYb699KLB/4S6rLvtstUUQ7ZbljitAGtdJ/A7eGYt1IUX/U51IS0r3SJsJU7ofie3PZDo2nYYJwxTGVj/IoAwa3szBNWbvNk0aX78TybHaVmPJLgtBhMsaNZH1O9txMJe/eOi30e3LS0zLntgmtYxToNEptKvvARLngVX9yl7XkJ1niroe0dnDcP+0UK1n1dZRsE+ZH3goeCeIDXaWssO3P59oIH1Pb/lURUGfWqxMWVYv5u3onxoH+mR+3tB7ZOtrw9OHRqXbi2NDZSZ4I9Ju0wP0TGmA+3isM9mkCGPxmVtUHEVgymb8wSRUW4QXBq6Po+MsM89F7CaW8f6A0ugEcJV40ZS45Ant2Bazcs/WbrcegTMEIuFzn/Z5dubOgianr0GVkFon5OJ+w7YjfdpTQwlnkiyfV6VUJNcINaYknV7hk2GhHulZPct9nxx1Y653jRc8A8JC5fHi2o//7sAhaulGvLqZVyqhbeJoVxJBHjIDiiHFA/QtePS3Yq0vUtqiAA2A6ScvnjUkOHwi0nXfq/HFAwN5S0E/yQETqA+7ofVwzUnp9wKQZhTJGKlQ91UeXN/dl3KgniLnZocP0EjObr4PwY4A0LxVPb5WFYHKUuxLDXhTklGDqETzkQ2EviYwQMVc2wCfpbrpuOEGT5p+yA/9/2vjJsKt+cHPh73LyqSDWrtNzFw6B1qu0ByeyFBhZwQzXcYpwI8pmlftXC+/3JYbbiKcptxDjM5QB72Ed44/zwsmr0r80DF4ycuq4xc9aU9AIDsa9jqrbfHGg9/B0n3ooKOsLFKSpUog/IZzsek6AGkyNOPXIwXUQNaN74jNQlGUjjkIEx/RtXKQ2X1nZHlBAoQJv86SjFZ4cgrGHIZ1SqZWUVd25cn+qGQmZlV/TZpQDBvxgkBJebWWZeNDE2JvGuKkdFBCsQuQPUVwL+c8tpyLoLNnycSDcOzJNu2oKBMZ8g2cOVd4VB/zNZa3LLghUppJdR5FBkLMN4Q8KzHyCG4kwFNRkJfiBrDFLa1vYDg7a7al/CfmviE0d/ZmTauKC0EM727cMVAbl6AbsM8xwL/w6almp36SNWL2g+OgQjeFhaYjfHNdFggkmkmrxQPtaq03cQqWx3x598g3DeLGirC1plLoQ5E+CCL/T0nHicNvrgxEQqRV59M3uRCnlcCXfLFa5Dq/lZ/ojSQTfk7Byg2fxKPO9kNA0JJ9nxyEZKUz5NMGyVIVunwGFkOFHmR7Hacqx6THi2DPHgNgtUZ52bA6ps5+fHRC4dHYLa5HmOunW69+yaLI5J8GUghsvdBFKjZnhnMbutGoz3zIs1ZAMH4Z8DfXMciLHJxCx4NF7/ZAM+5EyvVjRMjTraI9AujmwkmAKy4u/oUbH64yOgaglL9QUvMal2TWp97fObXjcmWzYv15l05WRlAvzB6DUDgfb8A6mbaqTA7b3DrNHL9GoTDUQa2rqH9oswqD7IJsalSMpGAWhKA7H73h+BIGnDFcMZ/Ei9wN3L+1oP6ey+MxP4xUJq8syN0e3a6rauGPMofB/JjbBF41ZLqehSc1VLYldzRHZ8BGajzHTuxIhC5j4B6fWeUkJ1RCGWYb5R/gl1t/K0UALZd6xWyqa5vVYgmUt5HN9vWaPZg4ICuSOO5ZdvO/72a5vStCUkgu11QTpCySQAnb4AxOYee4F7qLKyR7tSbxiEs63bAE4uyxHpZjcKDqfJIEF2AAiE2moJ4L689OLQRmTSuiAI5H6QzX0H7U59hCFC3l72rb/Nry2j3jeUhjAfg6JSR9WmohPX4zOm34zfLivRoLUdLY3K9sOQgC5NIqLMQj92nFzDSh9xbk0Lzx9lAIlboyoyFvZVg/TF2857qEk77Stt2lbel6x4M+Spj+CNi7tYbxNAJqymuSZMPK4w8s0c9gjrzQnhVC36ylvAD9ZuW26+pQ2dSQXtF9eLtaHb/S2P8+fUCGj/Nd40cFxjBQfvzxCNKegXlqs03gXfRBv1/y1jw0U+RvSEaPgGPqL3kyr/9i945KCynjzWwWWjI2CsL6BrGg3exgo28rFSxM302Q/XEWuf7GLfcEo+7rTSb+MZvdUCTODQhfhYayVd4PhrYf07NEvTDfRPOPdC1MAwHoEfg6d1ayf98eX9vQKZqE1V0txEPTQndtDas7MlfW85Pr6ZeDGS8k7giqgDOREhYBrLQZp0ANlpPgs8Q4xBKeA6k5P5/8w/lc1+BhbLST1/QO8NyjC60jDfKOSzuzQjijfC0vbJsbrksTvh+obAWQxNA8VN34Q3faVTsE7Ts2A8kv19+T+yINpCrNb8KveNuef3HkjQAk4XM0RJu+Kp6T2Nm0q3TxRMGlED8/SSLanWgFJ/vizAF4rBTnsMarHjUG7US2JKJ6X3F/Xik62iToiC1wEkyHeLb5amNIunYvwNVWOwjvqQtGS3mYTXrMqHtHmPJljE5s6dd4rRapvxmejfAyVoIla/XFzbr/DXJOz4yBNkON+CjnuqNVTlGJbQuXO7lpPVIcLzy9YXol3Br3zaS3eDTORDNv9QELoe+MbS9prlih4I1J2uXxBbIPWWNBD16qRHjWgqhqDnOj3MlC4yYsw0fwdM8+VADFCKm1pkR0vEA2/bJDGuqS69US89pZ2zDl3G4wE8oqXg9E1xxfm1YQuPzi0KwnmpCdEFrcBqQrGaoPW2hbK/uRg0pyCtGWUfdkeBIX/kuEeaR01QDjqLPwCiJI4lt5dpJZnuvt5sdvPZynKRCvL37dFAwHlTDeIOiqPo/svDT1kwZc8yigVMRlTUCvWjbcpTGYoDNGU56LvwNgQ3eW9hwF/ERpFMlWoXzd0EXuYIRKUg1E3XPzI7HlNzjDy9oiMz79QMEYlqJ3ltHGpYlwNunf6ZTvFi7ZRw4+8cNaEohnBiXw9SIkAMeFCVMCxBlkj++vlEdkOhjP+GMRgwgkZTOTKo0fHJMxia6mY3ZfUJ1enuvInqGAKVhPhNBDI0ctlVBiIKfgAjrvDTQebWJYLm5IXibojsrZNa7UfGXTXtY1PFapav0PbL+o5I7BAAFj26eqHB6SarX1yPoOhnV8FbFnonZ87vvFgyV+FkcsPR5KB6LWSOahIr/djpq/bxliFFCAF5EHPPZDbK4ArHEi9LnPIQmAeXrn/NvoghHTYsLEmlZrSdFM/hbryI+SJsLRMr2OjEm31hV16+4jZbGyDamrWEjW26MDPTC9J9voLzDlxAkJgJIalk8FfVD2OVj3r4KkZtTBhvQSI55o211GcGqVaGojc454pE4NZww9V5nOlXThmiRabL/hucu/jWIW2y2ytO3q4f9sxyvhk/kqbMUr1SFIv8mfCGwxMXLcs5Dt+WdBN2j2W4/v3zXPySoUYE+CYYaF6byxuoHhBF7PkTMshttTTq6wDVxDRtgYpHXKUpGFhpiALBDX1w9OxjjOGHbOR7wXaxwwoApwYBuG6Sr0Ri0msibcKzAGX/Ng590/KscWiKcXI5JZsJt/4X+eSAPcBjAp5Q4PEOHYfHYboqwGAEYjHglCbh8uj6tXvQzxDL0n9wP+Pg34pvBirVE+Z4Gq1gDxZeKMEt9FtuUICB9fo+ufZJZOm/l9+PSvDYVebxB2Wfiu7rLe5RtnUWIPa08KALZ6vI+EwhnlU8BIUcq/HcX5YHK/ARxAbvk9OQbFFLB2RdMJ3Vg5jBeITNGLN1q0Hd9cbaB937730IUEO27ao7UsAEhOSubVFOaNaXUhNkRWbEXBQrd47ftDhT/7/I9SczBdNfcDM6dJ7ZbTpcAcJz/35SWXDYniTPL9CxHsL0iZz8YzJz89ssRZXGGM8zlHnN8tLDRLGrN75un80g2Of64bxsFY1UTPlcx806sPa3zSxIvweTQXUiFW0oHpPs9r057UbkkE32L1TezgSm6rTMiYYn/G+C042f8YwHo6qZGRZhABbMnVFsr7cxhq6nutry570T4ilkBvguKFd/3Up2shQKWb3OGt+dgoSzCc3AQuAbTK7tP5hPj/Ch6plODNnMgH29LsCSg8VKvj1KCmmShNoETVFHoI5MRLPROpFB8QjJtvRQflVJYSSxkGWZylf5ROvKVSWuJiACCO5d9C5CgDfgOvUTA34Qy3tBCh9uS1ohdF0/aujfQKIm8FYlyrOuXtxsNwR3NQY2jEio9+E3OvLrKPHuy9EmOoW1vVWTRGU/UhEMoYBqWI4nGBfx2dZ7eRbCcOmnIl2gDZtiYSw7m/vGZKSnEhYyfslDCnSxwvqiR/2bop1/f1uZgSEXt8YMpRqegWCp7NxXmoGFcV8GpWdYQI02FR5CyI3jow/g6SQYR0Y8uBXjaGNXay3tnjjulEeu5TKMgoU4h2RZ+JhUa/jWOioFNwKqmFfzb2NiXk6PjJoGq7qKvsVI43gk/1a6ssCHNwjEdYTHoFK+Bggw1y+ZZ2t3VcJxxZCwENZTttZypPRtFTH93ncLb2E3mKKvmCdjnf8WRyjgiyWlDLJ3vOcNl9Y76iNPXmAe6HOYJyLGO1wj5UyNgUy6EhNN1Neba6QHEgV8RCazlpS+4GVYslEhw5O/0x8Zz6+vrH9F66sYsJggcsviRssyrQ/vRz2DDxNRx9z5Egx8O3gF6/nW/PkbJlhq3i6HdCbPimbqK6RmQkFtDZTuWo8XUidzduUBks387uQ/CnKdkNFXLy3RDQJntw9VANp4FU05sP0IZFL8dg/riIJY+0RQ0hJOtgDVNBhi96G7NgQyRP2D7iVaYuWia7fKQLUqDuIfUOvAXzgLfsnxH8klpRtJ0NkCURSWWsVTD0C6PMqYvutbs2v/Y+PccVwA0o9frU3qH6mV850dTT7EcI4gTAybnfUFHanh5v8i0yZ3ETdnVOoeG9nPpsP/YC/kGIFur/RLoRHItAAxvopxpkqc0OGM+Zrdj/UlJwl3VvGurJked5MfeqO3ZnRdGFegycLdBB1AZnO8XnohKLg17wpeya3hlO+MdfmoTM5ORgAUYe+eh0mLc1LMkWMp+8nlmPill1KFOxkdxqN6udFvTSne8yrBa0KKhmYozXh/wVbYcuU/7eIWFiEW1E4C7FAk00DtTgs4fD7h8S0yHRn9UM7QHKBCQYuy3rXVLFZZKzhNvRYWs+qcLAC1Hp9VqieU+XjYSPsLAxFku6vLS+cMGYrkhA8kRXKLB+ZQgwPqDrIYcd/E8cVLKIQB2xul9gHfGfKeiJ/UQyTLLzNRwHPxATQXQubOXv3UlFizqs9wwi/FeISASZY6pg4Io+WhanYH7sMc0gHCvqgdJOG84E6qMW3QJYwibo+wtTzPNlWoddeUHXfKR1wxf5K1yGpg0XlN7+mwen6bVRHRgUiDeEav+CqCSyzELu6qt/Yuhbryc27F+kmG/TYF9j7zZ8+h4Dpg9J6/9zdFYDVolRuPHdwidhGPjSV3DUy6MHOBy1XznAN8RpiGcHeHTRUMqcnaILqhNZl/TWarUN0TsX3AevJAiLb/8Cfzm9zvF3LKgaRk38kd6l32FhR2cHImVsABTnJnLtJrrYwQ/pPLDNkx9azPTq9no0FPcYhLIVFXCw+w6sUKb4JZSJuKYupThxNshj6u8yGoy9zug50F3oNw26sCkM+QWCby0o7P1g4MKrWwmlJ4S0PYPwix7tEPn2DCF7BzrH9ZuNVwmZIEbU/TT2RXXGB6hXQ5nLvoFp9BXy1to3l3WXjHGBmC02XewFLHWP/9/qjcwlhmHdoMC43MTG3LWfTTOyGT9bquSn1b45zKRUx0ipDJIV5X/zk9dGwQrnA5ntGTYcSlb2Y+24ZBXbe3a84bxFedLkoHaiaUadsShYtJDauJVJ3v+CY9Wnt0cjsV7csj5nwtzosGyCc6y9VioAdsly8KUAM1bK4xJKCpMXNsTO0Z2/HtPkaJhz3kzWKxoPU4GlIMXLwTFVKsxNGUkRID6QR//ROvc3qlSXeUIlqHwwHTLHkNM8epLVAd0TgLRejtJnvibyMcfAsRKIScopvksmv0O0Yk2x7GRUyolJKNOOYku/EBX87CB2UKeZxqkirFuKktHtcApGCnCCFLMkjG9C/2nqTrQcxIB3VHPYm/MWtIpxFvG52zBiAmGmAIEXAVepeq6J+jJI/L5kwiGRNikiX/QdkLs0NJi+DzLsrn5HG1kO8N3Oc40eQA4dz6uY/Qvn/s46JsjQ5w1yTc6LU8b1fneqlrpvPmFuCEZWi2c0im1qriVM9LTZwRuGng5gOGtpkkUTkHyc/oCTdEa6M+Fjpsqw7UO99DPZWOgSm7pmLjQPjhwK5ecyqNObTTOotmyag5hz8Pf5ZFh/SAAqp/xo4/npBK5YG6Bim4FNbEyxG9z74t7SHfwJPfbdSzTAsju76bF6w00lPlRka3KOIG72hSEhWBabqkQ/Iu7gIBZmC3cmVBd+uqUrmjfAwBpUoHQqX2Z6By7QkDMGXmvkdnLHbJCwpreQb5aigHgdUdDTzsnwSZwLByY9CnxG5/b41KR+gOiLXKRIHkZEl+xwWciAdt4rR3NBr5QHuA2y/wtPXiEOt9tqSpnQ4EtSmQv0n2cOGsCRUF6MdFJTmKK89gGDlVSGdHDi/e+IWY4wvnYfMWHcxs7v5A39fG98bUtYOZlzOML1qsxpkOb2K2utriTgxBX64bY0pVa+arY39i+RunbOe2yukwvdUbFrBehnGu1ilMBLPkPPw09S0hQkZACl9oFzaUcW308tKXFVtChetQU7nTd+C7yfirElkD7gId6Ylwdo+vRVN/LLi/Jnyk4VWjVCdw8x6dvM3os3DrLpn7bOXXZi240QbZF028CMtDiTMA4a5IWpjmg2+QSTgZOcH3B7bxRVl9WhpRqBdkMOmLaiS2lRC2tb5FOUHXw6FYrlNcreB2JISkvGBT7MHDra57zFiXoBWRfK5bG+RYojOpmrgMTNd5Kab3QzqgO+Dcu2CbTNJImqWq8o2CMS2KDtN5Hq3ZYTg1OPG3cVDeC+Zo0a8QEbmxVuQCjnjGYo+ZlL8R1RJVCnF80b2lWOBqKXGDNt8iSsntXkpGAcQNok2mYCEviYzDUyHrfVvfPKqS+At17O5yfvlaaj3U39MyJwAZR//G9X4OWmNMn7FpG5oscycMcInLTanphyWIQKiPjYAOo0JZ6Pek8+KrU5k59pWMQdHzmZRh3RMe/beSMQZyea4PzrQ4XbAqfHMPNhoFIbj3K4HwchxDXGgJ5awGUY24vdygvOcExvO3pkfv7zCxmJDsVM4YMCmqwo+g+1kU95UGVBgjBBkZCQ0ZMUWKYnp/KdSpmpyD/VsiHKbBUwD5Iq0RnY3+bkRR+V7jtlM+MNK1lG78B+XDuwtpdScYm8iGl8RJc1b8b11ilX4QfrcPEk9o1jx83x//k4ab6JNASWC9jeoGjgzthTHqku1C7ZZTT8I7HsX0M/lZbEr3zuxjpbth0iXpmPx2MqptbIM36MhRaT410wjCtMwZKFhAKF1FE44hKP0XN5nrN4ab/uatLd99AiJpOUY2Xoo0XULGaM8wgt93BL1gP2cnqUohfDCMZbykHV1mu+7VC5MiWD1NXriZ12PLW+ychx+v2w8FoIjtInm2BM1HrUTeh230ul7b1ttkBoA4x6Cbv4DmE/K7WfjI3j0p/8YtEq70FgqpmLvXkE25t5AZJ146Ubw9jEKm+PI+QjLk9ExTiyGe2nZX5lu4L+pqF86rDXZ8tpUJ4YFNunl2c8M/Rxt2kKwYT8ggsSa5KfAQtF6LIYyfIeWd2ov3LMGwJvt/KIMepJZpTLekikHTjblVs6n47+mHew5K87RwPkOMIz53+y3uZQGLs0LuOrhg+EVee+fgiM2lOdCwJm/T4Xs8Rtb11iipre+a4Ft8KS8uufqTGhdl9XC4rCd0ABIS3B5R6leEYSfLmkVAG/V3vqV7i1zZ3pIqc3R8kRBgAnA6jMtukS03e17w67begGcsRFSgafjop50OM1X/GvdXjsDe6ibihIm9FQ/8W/Ar38YrHOE1deWE7o37VXUxu6au0QIUz2ClhoNpnGIGy+re1ylWYEzuNmho54aXrbkDC7LMv2r+jbidFhREsfw/2jyo6MG80qco1GcZR5/PSnLvy9efTiV3i+Xny0vXXSc3daECw7gIP0vdZoyqPHERoDSLBW5sdA46tVZ0FVGKCG7tMFDo4oFFcBFAhgcPdff1WlUL4p4S4rDf/f1u/fxEU7tMbPF7gsVDTWLWXkE0enlH6u/tLLrAIy4wHhGcDOju04OvILXhU3/VAy9jilK3GoeybjQIwFC9KV5awOipWU/I1RHbkGYlE13ntQExTmv4A2+LERZaSEv1c0eIvdaEfUouO2lCDedS5u0Mq9fWNCRGVNg9ZhD3VyX2Qc+IJIM4w6FAoL62PSu288u+8oK0OerNdYfmrKe4YZnIMWDjHtNmyFj6w5pJPVZAUigZgLy0AWdhyGLcG//qpGdsSz92CeCgVUsMFjaSci5ZQEIlMPk3p1oYlOivHC22aKEciktftQ7pxSjFD/zI0EmnmXRnLyx4sPKZlHa0oXKqB7RPKf+qei2vLiv3BwcKvW/5qeOuGOmyuE4SZa/sUCKa516LOwtxeJVcWu49SdX0/4xFQ6ZonPAJgYGX4OBYCXagx4W67dPZm0rk1bDbvW4ebjsKMs9i1AhNjkq5IbacMwH0A7LZbmKCpySyGXszJs20gWZP6TF10kycidGZyMIi8SVlP3H/ErtLr9Cv0zsD6fr7OvjdA3pLQkpIUNAR6gKxIpd5fUNMRnDz0BO6N0ONzykbBeCsJKKVanLvwg2Ci5q46H3eMtlexxlidEJdCqYrgE7gqMo7pLVikDbuLirRvEgCUInfpcyxDRxcgSrhzNwXfluVEmEnsDRlue6fC+UUhwMXWQNd+LsKD0DoiuMwCDhn26+6EzN+zDSfJpjibGuUHE4b4rJxGWVLzbUaLnqzPGi/qBSuVvYTOv1qNI1Xt+PVSL4dfEpqp4HXPGHGE89gr7pkS7aHwm/FgihS5Sn6rlcnryvCTx6Tuwjb2maUiWU2WSBMgSCzNev/09WjVVbXRi3eNpDoSGqEzc5K/9AVz0TnT1sIycn40tS8eaLtkvTqYx+aI292mYHPE+dspFV+oJPD4jJ6GU9Frjpuq7aCB3qhQ+1DuvfBR4uoR1azsvyXZL118Um1V+xGBfQasX0jqve6PRXJArI8wfL3crorCD2t8Bzldi/rNgu8td6BBYRCDFenK4Yzk33Whhc99pqKJsYsQYKROUxcGHQcgmqA3xzKppHF/1nQAWitEI2GDrnLfnk0GRZSNvqHEujgwQn76bTbKrmba2heZgqoQY7TrS5qP3jsQo/W1ko0Q4VUWug6E99wf5OgahcD06lDHk0kvuQgAoFbj0tiI7BOWcAXsYjZWZTgNJ+h6a25GeRtuX2NStxyYzqHohoITMBTUtT3q2XwJpRM1vgKd9XpbTl+/wFgPNtFjyUPINRGbCfSet5MHbEuLnc8ICeJug5Jc0LJtCjx7wFLNgW0trzhFlMz3ih1LVB/qJsyL1bT3qTCvstvLdQEn9JOXmDgW3OSfLiQ8ddNnrw2wEwyZeDadRXzSScReBGheu1W0nD++jA73aaSHNaqKHO93H9eIcpiUKjbJcRqZLdWPeIazdRCZxPCTlZMJoUFPHFSSpbe4C0OsISketM76fhwtaa67RVjrSnim3qvwVpkY+hmqgmBEHMbyPw/xJWPkUdpiIcuwN4JUIkCfB2IvtTeJeYut9ImH44jqYytDOE3qlpEShEDZ3G/A+rJT8jUC0VTuGyjt4uhaRxnKF/cRE7x8L4bePgAisRD4tEBINya+uYcB4F5NFofz0RUuGJyuhrYYtYuP3etIdQJcG5nFuccosxsKYcwLg6YvH9CJryqJ2MecXAN8p9XF/r66CRl3uZXtIzUXS7TK9NXQ9MA4ySGf/6LoliZYibn5zRMSJVXdhHUogz92PfyNm1tfQ86Rti1iLyryO5mNoDzjRTNMrNeizO8aI/+Vr1ofcI3hZur7JpHNqIs53ReF9/v5tyl1IuWo2RKFkrc9EIkwjDCAyWHh0t+RpUk892G2Q=
\ No newline at end of file
diff --git a/src/test/utils/testUtils.ts b/src/test/utils/testUtils.ts
new file mode 100644
index 00000000000..b922fc9c61c
--- /dev/null
+++ b/src/test/utils/testUtils.ts
@@ -0,0 +1,23 @@
+import i18next, { type ParseKeys } from "i18next";
+import { vi } from "vitest";
+
+/**
+ * Sets up the i18next mock.
+ * Includes a i18next.t mocked implementation only returning the raw key (`(key) => key`)
+ *
+ * @returns A spy/mock of i18next
+ */
+export function mockI18next() {
+ return vi.spyOn(i18next, "t").mockImplementation((key: ParseKeys) => key);
+}
+
+/**
+ * Creates an array of range `start - end`
+ *
+ * @param start start number e.g. 1
+ * @param end end number e.g. 10
+ * @returns an array of numbers
+ */
+export function arrayOfRange(start: integer, end: integer) {
+ return Array.from({ length: end - start }, (_v, k) => k + start);
+}
diff --git a/src/test/vitest.setup.ts b/src/test/vitest.setup.ts
index 5777cc00611..2caa82289d9 100644
--- a/src/test/vitest.setup.ts
+++ b/src/test/vitest.setup.ts
@@ -1,15 +1,22 @@
-import "vitest-canvas-mock";
-import "#app/test/phaser.setup";
import "#app/test/fontFace.setup";
-import {initStatsKeys} from "#app/ui/game-stats-ui-handler";
-import {initPokemonPrevolutions} from "#app/data/pokemon-evolutions";
-import {initBiomes} from "#app/data/biomes";
-import {initEggMoves} from "#app/data/egg-moves";
-import {initPokemonForms} from "#app/data/pokemon-forms";
-import {initSpecies} from "#app/data/pokemon-species";
-import {initMoves} from "#app/data/move";
-import {initAbilities} from "#app/data/ability";
+import "vitest-canvas-mock";
+import { initLoggedInUser } from "#app/account";
+import { initAbilities } from "#app/data/ability";
+import { initBiomes } from "#app/data/biomes";
+import { initEggMoves } from "#app/data/egg-moves";
+import { initMoves } from "#app/data/move";
+import { initPokemonPrevolutions } from "#app/data/pokemon-evolutions";
+import { initPokemonForms } from "#app/data/pokemon-forms";
+import { initSpecies } from "#app/data/pokemon-species";
+import { initAchievements } from "#app/system/achv.js";
+import { initVouchers } from "#app/system/voucher.js";
+import { initStatsKeys } from "#app/ui/game-stats-ui-handler";
+
+import { beforeAll } from "vitest";
+
+initVouchers();
+initAchievements();
initStatsKeys();
initPokemonPrevolutions();
initBiomes();
@@ -18,3 +25,15 @@ initPokemonForms();
initSpecies();
initMoves();
initAbilities();
+initLoggedInUser();
+
+global.testFailed = false;
+
+beforeAll(() => {
+ Object.defineProperty(document, "fonts", {
+ writable: true,
+ value: {
+ add: () => {},
+ }
+ });
+});
diff --git a/src/timed-event-manager.ts b/src/timed-event-manager.ts
new file mode 100644
index 00000000000..dac67bd7b4e
--- /dev/null
+++ b/src/timed-event-manager.ts
@@ -0,0 +1,150 @@
+import BattleScene from "#app/battle-scene.js";
+import { TextStyle, addTextObject } from "#app/ui/text.js";
+
+export enum EventType {
+ SHINY
+}
+
+interface TimedEvent {
+ name: string;
+ eventType: EventType;
+ shinyMultiplier?: number;
+ startDate: Date;
+ endDate: Date;
+ bannerFilename?: string
+}
+
+const timedEvents: TimedEvent[] = [
+ {
+ name: "Pride Update",
+ eventType: EventType.SHINY,
+ shinyMultiplier: 2,
+ startDate: new Date(Date.UTC(2024, 5, 14, 0)),
+ endDate: new Date(Date.UTC(2024, 5, 23, 0)),
+ bannerFilename: "pride-update"
+ },
+];
+
+export class TimedEventManager {
+ constructor() {}
+
+ isActive(event: TimedEvent) {
+ return (
+ event.startDate < new Date() &&
+ new Date() < event.endDate
+ );
+ }
+
+ activeEvent(): TimedEvent | undefined {
+ return timedEvents.find((te: TimedEvent) => this.isActive(te));
+ }
+
+ isEventActive(): boolean {
+ return timedEvents.some((te: TimedEvent) => this.isActive(te));
+ }
+
+ activeEventHasBanner(): boolean {
+ const activeEvents = timedEvents.filter((te) => this.isActive(te) && te.hasOwnProperty("bannerFilename"));
+ return activeEvents.length > 0;
+ }
+
+ getShinyMultiplier(): number {
+ let multiplier = 1;
+ const shinyEvents = timedEvents.filter((te) => te.eventType === EventType.SHINY && this.isActive(te));
+ shinyEvents.forEach((se) => {
+ multiplier *= se.shinyMultiplier;
+ });
+
+ return multiplier;
+ }
+
+ getEventBannerFilename(): string {
+ return timedEvents.find((te: TimedEvent) => this.isActive(te)).bannerFilename ?? null;
+ }
+}
+
+export class TimedEventDisplay extends Phaser.GameObjects.Container {
+ private event: TimedEvent;
+ private eventTimerText: Phaser.GameObjects.Text;
+ private banner: Phaser.GameObjects.Image;
+ private bannerShadow: Phaser.GameObjects.Rectangle;
+ private eventTimer: NodeJS.Timeout;
+
+ constructor(scene: BattleScene, x: number, y: number, event: TimedEvent) {
+ super(scene, x, y);
+ this.event = event;
+ this.setVisible(false);
+ }
+
+ setup() {
+ this.banner = new Phaser.GameObjects.Image(this.scene, 29, 64, this.event.bannerFilename);
+ this.banner.setName("img-event-banner");
+ this.banner.setOrigin(0, 0);
+ this.banner.setScale(0.07);
+ this.bannerShadow = new Phaser.GameObjects.Rectangle(
+ this.scene,
+ this.banner.x - 2,
+ this.banner.y + 2,
+ this.banner.width,
+ this.banner.height,
+ 0x484848
+ );
+ this.bannerShadow.setName("rect-event-banner-shadow");
+ this.bannerShadow.setScale(0.07);
+ this.bannerShadow.setAlpha(0.5);
+ this.bannerShadow.setOrigin(0,0);
+ this.eventTimerText = addTextObject(
+ this.scene,
+ this.banner.x + 8,
+ this.banner.y + 100,
+ this.timeToGo(this.event.endDate),
+ TextStyle.WINDOW
+ );
+ this.eventTimerText.setName("text-event-timer");
+ this.eventTimerText.setScale(0.15);
+ this.eventTimerText.setOrigin(0,0);
+
+ this.add([this.eventTimerText, this.bannerShadow, this.banner]);
+ }
+
+ show() {
+ this.setVisible(true);
+ this.updateCountdown();
+
+ this.eventTimer = setInterval(() => {
+ this.updateCountdown();
+ }, 1000);
+ }
+
+ clear() {
+ this.setVisible(false);
+ clearInterval(this.eventTimer);
+ this.eventTimer = null;
+ }
+
+ private timeToGo(date: Date) {
+
+ // Utility to add leading zero
+ function z(n) {
+ return (n < 10? "0" : "") + n;
+ }
+ const now = new Date();
+ let diff = Math.abs(date.getTime() - now.getTime());
+
+ // Allow for previous times
+ diff = Math.abs(diff);
+
+ // Get time components
+ const days = diff/8.64e7 | 0;
+ const hours = diff%8.64e7 / 3.6e6 | 0;
+ const mins = diff%3.6e6 / 6e4 | 0;
+ const secs = Math.round(diff%6e4 / 1e3);
+
+ // Return formatted string
+ return "Event Ends in : " + z(days) + "d " + z(hours) + "h " + z(mins) + "m " + z(secs)+ "s";
+ }
+
+ updateCountdown() {
+ this.eventTimerText.setText(this.timeToGo(this.event.endDate));
+ }
+}
diff --git a/src/touch-controls.ts b/src/touch-controls.ts
index 3b734e01467..9953e99c81a 100644
--- a/src/touch-controls.ts
+++ b/src/touch-controls.ts
@@ -1,25 +1,164 @@
-import {Button} from "./enums/buttons";
+import {Button} from "#enums/buttons";
import EventEmitter = Phaser.Events.EventEmitter;
+import BattleScene from "./battle-scene";
-// Create a map to store key bindings
-export const keys = new Map();
-// Create a map to store keys that are currently pressed
-export const keysDown = new Map();
-// Variable to store the ID of the last touched element
-let lastTouchedId: string;
+const repeatInputDelayMillis = 250;
-/**
- * Initialize touch controls by binding keys to buttons.
- *
- * @param events - The event emitter for handling input events.
- */
-export function initTouchControls(events: EventEmitter): void {
- preventElementZoom(document.querySelector("#dpad"));
- preventElementZoom(document.querySelector("#apad"));
- // Select all elements with the 'data-key' attribute and bind keys to them
- for (const button of document.querySelectorAll("[data-key]")) {
- // @ts-ignore - Bind the key to the button using the dataset key
- bindKey(button, button.dataset.key, events);
+export default class TouchControl {
+ events: EventEmitter;
+ private buttonLock: string[] = new Array();
+ private inputInterval: NodeJS.Timeout[] = new Array();
+
+ constructor(scene: BattleScene) {
+ this.events = scene.game.events;
+ this.init();
+ }
+
+ /**
+ * Initialize touch controls by binding keys to buttons.
+ */
+ init() {
+ this.preventElementZoom(document.querySelector("#dpad"));
+ this.preventElementZoom(document.querySelector("#apad"));
+ // Select all elements with the 'data-key' attribute and bind keys to them
+ for (const button of document.querySelectorAll("[data-key]")) {
+ // @ts-ignore - Bind the key to the button using the dataset key
+ this.bindKey(button, button.dataset.key);
+ }
+ }
+
+ /**
+ * Binds a node to a specific key to simulate keyboard events on touch.
+ *
+ * @param node - The DOM element to bind the key to.
+ * @param key - The key to simulate.
+ * @param events - The event emitter for handling input events.
+ *
+ * @remarks
+ * This function binds touch events to a node to simulate 'keydown' and 'keyup' keyboard events.
+ * It adds the key to the keys map and tracks the keydown state. When a touch starts, it simulates
+ * a 'keydown' event and adds an 'active' class to the node. When the touch ends, it simulates a 'keyup'
+ * event, removes the keydown state, and removes the 'active' class from the node and the last touched element.
+ */
+ bindKey(node: HTMLElement, key: string) {
+ node.addEventListener("touchstart", event => {
+ event.preventDefault();
+ this.touchButtonDown(node, key);
+ });
+
+ node.addEventListener("touchend", event => {
+ event.preventDefault();
+ this.touchButtonUp(node, key, event.target["id"]);
+ });
+ }
+
+ touchButtonDown(node: HTMLElement, key: string) {
+ if (this.buttonLock.includes(key)) {
+ return;
+ }
+ this.simulateKeyboardEvent("keydown", key);
+ clearInterval(this.inputInterval[key]);
+ this.inputInterval[key] = setInterval(() => {
+ this.simulateKeyboardEvent("keydown", key);
+ }, repeatInputDelayMillis);
+ this.buttonLock.push(key);
+ node.classList.add("active");
+
+ }
+
+ touchButtonUp(node: HTMLElement, key: string, id: string) {
+ if (!this.buttonLock.includes(key)) {
+ return;
+ }
+ this.simulateKeyboardEvent("keyup", key);
+
+ node.classList.remove("active");
+
+ document.getElementById(id)?.classList.remove("active");
+ const index = this.buttonLock.indexOf(key);
+ this.buttonLock.splice(index, 1);
+ clearInterval(this.inputInterval[key]);
+ }
+
+ /**
+ * Simulates a keyboard event on the canvas.
+ *
+ * @param eventType - The type of the keyboard event ('keydown' or 'keyup').
+ * @param key - The key to simulate.
+ *
+ * @remarks
+ * This function checks if the key exists in the Button enum. If it does, it retrieves the corresponding button
+ * and emits the appropriate event ('input_down' or 'input_up') based on the event type.
+ */
+ simulateKeyboardEvent(eventType: string, key: string) {
+ if (!Button.hasOwnProperty(key)) {
+ return;
+ }
+ const button = Button[key];
+
+ switch (eventType) {
+ case "keydown":
+ this.events.emit("input_down", {
+ controller_type: "keyboard",
+ button: button,
+ isTouch: true
+ });
+ break;
+ case "keyup":
+ this.events.emit("input_up", {
+ controller_type: "keyboard",
+ button: button,
+ isTouch: true
+ });
+ break;
+ }
+ }
+
+ /**
+ * {@link https://stackoverflow.com/a/39778831/4622620|Source}
+ *
+ * Prevent zoom on specified element
+ * @param {HTMLElement} element
+ */
+ preventElementZoom(element: HTMLElement): void {
+ if (!element) {
+ return;
+ }
+ element.addEventListener("touchstart", (event: TouchEvent) => {
+
+ if (!(event.currentTarget instanceof HTMLElement)) {
+ return;
+ }
+
+ const currentTouchTimeStamp = event.timeStamp;
+ const previousTouchTimeStamp = Number(event.currentTarget.dataset.lastTouchTimeStamp) || currentTouchTimeStamp;
+ const timeStampDifference = currentTouchTimeStamp - previousTouchTimeStamp;
+ const fingers = event.touches.length;
+ event.currentTarget.dataset.lastTouchTimeStamp = String(currentTouchTimeStamp);
+
+ if (!timeStampDifference || timeStampDifference > 500 || fingers > 1) {
+ return;
+ } // not double-tap
+
+ event.preventDefault();
+
+ if (event.target instanceof HTMLElement) {
+ event.target.click();
+ }
+ });
+ }
+
+ /**
+ * Deactivates all currently pressed keys.
+ */
+ deactivatePressedKey(): void {
+ for (const key of Object.keys(this.inputInterval)) {
+ clearInterval(this.inputInterval[key]);
+ }
+ for (const button of document.querySelectorAll("[data-key]")) {
+ button.classList.remove("active");
+ }
+ this.buttonLock = [];
}
}
@@ -47,111 +186,3 @@ export function isMobile(): boolean {
})(navigator.userAgent || navigator.vendor || window["opera"]);
return ret;
}
-
-/**
- * Simulates a keyboard event on the canvas.
- *
- * @param eventType - The type of the keyboard event ('keydown' or 'keyup').
- * @param key - The key to simulate.
- * @param events - The event emitter for handling input events.
- *
- * @remarks
- * This function checks if the key exists in the Button enum. If it does, it retrieves the corresponding button
- * and emits the appropriate event ('input_down' or 'input_up') based on the event type.
- */
-function simulateKeyboardEvent(eventType: string, key: string, events: EventEmitter) {
- if (!Button.hasOwnProperty(key)) {
- return;
- }
- const button = Button[key];
-
- switch (eventType) {
- case "keydown":
- events.emit("input_down", {
- controller_type: "keyboard",
- button: button,
- });
- break;
- case "keyup":
- events.emit("input_up", {
- controller_type: "keyboard",
- button: button,
- });
- break;
- }
-}
-
-/**
- * Binds a node to a specific key to simulate keyboard events on touch.
- *
- * @param node - The DOM element to bind the key to.
- * @param key - The key to simulate.
- * @param events - The event emitter for handling input events.
- *
- * @remarks
- * This function binds touch events to a node to simulate 'keydown' and 'keyup' keyboard events.
- * It adds the key to the keys map and tracks the keydown state. When a touch starts, it simulates
- * a 'keydown' event and adds an 'active' class to the node. When the touch ends, it simulates a 'keyup'
- * event, removes the keydown state, and removes the 'active' class from the node and the last touched element.
- */
-function bindKey(node: HTMLElement, key: string, events) {
- keys.set(node.id, key);
-
- node.addEventListener("touchstart", event => {
- event.preventDefault();
- simulateKeyboardEvent("keydown", key, events);
- keysDown.set(event.target["id"], node.id);
- node.classList.add("active");
- });
-
- node.addEventListener("touchend", event => {
- event.preventDefault();
-
- const pressedKey = keysDown.get(event.target["id"]);
- if (pressedKey && keys.has(pressedKey)) {
- const key = keys.get(pressedKey);
- simulateKeyboardEvent("keyup", key, events);
- }
-
- keysDown.delete(event.target["id"]);
- node.classList.remove("active");
-
- if (lastTouchedId) {
- document.getElementById(lastTouchedId).classList.remove("active");
- }
- });
-}
-
-/**
- * {@link https://stackoverflow.com/a/39778831/4622620|Source}
- *
- * Prevent zoom on specified element
- * @param {HTMLElement} element
- */
-function preventElementZoom(element: HTMLElement): void {
- if (!element) {
- return;
- }
- element.addEventListener("touchstart", (event: TouchEvent) => {
-
- if (!(event.currentTarget instanceof HTMLElement)) {
- return;
- }
-
- const currentTouchTimeStamp = event.timeStamp;
- const previousTouchTimeStamp = Number(event.currentTarget.dataset.lastTouchTimeStamp) || currentTouchTimeStamp;
- const timeStampDifference = currentTouchTimeStamp - previousTouchTimeStamp;
- const fingers = event.touches.length;
- event.currentTarget.dataset.lastTouchTimeStamp = String(currentTouchTimeStamp);
-
- if (!timeStampDifference || timeStampDifference > 500 || fingers > 1) {
- return;
- } // not double-tap
-
- event.preventDefault();
-
- if (event.target instanceof HTMLElement) {
- event.target.click();
- }
- });
-}
diff --git a/src/tutorial.ts b/src/tutorial.ts
index ecb45e543a1..c4482839779 100644
--- a/src/tutorial.ts
+++ b/src/tutorial.ts
@@ -1,7 +1,7 @@
import BattleScene from "./battle-scene";
import AwaitableUiHandler from "./ui/awaitable-ui-handler";
import { Mode } from "./ui/ui";
-import i18next from "./plugins/i18n";
+import i18next from "i18next";
export enum Tutorial {
Intro = "INTRO",
diff --git a/src/ui-inputs.ts b/src/ui-inputs.ts
index d4815ad5a7c..9288fd35892 100644
--- a/src/ui-inputs.ts
+++ b/src/ui-inputs.ts
@@ -5,11 +5,12 @@ import MessageUiHandler from "./ui/message-ui-handler";
import StarterSelectUiHandler from "./ui/starter-select-ui-handler";
import {Setting, SettingKeys, settingIndex} from "./system/settings/settings";
import SettingsUiHandler from "./ui/settings/settings-ui-handler";
-import {Button} from "./enums/buttons";
+import {Button} from "#enums/buttons";
import SettingsGamepadUiHandler from "./ui/settings/settings-gamepad-ui-handler";
import SettingsKeyboardUiHandler from "#app/ui/settings/settings-keyboard-ui-handler";
import BattleScene from "./battle-scene";
-import SettingsAccessibilityUiHandler from "./ui/settings/settings-accessiblity-ui-handler";
+import SettingsDisplayUiHandler from "./ui/settings/settings-display-ui-handler";
+import SettingsAudioUiHandler from "./ui/settings/settings-audio-ui-handler";
type ActionKeys = Record void>;
@@ -29,8 +30,23 @@ export class UiInputs {
this.listenInputs();
}
+ detectInputMethod(evt): void {
+ if (evt.controller_type === "keyboard") {
+ //if the touch property is present and defined, then this is a simulated keyboard event from the touch screen
+ if (evt.hasOwnProperty("isTouch") && evt.isTouch) {
+ this.scene.inputMethod = "touch";
+ } else {
+ this.scene.inputMethod = "keyboard";
+ }
+ } else if (evt.controller_type === "gamepad") {
+ this.scene.inputMethod = "gamepad";
+ }
+ }
+
listenInputs(): void {
this.events.on("input_down", (event) => {
+ this.detectInputMethod(event);
+
const actions = this.getActionsKeyDown();
if (!actions.hasOwnProperty(event.button)) {
return;
@@ -114,6 +130,11 @@ export class UiInputs {
}
buttonStats(pressed: boolean = true): void {
+ // allow access to Button.STATS as a toggle for other elements
+ for (const t of this.scene.getInfoToggles(true)) {
+ t.toggleInfo(pressed);
+ }
+ // handle normal pokemon battle ui
for (const p of this.scene.getField().filter(p => p?.isActive(true))) {
p.toggleStats(pressed);
}
@@ -141,20 +162,13 @@ export class UiInputs {
}
case Mode.TITLE:
case Mode.COMMAND:
- case Mode.FIGHT:
- case Mode.BALL:
- case Mode.TARGET_SELECT:
- case Mode.SAVE_SLOT:
- case Mode.PARTY:
- case Mode.SUMMARY:
- case Mode.STARTER_SELECT:
- case Mode.OPTION_SELECT:
+ case Mode.MODIFIER_SELECT:
this.scene.ui.setOverlayMode(Mode.MENU);
break;
- case Mode.CONFIRM:
+ case Mode.STARTER_SELECT:
+ this.buttonTouch();
+ break;
case Mode.MENU:
- case Mode.SETTINGS:
- case Mode.ACHIEVEMENTS:
this.scene.ui.revertMode();
this.scene.playSound("select");
break;
@@ -164,7 +178,7 @@ export class UiInputs {
}
buttonCycleOption(button: Button): void {
- const whitelist = [StarterSelectUiHandler, SettingsUiHandler, SettingsAccessibilityUiHandler, SettingsGamepadUiHandler, SettingsKeyboardUiHandler];
+ const whitelist = [StarterSelectUiHandler, SettingsUiHandler, SettingsDisplayUiHandler, SettingsAudioUiHandler, SettingsGamepadUiHandler, SettingsKeyboardUiHandler];
const uiHandler = this.scene.ui?.getHandler();
if (whitelist.some(handler => uiHandler instanceof handler)) {
this.scene.ui.processInput(button);
@@ -176,12 +190,12 @@ export class UiInputs {
buttonSpeedChange(up = true): void {
const settingGameSpeed = settingIndex(SettingKeys.Game_Speed);
if (up && this.scene.gameSpeed < 5) {
- this.scene.gameData.saveSetting(SettingKeys.Game_Speed, Setting[settingGameSpeed].options.indexOf(`${this.scene.gameSpeed}x`) + 1);
+ this.scene.gameData.saveSetting(SettingKeys.Game_Speed, Setting[settingGameSpeed].options.findIndex((item) => item.label === `${this.scene.gameSpeed}x`) + 1);
if (this.scene.ui?.getMode() === Mode.SETTINGS) {
(this.scene.ui.getHandler() as SettingsUiHandler).show([]);
}
} else if (!up && this.scene.gameSpeed > 1) {
- this.scene.gameData.saveSetting(SettingKeys.Game_Speed, Math.max(Setting[settingGameSpeed].options.indexOf(`${this.scene.gameSpeed}x`) - 1, 0));
+ this.scene.gameData.saveSetting(SettingKeys.Game_Speed, Math.max(Setting[settingGameSpeed].options.findIndex((item) => item.label === `${this.scene.gameSpeed}x`) - 1, 0));
if (this.scene.ui?.getMode() === Mode.SETTINGS) {
(this.scene.ui.getHandler() as SettingsUiHandler).show([]);
}
diff --git a/src/ui/ability-bar.ts b/src/ui/ability-bar.ts
index 58717c3d2d0..a0b249695b9 100644
--- a/src/ui/ability-bar.ts
+++ b/src/ui/ability-bar.ts
@@ -1,6 +1,7 @@
import BattleScene from "../battle-scene";
import Pokemon from "../field/pokemon";
import { TextStyle, addTextObject } from "./text";
+import i18next from "i18next";
const hiddenX = -118;
const shownX = 0;
@@ -8,8 +9,7 @@ const baseY = -116;
export default class AbilityBar extends Phaser.GameObjects.Container {
private bg: Phaser.GameObjects.Image;
- private pokemonNameText: Phaser.GameObjects.Text;
- private abilityNameText: Phaser.GameObjects.Text;
+ private abilityBarText: Phaser.GameObjects.Text;
private tween: Phaser.Tweens.Tween;
private autoHideTimer: NodeJS.Timeout;
@@ -26,21 +26,17 @@ export default class AbilityBar extends Phaser.GameObjects.Container {
this.add(this.bg);
- this.pokemonNameText = addTextObject(this.scene, 15, 3, "", TextStyle.MESSAGE, { fontSize: "72px" });
- this.pokemonNameText.setOrigin(0, 0);
- this.add(this.pokemonNameText);
-
- this.abilityNameText = addTextObject(this.scene, 97, 16, "", TextStyle.WINDOW, { fontSize: "72px" });
- this.abilityNameText.setOrigin(1, 0);
- this.add(this.abilityNameText);
+ this.abilityBarText = addTextObject(this.scene, 15, 3, "", TextStyle.MESSAGE, { fontSize: "72px" });
+ this.abilityBarText.setOrigin(0, 0);
+ this.abilityBarText.setWordWrapWidth(600, true);
+ this.add(this.abilityBarText);
this.setVisible(false);
this.shown = false;
}
showAbility(pokemon: Pokemon, passive: boolean = false): void {
- this.pokemonNameText.setText(`${pokemon.name}'s${passive ? " Passive" : ""}`);
- this.abilityNameText.setText((!passive ? pokemon.getAbility() : pokemon.getPassiveAbility()).name);
+ this.abilityBarText.setText(`${i18next.t("fightUiHandler:abilityFlyInText", { pokemonName: pokemon.name, passive: passive ? i18next.t("fightUiHandler:passive") : "", abilityName: !passive ? pokemon.getAbility().name : pokemon.getPassiveAbility().name })}`);
if (this.shown) {
return;
@@ -48,9 +44,6 @@ export default class AbilityBar extends Phaser.GameObjects.Container {
(this.scene as BattleScene).fieldUI.bringToTop(this);
- if (this.tween) {
- this.tween.stop();
- }
this.y = baseY + ((this.scene as BattleScene).currentBattle.double ? 14 : 0);
this.tween = this.scene.tweens.add({
diff --git a/src/ui/abstact-option-select-ui-handler.ts b/src/ui/abstact-option-select-ui-handler.ts
index 925bbefc930..2069f034e89 100644
--- a/src/ui/abstact-option-select-ui-handler.ts
+++ b/src/ui/abstact-option-select-ui-handler.ts
@@ -5,7 +5,7 @@ import UiHandler from "./ui-handler";
import { addWindow } from "./ui-theme";
import * as Utils from "../utils";
import { argbFromRgba } from "@material/material-color-utilities";
-import {Button} from "../enums/buttons";
+import {Button} from "#enums/buttons";
export interface OptionSelectConfig {
xOffset?: number;
@@ -14,15 +14,17 @@ export interface OptionSelectConfig {
maxOptions?: integer;
delay?: integer;
noCancel?: boolean;
+ supportHover?: boolean;
}
export interface OptionSelectItem {
label: string;
handler: () => boolean;
+ onHover?: () => void;
keepOpen?: boolean;
overrideSound?: boolean;
item?: string;
- itemArgs?: any[]
+ itemArgs?: any[];
}
const scrollUpLabel = "↑";
@@ -56,10 +58,12 @@ export default abstract class AbstractOptionSelectUiHandler extends UiHandler {
const ui = this.getUi();
this.optionSelectContainer = this.scene.add.container((this.scene.game.canvas.width / 6) - 1, -48);
+ this.optionSelectContainer.setName(`option-select-${Mode[this.mode]}`);
this.optionSelectContainer.setVisible(false);
ui.add(this.optionSelectContainer);
this.optionSelectBg = addWindow(this.scene, 0, 0, this.getWindowWidth(), this.getWindowHeight());
+ this.optionSelectBg.setName("option-select-bg");
this.optionSelectBg.setOrigin(1, 1);
this.optionSelectContainer.add(this.optionSelectBg);
@@ -80,6 +84,7 @@ export default abstract class AbstractOptionSelectUiHandler extends UiHandler {
}
this.optionSelectText = addTextObject(this.scene, 0, 0, options.map(o => o.item ? ` ${o.label}` : o.label).join("\n"), TextStyle.WINDOW, { maxLines: options.length });
+ this.optionSelectText.setName("text-option-select");
this.optionSelectText.setLineSpacing(12);
this.optionSelectContainer.add(this.optionSelectText);
this.optionSelectContainer.setPosition((this.scene.game.canvas.width / 6) - 1 - (this.config?.xOffset || 0), -48 + (this.config?.yOffset || 0));
@@ -193,6 +198,10 @@ export default abstract class AbstractOptionSelectUiHandler extends UiHandler {
}
break;
}
+ if (this.config?.supportHover) {
+ // handle hover code if the element supports hover-handlers and the option has the optional hover-handler set.
+ this.config?.options[this.cursor + (this.scrollCursor - (this.scrollCursor ? 1 : 0))]?.onHover?.();
+ }
}
if (success && playSound) {
diff --git a/src/ui/achv-bar.ts b/src/ui/achv-bar.ts
index f24fda0792b..05dde03aed7 100644
--- a/src/ui/achv-bar.ts
+++ b/src/ui/achv-bar.ts
@@ -2,6 +2,7 @@ import BattleScene from "../battle-scene";
import { Achv, getAchievementDescription } from "../system/achv";
import { Voucher } from "../system/voucher";
import { TextStyle, addTextObject } from "./text";
+import { PlayerGender } from "#enums/player-gender";
export default class AchvBar extends Phaser.GameObjects.Container {
private defaultWidth: number;
@@ -14,11 +15,13 @@ export default class AchvBar extends Phaser.GameObjects.Container {
private descriptionText: Phaser.GameObjects.Text;
private queue: (Achv | Voucher)[] = [];
+ private playerGender: PlayerGender;
public shown: boolean;
constructor(scene: BattleScene) {
super(scene, scene.game.canvas.width / 6, 0);
+ this.playerGender = scene.gameData.gender;
}
setup(): void {
@@ -64,7 +67,7 @@ export default class AchvBar extends Phaser.GameObjects.Container {
this.bg.setTexture(`achv_bar${tier ? `_${tier + 1}` : ""}`);
this.icon.setFrame(achv.getIconImage());
- this.titleText.setText(achv.getName());
+ this.titleText.setText(achv.getName(this.playerGender));
this.scoreText.setVisible(achv instanceof Achv);
if (achv instanceof Achv) {
this.descriptionText.setText(getAchievementDescription((achv as Achv).localizationKey));
@@ -96,13 +99,13 @@ export default class AchvBar extends Phaser.GameObjects.Container {
ease: "Sine.easeOut"
});
- this.scene.time.delayedCall(10000, () => this.hide());
+ this.scene.time.delayedCall(10000, () => this.hide(this.playerGender));
this.setVisible(true);
this.shown = true;
}
- protected hide(): void {
+ protected hide(playerGender: PlayerGender): void {
if (!this.shown) {
return;
}
diff --git a/src/ui/achvs-ui-handler.ts b/src/ui/achvs-ui-handler.ts
index a73f7560282..b5e17ce2b67 100644
--- a/src/ui/achvs-ui-handler.ts
+++ b/src/ui/achvs-ui-handler.ts
@@ -1,11 +1,13 @@
import BattleScene from "../battle-scene";
-import { Button } from "../enums/buttons";
-import i18next from "../plugins/i18n";
+import { Button } from "#enums/buttons";
+import i18next from "i18next";
import { Achv, achvs, getAchievementDescription } from "../system/achv";
import MessageUiHandler from "./message-ui-handler";
-import { TextStyle, addTextObject } from "./text";
+import { addTextObject, TextStyle } from "./text";
import { Mode } from "./ui";
import { addWindow } from "./ui-theme";
+import { ParseKeys } from "i18next";
+import { PlayerGender } from "#enums/player-gender";
export default class AchvsUiHandler extends MessageUiHandler {
private achvsContainer: Phaser.GameObjects.Container;
@@ -33,7 +35,14 @@ export default class AchvsUiHandler extends MessageUiHandler {
const headerBg = addWindow(this.scene, 0, 0, (this.scene.game.canvas.width / 6) - 2, 24);
headerBg.setOrigin(0, 0);
- const headerText = addTextObject(this.scene, 0, 0, i18next.t("achv:Achievements.name"), TextStyle.SETTINGS_LABEL);
+ // We need to get the player gender from the game data to add the correct prefix to the achievement name
+ const playerGender = this.scene.gameData.gender;
+ let genderPrefix = "PGM";
+ if (playerGender === PlayerGender.FEMALE) {
+ genderPrefix = "PGF";
+ }
+
+ const headerText = addTextObject(this.scene, 0, 0, i18next.t(`${genderPrefix}achv:Achievements.name` as ParseKeys), TextStyle.SETTINGS_LABEL);
headerText.setOrigin(0, 0);
headerText.setPositionRelative(headerBg, 8, 4);
@@ -137,7 +146,14 @@ export default class AchvsUiHandler extends MessageUiHandler {
}
protected showAchv(achv: Achv) {
- achv.name = i18next.t(`achv:${achv.localizationKey}.name`);
+ // We need to get the player gender from the game data to add the correct prefix to the achievement name
+ const playerGender = this.scene.gameData.gender;
+ let genderPrefix = "PGM";
+ if (playerGender === PlayerGender.FEMALE) {
+ genderPrefix = "PGF";
+ }
+
+ achv.name = i18next.t(`${genderPrefix}achv:${achv.localizationKey}.name` as ParseKeys);
achv.description = getAchievementDescription(achv.localizationKey);
const achvUnlocks = this.scene.gameData.achvUnlocks;
const unlocked = achvUnlocks.hasOwnProperty(achv.id);
@@ -145,7 +161,7 @@ export default class AchvsUiHandler extends MessageUiHandler {
this.titleText.setText(unlocked ? achv.name : "???");
this.showText(!hidden ? achv.description : "");
this.scoreText.setText(`${achv.score}pt`);
- this.unlockText.setText(unlocked ? new Date(achvUnlocks[achv.id]).toLocaleDateString() : i18next.t("achv:Locked.name"));
+ this.unlockText.setText(unlocked ? new Date(achvUnlocks[achv.id]).toLocaleDateString() : i18next.t(`${genderPrefix}achv:Locked.name` as ParseKeys));
}
processInput(button: Button): boolean {
diff --git a/src/ui/arena-flyout.ts b/src/ui/arena-flyout.ts
index 77996625fed..9c0a2e7c8ce 100644
--- a/src/ui/arena-flyout.ts
+++ b/src/ui/arena-flyout.ts
@@ -1,14 +1,14 @@
-import * as Utils from "../utils";
import { addTextObject, TextStyle } from "./text";
import BattleScene from "#app/battle-scene.js";
-import { ArenaTagSide } from "#app/data/arena-tag.js";
+import { ArenaTagSide, ArenaTrapTag } from "#app/data/arena-tag.js";
import { WeatherType } from "#app/data/weather.js";
import { TerrainType } from "#app/data/terrain.js";
import { addWindow, WindowVariant } from "./ui-theme";
-import { ArenaEvent, ArenaEventType, TagAddedEvent, TagRemovedEvent, TerrainChangedEvent, WeatherChangedEvent } from "#app/field/arena-events.js";
-import { BattleSceneEventType, TurnEndEvent } from "#app/battle-scene-events.js";
-import { ArenaTagType } from "#app/data/enums/arena-tag-type.js";
-import { TimeOfDay } from "#app/data/enums/time-of-day.js";
+import { ArenaEvent, ArenaEventType, TagAddedEvent, TagRemovedEvent, TerrainChangedEvent, WeatherChangedEvent } from "#app/events/arena.js";
+import { BattleSceneEventType, TurnEndEvent } from "../events/battle-scene";
+import { ArenaTagType } from "#enums/arena-tag-type";
+import TimeOfDayWidget from "./time-of-day-widget";
+import * as Utils from "../utils";
/** Enum used to differentiate {@linkcode Arena} effects */
enum ArenaEffectType {
@@ -23,12 +23,14 @@ interface ArenaEffectInfo {
/** The enum string representation of the effect */
name: string;
/** {@linkcode ArenaEffectType} type of effect */
- type: ArenaEffectType,
+ effecType: ArenaEffectType,
/** The maximum duration set by the effect */
maxDuration: number;
/** The current duration left on the effect */
duration: number;
+ /** The arena tag type being added */
+ tagType?: ArenaTagType;
}
export default class ArenaFlyout extends Phaser.GameObjects.Container {
@@ -60,8 +62,7 @@ export default class ArenaFlyout extends Phaser.GameObjects.Container {
/** The {@linkcode Phaser.GameObjects.Text} that goes inside of the header */
private flyoutTextHeader: Phaser.GameObjects.Text;
- /** The {@linkcode Phaser.GameObjects.Sprite} that represents the current time of day */
- private timeOfDayIcon: Phaser.GameObjects.Sprite;
+ private timeOfDayWidget: TimeOfDayWidget;
/** The {@linkcode Phaser.GameObjects.Text} header used to indicate the player's effects */
private flyoutTextHeaderPlayer: Phaser.GameObjects.Text;
@@ -82,13 +83,13 @@ export default class ArenaFlyout extends Phaser.GameObjects.Container {
// Stores callbacks in a variable so they can be unsubscribed from when destroyed
private readonly onNewArenaEvent = (event: Event) => this.onNewArena(event);
- private readonly onTurnInitEvent = (event: Event) => this.onTurnInit(event);
private readonly onTurnEndEvent = (event: Event) => this.onTurnEnd(event);
private readonly onFieldEffectChangedEvent = (event: Event) => this.onFieldEffectChanged(event);
constructor(scene: Phaser.Scene) {
super(scene, 0, 0);
+ this.setName("arena-flyout");
this.battleScene = this.scene as BattleScene;
this.translationX = this.flyoutWidth;
@@ -117,10 +118,8 @@ export default class ArenaFlyout extends Phaser.GameObjects.Container {
this.flyoutContainer.add(this.flyoutTextHeader);
- this.timeOfDayIcon = this.scene.add.sprite((this.flyoutWidth / 2) + (this.flyoutWindowHeader.displayWidth / 2), 0, "dawn_icon").setOrigin();
- this.timeOfDayIcon.setVisible(false);
-
- this.flyoutContainer.add(this.timeOfDayIcon);
+ this.timeOfDayWidget = new TimeOfDayWidget(this.scene, (this.flyoutWidth / 2) + (this.flyoutWindowHeader.displayWidth / 2));
+ this.flyoutContainer.add(this.timeOfDayWidget);
this.flyoutTextHeaderPlayer = addTextObject(this.scene, 6, 5, "Player", TextStyle.SUMMARY_BLUE);
this.flyoutTextHeaderPlayer.setFontSize(54);
@@ -172,18 +171,9 @@ export default class ArenaFlyout extends Phaser.GameObjects.Container {
// Subscribes to required events available on game start
this.battleScene.eventTarget.addEventListener(BattleSceneEventType.NEW_ARENA, this.onNewArenaEvent);
- this.battleScene.eventTarget.addEventListener(BattleSceneEventType.TURN_INIT, this.onTurnInitEvent);
this.battleScene.eventTarget.addEventListener(BattleSceneEventType.TURN_END, this.onTurnEndEvent);
}
- private setTimeOfDayIcon() {
- this.timeOfDayIcon.setTexture(TimeOfDay[this.battleScene.arena.getTimeOfDay()].toLowerCase() + "_icon");
- }
-
- private onTurnInit(event: Event) {
- this.setTimeOfDayIcon();
- }
-
private onNewArena(event: Event) {
this.fieldEffectInfo.length = 0;
@@ -192,23 +182,9 @@ export default class ArenaFlyout extends Phaser.GameObjects.Container {
this.battleScene.arena.eventTarget.addEventListener(ArenaEventType.TERRAIN_CHANGED, this.onFieldEffectChangedEvent);
this.battleScene.arena.eventTarget.addEventListener(ArenaEventType.TAG_ADDED, this.onFieldEffectChangedEvent);
this.battleScene.arena.eventTarget.addEventListener(ArenaEventType.TAG_REMOVED, this.onFieldEffectChangedEvent);
-
- this.setTimeOfDayIcon();
}
- /**
- * Formats a string to title case
- * @param unformattedText Text to be formatted
- * @returns the formatted string
- */
- private formatText(unformattedText: string): string {
- const text = unformattedText.split("_");
- for (let i = 0; i < text.length; i++) {
- text[i] = text[i].charAt(0).toUpperCase() + text[i].substring(1).toLowerCase();
- }
- return text.join(" ");
- }
/** Clears out the current string stored in all arena effect texts */
private clearText() {
@@ -228,7 +204,7 @@ export default class ArenaFlyout extends Phaser.GameObjects.Container {
// Creates a proxy object to decide which text object needs to be updated
let textObject: Phaser.GameObjects.Text;
- switch (fieldEffectInfo.type) {
+ switch (fieldEffectInfo.effecType) {
case ArenaEffectType.PLAYER:
textObject = this.flyoutTextPlayer;
break;
@@ -245,8 +221,8 @@ export default class ArenaFlyout extends Phaser.GameObjects.Container {
break;
}
- textObject.text += this.formatText(fieldEffectInfo.name);
- if (fieldEffectInfo.type === ArenaEffectType.TERRAIN) {
+ textObject.text += Utils.formatText(fieldEffectInfo.name);
+ if (fieldEffectInfo.effecType === ArenaEffectType.TERRAIN) {
textObject.text += " Terrain"; // Adds 'Terrain' since the enum does not contain it
}
@@ -272,19 +248,42 @@ export default class ArenaFlyout extends Phaser.GameObjects.Container {
switch (arenaEffectChangedEvent.constructor) {
case TagAddedEvent:
const tagAddedEvent = arenaEffectChangedEvent as TagAddedEvent;
+ const isArenaTrapTag = this.battleScene.arena.getTag(tagAddedEvent.arenaTagType) instanceof ArenaTrapTag;
+ let arenaEffectType: ArenaEffectType;
+
+ if (tagAddedEvent.arenaTagSide === ArenaTagSide.BOTH) {
+ arenaEffectType = ArenaEffectType.FIELD;
+ } else if (tagAddedEvent.arenaTagSide === ArenaTagSide.PLAYER) {
+ arenaEffectType = ArenaEffectType.PLAYER;
+ } else {
+ arenaEffectType = ArenaEffectType.ENEMY;
+ }
+
+ const existingTrapTagIndex = isArenaTrapTag ? this.fieldEffectInfo.findIndex(e => tagAddedEvent.arenaTagType === e.tagType && arenaEffectType === e.effecType) : -1;
+ let name: string = ArenaTagType[tagAddedEvent.arenaTagType];
+
+ if (isArenaTrapTag) {
+ if (existingTrapTagIndex !== -1) {
+ const layers = tagAddedEvent.arenaTagMaxLayers > 1 ? ` (${tagAddedEvent.arenaTagLayers})` : "";
+ this.fieldEffectInfo[existingTrapTagIndex].name = `${name}${layers}`;
+ break;
+ } else if (tagAddedEvent.arenaTagMaxLayers > 1) {
+ name = `${name} (${tagAddedEvent.arenaTagLayers})`;
+ }
+ }
+
this.fieldEffectInfo.push({
- name: ArenaTagType[tagAddedEvent.arenaTagType],
- type: tagAddedEvent.arenaTagSide === ArenaTagSide.BOTH
- ? ArenaEffectType.FIELD
- : tagAddedEvent.arenaTagSide === ArenaTagSide.PLAYER
- ? ArenaEffectType.PLAYER
- : ArenaEffectType.ENEMY,
+ name,
+ effecType: arenaEffectType,
maxDuration: tagAddedEvent.duration,
- duration: tagAddedEvent.duration});
+ duration: tagAddedEvent.duration,
+ tagType: tagAddedEvent.arenaTagType
+ });
break;
case TagRemovedEvent:
const tagRemovedEvent = arenaEffectChangedEvent as TagRemovedEvent;
- foundIndex = this.fieldEffectInfo.findIndex(info => info.name === ArenaTagType[tagRemovedEvent.arenaTagType]);
+ foundIndex = this.fieldEffectInfo.findIndex(info => info.tagType === tagRemovedEvent.arenaTagType);
+
if (foundIndex !== -1) { // If the tag was being tracked, remove it
this.fieldEffectInfo.splice(foundIndex, 1);
}
@@ -305,7 +304,7 @@ export default class ArenaFlyout extends Phaser.GameObjects.Container {
fieldEffectChangedEvent instanceof WeatherChangedEvent
? WeatherType[fieldEffectChangedEvent.newWeatherType]
: TerrainType[fieldEffectChangedEvent.newTerrainType],
- type: fieldEffectChangedEvent instanceof WeatherChangedEvent
+ effecType: fieldEffectChangedEvent instanceof WeatherChangedEvent
? ArenaEffectType.WEATHER
: ArenaEffectType.TERRAIN,
maxDuration: fieldEffectChangedEvent.duration,
@@ -360,17 +359,18 @@ export default class ArenaFlyout extends Phaser.GameObjects.Container {
* Animates the flyout to either show or hide it by applying a fade and translation
* @param visible Should the flyout be shown?
*/
- toggleFlyout(visible: boolean): void {
+ public toggleFlyout(visible: boolean): void {
this.scene.tweens.add({
targets: this.flyoutParent,
x: visible ? this.anchorX : this.anchorX - this.translationX,
duration: Utils.fixedInt(125),
ease: "Sine.easeInOut",
alpha: visible ? 1 : 0,
+ onComplete: () => this.timeOfDayWidget.parentVisible = visible,
});
}
- destroy(fromScene?: boolean): void {
+ public destroy(fromScene?: boolean): void {
this.battleScene.eventTarget.removeEventListener(BattleSceneEventType.NEW_ARENA, this.onNewArenaEvent);
this.battleScene.eventTarget.removeEventListener(BattleSceneEventType.TURN_END, this.onTurnEndEvent);
diff --git a/src/ui/awaitable-ui-handler.ts b/src/ui/awaitable-ui-handler.ts
index 22a21069acb..18635b132f9 100644
--- a/src/ui/awaitable-ui-handler.ts
+++ b/src/ui/awaitable-ui-handler.ts
@@ -1,7 +1,7 @@
import BattleScene from "../battle-scene";
import { Mode } from "./ui";
import UiHandler from "./ui-handler";
-import {Button} from "../enums/buttons";
+import {Button} from "#enums/buttons";
export default abstract class AwaitableUiHandler extends UiHandler {
protected awaitingActionInput: boolean;
diff --git a/src/ui/ball-ui-handler.ts b/src/ui/ball-ui-handler.ts
index b96dd799b18..70349444647 100644
--- a/src/ui/ball-ui-handler.ts
+++ b/src/ui/ball-ui-handler.ts
@@ -6,7 +6,7 @@ import { Command } from "./command-ui-handler";
import { Mode } from "./ui";
import UiHandler from "./ui-handler";
import { addWindow } from "./ui-theme";
-import {Button} from "../enums/buttons";
+import {Button} from "#enums/buttons";
export default class BallUiHandler extends UiHandler {
private pokeballSelectContainer: Phaser.GameObjects.Container;
diff --git a/src/ui/battle-flyout.ts b/src/ui/battle-flyout.ts
index 9a9e3ef46a9..5b34a6b5411 100644
--- a/src/ui/battle-flyout.ts
+++ b/src/ui/battle-flyout.ts
@@ -2,11 +2,11 @@ import { default as Pokemon } from "../field/pokemon";
import { addTextObject, TextStyle } from "./text";
import * as Utils from "../utils";
import BattleScene from "#app/battle-scene.js";
-import { UiTheme } from "#app/enums/ui-theme.js";
import Move from "#app/data/move.js";
-import { BattleSceneEventType, BerryUsedEvent, MoveUsedEvent } from "#app/battle-scene-events.js";
-import { BerryType } from "#app/data/enums/berry-type.js";
-import { Moves } from "#app/data/enums/moves.js";
+import { BattleSceneEventType, BerryUsedEvent, MoveUsedEvent } from "../events/battle-scene";
+import { BerryType } from "#enums/berry-type";
+import { Moves } from "#enums/moves";
+import { UiTheme } from "#enums/ui-theme";
/** Container for info about a {@linkcode Move} */
interface MoveInfo {
@@ -55,6 +55,9 @@ export default class BattleFlyout extends Phaser.GameObjects.Container {
/** The array of {@linkcode MoveInfo} used to track moves for the {@linkcode Pokemon} linked to the flyout */
private moveInfo: MoveInfo[] = new Array();
+ /** Current state of the flyout's visibility */
+ public flyoutVisible: boolean = false;
+
// Stores callbacks in a variable so they can be unsubscribed from when destroyed
private readonly onMoveUsedEvent = (event: Event) => this.onMoveUsed(event);
private readonly onBerryUsedEvent = (event: Event) => this.onBerryUsed(event);
@@ -170,6 +173,8 @@ export default class BattleFlyout extends Phaser.GameObjects.Container {
/** Animates the flyout to either show or hide it by applying a fade and translation */
toggleFlyout(visible: boolean): void {
+ this.flyoutVisible = visible;
+
this.scene.tweens.add({
targets: this.flyoutParent,
x: visible ? this.anchorX : this.anchorX - this.translationX,
diff --git a/src/ui/battle-info.ts b/src/ui/battle-info.ts
index 9fb81f89698..3b889228e27 100644
--- a/src/ui/battle-info.ts
+++ b/src/ui/battle-info.ts
@@ -9,6 +9,8 @@ import { Type, getTypeRgb } from "../data/type";
import { getVariantTint } from "#app/data/variant";
import { BattleStat } from "#app/data/battle-stat";
import BattleFlyout from "./battle-flyout";
+import { WindowVariant, addWindow } from "./ui-theme";
+import i18next from "i18next";
const battleStatOrder = [ BattleStat.ATK, BattleStat.DEF, BattleStat.SPATK, BattleStat.SPDEF, BattleStat.ACC, BattleStat.EVA, BattleStat.SPD ];
@@ -52,6 +54,13 @@ export default class BattleInfo extends Phaser.GameObjects.Container {
private type3Icon: Phaser.GameObjects.Sprite;
private expBar: Phaser.GameObjects.Image;
+ // #region Type effectiveness hint objects
+ private effectivenessContainer: Phaser.GameObjects.Container;
+ private effectivenessWindow: Phaser.GameObjects.NineSlice;
+ private effectivenessText: Phaser.GameObjects.Text;
+ private currentEffectiveness?: string;
+ // #endregion
+
public expMaskRect: Phaser.GameObjects.Graphics;
private statsContainer: Phaser.GameObjects.Container;
@@ -59,7 +68,7 @@ export default class BattleInfo extends Phaser.GameObjects.Container {
private statValuesContainer: Phaser.GameObjects.Container;
private statNumbers: Phaser.GameObjects.Sprite[];
- public flyoutMenu: BattleFlyout;
+ public flyoutMenu?: BattleFlyout;
constructor(scene: Phaser.Scene, x: number, y: number, player: boolean) {
super(scene, x, y);
@@ -250,6 +259,19 @@ export default class BattleInfo extends Phaser.GameObjects.Container {
this.type3Icon.setName("icon_type_3");
this.type3Icon.setOrigin(0, 0);
this.add(this.type3Icon);
+
+ if (!this.player) {
+ this.effectivenessContainer = this.scene.add.container(0, 0);
+ this.effectivenessContainer.setPositionRelative(this.type1Icon, 22, 4);
+ this.effectivenessContainer.setVisible(false);
+ this.add(this.effectivenessContainer);
+
+ this.effectivenessText = addTextObject(this.scene, 5, 4.5, "", TextStyle.BATTLE_INFO);
+ this.effectivenessWindow = addWindow((this.scene as BattleScene), 0, 0, 0, 20, false, false, null, null, WindowVariant.XTHIN);
+
+ this.effectivenessContainer.add(this.effectivenessWindow);
+ this.effectivenessContainer.add(this.effectivenessText);
+ }
}
initInfo(pokemon: Pokemon) {
@@ -294,9 +316,9 @@ export default class BattleInfo extends Phaser.GameObjects.Container {
this.shinyIcon.setTint(getVariantTint(baseVariant));
if (this.shinyIcon.visible) {
const shinyDescriptor = doubleShiny || baseVariant ?
- `${baseVariant === 2 ? "Epic" : baseVariant === 1 ? "Rare" : "Common"}${doubleShiny ? `/${pokemon.fusionVariant === 2 ? "Epic" : pokemon.fusionVariant === 1 ? "Rare" : "Common"}` : ""}`
+ `${baseVariant === 2 ? i18next.t("common:epicShiny") : baseVariant === 1 ? i18next.t("common:rareShiny") : i18next.t("common:commonShiny")}${doubleShiny ? `/${pokemon.fusionVariant === 2 ? i18next.t("common:epicShiny") : pokemon.fusionVariant === 1 ? i18next.t("common:rareShiny") : i18next.t("common:commonShiny")}` : ""}`
: "";
- this.shinyIcon.on("pointerover", () => (this.scene as BattleScene).ui.showTooltip(null, `Shiny${shinyDescriptor ? ` (${shinyDescriptor})` : ""}`));
+ this.shinyIcon.on("pointerover", () => (this.scene as BattleScene).ui.showTooltip(null, `${i18next.t("common:shinyOnHover")}${shinyDescriptor ? ` (${shinyDescriptor})` : ""}`));
this.shinyIcon.on("pointerout", () => (this.scene as BattleScene).ui.hideTooltip());
}
@@ -711,6 +733,39 @@ export default class BattleInfo extends Phaser.GameObjects.Container {
});
}
+ /**
+ * Request the flyoutMenu to toggle if available and hides or shows the effectiveness window where necessary
+ */
+ toggleFlyout(visible: boolean): void {
+ this.flyoutMenu?.toggleFlyout(visible);
+
+ if (visible) {
+ this.effectivenessContainer?.setVisible(false);
+ } else {
+ this.updateEffectiveness(this.currentEffectiveness);
+ }
+ }
+
+ /**
+ * Show or hide the type effectiveness multiplier window
+ * Passing undefined will hide the window
+ */
+ updateEffectiveness(effectiveness?: string) {
+ if (this.player) {
+ return;
+ }
+ this.currentEffectiveness = effectiveness;
+
+ if (!(this.scene as BattleScene).typeHints || effectiveness === undefined || this.flyoutMenu.flyoutVisible) {
+ this.effectivenessContainer.setVisible(false);
+ return;
+ }
+
+ this.effectivenessText.setText(effectiveness);
+ this.effectivenessWindow.width = 10 + this.effectivenessText.displayWidth;
+ this.effectivenessContainer.setVisible(true);
+ }
+
getBaseY(): number {
return this.baseY;
}
diff --git a/src/ui/battle-message-ui-handler.ts b/src/ui/battle-message-ui-handler.ts
index 0f856cbb390..f2da553c6da 100644
--- a/src/ui/battle-message-ui-handler.ts
+++ b/src/ui/battle-message-ui-handler.ts
@@ -6,8 +6,8 @@ import MessageUiHandler from "./message-ui-handler";
import { getStatName, Stat } from "../data/pokemon-stat";
import { addWindow } from "./ui-theme";
import BBCodeText from "phaser3-rex-plugins/plugins/bbcodetext";
-import {Button} from "../enums/buttons";
-import i18next from "../plugins/i18n";
+import {Button} from "#enums/buttons";
+import i18next from "i18next";
export default class BattleMessageUiHandler extends MessageUiHandler {
private levelUpStatsContainer: Phaser.GameObjects.Container;
@@ -16,7 +16,7 @@ export default class BattleMessageUiHandler extends MessageUiHandler {
private nameBox: Phaser.GameObjects.NineSlice;
private nameText: Phaser.GameObjects.Text;
- public bg: Phaser.GameObjects.Image;
+ public bg: Phaser.GameObjects.Sprite;
public commandWindow: Phaser.GameObjects.NineSlice;
public movesWindowContainer: Phaser.GameObjects.Container;
public nameBoxContainer: Phaser.GameObjects.Container;
@@ -31,33 +31,30 @@ export default class BattleMessageUiHandler extends MessageUiHandler {
this.textTimer = null;
this.textCallbackTimer = null;
- const bg = this.scene.add.sprite(0, 0, "bg", this.scene.windowType);
- bg.setOrigin(0, 1);
- ui.add(bg);
+ this.bg = this.scene.add.sprite(0, 0, "bg", this.scene.windowType);
+ this.bg.setName("sprite-battle-msg-bg");
+ this.bg.setOrigin(0, 1);
+ ui.add(this.bg);
- this.bg = bg;
-
- this.commandWindow = addWindow(this.scene, 201, -1, 118, 46);
+ this.commandWindow = addWindow(this.scene, 202, 0, 118, 48);
+ this.commandWindow.setName("window-command");
this.commandWindow.setOrigin(0, 1);
this.commandWindow.setVisible(false);
ui.add(this.commandWindow);
- this.movesWindowContainer = this.scene.add.container(1, -1);
+ this.movesWindowContainer = this.scene.add.container(0, 0);
+ this.movesWindowContainer.setName("moves-bg");
this.movesWindowContainer.setVisible(false);
- const movesWindow = addWindow(this.scene, 0, 0, 243, 46);
+ const movesWindow = addWindow(this.scene, 0, 0, 243, 48);
+ movesWindow.setName("moves-window");
movesWindow.setOrigin(0, 1);
- this.movesWindowContainer.add(movesWindow);
- const moveDetailsWindow = addWindow(this.scene, 238, 0, 80, 46, false, true, 2, 133);
+ const moveDetailsWindow = addWindow(this.scene, 240, 0, 80, 48, false, false, -1, 132);
+ moveDetailsWindow.setName("move-details-window");
moveDetailsWindow.setOrigin(0, 1);
- this.movesWindowContainer.add(moveDetailsWindow);
-
- // TODO: Maybe remove this asset definitively if it's no longer needed?
- // const commandFightLabels = this.scene.add.image(246, -10, 'command_fight_labels');
- // commandFightLabels.setOrigin(0, 1);
- // this.movesWindowContainer.add(commandFightLabels);
+ this.movesWindowContainer.add([movesWindow, moveDetailsWindow]);
ui.add(this.movesWindowContainer);
const messageContainer = this.scene.add.container(12, -39);
diff --git a/src/ui/bgm-bar.ts b/src/ui/bgm-bar.ts
new file mode 100644
index 00000000000..f4366ef9c65
--- /dev/null
+++ b/src/ui/bgm-bar.ts
@@ -0,0 +1,86 @@
+import BattleScene from "../battle-scene";
+import {addTextObject, TextStyle} from "./text";
+import i18next from "i18next";
+import * as Utils from "#app/utils";
+
+const hiddenX = -150;
+const shownX = 0;
+const baseY = 0;
+
+export default class BgmBar extends Phaser.GameObjects.Container {
+ private defaultWidth: number;
+ private defaultHeight: number;
+
+ private bg: Phaser.GameObjects.NineSlice;
+ private musicText: Phaser.GameObjects.Text;
+
+ public shown: boolean;
+
+ constructor(scene: BattleScene) {
+ super(scene, hiddenX, baseY);
+ }
+
+ setup(): void {
+ this.defaultWidth = 230;
+ this.defaultHeight = 100;
+
+ this.bg = this.scene.add.nineslice(-5, -5, "bgm_bar", null, this.defaultWidth, this.defaultHeight, 0, 0, 10, 10);
+ this.bg.setOrigin(0, 0);
+
+ this.add(this.bg);
+
+ this.musicText = addTextObject(this.scene, 5, 5, "", TextStyle.BGM_BAR);
+ this.musicText.setOrigin(0, 0);
+ this.musicText.setWordWrapWidth(650, true);
+
+ this.add(this.musicText);
+
+ this.setVisible(false);
+ this.shown = false;
+ }
+
+ /*
+ * Set the BGM Name to the BGM bar.
+ * @param {string} bgmName The name of the BGM to set.
+ */
+ setBgmToBgmBar(bgmName: string): void {
+ this.musicText.setText(`${i18next.t("bgmName:music")}${this.getRealBgmName(bgmName)}`);
+ if (!(this.scene as BattleScene).showBgmBar) {
+ return;
+ }
+
+ this.musicText.width = this.bg.width - 20;
+ this.musicText.setWordWrapWidth(this.defaultWidth * 4);
+
+ this.bg.width = Math.min(this.defaultWidth, this.musicText.displayWidth + 23);
+ this.bg.height = Math.min(this.defaultHeight, this.musicText.displayHeight + 20);
+
+ (this.scene as BattleScene).fieldUI.bringToTop(this);
+
+ this.y = baseY;
+ }
+
+ /*
+ Show or hide the BGM bar.
+ @param {boolean} visible Whether to show or hide the BGM bar.
+ */
+ public toggleBgmBar(visible: boolean): void {
+ if (!(this.scene as BattleScene).showBgmBar) {
+ this.setVisible(false);
+ return;
+ }
+ this.scene.tweens.add({
+ targets: this,
+ x: visible ? shownX : hiddenX,
+ duration: 500,
+ ease: "Sine.easeInOut",
+ onComplete: () => {
+ this.setVisible(true);
+ }
+ });
+ }
+
+ getRealBgmName(bgmName: string): string {
+ return i18next.t([`bgmName:${bgmName}`, "bgmName:missing_entries"], {name: Utils.formatText(bgmName)});
+ }
+}
diff --git a/src/ui/candy-bar.ts b/src/ui/candy-bar.ts
index 84d1c2f70e7..3a9f180dd59 100644
--- a/src/ui/candy-bar.ts
+++ b/src/ui/candy-bar.ts
@@ -2,7 +2,7 @@ import BattleScene, { starterColors } from "../battle-scene";
import { TextStyle, addTextObject } from "./text";
import { argbFromRgba } from "@material/material-color-utilities";
import * as Utils from "../utils";
-import { Species } from "#app/data/enums/species";
+import { Species } from "#enums/species";
export default class CandyBar extends Phaser.GameObjects.Container {
private bg: Phaser.GameObjects.NineSlice;
diff --git a/src/ui/challenges-select-ui-handler.ts b/src/ui/challenges-select-ui-handler.ts
new file mode 100644
index 00000000000..dce04276a4d
--- /dev/null
+++ b/src/ui/challenges-select-ui-handler.ts
@@ -0,0 +1,392 @@
+import BattleScene from "../battle-scene";
+import { TextStyle, addTextObject } from "./text";
+import { Mode } from "./ui";
+import UiHandler from "./ui-handler";
+import { addWindow } from "./ui-theme";
+import {Button} from "#enums/buttons";
+import i18next from "i18next";
+import { SelectStarterPhase, TitlePhase } from "#app/phases.js";
+import { Challenge, ChallengeType } from "#app/data/challenge.js";
+import * as Utils from "../utils";
+import { Challenges } from "#app/enums/challenges.js";
+import BBCodeText from "phaser3-rex-plugins/plugins/bbcodetext";
+import { Color, ShadowColor } from "#app/enums/color.js";
+
+/**
+ * Handles all the UI for choosing optional challenges.
+ */
+export default class GameChallengesUiHandler extends UiHandler {
+ private challengesContainer: Phaser.GameObjects.Container;
+ private valuesContainer: Phaser.GameObjects.Container;
+
+ private scrollCursor: integer;
+
+ private optionsBg: Phaser.GameObjects.NineSlice;
+
+ // private difficultyText: Phaser.GameObjects.Text;
+
+ private descriptionText: BBCodeText;
+
+ private challengeLabels: Array<{ label: Phaser.GameObjects.Text, value: Phaser.GameObjects.Text | Phaser.GameObjects.Sprite }>;
+
+ private cursorObj: Phaser.GameObjects.NineSlice;
+
+ private startCursor: Phaser.GameObjects.NineSlice;
+
+ constructor(scene: BattleScene, mode?: Mode) {
+ super(scene, mode);
+ }
+
+ setup() {
+ const ui = this.getUi();
+
+ this.challengesContainer = this.scene.add.container(1, -(this.scene.game.canvas.height / 6) + 1);
+ this.challengesContainer.setName("challenges");
+
+ this.challengesContainer.setInteractive(new Phaser.Geom.Rectangle(0, 0, this.scene.game.canvas.width / 6, this.scene.game.canvas.height / 6), Phaser.Geom.Rectangle.Contains);
+
+ const bgOverlay = this.scene.add.rectangle(-1, -1, this.scene.scaledCanvas.width, this.scene.scaledCanvas.height, 0x424242, 0.8);
+ bgOverlay.setName("rect-challenge-overlay");
+ bgOverlay.setOrigin(0, 0);
+ this.challengesContainer.add(bgOverlay);
+
+ // TODO: Change this back to /9 when adding in difficulty
+ const headerBg = addWindow(this.scene, 0, 0, (this.scene.game.canvas.width / 6), 24);
+ headerBg.setName("window-header-bg");
+ headerBg.setOrigin(0, 0);
+
+ const headerText = addTextObject(this.scene, 0, 0, i18next.t("challenges:title"), TextStyle.SETTINGS_LABEL);
+ headerText.setName("text-header");
+ headerText.setOrigin(0, 0);
+ headerText.setPositionRelative(headerBg, 8, 4);
+
+ // const difficultyBg = addWindow(this.scene, 0, 0, (this.scene.game.canvas.width / 18) - 2, 24);
+ // difficultyBg.setOrigin(0, 0);
+ // difficultyBg.setPositionRelative(headerBg, headerBg.width, 0);
+
+ // this.difficultyText = addTextObject(this.scene, 0, 0, "0", TextStyle.SETTINGS_LABEL);
+ // this.difficultyText.setOrigin(0, 0);
+ // this.difficultyText.setPositionRelative(difficultyBg, 8, 4);
+
+ // const difficultyName = addTextObject(this.scene, 0, 0, i18next.t("challenges:points"), TextStyle.SETTINGS_LABEL);
+ // difficultyName.setOrigin(0, 0);
+ // difficultyName.setPositionRelative(difficultyBg, difficultyBg.width - difficultyName.displayWidth - 8, 4);
+
+ this.optionsBg = addWindow(this.scene, 0, headerBg.height, (this.scene.game.canvas.width / 9), (this.scene.game.canvas.height / 6) - headerBg.height - 2);
+ this.optionsBg.setName("window-options-bg");
+ this.optionsBg.setOrigin(0, 0);
+
+ const descriptionBg = addWindow(this.scene, 0, headerBg.height, (this.scene.game.canvas.width / 18) - 2, (this.scene.game.canvas.height / 6) - headerBg.height - 26);
+ descriptionBg.setName("window-desc-bg");
+ descriptionBg.setOrigin(0, 0);
+ descriptionBg.setPositionRelative(this.optionsBg, this.optionsBg.width, 0);
+
+ this.descriptionText = new BBCodeText(this.scene, descriptionBg.x + 6, descriptionBg.y + 4, "", {
+ fontFamily: "emerald",
+ fontSize: 96,
+ color: Color.ORANGE,
+ padding: {
+ bottom: 6
+ },
+ wrap: {
+ mode: "word",
+ width: (descriptionBg.width - 12) * 6,
+ }
+ });
+ this.descriptionText.setName("text-desc");
+ this.scene.add.existing(this.descriptionText);
+ this.descriptionText.setScale(1/6);
+ this.descriptionText.setShadow(4, 5, ShadowColor.ORANGE);
+ this.descriptionText.setOrigin(0, 0);
+
+ const startBg = addWindow(this.scene, 0, 0, descriptionBg.width, 24);
+ startBg.setName("window-start-bg");
+ startBg.setOrigin(0, 0);
+ startBg.setPositionRelative(descriptionBg, 0, descriptionBg.height);
+
+ const startText = addTextObject(this.scene, 0, 0, i18next.t("common:start"), TextStyle.SETTINGS_LABEL);
+ startText.setName("text-start");
+ startText.setOrigin(0, 0);
+ startText.setPositionRelative(startBg, 8, 4);
+
+ this.startCursor = this.scene.add.nineslice(0, 0, "summary_moves_cursor", null, (this.scene.game.canvas.width / 18) - 10, 16, 1, 1, 1, 1);
+ this.startCursor.setName("9s-start-cursor");
+ this.startCursor.setOrigin(0, 0);
+ this.startCursor.setPositionRelative(startBg, 4, 4);
+ this.startCursor.setVisible(false);
+
+ this.valuesContainer = this.scene.add.container(0, 0);
+ this.valuesContainer.setName("values");
+
+ this.challengeLabels = [];
+
+ for (let i = 0; i < Object.keys(ChallengeType).length; i++) {
+ const label = addTextObject(this.scene, 8, 28 + i * 16, "", TextStyle.SETTINGS_LABEL);
+ label.setName(`text-challenge-label-${i}`);
+ label.setOrigin(0, 0);
+
+ this.valuesContainer.add(label);
+
+ let value;
+ if (i === Challenges.SINGLE_TYPE) {
+ const type = `types${Utils.verifyLang(i18next.resolvedLanguage) ? `_${i18next.resolvedLanguage}` : ""}`;
+ value = this.scene.add.sprite(8, 98, type);
+ value.setName("sprite-single-type");
+ value.setScale(0.86);
+ value.setPositionRelative(label, 113, 8);
+ } else {
+ value = addTextObject(this.scene, 0, 28 + i * 16, "", TextStyle.SETTINGS_LABEL);
+ value.setName(`text-challenge-value-label-${i}`);
+ value.setPositionRelative(label, 100, 0);
+ }
+
+ this.valuesContainer.add(value);
+ this.challengeLabels[i] = {
+ label: label,
+ value: value
+ };
+ }
+
+ this.challengesContainer.add(headerBg);
+ this.challengesContainer.add(headerText);
+ // this.challengesContainer.add(difficultyBg);
+ // this.challengesContainer.add(this.difficultyText);
+ // this.challengesContainer.add(difficultyName);
+ this.challengesContainer.add(this.optionsBg);
+ this.challengesContainer.add(descriptionBg);
+ this.challengesContainer.add(this.descriptionText);
+ this.challengesContainer.add(startBg);
+ this.challengesContainer.add(startText);
+ this.challengesContainer.add(this.startCursor);
+ this.challengesContainer.add(this.valuesContainer);
+
+ ui.add(this.challengesContainer);
+
+ this.setCursor(0);
+ this.setScrollCursor(0);
+
+ this.challengesContainer.setVisible(false);
+ }
+
+ /**
+ * Adds the default text color to the description text
+ * @param text text to set to the BBCode description
+ */
+ setDescription(text: string): void {
+ this.descriptionText.setText(`[color=${Color.ORANGE}][shadow=${ShadowColor.ORANGE}]${text}`);
+ }
+
+ /**
+ * initLabels
+ * init all challenge labels
+ */
+ initLabels(): void {
+ this.setDescription(this.scene.gameMode.challenges[this.cursor].getDescription());
+ this.scene.gameMode.challenges.forEach((challenge, i) => {
+ this.challengeLabels[i].label.setVisible(true);
+ this.challengeLabels[i].value.setVisible(true);
+ this.challengeLabels[i].label.setText(challenge.getName());
+ if (this.challengeLabels[i].value.type.toLowerCase() === "sprite") {
+ (this.challengeLabels[i].value as Phaser.GameObjects.Sprite).setFrame(challenge.getValue());
+ } else {
+ (this.challengeLabels[i].value as Phaser.GameObjects.Text).setText(challenge.getValue());
+ }
+ });
+ }
+
+ /**
+ * update the text the cursor is on
+ */
+ updateText(): void {
+ const challenge = this.getActiveChallenge();
+ const { id } = challenge;
+ this.setDescription(this.getActiveChallenge().getDescription());
+
+ if (this.challengeLabels[id].value.type.toLowerCase() === "sprite") {
+ (this.challengeLabels[id].value as Phaser.GameObjects.Sprite).setFrame(challenge.getValue());
+ } else {
+ (this.challengeLabels[id].value as Phaser.GameObjects.Text).setText(challenge.getValue());
+ }
+ // const totalDifficulty = this.scene.gameMode.challenges.reduce((v, c) => v + c.getDifficulty(), 0);
+ // const totalMinDifficulty = this.scene.gameMode.challenges.reduce((v, c) => v + c.getMinDifficulty(), 0);
+ // this.difficultyText.text = `${totalDifficulty}` + (totalMinDifficulty ? `/${totalMinDifficulty}` : "");
+ // this.difficultyText.updateText();
+ }
+
+ show(args: any[]): boolean {
+ super.show(args);
+
+ this.startCursor.setVisible(false);
+ this.challengesContainer.setVisible(true);
+ this.setCursor(0);
+
+ this.initLabels();
+
+ this.getUi().moveTo(this.challengesContainer, this.getUi().length - 1);
+
+ this.getUi().hideTooltip();
+
+ return true;
+ }
+
+ /**
+ * Processes input from a specified button.
+ * This method handles navigation through a UI menu, including movement through menu items
+ * and handling special actions like cancellation. Each button press may adjust the cursor
+ * position or the menu scroll, and plays a sound effect if the action was successful.
+ *
+ * @param button - The button pressed by the user.
+ * @returns `true` if the action associated with the button was successfully processed, `false` otherwise.
+ */
+ processInput(button: Button): boolean {
+ const ui = this.getUi();
+ // Defines the maximum number of rows that can be displayed on the screen.
+ const rowsToDisplay = 9;
+
+ let success = false;
+
+ if (button === Button.CANCEL) {
+ if (this.startCursor.visible) {
+ this.startCursor.setVisible(false);
+ this.cursorObj?.setVisible(true);
+ } else {
+ this.scene.clearPhaseQueue();
+ this.scene.pushPhase(new TitlePhase(this.scene));
+ this.scene.getCurrentPhase().end();
+ }
+ success = true;
+ } else if (button === Button.SUBMIT || button === Button.ACTION) {
+ if (this.startCursor.visible) {
+ const totalDifficulty = this.scene.gameMode.challenges.reduce((v, c) => v + c.getDifficulty(), 0);
+ const totalMinDifficulty = this.scene.gameMode.challenges.reduce((v, c) => v + c.getMinDifficulty(), 0);
+ if (totalDifficulty >= totalMinDifficulty) {
+ this.scene.unshiftPhase(new SelectStarterPhase(this.scene));
+ this.scene.getCurrentPhase().end();
+ success = true;
+ } else {
+ success = false;
+ }
+ } else {
+ this.startCursor.setVisible(true);
+ this.cursorObj?.setVisible(false);
+ success = true;
+ }
+ } else {
+ switch (button) {
+ case Button.UP:
+ if (this.cursor === 0) {
+ if (this.scrollCursor === 0) {
+ // When at the top of the menu and pressing UP, move to the bottommost item.
+ if (this.scene.gameMode.challenges.length > rowsToDisplay) { // If there are more than 9 challenges, scroll to the bottom
+ // First, set the cursor to the last visible element, preparing for the scroll to the end.
+ const successA = this.setCursor(rowsToDisplay - 1);
+ // Then, adjust the scroll to display the bottommost elements of the menu.
+ const successB = this.setScrollCursor(this.scene.gameMode.challenges.length - rowsToDisplay);
+ success = successA && successB; // success is just there to play the little validation sound effect
+ } else { // If there are 9 or less challenges, just move to the bottom one
+ success = this.setCursor(this.scene.gameMode.challenges.length - 1);
+ }
+ } else {
+ success = this.setScrollCursor(this.scrollCursor - 1);
+ }
+ } else {
+ success = this.setCursor(this.cursor - 1);
+ }
+ if (success) {
+ this.updateText();
+ }
+ break;
+ case Button.DOWN:
+ if (this.cursor === rowsToDisplay - 1) {
+ if (this.scrollCursor < this.scene.gameMode.challenges.length - rowsToDisplay) {
+ // When at the bottom and pressing DOWN, scroll if possible.
+ success = this.setScrollCursor(this.scrollCursor + 1);
+ } else {
+ // When at the bottom of a scrolling menu and pressing DOWN, move to the topmost item.
+ // First, set the cursor to the first visible element, preparing for the scroll to the top.
+ const successA = this.setCursor(0);
+ // Then, adjust the scroll to display the topmost elements of the menu.
+ const successB = this.setScrollCursor(0);
+ success = successA && successB; // success is just there to play the little validation sound effect
+ }
+ } else if (this.scene.gameMode.challenges.length < rowsToDisplay && this.cursor === this.scene.gameMode.challenges.length - 1) {
+ // When at the bottom of a non-scrolling menu and pressing DOWN, move to the topmost item.
+ success = this.setCursor(0);
+ } else {
+ success = this.setCursor(this.cursor + 1);
+ }
+ if (success) {
+ this.updateText();
+ }
+ break;
+ case Button.LEFT:
+ // Moves the option cursor left, if possible.
+ success = this.getActiveChallenge().decreaseValue();
+ if (success) {
+ this.updateText();
+ }
+ break;
+ case Button.RIGHT:
+ // Moves the option cursor right, if possible.
+ success = this.getActiveChallenge().increaseValue();
+ if (success) {
+ this.updateText();
+ }
+ break;
+ }
+ }
+
+ // Plays a select sound effect if an action was successfully processed.
+ if (success) {
+ ui.playSelect();
+ }
+
+ return success;
+ }
+
+ setCursor(cursor: integer): boolean {
+ let ret = super.setCursor(cursor);
+
+ if (!this.cursorObj) {
+ this.cursorObj = this.scene.add.nineslice(0, 0, "summary_moves_cursor", null, (this.scene.game.canvas.width / 9) - 10, 16, 1, 1, 1, 1);
+ this.cursorObj.setOrigin(0, 0);
+ this.valuesContainer.add(this.cursorObj);
+ }
+
+ ret ||= !this.cursorObj.visible;
+ this.cursorObj.setVisible(true);
+
+ this.cursorObj.setPositionRelative(this.optionsBg, 4, 4 + (this.cursor + this.scrollCursor) * 16);
+
+ return ret;
+ }
+
+ setScrollCursor(scrollCursor: integer): boolean {
+ if (scrollCursor === this.scrollCursor) {
+ return false;
+ }
+
+ this.scrollCursor = scrollCursor;
+
+ this.setCursor(this.cursor);
+
+ return true;
+ }
+
+ getActiveChallenge(): Challenge {
+ return this.scene.gameMode.challenges[this.cursor + this.scrollCursor];
+ }
+
+ clear() {
+ super.clear();
+ this.challengesContainer.setVisible(false);
+ this.eraseCursor();
+ }
+
+ eraseCursor() {
+ if (this.cursorObj) {
+ this.cursorObj.destroy();
+ }
+ this.cursorObj = null;
+ }
+}
diff --git a/src/ui/command-ui-handler.ts b/src/ui/command-ui-handler.ts
index 7c21d5cc142..8ccd05675c8 100644
--- a/src/ui/command-ui-handler.ts
+++ b/src/ui/command-ui-handler.ts
@@ -4,8 +4,8 @@ import { addTextObject, TextStyle } from "./text";
import PartyUiHandler, { PartyUiMode } from "./party-ui-handler";
import { Mode } from "./ui";
import UiHandler from "./ui-handler";
-import i18next from "../plugins/i18n";
-import {Button} from "../enums/buttons";
+import i18next from "i18next";
+import {Button} from "#enums/buttons";
export enum Command {
FIGHT = 0,
@@ -34,12 +34,14 @@ export default class CommandUiHandler extends UiHandler {
i18next.t("commandUiHandler:run")
];
- this.commandsContainer = this.scene.add.container(216, -38.7);
+ this.commandsContainer = this.scene.add.container(217, -38.7);
+ this.commandsContainer.setName("commands");
this.commandsContainer.setVisible(false);
ui.add(this.commandsContainer);
for (let c = 0; c < commands.length; c++) {
const commandText = addTextObject(this.scene, c % 2 === 0 ? 0 : 55.8, c < 2 ? 0 : 16, commands[c], TextStyle.WINDOW);
+ commandText.setName(commands[c]);
this.commandsContainer.add(commandText);
}
}
@@ -60,6 +62,7 @@ export default class CommandUiHandler extends UiHandler {
}
const messageHandler = this.getUi().getMessageHandler();
+ messageHandler.bg.setVisible(true);
messageHandler.commandWindow.setVisible(true);
messageHandler.movesWindowContainer.setVisible(false);
messageHandler.message.setWordWrapWidth(1110);
diff --git a/src/ui/confirm-ui-handler.ts b/src/ui/confirm-ui-handler.ts
index 4e4e0f9bb8c..953ed4972ac 100644
--- a/src/ui/confirm-ui-handler.ts
+++ b/src/ui/confirm-ui-handler.ts
@@ -2,7 +2,7 @@ import BattleScene from "../battle-scene";
import AbstractOptionSelectUiHandler, { OptionSelectConfig } from "./abstact-option-select-ui-handler";
import { Mode } from "./ui";
import i18next from "i18next";
-import {Button} from "../enums/buttons";
+import {Button} from "#enums/buttons";
export default class ConfirmUiHandler extends AbstractOptionSelectUiHandler {
diff --git a/src/ui/daily-run-scoreboard.ts b/src/ui/daily-run-scoreboard.ts
index aa0cce62525..212d7b2a66c 100644
--- a/src/ui/daily-run-scoreboard.ts
+++ b/src/ui/daily-run-scoreboard.ts
@@ -1,8 +1,8 @@
+import i18next from "i18next";
import BattleScene from "../battle-scene";
+import * as Utils from "../utils";
import { TextStyle, addTextObject } from "./text";
import { WindowVariant, addWindow } from "./ui-theme";
-import * as Utils from "../utils";
-import i18next from "i18next";
interface RankingEntry {
rank: integer,
@@ -154,7 +154,7 @@ export class DailyRunScoreboard extends Phaser.GameObjects.Container {
return entryContainer;
};
- this.rankingsContainer.add(getEntry("#", "Username", "Score", "Wave"));
+ this.rankingsContainer.add(getEntry(i18next.t("menu:positionIcon"), i18next.t("menu:usernameScoreboard"), i18next.t("menu:score"), i18next.t("menu:wave")));
rankings.forEach((r: RankingEntry, i: integer) => {
const entryContainer = getEntry(r.rank.toString(), r.username, r.score.toString(), r.wave.toString());
diff --git a/src/ui/egg-counter-container.ts b/src/ui/egg-counter-container.ts
new file mode 100644
index 00000000000..a688b8b7efc
--- /dev/null
+++ b/src/ui/egg-counter-container.ts
@@ -0,0 +1,89 @@
+import BattleScene from "#app/battle-scene.js";
+import { addWindow } from "./ui-theme";
+import { addTextObject, TextStyle } from "./text";
+import { EggCountChangedEvent, EggEventType } from "#app/events/egg.js";
+import EggHatchSceneHandler from "./egg-hatch-scene-handler";
+
+/**
+ * A container that displays the count of hatching eggs.
+ * Extends Phaser.GameObjects.Container.
+ */
+export default class EggCounterContainer extends Phaser.GameObjects.Container {
+ private readonly WINDOW_DEFAULT_WIDTH = 37;
+ private readonly WINDOW_MEDIUM_WIDTH = 42;
+ private readonly WINDOW_HEIGHT = 26;
+ private readonly onEggCountChangedEvent = (event: Event) => this.onEggCountChanged(event);
+
+ private battleScene: BattleScene;
+ private eggCount: integer;
+ private eggCountWindow: Phaser.GameObjects.NineSlice;
+ public eggCountText: Phaser.GameObjects.Text;
+
+ /**
+ * @param {BattleScene} scene - The scene to which this container belongs.
+ * @param {number} eggCount - The number of eggs to hatch.
+ */
+ constructor(scene: BattleScene, eggCount: integer) {
+ super(scene, 0, 0);
+ this.eggCount = eggCount;
+ this.battleScene = scene;
+
+ const uiHandler = this.battleScene.ui.getHandler() as EggHatchSceneHandler;
+
+ uiHandler.eventTarget.addEventListener(EggEventType.EGG_COUNT_CHANGED, this.onEggCountChangedEvent);
+ this.setup();
+ }
+
+ /**
+ * Sets up the container, creating the window, egg sprite, and egg count text.
+ */
+ private setup(): void {
+ const windowWidth = this.eggCount > 9 ? this.WINDOW_MEDIUM_WIDTH : this.WINDOW_DEFAULT_WIDTH;
+
+ this.eggCountWindow = addWindow(this.battleScene, 5, 5, windowWidth, this.WINDOW_HEIGHT);
+ this.setVisible(this.eggCount > 1);
+
+ this.add(this.eggCountWindow);
+
+ const eggSprite = this.battleScene.add.sprite(19, 18, "egg", "egg_0");
+ eggSprite.setScale(0.32);
+
+ this.eggCountText = addTextObject(this.battleScene, 28, 13, `${this.eggCount}`, TextStyle.MESSAGE, { fontSize: "66px" });
+ this.eggCountText.setName("text-egg-count");
+
+ this.add(eggSprite);
+ this.add(this.eggCountText);
+ }
+
+ /**
+ * Resets the window size to the default width and height.
+ */
+ private setWindowToDefaultSize(): void {
+ this.eggCountWindow.setSize(this.WINDOW_DEFAULT_WIDTH, this.WINDOW_HEIGHT);
+ }
+
+ /**
+ * Handles window size, the egg count to show, and whether it should be displayed.
+ *
+ * @param event {@linkcode Event} being sent
+ * @returns void
+ */
+ private onEggCountChanged(event: Event): void {
+ const eggCountChangedEvent = event as EggCountChangedEvent;
+ if (!eggCountChangedEvent || !this.eggCountText?.data) {
+ return;
+ }
+
+ const eggCount = eggCountChangedEvent.eggCount;
+
+ if (eggCount < 10) {
+ this.setWindowToDefaultSize();
+ }
+
+ if (eggCount > 0) {
+ this.eggCountText.setText(eggCount.toString());
+ } else {
+ this.eggCountText.setVisible(false);
+ }
+ }
+}
diff --git a/src/ui/egg-gacha-ui-handler.ts b/src/ui/egg-gacha-ui-handler.ts
index f0e55e04801..b5335ed8f2e 100644
--- a/src/ui/egg-gacha-ui-handler.ts
+++ b/src/ui/egg-gacha-ui-handler.ts
@@ -3,14 +3,16 @@ import { Mode } from "./ui";
import { TextStyle, addTextObject, getEggTierTextTint } from "./text";
import MessageUiHandler from "./message-ui-handler";
import * as Utils from "../utils";
-import { EGG_SEED, Egg, GachaType, getEggTierDefaultHatchWaves, getEggDescriptor, getLegendaryGachaSpeciesForTimestamp } from "../data/egg";
+import { Egg, getLegendaryGachaSpeciesForTimestamp, IEggOptions } from "../data/egg";
import { VoucherType, getVoucherTypeIcon } from "../system/voucher";
import { getPokemonSpecies } from "../data/pokemon-species";
import { addWindow } from "./ui-theme";
import { Tutorial, handleTutorial } from "../tutorial";
-import { EggTier } from "../data/enums/egg-type";
-import {Button} from "../enums/buttons";
-import i18next from "../plugins/i18n";
+import {Button} from "#enums/buttons";
+import * as Overrides from "../overrides";
+import { GachaType } from "#app/enums/gacha-types";
+import i18next from "i18next";
+import { EggTier } from "#enums/egg-type";
export default class EggGachaUiHandler extends MessageUiHandler {
private eggGachaContainer: Phaser.GameObjects.Container;
@@ -94,25 +96,71 @@ export default class EggGachaUiHandler extends MessageUiHandler {
const gachaInfoContainer = this.scene.add.container(160, 46);
- const gachaUpLabel = addTextObject(this.scene, 4, 0, "UP!", TextStyle.WINDOW_ALT);
+ const currentLanguage = i18next.resolvedLanguage;
+ let gachaTextStyle = TextStyle.WINDOW_ALT;
+ let gachaX = 4;
+ let gachaY = 0;
+ let pokemonIconX = -20;
+ let pokemonIconY = 6;
+
+ if (["de", "es", "fr", "ko", "pt-BR"].includes(currentLanguage)) {
+ gachaTextStyle = TextStyle.SMALLER_WINDOW_ALT;
+ gachaX = 2;
+ gachaY = 2;
+ }
+
+ let legendaryLabelX = gachaX;
+ let legendaryLabelY = gachaY;
+ if (["de", "es"].includes(currentLanguage)) {
+ pokemonIconX = -25;
+ pokemonIconY = 10;
+ legendaryLabelX = -6;
+ legendaryLabelY = 0;
+ }
+
+ const gachaUpLabel = addTextObject(this.scene, gachaX, gachaY, i18next.t("egg:legendaryUPGacha"), gachaTextStyle);
gachaUpLabel.setOrigin(0, 0);
gachaInfoContainer.add(gachaUpLabel);
switch (gachaType as GachaType) {
case GachaType.LEGENDARY:
- const pokemonIcon = this.scene.add.sprite(-20, 6, "pokemon_icons_0");
+ if (["de", "es"].includes(currentLanguage)) {
+ gachaUpLabel.setAlign("center");
+ gachaUpLabel.setY(0);
+ }
+ if (["pt-BR"].includes(currentLanguage)) {
+ gachaUpLabel.setX(legendaryLabelX - 2);
+ } else {
+ gachaUpLabel.setX(legendaryLabelX);
+ }
+ gachaUpLabel.setY(legendaryLabelY);
+
+ const pokemonIcon = this.scene.add.sprite(pokemonIconX, pokemonIconY, "pokemon_icons_0");
+ if (["pt-BR"].includes(currentLanguage)) {
+ pokemonIcon.setX(pokemonIconX - 2);
+ }
pokemonIcon.setScale(0.5);
pokemonIcon.setOrigin(0, 0.5);
gachaInfoContainer.add(pokemonIcon);
break;
case GachaType.MOVE:
- gachaUpLabel.setText("Move UP!");
+ if (["de", "es", "fr", "pt-BR"].includes(currentLanguage)) {
+ gachaUpLabel.setAlign("center");
+ gachaUpLabel.setY(0);
+ }
+
+ gachaUpLabel.setText(i18next.t("egg:moveUPGacha"));
gachaUpLabel.setX(0);
gachaUpLabel.setOrigin(0.5, 0);
break;
case GachaType.SHINY:
- gachaUpLabel.setText("Shiny UP!");
+ if (["de", "fr", "ko"].includes(currentLanguage)) {
+ gachaUpLabel.setAlign("center");
+ gachaUpLabel.setY(0);
+ }
+
+ gachaUpLabel.setText(i18next.t("egg:shinyUPGacha"));
gachaUpLabel.setX(0);
gachaUpLabel.setOrigin(0.5, 0);
break;
@@ -156,15 +204,27 @@ export default class EggGachaUiHandler extends MessageUiHandler {
this.eggGachaOptionSelectBg.setOrigin(1, 1);
this.eggGachaOptionsContainer.add(this.eggGachaOptionSelectBg);
+ const multiplierOne = "x1";
+ const multiplierTen = "x10";
const pullOptions = [
- { multiplier: "x1", description: `1 ${i18next.t("egg:pull")}` },
- { multiplier: "x10", description: `10 ${i18next.t("egg:pulls")}` },
- { multiplier: "x1", description: `5 ${i18next.t("egg:pulls")}` },
- { multiplier: "x1", description: `10 ${i18next.t("egg:pulls")}` },
- { multiplier: "x1", description: `25 ${i18next.t("egg:pulls")}` }
+ { multiplier: multiplierOne, description: `1 ${i18next.t("egg:pull")}`, icon: getVoucherTypeIcon(VoucherType.REGULAR) },
+ { multiplier: multiplierTen, description: `10 ${i18next.t("egg:pulls")}`, icon: getVoucherTypeIcon(VoucherType.REGULAR) },
+ { multiplier: multiplierOne, description: `5 ${i18next.t("egg:pulls")}`, icon: getVoucherTypeIcon(VoucherType.PLUS) },
+ { multiplier: multiplierOne, description: `10 ${i18next.t("egg:pulls")}`, icon: getVoucherTypeIcon(VoucherType.PREMIUM) },
+ { multiplier: multiplierOne, description: `25 ${i18next.t("egg:pulls")}`, icon: getVoucherTypeIcon(VoucherType.GOLDEN) }
];
- const pullOptionsText = pullOptions.map(option => ` ${option.multiplier.padEnd(4)} ${option.description}`).join("\n");
+ const { resolvedLanguage } = i18next;
+ const pullOptionsText = pullOptions.map(option =>{
+ const desc = option.description.split(" ");
+ if (desc[0].length < 2) {
+ desc[0] += ["zh", "ko"].includes(resolvedLanguage.substring(0,2)) ? " " : " ";
+ }
+ if (option.multiplier === multiplierOne) {
+ desc[0] = " " + desc[0];
+ }
+ return ` ${option.multiplier.padEnd(5)}${desc.join(" ")}`;
+ }).join("\n");
const optionText = addTextObject(
this.scene,
@@ -181,9 +241,8 @@ export default class EggGachaUiHandler extends MessageUiHandler {
optionText.setPositionRelative(this.eggGachaOptionSelectBg, 16, 9);
- new Array(5).fill(null).map((_, i) => {
- const voucherType = i < 2 ? VoucherType.REGULAR : i === 2 ? VoucherType.PLUS : i === 3 ? VoucherType.PREMIUM : VoucherType.GOLDEN;
- const icon = this.scene.add.sprite(0, 0, "items", getVoucherTypeIcon(voucherType));
+ pullOptions.forEach((option, i) => {
+ const icon = this.scene.add.sprite(0, 0, "items", option.icon);
icon.setScale(0.5);
icon.setPositionRelative(this.eggGachaOptionSelectBg, 20, 17 + i * 16);
this.eggGachaOptionsContainer.add(icon);
@@ -274,6 +333,10 @@ export default class EggGachaUiHandler extends MessageUiHandler {
}
pull(pullCount?: integer, count?: integer, eggs?: Egg[]): void {
+ if (Overrides.EGG_GACHA_PULL_COUNT_OVERRIDE && !count) {
+ pullCount = Overrides.EGG_GACHA_PULL_COUNT_OVERRIDE;
+ }
+
this.eggGachaOptionsContainer.setVisible(false);
this.setTransitioning(true);
@@ -368,55 +431,24 @@ export default class EggGachaUiHandler extends MessageUiHandler {
}
if (!eggs) {
eggs = [];
- const tierValueOffset = this.gachaCursor === GachaType.LEGENDARY ? 1 : 0;
- const tiers = new Array(pullCount).fill(null).map(() => {
- const tierValue = Utils.randInt(256);
- return tierValue >= 52 + tierValueOffset ? EggTier.COMMON : tierValue >= 8 + tierValueOffset ? EggTier.GREAT : tierValue >= 1 + tierValueOffset ? EggTier.ULTRA : EggTier.MASTER;
- });
- if (pullCount >= 25 && !tiers.filter(t => t >= EggTier.ULTRA).length) {
- tiers[Utils.randInt(tiers.length)] = EggTier.ULTRA;
- } else if (pullCount >= 10 && !tiers.filter(t => t >= EggTier.GREAT).length) {
- tiers[Utils.randInt(tiers.length)] = EggTier.GREAT;
- }
- for (let i = 0; i < pullCount; i++) {
- this.scene.gameData.eggPity[EggTier.GREAT] += 1;
- this.scene.gameData.eggPity[EggTier.ULTRA] += 1;
- this.scene.gameData.eggPity[EggTier.MASTER] += 1 + tierValueOffset;
- // These numbers are roughly the 80% mark. That is, 80% of the time you'll get an egg before this gets triggered.
- if (this.scene.gameData.eggPity[EggTier.MASTER] >= 412 && tiers[i] === EggTier.COMMON) {
- tiers[i] = EggTier.MASTER;
- } else if (this.scene.gameData.eggPity[EggTier.ULTRA] >= 59 && tiers[i] === EggTier.COMMON) {
- tiers[i] = EggTier.ULTRA;
- } else if (this.scene.gameData.eggPity[EggTier.GREAT] >= 9 && tiers[i] === EggTier.COMMON) {
- tiers[i] = EggTier.GREAT;
- }
- this.scene.gameData.eggPity[tiers[i]] = 0;
- }
+ for (let i = 1; i <= pullCount; i++) {
+ const eggOptions: IEggOptions = { scene: this.scene, pulled: true, sourceType: this.gachaCursor };
- const timestamp = new Date().getTime();
-
- for (const tier of tiers) {
- const egg = new Egg(Utils.randInt(EGG_SEED, EGG_SEED * tier), this.gachaCursor, getEggTierDefaultHatchWaves(tier), timestamp);
- if (egg.isManaphyEgg()) {
- this.scene.gameData.gameStats.manaphyEggsPulled++;
- egg.hatchWaves = getEggTierDefaultHatchWaves(EggTier.ULTRA);
- } else {
- switch (tier) {
- case EggTier.GREAT:
- this.scene.gameData.gameStats.rareEggsPulled++;
- break;
- case EggTier.ULTRA:
- this.scene.gameData.gameStats.epicEggsPulled++;
- break;
- case EggTier.MASTER:
- this.scene.gameData.gameStats.legendaryEggsPulled++;
- break;
+ // Before creating the last egg, check if the guaranteed egg tier was already generated
+ // if not, override the egg tier
+ if (i === pullCount) {
+ const guaranteedEggTier = this.getGuaranteedEggTierFromPullCount(pullCount);
+ if (!eggs.some(egg => egg.tier >= guaranteedEggTier) && guaranteedEggTier !== EggTier.COMMON) {
+ eggOptions.tier = guaranteedEggTier;
}
}
+
+ const egg = new Egg(eggOptions);
eggs.push(egg);
- this.scene.gameData.eggs.push(egg);
- this.scene.gameData.gameStats.eggsPulled++;
}
+ // Shuffle the eggs in case the guaranteed one got added as last egg
+ eggs = Utils.randSeedShuffle(eggs);
+
(this.scene.currentBattle ? this.scene.gameData.saveAll(this.scene, true, true, true) : this.scene.gameData.saveSystem()).then(success => {
if (!success) {
@@ -430,6 +462,17 @@ export default class EggGachaUiHandler extends MessageUiHandler {
doPull();
}
+ getGuaranteedEggTierFromPullCount(pullCount: number): EggTier {
+ switch (pullCount) {
+ case 10:
+ return EggTier.GREAT;
+ case 25:
+ return EggTier.ULTRA;
+ default:
+ return EggTier.COMMON;
+ }
+ }
+
showSummary(eggs: Egg[]): void {
this.transitioning = false;
this.eggGachaSummaryContainer.setVisible(true);
@@ -458,7 +501,7 @@ export default class EggGachaUiHandler extends MessageUiHandler {
const eggSprite = this.scene.add.sprite(0, 0, "egg", `egg_${egg.getKey()}`);
ret.add(eggSprite);
- const eggText = addTextObject(this.scene, 0, 14, getEggDescriptor(egg), TextStyle.PARTY, { align: "center" });
+ const eggText = addTextObject(this.scene, 0, 14, egg.getEggDescriptor(), TextStyle.PARTY, { align: "center" });
eggText.setOrigin(0.5, 0);
eggText.setTint(getEggTierTextTint(!egg.isManaphyEgg() ? egg.tier : EggTier.ULTRA));
ret.add(eggText);
@@ -574,11 +617,13 @@ export default class EggGachaUiHandler extends MessageUiHandler {
case Button.ACTION:
switch (this.cursor) {
case 0:
- if (!this.scene.gameData.voucherCounts[VoucherType.REGULAR]) {
+ if (!this.scene.gameData.voucherCounts[VoucherType.REGULAR] && !Overrides.EGG_FREE_GACHA_PULLS_OVERRIDE) {
error = true;
this.showError(i18next.t("egg:notEnoughVouchers"));
} else if (this.scene.gameData.eggs.length < 99) {
- this.consumeVouchers(VoucherType.REGULAR, 1);
+ if (!Overrides.EGG_FREE_GACHA_PULLS_OVERRIDE) {
+ this.consumeVouchers(VoucherType.REGULAR, 1);
+ }
this.pull();
success = true;
} else {
@@ -587,11 +632,13 @@ export default class EggGachaUiHandler extends MessageUiHandler {
}
break;
case 2:
- if (!this.scene.gameData.voucherCounts[VoucherType.PLUS]) {
+ if (!this.scene.gameData.voucherCounts[VoucherType.PLUS] && !Overrides.EGG_FREE_GACHA_PULLS_OVERRIDE) {
error = true;
this.showError(i18next.t("egg:notEnoughVouchers"));
} else if (this.scene.gameData.eggs.length < 95) {
- this.consumeVouchers(VoucherType.PLUS, 1);
+ if (!Overrides.EGG_FREE_GACHA_PULLS_OVERRIDE) {
+ this.consumeVouchers(VoucherType.PLUS, 1);
+ }
this.pull(5);
success = true;
} else {
@@ -601,15 +648,19 @@ export default class EggGachaUiHandler extends MessageUiHandler {
break;
case 1:
case 3:
- if ((this.cursor === 1 && this.scene.gameData.voucherCounts[VoucherType.REGULAR] < 10)
- || (this.cursor === 3 && !this.scene.gameData.voucherCounts[VoucherType.PREMIUM])) {
+ if ((this.cursor === 1 && this.scene.gameData.voucherCounts[VoucherType.REGULAR] < 10 && !Overrides.EGG_FREE_GACHA_PULLS_OVERRIDE)
+ || (this.cursor === 3 && !this.scene.gameData.voucherCounts[VoucherType.PREMIUM] && !Overrides.EGG_FREE_GACHA_PULLS_OVERRIDE)) {
error = true;
this.showError(i18next.t("egg:notEnoughVouchers"));
} else if (this.scene.gameData.eggs.length < 90) {
if (this.cursor === 3) {
- this.consumeVouchers(VoucherType.PREMIUM, 1);
+ if (!Overrides.EGG_FREE_GACHA_PULLS_OVERRIDE) {
+ this.consumeVouchers(VoucherType.PREMIUM, 1);
+ }
} else {
- this.consumeVouchers(VoucherType.REGULAR, 10);
+ if (!Overrides.EGG_FREE_GACHA_PULLS_OVERRIDE) {
+ this.consumeVouchers(VoucherType.REGULAR, 10);
+ }
}
this.pull(10);
success = true;
@@ -619,11 +670,13 @@ export default class EggGachaUiHandler extends MessageUiHandler {
}
break;
case 4:
- if (!this.scene.gameData.voucherCounts[VoucherType.GOLDEN]) {
+ if (!this.scene.gameData.voucherCounts[VoucherType.GOLDEN] && !Overrides.EGG_FREE_GACHA_PULLS_OVERRIDE) {
error = true;
this.showError(i18next.t("egg:notEnoughVouchers"));
} else if (this.scene.gameData.eggs.length < 75) {
- this.consumeVouchers(VoucherType.GOLDEN, 1);
+ if (!Overrides.EGG_FREE_GACHA_PULLS_OVERRIDE) {
+ this.consumeVouchers(VoucherType.GOLDEN, 1);
+ }
this.pull(25);
success = true;
} else {
diff --git a/src/ui/egg-hatch-scene-handler.ts b/src/ui/egg-hatch-scene-handler.ts
index 5a4c984234c..0e247da60ab 100644
--- a/src/ui/egg-hatch-scene-handler.ts
+++ b/src/ui/egg-hatch-scene-handler.ts
@@ -2,11 +2,19 @@ import BattleScene from "../battle-scene";
import { EggHatchPhase } from "../egg-hatch-phase";
import { Mode } from "./ui";
import UiHandler from "./ui-handler";
-import {Button} from "../enums/buttons";
+import {Button} from "#enums/buttons";
export default class EggHatchSceneHandler extends UiHandler {
public eggHatchContainer: Phaser.GameObjects.Container;
+ /**
+ * Allows subscribers to listen for events
+ *
+ * Current Events:
+ * - {@linkcode EggEventType.EGG_COUNT_CHANGED} {@linkcode EggCountChangedEvent}
+ */
+ public readonly eventTarget: EventTarget = new EventTarget();
+
constructor(scene: BattleScene) {
super(scene, Mode.EGG_HATCH_SCENE);
}
diff --git a/src/ui/egg-list-ui-handler.ts b/src/ui/egg-list-ui-handler.ts
index 92c7faf5477..fd8444f73ef 100644
--- a/src/ui/egg-list-ui-handler.ts
+++ b/src/ui/egg-list-ui-handler.ts
@@ -3,10 +3,10 @@ import { Mode } from "./ui";
import PokemonIconAnimHandler, { PokemonIconAnimMode } from "./pokemon-icon-anim-handler";
import { TextStyle, addTextObject } from "./text";
import MessageUiHandler from "./message-ui-handler";
-import { Egg, getEggGachaTypeDescriptor, getEggHatchWavesMessage, getEggDescriptor } from "../data/egg";
+import { Egg } from "../data/egg";
import { addWindow } from "./ui-theme";
-import {Button} from "../enums/buttons";
-import i18next from "../plugins/i18n";
+import {Button} from "#enums/buttons";
+import i18next from "i18next";
export default class EggListUiHandler extends MessageUiHandler {
private eggListContainer: Phaser.GameObjects.Container;
@@ -98,13 +98,6 @@ export default class EggListUiHandler extends MessageUiHandler {
let e = 0;
- /*this.scene.gameData.eggs = [
- new Egg(1, 1, 5, new Date().getTime()),
- new Egg(1 + EGG_SEED, 1, 15, new Date().getTime()),
- new Egg(1 + EGG_SEED * 2, 1, 50, new Date().getTime()),
- new Egg(1 + EGG_SEED * 3, GachaType.LEGENDARY, 100, new Date().getTime())
- ];*/
-
for (const egg of this.scene.gameData.eggs) {
const x = (e % 11) * 18;
const y = Math.floor(e / 11) * 18;
@@ -170,7 +163,7 @@ export default class EggListUiHandler extends MessageUiHandler {
setEggDetails(egg: Egg): void {
this.eggSprite.setFrame(`egg_${egg.getKey()}`);
- this.eggNameText.setText(`${i18next.t("egg:egg")} (${getEggDescriptor(egg)})`);
+ this.eggNameText.setText(`${i18next.t("egg:egg")} (${egg.getEggDescriptor()})`);
this.eggDateText.setText(
new Date(egg.timestamp).toLocaleString(undefined, {
weekday: "short",
@@ -179,8 +172,8 @@ export default class EggListUiHandler extends MessageUiHandler {
day: "numeric"
})
);
- this.eggHatchWavesText.setText(getEggHatchWavesMessage(egg.hatchWaves));
- this.eggGachaInfoText.setText(getEggGachaTypeDescriptor(this.scene, egg));
+ this.eggHatchWavesText.setText(egg.getEggHatchWavesMessage());
+ this.eggGachaInfoText.setText(egg.getEggTypeDescriptor(this.scene));
}
setCursor(cursor: integer): boolean {
diff --git a/src/ui/eggs-to-hatch-count-container.ts b/src/ui/eggs-to-hatch-count-container.ts
deleted file mode 100644
index 693e4666220..00000000000
--- a/src/ui/eggs-to-hatch-count-container.ts
+++ /dev/null
@@ -1,54 +0,0 @@
-import BattleScene from "#app/battle-scene.js";
-import { addWindow } from "./ui-theme";
-import { addTextObject, TextStyle } from "./text";
-
-/**
- * A container that displays the count of hatching eggs.
- * Extends Phaser.GameObjects.Container.
- */
-export default class EggsToHatchCountContainer extends Phaser.GameObjects.Container {
- private readonly WINDOW_DEFAULT_WIDTH = 37;
- private readonly WINDOW_MEDIUM_WIDTH = 42;
- private readonly WINDOW_HEIGHT = 26;
-
- private eggsToHatchCount: integer;
- private eggsToHatchCountWindow: Phaser.GameObjects.NineSlice;
-
- public eggCountText: Phaser.GameObjects.Text;
-
- /**
- * @param {BattleScene} scene - The scene to which this container belongs.
- * @param {number} eggsToHatchCount - The number of eggs to hatch.
- */
- constructor(scene: BattleScene, eggsToHatchCount: integer) {
- super(scene, 0, 0);
- this.eggsToHatchCount = eggsToHatchCount;
- }
-
- /**
- * Sets up the container, creating the window, egg sprite, and egg count text.
- */
- setup(): void {
- const windowWidth = this.eggsToHatchCount > 9 ? this.WINDOW_MEDIUM_WIDTH : this.WINDOW_DEFAULT_WIDTH;
-
- this.eggsToHatchCountWindow = addWindow(this.scene as BattleScene, 5, 5, windowWidth, this.WINDOW_HEIGHT);
- this.setVisible(this.eggsToHatchCount > 1);
-
- this.add(this.eggsToHatchCountWindow);
-
- const eggSprite = this.scene.add.sprite(19, 18, "egg", "egg_0");
- eggSprite.setScale(0.32);
-
- this.eggCountText = addTextObject(this.scene, 28, 13, `${this.eggsToHatchCount}`, TextStyle.MESSAGE, { fontSize: "66px" });
-
- this.add(eggSprite);
- this.add(this.eggCountText);
- }
-
- /**
- * Resets the window size to the default width and height.
- */
- setWindowToDefaultSize(): void {
- this.eggsToHatchCountWindow.setSize(this.WINDOW_DEFAULT_WIDTH, this.WINDOW_HEIGHT);
- }
-}
diff --git a/src/ui/evolution-scene-handler.ts b/src/ui/evolution-scene-handler.ts
index 12b6ccc93d1..64d190c4d3f 100644
--- a/src/ui/evolution-scene-handler.ts
+++ b/src/ui/evolution-scene-handler.ts
@@ -2,7 +2,7 @@ import BattleScene from "../battle-scene";
import MessageUiHandler from "./message-ui-handler";
import { TextStyle, addTextObject } from "./text";
import { Mode } from "./ui";
-import {Button} from "../enums/buttons";
+import {Button} from "#enums/buttons";
export default class EvolutionSceneHandler extends MessageUiHandler {
public evolutionContainer: Phaser.GameObjects.Container;
diff --git a/src/ui/fight-ui-handler.ts b/src/ui/fight-ui-handler.ts
index acbf66b7075..ed520512443 100644
--- a/src/ui/fight-ui-handler.ts
+++ b/src/ui/fight-ui-handler.ts
@@ -1,17 +1,19 @@
import BattleScene from "../battle-scene";
import { addTextObject, TextStyle } from "./text";
-import { Type } from "../data/type";
+import { getTypeDamageMultiplierColor, Type } from "../data/type";
import { Command } from "./command-ui-handler";
import { Mode } from "./ui";
import UiHandler from "./ui-handler";
import * as Utils from "../utils";
import { CommandPhase } from "../phases";
import { MoveCategory } from "#app/data/move.js";
-import i18next from "../plugins/i18n";
-import {Button} from "../enums/buttons";
+import i18next from "i18next";
+import {Button} from "#enums/buttons";
+import Pokemon, { PokemonMove } from "#app/field/pokemon.js";
export default class FightUiHandler extends UiHandler {
private movesContainer: Phaser.GameObjects.Container;
+ private moveInfoContainer: Phaser.GameObjects.Container;
private typeIcon: Phaser.GameObjects.Sprite;
private ppLabel: Phaser.GameObjects.Text;
private ppText: Phaser.GameObjects.Text;
@@ -33,48 +35,53 @@ export default class FightUiHandler extends UiHandler {
const ui = this.getUi();
this.movesContainer = this.scene.add.container(18, -38.7);
+ this.movesContainer.setName("moves");
ui.add(this.movesContainer);
- this.typeIcon = this.scene.add.sprite((this.scene.game.canvas.width / 6) - 57, -36,`types${Utils.verifyLang(i18next.resolvedLanguage) ? `_${i18next.resolvedLanguage}` : ""}` , "unknown");
+ this.moveInfoContainer = this.scene.add.container(1, 0);
+ this.moveInfoContainer.setName("move-info");
+ ui.add(this.moveInfoContainer);
+
+ this.typeIcon = this.scene.add.sprite(this.scene.scaledCanvas.width - 57, -36,`types${Utils.verifyLang(i18next.resolvedLanguage) ? `_${i18next.resolvedLanguage}` : ""}` , "unknown");
this.typeIcon.setVisible(false);
- ui.add(this.typeIcon);
+ this.moveInfoContainer.add(this.typeIcon);
- this.moveCategoryIcon = this.scene.add.sprite((this.scene.game.canvas.width / 6) - 25, -36, "categories", "physical");
+ this.moveCategoryIcon = this.scene.add.sprite(this.scene.scaledCanvas.width - 25, -36, "categories", "physical");
this.moveCategoryIcon.setVisible(false);
- ui.add(this.moveCategoryIcon);
+ this.moveInfoContainer.add(this.moveCategoryIcon);
- this.ppLabel = addTextObject(this.scene, (this.scene.game.canvas.width / 6) - 70, -26, "PP", TextStyle.MOVE_INFO_CONTENT);
+ this.ppLabel = addTextObject(this.scene, this.scene.scaledCanvas.width - 70, -26, "PP", TextStyle.MOVE_INFO_CONTENT);
this.ppLabel.setOrigin(0.0, 0.5);
this.ppLabel.setVisible(false);
this.ppLabel.setText(i18next.t("fightUiHandler:pp"));
- ui.add(this.ppLabel);
+ this.moveInfoContainer.add(this.ppLabel);
- this.ppText = addTextObject(this.scene, (this.scene.game.canvas.width / 6) - 12, -26, "--/--", TextStyle.MOVE_INFO_CONTENT);
+ this.ppText = addTextObject(this.scene, this.scene.scaledCanvas.width - 12, -26, "--/--", TextStyle.MOVE_INFO_CONTENT);
this.ppText.setOrigin(1, 0.5);
this.ppText.setVisible(false);
- ui.add(this.ppText);
+ this.moveInfoContainer.add(this.ppText);
- this.powerLabel = addTextObject(this.scene, (this.scene.game.canvas.width / 6) - 70, -18, "POWER", TextStyle.MOVE_INFO_CONTENT);
+ this.powerLabel = addTextObject(this.scene, this.scene.scaledCanvas.width - 70, -18, "POWER", TextStyle.MOVE_INFO_CONTENT);
this.powerLabel.setOrigin(0.0, 0.5);
this.powerLabel.setVisible(false);
this.powerLabel.setText(i18next.t("fightUiHandler:power"));
- ui.add(this.powerLabel);
+ this.moveInfoContainer.add(this.powerLabel);
- this.powerText = addTextObject(this.scene, (this.scene.game.canvas.width / 6) - 12, -18, "---", TextStyle.MOVE_INFO_CONTENT);
+ this.powerText = addTextObject(this.scene, this.scene.scaledCanvas.width - 12, -18, "---", TextStyle.MOVE_INFO_CONTENT);
this.powerText.setOrigin(1, 0.5);
this.powerText.setVisible(false);
- ui.add(this.powerText);
+ this.moveInfoContainer.add(this.powerText);
- this.accuracyLabel = addTextObject(this.scene, (this.scene.game.canvas.width / 6) - 70, -10, "ACC", TextStyle.MOVE_INFO_CONTENT);
+ this.accuracyLabel = addTextObject(this.scene, this.scene.scaledCanvas.width - 70, -10, "ACC", TextStyle.MOVE_INFO_CONTENT);
this.accuracyLabel.setOrigin(0.0, 0.5);
this.accuracyLabel.setVisible(false);
this.accuracyLabel.setText(i18next.t("fightUiHandler:accuracy"));
- ui.add(this.accuracyLabel);
+ this.moveInfoContainer.add(this.accuracyLabel);
- this.accuracyText = addTextObject(this.scene, (this.scene.game.canvas.width / 6) - 12, -10, "---", TextStyle.MOVE_INFO_CONTENT);
+ this.accuracyText = addTextObject(this.scene, this.scene.scaledCanvas.width - 12, -10, "---", TextStyle.MOVE_INFO_CONTENT);
this.accuracyText.setOrigin(1, 0.5);
this.accuracyText.setVisible(false);
- ui.add(this.accuracyText);
+ this.moveInfoContainer.add(this.accuracyText);
}
show(args: any[]): boolean {
@@ -83,6 +90,7 @@ export default class FightUiHandler extends UiHandler {
this.fieldIndex = args.length ? args[0] as integer : 0;
const messageHandler = this.getUi().getMessageHandler();
+ messageHandler.bg.setVisible(false);
messageHandler.commandWindow.setVisible(false);
messageHandler.movesWindowContainer.setVisible(true);
this.setCursor(this.getCursor());
@@ -162,7 +170,8 @@ export default class FightUiHandler extends UiHandler {
ui.add(this.cursorObj);
}
- const moveset = (this.scene.getCurrentPhase() as CommandPhase).getPokemon().getMoveset();
+ const pokemon = (this.scene.getCurrentPhase() as CommandPhase).getPokemon();
+ const moveset = pokemon.getMoveset();
const hasMove = cursor < moveset.length;
@@ -179,6 +188,26 @@ export default class FightUiHandler extends UiHandler {
this.ppText.setText(`${Utils.padInt(pp, 2, " ")}/${Utils.padInt(maxPP, 2, " ")}`);
this.powerText.setText(`${power >= 0 ? power : "---"}`);
this.accuracyText.setText(`${accuracy >= 0 ? accuracy : "---"}`);
+
+ const ppPercentLeft = pp / maxPP;
+
+ //** Determines TextStyle according to percentage of PP remaining */
+ let ppColorStyle = TextStyle.MOVE_PP_FULL;
+ if (ppPercentLeft > 0.25 && ppPercentLeft <= 0.5) {
+ ppColorStyle = TextStyle.MOVE_PP_HALF_FULL;
+ } else if (ppPercentLeft > 0 && ppPercentLeft <= 0.25) {
+ ppColorStyle = TextStyle.MOVE_PP_NEAR_EMPTY;
+ } else if (ppPercentLeft === 0) {
+ ppColorStyle = TextStyle.MOVE_PP_EMPTY;
+ }
+
+ //** Changes the text color and shadow according to the determined TextStyle */
+ this.ppText.setColor(this.getTextColor(ppColorStyle, false));
+ this.ppText.setShadowColor(this.getTextColor(ppColorStyle, true));
+
+ pokemon.getOpponents().forEach((opponent) => {
+ opponent.updateEffectiveness(this.getEffectivenessText(pokemon, opponent, pokemonMove));
+ });
}
this.typeIcon.setVisible(hasMove);
@@ -195,19 +224,65 @@ export default class FightUiHandler extends UiHandler {
return changed;
}
+ /**
+ * Gets multiplier text for a pokemon's move against a specific opponent
+ * Returns undefined if it's a status move
+ */
+ private getEffectivenessText(pokemon: Pokemon, opponent: Pokemon, pokemonMove: PokemonMove): string | undefined {
+ const effectiveness = opponent.getMoveEffectiveness(pokemon, pokemonMove);
+ if (effectiveness === undefined) {
+ return undefined;
+ }
+
+ return `${effectiveness}x`;
+ }
+
displayMoves() {
- const moveset = (this.scene.getCurrentPhase() as CommandPhase).getPokemon().getMoveset();
- for (let m = 0; m < 4; m++) {
- const moveText = addTextObject(this.scene, m % 2 === 0 ? 0 : 100, m < 2 ? 0 : 16, "-", TextStyle.WINDOW);
- if (m < moveset.length) {
- moveText.setText(moveset[m].getName());
+ const pokemon = (this.scene.getCurrentPhase() as CommandPhase).getPokemon();
+ const moveset = pokemon.getMoveset();
+
+ for (let moveIndex = 0; moveIndex < 4; moveIndex++) {
+ const moveText = addTextObject(this.scene, moveIndex % 2 === 0 ? 0 : 100, moveIndex < 2 ? 0 : 16, "-", TextStyle.WINDOW);
+ moveText.setName("text-empty-move");
+
+ if (moveIndex < moveset.length) {
+ const pokemonMove = moveset[moveIndex];
+ moveText.setText(pokemonMove.getName());
+ moveText.setName(pokemonMove.getName());
+ moveText.setColor(this.getMoveColor(pokemon, pokemonMove) ?? moveText.style.color);
}
+
this.movesContainer.add(moveText);
}
}
+ /**
+ * Returns a specific move's color based on its type effectiveness against opponents
+ * If there are multiple opponents, the highest effectiveness' color is returned
+ * @returns A color or undefined if the default color should be used
+ */
+ private getMoveColor(pokemon: Pokemon, pokemonMove: PokemonMove): string | undefined {
+ if (!this.scene.typeHints) {
+ return undefined;
+ }
+
+ const opponents = pokemon.getOpponents();
+ if (opponents.length <= 0) {
+ return undefined;
+ }
+
+ const moveColors = opponents.map((opponent) => {
+ return opponent.getMoveEffectiveness(pokemon, pokemonMove);
+ }).sort((a, b) => b - a).map((effectiveness) => {
+ return getTypeDamageMultiplierColor(effectiveness, "offense");
+ });
+
+ return moveColors[0];
+ }
+
clear() {
super.clear();
+ const messageHandler = this.getUi().getMessageHandler();
this.clearMoves();
this.typeIcon.setVisible(false);
this.ppLabel.setVisible(false);
@@ -217,11 +292,17 @@ export default class FightUiHandler extends UiHandler {
this.accuracyLabel.setVisible(false);
this.accuracyText.setVisible(false);
this.moveCategoryIcon.setVisible(false);
+ messageHandler.bg.setVisible(true);
this.eraseCursor();
}
clearMoves() {
this.movesContainer.removeAll(true);
+
+ const opponents = (this.scene.getCurrentPhase() as CommandPhase).getPokemon().getOpponents();
+ opponents.forEach((opponent) => {
+ opponent.updateEffectiveness(undefined);
+ });
}
eraseCursor() {
diff --git a/src/ui/form-modal-ui-handler.ts b/src/ui/form-modal-ui-handler.ts
index 227315f0b69..2c576a0fbaa 100644
--- a/src/ui/form-modal-ui-handler.ts
+++ b/src/ui/form-modal-ui-handler.ts
@@ -5,8 +5,8 @@ import { TextStyle, addTextInputObject, addTextObject } from "./text";
import { WindowVariant, addWindow } from "./ui-theme";
import InputText from "phaser3-rex-plugins/plugins/inputtext";
import * as Utils from "../utils";
-import i18next from "../plugins/i18n";
-import {Button} from "../enums/buttons";
+import i18next from "i18next";
+import {Button} from "#enums/buttons";
export interface FormModalConfig extends ModalConfig {
errorMessage?: string;
@@ -18,6 +18,7 @@ export abstract class FormModalUiHandler extends ModalUiHandler {
protected inputs: InputText[];
protected errorMessage: Phaser.GameObjects.Text;
protected submitAction: Function;
+ protected tween: Phaser.Tweens.Tween;
constructor(scene: BattleScene, mode?: Mode) {
super(scene, mode);
@@ -99,7 +100,7 @@ export abstract class FormModalUiHandler extends ModalUiHandler {
this.modalContainer.y += 24;
this.modalContainer.setAlpha(0);
- this.scene.tweens.add({
+ this.tween = this.scene.tweens.add({
targets: this.modalContainer,
duration: Utils.fixedInt(1000),
ease: "Sine.easeInOut",
@@ -142,5 +143,9 @@ export abstract class FormModalUiHandler extends ModalUiHandler {
this.inputContainers.map(ic => ic.setVisible(false));
this.submitAction = null;
+
+ if (this.tween) {
+ this.tween.remove();
+ }
}
}
diff --git a/src/ui/game-stats-ui-handler.ts b/src/ui/game-stats-ui-handler.ts
index 86b4e71f72d..8f1e8890a76 100644
--- a/src/ui/game-stats-ui-handler.ts
+++ b/src/ui/game-stats-ui-handler.ts
@@ -1,3 +1,4 @@
+import Phaser from "phaser";
import BattleScene from "../battle-scene";
import { TextStyle, addTextObject } from "./text";
import { Mode } from "./ui";
@@ -6,8 +7,8 @@ import { addWindow } from "./ui-theme";
import * as Utils from "../utils";
import { DexAttr, GameData } from "../system/game-data";
import { speciesStarters } from "../data/pokemon-species";
-import {Button} from "../enums/buttons";
-import i18next from "../plugins/i18n";
+import {Button} from "#enums/buttons";
+import i18next from "i18next";
interface DisplayStat {
label_key?: string;
@@ -88,7 +89,7 @@ const displayStats: DisplayStats = {
},
highestMoney: {
label_key: "highestMoney",
- sourceFunc: gameData => Utils.formatFancyLargeNumber(gameData.gameStats.highestMoney, 3),
+ sourceFunc: gameData => Utils.formatFancyLargeNumber(gameData.gameStats.highestMoney),
},
highestDamage: {
label_key: "highestDamage",
@@ -156,7 +157,7 @@ const displayStats: DisplayStats = {
},
mythicalPokemonHatched: {
label_key: "mythicalsHatched",
- sourceFunc: gameData => gameData.gameStats.legendaryPokemonHatched.toString(),
+ sourceFunc: gameData => gameData.gameStats.mythicalPokemonHatched.toString(),
hidden: true
},
shinyPokemonSeen: {
diff --git a/src/ui/loading-modal-ui-handler.ts b/src/ui/loading-modal-ui-handler.ts
index c0d0ff9067b..c335b59de9f 100644
--- a/src/ui/loading-modal-ui-handler.ts
+++ b/src/ui/loading-modal-ui-handler.ts
@@ -1,3 +1,4 @@
+import i18next from "i18next";
import BattleScene from "../battle-scene";
import { ModalUiHandler } from "./modal-ui-handler";
import { addTextObject, TextStyle } from "./text";
@@ -31,7 +32,7 @@ export default class LoadingModalUiHandler extends ModalUiHandler {
setup(): void {
super.setup();
- const label = addTextObject(this.scene, this.getWidth() / 2, this.getHeight() / 2, "Loading…", TextStyle.WINDOW);
+ const label = addTextObject(this.scene, this.getWidth() / 2, this.getHeight() / 2, i18next.t("menu:loading"), TextStyle.WINDOW);
label.setOrigin(0.5, 0.5);
this.modalContainer.add(label);
diff --git a/src/ui/login-form-ui-handler.ts b/src/ui/login-form-ui-handler.ts
index 890aabeb7af..3b75c6f7c13 100644
--- a/src/ui/login-form-ui-handler.ts
+++ b/src/ui/login-form-ui-handler.ts
@@ -2,7 +2,7 @@ import { FormModalUiHandler } from "./form-modal-ui-handler";
import { ModalConfig } from "./modal-ui-handler";
import * as Utils from "../utils";
import { Mode } from "./ui";
-import i18next from "../plugins/i18n";
+import i18next from "i18next";
export default class LoginFormUiHandler extends FormModalUiHandler {
getModalTitle(config?: ModalConfig): string {
diff --git a/src/ui/menu-ui-handler.ts b/src/ui/menu-ui-handler.ts
index 060cb172b05..571a09f3b37 100644
--- a/src/ui/menu-ui-handler.ts
+++ b/src/ui/menu-ui-handler.ts
@@ -4,14 +4,15 @@ import { Mode } from "./ui";
import * as Utils from "../utils";
import { addWindow } from "./ui-theme";
import MessageUiHandler from "./message-ui-handler";
-import { GameDataType } from "../system/game-data";
import { OptionSelectConfig, OptionSelectItem } from "./abstact-option-select-ui-handler";
import { Tutorial, handleTutorial } from "../tutorial";
import { updateUserInfo } from "../account";
-import i18next from "../plugins/i18n";
-import {Button} from "../enums/buttons";
+import i18next from "i18next";
+import {Button} from "#enums/buttons";
+import { GameDataType } from "#enums/game-data-type";
+import BgmBar from "#app/ui/bgm-bar";
-export enum MenuOptions {
+enum MenuOptions {
GAME_SETTINGS,
ACHIEVEMENTS,
STATS,
@@ -24,13 +25,15 @@ export enum MenuOptions {
LOG_OUT
}
-const wikiUrl = "https://wiki.pokerogue.net";
+let wikiUrl = "https://wiki.pokerogue.net/start";
const discordUrl = "https://discord.gg/uWpTfdKG49";
const githubUrl = "https://github.com/pagefaultgames/pokerogue";
+const redditUrl = "https://www.reddit.com/r/pokerogue";
export default class MenuUiHandler extends MessageUiHandler {
private menuContainer: Phaser.GameObjects.Container;
private menuMessageBoxContainer: Phaser.GameObjects.Container;
+ private menuOverlay: Phaser.GameObjects.Rectangle;
private menuBg: Phaser.GameObjects.NineSlice;
protected optionSelectText: Phaser.GameObjects.Text;
@@ -43,6 +46,9 @@ export default class MenuUiHandler extends MessageUiHandler {
protected manageDataConfig: OptionSelectConfig;
protected communityConfig: OptionSelectConfig;
+ public bgmBar: BgmBar;
+
+
constructor(scene: BattleScene, mode?: Mode) {
super(scene, mode);
@@ -54,12 +60,28 @@ export default class MenuUiHandler extends MessageUiHandler {
setup() {
const ui = this.getUi();
+ // wiki url directs based on languges available on wiki
+ const lang = i18next.resolvedLanguage.substring(0,2);
+ if (["de", "fr", "ko", "zh"].includes(lang)) {
+ wikiUrl = `https://wiki.pokerogue.net/${lang}:start`;
+ }
+
+ this.bgmBar = new BgmBar(this.scene);
+ this.bgmBar.setup();
+
+ ui.bgmBar = this.bgmBar;
this.menuContainer = this.scene.add.container(1, -(this.scene.game.canvas.height / 6) + 1);
-
+ this.menuContainer.setName("menu");
this.menuContainer.setInteractive(new Phaser.Geom.Rectangle(0, 0, this.scene.game.canvas.width / 6, this.scene.game.canvas.height / 6), Phaser.Geom.Rectangle.Contains);
+ this.menuOverlay = new Phaser.GameObjects.Rectangle(this.scene, -1, -1, this.scene.scaledCanvas.width, this.scene.scaledCanvas.height, 0xffffff, 0.3);
+ this.menuOverlay.setName("menu-overlay");
+ this.menuOverlay.setOrigin(0,0);
+ this.menuContainer.add(this.menuOverlay);
+
const menuMessageText = addTextObject(this.scene, 8, 8, "", TextStyle.WINDOW, { maxLines: 2 });
+ menuMessageText.setName("menu-message");
menuMessageText.setWordWrapWidth(1224);
menuMessageText.setOrigin(0, 0);
@@ -78,6 +100,7 @@ export default class MenuUiHandler extends MessageUiHandler {
ui.add(this.menuContainer);
this.menuMessageBoxContainer = this.scene.add.container(0, 130);
+ this.menuMessageBoxContainer.setName("menu-message-box");
this.menuMessageBoxContainer.setVisible(false);
this.menuContainer.add(this.menuMessageBoxContainer);
@@ -87,6 +110,8 @@ export default class MenuUiHandler extends MessageUiHandler {
this.menuMessageBoxContainer.add(menuMessageText);
+ this.menuContainer.add(this.bgmBar);
+
this.message = menuMessageText;
this.menuContainer.add(this.menuMessageBoxContainer);
@@ -156,6 +181,7 @@ export default class MenuUiHandler extends MessageUiHandler {
manageDataOptions.push({
label: i18next.t("menuUiHandler:importData"),
handler: () => {
+ ui.revertMode();
this.scene.gameData.importData(GameDataType.SYSTEM);
return true;
},
@@ -210,6 +236,14 @@ export default class MenuUiHandler extends MessageUiHandler {
},
keepOpen: true
},
+ {
+ label: "Reddit",
+ handler: () => {
+ window.open(redditUrl, "_blank").focus();
+ return true;
+ },
+ keepOpen: true
+ },
{
label: i18next.t("menuUiHandler:cancel"),
handler: () => {
@@ -230,6 +264,7 @@ export default class MenuUiHandler extends MessageUiHandler {
}
show(args: any[]): boolean {
+
super.show(args);
this.menuContainer.setVisible(true);
@@ -243,6 +278,9 @@ export default class MenuUiHandler extends MessageUiHandler {
handleTutorial(this.scene, Tutorial.Menu);
+ this.bgmBar.toggleBgmBar(true);
+
+
return true;
}
@@ -284,6 +322,7 @@ export default class MenuUiHandler extends MessageUiHandler {
ui.setOverlayMode(Mode.EGG_LIST);
success = true;
} else {
+ ui.showText(i18next.t("menuUiHandler:noEggs"), null, () => ui.showText(""), Utils.fixedInt(1500));
error = true;
}
break;
@@ -398,6 +437,7 @@ export default class MenuUiHandler extends MessageUiHandler {
clear() {
super.clear();
this.menuContainer.setVisible(false);
+ this.bgmBar.toggleBgmBar(false);
this.eraseCursor();
}
diff --git a/src/ui/modal-ui-handler.ts b/src/ui/modal-ui-handler.ts
index b521ec43759..85b20e423c3 100644
--- a/src/ui/modal-ui-handler.ts
+++ b/src/ui/modal-ui-handler.ts
@@ -3,7 +3,7 @@ import { TextStyle, addTextObject } from "./text";
import { Mode } from "./ui";
import UiHandler from "./ui-handler";
import { WindowVariant, addWindow } from "./ui-theme";
-import {Button} from "../enums/buttons";
+import {Button} from "#enums/buttons";
export interface ModalConfig {
buttonActions: Function[];
diff --git a/src/ui/modifier-select-ui-handler.ts b/src/ui/modifier-select-ui-handler.ts
index 37718243b8b..3cfd103b4e2 100644
--- a/src/ui/modifier-select-ui-handler.ts
+++ b/src/ui/modifier-select-ui-handler.ts
@@ -1,12 +1,16 @@
import BattleScene from "../battle-scene";
-import { getPlayerShopModifierTypeOptionsForWave, ModifierTypeOption } from "../modifier/modifier-type";
+import { getPlayerShopModifierTypeOptionsForWave, ModifierTypeOption, TmModifierType } from "../modifier/modifier-type";
import { getPokeballAtlasKey, PokeballType } from "../data/pokeball";
-import { addTextObject, getModifierTierTextTint, getTextColor, TextStyle } from "./text";
+import { addTextObject, getTextStyleOptions, getModifierTierTextTint, getTextColor, TextStyle } from "./text";
import AwaitableUiHandler from "./awaitable-ui-handler";
import { Mode } from "./ui";
import { LockModifierTiersModifier, PokemonHeldItemModifier } from "../modifier/modifier";
import { handleTutorial, Tutorial } from "../tutorial";
-import {Button} from "../enums/buttons";
+import {Button} from "#enums/buttons";
+import MoveInfoOverlay from "./move-info-overlay";
+import { allMoves } from "../data/move";
+import * as Utils from "./../utils";
+import i18next from "i18next";
export const SHOP_OPTIONS_ROW_LIMIT = 6;
@@ -15,12 +19,17 @@ export default class ModifierSelectUiHandler extends AwaitableUiHandler {
private rerollButtonContainer: Phaser.GameObjects.Container;
private lockRarityButtonContainer: Phaser.GameObjects.Container;
private transferButtonContainer: Phaser.GameObjects.Container;
+ private checkButtonContainer: Phaser.GameObjects.Container;
private rerollCostText: Phaser.GameObjects.Text;
private lockRarityButtonText: Phaser.GameObjects.Text;
+ private moveInfoOverlay : MoveInfoOverlay;
+ private moveInfoOverlayActive : boolean = false;
private rowCursor: integer = 0;
private player: boolean;
private rerollCost: integer;
+ private transferButtonWidth: integer;
+ private checkButtonWidth: integer;
public options: ModifierOption[];
public shopOptionsRows: ModifierOption[][];
@@ -40,22 +49,39 @@ export default class ModifierSelectUiHandler extends AwaitableUiHandler {
this.modifierContainer = this.scene.add.container(0, 0);
ui.add(this.modifierContainer);
- this.transferButtonContainer = this.scene.add.container((this.scene.game.canvas.width / 6) - 1, -64);
- this.transferButtonContainer.setName("container-transfer-btn");
+ const canvas = document.createElement("canvas");
+ const context = canvas.getContext("2d");
+ const [ , styleOptions, , , ] = getTextStyleOptions(TextStyle.PARTY, (this.scene as BattleScene).uiTheme);
+ context.font = styleOptions.fontSize + "px " + styleOptions.fontFamily;
+ this.transferButtonWidth = context.measureText(i18next.t("modifierSelectUiHandler:transfer")).width;
+ this.checkButtonWidth = context.measureText(i18next.t("modifierSelectUiHandler:checkTeam")).width;
+
+ this.transferButtonContainer = this.scene.add.container((this.scene.game.canvas.width - this.checkButtonWidth) / 6 - 21, -64);
+ this.transferButtonContainer.setName("transfer-btn");
this.transferButtonContainer.setVisible(false);
ui.add(this.transferButtonContainer);
- const transferButtonText = addTextObject(this.scene, -4, -2, "Transfer", TextStyle.PARTY);
+ const transferButtonText = addTextObject(this.scene, -4, -2, i18next.t("modifierSelectUiHandler:transfer"), TextStyle.PARTY);
transferButtonText.setName("text-transfer-btn");
transferButtonText.setOrigin(1, 0);
this.transferButtonContainer.add(transferButtonText);
+ this.checkButtonContainer = this.scene.add.container((this.scene.game.canvas.width) / 6 - 1, -64);
+ this.checkButtonContainer.setName("use-btn");
+ this.checkButtonContainer.setVisible(false);
+ ui.add(this.checkButtonContainer);
+
+ const checkButtonText = addTextObject(this.scene, -4, -2, i18next.t("modifierSelectUiHandler:checkTeam"), TextStyle.PARTY);
+ checkButtonText.setName("text-use-btn");
+ checkButtonText.setOrigin(1, 0);
+ this.checkButtonContainer.add(checkButtonText);
+
this.rerollButtonContainer = this.scene.add.container(16, -64);
- this.rerollButtonContainer.setName("container-reroll-brn");
+ this.rerollButtonContainer.setName("reroll-brn");
this.rerollButtonContainer.setVisible(false);
ui.add(this.rerollButtonContainer);
- const rerollButtonText = addTextObject(this.scene, -4, -2, "Reroll", TextStyle.PARTY);
+ const rerollButtonText = addTextObject(this.scene, -4, -2, i18next.t("modifierSelectUiHandler:reroll"), TextStyle.PARTY);
rerollButtonText.setName("text-reroll-btn");
rerollButtonText.setOrigin(0, 0);
this.rerollButtonContainer.add(rerollButtonText);
@@ -70,9 +96,24 @@ export default class ModifierSelectUiHandler extends AwaitableUiHandler {
this.lockRarityButtonContainer.setVisible(false);
ui.add(this.lockRarityButtonContainer);
- this.lockRarityButtonText = addTextObject(this.scene, -4, -2, "Lock Rarities", TextStyle.PARTY);
+ this.lockRarityButtonText = addTextObject(this.scene, -4, -2, i18next.t("modifierSelectUiHandler:lockRarities"), TextStyle.PARTY);
this.lockRarityButtonText.setOrigin(0, 0);
this.lockRarityButtonContainer.add(this.lockRarityButtonText);
+
+ // prepare move overlay
+ const overlayScale = 1;
+ this.moveInfoOverlay = new MoveInfoOverlay(this.scene, {
+ delayVisibility: true,
+ scale: overlayScale,
+ onSide: true,
+ right: true,
+ x: 1,
+ y: -MoveInfoOverlay.getHeight(overlayScale, true) -1,
+ width: (this.scene.game.canvas.width / 6) - 2,
+ });
+ ui.add(this.moveInfoOverlay);
+ // register the overlay to receive toggle events
+ this.scene.addInfoToggle(this.moveInfoOverlay);
}
show(args: any[]): boolean {
@@ -81,6 +122,7 @@ export default class ModifierSelectUiHandler extends AwaitableUiHandler {
this.awaitingActionInput = true;
this.onActionInput = args[2];
}
+ this.moveInfoOverlay.active = this.moveInfoOverlayActive;
return false;
}
@@ -100,6 +142,9 @@ export default class ModifierSelectUiHandler extends AwaitableUiHandler {
this.transferButtonContainer.setVisible(false);
this.transferButtonContainer.setAlpha(0);
+ this.checkButtonContainer.setVisible(false);
+ this.checkButtonContainer.setAlpha(0);
+
this.rerollButtonContainer.setVisible(false);
this.rerollButtonContainer.setAlpha(0);
@@ -145,8 +190,13 @@ export default class ModifierSelectUiHandler extends AwaitableUiHandler {
const maxUpgradeCount = typeOptions.map(to => to.upgradeCount).reduce((max, current) => Math.max(current, max), 0);
- this.scene.showFieldOverlay(750);
+ /* Force updateModifiers without pokemonSpecificModifiers */
+ this.scene.getModifierBar().updateModifiers(this.scene.modifiers, true);
+
+ /* Multiplies the appearance duration by the speed parameter so that it is always constant, and avoids "flashbangs" at game speed x5 */
+ this.scene.showShopOverlay(750 * this.scene.gameSpeed);
this.scene.updateAndShowText(750);
+ this.scene.updateBiomeWaveText();
this.scene.updateMoneyText();
let i = 0;
@@ -183,12 +233,14 @@ export default class ModifierSelectUiHandler extends AwaitableUiHandler {
}
this.rerollButtonContainer.setAlpha(0);
+ this.checkButtonContainer.setAlpha(0);
this.lockRarityButtonContainer.setAlpha(0);
this.rerollButtonContainer.setVisible(true);
+ this.checkButtonContainer.setVisible(true);
this.lockRarityButtonContainer.setVisible(canLockRarities);
this.scene.tweens.add({
- targets: [ this.rerollButtonContainer, this.lockRarityButtonContainer ],
+ targets: [ this.rerollButtonContainer, this.lockRarityButtonContainer, this.checkButtonContainer ],
alpha: 1,
duration: 250
});
@@ -224,6 +276,10 @@ export default class ModifierSelectUiHandler extends AwaitableUiHandler {
if (!originalOnActionInput(this.rowCursor, this.cursor)) {
this.awaitingActionInput = true;
this.onActionInput = originalOnActionInput;
+ } else {
+ this.moveInfoOverlayActive = this.moveInfoOverlay.active;
+ this.moveInfoOverlay.setVisible(false);
+ this.moveInfoOverlay.active = false; // this is likely unnecessary, but it should help future prove the UI
}
}
} else if (button === Button.CANCEL) {
@@ -234,12 +290,15 @@ export default class ModifierSelectUiHandler extends AwaitableUiHandler {
this.awaitingActionInput = false;
this.onActionInput = null;
originalOnActionInput(-1);
+ this.moveInfoOverlayActive = this.moveInfoOverlay.active;
+ this.moveInfoOverlay.setVisible(false);
+ this.moveInfoOverlay.active = false; // don't clear here as we might need to restore the UI in case the user cancels the action
}
}
} else {
switch (button) {
case Button.UP:
- if (!this.rowCursor && this.cursor === 2) {
+ if (this.rowCursor === 0 && this.cursor === 3) {
success = this.setCursor(0);
} else if (this.rowCursor < this.shopOptionsRows.length + 1) {
success = this.setRowCursor(this.rowCursor + 1);
@@ -248,13 +307,29 @@ export default class ModifierSelectUiHandler extends AwaitableUiHandler {
case Button.DOWN:
if (this.rowCursor) {
success = this.setRowCursor(this.rowCursor - 1);
- } else if (this.lockRarityButtonContainer.visible && !this.cursor) {
- success = this.setCursor(2);
+ } else if (this.lockRarityButtonContainer.visible && this.cursor === 0) {
+ success = this.setCursor(3);
}
break;
case Button.LEFT:
if (!this.rowCursor) {
- success = this.cursor === 1 && this.rerollButtonContainer.visible && this.setCursor(0);
+ switch (this.cursor) {
+ case 0:
+ success = false;
+ break;
+ case 1:
+ success = this.rerollButtonContainer.visible && this.setCursor(0);
+ break;
+ case 2:
+ if (this.transferButtonContainer.visible) {
+ success = this.setCursor(1);
+ } else if (this.rerollButtonContainer.visible) {
+ success = this.setCursor(0);
+ } else {
+ success = false;
+ }
+ break;
+ }
} else if (this.cursor) {
success = this.setCursor(this.cursor - 1);
} else if (this.rowCursor === 1 && this.rerollButtonContainer.visible) {
@@ -263,7 +338,21 @@ export default class ModifierSelectUiHandler extends AwaitableUiHandler {
break;
case Button.RIGHT:
if (!this.rowCursor) {
- success = this.cursor !== 1 && this.transferButtonContainer.visible && this.setCursor(1);
+ switch (this.cursor) {
+ case 0:
+ if (this.transferButtonContainer.visible) {
+ success = this.setCursor(1);
+ } else {
+ success = this.setCursor(2);
+ }
+ break;
+ case 1:
+ success = this.setCursor(2);
+ break;
+ case 2:
+ success = false;
+ break;
+ }
} else if (this.cursor < this.getRowItems(this.rowCursor) - 1) {
success = this.setCursor(this.cursor + 1);
} else if (this.rowCursor === 1 && this.transferButtonContainer.visible) {
@@ -293,6 +382,8 @@ export default class ModifierSelectUiHandler extends AwaitableUiHandler {
this.cursorObj.setScale(this.rowCursor === 1 ? 2 : this.rowCursor >= 2 ? 1.5 : 1);
+ // the modifier selection has been updated, always hide the overlay
+ this.moveInfoOverlay.clear();
if (this.rowCursor) {
const sliceWidth = (this.scene.game.canvas.width / 6) / (options.length + 2);
if (this.rowCursor < 2) {
@@ -300,16 +391,25 @@ export default class ModifierSelectUiHandler extends AwaitableUiHandler {
} else {
this.cursorObj.setPosition(sliceWidth * (cursor + 1) + (sliceWidth * 0.5) - 16, (-this.scene.game.canvas.height / 12 - this.scene.game.canvas.height / 32) - (-16 + 28 * (this.rowCursor - (this.shopOptionsRows.length - 1))));
}
- ui.showText(options[this.cursor].modifierTypeOption.type.getDescription(this.scene));
- } else if (!cursor) {
+
+ const type = options[this.cursor].modifierTypeOption.type;
+ ui.showText(type.getDescription(this.scene));
+ if (type instanceof TmModifierType) {
+ // prepare the move overlay to be shown with the toggle
+ this.moveInfoOverlay.show(allMoves[type.moveId]);
+ }
+ } else if (cursor === 0) {
this.cursorObj.setPosition(6, this.lockRarityButtonContainer.visible ? -72 : -60);
- ui.showText("Spend money to reroll your item options.");
+ ui.showText(i18next.t("modifierSelectUiHandler:rerollDesc"));
} else if (cursor === 1) {
- this.cursorObj.setPosition((this.scene.game.canvas.width / 6) - 50, -60);
- ui.showText("Transfer a held item from one Pokémon to another.");
+ this.cursorObj.setPosition((this.scene.game.canvas.width - this.transferButtonWidth - this.checkButtonWidth)/6 - 30, -60);
+ ui.showText(i18next.t("modifierSelectUiHandler:transferDesc"));
+ } else if (cursor === 2) {
+ this.cursorObj.setPosition((this.scene.game.canvas.width - this.checkButtonWidth)/6 - 10, -60);
+ ui.showText(i18next.t("modifierSelectUiHandler:checkTeamDesc"));
} else {
this.cursorObj.setPosition(6, -60);
- ui.showText("Lock item rarities on reroll (affects reroll cost).");
+ ui.showText(i18next.t("modifierSelectUiHandler:lockRaritiesDesc"));
}
return ret;
@@ -318,14 +418,15 @@ export default class ModifierSelectUiHandler extends AwaitableUiHandler {
setRowCursor(rowCursor: integer): boolean {
const lastRowCursor = this.rowCursor;
- if (rowCursor !== lastRowCursor && (rowCursor || this.rerollButtonContainer.visible || this.transferButtonContainer.visible)) {
+ if (rowCursor !== lastRowCursor) {
this.rowCursor = rowCursor;
let newCursor = Math.round(this.cursor / Math.max(this.getRowItems(lastRowCursor) - 1, 1) * (this.getRowItems(rowCursor) - 1));
- if (!rowCursor) {
- if (!newCursor && !this.rerollButtonContainer.visible) {
+ if (rowCursor === 0) {
+ if (newCursor === 0 && !this.rerollButtonContainer.visible) {
newCursor = 1;
- } else if (newCursor && !this.transferButtonContainer.visible) {
- newCursor = 0;
+ }
+ if (newCursor === 1 && !this.transferButtonContainer.visible) {
+ newCursor = 2;
}
}
this.cursor = -1;
@@ -339,7 +440,7 @@ export default class ModifierSelectUiHandler extends AwaitableUiHandler {
private getRowItems(rowCursor: integer): integer {
switch (rowCursor) {
case 0:
- return 2;
+ return 3;
case 1:
return this.options.length;
default:
@@ -363,7 +464,9 @@ export default class ModifierSelectUiHandler extends AwaitableUiHandler {
updateRerollCostText(): void {
const canReroll = this.scene.money >= this.rerollCost;
- this.rerollCostText.setText(`₽${this.rerollCost.toLocaleString("en-US")}`);
+ const formattedMoney = Utils.formatMoney(this.scene.moneyFormat, this.rerollCost);
+
+ this.rerollCostText.setText(i18next.t("modifierSelectUiHandler:rerollCost", { formattedMoney }));
this.rerollCostText.setColor(this.getTextColor(canReroll ? TextStyle.MONEY : TextStyle.PARTY_RED));
this.rerollCostText.setShadowColor(this.getTextColor(canReroll ? TextStyle.MONEY : TextStyle.PARTY_RED, true));
}
@@ -377,14 +480,20 @@ export default class ModifierSelectUiHandler extends AwaitableUiHandler {
clear() {
super.clear();
+ this.moveInfoOverlay.clear();
+ this.moveInfoOverlayActive = false;
this.awaitingActionInput = false;
this.onActionInput = null;
this.getUi().clearText();
this.eraseCursor();
- this.scene.hideFieldOverlay(250);
+ /* Multiplies the fade time duration by the speed parameter so that it is always constant, and avoids "flashbangs" at game speed x5 */
+ this.scene.hideShopOverlay(750 * this.scene.gameSpeed);
this.scene.hideLuckText(250);
+ /* Normally already called just after the shop, but not sure if it happens in 100% of cases */
+ this.scene.getModifierBar().updateModifiers(this.scene.modifiers);
+
const options = this.options.concat(this.shopOptionsRows.flat());
this.options.splice(0, this.options.length);
this.shopOptionsRows.splice(0, this.shopOptionsRows.length);
@@ -397,7 +506,7 @@ export default class ModifierSelectUiHandler extends AwaitableUiHandler {
onComplete: () => options.forEach(o => o.destroy())
});
- [ this.rerollButtonContainer, this.transferButtonContainer, this.lockRarityButtonContainer ].forEach(container => {
+ [ this.rerollButtonContainer, this.checkButtonContainer, this.transferButtonContainer, this.lockRarityButtonContainer ].forEach(container => {
if (container.visible) {
this.scene.tweens.add({
targets: container,
@@ -619,7 +728,9 @@ class ModifierOption extends Phaser.GameObjects.Container {
const scene = this.scene as BattleScene;
const textStyle = this.modifierTypeOption.cost <= scene.money ? TextStyle.MONEY : TextStyle.PARTY_RED;
- this.itemCostText.setText(`₽${this.modifierTypeOption.cost.toLocaleString("en-US")}`);
+ const formattedMoney = Utils.formatMoney(scene.moneyFormat, this.modifierTypeOption.cost);
+
+ this.itemCostText.setText(i18next.t("modifierSelectUiHandler:itemCost", { formattedMoney }));
this.itemCostText.setColor(getTextColor(textStyle, false, scene.uiTheme));
this.itemCostText.setShadowColor(getTextColor(textStyle, true, scene.uiTheme));
}
diff --git a/src/ui/move-info-overlay.ts b/src/ui/move-info-overlay.ts
new file mode 100644
index 00000000000..3b947cb842d
--- /dev/null
+++ b/src/ui/move-info-overlay.ts
@@ -0,0 +1,195 @@
+import BattleScene, {InfoToggle} from "../battle-scene";
+import { TextStyle, addTextObject } from "./text";
+import { addWindow } from "./ui-theme";
+import * as Utils from "../utils";
+import Move, { MoveCategory } from "../data/move";
+import { Type } from "../data/type";
+import i18next from "i18next";
+
+export interface MoveInfoOverlaySettings {
+ delayVisibility?: boolean; // if true, showing the overlay will only set it to active and populate the fields and the handler using this field has to manually call setVisible later.
+ scale?:number; // scale the box? A scale of 0.5 is recommended
+ top?: boolean; // should the effect box be on top?
+ right?: boolean; // should the effect box be on the right?
+ onSide?: boolean; // should the effect be on the side? ignores top argument if true
+ //location and width of the component; unaffected by scaling
+ x?: number;
+ y?: number;
+ width?: number; // default is always half the screen, regardless of scale
+}
+
+const EFF_HEIGHT = 46;
+const EFF_WIDTH = 82;
+const DESC_HEIGHT = 46;
+const BORDER = 8;
+const GLOBAL_SCALE = 6;
+
+export default class MoveInfoOverlay extends Phaser.GameObjects.Container implements InfoToggle {
+ public active: boolean = false;
+
+ private move: Move;
+
+ private desc: Phaser.GameObjects.Text;
+ private descScroll : Phaser.Tweens.Tween = null;
+
+ private val: Phaser.GameObjects.Container;
+ private pp: Phaser.GameObjects.Text;
+ private pow: Phaser.GameObjects.Text;
+ private acc: Phaser.GameObjects.Text;
+ private typ: Phaser.GameObjects.Sprite;
+ private cat: Phaser.GameObjects.Sprite;
+
+ private options : MoveInfoOverlaySettings;
+
+ constructor(scene: BattleScene, options?: MoveInfoOverlaySettings) {
+ if (options?.onSide) {
+ options.top = false;
+ }
+ super(scene, options?.x, options?.y);
+ const scale = options?.scale || 1; // set up the scale
+ this.setScale(scale);
+ this.options = options || {};
+
+ // prepare the description box
+ const width = (options?.width || MoveInfoOverlay.getWidth(scale, scene)) / scale; // divide by scale as we always want this to be half a window wide
+ const descBg = addWindow(scene, (options?.onSide && !options?.right ? EFF_WIDTH : 0), options?.top ? EFF_HEIGHT : 0, width - (options?.onSide ? EFF_WIDTH : 0), DESC_HEIGHT);
+ descBg.setOrigin(0, 0);
+ this.add(descBg);
+
+ // set up the description; wordWrap uses true pixels, unaffected by any scaling, while other values are affected
+ this.desc = addTextObject(scene, (options?.onSide && !options?.right ? EFF_WIDTH : 0) + BORDER, (options?.top ? EFF_HEIGHT : 0) + BORDER - 2, "", TextStyle.BATTLE_INFO, { wordWrap: { width: (width - (BORDER - 2) * 2 - (options?.onSide ? EFF_WIDTH : 0)) * GLOBAL_SCALE } });
+
+ // limit the text rendering, required for scrolling later on
+ const maskPointOrigin = {
+ x: (options?.x || 0),
+ y: (options?.y || 0),
+ };
+ if (maskPointOrigin.x < 0) {
+ maskPointOrigin.x += this.scene.game.canvas.width / GLOBAL_SCALE;
+ }
+ if (maskPointOrigin.y < 0) {
+ maskPointOrigin.y += this.scene.game.canvas.height / GLOBAL_SCALE;
+ }
+
+ const moveDescriptionTextMaskRect = this.scene.make.graphics();
+ moveDescriptionTextMaskRect.fillStyle(0xFF0000);
+ moveDescriptionTextMaskRect.fillRect(
+ maskPointOrigin.x + ((options?.onSide && !options?.right ? EFF_WIDTH : 0) + BORDER) * scale, maskPointOrigin.y + ((options?.top ? EFF_HEIGHT : 0) + BORDER - 2) * scale,
+ width - ((options?.onSide ? EFF_WIDTH : 0) - BORDER * 2) * scale, (DESC_HEIGHT - (BORDER - 2) * 2) * scale);
+ moveDescriptionTextMaskRect.setScale(6);
+ const moveDescriptionTextMask = this.createGeometryMask(moveDescriptionTextMaskRect);
+
+ this.add(this.desc);
+ this.desc.setMask(moveDescriptionTextMask);
+
+ // prepare the effect box
+ this.val = new Phaser.GameObjects.Container(scene, options?.right ? width - EFF_WIDTH : 0, options?.top || options?.onSide ? 0 : DESC_HEIGHT);
+ this.add(this.val);
+
+ const valuesBg = addWindow(scene, 0, 0, EFF_WIDTH, EFF_HEIGHT);
+ valuesBg.setOrigin(0, 0);
+ this.val.add(valuesBg);
+
+ this.typ = this.scene.add.sprite(25, EFF_HEIGHT - 35,`types${Utils.verifyLang(i18next.language) ? `_${i18next.language}` : ""}` , "unknown");
+ this.typ.setScale(0.8);
+ this.val.add(this.typ);
+
+ this.cat = this.scene.add.sprite(57, EFF_HEIGHT - 35, "categories", "physical");
+ this.val.add(this.cat);
+
+ const ppTxt = addTextObject(scene, 12, EFF_HEIGHT - 25, "PP", TextStyle.MOVE_INFO_CONTENT);
+ ppTxt.setOrigin(0.0, 0.5);
+ ppTxt.setText(i18next.t("fightUiHandler:pp"));
+ this.val.add(ppTxt);
+
+ this.pp = addTextObject(scene, 70, EFF_HEIGHT - 25, "--", TextStyle.MOVE_INFO_CONTENT);
+ this.pp.setOrigin(1, 0.5);
+ this.val.add(this.pp);
+
+ const powTxt = addTextObject(scene, 12, EFF_HEIGHT - 17, "POWER", TextStyle.MOVE_INFO_CONTENT);
+ powTxt.setOrigin(0.0, 0.5);
+ powTxt.setText(i18next.t("fightUiHandler:power"));
+ this.val.add(powTxt);
+
+ this.pow = addTextObject(scene, 70, EFF_HEIGHT - 17, "---", TextStyle.MOVE_INFO_CONTENT);
+ this.pow.setOrigin(1, 0.5);
+ this.val.add(this.pow);
+
+ const accTxt = addTextObject(scene, 12, EFF_HEIGHT - 9, "ACC", TextStyle.MOVE_INFO_CONTENT);
+ accTxt.setOrigin(0.0, 0.5);
+ accTxt.setText(i18next.t("fightUiHandler:accuracy"));
+ this.val.add(accTxt);
+
+ this.acc = addTextObject(scene, 70, EFF_HEIGHT - 9, "---", TextStyle.MOVE_INFO_CONTENT);
+ this.acc.setOrigin(1, 0.5);
+ this.val.add(this.acc);
+
+ // hide this component for now
+ this.setVisible(false);
+ }
+
+ // show this component with infos for the specific move
+ show(move : Move):boolean {
+ if (!(this.scene as BattleScene).enableMoveInfo) {
+ return; // move infos have been disabled
+ }
+ this.move = move;
+ this.pow.setText(move.power >= 0 ? move.power.toString() : "---");
+ this.acc.setText(move.accuracy >= 0 ? move.accuracy.toString() : "---");
+ this.pp.setText(move.pp >= 0 ? move.pp.toString() : "---");
+ this.typ.setTexture(`types${Utils.verifyLang(i18next.language) ? `_${i18next.language}` : ""}`, Type[move.type].toLowerCase());
+ this.cat.setFrame(MoveCategory[move.category].toLowerCase());
+
+ this.desc.setText(move?.effect || "");
+
+ // stop previous scrolling effects and reset y position
+ if (this.descScroll) {
+ this.descScroll.remove();
+ this.descScroll = null;
+ this.desc.y = (this.options?.top ? EFF_HEIGHT : 0) + BORDER - 2;
+ }
+
+ // determine if we need to add new scrolling effects
+ const moveDescriptionLineCount = Math.floor(this.desc.displayHeight * (96 / 72) / 14.83);
+ if (moveDescriptionLineCount > 3) {
+ // generate scrolling effects
+ this.descScroll = this.scene.tweens.add({
+ targets: this.desc,
+ delay: Utils.fixedInt(2000),
+ loop: -1,
+ hold: Utils.fixedInt(2000),
+ duration: Utils.fixedInt((moveDescriptionLineCount - 3) * 2000),
+ y: `-=${14.83 * (72 / 96) * (moveDescriptionLineCount - 3)}`
+ });
+ }
+
+ if (!this.options.delayVisibility) {
+ this.setVisible(true);
+ }
+ this.active = true;
+ return true;
+ }
+
+ clear() {
+ this.setVisible(false);
+ this.active = false;
+ }
+
+ toggleInfo(force?: boolean): void {
+ this.setVisible(force ?? !this.visible);
+ }
+
+ isActive(): boolean {
+ return this.active;
+ }
+
+ // width of this element
+ static getWidth(scale:number, scene: BattleScene):number {
+ return scene.game.canvas.width / GLOBAL_SCALE / 2;
+ }
+
+ // height of this element
+ static getHeight(scale:number, onSide?: boolean):number {
+ return (onSide ? Math.max(EFF_HEIGHT, DESC_HEIGHT) : (EFF_HEIGHT + DESC_HEIGHT)) * scale;
+ }
+}
diff --git a/src/ui/party-ui-handler.ts b/src/ui/party-ui-handler.ts
index b62242e3c18..e820c8cb0d2 100644
--- a/src/ui/party-ui-handler.ts
+++ b/src/ui/party-ui-handler.ts
@@ -1,14 +1,13 @@
-import { CommandPhase } from "../phases";
+import { CommandPhase, SelectModifierPhase } from "../phases";
import BattleScene from "../battle-scene";
import { PlayerPokemon, PokemonMove } from "../field/pokemon";
-import { addTextObject, TextStyle } from "./text";
+import { addBBCodeTextObject, addTextObject, getTextColor, TextStyle } from "./text";
import { Command } from "./command-ui-handler";
import MessageUiHandler from "./message-ui-handler";
import { Mode } from "./ui";
import * as Utils from "../utils";
-import { PokemonFormChangeItemModifier, PokemonHeldItemModifier, SwitchEffectTransferModifier } from "../modifier/modifier";
+import { PokemonBaseStatModifier, PokemonFormChangeItemModifier, PokemonHeldItemModifier, SwitchEffectTransferModifier } from "../modifier/modifier";
import { allMoves } from "../data/move";
-import { Moves } from "../data/enums/moves";
import { getGenderColor, getGenderSymbol } from "../data/gender";
import { StatusEffect } from "../data/status-effect";
import PokemonIconAnimHandler, { PokemonIconAnimMode } from "./pokemon-icon-anim-handler";
@@ -16,9 +15,14 @@ import { pokemonEvolutions } from "../data/pokemon-evolutions";
import { addWindow } from "./ui-theme";
import { SpeciesFormChangeItemTrigger } from "../data/pokemon-forms";
import { getVariantTint } from "#app/data/variant";
-import {Button} from "../enums/buttons";
+import {Button} from "#enums/buttons";
+import { applyChallenges, ChallengeType } from "#app/data/challenge.js";
+import MoveInfoOverlay from "./move-info-overlay";
+import i18next from "i18next";
+import BBCodeText from "phaser3-rex-plugins/plugins/bbcodetext";
+import { Moves } from "#enums/moves";
-const defaultMessage = "Choose a Pokémon.";
+const defaultMessage = i18next.t("partyUiHandler:choosePokemon");
export enum PartyUiMode {
SWITCH,
@@ -31,7 +35,8 @@ export enum PartyUiMode {
REMEMBER_MOVE_MODIFIER,
MODIFIER_TRANSFER,
SPLICE,
- RELEASE
+ RELEASE,
+ CHECK
}
export enum PartyOption {
@@ -53,7 +58,8 @@ export enum PartyOption {
MOVE_1 = 3000,
MOVE_2,
MOVE_3,
- MOVE_4
+ MOVE_4,
+ ALL = 4000
}
export type PartySelectCallback = (cursor: integer, option: PartyOption) => void;
@@ -73,13 +79,15 @@ export default class PartyUiHandler extends MessageUiHandler {
private partySlots: PartySlot[];
private partyCancelButton: PartyCancelButton;
private partyMessageBox: Phaser.GameObjects.NineSlice;
+ private moveInfoOverlay: MoveInfoOverlay;
private optionsMode: boolean;
private optionsScroll: boolean;
private optionsCursor: integer = 0;
private optionsScrollCursor: integer = 0;
private optionsScrollTotal: integer = 0;
- private optionsContainer: Phaser.GameObjects.Container;
+ /** This is only public for test/ui/transfer-item.test.ts */
+ public optionsContainer: Phaser.GameObjects.Container;
private optionsBg: Phaser.GameObjects.NineSlice;
private optionsCursorObj: Phaser.GameObjects.Image;
private options: integer[];
@@ -91,6 +99,8 @@ export default class PartyUiHandler extends MessageUiHandler {
private transferQuantities: integer[];
/** Stack size of every item that the selected pokemon is holding */
private transferQuantitiesMax: integer[];
+ /** Whether to transfer all items */
+ private transferAll: boolean;
private lastCursor: integer = 0;
private selectCallback: PartySelectCallback | PartyModifierTransferSelectCallback;
@@ -105,14 +115,28 @@ export default class PartyUiHandler extends MessageUiHandler {
public static FilterNonFainted = (pokemon: PlayerPokemon) => {
if (pokemon.isFainted()) {
- return `${pokemon.name} has no energy\nleft to battle!`;
+ return i18next.t("partyUiHandler:noEnergy", { pokemonName: pokemon.name });
}
return null;
};
public static FilterFainted = (pokemon: PlayerPokemon) => {
if (!pokemon.isFainted()) {
- return `${pokemon.name} still has energy\nto battle!`;
+ return i18next.t("partyUiHandler:hasEnergy", { pokemonName: pokemon.name });
+ }
+ return null;
+ };
+
+ /**
+ * For consistency reasons, this looks like the above filters. However this is used only internally and is always enforced for switching.
+ * @param pokemon The pokemon to check.
+ * @returns
+ */
+ private FilterChallengeLegal = (pokemon: PlayerPokemon) => {
+ const challengeAllowed = new Utils.BooleanHolder(true);
+ applyChallenges(this.scene.gameMode, ChallengeType.POKEMON_IN_BATTLE, pokemon, challengeAllowed);
+ if (!challengeAllowed.value) {
+ return i18next.t("partyUiHandler:cantBeUsed", { pokemonName: pokemon.name });
}
return null;
};
@@ -122,12 +146,14 @@ export default class PartyUiHandler extends MessageUiHandler {
public static FilterItemMaxStacks = (pokemon: PlayerPokemon, modifier: PokemonHeldItemModifier) => {
const matchingModifier = pokemon.scene.findModifier(m => m instanceof PokemonHeldItemModifier && m.pokemonId === pokemon.id && m.matchType(modifier)) as PokemonHeldItemModifier;
if (matchingModifier && matchingModifier.stackCount === matchingModifier.getMaxStackCount(pokemon.scene)) {
- return `${pokemon.name} has too many\nof this item!`;
+ return i18next.t("partyUiHandler:tooManyItems", { pokemonName: pokemon.name });
}
return null;
};
- public static NoEffectMessage = "It won't have any effect.";
+ public static NoEffectMessage = i18next.t("partyUiHandler:anyEffect");
+
+ private localizedOptions = [PartyOption.SEND_OUT, PartyOption.SUMMARY, PartyOption.CANCEL, PartyOption.APPLY, PartyOption.RELEASE, PartyOption.TEACH, PartyOption.SPLICE, PartyOption.UNSPLICE, PartyOption.REVIVE, PartyOption.TRANSFER, PartyOption.UNPAUSE_EVOLUTION, PartyOption.PASS_BATON];
constructor(scene: BattleScene) {
super(scene, Mode.PARTY);
@@ -137,31 +163,37 @@ export default class PartyUiHandler extends MessageUiHandler {
const ui = this.getUi();
const partyContainer = this.scene.add.container(0, 0);
+ partyContainer.setName("party");
partyContainer.setVisible(false);
ui.add(partyContainer);
this.partyContainer = partyContainer;
this.partyBg = this.scene.add.image(0, 0, "party_bg");
+ this.partyBg.setName("img-party-bg");
partyContainer.add(this.partyBg);
this.partyBg.setOrigin(0, 1);
const partySlotsContainer = this.scene.add.container(0, 0);
+ partySlotsContainer.setName("party-slots");
partyContainer.add(partySlotsContainer);
this.partySlotsContainer = partySlotsContainer;
const partyMessageBoxContainer = this.scene.add.container(0, -32);
+ partyMessageBoxContainer.setName("party-msg-box");
partyContainer.add(partyMessageBoxContainer);
const partyMessageBox = addWindow(this.scene, 1, 31, 262, 30);
+ partyMessageBox.setName("window-party-msg-box");
partyMessageBox.setOrigin(0, 1);
partyMessageBoxContainer.add(partyMessageBox);
this.partyMessageBox = partyMessageBox;
- const partyMessageText = addTextObject(this.scene, 8, 10, defaultMessage, TextStyle.WINDOW, { maxLines: 2 });
+ const partyMessageText = addTextObject(this.scene, 10, 8, defaultMessage, TextStyle.WINDOW, { maxLines: 2 });
+ partyMessageText.setName("text-party-msg");
partyMessageText.setOrigin(0, 0);
partyMessageBoxContainer.add(partyMessageText);
@@ -179,6 +211,17 @@ export default class PartyUiHandler extends MessageUiHandler {
this.iconAnimHandler = new PokemonIconAnimHandler();
this.iconAnimHandler.setup(this.scene);
+ // prepare move overlay. in case it appears to be too big, set the overlayScale to .5
+ const overlayScale = 1;
+ this.moveInfoOverlay = new MoveInfoOverlay(this.scene, {
+ scale: overlayScale,
+ top: true,
+ x: 1,
+ y: -MoveInfoOverlay.getHeight(overlayScale) - 1, //this.scene.game.canvas.height / 6 - MoveInfoOverlay.getHeight(overlayScale) - 29,
+ width: this.scene.game.canvas.width / 12 - 30,
+ });
+ ui.add(this.moveInfoOverlay);
+
this.options = [];
this.partySlots = [];
@@ -191,6 +234,9 @@ export default class PartyUiHandler extends MessageUiHandler {
super.show(args);
+ // reset the infoOverlay
+ this.moveInfoOverlay.clear();
+
this.partyUiMode = args[0] as PartyUiMode;
this.fieldIndex = args.length > 1 ? args[1] as integer : -1;
@@ -244,6 +290,8 @@ export default class PartyUiHandler extends MessageUiHandler {
ui.playSelect();
return true;
} else if (this.partyUiMode === PartyUiMode.REMEMBER_MOVE_MODIFIER && option !== PartyOption.CANCEL) {
+ // clear overlay on cancel
+ this.moveInfoOverlay.clear();
const filterResult = (this.selectFilter as PokemonSelectFilter)(pokemon);
if (filterResult === null) {
this.selectCallback(this.cursor, option);
@@ -257,25 +305,31 @@ export default class PartyUiHandler extends MessageUiHandler {
} else if ((option !== PartyOption.SUMMARY && option !== PartyOption.UNPAUSE_EVOLUTION && option !== PartyOption.UNSPLICE && option !== PartyOption.RELEASE && option !== PartyOption.CANCEL)
|| (option === PartyOption.RELEASE && this.partyUiMode === PartyUiMode.RELEASE)) {
let filterResult: string;
+ const getTransferrableItemsFromPokemon = (pokemon: PlayerPokemon) =>
+ this.scene.findModifiers(m => m instanceof PokemonHeldItemModifier && (m as PokemonHeldItemModifier).getTransferrable(true) && (m as PokemonHeldItemModifier).pokemonId === pokemon.id) as PokemonHeldItemModifier[];
if (option !== PartyOption.TRANSFER && option !== PartyOption.SPLICE) {
filterResult = (this.selectFilter as PokemonSelectFilter)(pokemon);
+ if (filterResult === null && (option === PartyOption.SEND_OUT || option === PartyOption.PASS_BATON)) {
+ filterResult = this.FilterChallengeLegal(pokemon);
+ }
if (filterResult === null && this.partyUiMode === PartyUiMode.MOVE_MODIFIER) {
filterResult = this.moveSelectFilter(pokemon.moveset[this.optionsCursor]);
}
} else {
- const transferPokemon = this.scene.getParty()[this.transferCursor];
- const itemModifiers = this.scene.findModifiers(m => m instanceof PokemonHeldItemModifier
- && (m as PokemonHeldItemModifier).getTransferrable(true) && (m as PokemonHeldItemModifier).pokemonId === transferPokemon.id) as PokemonHeldItemModifier[];
- filterResult = (this.selectFilter as PokemonModifierTransferSelectFilter)(pokemon, itemModifiers[this.transferOptionCursor]);
+ filterResult = (this.selectFilter as PokemonModifierTransferSelectFilter)(pokemon, getTransferrableItemsFromPokemon(this.scene.getParty()[this.transferCursor])[this.transferOptionCursor]);
}
if (filterResult === null) {
if (this.partyUiMode !== PartyUiMode.SPLICE) {
this.clearOptions();
}
- if (this.selectCallback) {
+ if (this.selectCallback && this.partyUiMode !== PartyUiMode.CHECK) {
if (option === PartyOption.TRANSFER) {
if (this.transferCursor !== this.cursor) {
- (this.selectCallback as PartyModifierTransferSelectCallback)(this.transferCursor, this.transferOptionCursor, this.transferQuantities[this.transferOptionCursor], this.cursor);
+ if (this.transferAll) {
+ getTransferrableItemsFromPokemon(this.scene.getParty()[this.transferCursor]).forEach((_, i) => (this.selectCallback as PartyModifierTransferSelectCallback)(this.transferCursor, i, this.transferQuantitiesMax[i], this.cursor));
+ } else {
+ (this.selectCallback as PartyModifierTransferSelectCallback)(this.transferCursor, this.transferOptionCursor, this.transferQuantities[this.transferOptionCursor], this.cursor);
+ }
}
this.clearTransfer();
} else if (this.partyUiMode === PartyUiMode.SPLICE) {
@@ -294,11 +348,8 @@ export default class PartyUiHandler extends MessageUiHandler {
selectCallback(this.cursor, option);
}
} else {
- if (option >= PartyOption.FORM_CHANGE_ITEM && this.scene.getCurrentPhase() instanceof CommandPhase) {
- switch (this.partyUiMode) {
- case PartyUiMode.SWITCH:
- case PartyUiMode.FAINT_SWITCH:
- case PartyUiMode.POST_BATTLE_SWITCH:
+ if (option >= PartyOption.FORM_CHANGE_ITEM && this.scene.getCurrentPhase() instanceof SelectModifierPhase) {
+ if (this.partyUiMode === PartyUiMode.CHECK) {
let formChangeItemModifiers = this.scene.findModifiers(m => m instanceof PokemonFormChangeItemModifier && m.pokemonId === pokemon.id) as PokemonFormChangeItemModifier[];
if (formChangeItemModifiers.find(m => m.active)) {
formChangeItemModifiers = formChangeItemModifiers.filter(m => m.active);
@@ -306,7 +357,6 @@ export default class PartyUiHandler extends MessageUiHandler {
const modifier = formChangeItemModifiers[option - PartyOption.FORM_CHANGE_ITEM];
modifier.active = !modifier.active;
this.scene.triggerPokemonFormChange(pokemon, SpeciesFormChangeItemTrigger, false, true);
- break;
}
} else if (this.cursor) {
(this.scene.getCurrentPhase() as CommandPhase).handleCommand(Command.POKEMON, this.cursor, option === PartyOption.PASS_BATON);
@@ -328,18 +378,18 @@ export default class PartyUiHandler extends MessageUiHandler {
this.clearOptions();
ui.playSelect();
pokemon.pauseEvolutions = false;
- this.showText(`Evolutions have been unpaused for ${pokemon.name}.`, null, () => this.showText(null, 0), null, true);
+ this.showText(i18next.t("partyUiHandler:unpausedEvolutions", { pokemonName: pokemon.name }), null, () => this.showText(null, 0), null, true);
} else if (option === PartyOption.UNSPLICE) {
this.clearOptions();
ui.playSelect();
- this.showText(`Do you really want to unsplice ${pokemon.fusionSpecies.name}\nfrom ${pokemon.name}? ${pokemon.fusionSpecies.name} will be lost.`, null, () => {
+ this.showText(i18next.t("partyUiHandler:unspliceConfirmation", { fusionName: pokemon.fusionSpecies.name, pokemonName: pokemon.name }), null, () => {
ui.setModeWithoutClear(Mode.CONFIRM, () => {
const fusionName = pokemon.name;
pokemon.unfuse().then(() => {
this.clearPartySlots();
this.populatePartySlots();
ui.setMode(Mode.PARTY);
- this.showText(`${fusionName} was reverted to ${pokemon.name}.`, null, () => {
+ this.showText(i18next.t("partyUiHandler:wasReverted", { fusionName: fusionName, pokemonName: pokemon.name }), null, () => {
ui.setMode(Mode.PARTY);
this.showText(null, 0);
}, null, true);
@@ -352,8 +402,8 @@ export default class PartyUiHandler extends MessageUiHandler {
} else if (option === PartyOption.RELEASE) {
this.clearOptions();
ui.playSelect();
- if (this.cursor >= this.scene.currentBattle.getBattlerCount()) {
- this.showText(`Do you really want to release ${pokemon.name}?`, null, () => {
+ if (this.cursor >= this.scene.currentBattle.getBattlerCount() || !pokemon.isAllowedInBattle()) {
+ this.showText(i18next.t("partyUiHandler:releaseConfirmation", { pokemonName: pokemon.name }), null, () => {
ui.setModeWithoutClear(Mode.CONFIRM, () => {
ui.setMode(Mode.PARTY);
this.doRelease(this.cursor);
@@ -363,7 +413,7 @@ export default class PartyUiHandler extends MessageUiHandler {
});
});
} else {
- this.showText("You can't release a Pokémon that's in battle!", null, () => this.showText(null, 0), null, true);
+ this.showText(i18next.t("partyUiHandler:releaseInBattle"), null, () => this.showText(null, 0), null, true);
}
return true;
} else if (option === PartyOption.CANCEL) {
@@ -394,7 +444,9 @@ export default class PartyUiHandler extends MessageUiHandler {
case Button.UP:
/** If currently selecting items to transfer, reset quantity selection */
if (this.partyUiMode === PartyUiMode.MODIFIER_TRANSFER) {
- this.transferQuantities[option] = this.transferQuantitiesMax[option];
+ if (option !== PartyOption.ALL) {
+ this.transferQuantities[option] = this.transferQuantitiesMax[option];
+ }
this.updateOptions();
}
success = this.setCursor(this.optionsCursor ? this.optionsCursor - 1 : this.options.length - 1); /** Move cursor */
@@ -402,12 +454,27 @@ export default class PartyUiHandler extends MessageUiHandler {
case Button.DOWN:
/** If currently selecting items to transfer, reset quantity selection */
if (this.partyUiMode === PartyUiMode.MODIFIER_TRANSFER) {
- this.transferQuantities[option] = this.transferQuantitiesMax[option];
+ if (option !== PartyOption.ALL) {
+ this.transferQuantities[option] = this.transferQuantitiesMax[option];
+ }
this.updateOptions();
}
success = this.setCursor(this.optionsCursor < this.options.length - 1 ? this.optionsCursor + 1 : 0); /** Move cursor */
break;
}
+
+ // show move description
+ if (this.partyUiMode === PartyUiMode.REMEMBER_MOVE_MODIFIER) {
+ const option = this.options[this.optionsCursor];
+ const pokemon = this.scene.getParty()[this.cursor];
+ const move = allMoves[pokemon.getLearnableLevelMoves()[option]];
+ if (move) {
+ this.moveInfoOverlay.show(move);
+ } else {
+ // or hide the overlay, in case it's the cancel button
+ this.moveInfoOverlay.clear();
+ }
+ }
}
} else {
if (button === Button.ACTION) {
@@ -586,20 +653,20 @@ export default class PartyUiHandler extends MessageUiHandler {
this.optionsMode = true;
- let optionsMessage = "Do what with this Pokémon?";
+ let optionsMessage = i18next.t("partyUiHandler:doWhatWithThisPokemon");
switch (this.partyUiMode) {
case PartyUiMode.MOVE_MODIFIER:
- optionsMessage = "Select a move.";
+ optionsMessage = i18next.t("partyUiHandler:selectAMove");
break;
case PartyUiMode.MODIFIER_TRANSFER:
if (!this.transferMode) {
- optionsMessage = "Select a held item to transfer.\nUse < and > to change the quantity.";
+ optionsMessage = i18next.t("partyUiHandler:changeQuantity");
}
break;
case PartyUiMode.SPLICE:
if (!this.transferMode) {
- optionsMessage = "Select another Pokémon to splice.";
+ optionsMessage = i18next.t("partyUiHandler:selectAnotherPokemonToSplice");
}
break;
}
@@ -625,6 +692,11 @@ export default class PartyUiHandler extends MessageUiHandler {
? pokemon.getLearnableLevelMoves()
: null;
+ if (this.partyUiMode === PartyUiMode.REMEMBER_MOVE_MODIFIER && learnableLevelMoves?.length) {
+ // show the move overlay with info for the first move
+ this.moveInfoOverlay.show(allMoves[learnableLevelMoves[0]]);
+ }
+
const itemModifiers = this.partyUiMode === PartyUiMode.MODIFIER_TRANSFER
? this.scene.findModifiers(m => m instanceof PokemonHeldItemModifier
&& (m as PokemonHeldItemModifier).getTransferrable(true) && (m as PokemonHeldItemModifier).pokemonId === pokemon.id) as PokemonHeldItemModifier[]
@@ -651,15 +723,6 @@ export default class PartyUiHandler extends MessageUiHandler {
this.options.push(PartyOption.PASS_BATON);
}
}
- if (this.scene.getCurrentPhase() instanceof CommandPhase) {
- formChangeItemModifiers = this.scene.findModifiers(m => m instanceof PokemonFormChangeItemModifier && m.pokemonId === pokemon.id) as PokemonFormChangeItemModifier[];
- if (formChangeItemModifiers.find(m => m.active)) {
- formChangeItemModifiers = formChangeItemModifiers.filter(m => m.active);
- }
- for (let i = 0; i < formChangeItemModifiers.length; i++) {
- this.options.push(PartyOption.FORM_CHANGE_ITEM + i);
- }
- }
break;
case PartyUiMode.REVIVAL_BLESSING:
this.options.push(PartyOption.REVIVE);
@@ -685,6 +748,17 @@ export default class PartyUiHandler extends MessageUiHandler {
case PartyUiMode.RELEASE:
this.options.push(PartyOption.RELEASE);
break;
+ case PartyUiMode.CHECK:
+ if (this.scene.getCurrentPhase() instanceof SelectModifierPhase) {
+ formChangeItemModifiers = this.scene.findModifiers(m => m instanceof PokemonFormChangeItemModifier && m.pokemonId === pokemon.id) as PokemonFormChangeItemModifier[];
+ if (formChangeItemModifiers.find(m => m.active)) {
+ formChangeItemModifiers = formChangeItemModifiers.filter(m => m.active);
+ }
+ for (let i = 0; i < formChangeItemModifiers.length; i++) {
+ this.options.push(PartyOption.FORM_CHANGE_ITEM + i);
+ }
+ }
+ break;
}
this.options.push(PartyOption.SUMMARY);
@@ -714,6 +788,9 @@ export default class PartyUiHandler extends MessageUiHandler {
for (let im = 0; im < itemModifiers.length; im++) {
this.options.push(im);
}
+ if (itemModifiers.length > 1) {
+ this.options.push(PartyOption.ALL);
+ }
}
this.optionsScrollTotal = this.options.length;
@@ -744,7 +821,7 @@ export default class PartyUiHandler extends MessageUiHandler {
optionEndIndex = this.options.length;
let widestOptionWidth = 0;
- const optionTexts: Phaser.GameObjects.Text[] = [];
+ const optionTexts: BBCodeText[] = [];
for (let o = optionStartIndex; o < optionEndIndex; o++) {
const option = this.options[this.options.length - (o + 1)];
@@ -772,9 +849,13 @@ export default class PartyUiHandler extends MessageUiHandler {
default:
if (formChangeItemModifiers && option >= PartyOption.FORM_CHANGE_ITEM) {
const modifier = formChangeItemModifiers[option - PartyOption.FORM_CHANGE_ITEM];
- optionName = `${modifier.active ? "Deactivate" : "Activate"} ${modifier.type.name}`;
+ optionName = `${modifier.active ? i18next.t("partyUiHandler:DEACTIVATE") : i18next.t("partyUiHandler:ACTIVATE")} ${modifier.type.name}`;
} else {
- optionName = Utils.toReadableString(PartyOption[option]);
+ if (this.localizedOptions.includes(option)) {
+ optionName = i18next.t(`partyUiHandler:${PartyOption[option]}`);
+ } else {
+ optionName = Utils.toReadableString(PartyOption[option]);
+ }
}
break;
}
@@ -782,23 +863,42 @@ export default class PartyUiHandler extends MessageUiHandler {
const move = learnableLevelMoves[option];
optionName = allMoves[move].name;
altText = !pokemon.getSpeciesForm().getLevelMoves().find(plm => plm[1] === move);
+ } else if (option === PartyOption.ALL) {
+ optionName = i18next.t("partyUiHandler:ALL");
} else {
const itemModifier = itemModifiers[option];
optionName = itemModifier.type.name;
- /** For every item that has stack bigger than 1, display the current quantity selection */
- if (this.transferQuantitiesMax[option] > 1) {
- optionName += ` (${this.transferQuantities[option]})`;
- }
}
const yCoord = -6 - 16 * o;
- const optionText = addTextObject(this.scene, 0, yCoord - 16, optionName, TextStyle.WINDOW);
+ const optionText = addBBCodeTextObject(this.scene, 0, yCoord - 16, optionName, TextStyle.WINDOW, { maxLines: 1 });
if (altText) {
optionText.setColor("#40c8f8");
optionText.setShadowColor("#006090");
}
optionText.setOrigin(0, 0);
+ /** For every item that has stack bigger than 1, display the current quantity selection */
+ if (this.partyUiMode === PartyUiMode.MODIFIER_TRANSFER && this.transferQuantitiesMax[option] > 1) {
+ const itemModifier = itemModifiers[option];
+
+ /** Not sure why getMaxHeldItemCount had an error, but it only checks the Pokemon parameter if the modifier is PokemonBaseStatModifier */
+ if (itemModifier === undefined || itemModifier instanceof PokemonBaseStatModifier) {
+ continue;
+ }
+
+ let amountText = ` (${this.transferQuantities[option]})`;
+
+ /** If the amount held is the maximum, display the count in red */
+ if (this.transferQuantitiesMax[option] === itemModifier.getMaxHeldItemCount(undefined)) {
+ amountText = `[color=${getTextColor(TextStyle.SUMMARY_RED)}]${amountText}[/color]`;
+ }
+
+ optionText.setText(optionName + amountText);
+ }
+
+ optionText.setText(`[shadow]${optionText.text}[/shadow]`);
+
optionTexts.push(optionText);
widestOptionWidth = Math.max(optionText.displayWidth, widestOptionWidth);
@@ -816,12 +916,14 @@ export default class PartyUiHandler extends MessageUiHandler {
this.transferMode = true;
this.transferCursor = this.cursor;
this.transferOptionCursor = this.getOptionsCursorWithScroll();
+ this.transferAll = this.options[this.optionsCursor] === PartyOption.ALL;
this.partySlots[this.transferCursor].setTransfer(true);
}
clearTransfer(): void {
this.transferMode = false;
+ this.transferAll = false;
this.partySlots[this.transferCursor].setTransfer(false);
}
@@ -847,25 +949,25 @@ export default class PartyUiHandler extends MessageUiHandler {
getReleaseMessage(pokemonName: string): string {
const rand = Utils.randInt(128);
if (rand < 20) {
- return `Goodbye, ${pokemonName}!`;
+ return i18next.t("partyUiHandler:goodbye", { pokemonName: pokemonName });
} else if (rand < 40) {
- return `Byebye, ${pokemonName}!`;
+ return i18next.t("partyUiHandler:byebye", { pokemonName: pokemonName });
} else if (rand < 60) {
- return `Farewell, ${pokemonName}!`;
+ return i18next.t("partyUiHandler:farewell", { pokemonName: pokemonName });
} else if (rand < 80) {
- return `So long, ${pokemonName}!`;
+ return i18next.t("partyUiHandler:soLong", { pokemonName: pokemonName });
} else if (rand < 100) {
- return `This is where we part, ${pokemonName}!`;
+ return i18next.t("partyUiHandler:thisIsWhereWePart", { pokemonName: pokemonName });
} else if (rand < 108) {
- return `I'll miss you, ${pokemonName}!`;
+ return i18next.t("partyUiHandler:illMissYou", { pokemonName: pokemonName });
} else if (rand < 116) {
- return `I'll never forget you, ${pokemonName}!`;
+ return i18next.t("partyUiHandler:illNeverForgetYou", { pokemonName: pokemonName });
} else if (rand < 124) {
- return `Until we meet again, ${pokemonName}!`;
+ return i18next.t("partyUiHandler:untilWeMeetAgain", { pokemonName: pokemonName });
} else if (rand < 127) {
- return `Sayonara, ${pokemonName}!`;
+ return i18next.t("partyUiHandler:sayonara", { pokemonName: pokemonName });
} else {
- return `Smell ya later, ${pokemonName}!`;
+ return i18next.t("partyUiHandler:smellYaLater", { pokemonName: pokemonName });
}
}
@@ -874,6 +976,8 @@ export default class PartyUiHandler extends MessageUiHandler {
}
clearOptions() {
+ // hide the overlay
+ this.moveInfoOverlay.clear();
this.optionsMode = false;
this.optionsScroll = false;
this.optionsScrollCursor = 0;
@@ -895,6 +999,8 @@ export default class PartyUiHandler extends MessageUiHandler {
clear() {
super.clear();
+ // hide the overlay
+ this.moveInfoOverlay.clear();
this.partyContainer.setVisible(false);
this.clearPartySlots();
}
@@ -990,7 +1096,7 @@ class PartySlot extends Phaser.GameObjects.Container {
if (this.slotIndex >= battlerCount) {
slotGenderText.setPositionRelative(slotLevelLabel, 36, 0);
} else {
- slotGenderText.setPositionRelative(slotName, 76, 3);
+ slotGenderText.setPositionRelative(slotName, 76 - (this.pokemon.fusionSpecies ? 8 : 0), 3);
}
slotGenderText.setOrigin(0, 0.25);
@@ -1002,9 +1108,9 @@ class PartySlot extends Phaser.GameObjects.Container {
splicedIcon.setScale(0.5);
splicedIcon.setOrigin(0, 0);
if (this.slotIndex >= battlerCount) {
- splicedIcon.setPositionRelative(slotLevelLabel, 36 - (genderSymbol ? 8 : 0), 0.5);
+ splicedIcon.setPositionRelative(slotLevelLabel, 36 + (genderSymbol ? 8 : 0), 0.5);
} else {
- splicedIcon.setPositionRelative(slotName, 76 - (genderSymbol ? 8 : 0), 3.5);
+ splicedIcon.setPositionRelative(slotName, 76, 3.5);
}
slotInfoContainer.add(splicedIcon);
@@ -1060,13 +1166,13 @@ class PartySlot extends Phaser.GameObjects.Container {
let slotTmText: string;
switch (true) {
case (this.pokemon.compatibleTms.indexOf(tmMoveId) === -1):
- slotTmText = "Not Able";
+ slotTmText = i18next.t("partyUiHandler:notAble");
break;
case (this.pokemon.getMoveset().filter(m => m?.moveId === tmMoveId).length > 0):
- slotTmText = "Learned";
+ slotTmText = i18next.t("partyUiHandler:learned");
break;
default:
- slotTmText = "Able";
+ slotTmText = i18next.t("partyUiHandler:able");
break;
}
@@ -1141,7 +1247,7 @@ class PartyCancelButton extends Phaser.GameObjects.Container {
this.partyCancelPb = partyCancelPb;
- const partyCancelText = addTextObject(this.scene, -7, -6, "Cancel", TextStyle.PARTY);
+ const partyCancelText = addTextObject(this.scene, -8, -7, i18next.t("partyUiHandler:cancel"), TextStyle.PARTY);
this.add(partyCancelText);
}
diff --git a/src/ui/pokemon-info-container.ts b/src/ui/pokemon-info-container.ts
index 41992b42212..9f4df2b20b4 100644
--- a/src/ui/pokemon-info-container.ts
+++ b/src/ui/pokemon-info-container.ts
@@ -5,7 +5,8 @@ import { Gender, getGenderColor, getGenderSymbol } from "../data/gender";
import { getNatureName } from "../data/nature";
import { Type } from "../data/type";
import Pokemon from "../field/pokemon";
-import i18next from "../plugins/i18n";
+import i18next from "i18next";
+import { DexAttr } from "../system/game-data";
import * as Utils from "../utils";
import ConfirmUiHandler from "./confirm-ui-handler";
import { StatsContainer } from "./stats-container";
@@ -39,7 +40,7 @@ const languageSettings: { [key: string]: LanguageSetting } = {
},
"pt": {
infoContainerTextSize: "60px",
- infoContainerLabelXPos: -16,
+ infoContainerLabelXPos: -15,
infoContainerTextXPos: -12,
},
};
@@ -47,19 +48,24 @@ const languageSettings: { [key: string]: LanguageSetting } = {
export default class PokemonInfoContainer extends Phaser.GameObjects.Container {
private readonly infoWindowWidth = 104;
- private pokemonGenderLabelText: Phaser.GameObjects.Text;
+ private pokemonFormLabelText: Phaser.GameObjects.Text;
+ private pokemonFormText: Phaser.GameObjects.Text;
private pokemonGenderText: Phaser.GameObjects.Text;
+ private pokemonGenderNewText: Phaser.GameObjects.Text;
private pokemonAbilityLabelText: Phaser.GameObjects.Text;
private pokemonAbilityText: Phaser.GameObjects.Text;
private pokemonNatureLabelText: Phaser.GameObjects.Text;
private pokemonNatureText: BBCodeText;
private pokemonShinyIcon: Phaser.GameObjects.Image;
+ private pokemonShinyNewIcon: Phaser.GameObjects.Text;
private pokemonFusionShinyIcon: Phaser.GameObjects.Image;
private pokemonMovesContainer: Phaser.GameObjects.Container;
private pokemonMovesContainers: Phaser.GameObjects.Container[];
private pokemonMoveBgs: Phaser.GameObjects.NineSlice[];
private pokemonMoveLabels: Phaser.GameObjects.Text[];
+ private numCharsBeforeCutoff = 16;
+
private initialX: number;
private movesContainerInitialX: number;
@@ -73,7 +79,7 @@ export default class PokemonInfoContainer extends Phaser.GameObjects.Container {
}
setup(): void {
- this.setName("container-pkmn-info");
+ this.setName("pkmn-info");
const currentLanguage = i18next.resolvedLanguage;
const langSettingKey = Object.keys(languageSettings).find(lang => currentLanguage.includes(lang));
const textSettings = languageSettings[langSettingKey];
@@ -82,7 +88,7 @@ export default class PokemonInfoContainer extends Phaser.GameObjects.Container {
infoBg.setName("window-info-bg");
this.pokemonMovesContainer = this.scene.add.container(6, 14);
- this.pokemonMovesContainer.setName("container-pkmn-moves");
+ this.pokemonMovesContainer.setName("pkmn-moves");
this.movesContainerInitialX = this.pokemonMovesContainer.x;
@@ -103,7 +109,7 @@ export default class PokemonInfoContainer extends Phaser.GameObjects.Container {
for (let m = 0; m < 4; m++) {
const moveContainer = this.scene.add.container(-6, 18 + 7 * m);
moveContainer.setScale(0.5);
- moveContainer.setName("container-move");
+ moveContainer.setName("move");
const moveBg = this.scene.add.nineslice(0, 0, "type_bgs", "unknown", 92, 14, 2, 2, 2, 2);
moveBg.setOrigin(1, 0);
@@ -137,34 +143,44 @@ export default class PokemonInfoContainer extends Phaser.GameObjects.Container {
// The font size should be set by language
const infoContainerTextSize = textSettings?.infoContainerTextSize || "64px";
- this.pokemonGenderLabelText = addTextObject(this.scene, infoContainerLabelXPos, 18, i18next.t("pokemonInfoContainer:gender"), TextStyle.WINDOW, { fontSize: infoContainerTextSize });
- this.pokemonGenderLabelText.setOrigin(1, 0);
- this.pokemonGenderLabelText.setVisible(false);
- this.pokemonGenderLabelText.setName("text-pkmn-gender-label");
- this.add(this.pokemonGenderLabelText);
+ this.pokemonFormLabelText = addTextObject(this.scene, infoContainerLabelXPos, 19, i18next.t("pokemonInfoContainer:form"), TextStyle.WINDOW, { fontSize: infoContainerTextSize });
+ this.pokemonFormLabelText.setOrigin(1, 0);
+ this.pokemonFormLabelText.setVisible(false);
+ this.add(this.pokemonFormLabelText);
- this.pokemonGenderText = addTextObject(this.scene, infoContainerTextXPos, 18, "", TextStyle.WINDOW, { fontSize: infoContainerTextSize });
+ this.pokemonFormText = addTextObject(this.scene, infoContainerTextXPos, 19, "", TextStyle.WINDOW, { fontSize: infoContainerTextSize });
+ this.pokemonFormText.setOrigin(0, 0);
+ this.pokemonFormText.setVisible(false);
+ this.add(this.pokemonFormText);
+
+ this.pokemonGenderText = addTextObject(this.scene, -42, -61, "", TextStyle.WINDOW, { fontSize: infoContainerTextSize });
this.pokemonGenderText.setOrigin(0, 0);
this.pokemonGenderText.setVisible(false);
this.pokemonGenderText.setName("text-pkmn-gender");
this.add(this.pokemonGenderText);
- this.pokemonAbilityLabelText = addTextObject(this.scene, infoContainerLabelXPos, 28, i18next.t("pokemonInfoContainer:ability"), TextStyle.WINDOW, { fontSize: infoContainerTextSize });
+ this.pokemonGenderNewText = addTextObject(this.scene, -36, -61, "", TextStyle.WINDOW, { fontSize: "64px" });
+ this.pokemonGenderNewText.setOrigin(0, 0);
+ this.pokemonGenderNewText.setVisible(false);
+ this.pokemonGenderNewText.setName("text-pkmn-new-gender");
+ this.add(this.pokemonGenderNewText);
+
+ this.pokemonAbilityLabelText = addTextObject(this.scene, infoContainerLabelXPos, 29, i18next.t("pokemonInfoContainer:ability"), TextStyle.WINDOW, { fontSize: infoContainerTextSize });
this.pokemonAbilityLabelText.setOrigin(1, 0);
this.pokemonAbilityLabelText.setName("text-pkmn-ability-label");
this.add(this.pokemonAbilityLabelText);
- this.pokemonAbilityText = addTextObject(this.scene, infoContainerTextXPos, 28, "", TextStyle.WINDOW, { fontSize: infoContainerTextSize });
+ this.pokemonAbilityText = addTextObject(this.scene, infoContainerTextXPos, 29, "", TextStyle.WINDOW, { fontSize: infoContainerTextSize });
this.pokemonAbilityText.setOrigin(0, 0);
this.pokemonAbilityText.setName("text-pkmn-ability");
this.add(this.pokemonAbilityText);
- this.pokemonNatureLabelText = addTextObject(this.scene, infoContainerLabelXPos, 38, i18next.t("pokemonInfoContainer:nature"), TextStyle.WINDOW, { fontSize: infoContainerTextSize });
+ this.pokemonNatureLabelText = addTextObject(this.scene, infoContainerLabelXPos, 39, i18next.t("pokemonInfoContainer:nature"), TextStyle.WINDOW, { fontSize: infoContainerTextSize });
this.pokemonNatureLabelText.setOrigin(1, 0);
this.pokemonNatureLabelText.setName("text-pkmn-nature-label");
this.add(this.pokemonNatureLabelText);
- this.pokemonNatureText = addBBCodeTextObject(this.scene, infoContainerTextXPos, 38, "", TextStyle.WINDOW, { fontSize: infoContainerTextSize, lineSpacing: 3, maxLines: 2 });
+ this.pokemonNatureText = addBBCodeTextObject(this.scene, infoContainerTextXPos, 39, "", TextStyle.WINDOW, { fontSize: infoContainerTextSize, lineSpacing: 3, maxLines: 2 });
this.pokemonNatureText.setOrigin(0, 0);
this.pokemonNatureText.setName("text-pkmn-nature");
this.add(this.pokemonNatureText);
@@ -176,6 +192,12 @@ export default class PokemonInfoContainer extends Phaser.GameObjects.Container {
this.pokemonShinyIcon.setName("img-pkmn-shiny-icon");
this.add(this.pokemonShinyIcon);
+ this.pokemonShinyNewIcon = addTextObject(this.scene, this.pokemonShinyIcon.x + 12, this.pokemonShinyIcon.y, "", TextStyle.WINDOW, { fontSize: infoContainerTextSize });
+ this.pokemonShinyNewIcon.setOrigin(0, 0);
+ this.pokemonShinyNewIcon.setName("text-pkmn-shiny-new-icon");
+ this.add(this.pokemonShinyNewIcon);
+ this.pokemonShinyNewIcon.setVisible(false);
+
this.pokemonFusionShinyIcon = this.scene.add.image(this.pokemonShinyIcon.x, this.pokemonShinyIcon.y, "shiny_star_2");
this.pokemonFusionShinyIcon.setOrigin(0, 0);
this.pokemonFusionShinyIcon.setScale(0.75);
@@ -187,23 +209,88 @@ export default class PokemonInfoContainer extends Phaser.GameObjects.Container {
show(pokemon: Pokemon, showMoves: boolean = false, speedMultiplier: number = 1): Promise {
return new Promise(resolve => {
+ const caughtAttr = BigInt(pokemon.scene.gameData.dexData[pokemon.species.speciesId].caughtAttr);
if (pokemon.gender > Gender.GENDERLESS) {
this.pokemonGenderText.setText(getGenderSymbol(pokemon.gender));
this.pokemonGenderText.setColor(getGenderColor(pokemon.gender));
this.pokemonGenderText.setShadowColor(getGenderColor(pokemon.gender, true));
- this.pokemonGenderLabelText.setVisible(true);
this.pokemonGenderText.setVisible(true);
+
+ const newGender = BigInt(Math.pow(2, pokemon.gender)) * DexAttr.MALE;
+ this.pokemonGenderNewText.setText("(+)");
+ this.pokemonGenderNewText.setColor(getTextColor(TextStyle.SUMMARY_BLUE, false, this.scene.uiTheme));
+ this.pokemonGenderNewText.setShadowColor(getTextColor(TextStyle.SUMMARY_BLUE, true, this.scene.uiTheme));
+ this.pokemonGenderNewText.setVisible((newGender & caughtAttr) === BigInt(0));
} else {
+ this.pokemonGenderNewText.setVisible(false);
this.pokemonGenderText.setVisible(false);
}
+ if (pokemon.species.forms?.[pokemon.formIndex]?.formName) {
+ this.pokemonFormLabelText.setVisible(true);
+ this.pokemonFormText.setVisible(true);
+ const newForm = BigInt(Math.pow(2, pokemon.formIndex)) * DexAttr.DEFAULT_FORM;
+
+ if ((newForm & caughtAttr) === BigInt(0)) {
+ this.pokemonFormLabelText.setColor(getTextColor(TextStyle.SUMMARY_BLUE, false, this.scene.uiTheme));
+ this.pokemonFormLabelText.setShadowColor(getTextColor(TextStyle.SUMMARY_BLUE, true, this.scene.uiTheme));
+ } else {
+ this.pokemonFormLabelText.setColor(getTextColor(TextStyle.WINDOW, false, this.scene.uiTheme));
+ this.pokemonFormLabelText.setShadowColor(getTextColor(TextStyle.WINDOW, true, this.scene.uiTheme));
+ }
+
+ const formName = pokemon.species.forms?.[pokemon.formIndex]?.formName;
+ this.pokemonFormText.setText(formName.length > this.numCharsBeforeCutoff ? formName.substring(0, this.numCharsBeforeCutoff - 3) + "..." : formName);
+ if (formName.length > this.numCharsBeforeCutoff) {
+ this.pokemonFormText.setInteractive(new Phaser.Geom.Rectangle(0, 0, this.pokemonFormText.width, this.pokemonFormText.height), Phaser.Geom.Rectangle.Contains);
+ this.pokemonFormText.on("pointerover", () => (this.scene as BattleScene).ui.showTooltip(null, pokemon.species.forms?.[pokemon.formIndex]?.formName, true));
+ this.pokemonFormText.on("pointerout", () => (this.scene as BattleScene).ui.hideTooltip());
+ } else {
+ this.pokemonFormText.disableInteractive();
+ }
+ } else {
+ this.pokemonFormLabelText.setVisible(false);
+ this.pokemonFormText.setVisible(false);
+ this.pokemonFormText.disableInteractive();
+ }
+
const abilityTextStyle = pokemon.abilityIndex === (pokemon.species.ability2 ? 2 : 1) ? TextStyle.MONEY : TextStyle.WINDOW;
this.pokemonAbilityText.setText(pokemon.getAbility(true).name);
this.pokemonAbilityText.setColor(getTextColor(abilityTextStyle, false, this.scene.uiTheme));
this.pokemonAbilityText.setShadowColor(getTextColor(abilityTextStyle, true, this.scene.uiTheme));
+ /**
+ * If the opposing Pokemon only has 1 normal ability and is using the hidden ability it should have the same behavior
+ * if it had 2 normal abilities. This code checks if that is the case and uses the correct opponent Pokemon abilityIndex (2)
+ * for calculations so it aligns with where the hidden ability is stored in the starter data's abilityAttr (4)
+ */
+ const opponentPokemonOneNormalAbility = (pokemon.species.getAbilityCount() === 2);
+ const opponentPokemonAbilityIndex = (opponentPokemonOneNormalAbility && pokemon.abilityIndex === 1) ? 2 : pokemon.abilityIndex;
+ const opponentPokemonAbilityAttr = Math.pow(2, opponentPokemonAbilityIndex);
+
+ const rootFormHasHiddenAbility = pokemon.scene.gameData.starterData[pokemon.species.getRootSpeciesId()].abilityAttr & opponentPokemonAbilityAttr;
+
+ if (!rootFormHasHiddenAbility) {
+ this.pokemonAbilityLabelText.setColor(getTextColor(TextStyle.SUMMARY_BLUE, false, this.scene.uiTheme));
+ this.pokemonAbilityLabelText.setShadowColor(getTextColor(TextStyle.SUMMARY_BLUE, true, this.scene.uiTheme));
+ } else {
+ this.pokemonAbilityLabelText.setColor(getTextColor(TextStyle.WINDOW, false, this.scene.uiTheme));
+ this.pokemonAbilityLabelText.setShadowColor(getTextColor(TextStyle.WINDOW, true, this.scene.uiTheme));
+ }
+
this.pokemonNatureText.setText(getNatureName(pokemon.getNature(), true, false, false, this.scene.uiTheme));
+ const dexNatures = pokemon.scene.gameData.dexData[pokemon.species.speciesId].natureAttr;
+ const newNature = Math.pow(2, pokemon.nature + 1);
+
+ if (!(dexNatures & newNature)) {
+ this.pokemonNatureLabelText.setColor(getTextColor(TextStyle.SUMMARY_BLUE, false, this.scene.uiTheme));
+ this.pokemonNatureLabelText.setShadowColor(getTextColor(TextStyle.SUMMARY_BLUE, true, this.scene.uiTheme));
+ } else {
+ this.pokemonNatureLabelText.setColor(getTextColor(TextStyle.WINDOW, false, this.scene.uiTheme));
+ this.pokemonNatureLabelText.setShadowColor(getTextColor(TextStyle.WINDOW, true, this.scene.uiTheme));
+ }
+
const isFusion = pokemon.isFusion();
const doubleShiny = isFusion && pokemon.shiny && pokemon.fusionShiny;
const baseVariant = !doubleShiny ? pokemon.getVariant() : pokemon.variant;
@@ -213,10 +300,21 @@ export default class PokemonInfoContainer extends Phaser.GameObjects.Container {
this.pokemonShinyIcon.setTint(getVariantTint(baseVariant));
if (this.pokemonShinyIcon.visible) {
const shinyDescriptor = doubleShiny || baseVariant ?
- `${baseVariant === 2 ? i18next.t("pokemonInfoContainer:epic") : baseVariant === 1 ? i18next.t("pokemonInfoContainer:rare") : i18next.t("pokemonInfoContainer:common")}${doubleShiny ? `/${pokemon.fusionVariant === 2 ? i18next.t("pokemonInfoContainer:epic") : pokemon.fusionVariant === 1 ? i18next.t("pokemonInfoContainer:rare") : i18next.t("pokemonInfoContainer:common")}` : ""}`
+ `${baseVariant === 2 ? i18next.t("common:epicShiny") : baseVariant === 1 ? i18next.t("common:rareShiny") : i18next.t("common:commonShiny")}${doubleShiny ? `/${pokemon.fusionVariant === 2 ? i18next.t("common:epicShiny") : pokemon.fusionVariant === 1 ? i18next.t("common:rareShiny") : i18next.t("common:commonShiny")}` : ""}`
: "";
- this.pokemonShinyIcon.on("pointerover", () => (this.scene as BattleScene).ui.showTooltip(null, `Shiny${shinyDescriptor ? ` (${shinyDescriptor})` : ""}`, true));
+ this.pokemonShinyIcon.on("pointerover", () => (this.scene as BattleScene).ui.showTooltip(null, `${i18next.t("common:shinyOnHover")}${shinyDescriptor ? ` (${shinyDescriptor})` : ""}`, true));
this.pokemonShinyIcon.on("pointerout", () => (this.scene as BattleScene).ui.hideTooltip());
+
+ const newShiny = BigInt(Math.pow(2, (pokemon.shiny ? 1 : 0)));
+ const newVariant = BigInt(Math.pow(2, pokemon.variant + 4));
+
+ this.pokemonShinyNewIcon.setText("(+)");
+ this.pokemonShinyNewIcon.setColor(getTextColor(TextStyle.SUMMARY_BLUE, false, this.scene.uiTheme));
+ this.pokemonShinyNewIcon.setShadowColor(getTextColor(TextStyle.SUMMARY_BLUE, true, this.scene.uiTheme));
+ const newShinyOrVariant = ((newShiny & caughtAttr) === BigInt(0)) || ((newVariant & caughtAttr) === BigInt(0));
+ this.pokemonShinyNewIcon.setVisible(!!newShinyOrVariant);
+ } else {
+ this.pokemonShinyNewIcon.setVisible(false);
}
this.pokemonFusionShinyIcon.setPosition(this.pokemonShinyIcon.x, this.pokemonShinyIcon.y);
@@ -262,6 +360,7 @@ export default class PokemonInfoContainer extends Phaser.GameObjects.Container {
this.setVisible(true);
this.shown = true;
+ this.scene.hideEnemyModifierBar();
});
}
@@ -282,6 +381,7 @@ export default class PokemonInfoContainer extends Phaser.GameObjects.Container {
hide(speedMultiplier: number = 1): Promise {
return new Promise(resolve => {
if (!this.shown) {
+ this.scene.showEnemyModifierBar();
return resolve();
}
@@ -302,6 +402,7 @@ export default class PokemonInfoContainer extends Phaser.GameObjects.Container {
this.pokemonShinyIcon.off("pointerover");
this.pokemonShinyIcon.off("pointerout");
(this.scene as BattleScene).ui.hideTooltip();
+ this.scene.showEnemyModifierBar();
resolve();
}
});
diff --git a/src/ui/registration-form-ui-handler.ts b/src/ui/registration-form-ui-handler.ts
index e4bb5c6395b..d5e7f239378 100644
--- a/src/ui/registration-form-ui-handler.ts
+++ b/src/ui/registration-form-ui-handler.ts
@@ -3,7 +3,7 @@ import { ModalConfig } from "./modal-ui-handler";
import * as Utils from "../utils";
import { Mode } from "./ui";
import { TextStyle, addTextObject } from "./text";
-import i18next from "../plugins/i18n";
+import i18next from "i18next";
export default class RegistrationFormUiHandler extends FormModalUiHandler {
getModalTitle(config?: ModalConfig): string {
diff --git a/src/ui/save-slot-select-ui-handler.ts b/src/ui/save-slot-select-ui-handler.ts
index d5dda05a519..8a81ac4858d 100644
--- a/src/ui/save-slot-select-ui-handler.ts
+++ b/src/ui/save-slot-select-ui-handler.ts
@@ -1,15 +1,15 @@
+import i18next from "i18next";
import BattleScene from "../battle-scene";
-import { gameModes } from "../game-mode";
+import { Button } from "#enums/buttons";
+import { GameMode } from "../game-mode";
+import { PokemonHeldItemModifier } from "../modifier/modifier";
import { SessionSaveData } from "../system/game-data";
+import PokemonData from "../system/pokemon-data";
+import * as Utils from "../utils";
+import MessageUiHandler from "./message-ui-handler";
import { TextStyle, addTextObject } from "./text";
import { Mode } from "./ui";
import { addWindow } from "./ui-theme";
-import * as Utils from "../utils";
-import PokemonData from "../system/pokemon-data";
-import { PokemonHeldItemModifier } from "../modifier/modifier";
-import MessageUiHandler from "./message-ui-handler";
-import i18next from "i18next";
-import {Button} from "../enums/buttons";
const sessionSlotCount = 5;
@@ -118,8 +118,16 @@ export default class SaveSlotSelectUiHandler extends MessageUiHandler {
originalCallback(cursor);
};
if (this.sessionSlots[cursor].hasData) {
- ui.showText("Overwrite the data in the selected slot?", null, () => {
- ui.setOverlayMode(Mode.CONFIRM, () => saveAndCallback(), () => {
+ ui.showText(i18next.t("saveSlotSelectUiHandler:overwriteData"), null, () => {
+ ui.setOverlayMode(Mode.CONFIRM, () => {
+ this.scene.gameData.deleteSession(cursor).then(response => {
+ if (response === false) {
+ this.scene.reset(true);
+ } else {
+ saveAndCallback();
+ }
+ });
+ }, () => {
ui.revertMode();
ui.showText(null, 0);
}, false, 0, 19, 2000);
@@ -258,7 +266,7 @@ class SessionSlot extends Phaser.GameObjects.Container {
const slotWindow = addWindow(this.scene, 0, 0, 304, 52);
this.add(slotWindow);
- this.loadingLabel = addTextObject(this.scene, 152, 26, "Loading…", TextStyle.WINDOW);
+ this.loadingLabel = addTextObject(this.scene, 152, 26, i18next.t("saveSlotSelectUiHandler:loading"), TextStyle.WINDOW);
this.loadingLabel.setOrigin(0.5, 0.5);
this.add(this.loadingLabel);
}
@@ -266,7 +274,7 @@ class SessionSlot extends Phaser.GameObjects.Container {
async setupWithData(data: SessionSaveData) {
this.remove(this.loadingLabel, true);
- const gameModeLabel = addTextObject(this.scene, 8, 5, `${gameModes[data.gameMode]?.getName() || "Unknown"} - Wave ${data.waveIndex}`, TextStyle.WINDOW);
+ const gameModeLabel = addTextObject(this.scene, 8, 5, `${GameMode.getModeName(data.gameMode) || i18next.t("gameMode:unkown")} - ${i18next.t("saveSlotSelectUiHandler:wave")} ${data.waveIndex}`, TextStyle.WINDOW);
this.add(gameModeLabel);
const timestampLabel = addTextObject(this.scene, 8, 19, new Date(data.timestamp).toLocaleString(), TextStyle.WINDOW);
@@ -283,7 +291,7 @@ class SessionSlot extends Phaser.GameObjects.Container {
const pokemon = p.toPokemon(this.scene);
const icon = this.scene.addPokemonIcon(pokemon, 0, 0, 0, 0);
- const text = addTextObject(this.scene, 32, 20, `Lv${Utils.formatLargeNumber(pokemon.level, 1000)}`, TextStyle.PARTY, { fontSize: "54px", color: "#f8f8f8" });
+ const text = addTextObject(this.scene, 32, 20, `${i18next.t("saveSlotSelectUiHandler:lv")}${Utils.formatLargeNumber(pokemon.level, 1000)}`, TextStyle.PARTY, { fontSize: "54px", color: "#f8f8f8" });
text.setShadow(0, 0, null);
text.setStroke("#424242", 14);
text.setOrigin(1, 0);
@@ -324,7 +332,7 @@ class SessionSlot extends Phaser.GameObjects.Container {
this.scene.gameData.getSession(this.slotId).then(async sessionData => {
if (!sessionData) {
this.hasData = false;
- this.loadingLabel.setText(i18next.t("menu:empty"));
+ this.loadingLabel.setText(i18next.t("saveSlotSelectUiHandler:empty"));
resolve(false);
return;
}
diff --git a/src/ui/settings/abstract-binding-ui-handler.ts b/src/ui/settings/abstract-binding-ui-handler.ts
index fe0736ce101..809c4ffa2f8 100644
--- a/src/ui/settings/abstract-binding-ui-handler.ts
+++ b/src/ui/settings/abstract-binding-ui-handler.ts
@@ -3,8 +3,9 @@ import BattleScene from "../../battle-scene";
import {Mode} from "../ui";
import {addWindow} from "../ui-theme";
import {addTextObject, TextStyle} from "../text";
-import {Button} from "../../enums/buttons";
+import {Button} from "#enums/buttons";
import {NavigationManager} from "#app/ui/settings/navigationMenu";
+import i18next from "i18next";
/**
* Abstract class for handling UI elements related to button bindings.
@@ -78,7 +79,7 @@ export default abstract class AbstractBindingUiHandler extends UiHandler {
this.actionsContainer.add(this.actionBg);
// Text prompts and instructions for the user.
- this.unlockText = addTextObject(this.scene, 0, 0, "Press a button...", TextStyle.WINDOW);
+ this.unlockText = addTextObject(this.scene, 0, 0, i18next.t("settings:pressButton"), TextStyle.WINDOW);
this.unlockText.setOrigin(0, 0);
this.unlockText.setPositionRelative(this.titleBg, 36, 4);
this.optionSelectContainer.add(this.unlockText);
@@ -92,7 +93,7 @@ export default abstract class AbstractBindingUiHandler extends UiHandler {
this.optionSelectBg.setOrigin(0.5);
this.optionSelectContainer.add(this.optionSelectBg);
- this.cancelLabel = addTextObject(this.scene, 0, 0, "Cancel", TextStyle.SETTINGS_LABEL);
+ this.cancelLabel = addTextObject(this.scene, 0, 0, i18next.t("settings:back"), TextStyle.SETTINGS_LABEL);
this.cancelLabel.setOrigin(0, 0.5);
this.cancelLabel.setPositionRelative(this.actionBg, 10, this.actionBg.height / 2);
this.actionsContainer.add(this.cancelLabel);
diff --git a/src/ui/settings/abstract-control-settings-ui-handler.ts b/src/ui/settings/abstract-control-settings-ui-handler.ts
index b8165d41980..9bf0cb40975 100644
--- a/src/ui/settings/abstract-control-settings-ui-handler.ts
+++ b/src/ui/settings/abstract-control-settings-ui-handler.ts
@@ -4,10 +4,11 @@ import {Mode} from "../ui";
import {InterfaceConfig} from "../../inputs-controller";
import {addWindow} from "../ui-theme";
import {addTextObject, TextStyle} from "../text";
-import {Button} from "../../enums/buttons";
import {getIconWithSettingName} from "#app/configs/inputs/configHandler";
import NavigationMenu, {NavigationManager} from "#app/ui/settings/navigationMenu";
-import { Device } from "#app/enums/devices.js";
+import { Device } from "#enums/devices";
+import { Button } from "#enums/buttons";
+import i18next from "i18next";
export interface InputsIcons {
[key: string]: Phaser.GameObjects.Sprite;
@@ -83,6 +84,12 @@ export default abstract class AbstractControlSettingsUiHandler extends UiHandler
return settings;
}
+ private camelize(string: string): string {
+ return string.replace(/(?:^\w|[A-Z]|\b\w)/g, function(word, index) {
+ return index === 0 ? word.toLowerCase() : word.toUpperCase();
+ }).replace(/\s+/g, "");
+ }
+
/**
* Setup UI elements.
*/
@@ -91,6 +98,7 @@ export default abstract class AbstractControlSettingsUiHandler extends UiHandler
this.navigationIcons = {};
this.settingsContainer = this.scene.add.container(1, -(this.scene.game.canvas.height / 6) + 1);
+ this.settingsContainer.setName(`settings-${this.titleSelected}`);
this.settingsContainer.setInteractive(new Phaser.Geom.Rectangle(0, 0, this.scene.game.canvas.width / 6, this.scene.game.canvas.height / 6), Phaser.Geom.Rectangle.Contains);
@@ -108,7 +116,7 @@ export default abstract class AbstractControlSettingsUiHandler extends UiHandler
iconAction.setPositionRelative(this.actionsBg, this.navigationContainer.width - 32, 4);
this.navigationIcons["BUTTON_ACTION"] = iconAction;
- const actionText = addTextObject(this.scene, 0, 0, "Action", TextStyle.SETTINGS_LABEL);
+ const actionText = addTextObject(this.scene, 0, 0, i18next.t("settings:action"), TextStyle.SETTINGS_LABEL);
actionText.setOrigin(0, 0.15);
actionText.setPositionRelative(iconAction, -actionText.width/6-2, 0);
@@ -117,7 +125,7 @@ export default abstract class AbstractControlSettingsUiHandler extends UiHandler
iconCancel.setPositionRelative(this.actionsBg, this.navigationContainer.width - 100, 4);
this.navigationIcons["BUTTON_CANCEL"] = iconCancel;
- const cancelText = addTextObject(this.scene, 0, 0, "Cancel", TextStyle.SETTINGS_LABEL);
+ const cancelText = addTextObject(this.scene, 0, 0, i18next.t("settings:back"), TextStyle.SETTINGS_LABEL);
cancelText.setOrigin(0, 0.15);
cancelText.setPositionRelative(iconCancel, -cancelText.width/6-2, 0);
@@ -126,7 +134,7 @@ export default abstract class AbstractControlSettingsUiHandler extends UiHandler
iconReset.setPositionRelative(this.actionsBg, this.navigationContainer.width - 180, 4);
this.navigationIcons["BUTTON_HOME"] = iconReset;
- const resetText = addTextObject(this.scene, 0, 0, "Reset all", TextStyle.SETTINGS_LABEL);
+ const resetText = addTextObject(this.scene, 0, 0, i18next.t("settings:reset"), TextStyle.SETTINGS_LABEL);
resetText.setOrigin(0, 0.15);
resetText.setPositionRelative(iconReset, -resetText.width/6-2, 0);
@@ -178,7 +186,14 @@ export default abstract class AbstractControlSettingsUiHandler extends UiHandler
// Create and add a text object for the setting name to the scene.
const isLock = this.settingBlacklisted.includes(this.setting[setting]);
const labelStyle = isLock ? TextStyle.SETTINGS_LOCKED : TextStyle.SETTINGS_LABEL;
- settingLabels[s] = addTextObject(this.scene, 8, 28 + s * 16, settingName, labelStyle);
+ let labelText: string;
+ const i18nKey = this.camelize(settingName.replace("Alt ", ""));
+ if (settingName.toLowerCase().includes("alt")) {
+ labelText = `${i18next.t(`settings:${i18nKey}`)}${i18next.t("settings:alt")}`;
+ } else {
+ labelText = i18next.t(`settings:${i18nKey}`);
+ }
+ settingLabels[s] = addTextObject(this.scene, 8, 28 + s * 16, labelText, labelStyle);
settingLabels[s].setOrigin(0, 0);
optionsContainer.add(settingLabels[s]);
diff --git a/src/ui/settings/abstract-settings-ui-handler.ts b/src/ui/settings/abstract-settings-ui-handler.ts
index 87d6a611662..6763c8d3d85 100644
--- a/src/ui/settings/abstract-settings-ui-handler.ts
+++ b/src/ui/settings/abstract-settings-ui-handler.ts
@@ -4,10 +4,11 @@ import { TextStyle, addTextObject } from "../text";
import { Mode } from "../ui";
import UiHandler from "../ui-handler";
import { addWindow } from "../ui-theme";
-import {Button} from "../../enums/buttons";
+import {Button} from "#enums/buttons";
import {InputsIcons} from "#app/ui/settings/abstract-control-settings-ui-handler.js";
import NavigationMenu, {NavigationManager} from "#app/ui/settings/navigationMenu";
import { Setting, SettingKeys } from "#app/system/settings/settings";
+import i18next from "i18next";
/**
@@ -33,8 +34,8 @@ export default class AbstractSettingsUiHandler extends UiHandler {
private reloadSettings: Array;
private reloadRequired: boolean;
- private rowsToDisplay: number;
+ protected rowsToDisplay: number;
protected title: string;
protected settings: Array;
protected localStorageKey: string;
@@ -53,7 +54,7 @@ export default class AbstractSettingsUiHandler extends UiHandler {
const ui = this.getUi();
this.settingsContainer = this.scene.add.container(1, -(this.scene.game.canvas.height / 6) + 1);
-
+ this.settingsContainer.setName(`settings-${this.title}`);
this.settingsContainer.setInteractive(new Phaser.Geom.Rectangle(0, 0, this.scene.game.canvas.width / 6, this.scene.game.canvas.height / 6 - 20), Phaser.Geom.Rectangle.Contains);
this.navigationIcons = {};
@@ -61,6 +62,7 @@ export default class AbstractSettingsUiHandler extends UiHandler {
this.navigationContainer = new NavigationMenu(this.scene, 0, 0);
this.optionsBg = addWindow(this.scene, 0, this.navigationContainer.height, (this.scene.game.canvas.width / 6) - 2, (this.scene.game.canvas.height / 6) - 16 - this.navigationContainer.height - 2);
+ this.optionsBg.setName("window-options-bg");
this.optionsBg.setOrigin(0, 0);
const actionsBg = addWindow(this.scene, 0, (this.scene.game.canvas.height / 6) - this.navigationContainer.height, (this.scene.game.canvas.width / 6) - 2, 22);
@@ -71,7 +73,7 @@ export default class AbstractSettingsUiHandler extends UiHandler {
iconAction.setPositionRelative(actionsBg, this.navigationContainer.width - 32, 4);
this.navigationIcons["BUTTON_ACTION"] = iconAction;
- const actionText = addTextObject(this.scene, 0, 0, "Action", TextStyle.SETTINGS_LABEL);
+ const actionText = addTextObject(this.scene, 0, 0, i18next.t("settings:action"), TextStyle.SETTINGS_LABEL);
actionText.setOrigin(0, 0.15);
actionText.setPositionRelative(iconAction, -actionText.width/6-2, 0);
@@ -80,7 +82,7 @@ export default class AbstractSettingsUiHandler extends UiHandler {
iconCancel.setPositionRelative(actionsBg, this.navigationContainer.width - 100, 4);
this.navigationIcons["BUTTON_CANCEL"] = iconCancel;
- const cancelText = addTextObject(this.scene, 0, 0, "Cancel", TextStyle.SETTINGS_LABEL);
+ const cancelText = addTextObject(this.scene, 0, 0, i18next.t("settings:back"), TextStyle.SETTINGS_LABEL);
cancelText.setOrigin(0, 0.15);
cancelText.setPositionRelative(iconCancel, -cancelText.width/6-2, 0);
@@ -95,7 +97,7 @@ export default class AbstractSettingsUiHandler extends UiHandler {
.forEach((setting, s) => {
let settingName = setting.label;
if (setting?.requireReload) {
- settingName += " (Requires Reload)";
+ settingName += ` (${i18next.t("settings:requireReload")})`;
}
this.settingLabels[s] = addTextObject(this.scene, 8, 28 + s * 16, settingName, TextStyle.SETTINGS_LABEL);
@@ -103,7 +105,7 @@ export default class AbstractSettingsUiHandler extends UiHandler {
this.optionsContainer.add(this.settingLabels[s]);
this.optionValueLabels.push(setting.options.map((option, o) => {
- const valueLabel = addTextObject(this.scene, 0, 0, option, setting.default === o ? TextStyle.SETTINGS_SELECTED : TextStyle.WINDOW);
+ const valueLabel = addTextObject(this.scene, 0, 0, option.label, setting.default === o ? TextStyle.SETTINGS_SELECTED : TextStyle.WINDOW);
valueLabel.setOrigin(0, 0);
this.optionsContainer.add(valueLabel);
diff --git a/src/ui/settings/gamepad-binding-ui-handler.ts b/src/ui/settings/gamepad-binding-ui-handler.ts
index 1ab705d3278..70291da15a2 100644
--- a/src/ui/settings/gamepad-binding-ui-handler.ts
+++ b/src/ui/settings/gamepad-binding-ui-handler.ts
@@ -1,7 +1,7 @@
import BattleScene from "../../battle-scene";
import AbstractBindingUiHandler from "./abstract-binding-ui-handler";
import {Mode} from "../ui";
-import {Device} from "#app/enums/devices";
+import {Device} from "#enums/devices";
import {getIconWithSettingName, getKeyWithKeycode} from "#app/configs/inputs/configHandler";
import {addTextObject, TextStyle} from "#app/ui/text";
diff --git a/src/ui/settings/keyboard-binding-ui-handler.ts b/src/ui/settings/keyboard-binding-ui-handler.ts
index ca490857200..2a92bb0fa6c 100644
--- a/src/ui/settings/keyboard-binding-ui-handler.ts
+++ b/src/ui/settings/keyboard-binding-ui-handler.ts
@@ -2,7 +2,7 @@ import BattleScene from "../../battle-scene";
import AbstractBindingUiHandler from "./abstract-binding-ui-handler";
import {Mode} from "../ui";
import { getKeyWithKeycode} from "#app/configs/inputs/configHandler";
-import {Device} from "#app/enums/devices";
+import {Device} from "#enums/devices";
import {addTextObject, TextStyle} from "#app/ui/text";
diff --git a/src/ui/settings/navigationMenu.ts b/src/ui/settings/navigationMenu.ts
index d9664276872..370b6f67c76 100644
--- a/src/ui/settings/navigationMenu.ts
+++ b/src/ui/settings/navigationMenu.ts
@@ -3,7 +3,8 @@ import {Mode} from "#app/ui/ui";
import {InputsIcons} from "#app/ui/settings/abstract-control-settings-ui-handler.js";
import {addTextObject, setTextStyle, TextStyle} from "#app/ui/text";
import {addWindow} from "#app/ui/ui-theme";
-import {Button} from "#app/enums/buttons";
+import {Button} from "#enums/buttons";
+import i18next from "i18next";
const LEFT = "LEFT";
const RIGHT = "RIGHT";
@@ -27,11 +28,12 @@ export class NavigationManager {
constructor() {
this.modes = [
Mode.SETTINGS,
- Mode.SETTINGS_ACCESSIBILITY,
+ Mode.SETTINGS_DISPLAY,
+ Mode.SETTINGS_AUDIO,
Mode.SETTINGS_GAMEPAD,
Mode.SETTINGS_KEYBOARD,
];
- this.labels = ["General", "Accessibility", "Gamepad", "Keyboard"];
+ this.labels = [i18next.t("settings:general"), i18next.t("settings:display"), i18next.t("settings:audio"), i18next.t("settings:gamepad"), i18next.t("settings:keyboard")];
}
public reset() {
diff --git a/src/ui/settings/settings-accessiblity-ui-handler.ts b/src/ui/settings/settings-accessiblity-ui-handler.ts
deleted file mode 100644
index ef700a7a9ab..00000000000
--- a/src/ui/settings/settings-accessiblity-ui-handler.ts
+++ /dev/null
@@ -1,20 +0,0 @@
-import BattleScene from "../../battle-scene";
-import { Mode } from "../ui";
-"#app/inputs-controller.js";
-import AbstractSettingsUiHandler from "./abstract-settings-ui-handler";
-import { Setting, SettingType } from "#app/system/settings/settings";
-
-export default class SettingsAccessibilityUiHandler extends AbstractSettingsUiHandler {
- /**
- * Creates an instance of SettingsGamepadUiHandler.
- *
- * @param scene - The BattleScene instance.
- * @param mode - The UI mode, optional.
- */
- constructor(scene: BattleScene, mode?: Mode) {
- super(scene, mode);
- this.title = "Accessibility";
- this.settings = Setting.filter(s => s.type === SettingType.ACCESSIBILITY);
- this.localStorageKey = "settings";
- }
-}
diff --git a/src/ui/settings/settings-audio-ui-handler.ts b/src/ui/settings/settings-audio-ui-handler.ts
new file mode 100644
index 00000000000..10313ed388c
--- /dev/null
+++ b/src/ui/settings/settings-audio-ui-handler.ts
@@ -0,0 +1,21 @@
+import BattleScene from "../../battle-scene";
+import { Mode } from "../ui";
+"#app/inputs-controller.js";
+import AbstractSettingsUiHandler from "./abstract-settings-ui-handler";
+import { Setting, SettingType } from "#app/system/settings/settings";
+
+export default class SettingsAudioUiHandler extends AbstractSettingsUiHandler {
+ /**
+ * Creates an instance of SettingsAudioUiHandler.
+ *
+ * @param scene - The BattleScene instance.
+ * @param mode - The UI mode, optional.
+ */
+ constructor(scene: BattleScene, mode?: Mode) {
+ super(scene, mode);
+ this.title = "Audio";
+ this.settings = Setting.filter(s => s.type === SettingType.AUDIO);
+ this.localStorageKey = "settings";
+ this.rowsToDisplay = 4;
+ }
+}
diff --git a/src/ui/settings/settings-display-ui-handler.ts b/src/ui/settings/settings-display-ui-handler.ts
new file mode 100644
index 00000000000..f0e84f29e00
--- /dev/null
+++ b/src/ui/settings/settings-display-ui-handler.ts
@@ -0,0 +1,93 @@
+import BattleScene from "../../battle-scene";
+import { Mode } from "../ui";
+"#app/inputs-controller.js";
+import AbstractSettingsUiHandler from "./abstract-settings-ui-handler";
+import { Setting, SettingKeys, SettingType } from "#app/system/settings/settings";
+
+export default class SettingsDisplayUiHandler extends AbstractSettingsUiHandler {
+ /**
+ * Creates an instance of SettingsGamepadUiHandler.
+ *
+ * @param scene - The BattleScene instance.
+ * @param mode - The UI mode, optional.
+ */
+ constructor(scene: BattleScene, mode?: Mode) {
+ super(scene, mode);
+ this.title = "Display";
+ this.settings = Setting.filter(s => s.type === SettingType.DISPLAY);
+
+ /**
+ * Update to current language from default value.
+ * - default value is 'English'
+ */
+ const languageIndex = this.settings.findIndex(s => s.key === SettingKeys.Language);
+ if (languageIndex >= 0) {
+ const currentLocale = localStorage.getItem("prLang");
+ switch (currentLocale) {
+ case "en":
+ this.settings[languageIndex].options[0] = {
+ value: "English",
+ label: "English",
+ };
+ break;
+ case "es":
+ this.settings[languageIndex].options[0] = {
+ value: "Español",
+ label: "Español",
+ };
+ break;
+ case "it":
+ this.settings[languageIndex].options[0] = {
+ value: "Italiano",
+ label: "Italiano",
+ };
+ break;
+ case "fr":
+ this.settings[languageIndex].options[0] = {
+ value: "Français",
+ label: "Français",
+ };
+ break;
+ case "de":
+ this.settings[languageIndex].options[0] = {
+ value: "Deutsch",
+ label: "Deutsch",
+ };
+ break;
+ case "pt-BR":
+ this.settings[languageIndex].options[0] = {
+ value: "Português (BR)",
+ label: "Português (BR)",
+ };
+ break;
+ case "zh-CN":
+ this.settings[languageIndex].options[0] = {
+ value: "简体中文",
+ label: "简体中文",
+ };
+ break;
+ case "zh-TW":
+ this.settings[languageIndex].options[0] = {
+ value: "繁體中文",
+ label: "繁體中文",
+ };
+ break;
+ case "ko":
+ case "ko-KR":
+ this.settings[languageIndex].options[0] = {
+ value: "한국어",
+ label: "한국어",
+ };
+ break;
+ default:
+ this.settings[languageIndex].options[0] = {
+ value: "English",
+ label: "English",
+ };
+ break;
+ }
+ }
+
+ this.localStorageKey = "settings";
+ }
+}
diff --git a/src/ui/settings/settings-gamepad-ui-handler.ts b/src/ui/settings/settings-gamepad-ui-handler.ts
index 20a713012ae..f86e8088ec6 100644
--- a/src/ui/settings/settings-gamepad-ui-handler.ts
+++ b/src/ui/settings/settings-gamepad-ui-handler.ts
@@ -13,8 +13,9 @@ import pad_dualshock from "#app/configs/inputs/pad_dualshock";
import pad_unlicensedSNES from "#app/configs/inputs/pad_unlicensedSNES";
import {InterfaceConfig} from "#app/inputs-controller";
import AbstractControlSettingsUiHandler from "#app/ui/settings/abstract-control-settings-ui-handler.js";
-import {Device} from "#app/enums/devices";
+import {Device} from "#enums/devices";
import {truncateString} from "#app/utils";
+import i18next from "i18next";
/**
* Class representing the settings UI handler for gamepads.
@@ -54,7 +55,7 @@ export default class SettingsGamepadUiHandler extends AbstractControlSettingsUiH
this.layout["noGamepads"] = new Map();
const optionsContainer = this.scene.add.container(0, 0);
optionsContainer.setVisible(false); // Initially hide the container as no gamepads are connected.
- const label = addTextObject(this.scene, 8, 28, "Please plug a controller or press a button", TextStyle.SETTINGS_LABEL);
+ const label = addTextObject(this.scene, 8, 28, i18next.t("settings:gamepadPleasePlug"), TextStyle.SETTINGS_LABEL);
label.setOrigin(0, 0);
optionsContainer.add(label);
this.settingsContainer.add(optionsContainer);
diff --git a/src/ui/settings/settings-keyboard-ui-handler.ts b/src/ui/settings/settings-keyboard-ui-handler.ts
index 59b409fe990..5c4444991ad 100644
--- a/src/ui/settings/settings-keyboard-ui-handler.ts
+++ b/src/ui/settings/settings-keyboard-ui-handler.ts
@@ -13,8 +13,9 @@ import AbstractControlSettingsUiHandler from "#app/ui/settings/abstract-control-
import {InterfaceConfig} from "#app/inputs-controller";
import {addTextObject, TextStyle} from "#app/ui/text";
import {deleteBind} from "#app/configs/inputs/configHandler";
-import {Device} from "#app/enums/devices";
+import {Device} from "#enums/devices";
import {NavigationManager} from "#app/ui/settings/navigationMenu";
+import i18next from "i18next";
/**
* Class representing the settings UI handler for keyboards.
@@ -58,7 +59,7 @@ export default class SettingsKeyboardUiHandler extends AbstractControlSettingsUi
this.layout["noKeyboard"] = new Map();
const optionsContainer = this.scene.add.container(0, 0);
optionsContainer.setVisible(false); // Initially hide the container as no gamepads are connected.
- const label = addTextObject(this.scene, 8, 28, "Please press a key on your keyboard", TextStyle.SETTINGS_LABEL);
+ const label = addTextObject(this.scene, 8, 28, i18next.t("settings:keyboardPleasePress"), TextStyle.SETTINGS_LABEL);
label.setOrigin(0, 0);
optionsContainer.add(label);
this.settingsContainer.add(optionsContainer);
@@ -68,7 +69,7 @@ export default class SettingsKeyboardUiHandler extends AbstractControlSettingsUi
iconDelete.setPositionRelative(this.actionsBg, this.navigationContainer.width - 260, 4);
this.navigationIcons["BUTTON_DELETE"] = iconDelete;
- const deleteText = addTextObject(this.scene, 0, 0, "Delete", TextStyle.SETTINGS_LABEL);
+ const deleteText = addTextObject(this.scene, 0, 0, i18next.t("settings:delete"), TextStyle.SETTINGS_LABEL);
deleteText.setOrigin(0, 0.15);
deleteText.setPositionRelative(iconDelete, -deleteText.width/6-2, 0);
diff --git a/src/ui/settings/shiny_icons.json b/src/ui/settings/shiny_icons.json
new file mode 100644
index 00000000000..d6465cf2c3a
--- /dev/null
+++ b/src/ui/settings/shiny_icons.json
@@ -0,0 +1,41 @@
+{
+ "textures": [
+ {
+ "image": "shiny_icons.png",
+ "format": "RGBA8888",
+ "size": {
+ "w": 45,
+ "h": 14
+ },
+ "scale": 1,
+ "frames": [
+ {
+ "filename": "0",
+ "rotated": false,
+ "trimmed": false,
+ "sourceSize": {
+ "w": 45,
+ "h": 14
+ },
+ "spriteSourceSize": {
+ "x": 0,
+ "y": 0,
+ "w": 15,
+ "h": 14
+ },
+ "frame": {
+ "x": 0,
+ "y": 0,
+ "w": 15,
+ "h": 14
+ }
+ }
+ ]
+ }
+ ],
+ "meta": {
+ "app": "https://www.codeandweb.com/texturepacker",
+ "version": "3.0",
+ "smartupdate": "$TexturePacker:SmartUpdate:a3275c7504a9b35b288265e191b1d14c:420725f3fb73c2cac0ab3bbc0a46f2e1:3a8b8ca0f0e4be067dd46c07b78ee013$"
+ }
+}
diff --git a/src/ui/starter-select-ui-handler.ts b/src/ui/starter-select-ui-handler.ts
index abba4a081df..25d1060f23e 100644
--- a/src/ui/starter-select-ui-handler.ts
+++ b/src/ui/starter-select-ui-handler.ts
@@ -1,14 +1,12 @@
-import { BattleSceneEventType, CandyUpgradeNotificationChangedEvent } from "#app/battle-scene-events.js";
+import { BattleSceneEventType, CandyUpgradeNotificationChangedEvent } from "../events/battle-scene";
import { pokemonPrevolutions } from "#app/data/pokemon-evolutions";
-import { Variant, getVariantTint } from "#app/data/variant";
+import { Variant, getVariantTint, getVariantIcon } from "#app/data/variant";
import { argbFromRgba } from "@material/material-color-utilities";
import i18next from "i18next";
import BBCodeText from "phaser3-rex-plugins/plugins/bbcodetext";
import BattleScene, { starterColors } from "../battle-scene";
import { allAbilities } from "../data/ability";
import { speciesEggMoves } from "../data/egg-moves";
-import { Moves } from "../data/enums/moves";
-import { Species } from "../data/enums/species";
import { GrowthRate, getGrowthRateColor } from "../data/exp";
import { Gender, getGenderColor, getGenderSymbol } from "../data/gender";
import { allMoves } from "../data/move";
@@ -17,10 +15,9 @@ import { pokemonFormChanges } from "../data/pokemon-forms";
import { LevelMoves, pokemonFormLevelMoves, pokemonSpeciesLevelMoves } from "../data/pokemon-level-moves";
import PokemonSpecies, { allSpecies, getPokemonSpecies, getPokemonSpeciesForm, getStarterValueFriendshipCap, speciesStarters, starterPassiveAbilities } from "../data/pokemon-species";
import { Type } from "../data/type";
-import { Button } from "../enums/buttons";
-import { GameModes, gameModes } from "../game-mode";
-import { TitlePhase } from "../phases";
-import { AbilityAttr, DexAttr, DexAttrProps, DexEntry, Passive as PassiveAttr, StarterFormMoveData, StarterMoveset } from "../system/game-data";
+import { GameModes } from "../game-mode";
+import { SelectChallengePhase, TitlePhase } from "../phases";
+import { AbilityAttr, DexAttr, DexAttrProps, DexEntry, StarterFormMoveData, StarterMoveset, StarterAttributes, StarterPreferences, StarterPrefs } from "../system/game-data";
import { Tutorial, handleTutorial } from "../tutorial";
import * as Utils from "../utils";
import { OptionSelectItem } from "./abstact-option-select-ui-handler";
@@ -30,6 +27,18 @@ import { StatsContainer } from "./stats-container";
import { TextStyle, addBBCodeTextObject, addTextObject } from "./text";
import { Mode } from "./ui";
import { addWindow } from "./ui-theme";
+import { Egg } from "#app/data/egg";
+import * as Overrides from "../overrides";
+import {SettingKeyboard} from "#app/system/settings/settings-keyboard";
+import {Passive as PassiveAttr} from "#enums/passive";
+import * as Challenge from "../data/challenge";
+import MoveInfoOverlay from "./move-info-overlay";
+import { getEggTierForSpecies } from "#app/data/egg.js";
+import { Device } from "#enums/devices";
+import { Moves } from "#enums/moves";
+import { Species } from "#enums/species";
+import {Button} from "#enums/buttons";
+import { EggSourceType } from "#app/enums/egg-source-types.js";
export type StarterSelectCallback = (starters: Starter[]) => void;
@@ -53,7 +62,7 @@ interface LanguageSetting {
const languageSettings: { [key: string]: LanguageSetting } = {
"en":{
starterInfoTextSize: "56px",
- instructionTextSize: "42px",
+ instructionTextSize: "38px",
},
"de":{
starterInfoTextSize: "56px",
@@ -92,17 +101,17 @@ const languageSettings: { [key: string]: LanguageSetting } = {
}
};
-const starterCandyCosts: { passive: integer, costReduction: [integer, integer] }[] = [
- { passive: 50, costReduction: [30, 75] }, // 1
- { passive: 45, costReduction: [25, 60] }, // 2
- { passive: 40, costReduction: [20, 50] }, // 3
- { passive: 30, costReduction: [15, 40] }, // 4
- { passive: 25, costReduction: [12, 35] }, // 5
- { passive: 20, costReduction: [10, 30] }, // 6
- { passive: 15, costReduction: [8, 20] }, // 7
- { passive: 10, costReduction: [5, 15] }, // 8
- { passive: 10, costReduction: [3, 10] }, // 9
- { passive: 10, costReduction: [3, 10] }, // 10
+const starterCandyCosts: { passive: integer, costReduction: [integer, integer], egg: integer }[] = [
+ { passive: 50, costReduction: [30, 75], egg: 35 }, // 1
+ { passive: 45, costReduction: [25, 60], egg: 35 }, // 2
+ { passive: 40, costReduction: [20, 50], egg: 35 }, // 3
+ { passive: 30, costReduction: [15, 40], egg: 30 }, // 4
+ { passive: 25, costReduction: [12, 35], egg: 25 }, // 5
+ { passive: 20, costReduction: [10, 30], egg: 20 }, // 6
+ { passive: 15, costReduction: [8, 20], egg: 15 }, // 7
+ { passive: 10, costReduction: [5, 15], egg: 10 }, // 8
+ { passive: 10, costReduction: [3, 10], egg: 10 }, // 9
+ { passive: 10, costReduction: [3, 10], egg: 10 }, // 10
];
function getPassiveCandyCount(baseValue: integer): integer {
@@ -113,6 +122,10 @@ function getValueReductionCandyCounts(baseValue: integer): [integer, integer] {
return starterCandyCosts[baseValue - 1].costReduction;
}
+function getSameSpeciesEggCandyCounts(baseValue: integer): integer {
+ return starterCandyCosts[baseValue - 1].egg;
+}
+
/**
* Calculates the icon position for a Pokemon of a given UI index
* @param index UI index to calculate the icon position of
@@ -184,13 +197,30 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
private pokemonCandyCountText: Phaser.GameObjects.Text;
private pokemonCaughtHatchedContainer: Phaser.GameObjects.Container;
private pokemonCaughtCountText: Phaser.GameObjects.Text;
+ private pokemonHatchedIcon : Phaser.GameObjects.Sprite;
private pokemonHatchedCountText: Phaser.GameObjects.Text;
+ private pokemonShinyIcon: Phaser.GameObjects.Sprite;
private genOptionsText: Phaser.GameObjects.Text;
- private instructionsText: Phaser.GameObjects.Text;
+
+ private instructionsContainer: Phaser.GameObjects.Container;
+ private shinyIconElement: Phaser.GameObjects.Sprite;
+ private formIconElement: Phaser.GameObjects.Sprite;
+ private abilityIconElement: Phaser.GameObjects.Sprite;
+ private genderIconElement: Phaser.GameObjects.Sprite;
+ private natureIconElement: Phaser.GameObjects.Sprite;
+ private variantIconElement: Phaser.GameObjects.Sprite;
+ private shinyLabel: Phaser.GameObjects.Text;
+ private formLabel: Phaser.GameObjects.Text;
+ private genderLabel: Phaser.GameObjects.Text;
+ private abilityLabel: Phaser.GameObjects.Text;
+ private natureLabel: Phaser.GameObjects.Text;
+ private variantLabel: Phaser.GameObjects.Text;
+
private starterSelectMessageBox: Phaser.GameObjects.NineSlice;
private starterSelectMessageBoxContainer: Phaser.GameObjects.Container;
private statsContainer: StatsContainer;
private pokemonFormText: Phaser.GameObjects.Text;
+ private moveInfoOverlay : MoveInfoOverlay;
private genMode: boolean;
private statsMode: boolean;
@@ -204,8 +234,8 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
private genSpecies: PokemonSpecies[][] = [];
private lastSpecies: PokemonSpecies;
private speciesLoaded: Map = new Map();
- private starterGens: integer[] = [];
- private starterCursors: integer[] = [];
+ public starterGens: integer[] = [];
+ public starterCursors: integer[] = [];
private pokerusGens: integer[] = [];
private pokerusCursors: integer[] = [];
private starterAttr: bigint[] = [];
@@ -221,9 +251,10 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
private canCycleNature: boolean;
private canCycleVariant: boolean;
private value: integer = 0;
+ private canAddParty: boolean;
private assetLoadCancelled: Utils.BooleanHolder;
- private cursorObj: Phaser.GameObjects.Image;
+ public cursorObj: Phaser.GameObjects.Image;
private starterCursorObjs: Phaser.GameObjects.Image[];
private pokerusCursorObjs: Phaser.GameObjects.Image[];
private starterIcons: Phaser.GameObjects.Sprite[];
@@ -240,8 +271,14 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
private iconAnimHandler: PokemonIconAnimHandler;
+ //variables to keep track of the dynamically rendered list of instruction prompts for starter select
+ private instructionRowX = 0;
+ private instructionRowY = 0;
+ private instructionRowTextOffset = 12;
+
private starterSelectCallback: StarterSelectCallback;
- private gameMode: GameModes;
+
+ private starterPreferences: StarterPreferences;
protected blockInput: boolean = false;
@@ -403,7 +440,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
this.valueLimitLabel.setOrigin(0.5, 0);
this.starterSelectContainer.add(this.valueLimitLabel);
- const startLabel = addTextObject(this.scene, 124, 162, i18next.t("starterSelectUiHandler:start"), TextStyle.TOOLTIP_CONTENT);
+ const startLabel = addTextObject(this.scene, 124, 162, i18next.t("common:start"), TextStyle.TOOLTIP_CONTENT);
startLabel.setOrigin(0.5, 0);
this.starterSelectContainer.add(startLabel);
@@ -518,15 +555,17 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
this.pokemonSprite.setPipeline(this.scene.spritePipeline, { tone: [ 0.0, 0.0, 0.0, 0.0 ], ignoreTimeTint: true });
this.starterSelectContainer.add(this.pokemonSprite);
- this.type1Icon = this.scene.add.sprite(8, 98, `types${Utils.verifyLang(i18next.resolvedLanguage) ? `_${i18next.resolvedLanguage}` : ""}`); this.type1Icon.setScale(0.5);
+ this.type1Icon = this.scene.add.sprite(8, 98, `types${Utils.verifyLang(i18next.resolvedLanguage) ? `_${i18next.resolvedLanguage}` : ""}`);
+ this.type1Icon.setScale(0.5);
this.type1Icon.setOrigin(0, 0);
this.starterSelectContainer.add(this.type1Icon);
- this.type2Icon = this.scene.add.sprite(26, 98, `types${Utils.verifyLang(i18next.resolvedLanguage) ? `_${i18next.resolvedLanguage}` : ""}`); this.type2Icon.setScale(0.5);
+ this.type2Icon = this.scene.add.sprite(26, 98, `types${Utils.verifyLang(i18next.resolvedLanguage) ? `_${i18next.resolvedLanguage}` : ""}`);
+ this.type2Icon.setScale(0.5);
this.type2Icon.setOrigin(0, 0);
this.starterSelectContainer.add(this.type2Icon);
- this.pokemonLuckLabelText = addTextObject(this.scene, 8, 89, "Luck:", TextStyle.WINDOW_ALT, { fontSize: "56px" });
+ this.pokemonLuckLabelText = addTextObject(this.scene, 8, 89, i18next.t("common:luckIndicator"), TextStyle.WINDOW_ALT, { fontSize: "56px" });
this.pokemonLuckLabelText.setOrigin(0, 0);
this.starterSelectContainer.add(this.pokemonLuckLabelText);
@@ -573,10 +612,15 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
this.pokemonCaughtCountText.setOrigin(0, 0);
this.pokemonCaughtHatchedContainer.add(this.pokemonCaughtCountText);
- const pokemonHatchedIcon = this.scene.add.sprite(1, 14, "items", "mystery_egg");
- pokemonHatchedIcon.setOrigin(0, 0);
- pokemonHatchedIcon.setScale(0.75);
- this.pokemonCaughtHatchedContainer.add(pokemonHatchedIcon);
+ this.pokemonHatchedIcon = this.scene.add.sprite(1, 14, "egg_icons");
+ this.pokemonHatchedIcon.setOrigin(0.15, 0.2);
+ this.pokemonHatchedIcon.setScale(0.8);
+ this.pokemonCaughtHatchedContainer.add(this.pokemonHatchedIcon);
+
+ this.pokemonShinyIcon = this.scene.add.sprite(14, 76, "shiny_icons");
+ this.pokemonShinyIcon.setOrigin(0.15, 0.2);
+ this.pokemonShinyIcon.setScale(1);
+ this.pokemonCaughtHatchedContainer.add ((this.pokemonShinyIcon));
this.pokemonHatchedCountText = addTextObject(this.scene, 24, 19, "0", TextStyle.SUMMARY_ALT);
this.pokemonHatchedCountText.setOrigin(0, 0);
@@ -644,8 +688,55 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
// The font size should be set per language
const instructionTextSize = textSettings.instructionTextSize;
- this.instructionsText = addTextObject(this.scene, 4, 156, "", TextStyle.PARTY, { fontSize: instructionTextSize });
- this.starterSelectContainer.add(this.instructionsText);
+ this.instructionsContainer = this.scene.add.container(4, 156);
+ this.instructionsContainer.setVisible(true);
+ this.starterSelectContainer.add(this.instructionsContainer);
+
+ // instruction rows that will be pushed into the container dynamically based on need
+ // creating new sprites since they will be added to the scene later
+ this.shinyIconElement = new Phaser.GameObjects.Sprite(this.scene, this.instructionRowX, this.instructionRowY, "keyboard", "R.png");
+ this.shinyIconElement.setName("sprite-shiny-icon-element");
+ this.shinyIconElement.setScale(0.675);
+ this.shinyIconElement.setOrigin(0.0, 0.0);
+ this.shinyLabel = addTextObject(this.scene, this.instructionRowX + this.instructionRowTextOffset, this.instructionRowY, i18next.t("starterSelectUiHandler:cycleShiny"), TextStyle.PARTY, { fontSize: instructionTextSize });
+ this.shinyLabel.setName("text-shiny-label");
+
+ this.formIconElement = new Phaser.GameObjects.Sprite(this.scene, this.instructionRowX, this.instructionRowY, "keyboard", "F.png");
+ this.formIconElement.setName("sprite-form-icon-element");
+ this.formIconElement.setScale(0.675);
+ this.formIconElement.setOrigin(0.0, 0.0);
+ this.formLabel = addTextObject(this.scene, this.instructionRowX + this.instructionRowTextOffset, this.instructionRowY, i18next.t("starterSelectUiHandler:cycleForm"), TextStyle.PARTY, { fontSize: instructionTextSize });
+ this.formLabel.setName("text-form-label");
+
+ this.genderIconElement = new Phaser.GameObjects.Sprite(this.scene, this.instructionRowX, this.instructionRowY, "keyboard", "G.png");
+ this.genderIconElement.setName("sprite-gender-icon-element");
+ this.genderIconElement.setScale(0.675);
+ this.genderIconElement.setOrigin(0.0, 0.0);
+ this.genderLabel = addTextObject(this.scene, this.instructionRowX + this.instructionRowTextOffset, this.instructionRowY, i18next.t("starterSelectUiHandler:cycleGender"), TextStyle.PARTY, { fontSize: instructionTextSize });
+ this.genderLabel.setName("text-gender-label");
+
+ this.abilityIconElement = new Phaser.GameObjects.Sprite(this.scene, this.instructionRowX, this.instructionRowY, "keyboard", "E.png");
+ this.abilityIconElement.setName("sprite-ability-icon-element");
+ this.abilityIconElement.setScale(0.675);
+ this.abilityIconElement.setOrigin(0.0, 0.0);
+ this.abilityLabel = addTextObject(this.scene, this.instructionRowX + this.instructionRowTextOffset, this.instructionRowY, i18next.t("starterSelectUiHandler:cycleAbility"), TextStyle.PARTY, { fontSize: instructionTextSize });
+ this.abilityLabel.setName("text-ability-label");
+
+ this.natureIconElement = new Phaser.GameObjects.Sprite(this.scene, this.instructionRowX, this.instructionRowY, "keyboard", "N.png");
+ this.natureIconElement.setName("sprite-nature-icon-element");
+ this.natureIconElement.setScale(0.675);
+ this.natureIconElement.setOrigin(0.0, 0.0);
+ this.natureLabel = addTextObject(this.scene, this.instructionRowX + this.instructionRowTextOffset, this.instructionRowY, i18next.t("starterSelectUiHandler:cycleNature"), TextStyle.PARTY, { fontSize: instructionTextSize });
+ this.natureLabel.setName("text-nature-label");
+
+ this.variantIconElement = new Phaser.GameObjects.Sprite(this.scene, this.instructionRowX, this.instructionRowY, "keyboard", "V.png");
+ this.variantIconElement.setName("sprite-variant-icon-element");
+ this.variantIconElement.setScale(0.675);
+ this.variantIconElement.setOrigin(0.0, 0.0);
+ this.variantLabel = addTextObject(this.scene, this.instructionRowX + this.instructionRowTextOffset, this.instructionRowY, i18next.t("starterSelectUiHandler:cycleVariant"), TextStyle.PARTY, { fontSize: instructionTextSize });
+ this.variantLabel.setName("text-variant-label");
+
+ this.hideInstructions();
this.starterSelectMessageBoxContainer = this.scene.add.container(0, this.scene.game.canvas.height / 6);
this.starterSelectMessageBoxContainer.setVisible(false);
@@ -703,20 +794,34 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
this.starterSelectContainer.add(this.statsContainer);
+ // add the info overlay last to be the top most ui element and prevent the IVs from overlaying this
+ const overlayScale = 1;
+ this.moveInfoOverlay = new MoveInfoOverlay(this.scene, {
+ scale: overlayScale,
+ top: true,
+ x: 1,
+ y: this.scene.game.canvas.height / 6 - MoveInfoOverlay.getHeight(overlayScale) - 29,
+ });
+ this.starterSelectContainer.add(this.moveInfoOverlay);
+
this.scene.eventTarget.addEventListener(BattleSceneEventType.CANDY_UPGRADE_NOTIFICATION_CHANGED, (e) => this.onCandyUpgradeDisplayChanged(e));
this.updateInstructions();
}
show(args: any[]): boolean {
- if (args.length >= 2 && args[0] instanceof Function && typeof args[1] === "number") {
+ if (!this.starterPreferences) {
+ // starterPreferences haven't been loaded yet
+ this.starterPreferences = StarterPrefs.load();
+ }
+ this.moveInfoOverlay.clear(); // clear this when removing a menu; the cancel button doesn't seem to trigger this automatically on controllers
+ if (args.length >= 1 && args[0] instanceof Function) {
super.show(args);
this.starterSelectCallback = args[0] as StarterSelectCallback;
this.starterSelectContainer.setVisible(true);
- this.gameMode = args[1];
-
+ this.setCursor(0);
this.setGenMode(false);
this.setCursor(0);
this.setGenMode(true);
@@ -801,6 +906,18 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
&& starterData.valueReduction < 2;
}
+ /**
+ * Determines if an same species egg can be baught for the given species ID
+ * @param speciesId The ID of the species to check the value reduction of
+ * @returns true if the user has enough candies
+ */
+ isSameSpeciesEggAvailable(speciesId: number): boolean {
+ // Get this species ID's starter data
+ const starterData = this.scene.gameData.starterData[speciesId];
+
+ return starterData.candyCount >= getSameSpeciesEggCandyCounts(speciesStarters[speciesId]);
+ }
+
/**
* Sets a bounce animation if enabled and the Pokemon has an upgrade
* @param icon {@linkcode Phaser.GameObjects.GameObject} to animate
@@ -942,7 +1059,11 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
} else {
this.blockInput = true;
this.scene.clearPhaseQueue();
- this.scene.pushPhase(new TitlePhase(this.scene));
+ if (this.scene.gameMode.isChallenge) {
+ this.scene.pushPhase(new SelectChallengePhase(this.scene));
+ } else {
+ this.scene.pushPhase(new TitlePhase(this.scene));
+ }
this.scene.getCurrentPhase().end();
success = true;
}
@@ -1014,7 +1135,11 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
}
}
const species = this.genSpecies[this.getGenCursorWithScroll()][this.cursor];
- if (!isDupe && this.tryUpdateValue(this.scene.gameData.getSpeciesStarterValue(species.speciesId))) {
+
+ const isValidForChallenge = new Utils.BooleanHolder(true);
+ Challenge.applyChallenges(this.scene.gameMode, Challenge.ChallengeType.STARTER_CHOICE, species, isValidForChallenge, this.scene.gameData.getSpeciesDexAttrProps(species, this.dexAttrCursor), this.starterGens.length);
+
+ if (!isDupe && isValidForChallenge.value && this.tryUpdateValue(this.scene.gameData.getSpeciesStarterValue(species.speciesId))) {
const cursorObj = this.starterCursorObjs[this.starterCursors.length];
cursorObj.setVisible(true);
cursorObj.setPosition(this.cursorObj.x, this.cursorObj.y);
@@ -1035,6 +1160,16 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
this.tryStart();
}
this.updateInstructions();
+
+ /**
+ * If the user can't select a pokemon anymore,
+ * go to start button.
+ */
+ if (!this.canAddParty) {
+ this.startCursorObj.setVisible(true);
+ this.setGenMode(true);
+ }
+
ui.playSelect();
} else {
ui.playError();
@@ -1056,6 +1191,8 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
const showSwapOptions = (moveset: StarterMoveset) => {
ui.setMode(Mode.STARTER_SELECT).then(() => {
ui.showText(i18next.t("starterSelectUiHandler:selectMoveSwapOut"), null, () => {
+ this.moveInfoOverlay.show(allMoves[moveset[0]]);
+
ui.setModeWithoutClear(Mode.OPTION_SELECT, {
options: moveset.map((m: Moves, i: number) => {
const option: OptionSelectItem = {
@@ -1063,8 +1200,11 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
handler: () => {
ui.setMode(Mode.STARTER_SELECT).then(() => {
ui.showText(`${i18next.t("starterSelectUiHandler:selectMoveSwapWith")} ${allMoves[m].name}.`, null, () => {
+ const possibleMoves = this.speciesStarterMoves.filter((sm: Moves) => sm !== m);
+ this.moveInfoOverlay.show(allMoves[possibleMoves[0]]);
+
ui.setModeWithoutClear(Mode.OPTION_SELECT, {
- options: this.speciesStarterMoves.filter((sm: Moves) => sm !== m).map(sm => {
+ options: possibleMoves.map(sm => {
// make an option for each available starter move
const option = {
label: allMoves[sm].name,
@@ -1072,7 +1212,10 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
this.switchMoveHandler(i, sm, m);
showSwapOptions(this.starterMoveset);
return true;
- }
+ },
+ onHover: () => {
+ this.moveInfoOverlay.show(allMoves[sm]);
+ },
};
return option;
}).concat({
@@ -1080,14 +1223,75 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
handler: () => {
showSwapOptions(this.starterMoveset);
return true;
- }
+ },
+ onHover: () => {
+ this.moveInfoOverlay.clear();
+ },
}),
+ supportHover: true,
maxOptions: 8,
yOffset: 19
});
});
});
return true;
+ },
+ onHover: () => {
+ this.moveInfoOverlay.show(allMoves[m]);
+ },
+ };
+ return option;
+ }).concat({
+ label: i18next.t("menu:cancel"),
+ handler: () => {
+ this.moveInfoOverlay.clear();
+ this.clearText();
+ ui.setMode(Mode.STARTER_SELECT);
+ return true;
+ },
+ onHover: () => {
+ this.moveInfoOverlay.clear();
+ },
+ }),
+ supportHover: true,
+ maxOptions: 8,
+ yOffset: 19
+ });
+ });
+ });
+ };
+ options.push({
+ label: i18next.t("starterSelectUiHandler:manageMoves"),
+ handler: () => {
+ showSwapOptions(this.starterMoveset);
+ return true;
+ }
+ });
+ }
+ const starterData = this.scene.gameData.starterData[this.lastSpecies.speciesId];
+ let starterAttributes = this.starterPreferences[this.lastSpecies.speciesId];
+ if (this.canCycleNature) {
+ // if we could cycle natures, enable the improved nature menu
+ const showNatureOptions = () => {
+ ui.setMode(Mode.STARTER_SELECT).then(() => {
+ ui.showText(i18next.t("starterSelectUiHandler:selectNature"), null, () => {
+ const natures = this.scene.gameData.getNaturesForAttr(this.speciesStarterDexEntry.natureAttr);
+ ui.setModeWithoutClear(Mode.OPTION_SELECT, {
+ options: natures.map((n: Nature, i: number) => {
+ const option: OptionSelectItem = {
+ label: getNatureName(n, true, true, true, this.scene.uiTheme),
+ handler: () => {
+ // update default nature in starter save data
+ if (!starterAttributes) {
+ starterAttributes=
+ this.starterPreferences[this.lastSpecies.speciesId] = {};
+ }
+ starterAttributes.nature = n as unknown as integer;
+ this.clearText();
+ ui.setMode(Mode.STARTER_SELECT);
+ // set nature for starter
+ this.setSpeciesDetails(this.lastSpecies, undefined, undefined, undefined, undefined, undefined, n, undefined);
+ return true;
}
};
return option;
@@ -1106,14 +1310,13 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
});
};
options.push({
- label: i18next.t("starterSelectUiHandler:manageMoves"),
+ label: i18next.t("starterSelectUiHandler:manageNature"),
handler: () => {
- showSwapOptions(this.starterMoveset);
+ showNatureOptions();
return true;
}
});
}
- const starterData = this.scene.gameData.starterData[this.lastSpecies.speciesId];
const candyCount = starterData.candyCount;
const passiveAttr = starterData.passiveAttr;
if (passiveAttr & PassiveAttr.UNLOCKED) {
@@ -1146,9 +1349,11 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
options.push({
label: `x${passiveCost} ${i18next.t("starterSelectUiHandler:unlockPassive")} (${allAbilities[starterPassiveAbilities[this.lastSpecies.speciesId]].name})`,
handler: () => {
- if (candyCount >= passiveCost) {
+ if (Overrides.FREE_CANDY_UPGRADE_OVERRIDE || candyCount >= passiveCost) {
starterData.passiveAttr |= PassiveAttr.UNLOCKED | PassiveAttr.ENABLED;
- starterData.candyCount -= passiveCost;
+ if (!Overrides.FREE_CANDY_UPGRADE_OVERRIDE) {
+ starterData.candyCount -= passiveCost;
+ }
this.pokemonCandyCountText.setText(`x${starterData.candyCount}`);
this.scene.gameData.saveSystem().then(success => {
if (!success) {
@@ -1181,9 +1386,11 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
options.push({
label: `x${reductionCost} ${i18next.t("starterSelectUiHandler:reduceCost")}`,
handler: () => {
- if (candyCount >= reductionCost) {
+ if (Overrides.FREE_CANDY_UPGRADE_OVERRIDE || candyCount >= reductionCost) {
starterData.valueReduction++;
- starterData.candyCount -= reductionCost;
+ if (!Overrides.FREE_CANDY_UPGRADE_OVERRIDE) {
+ starterData.candyCount -= reductionCost;
+ }
this.pokemonCandyCountText.setText(`x${starterData.candyCount}`);
this.scene.gameData.saveSystem().then(success => {
if (!success) {
@@ -1214,6 +1421,49 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
itemArgs: starterColors[this.lastSpecies.speciesId]
});
}
+
+ // Same species egg menu option. Only visible if passive is bought
+ if (passiveAttr & PassiveAttr.UNLOCKED) {
+ const sameSpeciesEggCost = getSameSpeciesEggCandyCounts(speciesStarters[this.lastSpecies.speciesId]);
+ options.push({
+ label: `x${sameSpeciesEggCost} ${i18next.t("starterSelectUiHandler:sameSpeciesEgg")}`,
+ handler: () => {
+ if (this.scene.gameData.eggs.length < 99 && (Overrides.FREE_CANDY_UPGRADE_OVERRIDE || candyCount >= sameSpeciesEggCost)) {
+ if (!Overrides.FREE_CANDY_UPGRADE_OVERRIDE) {
+ starterData.candyCount -= sameSpeciesEggCost;
+ }
+ this.pokemonCandyCountText.setText(`x${starterData.candyCount}`);
+
+ const egg = new Egg({scene: this.scene, species: this.lastSpecies.speciesId, sourceType: EggSourceType.SAME_SPECIES_EGG});
+ egg.addEggToGameData(this.scene);
+
+ this.scene.gameData.saveSystem().then(success => {
+ if (!success) {
+ return this.scene.reset(true);
+ }
+ });
+ ui.setMode(Mode.STARTER_SELECT);
+ this.scene.playSound("buy");
+
+ // If the notification setting is set to 'On', update the candy upgrade display
+ // if (this.scene.candyUpgradeNotification === 2) {
+ // if (this.isUpgradeIconEnabled() ) {
+ // this.setUpgradeIcon(this.cursor);
+ // }
+ // if (this.isUpgradeAnimationEnabled()) {
+ // const genSpecies = this.genSpecies[this.lastSpecies.generation - 1];
+ // this.setUpgradeAnimation(this.starterSelectGenIconContainers[this.lastSpecies.generation - 1].getAt(genSpecies.indexOf(this.lastSpecies)), this.lastSpecies, true);
+ // }
+ // }
+
+ return true;
+ }
+ return false;
+ },
+ item: "candy",
+ itemArgs: starterColors[this.lastSpecies.speciesId]
+ });
+ }
options.push({
label: i18next.t("menu:cancel"),
handler: () => {
@@ -1253,13 +1503,26 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
const rows = Math.ceil(genStarters / 9);
const row = Math.floor(this.cursor / 9);
const props = this.scene.gameData.getSpeciesDexAttrProps(this.lastSpecies, this.dexAttrCursor);
+ // prepare persistent starter data to store changes
+ let starterAttributes = this.starterPreferences[this.lastSpecies.speciesId];
+ if (!starterAttributes) {
+ starterAttributes =
+ this.starterPreferences[this.lastSpecies.speciesId] = {};
+ }
switch (button) {
case Button.CYCLE_SHINY:
if (this.canCycleShiny) {
+ const newVariant = props.variant;
this.setSpeciesDetails(this.lastSpecies, !props.shiny, undefined, undefined, props.shiny ? 0 : undefined, undefined, undefined);
if (this.dexAttrCursor & DexAttr.SHINY) {
this.scene.playSound("sparkle");
+ // Set the variant label to the shiny tint
+ const tint = getVariantTint(newVariant);
+ this.pokemonShinyIcon.setFrame(getVariantIcon(newVariant));
+ this.pokemonShinyIcon.setTint(tint);
+ this.pokemonShinyIcon.setVisible(true);
} else {
+ this.pokemonShinyIcon.setVisible(false);
success = true;
}
}
@@ -1274,12 +1537,14 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
break;
}
} while (newFormIndex !== props.formIndex);
+ starterAttributes.form = newFormIndex; // store the selected form
this.setSpeciesDetails(this.lastSpecies, undefined, newFormIndex, undefined, undefined, undefined, undefined);
success = true;
}
break;
case Button.CYCLE_GENDER:
if (this.canCycleGender) {
+ starterAttributes.female = !props.female;
this.setSpeciesDetails(this.lastSpecies, undefined, undefined, !props.female, undefined, undefined, undefined);
success = true;
}
@@ -1305,6 +1570,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
}
}
} while (newAbilityIndex !== this.abilityCursor);
+ starterAttributes.ability = newAbilityIndex; // store the selected ability
this.setSpeciesDetails(this.lastSpecies, undefined, undefined, undefined, undefined, newAbilityIndex, undefined);
success = true;
}
@@ -1314,6 +1580,8 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
const natures = this.scene.gameData.getNaturesForAttr(this.speciesStarterDexEntry.natureAttr);
const natureIndex = natures.indexOf(this.natureCursor);
const newNature = natures[natureIndex < natures.length - 1 ? natureIndex + 1 : 0];
+ // store cycled nature as default
+ starterAttributes.nature = newNature as unknown as integer;
this.setSpeciesDetails(this.lastSpecies, undefined, undefined, undefined, undefined, undefined, newNature, undefined);
success = true;
}
@@ -1338,6 +1606,10 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
}
} while (newVariant !== props.variant);
this.setSpeciesDetails(this.lastSpecies, undefined, undefined, undefined, newVariant, undefined, undefined);
+ // Cycle tint based on current sprite tint
+ const tint = getVariantTint(newVariant);
+ this.pokemonShinyIcon.setFrame(getVariantIcon(newVariant));
+ this.pokemonShinyIcon.setTint(tint);
success = true;
}
break;
@@ -1434,55 +1706,98 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
this.setSpeciesDetails(this.lastSpecies, undefined, undefined, undefined, undefined, undefined, undefined, false);
}
+ updateButtonIcon(iconSetting, gamepadType, iconElement, controlLabel): void {
+ let iconPath;
+ // touch controls cannot be rebound as is, and are just emulating a keyboard event.
+ // Additionally, since keyboard controls can be rebound (and will be displayed when they are), we need to have special handling for the touch controls
+ if (gamepadType === "touch") {
+ gamepadType = "keyboard";
+ switch (iconSetting) {
+ case SettingKeyboard.Button_Cycle_Shiny:
+ iconPath = "R.png";
+ break;
+ case SettingKeyboard.Button_Cycle_Form:
+ iconPath = "F.png";
+ break;
+ case SettingKeyboard.Button_Cycle_Gender:
+ iconPath = "G.png";
+ break;
+ case SettingKeyboard.Button_Cycle_Ability:
+ iconPath = "E.png";
+ break;
+ case SettingKeyboard.Button_Cycle_Nature:
+ iconPath = "N.png";
+ break;
+ case SettingKeyboard.Button_Cycle_Variant:
+ iconPath = "V.png";
+ break;
+ default:
+ break;
+ }
+ } else {
+ iconPath = this.scene.inputController?.getIconForLatestInputRecorded(iconSetting);
+ }
+ iconElement.setTexture(gamepadType, iconPath);
+ iconElement.setPosition(this.instructionRowX, this.instructionRowY);
+ controlLabel.setPosition(this.instructionRowX + this.instructionRowTextOffset, this.instructionRowY);
+ iconElement.setVisible(true);
+ controlLabel.setVisible(true);
+ this.instructionsContainer.add([iconElement, controlLabel]);
+ this.instructionRowY += 8;
+ if (this.instructionRowY >= 24) {
+ this.instructionRowY = 0;
+ this.instructionRowX += 50;
+ }
+ }
+
updateInstructions(): void {
- const instructionLines = [ ];
- const cycleInstructionLines = [];
+ this.instructionRowX = 0;
+ this.instructionRowY = 0;
+ this.hideInstructions();
+ this.instructionsContainer.removeAll();
+ let gamepadType;
+ if (this.scene.inputMethod === "gamepad") {
+ gamepadType = this.scene.inputController.getConfig(this.scene.inputController.selectedDevice[Device.GAMEPAD]).padType;
+ } else {
+ gamepadType = this.scene.inputMethod;
+ }
+
if (this.speciesStarterDexEntry?.caughtAttr) {
if (this.canCycleShiny) {
- cycleInstructionLines.push(i18next.t("starterSelectUiHandler:cycleShiny"));
+ this.updateButtonIcon(SettingKeyboard.Button_Cycle_Shiny, gamepadType, this.shinyIconElement, this.shinyLabel);
}
if (this.canCycleForm) {
- cycleInstructionLines.push(i18next.t("starterSelectUiHandler:cycleForm"));
+ this.updateButtonIcon(SettingKeyboard.Button_Cycle_Form, gamepadType, this.formIconElement, this.formLabel);
}
if (this.canCycleGender) {
- cycleInstructionLines.push(i18next.t("starterSelectUiHandler:cycleGender"));
+ this.updateButtonIcon(SettingKeyboard.Button_Cycle_Gender, gamepadType, this.genderIconElement, this.genderLabel);
}
if (this.canCycleAbility) {
- cycleInstructionLines.push(i18next.t("starterSelectUiHandler:cycleAbility"));
+ this.updateButtonIcon(SettingKeyboard.Button_Cycle_Ability, gamepadType, this.abilityIconElement, this.abilityLabel);
}
if (this.canCycleNature) {
- cycleInstructionLines.push(i18next.t("starterSelectUiHandler:cycleNature"));
+ this.updateButtonIcon(SettingKeyboard.Button_Cycle_Nature, gamepadType, this.natureIconElement, this.natureLabel);
}
if (this.canCycleVariant) {
- cycleInstructionLines.push(i18next.t("starterSelectUiHandler:cycleVariant"));
+ this.updateButtonIcon(SettingKeyboard.Button_Cycle_Variant, gamepadType, this.variantIconElement, this.variantLabel);
}
}
-
- if (cycleInstructionLines.length > 2) {
- cycleInstructionLines[0] += " | " + cycleInstructionLines.splice(1, 1);
- if (cycleInstructionLines.length > 2) {
- cycleInstructionLines[1] += " | " + cycleInstructionLines.splice(2, 1);
- }
- if (cycleInstructionLines.length > 2) {
- cycleInstructionLines[2] += " | " + cycleInstructionLines.splice(3, 1);
- }
- }
-
- for (const cil of cycleInstructionLines) {
- instructionLines.push(cil);
- }
-
- this.instructionsText.setText(instructionLines.join("\n"));
}
getValueLimit(): integer {
- switch (this.gameMode) {
+ const valueLimit = new Utils.IntegerHolder(0);
+ switch (this.scene.gameMode.modeId) {
case GameModes.ENDLESS:
case GameModes.SPLICED_ENDLESS:
- return 15;
+ valueLimit.value = 15;
+ break;
default:
- return 10;
+ valueLimit.value = 10;
}
+
+ Challenge.applyChallenges(this.scene.gameMode, Challenge.ChallengeType.STARTER_POINTS, valueLimit);
+
+ return valueLimit.value;
}
setCursor(cursor: integer): boolean {
@@ -1564,8 +1879,15 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
this.cursorObj.setPosition(150 + 18 * (cursor % 9), 10 + 18 * Math.floor(cursor / 9));
- this.setSpecies(this.genSpecies[this.getGenCursorWithScroll()][cursor]);
+ const species = this.genSpecies[this.getGenCursorWithScroll()][cursor];
+ const defaultDexAttr = this.scene.gameData.getSpeciesDefaultDexAttr(species, false, true);
+ const defaultProps = this.scene.gameData.getSpeciesDexAttrProps(species, defaultDexAttr);
+ const variant = defaultProps.variant;
+ const tint = getVariantTint(variant);
+ this.pokemonShinyIcon.setFrame(getVariantIcon(variant));
+ this.pokemonShinyIcon.setTint(tint);
+ this.setSpecies(species);
this.updateInstructions();
}
@@ -1612,12 +1934,68 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
return false;
}
+
+
setSpecies(species: PokemonSpecies) {
this.speciesStarterDexEntry = species ? this.scene.gameData.dexData[species.speciesId] : null;
this.dexAttrCursor = species ? this.scene.gameData.getSpeciesDefaultDexAttr(species, false, true) : 0n;
this.abilityCursor = species ? this.scene.gameData.getStarterSpeciesDefaultAbilityIndex(species) : 0;
this.natureCursor = species ? this.scene.gameData.getSpeciesDefaultNature(species) : 0;
+ const starterAttributes : StarterAttributes = species ? {...this.starterPreferences[species.speciesId]} : null;
+ // validate starterAttributes
+ if (starterAttributes) {
+ // this may cause changes so we created a copy of the attributes before
+ if (!isNaN(starterAttributes.variant)) {
+ if (![
+ this.speciesStarterDexEntry.caughtAttr & DexAttr.NON_SHINY,
+ this.speciesStarterDexEntry.caughtAttr & DexAttr.DEFAULT_VARIANT,
+ this.speciesStarterDexEntry.caughtAttr & DexAttr.VARIANT_2,
+ this.speciesStarterDexEntry.caughtAttr & DexAttr.VARIANT_3
+ ][starterAttributes.variant+1]) { // add 1 as -1 = non-shiny
+ // requested variant wasn't unlocked, purging setting
+ delete starterAttributes.variant;
+ }
+ }
+
+ if (typeof starterAttributes.female !== "boolean" || !(starterAttributes.female ?
+ this.speciesStarterDexEntry.caughtAttr & DexAttr.FEMALE :
+ this.speciesStarterDexEntry.caughtAttr & DexAttr.MALE
+ )) {
+ // requested gender wasn't unlocked, purging setting
+ delete starterAttributes.female;
+ }
+
+ const abilityAttr = this.scene.gameData.starterData[species.speciesId].abilityAttr;
+ if (![
+ abilityAttr & AbilityAttr.ABILITY_1,
+ species.ability2 ? (abilityAttr & AbilityAttr.ABILITY_2) : abilityAttr & AbilityAttr.ABILITY_HIDDEN,
+ species.ability2 && abilityAttr & AbilityAttr.ABILITY_HIDDEN
+ ][starterAttributes.ability]) {
+ // requested ability wasn't unlocked, purging setting
+ delete starterAttributes.ability;
+ }
+
+ if (!(species.forms[starterAttributes.form]?.isStarterSelectable && this.speciesStarterDexEntry.caughtAttr & this.scene.gameData.getFormAttr(starterAttributes.form))) {
+ // requested form wasn't unlocked/isn't a starter form, purging setting
+ delete starterAttributes.form;
+ }
+
+ if (this.scene.gameData.getNaturesForAttr(this.speciesStarterDexEntry.natureAttr).indexOf(starterAttributes.nature as unknown as Nature) < 0) {
+ // requested nature wasn't unlocked, purging setting
+ delete starterAttributes.nature;
+ }
+ }
+
+ if (starterAttributes?.nature) {
+ // load default nature from stater save data, if set
+ this.natureCursor = starterAttributes.nature;
+ }
+ if (!isNaN(starterAttributes?.ability)) {
+ // load default nature from stater save data, if set
+ this.abilityCursor = starterAttributes.ability;
+ }
+
if (this.statsMode) {
if (this.speciesStarterDexEntry?.caughtAttr) {
this.statsContainer.setVisible(true);
@@ -1656,6 +2034,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
this.pokemonLuckText.setText(luck.toString());
this.pokemonLuckText.setTint(getVariantTint(Math.min(luck - 1, 2) as Variant));
this.pokemonLuckLabelText.setVisible(this.pokemonLuckText.visible);
+ this.pokemonShinyIcon.setVisible(this.pokemonLuckText.visible);
//Growth translate
let growthReadable = Utils.toReadableString(GrowthRate[species.growthRate]);
@@ -1673,13 +2052,35 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
this.pokemonPassiveLabelText.setVisible(true);
this.pokemonNatureLabelText.setVisible(true);
this.pokemonCaughtCountText.setText(`${this.speciesStarterDexEntry.caughtCount}`);
+ if (species.speciesId === Species.MANAPHY || species.speciesId === Species.PHIONE) {
+ this.pokemonHatchedIcon.setFrame("manaphy");
+ } else {
+ this.pokemonHatchedIcon.setFrame(getEggTierForSpecies(species));
+ }
this.pokemonHatchedCountText.setText(`${this.speciesStarterDexEntry.hatchedCount}`);
+ const defaultDexAttr = this.scene.gameData.getSpeciesDefaultDexAttr(species, false, true);
+ const defaultProps = this.scene.gameData.getSpeciesDexAttrProps(species, defaultDexAttr);
+ const variant = defaultProps.variant;
+ const tint = getVariantTint(variant);
+ this.pokemonShinyIcon.setFrame(getVariantIcon(variant));
+ this.pokemonShinyIcon.setTint(tint);
this.pokemonCaughtHatchedContainer.setVisible(true);
if (pokemonPrevolutions.hasOwnProperty(species.speciesId)) {
this.pokemonCaughtHatchedContainer.setY(16);
- [ this.pokemonCandyIcon, this.pokemonCandyOverlayIcon, this.pokemonCandyDarknessOverlay, this.pokemonCandyCountText ].map(c => c.setVisible(false));
+ this.pokemonShinyIcon.setY(135);
+ this.pokemonShinyIcon.setFrame(getVariantIcon(variant));
+ [
+ this.pokemonCandyIcon,
+ this.pokemonCandyOverlayIcon,
+ this.pokemonCandyDarknessOverlay,
+ this.pokemonCandyCountText,
+ this.pokemonHatchedIcon,
+ this.pokemonHatchedCountText
+ ].map(c => c.setVisible(false));
+ this.pokemonFormText.setY(25);
} else {
this.pokemonCaughtHatchedContainer.setY(25);
+ this.pokemonShinyIcon.setY(117);
this.pokemonCandyIcon.setTint(argbFromRgba(Utils.rgbHexToRgba(colorScheme[0])));
this.pokemonCandyIcon.setVisible(true);
this.pokemonCandyOverlayIcon.setTint(argbFromRgba(Utils.rgbHexToRgba(colorScheme[1])));
@@ -1688,6 +2089,9 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
this.pokemonCandyCountText.setText(`x${this.scene.gameData.starterData[species.speciesId].candyCount}`);
this.pokemonCandyCountText.setVisible(true);
this.pokemonFormText.setVisible(true);
+ this.pokemonFormText.setY(42);
+ this.pokemonHatchedIcon.setVisible(true);
+ this.pokemonHatchedCountText.setVisible(true);
let currentFriendship = this.scene.gameData.starterData[this.lastSpecies.speciesId].friendship;
if (!currentFriendship || currentFriendship === undefined) {
@@ -1739,9 +2143,17 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
this.setSpeciesDetails(species, props.shiny, props.formIndex, props.female, props.variant, this.starterAbilityIndexes[starterIndex], this.starterNatures[starterIndex]);
} else {
const defaultDexAttr = this.scene.gameData.getSpeciesDefaultDexAttr(species, false, true);
- const defaultAbilityIndex = this.scene.gameData.getStarterSpeciesDefaultAbilityIndex(species);
- const defaultNature = this.scene.gameData.getSpeciesDefaultNature(species);
+ const defaultAbilityIndex = starterAttributes?.ability ?? this.scene.gameData.getStarterSpeciesDefaultAbilityIndex(species);
+ // load default nature from stater save data, if set
+ const defaultNature = starterAttributes?.nature || this.scene.gameData.getSpeciesDefaultNature(species);
props = this.scene.gameData.getSpeciesDexAttrProps(species, defaultDexAttr);
+ if (!isNaN(starterAttributes?.variant)) {
+ if (props.shiny = (starterAttributes.variant >= 0)) {
+ props.variant = starterAttributes.variant as Variant;
+ }
+ }
+ props.formIndex = starterAttributes?.form ?? props.formIndex;
+ props.female = starterAttributes?.female ?? props.female;
this.setSpeciesDetails(species, props.shiny, props.formIndex, props.female, props.variant, defaultAbilityIndex, defaultNature);
}
@@ -1760,6 +2172,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
this.type2Icon.setVisible(false);
this.pokemonLuckLabelText.setVisible(false);
this.pokemonLuckText.setVisible(false);
+ this.pokemonShinyIcon.setVisible(false);
this.pokemonUncaughtText.setVisible(true);
this.pokemonAbilityLabelText.setVisible(false);
this.pokemonPassiveLabelText.setVisible(false);
@@ -1788,6 +2201,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
this.type2Icon.setVisible(false);
this.pokemonLuckLabelText.setVisible(false);
this.pokemonLuckText.setVisible(false);
+ this.pokemonShinyIcon.setVisible(false);
this.pokemonUncaughtText.setVisible(!!species);
this.pokemonAbilityLabelText.setVisible(false);
this.pokemonPassiveLabelText.setVisible(false);
@@ -1804,6 +2218,8 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
}
}
+
+
setSpeciesDetails(species: PokemonSpecies, shiny: boolean, formIndex: integer, female: boolean, variant: Variant, abilityIndex: integer, natureIndex: integer, forSeen: boolean = false): void {
const oldProps = species ? this.scene.gameData.getSpeciesDexAttrProps(species, this.dexAttrCursor) : null;
const oldAbilityIndex = this.abilityCursor > -1 ? this.abilityCursor : this.scene.gameData.getStarterSpeciesDefaultAbilityIndex(species);
@@ -1904,8 +2320,12 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
this.pokemonSprite.setVisible(!this.statsMode);
});
- (this.starterSelectGenIconContainers[this.getGenCursorWithScroll()].getAt(this.cursor) as Phaser.GameObjects.Sprite)
- .setTexture(species.getIconAtlasKey(formIndex, shiny, variant), species.getIconId(female, formIndex, shiny, variant));
+
+ const isValidForChallenge = new Utils.BooleanHolder(true);
+ Challenge.applyChallenges(this.scene.gameMode, Challenge.ChallengeType.STARTER_CHOICE, species, isValidForChallenge, this.scene.gameData.getSpeciesDexAttrProps(species, this.dexAttrCursor), this.starterGens.length);
+ const starterSprite = this.starterSelectGenIconContainers[this.getGenCursorWithScroll()].getAt(this.cursor) as Phaser.GameObjects.Sprite;
+ starterSprite.setTexture(species.getIconAtlasKey(formIndex, shiny, variant), species.getIconId(female, formIndex, shiny, variant));
+ starterSprite.setAlpha(isValidForChallenge.value ? 1 : 0.375);
this.checkIconId((this.starterSelectGenIconContainers[this.getGenCursorWithScroll()].getAt(this.cursor) as Phaser.GameObjects.Sprite), species, female, formIndex, shiny, variant);
this.canCycleShiny = !!(dexEntry.caughtAttr & DexAttr.NON_SHINY && dexEntry.caughtAttr & DexAttr.SHINY);
this.canCycleGender = !!(dexEntry.caughtAttr & DexAttr.MALE && dexEntry.caughtAttr & DexAttr.FEMALE);
@@ -1946,7 +2366,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
} else {
levelMoves = pokemonSpeciesLevelMoves[species.speciesId];
}
- this.speciesStarterMoves.push(...levelMoves.filter(lm => lm[0] <= 5).map(lm => lm[1]));
+ this.speciesStarterMoves.push(...levelMoves.filter(lm => lm[0] > 0 && lm[0] <= 5).map(lm => lm[1]));
if (speciesEggMoves.hasOwnProperty(species.speciesId)) {
for (let em = 0; em < 4; em++) {
if (this.scene.gameData.starterData[species.speciesId].eggMoves & Math.pow(2, em)) {
@@ -2099,11 +2519,48 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
this.scene.time.delayedCall(Utils.fixedInt(500), () => this.tryUpdateValue());
return false;
}
+
+ /**
+ * this loop is used to set the Sprite's alpha value and check if the user can select other pokemon more.
+ */
+ this.canAddParty = false;
+ const remainValue = valueLimit - newValue;
for (let g = 0; g < this.genSpecies.length; g++) {
for (let s = 0; s < this.genSpecies[g].length; s++) {
- (this.starterSelectGenIconContainers[g].getAt(s) as Phaser.GameObjects.Sprite).setAlpha((newValue + this.scene.gameData.getSpeciesStarterValue(this.genSpecies[g][s].speciesId)) > valueLimit ? 0.375 : 1);
+ /** Cost of pokemon species */
+ const speciesStarterValue = this.scene.gameData.getSpeciesStarterValue(this.genSpecies[g][s].speciesId);
+ /** Used to detect if this pokemon is registered in starter */
+ const speciesStarterDexEntry = this.scene.gameData.dexData[this.genSpecies[g][s].speciesId];
+ /** {@linkcode Phaser.GameObjects.Sprite} object of Pokémon for setting the alpha value */
+ const speciesSprite = this.starterSelectGenIconContainers[g].getAt(s) as Phaser.GameObjects.Sprite;
+
+ /**
+ * If remainValue greater than or equal pokemon species and the pokemon is legal for this challenge, the user can select.
+ * so that the alpha value of pokemon sprite set 1.
+ *
+ * If speciesStarterDexEntry?.caughtAttr is true, this species registered in stater.
+ * we change to can AddParty value to true since the user has enough cost to choose this pokemon and this pokemon registered too.
+ */
+ const isValidForChallenge = new Utils.BooleanHolder(true);
+ Challenge.applyChallenges(this.scene.gameMode, Challenge.ChallengeType.STARTER_CHOICE, this.genSpecies[g][s], isValidForChallenge, this.scene.gameData.getSpeciesDexAttrProps(this.genSpecies[g][s], this.scene.gameData.getSpeciesDefaultDexAttr(this.genSpecies[g][s], false, true)), this.starterGens.length + (add ? 1 : 0));
+
+ const canBeChosen = remainValue >= speciesStarterValue && isValidForChallenge.value;
+
+ if (canBeChosen) {
+ speciesSprite.setAlpha(1);
+ if (speciesStarterDexEntry?.caughtAttr) {
+ this.canAddParty = true;
+ }
+ } else {
+ /**
+ * If it can't be chosen, the user can't select.
+ * so that the alpha value of pokemon sprite set 0.375.
+ */
+ speciesSprite.setAlpha(0.375);
+ }
}
}
+
this.value = newValue;
return true;
}
@@ -2125,8 +2582,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
ui.showText(i18next.t("starterSelectUiHandler:confirmStartTeam"), null, () => {
ui.setModeWithoutClear(Mode.CONFIRM, () => {
- const startRun = (gameMode: GameModes) => {
- this.scene.gameMode = gameModes[gameMode];
+ const startRun = () => {
this.scene.money = this.scene.gameMode.getStartingMoney();
ui.setMode(Mode.STARTER_SELECT);
const thisObj = this;
@@ -2145,7 +2601,7 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
};
}));
};
- startRun(this.gameMode);
+ startRun();
}, cancel, null, null, 19);
});
@@ -2183,9 +2639,27 @@ export default class StarterSelectUiHandler extends MessageUiHandler {
super.clearText();
}
+ hideInstructions(): void {
+ this.shinyIconElement.setVisible(false);
+ this.shinyLabel.setVisible(false);
+ this.formIconElement.setVisible(false);
+ this.formLabel.setVisible(false);
+ this.genderIconElement.setVisible(false);
+ this.genderLabel.setVisible(false);
+ this.abilityIconElement.setVisible(false);
+ this.abilityLabel.setVisible(false);
+ this.natureIconElement.setVisible(false);
+ this.natureLabel.setVisible(false);
+ this.variantIconElement.setVisible(false);
+ this.variantLabel.setVisible(false);
+ }
+
clear(): void {
super.clear();
+
+ StarterPrefs.save(this.starterPreferences);
this.cursor = -1;
+ this.hideInstructions();
this.starterSelectContainer.setVisible(false);
this.blockInput = false;
diff --git a/src/ui/stats-container.ts b/src/ui/stats-container.ts
index 6dccba18fa8..b4e799bafc0 100644
--- a/src/ui/stats-container.ts
+++ b/src/ui/stats-container.ts
@@ -4,7 +4,10 @@ import { Stat, getStatName } from "../data/pokemon-stat";
import { TextStyle, addBBCodeTextObject, addTextObject, getTextColor } from "./text";
const ivChartSize = 24;
-const ivChartStatCoordMultipliers = [ [ 0, -1 ], [ 0.825, -0.5 ], [ 0.825, 0.5 ], [ -0.825, -0.5 ], [ -0.825, 0.5 ], [ 0, 1 ] ];
+const ivChartStatCoordMultipliers = [[0, -1], [0.825, -0.5], [0.825, 0.5], [-0.825, -0.5], [-0.825, 0.5], [0, 1]];
+const speedLabelOffset = -3;
+const sideLabelOffset = 1;
+const ivLabelOffset = [0, sideLabelOffset, -sideLabelOffset, sideLabelOffset, -sideLabelOffset, speedLabelOffset];
const ivChartStatIndexes = [0,1,2,5,4,3]; // swap special attack and speed
const defaultIvChartData = new Array(12).fill(null).map(() => 0);
@@ -23,7 +26,7 @@ export class StatsContainer extends Phaser.GameObjects.Container {
}
setup() {
- this.setName("container-stats");
+ this.setName("stats");
const ivChartBgData = new Array(6).fill(null).map((_, i: integer) => [ ivChartSize * ivChartStatCoordMultipliers[ivChartStatIndexes[i]][0], ivChartSize * ivChartStatCoordMultipliers[ivChartStatIndexes[i]][1] ] ).flat();
const ivChartBg = this.scene.add.polygon(48, 44, ivChartBgData, 0xd8e0f0, 0.625);
@@ -51,7 +54,7 @@ export class StatsContainer extends Phaser.GameObjects.Container {
this.ivStatValueTexts = [];
new Array(6).fill(null).map((_, i: integer) => {
- const statLabel = addTextObject(this.scene, ivChartBg.x + (ivChartSize) * ivChartStatCoordMultipliers[i][0] * 1.325, ivChartBg.y + (ivChartSize) * ivChartStatCoordMultipliers[i][1] * 1.325 - 4, getStatName(i as Stat), TextStyle.TOOLTIP_CONTENT);
+ const statLabel = addTextObject(this.scene, ivChartBg.x + (ivChartSize) * ivChartStatCoordMultipliers[i][0] * 1.325, ivChartBg.y + (ivChartSize) * ivChartStatCoordMultipliers[i][1] * 1.325 - 4 + ivLabelOffset[i], getStatName(i as Stat), TextStyle.TOOLTIP_CONTENT);
statLabel.setOrigin(0.5);
this.ivStatValueTexts[i] = addBBCodeTextObject(this.scene, statLabel.x, statLabel.y + 8, "0", TextStyle.TOOLTIP_CONTENT);
@@ -66,6 +69,7 @@ export class StatsContainer extends Phaser.GameObjects.Container {
if (ivs) {
const ivChartData = new Array(6).fill(null).map((_, i) => [ (ivs[ivChartStatIndexes[i]] / 31) * ivChartSize * ivChartStatCoordMultipliers[ivChartStatIndexes[i]][0], (ivs[ivChartStatIndexes[i]] / 31) * ivChartSize * ivChartStatCoordMultipliers[ivChartStatIndexes[i]][1] ] ).flat();
const lastIvChartData = this.statsIvsCache || defaultIvChartData;
+ const perfectIVColor: string = getTextColor(TextStyle.SUMMARY_GOLD, false, (this.scene as BattleScene).uiTheme);
this.statsIvsCache = ivChartData.slice(0);
this.ivStatValueTexts.map((t: BBCodeText, i: integer) => {
@@ -73,7 +77,7 @@ export class StatsContainer extends Phaser.GameObjects.Container {
// Check to see if IVs are 31, if so change the text style to gold, otherwise leave them be.
if (ivs[i] === 31) {
- label += `[color=${getTextColor(TextStyle.SUMMARY_GOLD, false, (this.scene as BattleScene).uiTheme)}][shadow]${ivs[i].toString()}[/shadow][/color]`;
+ label += `[color=${perfectIVColor}][shadow]${ivs[i].toString()}[/shadow][/color]`;
} else {
label = ivs[i].toString();
}
@@ -87,6 +91,13 @@ export class StatsContainer extends Phaser.GameObjects.Container {
t.setText(`[shadow]${label}[/shadow]`);
});
+ const newColor = ivs.every(iv => iv === 31) ? parseInt(perfectIVColor.substr(1), 16) : 0x98d8a0;
+ const oldColor = this.ivChart.fillColor;
+ const interpolateColor = oldColor !== newColor ? [
+ Phaser.Display.Color.IntegerToColor(oldColor),
+ Phaser.Display.Color.IntegerToColor(newColor)
+ ] : null;
+
this.scene.tweens.addCounter({
from: 0,
to: 1,
@@ -95,6 +106,13 @@ export class StatsContainer extends Phaser.GameObjects.Container {
onUpdate: (tween: Phaser.Tweens.Tween) => {
const progress = tween.getValue();
const interpolatedData = ivChartData.map((v: number, i: integer) => v * progress + (lastIvChartData[i] * (1 - progress)));
+ if (interpolateColor) {
+ this.ivChart.setFillStyle(
+ Phaser.Display.Color.ValueToColor(
+ Phaser.Display.Color.Interpolate.ColorWithColor(interpolateColor[0], interpolateColor[1], 1, progress)
+ ).color,
+ 0.75);
+ }
this.ivChart.setTo(interpolatedData);
}
});
diff --git a/src/ui/summary-ui-handler.ts b/src/ui/summary-ui-handler.ts
index 1133e7a755c..ae94951bc4c 100644
--- a/src/ui/summary-ui-handler.ts
+++ b/src/ui/summary-ui-handler.ts
@@ -15,13 +15,15 @@ import { Stat, getStatName } from "../data/pokemon-stat";
import { PokemonHeldItemModifier } from "../modifier/modifier";
import { StatusEffect } from "../data/status-effect";
import { getBiomeName } from "../data/biomes";
-import { Nature, getNatureStatMultiplier } from "../data/nature";
+import { getNatureName, getNatureStatMultiplier } from "../data/nature";
import { loggedInUser } from "../account";
-import { PlayerGender } from "../system/game-data";
import { Variant, getVariantTint } from "#app/data/variant";
-import {Button} from "../enums/buttons";
+import {Button} from "#enums/buttons";
import { Ability } from "../data/ability.js";
import i18next from "i18next";
+import {modifierSortFunc} from "../modifier/modifier";
+import { PlayerGender } from "#enums/player-gender";
+
enum Page {
PROFILE,
@@ -343,9 +345,9 @@ export default class SummaryUiHandler extends UiHandler {
this.shinyIcon.setTint(getVariantTint(baseVariant));
if (this.shinyIcon.visible) {
const shinyDescriptor = doubleShiny || baseVariant ?
- `${baseVariant === 2 ? "Epic" : baseVariant === 1 ? "Rare" : "Common"}${doubleShiny ? `/${this.pokemon.fusionVariant === 2 ? "Epic" : this.pokemon.fusionVariant === 1 ? "Rare" : "Common"}` : ""}`
+ `${baseVariant === 2 ? i18next.t("common:epicShiny") : baseVariant === 1 ? i18next.t("common:rareShiny") : i18next.t("common:commonShiny")}${doubleShiny ? `/${this.pokemon.fusionVariant === 2 ? i18next.t("common:epicShiny") : this.pokemon.fusionVariant === 1 ? i18next.t("common:rareShiny") : i18next.t("common:commonShiny")}` : ""}`
: "";
- this.shinyIcon.on("pointerover", () => (this.scene as BattleScene).ui.showTooltip(null, `Shiny${shinyDescriptor ? ` (${shinyDescriptor})` : ""}`, true));
+ this.shinyIcon.on("pointerover", () => (this.scene as BattleScene).ui.showTooltip(null, `${i18next.t("common:shinyOnHover")}${shinyDescriptor ? ` (${shinyDescriptor})` : ""}`, true));
this.shinyIcon.on("pointerout", () => (this.scene as BattleScene).ui.hideTooltip());
}
@@ -715,7 +717,7 @@ export default class SummaryUiHandler extends UiHandler {
}
if (this.pokemon.getLuck()) {
- const luckLabelText = addTextObject(this.scene, 141, 28, "Luck:", TextStyle.SUMMARY_ALT);
+ const luckLabelText = addTextObject(this.scene, 141, 28, i18next.t("common:luckIndicator"), TextStyle.SUMMARY_ALT);
luckLabelText.setOrigin(0, 0);
profileContainer.add(luckLabelText);
@@ -794,7 +796,7 @@ export default class SummaryUiHandler extends UiHandler {
this.passiveContainer?.nameText.setVisible(false);
this.passiveContainer?.descriptionText.setVisible(false);
- const memoString = `${getBBCodeFrag(Utils.toReadableString(Nature[this.pokemon.getNature()]), TextStyle.SUMMARY_RED)}${getBBCodeFrag(" nature,", TextStyle.WINDOW_ALT)}\n${getBBCodeFrag(`${this.pokemon.metBiome === -1 ? "apparently " : ""}met at Lv`, TextStyle.WINDOW_ALT)}${getBBCodeFrag(this.pokemon.metLevel.toString(), TextStyle.SUMMARY_RED)}${getBBCodeFrag(",", TextStyle.WINDOW_ALT)}\n${getBBCodeFrag(getBiomeName(this.pokemon.metBiome), TextStyle.SUMMARY_RED)}${getBBCodeFrag(".", TextStyle.WINDOW_ALT)}`;
+ const memoString = `${getBBCodeFrag(Utils.toReadableString(getNatureName(this.pokemon.getNature())), TextStyle.SUMMARY_RED)}${getBBCodeFrag(" nature,", TextStyle.WINDOW_ALT)}\n${getBBCodeFrag(`${this.pokemon.metBiome === -1 ? "apparently " : ""}met at Lv`, TextStyle.WINDOW_ALT)}${getBBCodeFrag(this.pokemon.metLevel.toString(), TextStyle.SUMMARY_RED)}${getBBCodeFrag(",", TextStyle.WINDOW_ALT)}\n${getBBCodeFrag(getBiomeName(this.pokemon.metBiome), TextStyle.SUMMARY_RED)}${getBBCodeFrag(".", TextStyle.WINDOW_ALT)}`;
const memoText = addBBCodeTextObject(this.scene, 7, 113, memoString, TextStyle.WINDOW_ALT);
memoText.setOrigin(0, 0);
@@ -828,8 +830,9 @@ export default class SummaryUiHandler extends UiHandler {
statsContainer.add(statValue);
});
- const itemModifiers = this.scene.findModifiers(m => m instanceof PokemonHeldItemModifier
- && (m as PokemonHeldItemModifier).pokemonId === this.pokemon.id, true) as PokemonHeldItemModifier[];
+ const itemModifiers = (this.scene.findModifiers(m => m instanceof PokemonHeldItemModifier
+ && (m as PokemonHeldItemModifier).pokemonId === this.pokemon.id, true) as PokemonHeldItemModifier[])
+ .sort(modifierSortFunc);
itemModifiers.forEach((item, i) => {
const icon = item.getIcon(this.scene, true);
diff --git a/src/ui/target-select-ui-handler.ts b/src/ui/target-select-ui-handler.ts
index c69284fe64e..772500e8901 100644
--- a/src/ui/target-select-ui-handler.ts
+++ b/src/ui/target-select-ui-handler.ts
@@ -1,11 +1,11 @@
import { BattlerIndex } from "../battle";
import BattleScene from "../battle-scene";
-import { Moves } from "../data/enums/moves";
import { Mode } from "./ui";
import UiHandler from "./ui-handler";
import * as Utils from "../utils";
import { getMoveTargets } from "../data/move";
-import {Button} from "../enums/buttons";
+import {Button} from "#enums/buttons";
+import { Moves } from "#enums/moves";
export type TargetSelectCallback = (cursor: integer) => void;
diff --git a/src/ui/text.ts b/src/ui/text.ts
index 56e1b492dfa..2a12e883deb 100644
--- a/src/ui/text.ts
+++ b/src/ui/text.ts
@@ -1,9 +1,9 @@
-import i18next from "i18next";
+import { EggTier } from "#enums/egg-type";
+import { UiTheme } from "#enums/ui-theme";
+import Phaser from "phaser";
import BBCodeText from "phaser3-rex-plugins/plugins/gameobjects/tagtext/bbcodetext/BBCodeText";
import InputText from "phaser3-rex-plugins/plugins/inputtext";
import BattleScene from "../battle-scene";
-import { EggTier } from "../data/enums/egg-type";
-import { UiTheme } from "../enums/ui-theme";
import { ModifierTier } from "../modifier/modifier-tier";
export enum TextStyle {
@@ -29,33 +29,20 @@ export enum TextStyle {
SETTINGS_LOCKED,
TOOLTIP_TITLE,
TOOLTIP_CONTENT,
- MOVE_INFO_CONTENT
+ MOVE_INFO_CONTENT,
+ MOVE_PP_FULL,
+ MOVE_PP_HALF_FULL,
+ MOVE_PP_NEAR_EMPTY,
+ MOVE_PP_EMPTY,
+ SMALLER_WINDOW_ALT,
+ BGM_BAR
}
-interface LanguageSetting {
- summaryFontSize?: string,
- battleInfoFontSize?: string,
- partyFontSize?: string,
- tooltipContentFontSize?: string,
- moveInfoFontSize?: string,
- textScale?: number
-}
-
-const languageSettings: { [key: string]: LanguageSetting } = {
- "en":{},
- "de":{},
- "es":{},
- "fr":{},
- "it":{},
- "pt_BR":{},
- "zh_CN":{},
-};
-
export function addTextObject(scene: Phaser.Scene, x: number, y: number, content: string, style: TextStyle, extraStyleOptions?: Phaser.Types.GameObjects.Text.TextStyle): Phaser.GameObjects.Text {
- const [ styleOptions, shadowColor, shadowXpos, shadowYpos ] = getTextStyleOptions(style, (scene as BattleScene).uiTheme, extraStyleOptions);
+ const [ scale, styleOptions, shadowColor, shadowXpos, shadowYpos ] = getTextStyleOptions(style, (scene as BattleScene).uiTheme, extraStyleOptions);
const ret = scene.add.text(x, y, content, styleOptions);
- ret.setScale(0.1666666667);
+ ret.setScale(scale);
ret.setShadow(shadowXpos, shadowYpos, shadowColor);
if (!(styleOptions as Phaser.Types.GameObjects.Text.TextStyle).lineSpacing) {
ret.setLineSpacing(5);
@@ -65,8 +52,8 @@ export function addTextObject(scene: Phaser.Scene, x: number, y: number, content
}
export function setTextStyle(obj: Phaser.GameObjects.Text, scene: Phaser.Scene, style: TextStyle, extraStyleOptions?: Phaser.Types.GameObjects.Text.TextStyle) {
- const [ styleOptions, shadowColor, shadowXpos, shadowYpos ] = getTextStyleOptions(style, (scene as BattleScene).uiTheme, extraStyleOptions);
- obj.setScale(0.1666666667);
+ const [ scale, styleOptions, shadowColor, shadowXpos, shadowYpos ] = getTextStyleOptions(style, (scene as BattleScene).uiTheme, extraStyleOptions);
+ obj.setScale(scale);
obj.setShadow(shadowXpos, shadowYpos, shadowColor);
if (!(styleOptions as Phaser.Types.GameObjects.Text.TextStyle).lineSpacing) {
obj.setLineSpacing(5);
@@ -74,11 +61,11 @@ export function setTextStyle(obj: Phaser.GameObjects.Text, scene: Phaser.Scene,
}
export function addBBCodeTextObject(scene: Phaser.Scene, x: number, y: number, content: string, style: TextStyle, extraStyleOptions?: Phaser.Types.GameObjects.Text.TextStyle): BBCodeText {
- const [ styleOptions, shadowColor, shadowXpos, shadowYpos ] = getTextStyleOptions(style, (scene as BattleScene).uiTheme, extraStyleOptions);
+ const [ scale, styleOptions, shadowColor, shadowXpos, shadowYpos ] = getTextStyleOptions(style, (scene as BattleScene).uiTheme, extraStyleOptions);
const ret = new BBCodeText(scene, x, y, content, styleOptions as BBCodeText.TextStyle);
scene.add.existing(ret);
- ret.setScale(0.1666666667);
+ ret.setScale(scale);
ret.setShadow(shadowXpos, shadowYpos, shadowColor);
if (!(styleOptions as BBCodeText.TextStyle).lineSpacing) {
ret.setLineSpacing(10);
@@ -88,23 +75,24 @@ export function addBBCodeTextObject(scene: Phaser.Scene, x: number, y: number, c
}
export function addTextInputObject(scene: Phaser.Scene, x: number, y: number, width: number, height: number, style: TextStyle, extraStyleOptions?: InputText.IConfig): InputText {
- const [ styleOptions ] = getTextStyleOptions(style, (scene as BattleScene).uiTheme, extraStyleOptions);
+ const [ scale, styleOptions ] = getTextStyleOptions(style, (scene as BattleScene).uiTheme, extraStyleOptions);
const ret = new InputText(scene, x, y, width, height, styleOptions as InputText.IConfig);
scene.add.existing(ret);
- ret.setScale(0.1666666667);
+ ret.setScale(scale);
return ret;
}
-function getTextStyleOptions(style: TextStyle, uiTheme: UiTheme, extraStyleOptions?: Phaser.Types.GameObjects.Text.TextStyle): [ Phaser.Types.GameObjects.Text.TextStyle | InputText.IConfig, string, number, number ] {
- const lang = i18next.resolvedLanguage;
+export function getTextStyleOptions(style: TextStyle, uiTheme: UiTheme, extraStyleOptions?: Phaser.Types.GameObjects.Text.TextStyle): [ number, Phaser.Types.GameObjects.Text.TextStyle | InputText.IConfig, string, number, number ] {
let shadowXpos = 4;
let shadowYpos = 5;
+ const scale = 0.1666666667;
+ const defaultFontSize = 96;
let styleOptions: Phaser.Types.GameObjects.Text.TextStyle = {
fontFamily: "emerald",
- fontSize: "96px",
+ fontSize: 96,
color: getTextColor(style, false, uiTheme),
padding: {
bottom: 6
@@ -122,60 +110,45 @@ function getTextStyleOptions(style: TextStyle, uiTheme: UiTheme, extraStyleOptio
case TextStyle.SUMMARY_GREEN:
case TextStyle.WINDOW:
case TextStyle.WINDOW_ALT:
+ case TextStyle.STATS_VALUE:
shadowXpos = 3;
shadowYpos = 3;
break;
case TextStyle.STATS_LABEL:
- let fontSizeLabel = "96px";
- switch (lang) {
- case "de":
- fontSizeLabel = "80px";
- break;
- default:
- fontSizeLabel = "96px";
- break;
- }
- styleOptions.fontSize = fontSizeLabel;
- break;
- case TextStyle.STATS_VALUE:
- shadowXpos = 3;
- shadowYpos = 3;
- let fontSizeValue = "96px";
- switch (lang) {
- case "de":
- fontSizeValue = "80px";
- break;
- default:
- fontSizeValue = "96px";
- break;
- }
- styleOptions.fontSize = fontSizeValue;
- break;
case TextStyle.MESSAGE:
case TextStyle.SETTINGS_LABEL:
case TextStyle.SETTINGS_LOCKED:
case TextStyle.SETTINGS_SELECTED:
- styleOptions.fontSize = languageSettings[lang]?.summaryFontSize || "96px";
break;
case TextStyle.BATTLE_INFO:
case TextStyle.MONEY:
case TextStyle.TOOLTIP_TITLE:
- styleOptions.fontSize = languageSettings[lang]?.battleInfoFontSize || "72px";
+ styleOptions.fontSize = defaultFontSize - 24;
shadowXpos = 3.5;
shadowYpos = 3.5;
break;
case TextStyle.PARTY:
case TextStyle.PARTY_RED:
- styleOptions.fontSize = languageSettings[lang]?.partyFontSize || "66px";
+ styleOptions.fontSize = defaultFontSize - 30;
styleOptions.fontFamily = "pkmnems";
break;
case TextStyle.TOOLTIP_CONTENT:
- styleOptions.fontSize = languageSettings[lang]?.tooltipContentFontSize || "64px";
+ styleOptions.fontSize = defaultFontSize - 32;
shadowXpos = 3;
shadowYpos = 3;
break;
case TextStyle.MOVE_INFO_CONTENT:
- styleOptions.fontSize = languageSettings[lang]?.moveInfoFontSize || "56px";
+ styleOptions.fontSize = defaultFontSize - 40;
+ shadowXpos = 3;
+ shadowYpos = 3;
+ break;
+ case TextStyle.SMALLER_WINDOW_ALT:
+ styleOptions.fontSize = defaultFontSize - 36;
+ shadowXpos = 3;
+ shadowYpos = 3;
+ break;
+ case TextStyle.BGM_BAR:
+ styleOptions.fontSize = defaultFontSize - 24;
shadowXpos = 3;
shadowYpos = 3;
break;
@@ -191,7 +164,7 @@ function getTextStyleOptions(style: TextStyle, uiTheme: UiTheme, extraStyleOptio
styleOptions = Object.assign(styleOptions, extraStyleOptions);
}
- return [ styleOptions, shadowColor, shadowXpos, shadowYpos ];
+ return [ scale, styleOptions, shadowColor, shadowXpos, shadowYpos ];
}
export function getBBCodeFrag(content: string, textStyle: TextStyle, uiTheme: UiTheme = UiTheme.DEFAULT): string {
@@ -204,11 +177,27 @@ export function getTextColor(textStyle: TextStyle, shadow?: boolean, uiTheme: Ui
return !shadow ? "#f8f8f8" : "#6b5a73";
case TextStyle.WINDOW:
case TextStyle.MOVE_INFO_CONTENT:
+ case TextStyle.MOVE_PP_FULL:
case TextStyle.TOOLTIP_CONTENT:
if (uiTheme) {
return !shadow ? "#484848" : "#d0d0c8";
}
return !shadow ? "#f8f8f8" : "#6b5a73";
+ case TextStyle.MOVE_PP_HALF_FULL:
+ if (uiTheme) {
+ return !shadow ? "#a68e17" : "#ebd773";
+ }
+ return !shadow ? "#ccbe00" : "#6e672c";
+ case TextStyle.MOVE_PP_NEAR_EMPTY:
+ if (uiTheme) {
+ return !shadow ? "#d64b00" : "#f7b18b";
+ }
+ return !shadow ? "#d64b00" : "#69402a";
+ case TextStyle.MOVE_PP_EMPTY:
+ if (uiTheme) {
+ return !shadow ? "#e13d3d" : "#fca2a2";
+ }
+ return !shadow ? "#e13d3d" : "#632929";
case TextStyle.WINDOW_ALT:
return !shadow ? "#484848" : "#d0d0c8";
case TextStyle.BATTLE_INFO:
@@ -221,10 +210,10 @@ export function getTextColor(textStyle: TextStyle, shadow?: boolean, uiTheme: Ui
case TextStyle.PARTY_RED:
return !shadow ? "#f89890" : "#984038";
case TextStyle.SUMMARY:
- return !shadow ? "#ffffff" : "#636363";
+ return !shadow ? "#f8f8f8" : "#636363";
case TextStyle.SUMMARY_ALT:
if (uiTheme) {
- return !shadow ? "#ffffff" : "#636363";
+ return !shadow ? "#f8f8f8" : "#636363";
}
return !shadow ? "#484848" : "#d0d0c8";
case TextStyle.SUMMARY_RED:
@@ -250,23 +239,27 @@ export function getTextColor(textStyle: TextStyle, shadow?: boolean, uiTheme: Ui
return !shadow ? "#f8b050" : "#c07800";
case TextStyle.SETTINGS_SELECTED:
return !shadow ? "#f88880" : "#f83018";
+ case TextStyle.SMALLER_WINDOW_ALT:
+ return !shadow ? "#484848" : "#d0d0c8";
+ case TextStyle.BGM_BAR:
+ return !shadow ? "#f8f8f8" : "#6b5a73";
}
}
export function getModifierTierTextTint(tier: ModifierTier): integer {
switch (tier) {
case ModifierTier.COMMON:
- return 0xffffff;
+ return 0xf8f8f8;
case ModifierTier.GREAT:
- return 0x3890f8;
+ return 0x4998f8;
case ModifierTier.ULTRA:
return 0xf8d038;
case ModifierTier.ROGUE:
- return 0xd52929;
+ return 0xdb4343;
case ModifierTier.MASTER:
- return 0xe020c0;
+ return 0xe331c5;
case ModifierTier.LUXURY:
- return 0xe64a18;
+ return 0xe74c18;
}
}
diff --git a/src/ui/time-of-day-widget.ts b/src/ui/time-of-day-widget.ts
new file mode 100644
index 00000000000..e71839a84c5
--- /dev/null
+++ b/src/ui/time-of-day-widget.ts
@@ -0,0 +1,172 @@
+import * as Utils from "../utils";
+import BattleScene from "#app/battle-scene.js";
+import { BattleSceneEventType } from "../events/battle-scene";
+import { EaseType } from "#enums/ease-type";
+import { TimeOfDay } from "#enums/time-of-day";
+
+/** A small self contained UI element that displays the time of day as an icon */
+export default class TimeOfDayWidget extends Phaser.GameObjects.Container {
+ /** An alias for the scene typecast to a {@linkcode BattleScene} */
+ private battleScene: BattleScene;
+
+ /** The {@linkcode Phaser.GameObjects.Sprite} that represents the foreground of the current time of day */
+ private readonly timeOfDayIconFgs: Phaser.GameObjects.Sprite[] = new Array(2);
+ /** The {@linkcode Phaser.GameObjects.Sprite} that represents the middle-ground of the current time of day */
+ private readonly timeOfDayIconMgs: Phaser.GameObjects.Sprite[] = new Array(2);
+ /** The {@linkcode Phaser.GameObjects.Sprite} that represents the background of the current time of day */
+ private readonly timeOfDayIconBgs: Phaser.GameObjects.Sprite[] = new Array(2);
+
+ /** An array containing all timeOfDayIcon objects for easier iteration */
+ private timeOfDayIcons: Phaser.GameObjects.Sprite[];
+
+ /** A map containing all timeOfDayIcon arrays with a matching string key for easier iteration */
+ private timeOfDayIconPairs: Map = new Map([
+ ["bg", this.timeOfDayIconBgs],
+ ["mg", this.timeOfDayIconMgs],
+ ["fg", this.timeOfDayIconFgs],]);
+
+ /** The current time of day */
+ private currentTime: TimeOfDay = TimeOfDay.ALL;
+ /** The previous time of day */
+ private previousTime: TimeOfDay = TimeOfDay.ALL;
+
+ // Subscribes to required events available on game start
+ private readonly onEncounterPhaseEvent = (event: Event) => this.onEncounterPhase(event);
+
+ private _parentVisible: boolean;
+ /** Is the parent object visible? */
+ public get parentVisible(): boolean {
+ return this._parentVisible;
+ }
+ /** On set, resumes any paused tweens if true */
+ public set parentVisible(visible: boolean) {
+ if (visible && !this._parentVisible) { // Only resume the tweens if parent is newly visible
+ this.timeOfDayIcons?.forEach(
+ icon => this.scene.tweens.getTweensOf(icon).forEach(
+ tween => tween.resume()));
+ }
+
+ this._parentVisible = visible;
+ }
+
+ constructor(scene: Phaser.Scene, x: number = 0, y: number = 0) {
+ super(scene, x, y);
+ this.battleScene = this.scene as BattleScene;
+
+ this.setVisible(this.battleScene.showTimeOfDayWidget);
+ if (!this.battleScene.showTimeOfDayWidget) {
+ return;
+ }
+
+ // Initialize all sprites
+ this.timeOfDayIconPairs.forEach(
+ (icons, key) => {
+ for (let i = 0; i < icons.length; i++) {
+ icons[i] = this.scene.add.sprite(0, 0, "dawn_icon_" + key).setOrigin();
+ }
+ });
+ // Store a flat array of all icons for later
+ this.timeOfDayIcons = [this.timeOfDayIconBgs, this.timeOfDayIconMgs, this.timeOfDayIconFgs].flat();
+ this.add(this.timeOfDayIcons);
+
+ this.battleScene.eventTarget.addEventListener(BattleSceneEventType.ENCOUNTER_PHASE, this.onEncounterPhaseEvent);
+ }
+
+ /**
+ * Creates a tween animation based on the 'Back' ease algorithm
+ * @returns an array of all tweens in the animation
+ */
+ private getBackTween(): Phaser.Types.Tweens.TweenBuilderConfig[] {
+ const rotate = {
+ targets: [this.timeOfDayIconMgs[0], this.timeOfDayIconMgs[1]],
+ angle: "+=90",
+ duration: Utils.fixedInt(1500),
+ ease: "Back.easeOut",
+ paused: !this.parentVisible,
+ };
+ const fade = {
+ targets: [this.timeOfDayIconBgs[1], this.timeOfDayIconMgs[1], this.timeOfDayIconFgs[1]],
+ alpha: 0,
+ duration: Utils.fixedInt(500),
+ ease: "Linear",
+ paused: !this.parentVisible,
+ };
+
+ return [rotate, fade];
+ }
+
+ /**
+ * Creates a tween animation based on the 'Bounce' ease algorithm
+ * @returns an array of all tweens in the animation
+ */
+ private getBounceTween(): Phaser.Types.Tweens.TweenBuilderConfig[] {
+ const bounce = {
+ targets: [this.timeOfDayIconMgs[0], this.timeOfDayIconMgs[1]],
+ angle: "+=90",
+ duration: Utils.fixedInt(2000),
+ ease: "Bounce.easeOut",
+ paused: !this.parentVisible,
+ };
+ const fade = {
+ targets: [this.timeOfDayIconBgs[1], this.timeOfDayIconMgs[1], this.timeOfDayIconFgs[1]],
+ alpha: 0,
+ duration: Utils.fixedInt(800),
+ ease: "Linear",
+ paused: !this.parentVisible,
+ };
+
+ return [bounce, fade];
+ }
+
+ /** Resets all icons to the proper depth, texture, and alpha so they are ready to tween */
+ private resetIcons() {
+ this.moveBelow(this.timeOfDayIconBgs[0], this.timeOfDayIconBgs[1]);
+ this.moveBelow(this.timeOfDayIconMgs[0], this.timeOfDayIconBgs[1]);
+ this.moveBelow(this.timeOfDayIconFgs[0], this.timeOfDayIconFgs[1]);
+
+ this.timeOfDayIconPairs.forEach(
+ (icons, key) => {
+ icons[0].setTexture(TimeOfDay[this.currentTime].toLowerCase() + "_icon_" + key);
+ icons[1].setTexture(TimeOfDay[this.previousTime].toLowerCase() + "_icon_" + key);
+ });
+ this.timeOfDayIconMgs[0].setRotation(-90 * (3.14/180));
+
+ this.timeOfDayIcons.forEach(icon => icon.setAlpha(1));
+ }
+
+ /** Adds the proper tween for all icons */
+ private tweenTimeOfDayIcon() {
+ this.scene.tweens.killTweensOf(this.timeOfDayIcons);
+
+ this.resetIcons();
+
+ // Tween based on the player setting
+ (this.battleScene.timeOfDayAnimation === EaseType.BACK ? this.getBackTween() : this.getBounceTween())
+ .forEach(tween => this.scene.tweens.add(tween));
+
+ // Swaps all elements of the icon arrays by shifting the first element onto the end of the array
+ // This ensures index[0] is always the new time of day icon and index[1] is always the current one
+ this.timeOfDayIconPairs.forEach(
+ icons => icons.push(icons.shift()));
+ }
+
+ /**
+ * Grabs the current time of day from the arena and calls {@linkcode tweenTimeOfDayIcon}
+ * @param event {@linkcode Event} being sent
+ */
+ private onEncounterPhase(event: Event) {
+ const newTime = this.battleScene.arena.getTimeOfDay();
+
+ if (this.currentTime === newTime) {
+ return;
+ }
+
+ this.currentTime = newTime;
+ this.previousTime = this.currentTime - 1;
+ if (this.previousTime < TimeOfDay.DAWN) {
+ this.previousTime = TimeOfDay.NIGHT;
+ }
+
+ this.tweenTimeOfDayIcon();
+ }
+}
diff --git a/src/ui/title-ui-handler.ts b/src/ui/title-ui-handler.ts
index 673d8c870d9..4036e0b9922 100644
--- a/src/ui/title-ui-handler.ts
+++ b/src/ui/title-ui-handler.ts
@@ -1,18 +1,18 @@
import BattleScene from "../battle-scene";
-import { DailyRunScoreboard } from "./daily-run-scoreboard";
import OptionSelectUiHandler from "./settings/option-select-ui-handler";
import { Mode } from "./ui";
import * as Utils from "../utils";
import { TextStyle, addTextObject } from "./text";
import { getBattleCountSplashMessage, getSplashMessages } from "../data/splash-messages";
import i18next from "i18next";
+import { TimedEventDisplay } from "#app/timed-event-manager.js";
export default class TitleUiHandler extends OptionSelectUiHandler {
private titleContainer: Phaser.GameObjects.Container;
- private dailyRunScoreboard: DailyRunScoreboard;
private playerCountLabel: Phaser.GameObjects.Text;
private splashMessage: string;
private splashMessageText: Phaser.GameObjects.Text;
+ private eventDisplay: TimedEventDisplay;
private titleStatsTimer: NodeJS.Timeout;
@@ -26,6 +26,7 @@ export default class TitleUiHandler extends OptionSelectUiHandler {
const ui = this.getUi();
this.titleContainer = this.scene.add.container(0, -(this.scene.game.canvas.height / 6));
+ this.titleContainer.setName("title");
this.titleContainer.setAlpha(0);
ui.add(this.titleContainer);
@@ -33,10 +34,11 @@ export default class TitleUiHandler extends OptionSelectUiHandler {
logo.setOrigin(0.5, 0);
this.titleContainer.add(logo);
- this.dailyRunScoreboard = new DailyRunScoreboard(this.scene, 1, 44);
- this.dailyRunScoreboard.setup();
-
- this.titleContainer.add(this.dailyRunScoreboard);
+ if (this.scene.eventManager.isEventActive()) {
+ this.eventDisplay = new TimedEventDisplay(this.scene, 0, 0, this.scene.eventManager.activeEvent());
+ this.eventDisplay.setup();
+ this.titleContainer.add(this.eventDisplay);
+ }
this.playerCountLabel = addTextObject(this.scene, (this.scene.game.canvas.width / 6) - 2, (this.scene.game.canvas.height / 6) - 109, `? ${i18next.t("menu:playersOnline")}`, TextStyle.MESSAGE, { fontSize: "54px" });
this.playerCountLabel.setOrigin(1, 0);
@@ -81,11 +83,15 @@ export default class TitleUiHandler extends OptionSelectUiHandler {
const ui = this.getUi();
- this.dailyRunScoreboard.update();
+ if (this.scene.eventManager.isEventActive()) {
+ this.eventDisplay.show();
+ }
this.updateTitleStats();
- this.titleStatsTimer = setInterval(() => this.updateTitleStats(), 60000);
+ this.titleStatsTimer = setInterval(() => {
+ this.updateTitleStats();
+ }, 60000);
this.scene.tweens.add({
targets: [ this.titleContainer, ui.getMessageHandler().bg ],
@@ -103,6 +109,8 @@ export default class TitleUiHandler extends OptionSelectUiHandler {
const ui = this.getUi();
+ this.eventDisplay?.clear();
+
clearInterval(this.titleStatsTimer);
this.titleStatsTimer = null;
diff --git a/src/ui/ui-handler.ts b/src/ui/ui-handler.ts
index 74015ed7245..8336109847e 100644
--- a/src/ui/ui-handler.ts
+++ b/src/ui/ui-handler.ts
@@ -1,14 +1,21 @@
import BattleScene from "../battle-scene";
import { TextStyle, getTextColor } from "./text";
import { Mode } from "./ui";
-import {Button} from "../enums/buttons";
+import {Button} from "#enums/buttons";
+/**
+ * A basic abstract class to act as a holder and processor for UI elements.
+ */
export default abstract class UiHandler {
protected scene: BattleScene;
protected mode: integer;
protected cursor: integer = 0;
public active: boolean = false;
+ /**
+ * @param {BattleScene} scene The same scene as everything else.
+ * @param {Mode} mode The mode of the UI element. These should be unique.
+ */
constructor(scene: BattleScene, mode: Mode) {
this.scene = scene;
this.mode = mode;
diff --git a/src/ui/ui-theme.ts b/src/ui/ui-theme.ts
index 3351efffa1d..58490e1c618 100644
--- a/src/ui/ui-theme.ts
+++ b/src/ui/ui-theme.ts
@@ -1,4 +1,4 @@
-import { UiTheme } from "#app/enums/ui-theme";
+import { UiTheme } from "#enums/ui-theme";
import { legacyCompatibleImages } from "#app/scene-base";
import BattleScene from "../battle-scene";
@@ -46,13 +46,25 @@ export function addWindow(scene: BattleScene, x: number, y: number, width: numbe
const window = scene.add.nineslice(x, y, `window_${scene.windowType}${getWindowVariantSuffix(windowVariant)}`, null, width, height, borderSize, borderSize, borderSize, borderSize);
window.setOrigin(0, 0);
- if (mergeMaskTop || mergeMaskLeft) {
- const maskRect = scene.make.graphics({});
+ if (mergeMaskLeft || mergeMaskTop || maskOffsetX || maskOffsetY) {
+ /**
+ * x: left
+ * y: top
+ * width: right
+ * height: bottom
+ */
+ const maskRect = new Phaser.GameObjects.Rectangle(
+ scene,
+ 6*(x - (mergeMaskLeft ? 2 : 0) - (maskOffsetX || 0)),
+ 6*(y + (mergeMaskTop ? 2 : 0) + (maskOffsetY || 0)),
+ width - (mergeMaskLeft ? 2 : 0),
+ height - (mergeMaskTop ? 2 : 0),
+ 0xffffff
+ );
+ maskRect.setOrigin(0);
maskRect.setScale(6);
- maskRect.fillStyle(0xFFFFFF);
- maskRect.beginPath();
- maskRect.fillRect(window.x + (mergeMaskLeft ? 2 : 0) + (maskOffsetX || 0), window.y + (mergeMaskTop ? 2 : 0) + (maskOffsetY || 0), window.width - (mergeMaskLeft ? 2 : 0), window.height - (mergeMaskTop ? 2 : 0));
- window.setMask(maskRect.createGeometryMask());
+ const mask = maskRect.createGeometryMask();
+ window.setMask(mask);
}
return window;
diff --git a/src/ui/ui.ts b/src/ui/ui.ts
index 7640112e084..ce834a83645 100644
--- a/src/ui/ui.ts
+++ b/src/ui/ui.ts
@@ -14,6 +14,7 @@ import EvolutionSceneHandler from "./evolution-scene-handler";
import TargetSelectUiHandler from "./target-select-ui-handler";
import SettingsUiHandler from "./settings/settings-ui-handler";
import SettingsGamepadUiHandler from "./settings/settings-gamepad-ui-handler";
+import GameChallengesUiHandler from "./challenges-select-ui-handler";
import { TextStyle, addTextObject } from "./text";
import AchvBar from "./achv-bar";
import MenuUiHandler from "./menu-ui-handler";
@@ -36,13 +37,15 @@ import SavingIconHandler from "./saving-icon-handler";
import UnavailableModalUiHandler from "./unavailable-modal-ui-handler";
import OutdatedModalUiHandler from "./outdated-modal-ui-handler";
import SessionReloadModalUiHandler from "./session-reload-modal-ui-handler";
-import {Button} from "../enums/buttons";
+import {Button} from "#enums/buttons";
import i18next, {ParseKeys} from "i18next";
-import {PlayerGender} from "#app/system/game-data";
import GamepadBindingUiHandler from "./settings/gamepad-binding-ui-handler";
import SettingsKeyboardUiHandler from "#app/ui/settings/settings-keyboard-ui-handler";
import KeyboardBindingUiHandler from "#app/ui/settings/keyboard-binding-ui-handler";
-import SettingsAccessibilityUiHandler from "./settings/settings-accessiblity-ui-handler";
+import SettingsDisplayUiHandler from "./settings/settings-display-ui-handler";
+import SettingsAudioUiHandler from "./settings/settings-audio-ui-handler";
+import { PlayerGender } from "#enums/player-gender";
+import BgmBar from "#app/ui/bgm-bar";
export enum Mode {
MESSAGE,
@@ -63,7 +66,8 @@ export enum Mode {
MENU,
MENU_OPTION_SELECT,
SETTINGS,
- SETTINGS_ACCESSIBILITY,
+ SETTINGS_DISPLAY,
+ SETTINGS_AUDIO,
SETTINGS_GAMEPAD,
GAMEPAD_BINDING,
SETTINGS_KEYBOARD,
@@ -78,7 +82,8 @@ export enum Mode {
LOADING,
SESSION_RELOAD,
UNAVAILABLE,
- OUTDATED
+ OUTDATED,
+ CHALLENGE_SELECT
}
const transitionModes = [
@@ -89,7 +94,8 @@ const transitionModes = [
Mode.EVOLUTION_SCENE,
Mode.EGG_HATCH_SCENE,
Mode.EGG_LIST,
- Mode.EGG_GACHA
+ Mode.EGG_GACHA,
+ Mode.CHALLENGE_SELECT
];
const noTransitionModes = [
@@ -101,7 +107,8 @@ const noTransitionModes = [
Mode.GAMEPAD_BINDING,
Mode.KEYBOARD_BINDING,
Mode.SETTINGS,
- Mode.SETTINGS_ACCESSIBILITY,
+ Mode.SETTINGS_AUDIO,
+ Mode.SETTINGS_DISPLAY,
Mode.SETTINGS_GAMEPAD,
Mode.SETTINGS_KEYBOARD,
Mode.ACHIEVEMENTS,
@@ -121,6 +128,7 @@ export default class UI extends Phaser.GameObjects.Container {
public handlers: UiHandler[];
private overlay: Phaser.GameObjects.Rectangle;
public achvBar: AchvBar;
+ public bgmBar: BgmBar;
public savingIcon: SavingIconHandler;
private tooltipContainer: Phaser.GameObjects.Container;
@@ -153,8 +161,10 @@ export default class UI extends Phaser.GameObjects.Container {
new OptionSelectUiHandler(scene),
new MenuUiHandler(scene),
new OptionSelectUiHandler(scene, Mode.MENU_OPTION_SELECT),
+ // settings
new SettingsUiHandler(scene),
- new SettingsAccessibilityUiHandler(scene),
+ new SettingsDisplayUiHandler(scene),
+ new SettingsAudioUiHandler(scene),
new SettingsGamepadUiHandler(scene),
new GamepadBindingUiHandler(scene),
new SettingsKeyboardUiHandler(scene),
@@ -169,16 +179,18 @@ export default class UI extends Phaser.GameObjects.Container {
new LoadingModalUiHandler(scene),
new SessionReloadModalUiHandler(scene),
new UnavailableModalUiHandler(scene),
- new OutdatedModalUiHandler(scene)
+ new OutdatedModalUiHandler(scene),
+ new GameChallengesUiHandler(scene)
];
}
setup(): void {
- this.setName("container-ui");
+ this.setName(`ui-${Mode[this.mode]}`);
for (const handler of this.handlers) {
handler.setup();
}
this.overlay = this.scene.add.rectangle(0, 0, this.scene.game.canvas.width / 6, this.scene.game.canvas.height / 6, 0);
+ this.overlay.setName("rect-ui-overlay");
this.overlay.setOrigin(0, 0);
(this.scene as BattleScene).uiContainer.add(this.overlay);
this.overlay.setVisible(false);
@@ -197,15 +209,19 @@ export default class UI extends Phaser.GameObjects.Container {
private setupTooltip() {
this.tooltipContainer = this.scene.add.container(0, 0);
+ this.tooltipContainer.setName("tooltip");
this.tooltipContainer.setVisible(false);
this.tooltipBg = addWindow(this.scene as BattleScene, 0, 0, 128, 31);
+ this.tooltipBg.setName("window-tooltip-bg");
this.tooltipBg.setOrigin(0, 0);
this.tooltipTitle = addTextObject(this.scene, 64, 4, "", TextStyle.TOOLTIP_TITLE);
+ this.tooltipTitle.setName("text-tooltip-title");
this.tooltipTitle.setOrigin(0.5, 0);
this.tooltipContent = addTextObject(this.scene, 6, 16, "", TextStyle.TOOLTIP_CONTENT);
+ this.tooltipContent.setName("text-tooltip-content");
this.tooltipContent.setWordWrapWidth(696);
this.tooltipContainer.add(this.tooltipBg);
@@ -233,7 +249,6 @@ export default class UI extends Phaser.GameObjects.Container {
battleScene?.processInfoButton(pressed);
return true;
}
-
battleScene?.processInfoButton(false);
return true;
}
diff --git a/src/ui/unavailable-modal-ui-handler.ts b/src/ui/unavailable-modal-ui-handler.ts
index 60d01a93c82..2f6e1c08832 100644
--- a/src/ui/unavailable-modal-ui-handler.ts
+++ b/src/ui/unavailable-modal-ui-handler.ts
@@ -3,6 +3,8 @@ import { ModalConfig, ModalUiHandler } from "./modal-ui-handler";
import { addTextObject, TextStyle } from "./text";
import { Mode } from "./ui";
import { updateUserInfo } from "#app/account";
+import * as Utils from "#app/utils";
+import i18next from "i18next";
export default class UnavailableModalUiHandler extends ModalUiHandler {
private reconnectTimer: NodeJS.Timeout;
@@ -42,7 +44,7 @@ export default class UnavailableModalUiHandler extends ModalUiHandler {
setup(): void {
super.setup();
- const label = addTextObject(this.scene, this.getWidth() / 2, this.getHeight() / 2, "Oops! There was an issue contacting the server.\n\nYou may leave this window open,\nthe game will automatically reconnect.", TextStyle.WINDOW, { fontSize: "48px", align: "center" });
+ const label = addTextObject(this.scene, this.getWidth() / 2, this.getHeight() / 2, i18next.t("menu:errorServerDown"), TextStyle.WINDOW, { fontSize: "48px", align: "center" });
label.setOrigin(0.5, 0.5);
this.modalContainer.add(label);
@@ -55,6 +57,9 @@ export default class UnavailableModalUiHandler extends ModalUiHandler {
this.reconnectDuration = this.minTime;
this.scene.playSound("pb_bounce_1");
this.reconnectCallback();
+ } else if (response[1] === 401) {
+ Utils.setCookie(Utils.sessionIdKey, "");
+ this.scene.reset(true, true);
} else {
this.reconnectDuration = Math.min(this.reconnectDuration * 2, this.maxTime); // Set a max delay so it isn't infinite
this.reconnectTimer =
diff --git a/src/ui/vouchers-ui-handler.ts b/src/ui/vouchers-ui-handler.ts
index 4508a5be193..370859bed54 100644
--- a/src/ui/vouchers-ui-handler.ts
+++ b/src/ui/vouchers-ui-handler.ts
@@ -1,6 +1,6 @@
import BattleScene from "../battle-scene";
-import { Button } from "../enums/buttons";
-import i18next from "../plugins/i18n";
+import { Button } from "#enums/buttons";
+import i18next from "i18next";
import { Voucher, getVoucherTypeIcon, getVoucherTypeName, vouchers } from "../system/voucher";
import MessageUiHandler from "./message-ui-handler";
import { TextStyle, addTextObject } from "./text";
diff --git a/src/utils.test.ts b/src/utils.test.ts
index 01bdd5db542..93f2a96ec4c 100644
--- a/src/utils.test.ts
+++ b/src/utils.test.ts
@@ -1,9 +1,15 @@
-import { expect, describe, it } from "vitest";
+import {expect, describe, it, beforeAll} from "vitest";
import { randomString, padInt } from "./utils";
import Phaser from "phaser";
describe("utils", () => {
+
+ beforeAll(() => {
+ new Phaser.Game({
+ type: Phaser.HEADLESS,
+ });
+ });
describe("randomString", () => {
it("should return a string of the specified length", () => {
const str = randomString(10);
diff --git a/src/utils.ts b/src/utils.ts
index 6d965369ca3..5aa558bae3a 100644
--- a/src/utils.ts
+++ b/src/utils.ts
@@ -1,4 +1,5 @@
import i18next from "i18next";
+import { MoneyFormat } from "#enums/money-format";
export const MissingTextureKey = "__MISSING";
@@ -127,6 +128,23 @@ export function randSeedEasedWeightedItem(items: T[], easingFunction: string
return items[Math.floor(easedValue * items.length)];
}
+/**
+ * Shuffle a list using the seeded rng. Utilises the Fisher-Yates algorithm.
+ * @param {Array} items An array of items.
+ * @returns {Array} A new shuffled array of items.
+ */
+export function randSeedShuffle(items: T[]): T[] {
+ if (items.length <= 1) {
+ return items;
+ }
+ const newArray = items.slice(0);
+ for (let i = items.length - 1; i > 0; i--) {
+ const j = Phaser.Math.RND.integerInRange(0, i);
+ [newArray[i], newArray[j]] = [newArray[j], newArray[i]];
+ }
+ return newArray;
+}
+
export function getFrameMs(frameCount: integer): integer {
return Math.floor((1 / 60) * 1000 * frameCount);
}
@@ -220,7 +238,7 @@ export function formatLargeNumber(count: integer, threshold: integer): string {
// Abbreviations from 10^0 to 10^33
const AbbreviationsLargeNumber: string[] = ["", "K", "M", "B", "t", "q", "Q", "s", "S", "o", "n", "d"];
-export function formatFancyLargeNumber(number: number, rounded: number = 2): string {
+export function formatFancyLargeNumber(number: number, rounded: number = 3): string {
let exponent: number;
if (number < 1000) {
@@ -234,7 +252,14 @@ export function formatFancyLargeNumber(number: number, rounded: number = 2): str
number /= Math.pow(1000, exponent);
}
- return `${(exponent === 0) ? number : number.toFixed(rounded)}${AbbreviationsLargeNumber[exponent]}`;
+ return `${(exponent === 0) || number % 1 === 0 ? number : number.toFixed(rounded)}${AbbreviationsLargeNumber[exponent]}`;
+}
+
+export function formatMoney(format: MoneyFormat, amount: number) {
+ if (format === MoneyFormat.ABBREVIATED) {
+ return formatFancyLargeNumber(amount);
+ }
+ return amount.toLocaleString();
}
export function formatStat(stat: integer, forHp: boolean = false): string {
@@ -260,14 +285,17 @@ export const isLocal = (
/^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$/.test(window.location.hostname)) &&
window.location.port !== "") || window.location.hostname === "";
+export const localServerUrl = import.meta.env.VITE_SERVER_URL ?? `http://${window.location.hostname}:${window.location.port+1}`;
+
// Set the server URL based on whether it's local or not
-export const serverUrl = isLocal ? `${window.location.hostname}:${window.location.port}` : "";
-export const apiUrl = isLocal ? serverUrl : "https://api.pokerogue.net";
+export const apiUrl = localServerUrl ?? "https://api.pokerogue.net";
+// used to disable api calls when isLocal is true and a server is not found
+export let isLocalServerConnected = true;
export function setCookie(cName: string, cValue: string): void {
const expiration = new Date();
expiration.setTime(new Date().getTime() + 3600000 * 24 * 30 * 3/*7*/);
- document.cookie = `${cName}=${cValue};SameSite=Strict;path=/;expires=${expiration.toUTCString()}`;
+ document.cookie = `${cName}=${cValue};Secure;SameSite=Strict;Path=/;Expires=${expiration.toUTCString()}`;
}
export function getCookie(cName: string): string {
@@ -285,8 +313,22 @@ export function getCookie(cName: string): string {
return "";
}
+/**
+ * When locally running the game, "pings" the local server
+ * with a GET request to verify if a server is running,
+ * sets isLocalServerConnected based on results
+ */
+export function localPing() {
+ if (isLocal) {
+ apiFetch("game/titlestats")
+ .then(resolved => isLocalServerConnected = true,
+ rejected => isLocalServerConnected = false
+ );
+ }
+}
+
export function apiFetch(path: string, authed: boolean = false): Promise {
- return new Promise((resolve, reject) => {
+ return (isLocal && isLocalServerConnected) || !isLocal ? new Promise((resolve, reject) => {
const request = {};
if (authed) {
const sId = getCookie(sessionIdKey);
@@ -297,11 +339,11 @@ export function apiFetch(path: string, authed: boolean = false): Promise resolve(response))
.catch(err => reject(err));
- });
+ }) : new Promise(() => {});
}
export function apiPost(path: string, data?: any, contentType: string = "application/json", authed: boolean = false): Promise {
- return new Promise((resolve, reject) => {
+ return (isLocal && isLocalServerConnected) || !isLocal ? new Promise((resolve, reject) => {
const headers = {
"Accept": contentType,
"Content-Type": contentType,
@@ -315,9 +357,12 @@ export function apiPost(path: string, data?: any, contentType: string = "applica
fetch(`${apiUrl}/${path}`, { method: "POST", headers: headers, body: data })
.then(response => resolve(response))
.catch(err => reject(err));
- });
+ }) : new Promise(() => {});
}
+/** Alias for the constructor of a class */
+export type Constructor = new(...args: unknown[]) => T;
+
export class BooleanHolder {
public value: boolean;
@@ -350,6 +395,20 @@ export function fixedInt(value: integer): integer {
return new FixedInt(value) as unknown as integer;
}
+/**
+ * Formats a string to title case
+ * @param unformattedText Text to be formatted
+ * @returns the formatted string
+ */
+export function formatText(unformattedText: string): string {
+ const text = unformattedText.split("_");
+ for (let i = 0; i < text.length; i++) {
+ text[i] = text[i].charAt(0).toUpperCase() + text[i].substring(1).toLowerCase();
+ }
+
+ return text.join(" ");
+}
+
export function rgbToHsv(r: integer, g: integer, b: integer) {
const v = Math.max(r, g, b);
const c = v - Math.min(r, g, b);
@@ -404,9 +463,9 @@ export function verifyLang(lang?: string): boolean {
case "fr":
case "de":
case "it":
- case "zh_CN":
- case "zh_TW":
- case "pt_BR":
+ case "zh-CN":
+ case "zh-TW":
+ case "pt-BR":
case "ko":
return true;
default:
diff --git a/src/vite.env.d.ts b/src/vite.env.d.ts
index 50bb7dddc02..b588b5b1145 100644
--- a/src/vite.env.d.ts
+++ b/src/vite.env.d.ts
@@ -4,6 +4,7 @@ interface ImportMetaEnv {
readonly VITE_BYPASS_LOGIN?: string;
readonly VITE_BYPASS_TUTORIAL?: string;
readonly VITE_API_BASE_URL?: string;
+ readonly VITE_SERVER_URL?: string;
}
interface ImportMeta {
diff --git a/tsconfig.json b/tsconfig.json
index 3e8f300dd0c..682b3a7084b 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -2,7 +2,7 @@
"compilerOptions": {
"target": "ES2020",
"module": "ES2020",
- "moduleResolution": "Bundler",
+ "moduleResolution": "bundler",
"resolveJsonModule": true,
"esModuleInterop": true,
"strictNullChecks": false,
@@ -11,15 +11,24 @@
"rootDir": "./src",
"baseUrl": "./src",
"paths": {
+ "#enums/*": ["./enums/*.ts"],
"#app/*": ["*.ts"],
- "#app": ["."]
+ "#app": ["."],
+ "#test/*": ["./test/*.ts"]
},
"outDir": "./build",
"noEmit": true
},
"typedocOptions": {
- "entryPoints": ["src/"],
+ "entryPoints": ["./src"],
"entryPointStrategy": "expand",
- "out": "typedoc",
- }
+ "exclude": "**/*+.test.ts",
+ "out": "typedoc"
+ },
+ "exclude": [
+ "node_modules",
+ "dist",
+ "vite.config.ts",
+ "vitest.config.ts"
+ ]
}
\ No newline at end of file
diff --git a/vite.config.js b/vite.config.js
deleted file mode 100644
index 220747b98e3..00000000000
--- a/vite.config.js
+++ /dev/null
@@ -1,18 +0,0 @@
-import { defineConfig } from 'vite';
-// import fs from 'vite-plugin-fs';
-
-export default defineConfig(({ mode }) => {
- return {
- plugins: [/*fs()*/],
- server: { host: '0.0.0.0', port: 8000 },
- clearScreen: false,
- build: {
- minify: 'esbuild',
- sourcemap: false
- },
- esbuild: {
- pure: mode === 'production' ? [ 'console.log' ] : [],
- keepNames: true,
- },
- }
-})
diff --git a/vite.config.ts b/vite.config.ts
new file mode 100644
index 00000000000..f0830f5b9be
--- /dev/null
+++ b/vite.config.ts
@@ -0,0 +1,30 @@
+import { defineConfig } from 'vite';
+import tsconfigPaths from 'vite-tsconfig-paths';
+
+export const defaultConfig = {
+ plugins: [tsconfigPaths() as any],
+ server: { host: '0.0.0.0', port: 8000 },
+ clearScreen: false,
+ build: {
+ minify: 'esbuild' as const,
+ sourcemap: false,
+ },
+ rollupOptions: {
+ onwarn(warning, warn) {
+ // Suppress "Module level directives cause errors when bundled" warnings
+ if (warning.code === "MODULE_LEVEL_DIRECTIVE") {
+ return;
+ }
+ warn(warning);
+ },
+ }
+};
+
+
+export default defineConfig(({mode}) => ({
+ ...defaultConfig,
+ esbuild: {
+ pure: mode === 'production' ? [ 'console.log' ] : [],
+ keepNames: true,
+ },
+}));
diff --git a/vitest.config.js b/vitest.config.js
deleted file mode 100644
index c73476431dd..00000000000
--- a/vitest.config.js
+++ /dev/null
@@ -1,41 +0,0 @@
-import { defineConfig } from 'vite';
-// import fs from 'vite-plugin-fs';
-
-export default defineConfig(({ mode }) => {
- return {
- test: {
- setupFiles: ['./src/test/vitest.setup.ts'],
- environment: 'jsdom',
- deps: {
- optimizer: {
- web: {
- include: ['vitest-canvas-mock'],
- }
- }
- },
- threads: false,
- trace: true,
- environmentOptions: {
- jsdom: {
- resources: 'usable',
- },
- },
- coverage: {
- provider: 'istanbul',
- reportsDirectory: 'coverage',
- reporters: ['text-summary', 'html'],
- },
- },
- plugins: [/*fs()*/],
- server: { host: '0.0.0.0', port: 8000 },
- clearScreen: false,
- build: {
- minify: 'esbuild',
- sourcemap: true
- },
- esbuild: {
- pure: mode === 'production' ? [ 'console.log' ] : [],
- keepNames: true,
- },
- }
-})
diff --git a/vitest.config.ts b/vitest.config.ts
new file mode 100644
index 00000000000..7f16059a8ad
--- /dev/null
+++ b/vitest.config.ts
@@ -0,0 +1,38 @@
+import { defineConfig } from 'vitest/config';
+import { defaultConfig } from './vite.config';
+
+export default defineConfig(({mode}) => ({
+ ...defaultConfig,
+ test: {
+ setupFiles: ['./src/test/vitest.setup.ts'],
+ server: {
+ deps: {
+ inline: ['vitest-canvas-mock'],
+ optimizer: {
+ web: {
+ include: ['vitest-canvas-mock'],
+ }
+ }
+ }
+ },
+ environment: 'jsdom' as const,
+ environmentOptions: {
+ jsdom: {
+ resources: 'usable',
+ },
+ },
+ threads: false,
+ trace: true,
+ restoreMocks: true,
+ watch: false,
+ coverage: {
+ provider: 'istanbul' as const,
+ reportsDirectory: 'coverage' as const,
+ reporters: ['text-summary', 'html'],
+ },
+ },
+ esbuild: {
+ pure: mode === 'production' ? [ 'console.log' ] : [],
+ keepNames: true,
+ },
+}))